  :root{
    --bg:#FAFAF7; --bg-surf:#F2F1EC; --bg-elev:#FFFFFF;
    --ink:#0A0A0A; --ink-soft:#1F1F1F; --ink-mute:#6B6B66; --ink-dim:#A8A8A2;
    --line:rgba(10,10,10,.08); --line-2:rgba(10,10,10,.16);
    --silver:linear-gradient(180deg,#D4D4D0 0%,#B8B8B4 30%,#8E8E8A 55%,#D4D4D0 78%,#7A7A76 100%);
    --silver-soft:linear-gradient(180deg,#9A9A95 0%,#6E6E69 50%,#9A9A95 100%);
    --ease:cubic-bezier(.2,.8,.2,1);
    --ease-out:cubic-bezier(.16,1,.3,1);
  }
  *{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
  html{scroll-behavior:smooth}
  html,body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}
  html.lock,body.lock{overflow:hidden;height:100vh}
  .serif{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.02em;line-height:1}
  .container{max-width:1360px;margin:0 auto;padding:0 24px}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  button{font-family:inherit;border:none;background:none;cursor:pointer}

  /* ============ PRELOADER ============ */
  .preloader{position:fixed;inset:0;z-index:99999;background:#0A0A0A;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform 1.2s var(--ease-out),opacity .6s ease}
  .preloader.gone{transform:translateY(-100%);pointer-events:none}
  .preloader::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.04),transparent 50%);pointer-events:none}
  .pre-logo{width:120px;height:120px;position:relative;margin-bottom:40px;animation:preBreath 3s ease-in-out infinite}
  @keyframes preBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
  .pre-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(255,255,255,.15))}
  .pre-logo::before{content:"";position:absolute;inset:-18px;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:preHalo 2.4s var(--ease) infinite}
  .pre-logo::after{content:"";position:absolute;inset:-36px;border:1px solid rgba(255,255,255,.06);border-radius:50%;animation:preHalo 2.4s var(--ease) .4s infinite}
  @keyframes preHalo{0%{transform:scale(.85);opacity:0}40%{opacity:.8}100%{transform:scale(1.4);opacity:0}}
  .pre-name{font-family:'Instrument Serif',serif;font-style:italic;font-size:20px;letter-spacing:.04em;background:linear-gradient(180deg,#fff 0%,#bbb 50%,#888 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:32px;opacity:0;animation:preFadeIn .8s var(--ease) .3s forwards;padding-bottom:.12em}
  @keyframes preFadeIn{to{opacity:1}}
  .pre-bar{width:200px;height:1px;background:rgba(255,255,255,.1);position:relative;overflow:hidden;margin-bottom:20px}
  .pre-bar .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#fff,#bbb,#888,#bbb,#fff);background-size:200% 100%;animation:preShine 2s linear infinite;transition:width 1.6s var(--ease)}
  @keyframes preShine{from{background-position:0% 0}to{background-position:200% 0}}
  .pre-meta{display:flex;justify-content:space-between;width:200px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:500}
  .pre-meta .pct{font-family:'Instrument Serif',serif;font-style:italic;font-size:14px;color:#fff;letter-spacing:0;text-transform:none}

  /* ============ SCROLL PROGRESS ============ */
  .scroll-prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--silver);background-size:200% 100%;z-index:9000;transition:width .15s linear}

  /* ============ NAV ============ */
  nav.top{position:fixed;top:0;left:0;right:0;z-index:50;padding:14px 0;transition:transform .5s var(--ease),background-color .4s ease,border-color .4s ease,backdrop-filter .4s ease;background:transparent;border-bottom:1px solid transparent}
  nav.top.hidden{transform:translateY(-100%)}
  nav.top.scrolled{background:rgba(250,250,247,.82);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--line);padding:10px 0}
  nav.top .row{display:flex;align-items:center;justify-content:space-between;max-width:1360px;margin:0 auto;padding:0 24px;gap:16px}
  .nav-logo{display:flex;align-items:center;gap:12px;font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fafaf7;transition:color .4s ease;flex-shrink:0}
  nav.top.scrolled .nav-logo{color:var(--ink)}
  .nav-logo .lg{position:relative;width:40px;height:40px;display:grid;place-items:center}
  .nav-logo .lg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .4s ease}
  .nav-logo .lg .lw{opacity:1}
  .nav-logo .lg .lb{opacity:0}
  nav.top.scrolled .nav-logo .lg .lw{opacity:0}
  nav.top.scrolled .nav-logo .lg .lb{opacity:1}
  nav.top ul{display:flex;gap:32px;list-style:none;font-size:13px;color:rgba(250,250,247,.8);transition:color .4s ease}
  nav.top.scrolled ul{color:var(--ink-mute)}
  nav.top ul a{transition:.2s;position:relative;cursor:pointer}
  nav.top ul a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:.4s var(--ease)}
  nav.top ul a:hover{color:#fafaf7}
  nav.top.scrolled ul a:hover{color:var(--ink)}
  nav.top ul a:hover::after{width:100%}

  .cta{padding:13px 22px;border:1px solid;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:.45s var(--ease);display:inline-flex;align-items:center;gap:10px;background:transparent;position:relative;overflow:hidden;cursor:pointer;font-family:inherit;text-align:center;justify-content:center}
  .cta span{position:relative;z-index:1;display:inline-block}
  .cta::before{content:"";position:absolute;inset:0;transform:translateY(101%);transition:.5s var(--ease);z-index:0}
  .cta:hover::before{transform:translateY(0)}
  /* nav cta light state */
  nav.top .cta{border-color:rgba(250,250,247,.7);color:#fafaf7;background:rgba(250,250,247,.05)}
  nav.top .cta::before{background:#fafaf7}
  nav.top .cta:hover{color:var(--ink)}
  nav.top.scrolled .cta{border-color:var(--ink);color:var(--bg);background:var(--ink)}
  nav.top.scrolled .cta::before{background:var(--bg);transform:translateY(101%)}
  nav.top.scrolled .cta:hover{color:var(--ink)}
  nav.top.scrolled .cta:hover::before{transform:translateY(0)}

  /* dark/solid CTAs in body */
  .cta.solid{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .cta.solid::before{background:var(--bg)}
  .cta.solid:hover{color:var(--ink)}
  .cta.outline{border-color:var(--ink);color:var(--ink);background:transparent}
  .cta.outline::before{background:var(--ink)}
  .cta.outline:hover{color:var(--bg)}

  /* ============ HAMBURGER + MOBILE NAV (guardrail compliant) ============ */
  .menu-toggle{display:none;width:44px;height:44px;padding:12px 10px;flex-direction:column;justify-content:space-between;align-items:stretch;z-index:60;background:transparent;border:none;flex-shrink:0}
  .menu-toggle span{display:block;width:100%;height:1.5px;background:#fafaf7;transition:.35s var(--ease);transform-origin:center}
  nav.top.scrolled .menu-toggle span{background:var(--ink)}
  nav.top .menu-toggle.open span,nav.top.scrolled .menu-toggle.open span{background:#fafaf7}
  .menu-toggle.open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  /* When mobile nav is open, force nav transparent so dark overlay reads cleanly */
  body.lock nav.top.scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
  body.lock nav.top.scrolled .nav-logo{color:#fafaf7}
  body.lock nav.top.scrolled .nav-logo .lg .lw{opacity:1}
  body.lock nav.top.scrolled .nav-logo .lg .lb{opacity:0}

  /* SLIDE-FROM-LEFT SIDEBAR (covers ~half screen on tablet, ~80% on phone) */
  #mobile-nav{position:fixed;top:0;left:0;bottom:0;width:85vw;max-width:400px;background:#0A0A0A;z-index:55;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;transform:translateX(-101%);transition:transform .45s var(--ease-out);padding:84px 28px 32px;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:24px 0 64px -20px rgba(0,0,0,.55);border-right:1px solid rgba(250,250,247,.06)}
  #mobile-nav::before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent);pointer-events:none}
  #mobile-nav.open{transform:translateX(0)}
  .mobile-nav-backdrop{position:fixed;inset:0;background:rgba(10,10,10,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:54;opacity:0;pointer-events:none;transition:opacity .4s ease}
  .mobile-nav-backdrop.open{opacity:1;pointer-events:auto}
  #mobile-nav ul{list-style:none;text-align:left;width:100%;margin-bottom:20px}
  #mobile-nav ul li{overflow:hidden;border-bottom:1px solid rgba(250,250,247,.08)}
  #mobile-nav ul li:last-child{border-bottom:none}
  #mobile-nav ul li a{display:flex;align-items:center;font-family:'Instrument Serif',serif;font-size:30px;color:#fafaf7;letter-spacing:-.01em;line-height:1.2;padding:14px 0;transform:translateX(-30px);opacity:0;transition:transform .55s var(--ease) .15s,opacity .55s ease .15s,color .25s ease,padding-left .3s ease}
  #mobile-nav.open ul li:nth-child(1) a{transition-delay:.18s}
  #mobile-nav.open ul li:nth-child(2) a{transition-delay:.24s}
  #mobile-nav.open ul li:nth-child(3) a{transition-delay:.30s}
  #mobile-nav.open ul li:nth-child(4) a{transition-delay:.36s}
  #mobile-nav.open ul li:nth-child(5) a{transition-delay:.42s}
  #mobile-nav.open ul li a{transform:translateX(0);opacity:1}
  #mobile-nav ul li a:hover,#mobile-nav ul li a:active{color:#bbb;padding-left:6px}
  #mobile-nav ul li a::after{content:"→";margin-left:auto;opacity:0;transition:opacity .25s ease,transform .25s ease;font-size:18px;font-family:'Inter',sans-serif;color:rgba(250,250,247,.55)}
  #mobile-nav ul li a:hover::after{opacity:1;transform:translateX(4px)}
  #mobile-nav ul li a em{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  /* CTA block — prominent at bottom of sidebar */
  #mobile-nav .mn-cta{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:24px;opacity:0;transform:translateX(-20px);transition:.55s var(--ease) .5s}
  #mobile-nav.open .mn-cta{opacity:1;transform:translateX(0)}
  #mobile-nav .mn-cta-label{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(250,250,247,.5);font-weight:500;margin-bottom:4px}
  #mobile-nav .mn-cta-phone{display:flex;align-items:center;gap:12px;padding:18px 22px;border:1px solid #fafaf7;color:#0A0A0A;background:#fafaf7;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;justify-content:center;transition:background .3s ease,color .3s ease}
  #mobile-nav .mn-cta-phone:hover{background:transparent;color:#fafaf7}
  #mobile-nav .mn-cta-phone svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
  #mobile-nav .mn-cta-secondary{display:flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid rgba(250,250,247,.3);color:#fafaf7;background:transparent;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;justify-content:center;transition:.3s ease}
  #mobile-nav .mn-cta-secondary:hover{border-color:#fafaf7;background:rgba(250,250,247,.05)}
  #mobile-nav .mn-foot{margin-top:auto;padding-top:24px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(250,250,247,.4);text-align:left;opacity:0;transition:opacity .55s ease .65s;line-height:1.7}
  #mobile-nav.open .mn-foot{opacity:1}

  /* ============ HERO (mobile-first) ============ */
  /* ============ HERO — unified full-screen overlay (mobile + desktop) ============ */
  .hero{position:relative;min-height:100vh;min-height:100dvh;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0A0A0A;overflow:hidden}
  .hero-video{position:absolute;inset:0;width:auto;max-width:none;aspect-ratio:auto;background:#0A0A0A;overflow:hidden;border-radius:0;border:none;box-shadow:none;transform:none;opacity:1;animation:none;z-index:0}
  .hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;display:block}
  .hero-video::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(10,10,10,0) 30%,rgba(10,10,10,.35) 80%,rgba(10,10,10,.7) 100%);pointer-events:none;z-index:2}
  .hero-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.15) 25%,rgba(10,10,10,.2) 55%,rgba(10,10,10,.75) 100%);pointer-events:none;z-index:2}

  .hero-inner{position:relative;z-index:5;width:100%;max-width:640px;color:#fafaf7;padding:88px 20px 44px;will-change:transform,opacity}

  .hero-logo{display:flex;justify-content:center;margin-bottom:18px;opacity:0;transform:scale(.7);animation:heroLogoIn 1.2s var(--ease-out) 1.3s forwards}
  @keyframes heroLogoIn{to{opacity:1;transform:scale(1)}}
  .hero-logo .frame{width:64px;height:64px;position:relative;display:grid;place-items:center}
  .hero-logo .frame img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 32px rgba(0,0,0,.5))}
  .hero-logo .frame::before{content:"";position:absolute;inset:-10px;border:1px solid rgba(250,250,247,.18);border-radius:50%;animation:halo 4.5s ease-in-out infinite}
  .hero-logo .frame::after{content:"";position:absolute;inset:-22px;border:1px solid rgba(250,250,247,.08);border-radius:50%;animation:halo 4.5s ease-in-out .6s infinite}
  @keyframes halo{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:.12}}

  .hero-eyebrow{font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:rgba(250,250,247,.72);margin-bottom:14px;display:inline-flex;align-items:center;gap:12px;opacity:0;animation:fadeUp .9s var(--ease) 1.8s forwards;font-weight:500}
  @keyframes fadeUp{to{opacity:1}}
  .hero-eyebrow::before,.hero-eyebrow::after{content:"";width:32px;height:1px;background:rgba(250,250,247,.32)}

  h1.hero-h{font-family:'Instrument Serif',serif;font-size:clamp(46px,12vw,88px);line-height:1.02;letter-spacing:-.025em;font-weight:400;color:#fafaf7}
  h1.hero-h .l{display:block;overflow:hidden;padding-bottom:.08em}
  h1.hero-h .l span.w{display:inline-block;transform:translateY(110%);animation:rise 1.2s var(--ease-out) forwards}
  h1.hero-h .l:nth-child(1) .w{animation-delay:2s}
  h1.hero-h .l:nth-child(2) .w{animation-delay:2.15s;font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 100%;animation:rise 1.2s var(--ease-out) 2.15s forwards, silverHero 7s ease 3.5s infinite}
  @keyframes rise{to{transform:translateY(0)}}
  @keyframes silverHero{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

  .hero-sub{font-size:15px;color:rgba(250,250,247,.82);max-width:520px;margin:22px auto 26px;line-height:1.65;opacity:0;animation:fadeUp 1s var(--ease) 2.5s forwards}
  .hero-cta{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px;margin:0 auto;opacity:0;animation:fadeUp 1s var(--ease) 2.65s forwards}
  .hero-cta .cta{width:100%;justify-content:center;padding:16px 24px;border-color:rgba(250,250,247,.4);color:#fafaf7;background:transparent}
  .hero-cta .cta::before{background:#fafaf7}
  .hero-cta .cta:hover{color:var(--ink)}
  .hero-cta .cta.solid{background:#fafaf7;color:var(--ink);border-color:#fafaf7}
  .hero-cta .cta.solid::before{background:var(--ink)}
  .hero-cta .cta.solid:hover{color:#fafaf7}

  .hero-chips{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 4px;margin-top:22px;opacity:0;animation:fadeUp 1s var(--ease) 2.85s forwards}
  .chip{padding:8px 14px;border:1px solid rgba(250,250,247,.25);border-radius:999px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,250,247,.9);background:rgba(10,10,10,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-weight:500;display:inline-flex;align-items:center;gap:7px}
  .chip .dot{width:5px;height:5px;border-radius:50%;background:#fafaf7}

  .scroll-ind{display:none;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(250,250,247,.55);flex-direction:column;align-items:center;gap:8px;z-index:5;opacity:0;animation:fadeUp 1s var(--ease) 3.2s forwards}
  .scroll-ind .line{width:1px;height:32px;background:linear-gradient(180deg,transparent,rgba(250,250,247,.6));animation:lineDrop 2.4s ease infinite}
  @keyframes lineDrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  /* ============ HERO desktop refinements ============ */
  @media(min-width:880px){
    .hero-inner{max-width:1100px;padding:0 32px;margin:0 auto}
    .hero-logo{margin-bottom:42px}
    .hero-logo .frame{width:120px;height:120px}
    .hero-logo .frame::before{inset:-14px}
    .hero-logo .frame::after{inset:-30px}
    .hero-eyebrow{font-size:11px;letter-spacing:.4em;margin-bottom:28px;animation-delay:2s}
    .hero-eyebrow::before,.hero-eyebrow::after{width:48px}
    h1.hero-h{font-size:clamp(58px,11.5vw,180px);line-height:.96;letter-spacing:-.04em}
    h1.hero-h .l:nth-child(1) .w{animation-delay:2.2s}
    h1.hero-h .l:nth-child(2) .w{animation-delay:2.35s;animation:rise 1.2s var(--ease-out) 2.35s forwards, silverHero 7s ease 3.5s infinite}
    .hero-sub{font-size:17px;max-width:580px;margin:36px auto 42px;animation-delay:2.7s}
    .hero-cta{flex-direction:row;width:auto;max-width:none;flex-wrap:wrap;justify-content:center;gap:12px;animation-delay:2.85s}
    .hero-cta .cta{width:auto;padding:14px 24px}
    .hero-chips{position:absolute;bottom:64px;left:0;right:0;padding:0 32px;margin-top:0;animation-delay:3s}
    .chip{padding:10px 18px;font-size:11px;letter-spacing:.18em;background:rgba(10,10,10,.32)}
    .scroll-ind{position:absolute;bottom:24px;right:48px;display:flex}
  }

  /* ============ TICKER ============ */
  .ticker{padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg-surf);position:relative;z-index:2}
  .ticker-track{display:flex;gap:40px;animation:tickScroll 38s linear infinite;white-space:nowrap;font-family:'Instrument Serif',serif;font-size:30px;letter-spacing:-.01em;color:var(--ink-soft);padding-bottom:.08em}
  .ticker-track:hover{animation-play-state:paused}
  .ticker-track span{display:inline-flex;align-items:center;gap:40px}
  .ticker-track .d{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ink-mute)}
  .ticker-track i{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  @keyframes tickScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media(min-width:880px){.ticker{padding:38px 0}.ticker-track{font-size:38px;gap:48px}.ticker-track span{gap:48px}.ticker-track .d{width:6px;height:6px}}

  /* ============ SECTIONS ============ */
  section.block{padding:96px 0;position:relative;z-index:2}
  .h-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;margin-bottom:56px;gap:24px}
  .h-row .num{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;display:flex;align-items:center;gap:12px;font-weight:500}
  .h-row .num::before{content:"";width:24px;height:1px;background:var(--ink-mute)}
  h2.sec{font-family:'Instrument Serif',serif;font-size:clamp(40px,8.5vw,108px);font-weight:400;letter-spacing:-.025em;line-height:1;max-width:920px;padding-bottom:.08em}
  h2.sec em{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .h-row .lede{max-width:380px;font-size:15px;color:var(--ink-mute);line-height:1.7}
  @media(min-width:880px){
    section.block{padding:160px 0}
    .h-row{flex-direction:row;align-items:flex-end;margin-bottom:88px;gap:48px;flex-wrap:wrap}
    .h-row .num{margin-bottom:18px;font-size:11px}
    h2.sec{font-size:clamp(48px,7vw,108px);letter-spacing:-.03em;line-height:.96}
    .h-row .lede{font-size:16px}
  }

  /* SERVICES */
  .svc-list{border-top:1px solid var(--line)}
  .svc-row{display:grid;grid-template-columns:54px 1fr;gap:14px 20px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start;cursor:pointer;transition:.6s var(--ease);position:relative;overflow:hidden}
  .svc-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.025),transparent 60%);opacity:0;transition:.5s var(--ease)}
  .svc-row::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ink);transition:.6s var(--ease)}
  .svc-row:hover::before{opacity:1}
  .svc-row:hover::after{width:100%}
  .svc-row:hover h3{background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.025em}
  .svc-row .num{font-family:'Instrument Serif',serif;font-style:italic;font-size:13px;color:var(--ink-dim);font-weight:400;letter-spacing:.05em;line-height:1.4;padding-top:8px}
  .svc-row h3{font-family:'Instrument Serif',serif;font-size:clamp(30px,7vw,40px);font-weight:400;letter-spacing:-.02em;transition:.6s var(--ease);line-height:1;padding-bottom:.08em}
  .svc-row p{font-size:13.5px;color:var(--ink-mute);line-height:1.65;max-width:520px;grid-column:2;margin-top:8px}
  .arrow-c{display:none}
  @media(min-width:980px){
    .svc-row{grid-template-columns:90px 1fr 2fr 120px;gap:32px;padding:48px 0;align-items:center}
    .svc-row:hover{padding-left:32px}
    .svc-row:hover .arrow-c{background:var(--ink);color:var(--bg);transform:translateX(0) rotate(-45deg);opacity:1}
    .svc-row .num{font-size:14px;padding-top:0}
    .svc-row h3{font-size:clamp(36px,4.6vw,64px)}
    .svc-row p{font-size:15px;line-height:1.7;grid-column:auto;margin-top:0}
    .arrow-c{display:grid;width:54px;height:54px;border:1px solid var(--ink);border-radius:50%;place-items:center;justify-self:end;transition:.6s var(--ease);transform:translateX(-12px) rotate(-45deg);opacity:.5}
    .arrow-c svg{width:18px;height:18px}
  }

  /* SERVICES DARK MODE WITH ROTATING PHOTO BACKGROUNDS */
  .services-dark{background:#0A0A0A;color:#fafaf7;position:relative;overflow:hidden;isolation:isolate;border-top:1px solid rgba(250,250,247,.04);border-bottom:1px solid rgba(250,250,247,.04)}
  .svc-bg-stack{position:absolute;inset:0;z-index:0}
  .svc-bg-stack picture{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.4s var(--ease)}
  .svc-bg-stack picture.active{opacity:1}
  .svc-bg-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.22) contrast(1.04) brightness(.7);animation:svcKenBurns 28s ease-in-out infinite alternate;will-change:transform}
  @keyframes svcKenBurns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-1.5%,-1%)}}
  .svc-bg-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,10,.92) 0%,rgba(10,10,10,.6) 22%,rgba(10,10,10,.55) 50%,rgba(10,10,10,.62) 78%,rgba(10,10,10,.95) 100%),radial-gradient(ellipse at 25% 50%,rgba(10,10,10,0) 0%,rgba(10,10,10,.32) 80%);pointer-events:none}
  .services-dark .container{position:relative;z-index:2}
  .services-dark .h-row .num{color:rgba(250,250,247,.5)}
  .services-dark .h-row .num::before{background:rgba(250,250,247,.4)}
  .services-dark .h-row .lede{color:rgba(250,250,247,.7)}
  .services-dark h2.sec{color:#fafaf7}
  .services-dark .svc-list{border-top-color:rgba(250,250,247,.16)}
  .services-dark .svc-row{border-bottom-color:rgba(250,250,247,.12)}
  .services-dark .svc-row::before{background:linear-gradient(90deg,rgba(250,250,247,.05),transparent 60%)}
  .services-dark .svc-row::after{background:#fafaf7}
  .services-dark .svc-row .num{color:rgba(250,250,247,.45)}
  .services-dark .svc-row h3{color:#fafaf7}
  .services-dark .svc-row p{color:rgba(250,250,247,.68)}
  .services-dark .svc-row:hover h3{background:linear-gradient(180deg,#fff 0%,#bbb 50%,#888 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-fill-color:transparent}
  .services-dark .arrow-c{border-color:rgba(250,250,247,.55);color:#fafaf7}
  .services-dark .svc-row:hover .arrow-c{background:#fafaf7;color:var(--ink);border-color:#fafaf7}
  /* Photo indicator chips bottom of services section */
  .svc-pager{display:flex;gap:10px;justify-content:center;margin-top:48px;position:relative;z-index:3}
  .svc-pager-dot{width:32px;height:2px;background:rgba(250,250,247,.18);border:none;cursor:pointer;padding:0;transition:.4s var(--ease);font-family:inherit}
  .svc-pager-dot.active{background:#fafaf7;width:48px}
  .svc-pager-dot:hover{background:rgba(250,250,247,.6)}

  /* SHOWCASE — REAL PROJECTS */
  .showcase{padding:96px 0;background:var(--bg-surf);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;z-index:2;overflow:hidden}
  .proj-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
  .proj-card{position:relative;display:block;overflow:hidden;background:#0A0A0A;border-radius:6px;color:#fafaf7;transition:transform .6s var(--ease),box-shadow .6s var(--ease);text-decoration:none;border:1px solid rgba(10,10,10,.16);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 20px 60px -25px rgba(10,10,10,.35);aspect-ratio:4/5;opacity:0;transform:translateY(30px);animation:projReveal 1s var(--ease-out) both}
  .proj-card:nth-child(1){animation-delay:.15s}
  .proj-card:nth-child(2){animation-delay:.27s}
  .proj-card:nth-child(3){animation-delay:.39s}
  .proj-card:nth-child(4){animation-delay:.51s}
  @keyframes projReveal{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
  .proj-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 40px 80px -20px rgba(10,10,10,.45)}
  .proj-card:hover .proj-bg img{transform:scale(1.06)}
  .proj-card:hover .proj-cta{padding-right:30px}
  .proj-card:hover .proj-cta::after{opacity:1;transform:translateX(0)}
  .proj-card .proj-bg{position:absolute;inset:0;overflow:hidden}
  .proj-card .proj-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78) contrast(1.04);transition:1.4s var(--ease)}
  .proj-card .proj-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.15) 0%,rgba(10,10,10,.35) 40%,rgba(10,10,10,.88) 100%);pointer-events:none;z-index:1}
  .proj-card .proj-frame{position:absolute;inset:8px;border:1px solid rgba(255,255,255,.08);border-radius:3px;pointer-events:none;z-index:2}
  .proj-card .proj-meta{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:24px 22px 22px;display:flex;flex-direction:column;gap:8px}
  .proj-card .proj-num{font-family:'Instrument Serif',serif;font-style:italic;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,250,247,.55);margin-bottom:2px}
  .proj-card h3{font-family:'Instrument Serif',serif;font-size:clamp(28px,6vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.05;color:#fafaf7;padding-bottom:.06em}
  .proj-card h3 em{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .proj-card .proj-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .proj-card .proj-stat{padding:6px 11px;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(250,250,247,.9);background:rgba(250,250,247,.08);border:1px solid rgba(250,250,247,.16);border-radius:999px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-weight:500}
  .proj-card .proj-cta{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#fafaf7;padding-right:18px;transition:.4s var(--ease);position:relative;align-self:flex-start;font-weight:500}
  .proj-card .proj-cta::after{content:"→";position:absolute;right:0;opacity:.7;transform:translateX(-4px);transition:.4s var(--ease)}
  .proj-card--soon{cursor:default;pointer-events:none}
  .proj-card--soon .proj-bg{background:linear-gradient(140deg,#1a1a1a 0%,#0a0a0a 50%,#222 100%)}
  .proj-card--soon .proj-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 60% 40%,rgba(255,255,255,.06),transparent 50%)}
  .proj-card--soon .proj-cta{color:rgba(250,250,247,.5)}
  .proj-card--soon .proj-cta::after{content:""}
  @media(min-width:600px){
    .proj-grid{grid-template-columns:1fr 1fr;gap:22px}
  }
  @media(min-width:880px){
    .showcase{padding:160px 0}
    .proj-grid{grid-template-columns:1fr 1fr;gap:28px;margin-top:80px}
    .proj-card{aspect-ratio:5/4}
    .proj-card .proj-meta{padding:32px 28px 28px}
    .proj-card .proj-num{font-size:13px}
    .proj-card h3{font-size:clamp(30px,3vw,42px)}
    .proj-card .proj-stat{font-size:10.5px;padding:6px 12px}
    .proj-card .proj-cta{font-size:11.5px;margin-top:16px}
  }
  @media(min-width:1180px){
    .proj-grid{grid-template-columns:1fr 1fr;gap:32px}
    .proj-card{aspect-ratio:5/4}
    .proj-card .proj-meta{padding:36px 32px 32px}
    .proj-card h3{font-size:clamp(32px,2.8vw,44px)}
  }

  /* TRUST */
  .trust{padding:88px 0;border-bottom:1px solid var(--line);position:relative;z-index:2}
  .trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
  .tc{background:var(--bg);padding:28px 22px;display:flex;flex-direction:column;gap:10px;transition:.5s var(--ease);position:relative;min-height:200px;cursor:pointer}
  .tc::before{content:"";position:absolute;top:0;left:0;width:0;height:2px;background:var(--silver);transition:.6s var(--ease)}
  .tc:hover{background:var(--bg-elev)}
  .tc:hover::before{width:100%}
  .tc:hover .glyph{transform:rotate(15deg) scale(1.1)}
  .tc .glyph{width:28px;height:28px;display:grid;place-items:center;margin-bottom:8px;transition:.6s var(--ease)}
  .tc .glyph svg{width:22px;height:22px}
  .tc .lbl{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}
  .tc h4{font-family:'Instrument Serif',serif;font-size:20px;font-weight:400;letter-spacing:-.01em;line-height:1.15;padding-bottom:.06em}
  .tc p{font-size:12.5px;color:var(--ink-mute);line-height:1.6}
  @media(min-width:980px){
    .trust{padding:140px 0}
    .trust-grid{grid-template-columns:repeat(4,1fr)}
    .tc{padding:48px 32px;gap:14px;min-height:240px}
    .tc .glyph{width:32px;height:32px;margin-bottom:12px}
    .tc .glyph svg{width:24px;height:24px}
    .tc .lbl{font-size:10px}
    .tc h4{font-size:24px}
    .tc p{font-size:13px}
  }

  /* ABOUT */
  .about-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
  .about-img{aspect-ratio:4/5;background:#0A0A0A;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px rgba(10,10,10,.3);opacity:0;transform:translateY(20px);animation:projReveal 1.2s var(--ease-out) .3s both;border-radius:4px}
  .about-img picture{position:absolute;inset:0;display:block}
  .about-img img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.04) brightness(.95)}
  .about-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,10,10,.35) 100%);pointer-events:none;z-index:1}
  .about-img .frame-i{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.12);pointer-events:none;z-index:2;border-radius:2px}
  .about-body p.lead{font-family:'Instrument Serif',serif;font-size:clamp(22px,5.5vw,42px);font-weight:400;line-height:1.25;letter-spacing:-.01em;margin-bottom:24px;padding-bottom:.06em}
  .about-body p.lead em{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .about-body p{font-size:15px;color:var(--ink-mute);line-height:1.75;margin-bottom:14px;max-width:560px}
  .stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
  .stat .n{font-family:'Instrument Serif',serif;font-size:clamp(34px,9vw,64px);font-weight:400;letter-spacing:-.03em;line-height:1;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;padding-bottom:.08em}
  .stat .l{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);margin-top:8px;line-height:1.3}
  @media(min-width:880px){
    .about-grid{grid-template-columns:1fr 1.2fr;gap:96px}
    .about-body p{font-size:16px;line-height:1.8;margin-bottom:18px}
    .about-body p.lead{font-size:clamp(28px,3vw,42px);margin-bottom:32px}
    .stats{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px;padding-top:48px}
    .stat .n{font-size:64px}
    .stat .l{font-size:11px;letter-spacing:.25em;margin-top:10px}
  }

  /* PROCESS */
  .process{padding:96px 0;background:var(--bg-surf);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;z-index:2}
  .ptimeline{position:relative;padding-top:48px}
  .ptimeline::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ink-mute) 10%,var(--ink-mute) 90%,transparent);transform-origin:left;transform:scaleX(0);transition:1.4s var(--ease) .2s}
  .ptimeline.in::before{transform:scaleX(1)}
  .pgrid-steps{display:grid;grid-template-columns:1fr;gap:36px;position:relative}
  .pstep{position:relative;padding-top:24px}
  .pstep::before{content:"";position:absolute;top:-26px;left:0;width:8px;height:8px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px rgba(10,10,10,.04);transition:.4s var(--ease) .8s;transform:scale(0)}
  .ptimeline.in .pstep::before{transform:scale(1)}
  .ptimeline.in .pstep:nth-child(2)::before{transition-delay:1s}
  .ptimeline.in .pstep:nth-child(3)::before{transition-delay:1.2s}
  .ptimeline.in .pstep:nth-child(4)::before{transition-delay:1.4s}
  .pstep:hover::before{transform:scale(1.5);background:#888}
  .pstep .n{font-family:'Instrument Serif',serif;font-style:italic;font-size:12.5px;color:var(--ink-dim);margin-bottom:10px;letter-spacing:.05em}
  .pstep h4{font-family:'Instrument Serif',serif;font-size:24px;font-weight:400;letter-spacing:-.01em;line-height:1.1;margin-bottom:10px;padding-bottom:.06em}
  .pstep p{font-size:13.5px;color:var(--ink-mute);line-height:1.65}
  @media(min-width:880px){
    .process{padding:160px 0}
    .ptimeline{padding-top:60px}
    .pgrid-steps{grid-template-columns:repeat(4,1fr);gap:48px}
    .pstep{padding-top:32px}
    .pstep::before{top:-30px}
    .pstep .n{font-size:13px;margin-bottom:16px}
    .pstep h4{font-size:28px;margin-bottom:14px}
    .pstep p{font-size:14px;line-height:1.7}
  }

  /* QUOTE */
  .quote{padding:96px 0;text-align:center;border-bottom:1px solid var(--line);position:relative;z-index:2;overflow:hidden}
  .quote::before{content:"";position:absolute;top:50%;left:50%;width:800px;height:800px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(10,10,10,.03),transparent 70%);pointer-events:none;animation:quoteHalo 8s ease-in-out infinite}
  @keyframes quoteHalo{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.1);opacity:.6}}
  .quote .glyph{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(80px,18vw,140px);line-height:1;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px;display:inline-block;background-size:200% 100%;animation:silverHero 8s ease infinite;padding-bottom:.08em}
  .quote blockquote{font-family:'Instrument Serif',serif;font-size:clamp(22px,5vw,46px);font-weight:400;line-height:1.3;letter-spacing:-.01em;max-width:1000px;margin:0 auto;padding-bottom:.05em}
  .quote blockquote em{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .quote cite{display:block;margin-top:32px;font-style:normal;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute)}
  @media(min-width:880px){.quote{padding:160px 0}.quote .glyph{margin-bottom:24px}.quote cite{margin-top:48px;font-size:11px}}

  /* REVIEWS — premium social-proof section */
  .reviews{padding:96px 0;background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:2;overflow:hidden}
  .reviews .h-row{margin-bottom:48px}
  .reviews-headline{display:flex;flex-direction:column;gap:32px;padding:32px 24px;background:#0A0A0A;color:#fafaf7;border-radius:8px;margin-bottom:40px;position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 30px 80px -30px rgba(10,10,10,.4)}
  .reviews-headline::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(255,255,255,.04),transparent 50%);pointer-events:none}
  .reviews-score{display:flex;flex-direction:column;gap:6px;align-items:flex-start;position:relative;z-index:2}
  .rs-num{font-family:'Instrument Serif',serif;font-size:clamp(72px,14vw,110px);line-height:1;font-weight:400;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 100%;animation:silverHero 8s ease infinite;padding-bottom:.05em}
  .rs-stars{font-size:24px;letter-spacing:.18em;color:#FFC247;line-height:1}
  .rs-meta{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,250,247,.6);margin-top:4px;line-height:1.5;font-weight:500}
  .reviews-badges{display:grid;grid-template-columns:1fr;gap:14px;position:relative;z-index:2}
  .rb{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid rgba(250,250,247,.1)}
  .rb-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(250,250,247,.25);border-radius:50%;font-size:11px;letter-spacing:.1em;font-weight:600;color:rgba(250,250,247,.95);background:rgba(250,250,247,.04);flex-shrink:0}
  .rb-text{font-size:12.5px;color:rgba(250,250,247,.7);line-height:1.5}
  .rb-text strong{color:#fafaf7;font-weight:500;letter-spacing:.02em}
  /* HORIZONTAL REVIEW CAROUSEL — center active, blur sides, arrow navigation */
  .reviews-carousel{position:relative;margin-top:24px;padding:0;overflow:hidden}
  .reviews-grid{display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:18px;padding:24px max(20px,calc(50% - 200px)) 28px;scrollbar-width:none;-ms-overflow-style:none}
  .reviews-grid::-webkit-scrollbar{display:none}
  .review-card{flex:0 0 min(400px,86vw);background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:26px 22px;position:relative;display:flex;flex-direction:column;gap:14px;box-shadow:0 14px 32px -16px rgba(10,10,10,.14);transition:filter .5s var(--ease),opacity .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease);scroll-snap-align:center;scroll-snap-stop:always;filter:blur(2.5px);opacity:.42;transform:scale(.92)}
  .review-card.is-active{filter:blur(0);opacity:1;transform:scale(1);box-shadow:0 22px 56px -16px rgba(10,10,10,.22)}
  .review-stars{font-size:18px;color:#FFC247;letter-spacing:.12em;line-height:1}
  .review-source{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}
  .review-card blockquote{font-family:'Instrument Serif',serif;font-size:17px;line-height:1.5;letter-spacing:-.005em;color:var(--ink);padding-bottom:.06em;font-weight:400}
  .review-card blockquote em{font-style:italic;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .review-card cite{font-style:normal;display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
  .review-card cite strong{font-family:'Instrument Serif',serif;font-weight:400;font-size:17px;color:var(--ink);letter-spacing:-.01em}
  .review-card cite span{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}
  /* Carousel arrows */
  .reviews-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:rgba(10,10,10,.85);color:#fafaf7;border:1px solid rgba(250,250,247,.12);font-size:18px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;transition:.3s var(--ease);padding:0;line-height:1;box-shadow:0 8px 24px -8px rgba(10,10,10,.35)}
  .reviews-arrow:hover{background:#0A0A0A;transform:translateY(-50%) scale(1.08);border-color:rgba(250,250,247,.2)}
  .reviews-arrow:disabled{opacity:.35;cursor:not-allowed;transform:translateY(-50%)}
  .reviews-arrow:disabled:hover{transform:translateY(-50%);background:rgba(10,10,10,.85)}
  .reviews-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .reviews-arrow--prev{left:6px}
  .reviews-arrow--next{right:6px}
  /* Pager dots below carousel */
  .reviews-dots{display:flex;gap:8px;justify-content:center;margin-top:6px}
  .reviews-dot{width:8px;height:8px;border-radius:50%;border:none;background:rgba(10,10,10,.16);cursor:pointer;transition:.3s var(--ease);padding:0}
  .reviews-dot.is-active{background:var(--ink);transform:scale(1.25)}
  .reviews-dot:hover{background:rgba(10,10,10,.5)}
  @media(min-width:600px){
    .reviews-headline{flex-direction:row;align-items:center;justify-content:space-between;gap:48px;padding:40px 40px}
    .reviews-score{flex:0 0 auto}
    .reviews-badges{flex:1;grid-template-columns:1fr 1fr 1fr;gap:0}
    .rb{flex-direction:column;align-items:flex-start;text-align:left;padding:0 16px;border-top:none;border-left:1px solid rgba(250,250,247,.1);gap:10px}
    .rb:first-child{border-left:none;padding-left:0}
    .rb-icon{width:40px;height:40px;font-size:10px}
    .rb-text{font-size:11.5px}
    .reviews-grid{padding:32px max(40px,calc(50% - 220px)) 32px;gap:22px}
    .review-card{flex:0 0 440px}
    .reviews-arrow{width:52px;height:52px}
    .reviews-arrow--prev{left:14px}
    .reviews-arrow--next{right:14px}
  }
  @media(min-width:880px){
    .reviews{padding:140px 0}
    .reviews .h-row{margin-bottom:64px}
    .reviews-headline{padding:48px 56px;margin-bottom:48px}
    .rs-stars{font-size:28px}
    .review-card{padding:32px 28px;gap:16px;flex:0 0 480px}
    .review-card blockquote{font-size:19px;line-height:1.45}
    .review-card cite strong{font-size:18px}
    .reviews-grid{padding:36px max(60px,calc(50% - 260px)) 40px;gap:28px}
  }

  /* CONTACT */
  .contact-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
  .contact h2.sec{margin-bottom:24px}
  .contact-info{display:flex;flex-direction:column}
  .ci-row{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr;gap:6px;align-items:baseline;transition:.4s var(--ease)}
  .ci-row .lbl{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute)}
  .ci-row .v{font-family:'Instrument Serif',serif;font-size:18px;font-weight:400;letter-spacing:-.01em;line-height:1.4;padding-bottom:.05em}
  .ci-row .v a{transition:.3s var(--ease);border-bottom:1px solid transparent;padding-bottom:2px}
  .ci-row .v a:hover{border-color:var(--ink)}
  @media(min-width:880px){
    .contact-grid{grid-template-columns:1.2fr 1fr;gap:96px}
    .contact h2.sec{margin-bottom:32px}
    .ci-row{padding:28px 0;grid-template-columns:140px 1fr;gap:32px}
    .ci-row:hover{padding-left:8px}
    .ci-row .lbl{font-size:10px}
    .ci-row .v{font-size:22px}
  }

  /* MAP */
  .map-wrap{margin-top:48px;border-radius:6px;overflow:hidden;border:1px solid var(--line-2);box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 30px 80px -30px rgba(10,10,10,.3),0 12px 24px -8px rgba(10,10,10,.18);position:relative;background:#0A0A0A}
  .map-wrap::before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.06);border-radius:3px;pointer-events:none;z-index:3}
  .map-wrap iframe{width:100%;height:340px;display:block;border:none;filter:grayscale(.7) contrast(1.04) brightness(.96)}
  .map-meta{position:absolute;top:18px;left:18px;background:rgba(10,10,10,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fafaf7;padding:14px 18px;border-radius:4px;font-size:11px;letter-spacing:.05em;line-height:1.5;z-index:4;max-width:230px;border:1px solid rgba(250,250,247,.12)}
  .map-meta .lbl{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(250,250,247,.55);margin-bottom:4px;font-weight:500}
  .map-meta .v{font-family:'Instrument Serif',serif;font-size:15px;letter-spacing:-.01em;padding-bottom:.06em}
  @media(min-width:880px){.map-wrap iframe{height:420px}.map-meta{padding:16px 22px;font-size:12px;max-width:260px}.map-meta .v{font-size:16px}}

  /* ============ FOOTER ============ */
  footer{padding:80px 0 28px;border-top:1px solid rgba(250,250,247,.08);position:relative;z-index:2;background:#0A0A0A;color:#fafaf7;overflow:hidden}
  .footer-logo-row{display:flex;justify-content:center;margin-bottom:36px;opacity:0;transform:translateY(20px);transition:1s var(--ease)}
  .footer-logo-row.in{opacity:1;transform:none}
  .footer-logo-row img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 24px rgba(255,255,255,.1))}
  footer .gword{font-family:'Instrument Serif',serif;font-size:clamp(72px,18vw,260px);font-weight:400;letter-spacing:-.05em;line-height:.85;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:56px;background-size:200% 100%;animation:silverHero 10s ease infinite;padding-bottom:.08em}
  footer .gword em{font-style:italic}
  footer .grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(250,250,247,.1)}
  footer .grid > div:first-child{grid-column:1/-1}
  footer h5{font-size:10.5px;letter-spacing:.25em;text-transform:uppercase;font-weight:500;margin-bottom:16px;color:rgba(250,250,247,.55)}
  footer ul{list-style:none;font-size:13.5px}
  footer ul li{margin-bottom:8px}
  footer ul a{color:rgba(250,250,247,.65);transition:.3s var(--ease);position:relative;display:inline-block}
  footer ul a::before{content:"→";position:absolute;left:-18px;opacity:0;transition:.3s var(--ease)}
  footer ul a:hover{color:#fafaf7;transform:translateX(8px)}
  footer ul a:hover::before{opacity:1;left:-14px}
  .foot-mark{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#fafaf7}
  .foot-mark img{width:34px;height:34px;object-fit:contain}
  .foot-desc{font-size:13px;color:rgba(250,250,247,.55);max-width:340px;line-height:1.7}
  .legal{padding-top:24px;display:flex;flex-direction:column;font-size:10.5px;color:rgba(250,250,247,.5);letter-spacing:.05em;gap:12px;line-height:1.7}
  .legal .agenths{font-family:'Instrument Serif',serif;font-style:italic;letter-spacing:.15em;background:var(--silver);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.05em}
  .legal a{color:rgba(250,250,247,.7);border-bottom:1px solid rgba(250,250,247,.2);transition:.25s ease}
  .legal a:hover{color:#fafaf7;border-color:#fafaf7}
  @media(min-width:880px){
    footer{padding:120px 0 36px}
    .footer-logo-row{margin-bottom:48px}
    .footer-logo-row img{width:96px;height:96px}
    footer .gword{margin-bottom:80px}
    footer .grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px}
    footer .grid > div:first-child{grid-column:auto}
    footer h5{font-size:11px;margin-bottom:20px}
    footer ul{font-size:14px}
    footer ul li{margin-bottom:10px}
    .foot-mark{gap:14px;margin-bottom:18px;font-size:13px}
    .foot-mark img{width:38px;height:38px}
    .foot-desc{font-size:14px}
    .legal{padding-top:32px;flex-direction:row;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:11px}
  }

  /* ============ STICKY MOBILE CALL ============ */
  .sticky-call{position:fixed;bottom:18px;right:16px;z-index:45;background:var(--ink);color:var(--bg);padding:14px 20px 14px 18px;border-radius:999px;display:none;align-items:center;gap:9px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 32px -8px rgba(10,10,10,.45),0 0 0 1px rgba(255,255,255,.04) inset;border:1px solid rgba(250,250,247,.1);transition:transform .35s var(--ease),opacity .35s ease;font-family:'Inter',sans-serif}
  .sticky-call.hidden{transform:translateY(120%);opacity:0;pointer-events:none}
  .sticky-call svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}
  @media(max-width:879px){.sticky-call{display:inline-flex}}

  /* ============ REVEAL UTILS ============ */
  .reveal{opacity:0;transform:translateY(40px);transition:opacity 1.1s ease, transform 1.1s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ============ TABLET / MOBILE NAV TOGGLES ============ */
  @media(max-width:879px){
    nav.top ul{display:none}
    nav.top > .row > .cta{display:none}
    .menu-toggle{display:flex}
    /* Center the logo in the fixed nav bar on mobile (hamburger left, logo center) */
    nav.top .row{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:0 14px}
    nav.top .menu-toggle{grid-column:1;justify-self:start;order:0}
    nav.top .nav-logo{grid-column:2;justify-self:center;gap:10px;font-size:11px}
    nav.top .nav-logo .lg{width:36px;height:36px}
    /* When sidebar is open, keep logo center + hamburger (now X) on the LEFT */
    body.lock nav.top .row{grid-template-columns:44px 1fr 44px}
  }

  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    .hero-video video{display:none}
    .hero-video{background:linear-gradient(140deg,#2a2a2a 0%,#0a0a0a 100%)}
  }

  @media print{
    .preloader,#mobile-nav,.menu-toggle,.sticky-call,.scroll-prog,nav.top{display:none!important}
    .hero-video{display:none}
  }
