
:root{--black:#101010;--cream:#f2efe8;--white:#f7f5ef;--muted:#8a867f;--gold:#c5a45b;--line:rgba(17,17,17,.13);--line-light:rgba(255,255,255,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--page-x:7vw;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#111;font-family:var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{text-decoration:none;color:inherit}img{display:block;width:100%}
.nav-service-wrap{position:relative;height:100%;display:flex;align-items:center}
.nav-service-trigger{padding:10px 0}
.nav-service-dropdown{position:absolute;top:calc(100% + 16px);right:-18px;width:255px;padding:12px;background:rgba(20,20,20,.97);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(10px);transition:.35s var(--ease)}
.nav-service-wrap:hover .nav-service-dropdown,.nav-service-wrap:focus-within .nav-service-dropdown{opacity:1;visibility:visible;transform:none}
.nav-service-dropdown a{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:13px 12px;color:#eee!important;font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase}
.nav-service-dropdown a:hover{background:rgba(255,255,255,.07)}
.nav-service-dropdown span{color:var(--gold)}
.mobile-nav{display:none}
.mobile-service-item>a{display:flex}
.mobile-service-links{display:none;padding:0 0 10px 18px}
.mobile-service-item.open .mobile-service-links{display:block}
.mobile-service-links a{font-family:var(--sans);font-size:10px!important;letter-spacing:.12em!important;padding:12px 0!important;border-bottom:0!important}
.mobile-service-links small{font-family:var(--sans);color:var(--gold)}
@media(max-width:900px){.mobile-nav{display:flex}.nav-service-wrap{display:none}}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:92px;padding:0 var(--page-x);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.45s var(--ease)}
.site-header.scrolled{height:72px;background:rgba(242,239,232,.94);color:#111;backdrop-filter:blur(18px)}
.brand{width:100px;line-height:0}.brand img{width:100%}.desktop-nav{display:flex;gap:34px;align-items:center;text-transform:uppercase;font-size:10px;letter-spacing:.16em}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a::after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:.4s var(--ease)}.desktop-nav a:hover::after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none}
.page-hero{min-height:92svh;position:relative;display:grid;align-items:end;color:#fff;overflow:hidden;background:#111}.page-hero-media,.page-hero-media img,.page-hero-overlay{position:absolute;inset:0;width:100%;height:100%}.page-hero-media img{object-fit:cover;object-position:center;transform:scale(1.04)}.page-hero-overlay{background:linear-gradient(90deg,rgba(8,8,8,.82),rgba(8,8,8,.25) 70%,rgba(8,8,8,.08)),linear-gradient(0deg,rgba(8,8,8,.58),transparent 55%)}
.page-hero-content{position:relative;z-index:2;width:min(calc(100% - 14vw),var(--max));margin:0 auto;padding:0 0 9vw}.eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}.page-hero h1{margin:22px 0 30px;max-width:980px;font:400 clamp(70px,10vw,150px)/.84 var(--serif);letter-spacing:-.06em}.page-hero h1 em{font-style:italic}.page-hero-intro{max-width:520px;color:rgba(255,255,255,.74);font-size:13px;line-height:1.8}.page-scroll{margin-top:50px;display:flex;align-items:center;gap:16px;color:#c9c5bd;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.page-scroll i{display:block;width:42px;height:1px;background:var(--gold)}
.service-intro{padding:11vw var(--page-x);background:var(--cream)}.service-intro-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.7fr 1.5fr;gap:10vw}.service-kicker{font-size:11px;color:#77716a;line-height:1.8;max-width:200px}.service-intro h2{margin:0;max-width:900px;font:400 clamp(46px,6.5vw,92px)/.92 var(--serif);letter-spacing:-.055em}.service-intro h2 em{font-style:italic}.service-intro-copy{grid-column:2;max-width:600px;margin-top:45px;color:#69645d;font-size:14px;line-height:1.9}
.service-stats{background:#171717;color:#fff;padding:0 var(--page-x)}.service-stats-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:55px 30px 55px 0;border-right:1px solid var(--line-light)}.stat+.stat{padding-left:40px}.stat:last-child{border-right:0}.stat strong{display:block;font:400 clamp(42px,5vw,68px)/1 var(--serif);color:#f4f0e8}.stat span{display:block;margin-top:13px;color:#858078;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.service-feature{padding:10vw var(--page-x);background:#f2efe8}.service-feature-inner{max-width:var(--max);margin:auto}.service-section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}.service-section-head .label{font-size:9px;letter-spacing:.18em;color:#77716a;text-transform:uppercase}.service-section-head h2{margin:0;max-width:850px;font:400 clamp(42px,5vw,76px)/.94 var(--serif);letter-spacing:-.05em}.service-section-head h2 em{font-style:italic}.service-gallery{display:grid;grid-template-columns:1.18fr .82fr;gap:18px;align-items:start}.service-image{overflow:hidden;background:#ddd}.service-image img{height:100%;object-fit:cover;transition:transform 1s var(--ease)}.service-image.large{height:690px}.service-image.small{height:430px;margin-top:130px}.service-image:hover img{transform:scale(1.045)}.service-image-caption{padding-top:14px;color:#77716a;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.service-offer{padding:10vw var(--page-x);background:#e8e3d9}.service-offer-inner{max-width:var(--max);margin:auto}.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.offer{padding:32px 30px 38px 0;border-bottom:1px solid var(--line)}.offer:nth-child(even){padding-left:30px;border-left:1px solid var(--line)}.offer-number{font-size:9px;letter-spacing:.16em;color:#8a847b}.offer h3{margin:34px 0 13px;font:400 clamp(27px,2.5vw,40px)/1 var(--serif)}.offer p{margin:0;max-width:470px;color:#77716a;font-size:12px;line-height:1.8}
.service-process{padding:10vw var(--page-x);background:#111;color:#fff}.service-process-inner{max-width:var(--max);margin:auto}.process-grid{display:grid;grid-template-columns:.75fr 1.25fr;margin-top:65px}.process-intro{padding-right:70px}.process-intro p{max-width:380px;margin-top:35px;color:#858078;font-size:12px;line-height:1.9}.process-list{border-top:1px solid var(--line-light)}.process-item{display:grid;grid-template-columns:55px 1fr;padding:28px 0;border-bottom:1px solid var(--line-light)}.process-item span{color:var(--gold);font-size:10px;letter-spacing:.12em}.process-item h3{margin:0 0 8px;font:400 27px/1.1 var(--serif)}.process-item p{margin:0;max-width:560px;color:#858078;font-size:12px;line-height:1.7}
.page-cta{position:relative;min-height:72vh;display:grid;align-items:center;color:#fff;overflow:hidden}.page-cta-media,.page-cta-media img,.page-cta-overlay{position:absolute;inset:0;width:100%;height:100%}.page-cta-media img{object-fit:cover}.page-cta-overlay{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.25))}.page-cta-content{position:relative;z-index:2;width:min(calc(100% - 14vw),var(--max));margin:auto}.page-cta h2{margin:22px 0 42px;max-width:950px;font:400 clamp(55px,8vw,120px)/.88 var(--serif);letter-spacing:-.055em}.page-cta h2 em{font-style:italic}.cta-button{display:inline-flex;gap:70px;align-items:center;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:15px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.cta-button b{color:var(--gold);font-size:18px;font-weight:400}
.service-footer{background:#101010;color:#fff;padding:65px var(--page-x) 25px}.service-footer-inner{max-width:var(--max);margin:auto}.service-footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:55px}.service-footer-logo{width:125px}.service-footer-top p{margin:0;color:#77736d;font-size:11px;line-height:1.8;text-align:right}.service-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;padding:38px 0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.service-footer-grid div{display:flex;flex-direction:column;gap:10px}.service-footer-grid .label{margin-bottom:8px;color:#67635e;font-size:8px;letter-spacing:.18em}.service-footer-grid a,.service-footer-grid p{margin:0;font-size:11px;color:#d8d4cc}.service-footer-grid a:hover{color:var(--gold)}.service-footer-bottom{display:flex;justify-content:space-between;padding-top:18px;color:#5e5a55;font-size:8px;letter-spacing:.14em}
@media(max-width:900px){:root{--page-x:6vw}.desktop-nav{display:none}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:none;color:inherit;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:13px;height:1px;background:currentColor}.mobile-nav{position:fixed;inset:0;z-index:40;background:#101010;color:#fff;display:flex;visibility:hidden;opacity:0;transform:translateY(-100%);transition:.7s var(--ease)}.mobile-nav.open{visibility:visible;opacity:1;transform:none}.mobile-nav-inner{width:100%;padding:120px var(--page-x) 35px;display:flex;flex-direction:column}.mobile-nav a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line-light);font:400 clamp(38px,10vw,70px)/1 var(--serif)}.mobile-nav a span{font:10px var(--sans);letter-spacing:.12em}.mobile-nav-footer{margin-top:auto;display:flex;justify-content:space-between;color:#777;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.page-hero{min-height:82svh}.page-hero-content{width:calc(100% - 12vw);padding-bottom:12vw}.page-hero h1{font-size:clamp(62px,15vw,100px)}.service-intro{padding:18vw var(--page-x)}.service-intro-inner{grid-template-columns:1fr;gap:45px}.service-intro-copy{grid-column:auto;margin-top:0}.service-stats-grid{grid-template-columns:1fr}.stat,.stat+.stat{padding:32px 0;border-right:0;border-bottom:1px solid var(--line-light)}.stat:last-child{border-bottom:0}.service-feature,.service-offer,.service-process{padding:18vw var(--page-x)}.service-section-head{display:block;margin-bottom:38px}.service-section-head h2{margin-top:20px}.service-gallery{grid-template-columns:1fr}.service-image.large{height:105vw}.service-image.small{height:78vw;margin-top:0}.offer-grid{grid-template-columns:1fr}.offer,.offer:nth-child(even){padding:28px 0;border-left:0}.process-grid{grid-template-columns:1fr;gap:55px}.process-intro{padding-right:0}.page-cta{min-height:75vh}.page-cta-content{width:calc(100% - 12vw)}.page-cta h2{font-size:clamp(54px,14vw,90px)}.service-footer-grid{grid-template-columns:1fr 1fr}.service-footer-top{display:block}.service-footer-top p{text-align:left;margin-top:25px}.service-footer-bottom{display:grid;gap:10px}}
@media(max-width:520px){.service-footer-grid{grid-template-columns:1fr}.service-footer-bottom{font-size:7px}}

@media(max-width:900px){
  .site-header{height:76px;padding:0 var(--page-x)}
  .brand{width:82px}
}


/* =========================================================
   V4 FIXES — SERVICE PAGE NAVIGATION / HERO ALIGNMENT
   Original design preserved.
   ========================================================= */

/* Keep the mobile navigation completely out of the desktop
   visual layer. This prevents 01/02/03/04 from appearing
   beneath the desktop navbar. */
.mobile-nav {
  display: none !important;
  pointer-events: none;
}

/* The fixed header always stays above hero content. */
.site-header {
  z-index: 500;
}

/* Keep the service hero content safely below the navbar.
   The original typography, image and animation remain intact. */
.page-hero-content {
  position: relative;
  z-index: 2;
  padding-top: 120px;
  padding-bottom: 5.5vw;
}

/* The eyebrow itself must never sit inside the navbar zone. */
.page-hero-content > .eyebrow {
  position: relative;
  z-index: 3;
}

/* Desktop navigation contains only the actual labels. */
.desktop-nav > a,
.desktop-nav .nav-service-trigger {
  z-index: 2;
}

/* Service dropdown sits below the navbar and above the hero. */
.nav-service-dropdown {
  z-index: 600;
}

@media (max-width: 900px) {
  .mobile-nav {
    display: flex !important;
    pointer-events: auto;
  }

  .page-hero-content {
    padding-top: 105px;
    padding-bottom: 10vw;
  }
}


/* =========================================================
   FINAL V4 SERVICE-PAGE FIXES
   Prevent 01/02/03/04 labels from colliding with the fixed nav.
   ========================================================= */

.site-header {
  z-index: 500 !important;
}

.page-hero {
  position: relative;
  z-index: 1;
}

.page-hero-content {
  position: relative;
  z-index: 2;
  padding-top: 145px;
}

.desktop-nav {
  position: relative;
  z-index: 510;
}

.nav-service-wrap {
  position: relative;
  z-index: 520;
}

.nav-service-dropdown {
  z-index: 600 !important;
}

@media (max-width: 900px) {
  .page-hero-content {
    padding-top: 105px;
  }
}
