:root{
      --bg:#050505;
      --panel:rgba(12,12,12,.64);
      --panel-strong:rgba(10,10,10,.82);
      --line:rgba(214,177,106,.22);
      --gold:#c89a47;
      --gold-soft:#d7ae65;
      --gold-bright:#efd08e;
      --text:#f3eee4;
      --muted:rgba(243,238,228,.78);
      --nav-h:86px;
      --hero-h:min(740px, 78svh);
      --radius:28px;
      --shadow:0 22px 55px rgba(0,0,0,.34);
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--text);
      background:#050505;
      overflow-x:clip;
    }
    .page{min-height:100svh;background:linear-gradient(180deg,#060606,#030303)}
    .hero{
      position:relative;min-height:var(--hero-h);overflow:hidden;isolation:isolate;background:#060606;
      border-bottom-left-radius:24px;border-bottom-right-radius:24px;
    }
    .bg-layer,.bg-fade,.bg-grid,.bg-glow,.right-orbits,.right-orbits::before,.right-orbits::after{position:absolute;inset:0}
    .bg-layer{
      background-position:right center;background-size:cover;opacity:0;transition:opacity .9s ease, transform 1.3s ease;
      transform:scale(1.02);will-change:opacity, transform;
    }
    .bg-layer.active{opacity:1;transform:scale(1.055)}
    .bg-fade{
      z-index:1;
      background:
        linear-gradient(90deg, rgba(0,0,0,.995) 0%, rgba(0,0,0,.985) 14%, rgba(0,0,0,.94) 26%, rgba(0,0,0,.79) 39%, rgba(0,0,0,.48) 57%, rgba(0,0,0,.20) 74%, rgba(0,0,0,.16) 100%),
        linear-gradient(180deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,.12) 16%, rgba(0,0,0,.14) 76%, rgba(0,0,0,.56) 100%);
    }
    .bg-grid{
      z-index:2;background-image:linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
      background-size:58px 58px;mask-image:linear-gradient(180deg, rgba(0,0,0,.95), rgba(0,0,0,.18));opacity:.28;pointer-events:none;
    }
    .bg-glow{
      z-index:2;background:radial-gradient(circle at 74% 43%, rgba(214,177,106,.21), transparent 20%),radial-gradient(circle at 58% 82%, rgba(214,177,106,.10), transparent 24%);
      filter:blur(10px);opacity:.78;animation:pulse 7s ease-in-out infinite;
    }
    @keyframes pulse{0%,100%{opacity:.55}50%{opacity:.95}}

    .topbar{
      position:fixed;inset:0 0 auto 0;z-index:60;transition:background .35s ease, height .35s ease, border-color .35s ease;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:20px;
      padding:14px 28px;border-bottom:1px solid rgba(214,177,106,.12);
      background:linear-gradient(180deg, rgba(0,0,0,.30), rgba(0,0,0,.05));backdrop-filter:blur(10px);
    }
    .brand{display:flex;align-items:center;gap:14px;min-width:260px}
    .brand-mark{
      width:54px;height:54px;flex:0 0 54px;display:block;overflow:hidden;
      transition:width .3s ease,height .3s ease,transform .4s ease;
    }
    .brand-mark picture{display:block;width:100%;height:100%;line-height:0}
    .brand-mark img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;
      filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
    .brand-mark:hover{transform:translateY(-2px) scale(1.03)}
    .brand-mark:focus-visible{outline:2px solid var(--gold-soft);outline-offset:5px;border-radius:8px}
    .brand-title{font-weight:800;line-height:1;font-size:2rem;letter-spacing:.07em}
    .brand-sub{display:block;margin-top:6px;color:var(--gold-soft);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase}

    .nav{display:flex;align-items:center;justify-content:center;gap:34px;flex:1}
    .nav a,.lang a{color:rgba(243,238,228,.94);text-decoration:none;font-size:1rem;position:relative}
    .nav a.active::after,.nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 0 16px rgba(214,177,106,.35)}
    .actions{display:flex;align-items:center;gap:18px}
    .lang{display:flex;align-items:center;gap:12px;color:rgba(243,238,228,.84)}
    .divider{width:1px;height:18px;background:rgba(255,255,255,.18)}

    .btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden;text-decoration:none;font-weight:700;letter-spacing:.02em;transition:transform .25s ease, box-shadow .25s ease;isolation:isolate}
    .btn:hover{transform:translateY(-2px)}
    .btn svg{width:18px;height:18px}

    .btn-nav{
      min-height:58px;padding:0 28px;color:var(--gold-bright);border:1px solid rgba(214,177,106,.58);background:rgba(8,8,8,.32);
      clip-path:polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
      box-shadow:0 12px 26px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.03);backdrop-filter:blur(10px);
    }
    .btn-nav::before{
      content:"";position:absolute;inset:1px;clip-path:inherit;z-index:-2;
      background:linear-gradient(90deg, rgba(214,177,106,.14), rgba(214,177,106,.03));opacity:.9;
    }
    .btn-nav::after{
      content:"";position:absolute;inset:1px;clip-path:inherit;z-index:-1;opacity:0;
      background:
        radial-gradient(circle at var(--gx,50%) var(--gy,50%), rgba(239,208,142,.46), rgba(214,177,106,.30) 24%, rgba(214,177,106,.14) 46%, transparent 72%),
        linear-gradient(135deg, rgba(214,177,106,.28), rgba(214,177,106,.10) 60%, rgba(255,255,255,.02));
      transition:opacity .28s ease, transform .32s ease;
      transform:scale(.98);
    }
    .btn-nav:hover::after{opacity:1;transform:scale(1)}

    .btn-primary,.btn-secondary{min-height:58px;padding:0 28px;clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);border:1px solid rgba(214,177,106,.42);font-size:1rem}
    .btn-primary{background:linear-gradient(180deg,#ebcc86 0%, #d6ac5b 58%, #c18f36 100%);color:#140e04;box-shadow:0 14px 34px rgba(212,173,86,.2)}
    .btn-secondary{background:rgba(8,8,8,.30);color:var(--text);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
    .btn-secondary:hover{background:rgba(18,18,18,.54)}

    .hero-inner{
      position:relative;z-index:5;min-height:var(--hero-h);display:grid;grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);align-items:center;gap:24px;
      padding:calc(var(--nav-h) + 30px) 34px 126px;
    }
    .copy{max-width:690px;transform:translate3d(calc(var(--mx, 0) * -5px), calc(var(--my, 0) * -4px), 0);transition:transform .18s linear}
    .eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:20px;color:var(--gold-soft);font-size:.88rem;letter-spacing:.24em;text-transform:uppercase}
    .eyebrow::after{content:"";width:132px;height:1px;background:linear-gradient(90deg, rgba(214,177,106,.95), rgba(214,177,106,0));box-shadow:0 0 12px rgba(214,177,106,.38)}
    .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 18px rgba(214,177,106,.65);order:2;margin-left:-5px}
    h1{
      margin:0;max-width:10.2ch;font-family:Georgia, "Times New Roman", serif;
      font-size:clamp(3.55rem, 4.3vw, 5.05rem);line-height:.93;font-weight:500;letter-spacing:-.05em;text-wrap:balance;
      text-shadow:0 2px 18px rgba(0,0,0,.28);
    }
    h1 .gold{color:var(--gold-soft)}
    .lede{max-width:29rem;margin:22px 0 0;color:var(--muted);font-size:clamp(.98rem,1.05vw,1.12rem);line-height:1.7}
    .cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}

    .visual-zone{position:relative;min-height:384px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
    .right-orbits{z-index:1;pointer-events:none;inset:12% 0 18% 44%}
    .right-orbits::before,.right-orbits::after{content:"";border-radius:50%;border:1px solid rgba(214,177,106,.17);width:360px;height:360px;left:40%;top:10%;transform:translateX(-50%);box-shadow:0 0 45px rgba(214,177,106,.08), inset 0 0 25px rgba(214,177,106,.03)}
    .right-orbits::after{width:460px;height:460px;left:43%;top:4%;border-color:rgba(214,177,106,.10)}
    .service-stack{position:relative;z-index:3;width:min(372px, 100%);display:grid;gap:12px;pointer-events:auto;transform:translate3d(calc(var(--mx,0) * 9px), calc(var(--my,0) * 7px), 0);transition:transform .16s linear}

    .service-card{
      position:relative;display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;text-align:left;width:100%;padding:11px 16px 11px 12px;border:none;cursor:pointer;color:var(--text);background:transparent;opacity:.92;
      clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);transition:transform .25s ease, opacity .25s ease, box-shadow .25s ease;
    }
    .service-card::before,.service-card::after{content:"";position:absolute;inset:0;clip-path:inherit}
    .service-card::before{
      background:linear-gradient(180deg, rgba(14,14,14,.56), rgba(10,10,10,.84));
      border:1px solid rgba(214,177,106,.24);
      box-shadow:0 14px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
    }
    .service-card::after{
      inset:1px;background:linear-gradient(90deg, rgba(214,177,106,.08), rgba(214,177,106,.015) 34%, rgba(255,255,255,.01));opacity:.95
    }
    .service-card > *{position:relative;z-index:1}
    .service-card:hover,.service-card.active{transform:translateX(-10px);opacity:1}
    .service-card.active::before{border-color:rgba(214,177,106,.44);box-shadow:0 18px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(214,177,106,.16), inset 0 1px 0 rgba(255,255,255,.05)}
    .service-card.active::after{background:linear-gradient(90deg, rgba(214,177,106,.14), rgba(214,177,106,.03) 40%, rgba(255,255,255,.018))}
    .thumb{width:72px;aspect-ratio:1;border-radius:14px;overflow:hidden;position:relative;border:1px solid rgba(214,177,106,.20);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
    .thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03)}
    .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.18))}
    .card-copy strong{display:block;font-size:1.18rem;font-family:Georgia, serif;font-weight:600;margin-bottom:5px;color:var(--gold-soft);transition:color .3s ease}
    .service-card.active .card-copy strong,.service-card:hover .card-copy strong{color:var(--gold-bright)}
    .card-copy span{display:block;color:rgba(243,238,228,.68);font-size:.9rem;line-height:1.35}

    .trustbar{
      position:absolute;left:34px;right:34px;bottom:24px;z-index:6;display:grid;grid-template-columns:repeat(3, minmax(0,1fr));overflow:hidden;
      clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
      border:1px solid rgba(214,177,106,.16);background:linear-gradient(180deg, rgba(8,8,8,.48), rgba(10,10,10,.8));backdrop-filter:blur(16px);box-shadow:var(--shadow)
    }
    .trust{display:flex;align-items:center;gap:14px;padding:15px 20px;min-height:84px;border-right:1px solid rgba(214,177,106,.13)}
    .trust:last-child{border-right:none}
    .icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--gold-soft);border:1px solid rgba(214,177,106,.34);background:radial-gradient(circle at 50% 12%, rgba(255,255,255,.08), transparent 58%), rgba(255,255,255,.02);flex:0 0 auto}
    .icon svg{width:22px;height:22px}
    .trust strong{display:block;font-size:1.08rem;margin-bottom:4px}
    .trust span{display:block;color:rgba(243,238,228,.72);font-size:.92rem;line-height:1.34}

    .page-counter{position:absolute;right:36px;bottom:118px;z-index:6;display:flex;align-items:center;gap:8px;color:rgba(243,238,228,.72);letter-spacing:.12em;text-transform:uppercase}
    .page-counter .now{font-size:1.55rem;font-family:Georgia, serif;color:var(--gold-soft)}
    .scroll-cue{position:absolute;left:50%;bottom:104px;transform:translateX(-50%);width:22px;height:38px;border-radius:999px;border:1px solid rgba(214,177,106,.42);z-index:6;box-shadow:0 0 18px rgba(214,177,106,.12)}
    .scroll-cue::before{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;border-radius:999px;background:var(--gold-soft);transform:translateX(-50%);animation:scrollDot 1.8s ease-in-out infinite}
    @keyframes scrollDot{0%{transform:translate(-50%,0);opacity:0}25%{opacity:1}75%{transform:translate(-50%,12px);opacity:1}100%{transform:translate(-50%,14px);opacity:0}}

    .reveal > *{opacity:0;transform:translateY(18px);animation:rise .8s cubic-bezier(.2,.65,.2,1) forwards}
    .reveal > *:nth-child(2){animation-delay:.08s}.reveal > *:nth-child(3){animation-delay:.16s}.reveal > *:nth-child(4){animation-delay:.24s}.reveal > *:nth-child(5){animation-delay:.32s}
    @keyframes rise{to{opacity:1;transform:translateY(0)}}

    @media (max-width: 1280px){
      :root{--hero-h:min(560px, 72svh)}
      .topbar{padding-inline:22px}
      .hero-inner{grid-template-columns:1fr;gap:14px;padding:calc(var(--nav-h) + 16px) 22px 52px}
      .copy{max-width:760px}.visual-zone{min-height:190px;justify-content:flex-end}.service-stack{max-width:372px}.trustbar{left:22px;right:22px}.page-counter{right:24px}
    }
    @media (max-width: 980px){
      :root{--hero-h:auto}
      .hero-inner{padding-top:calc(74px + 30px)}.visual-zone{min-height:0;display:block}.service-stack{width:100%;max-width:540px;margin-left:auto}.right-orbits{display:none}
    }
    @media (max-width: 720px){
      .topbar{padding:14px 12px}.brand-title{font-size:1.54rem}.brand-sub{font-size:.64rem;letter-spacing:.16em}.nav a,.lang a,.lang{font-size:.84rem}.btn-nav,.btn-primary,.btn-secondary{min-height:52px;padding:0 20px;font-size:.94rem}.hero-inner{padding:calc(var(--nav-h) + 14px) 14px 44px;gap:12px}.eyebrow{font-size:.74rem;gap:10px;margin-bottom:14px}.eyebrow::after{width:54px}.eyebrow::before{display:none}.copy{max-width:none}h1{font-size:clamp(2.15rem, 8.4vw, 3rem)}.lede{font-size:.98rem;line-height:1.62}.cta-row{gap:12px}.service-card{grid-template-columns:62px 1fr;padding:11px 13px}.thumb{width:62px}.card-copy strong{font-size:1.02rem}.card-copy span{font-size:.83rem}.trustbar{grid-template-columns:1fr;border-radius:18px;left:14px;right:14px;bottom:18px;clip-path:none}.trust{min-height:auto;padding:14px 16px;border-right:none;border-bottom:1px solid rgba(214,177,106,.12)}.trust:last-child{border-bottom:none}.icon{width:44px;height:44px}.page-counter{position:static;justify-content:flex-end;margin:12px 14px 0 0}.scroll-cue{display:none}
    }
  

    /* Core services — section 2 */
    .core-services{
      position:relative;overflow:hidden;padding:64px 34px 68px;color:#171411;
      background:radial-gradient(circle at 14% 8%,rgba(207,164,80,.10),transparent 24%),radial-gradient(circle at 90% 92%,rgba(207,164,80,.08),transparent 24%),linear-gradient(180deg,#f8f3e9 0%,#f3ecdf 100%);
      border-top:1px solid rgba(198,151,66,.22);
    }
    .core-services::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(115deg,transparent 0 49%,rgba(146,110,57,.06) 49.5% 50%,transparent 50.5%),radial-gradient(circle at 20% 30%,rgba(83,62,35,.08) 0 1px,transparent 1.4px);background-size:420px 420px,34px 34px;mix-blend-mode:multiply}
    .core-inner{position:relative;z-index:1;max-width:1460px;margin:0 auto}
    .core-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:70px;align-items:end;margin-bottom:42px}
    .core-kicker{display:flex;align-items:center;gap:15px;color:#9b6f2e;font-size:.88rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase;margin-bottom:18px}
    .core-kicker .mini-mark{width:42px;height:42px;border:1px solid rgba(155,111,46,.42);border-radius:14px;display:grid;place-items:center;color:#a87934;background:rgba(255,255,255,.38)}
    .core-kicker .mini-mark svg{width:20px;height:20px}
    .core-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,4.3vw,5rem);line-height:.98;font-weight:500;letter-spacing:-.045em;max-width:13ch}
    .core-title em{font-style:normal;color:#b7873e}
    .core-intro{position:relative;margin:0 0 7px;padding:15px 0 15px 38px;font-size:1.08rem;line-height:1.65;color:#3e3831;max-width:510px}
    .core-intro::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgba(183,135,62,0),rgba(183,135,62,.95),rgba(183,135,62,0));box-shadow:0 0 15px rgba(183,135,62,.24)}
    .core-intro::after{content:"";position:absolute;left:-4px;top:50%;width:9px;height:9px;border-radius:50%;transform:translateY(-50%);background:#d5ae68;box-shadow:0 0 18px rgba(183,135,62,.55)}
    .core-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
    .core-card{position:relative;min-width:0;overflow:hidden;border-radius:22px;background:#11100e;border:1px solid rgba(177,130,55,.55);box-shadow:0 21px 45px rgba(74,51,22,.14),inset 0 1px 0 rgba(255,255,255,.04);transition:transform .35s ease,box-shadow .35s ease;opacity:0;transform:translateY(36px)}
    .core-card.is-visible{animation:coreRise .76s cubic-bezier(.2,.72,.2,1) forwards}
    .core-card:nth-child(2).is-visible{animation-delay:.1s}.core-card:nth-child(3).is-visible{animation-delay:.2s}
    @keyframes coreRise{to{opacity:1;transform:translateY(0)}}
    .core-card:hover{transform:translateY(-7px);box-shadow:0 28px 58px rgba(74,51,22,.21),0 0 0 1px rgba(191,145,66,.15)}
    .compare{position:relative;height:250px;overflow:hidden;cursor:ew-resize;background:#24211d;touch-action:pan-y}
    .compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;pointer-events:none;transition:transform .7s ease}
    .core-card:hover .compare img{transform:scale(1.035)}
    .compare-static{cursor:default}
    .compare-static .comparison-img{z-index:1;object-position:center center}
    .compare-static::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.03),transparent 52%,rgba(0,0,0,.16));box-shadow:inset 0 0 0 1px rgba(226,190,116,.12)}
    .compare-static .compare-label,.compare-static .card-no{z-index:7}
    .compare .before-img{z-index:1}
    .compare .after-wrap{position:absolute;inset:0;z-index:2;width:52%;overflow:hidden;border-right:1px solid rgba(239,208,142,.95)}
    .compare .after-wrap img{width:var(--compare-width,100%);height:100%;object-fit:cover;object-position:left center;max-width:none}
    .compare-line{position:absolute;left:52%;top:0;bottom:0;z-index:4;width:1px;background:linear-gradient(180deg,transparent 0%,#e6c67c 12%,#f5dda1 50%,#e6c67c 88%,transparent 100%);box-shadow:0 0 18px rgba(219,177,92,.7);transform:translateX(-.5px)}
    .compare-handle{position:absolute;left:52%;top:50%;z-index:5;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);background:linear-gradient(180deg,#e7c779,#bd8433);color:#151009;border:1px solid rgba(255,255,255,.55);box-shadow:0 10px 26px rgba(0,0,0,.28)}
    .compare-handle svg{width:20px;height:20px}
    .compare-label{position:absolute;top:16px;z-index:6;padding:7px 10px;border-radius:999px;background:rgba(10,10,10,.72);backdrop-filter:blur(8px);color:#f4ecd9;font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(215,177,106,.22)}
    .compare-label.before{right:15px}.compare-label.after{left:82px;color:#21170a;background:rgba(230,194,116,.92)}
    .card-no{position:absolute;top:14px;left:14px;z-index:7;width:55px;height:55px;border-radius:17px;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.55rem;color:#e0bd73;background:linear-gradient(180deg,rgba(13,13,12,.88),rgba(13,13,12,.72));border:1px solid rgba(204,158,74,.45);box-shadow:0 12px 28px rgba(0,0,0,.24)}
    .core-card-body{position:relative;padding:24px 24px 22px;color:#f2ecdf;background:linear-gradient(180deg,#171613 0%,#10100e 100%);min-height:372px;display:flex;flex-direction:column}
    .core-card-body::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,177,94,.68),transparent)}
    .core-card-title-row{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;margin-bottom:18px}
    .core-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#ddb96b;border:1px solid rgba(205,158,77,.52);background:linear-gradient(160deg,rgba(202,151,70,.11),rgba(255,255,255,.01))}
    .core-icon svg{width:25px;height:25px}
    .core-card h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.62rem;line-height:1.04;font-weight:600}
    .core-card h3 span{color:#d4aa5f}
    .service-facts{display:grid;gap:12px;margin:0;padding:0;list-style:none}
    .service-facts li{display:grid;grid-template-columns:31px 1fr;gap:10px;align-items:start;color:rgba(242,236,223,.77);font-size:.91rem;line-height:1.43}
    .fact-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(205,158,77,.44);color:#d8ae61;margin-top:1px}
    .fact-icon svg{width:13px;height:13px}
    .service-facts strong{color:#d8ae61;font-weight:750;margin-right:6px}
    .explore-link{margin-top:auto;padding-top:17px;border-top:1px solid rgba(217,178,96,.18);display:flex;align-items:center;justify-content:space-between;color:#d9af62;text-decoration:none;font-weight:750;font-size:.98rem;transition:color .25s ease,padding-left .25s ease}
    .explore-link:hover{color:#f1d595;padding-left:5px}
    .explore-link svg{width:21px;height:21px;transition:transform .25s ease}.explore-link:hover svg{transform:translateX(5px)}
    .card-glow{position:absolute;left:15%;right:15%;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,#e1bd70,transparent);box-shadow:0 -2px 16px rgba(216,172,84,.55);opacity:.8}
    @media(max-width:1120px){.core-services{padding-inline:22px}.core-head{grid-template-columns:1fr;gap:20px}.core-title{max-width:16ch}.core-intro{max-width:700px}.core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.core-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px);margin-inline:auto;width:100%}}
    @media(max-width:760px){.core-services{padding:50px 14px 56px}.core-title{font-size:clamp(2.6rem,11vw,3.7rem)}.core-intro{padding-left:24px;font-size:1rem}.core-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 4px 14px;scrollbar-width:none}.core-grid::-webkit-scrollbar{display:none}.core-card{flex:0 0 88%;scroll-snap-align:center}.core-card:last-child{max-width:none;margin:0}.compare{height:228px}.core-card-body{min-height:385px;padding:21px 20px}.core-card h3{font-size:1.45rem}}

    /* Technology standards — compact section 3 */
    .tech-standards{
      position:relative;
      overflow:hidden;
      padding:50px 34px 55px;
      color:#f4ede0;
      background:
        radial-gradient(circle at 14% 0%,rgba(205,158,73,.09),transparent 25%),
        linear-gradient(180deg,#0c0b09 0%,#070706 100%);
      border-top:1px solid rgba(208,163,79,.24);
      isolation:isolate;
    }
    .tech-standards::before{
      content:"";position:absolute;inset:0;z-index:-1;opacity:.22;
      background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
      background-size:54px 54px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.28));
    }
    .tech-standards::after{
      content:"";position:absolute;left:0;right:0;top:0;height:1px;
      background:linear-gradient(90deg,transparent 7%,rgba(224,185,105,.68) 50%,transparent 93%);
      box-shadow:0 0 16px rgba(218,172,84,.20);
    }
    .tech-shell{position:relative;z-index:1;max-width:1460px;margin:0 auto}
    .tech-head{
      display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:54px;align-items:end;margin-bottom:28px;
    }
    .tech-kicker{
      display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#d0a65c;font-size:.76rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
    }
    .tech-kicker::before{content:"";width:28px;height:1px;background:#d0a65c;box-shadow:0 0 10px rgba(218,172,84,.26)}
    .tech-kicker::after{content:"";width:72px;height:1px;background:linear-gradient(90deg,rgba(213,168,83,.75),transparent)}
    .tech-title{
      margin:0;max-width:18ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,3.2vw,3.75rem);line-height:1.01;font-weight:500;letter-spacing:-.04em;
    }
    .tech-title em{font-style:normal;color:#d4ad67}
    .tech-intro{
      position:relative;margin:0 0 3px;max-width:620px;padding:11px 0 11px 27px;color:rgba(244,237,224,.70);font-size:.96rem;line-height:1.62;
    }
    .tech-intro::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(220,178,94,.82),transparent)}
    .tech-head > *{opacity:0;transform:translateY(18px);transition:opacity .68s ease,transform .68s cubic-bezier(.2,.72,.2,1)}
    .tech-head.is-visible > *{opacity:1;transform:none}
    .tech-head.is-visible > :nth-child(2){transition-delay:.12s}
    .tech-kicker{overflow:hidden}
    .tech-kicker::before{transform-origin:left center;transform:scaleX(0);transition:transform .72s .2s cubic-bezier(.2,.72,.2,1)}
    .tech-head.is-visible .tech-kicker::before{transform:scaleX(1)}
    .tech-title em{display:inline-block;background:linear-gradient(90deg,#c89b4c,#f0d391,#c89b4c);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:techGoldFlow 7s linear infinite}
    @keyframes techGoldFlow{to{background-position:220% center}}

    .tech-grid{
      position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;perspective:1200px;isolation:isolate;
    }
    .tech-grid::before{
      content:"";position:absolute;left:1.5%;right:1.5%;top:-7px;height:1px;z-index:4;pointer-events:none;
      background:linear-gradient(90deg,transparent,rgba(219,174,87,.72) 12%,rgba(219,174,87,.18) 88%,transparent);
      transform:scaleX(0);transform-origin:left;transition:transform 1s .18s cubic-bezier(.2,.72,.2,1);
    }
    .tech-grid.is-visible::before{transform:scaleX(1)}
    .tech-grid::after{
      content:"";position:absolute;top:-10px;left:0;width:150px;height:7px;z-index:5;pointer-events:none;opacity:0;
      background:radial-gradient(ellipse at center,rgba(246,208,129,.78),rgba(209,160,70,.24) 44%,transparent 72%);filter:blur(2px);
    }
    .tech-grid.is-visible::after{opacity:1;animation:techRail 6.8s 1.1s linear infinite}
    @keyframes techRail{0%{transform:translateX(-170px)}100%{transform:translateX(calc(1460px - 10px))}}

    .tech-card{
      --px:0px;--py:0px;position:relative;min-width:0;overflow:hidden;border-radius:20px;border:1px solid rgba(205,159,76,.23);
      background:linear-gradient(180deg,rgba(18,17,14,.97),rgba(8,8,7,.99));
      box-shadow:0 20px 42px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.03);
      opacity:0;transform:translateY(28px) scale(.975) rotateX(2deg);transform-origin:center bottom;
      transition:transform .48s cubic-bezier(.2,.72,.2,1),border-color .35s ease,box-shadow .48s ease,filter .35s ease;
    }
    .tech-card::after{
      content:"";position:absolute;z-index:6;inset:-35% -85%;pointer-events:none;opacity:0;
      background:linear-gradient(105deg,transparent 42%,rgba(255,238,193,.20) 49%,rgba(211,166,79,.14) 52%,transparent 59%);
      transform:translateX(-28%) rotate(2deg);
    }
    .tech-card.is-visible{animation:techCardIn .76s cubic-bezier(.2,.72,.2,1) forwards}
    .tech-card:nth-child(2).is-visible{animation-delay:.09s}.tech-card:nth-child(3).is-visible{animation-delay:.18s}.tech-card:nth-child(4).is-visible{animation-delay:.27s}
    @keyframes techCardIn{70%{opacity:1;transform:translateY(-3px) scale(1.006) rotateX(0)}100%{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}
    .tech-card:hover,.tech-card.is-active{transform:translateY(-7px) scale(1.008);border-color:rgba(220,178,94,.50);box-shadow:0 28px 58px rgba(0,0,0,.30),0 0 0 1px rgba(213,168,83,.09),0 0 30px rgba(189,139,49,.07)}
    .tech-card.is-active::after{opacity:1;animation:techShine 1.15s ease forwards}
    @keyframes techShine{0%{transform:translateX(-36%) rotate(2deg)}100%{transform:translateX(36%) rotate(2deg);opacity:0}}
    .tech-card-media{position:relative;height:176px;overflow:hidden;background:#151410}
    .tech-card-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.025) translate3d(var(--px),var(--py),0);transition:transform 1s cubic-bezier(.2,.72,.2,1),filter .55s ease;filter:saturate(.88) contrast(1.02) brightness(.94)}
    .tech-card:hover .tech-card-media img,.tech-card.is-active .tech-card-media img{transform:scale(1.075) translate3d(var(--px),var(--py),0);filter:saturate(1.02) contrast(1.05) brightness(1.02)}
    .tech-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.06) 45%,rgba(0,0,0,.68));pointer-events:none}
    .tech-card-no{
      position:absolute;z-index:2;left:14px;top:14px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
      color:#e2bd74;font-family:Georgia,serif;font-size:1.25rem;border:1px solid rgba(209,164,78,.48);background:rgba(7,7,6,.68);backdrop-filter:blur(10px);
    }
    .tech-card-country{
      position:absolute;z-index:2;right:14px;top:16px;padding:7px 9px;border-radius:999px;color:#efd39b;background:rgba(7,7,6,.64);border:1px solid rgba(209,164,78,.24);
      font-size:.62rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;backdrop-filter:blur(10px);transition:transform .4s ease,background .4s ease,border-color .4s ease;
    }
    .tech-card-no{transition:transform .45s cubic-bezier(.2,.72,.2,1),box-shadow .45s ease,background .45s ease}
    .tech-card.is-active .tech-card-no,.tech-card:hover .tech-card-no{transform:translateY(-2px) rotate(-3deg);background:rgba(18,14,8,.84);box-shadow:0 0 24px rgba(214,173,88,.22)}
    .tech-card.is-active .tech-card-country,.tech-card:hover .tech-card-country{transform:translateY(-2px);background:rgba(31,23,10,.80);border-color:rgba(226,183,96,.42)}
    .tech-card-body{padding:20px 18px 17px;display:flex;flex-direction:column;min-height:255px}
    .tech-card-brand,.tech-card h3,.tech-card-desc,.tech-card-tags,.tech-card-foot{transition:transform .45s cubic-bezier(.2,.72,.2,1),opacity .45s ease}
    .tech-card.is-active .tech-card-brand,.tech-card:hover .tech-card-brand{transform:translateX(3px)}
    .tech-card.is-active h3,.tech-card:hover h3{transform:translateX(3px)}
    .tech-card.is-active .tech-card-tags .tech-card-tag,.tech-card:hover .tech-card-tags .tech-card-tag{border-color:rgba(218,174,88,.34);background:rgba(213,168,83,.055)}
    .tech-card-brand{margin:0 0 7px;color:#d1a65b;font-size:.67rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
    .tech-card h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.47rem;line-height:1.07;font-weight:500;letter-spacing:-.025em}
    .tech-card h3 span{color:#d4ad67}
    .tech-card-desc{margin:13px 0 0;color:rgba(244,237,224,.67);font-size:.84rem;line-height:1.53}
    .tech-card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
    .tech-card-tag{padding:6px 8px;border-radius:999px;color:rgba(244,237,224,.68);border:1px solid rgba(209,164,78,.18);background:rgba(255,255,255,.02);font-size:.64rem;line-height:1}
    .tech-card-foot{margin-top:auto;padding-top:15px;border-top:1px solid rgba(209,164,78,.14);display:flex;align-items:center;justify-content:space-between;gap:10px;color:rgba(244,237,224,.46);font-size:.67rem}
    .tech-card-foot strong{display:inline-flex;align-items:center;gap:7px;color:#d1aa65;font-weight:700}
    .tech-card-foot strong::before{content:"";width:7px;height:7px;border:1px solid currentColor;transform:rotate(45deg)}
    .tech-note{margin:14px 2px 0;color:rgba(244,237,224,.40);font-size:.68rem;line-height:1.5}
    @media(max-width:1160px){
      .tech-standards{padding-inline:22px}.tech-head{grid-template-columns:1fr;gap:16px}.tech-title{max-width:19ch}.tech-intro{max-width:760px}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-card-media{height:205px}.tech-card-body{min-height:232px}
    }
    @media(max-width:760px){
      .tech-standards{padding:48px 14px 52px}.tech-title{font-size:clamp(2.35rem,10.6vw,3.2rem)}.tech-intro{padding-left:22px;font-size:.92rem}.tech-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:13px;padding:0 4px 12px;scrollbar-width:none}.tech-grid::-webkit-scrollbar{display:none}.tech-card{flex:0 0 84%;scroll-snap-align:center}.tech-card-media{height:190px}.tech-card-body{min-height:248px}.tech-card h3{font-size:1.35rem}.tech-note{font-size:.64rem}
    }
    @media(prefers-reduced-motion:reduce){.tech-card,.tech-card::after,.tech-card-media img,.tech-grid::after,.tech-title em{transition:none!important;animation:none!important}.tech-card,.tech-head>*{opacity:1;transform:none}.tech-grid::before{transform:scaleX(1)}}

/* Why Choose Sakafu: compact company brief + reserved visual panels */

.about-sakafu{position:relative;overflow:hidden;padding:52px 34px 46px;color:#18150f;background:linear-gradient(135deg,#f7f2e9 0%,#eadfce 100%);isolation:isolate}
.about-sakafu:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(133,98,42,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(133,98,42,.04) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 86%,transparent)}
.about-sakafu:after{content:"";position:absolute;right:-190px;top:-330px;width:620px;height:620px;border-radius:50%;z-index:-1;border:1px solid rgba(176,128,47,.13);box-shadow:0 0 0 88px rgba(176,128,47,.025),0 0 0 176px rgba(176,128,47,.014)}
.about-shell{max-width:1460px;margin:auto}
.about-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(620px,1.18fr);gap:58px;align-items:center}
.about-copy{max-width:610px}
.about-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#986a21;font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.about-kicker:before{content:"";width:30px;height:1px;background:#b37f2d}.about-kicker:after{content:"";width:70px;height:1px;background:linear-gradient(90deg,#b37f2d,transparent)}
.about-title{margin:0;max-width:14ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.55rem,3.35vw,3.7rem);line-height:1;font-weight:500;letter-spacing:-.045em}.about-title em{font-style:normal;color:#ad7828}
.about-copy p{margin:17px 0 0;color:#5d564b;font-size:.98rem;line-height:1.68;max-width:590px}
.about-copy p+p{margin-top:10px}
.about-more{display:inline-flex;align-items:center;gap:12px;margin-top:21px;color:#8d611d;text-decoration:none;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.about-more:after{content:"→";font-size:1.05rem;transition:transform .25s ease}.about-more:hover:after{transform:translateX(5px)}
.about-timeline{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(111,82,39,.17)}
.about-timeline:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,#b47d27 0 33%,rgba(180,125,39,.18) 33%)}
.about-step{position:relative;padding-top:9px}.about-step:before{content:"";position:absolute;top:-30px;left:0;width:9px;height:9px;border-radius:50%;background:#c18e39;border:5px solid #f1e8da;box-shadow:0 0 0 1px rgba(150,103,31,.34),0 0 18px rgba(180,125,39,.18)}
.about-step strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.02rem;color:#2b251d;margin-bottom:4px}.about-step span{display:block;color:#746a5d;font-size:.76rem;line-height:1.42}
.about-visual{--ax:0px;--ay:0px;position:relative;height:372px;border-radius:30px;overflow:hidden;border:1px solid rgba(191,145,67,.34);background:#0b0b09;box-shadow:0 28px 60px rgba(75,48,12,.18);opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.about-sakafu.is-visible .about-visual{opacity:1;transform:translateY(0)}
.about-slices{display:flex;height:100%;width:100%}
.about-slice{position:relative;flex:1 1 0;min-width:0;border:0;border-right:1px solid rgba(214,177,106,.24);padding:0;overflow:hidden;background:#111;cursor:pointer;transition:flex .72s cubic-bezier(.2,.72,.2,1),filter .4s ease;filter:saturate(.72) brightness(.72)}
.about-slice:last-child{border-right:0}.about-slice.active{flex:3.25 1 0;filter:saturate(1) brightness(.92)}
.about-slice img{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);object-fit:cover;transform:translate3d(var(--ax),var(--ay),0) scale(1.08);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .45s ease;filter:contrast(1.03)}
.about-slice.active img{transform:translate3d(var(--ax),var(--ay),0) scale(1.025)}
.about-slice:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.04) 44%,rgba(0,0,0,.84));transition:background .4s ease}.about-slice.active:before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.02) 44%,rgba(0,0,0,.76))}
.about-slice:after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#d0a255,transparent);transform:scaleX(0);transition:transform .55s ease}.about-slice.active:after{transform:scaleX(1)}
.about-slice-index{position:absolute;z-index:3;left:17px;top:67px;color:#efd08e;font-family:Georgia,"Times New Roman",serif;font-size:1rem;opacity:.7}
.about-slice-copy{position:absolute;z-index:3;left:18px;right:18px;bottom:20px;text-align:left;transform:translateY(10px);opacity:.4;transition:opacity .42s ease,transform .42s ease}
.about-slice.active .about-slice-copy{opacity:1;transform:translateY(0)}
.about-slice-copy small{display:block;color:#d4aa61;font-size:.63rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.about-slice-copy strong{display:block;color:#f4efe6;font-family:Georgia,"Times New Roman",serif;font-size:1.26rem;line-height:1.06;font-weight:600}.about-slice-copy span{display:block;margin-top:6px;color:rgba(244,239,230,.72);font-size:.78rem;line-height:1.42;max-width:260px}
.about-frame-top{position:absolute;z-index:5;left:18px;right:18px;top:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#ead0a0;font-size:.64rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;pointer-events:none}.about-frame-top:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:1px;background:linear-gradient(90deg,rgba(214,177,106,.58),rgba(214,177,106,.04))}.about-frame-top b{font-weight:800}.about-frame-top span{color:rgba(244,239,230,.58)}
.about-year{position:absolute;z-index:6;right:18px;bottom:18px;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;text-align:center;color:#efd08e;background:rgba(7,7,6,.72);border:1px solid rgba(214,177,106,.34);backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.25);pointer-events:none}.about-year strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;line-height:1}.about-year span{display:block;margin-top:4px;color:rgba(244,239,230,.55);font-size:.48rem;letter-spacing:.14em;text-transform:uppercase}
.about-route{position:absolute;z-index:5;left:18px;right:102px;bottom:15px;height:1px;background:rgba(214,177,106,.18);pointer-events:none}.about-route i{position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:#efcf8b;box-shadow:0 0 18px rgba(239,207,139,.68);transform:translate(-50%,-50%);animation:aboutRoute 6s ease-in-out infinite}@keyframes aboutRoute{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
@media(max-width:1120px){.about-sakafu{padding-inline:22px}.about-layout{grid-template-columns:1fr;gap:32px}.about-copy{max-width:820px}.about-title{max-width:18ch}.about-visual{height:400px}.about-timeline{max-width:780px}}
@media(max-width:720px){.about-sakafu{padding:40px 14px 42px}.about-title{font-size:clamp(2.25rem,10vw,3rem)}.about-copy p{font-size:.92rem}.about-timeline{gap:10px}.about-step strong{font-size:.9rem}.about-step span{font-size:.7rem}.about-visual{height:385px;border-radius:22px}.about-slice.active{flex:5 1 0}.about-slice-index{top:63px;left:11px}.about-slice-copy{left:12px;right:12px;bottom:17px}.about-slice-copy strong{font-size:1.05rem}.about-slice-copy span{display:none}.about-frame-top{left:12px;right:12px;font-size:.55rem}.about-year{width:62px;height:62px;right:12px;bottom:12px}.about-route{left:12px;right:84px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.about-visual,.about-slice,.about-slice img,.about-slice-copy,.about-more:after{transition:none!important}.about-route i{animation:none!important;left:100%}}

/* ============================================================
   STICKY NAV — scrolled state + mobile burger
   ============================================================ */
.topbar.is-stuck{height:70px;background:rgba(6,6,6,.92);border-bottom-color:rgba(214,177,106,.2);box-shadow:0 14px 40px rgba(0,0,0,.42)}
.topbar.is-stuck .brand-mark{width:44px;height:44px;flex-basis:44px}
.topbar.is-stuck .brand-title{font-size:1.6rem}
.topbar.is-stuck .brand-sub{font-size:.62rem;margin-top:4px}
.topbar.is-stuck .btn-nav{min-height:46px;padding:0 22px;font-size:.9rem}
.nav-toggle{display:none;width:48px;height:48px;flex:0 0 auto;align-items:center;justify-content:center;background:rgba(8,8,8,.4);border:1px solid rgba(214,177,106,.4);border-radius:13px;cursor:pointer;padding:0}
.nav-toggle span{display:block;position:relative;width:20px;height:2px;border-radius:2px;background:var(--gold-bright);transition:background .2s ease}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;border-radius:2px;background:var(--gold-bright);transition:transform .3s ease}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

@media(max-width:1180px){
  .topbar{height:74px;padding:10px 16px;flex-wrap:nowrap;justify-content:space-between}
  .topbar.is-stuck{height:66px}
  .brand{min-width:0;flex:1 1 auto;gap:10px;overflow:hidden}
  .brand-title,.brand-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .brand-mark{flex:0 0 44px;width:44px;height:44px}
  .brand-title{font-size:1.5rem}
  .nav-toggle{display:inline-flex}
  .nav{position:fixed;top:74px;left:0;right:0;z-index:55;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;
    padding:10px 16px 22px;background:rgba(6,6,6,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(214,177,106,.2);
    transform:translateY(-14px);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease, transform .3s ease, visibility .3s}
  .nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto;visibility:visible}
  .nav a{padding:15px 4px;border-bottom:1px solid rgba(214,177,106,.1);font-size:1.02rem}
  .nav a.active::after,.nav a:hover::after{left:0;right:auto;bottom:11px;width:26px}
  .actions{gap:10px}
  .actions .lang{display:none}
  .btn-nav{min-height:46px;padding:0 17px;font-size:.86rem;clip-path:none;border-radius:999px;
    max-width:none;overflow:visible}
  .btn-nav::before,.btn-nav::after{border-radius:inherit}
  .btn-nav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .btn-nav svg{display:none}
  .hero-inner{padding-top:calc(74px + 26px)}
}
@media(max-width:600px){
  .brand-sub{display:none}
  .btn-nav span{font-size:.8rem}
}

/* ============================================================
   WHY CHOOSE SAKAFU  —  "the surface polishes as you read"
   Signature: sticky stone panel that grinds matte -> mirror
   as the four client points are read. Right column uses a
   hairline ledger, not cards.
   ============================================================ */
.wcs{position:relative;padding:53px 34px 47px;background:linear-gradient(180deg,#070706 0%,#0b0a08 46%,#070706 100%);color:var(--text);overflow:hidden;isolation:isolate}
.wcs::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 22% 26%,rgba(214,177,106,.11),transparent 42%),radial-gradient(circle at 84% 78%,rgba(214,177,106,.06),transparent 46%)}
.wcs-shell{position:relative;z-index:1;max-width:1460px;margin:auto}
.wcs-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:64px;align-items:start}

/* --- left: sticky polishing panel --- */
.wcs-left{position:sticky;top:120px}
.wcs-kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--gold-soft);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.wcs-kicker::before{content:"";width:30px;height:1px;background:var(--gold)}
.wcs-kicker::after{content:"";width:64px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.wcs-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,3.3vw,3.6rem);line-height:1.01;font-weight:500;letter-spacing:-.045em;max-width:13ch}
.wcs-title em{font-style:normal;color:var(--gold-soft)}
.wcs-lede{margin:18px 0 0;max-width:44ch;color:rgba(243,238,228,.7);font-size:.97rem;line-height:1.66}

.wcs-panel{position:relative;margin-top:32px;height:330px;border-radius:22px;overflow:hidden;border:1px solid rgba(214,177,106,.22);box-shadow:0 26px 60px rgba(0,0,0,.5)}
.wcs-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.wcs-raw{filter:saturate(.62) brightness(.72) contrast(.92)}
.wcs-polished{opacity:var(--polish,0);transition:opacity .18s linear}
.wcs-sheen{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(104deg,transparent 34%,rgba(239,208,142,calc(.02 + var(--polish,0) * .3)) 47%,rgba(255,248,232,calc(.03 + var(--polish,0) * .38)) 51%,rgba(239,208,142,calc(.02 + var(--polish,0) * .3)) 55%,transparent 68%);
  transform:translateX(calc(-46% + var(--polish,0) * 92%));transition:transform .18s linear}
.wcs-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,transparent 26%,transparent 62%,rgba(0,0,0,.62) 100%)}
.wcs-rail{position:absolute;left:20px;right:20px;bottom:20px;z-index:3;height:2px;border-radius:2px;background:rgba(243,238,228,.16);overflow:hidden}
.wcs-rail i{display:block;height:100%;width:calc(var(--polish,0) * 100%);border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 0 16px rgba(214,177,106,.5);transition:width .18s linear}
.wcs-stage{position:absolute;left:20px;bottom:34px;z-index:3;color:var(--gold-bright);font-size:.62rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.7)}

/* --- right: hairline ledger --- */
.wcs-list{--rail:40px;--dot:11px;position:relative;margin:0;padding:0 0 0 var(--rail);list-style:none}
.wcs-list::before{content:"";position:absolute;left:0;top:var(--rail-top,43px);height:var(--rail-h,calc(100% - 86px));
  width:1px;background:rgba(214,177,106,.18)}
.wcs-list::after{content:"";position:absolute;left:0;top:var(--rail-top,43px);width:1px;
  height:calc(var(--fill,0) * var(--rail-h,100%));max-height:var(--rail-h,100%);
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));box-shadow:0 0 14px rgba(214,177,106,.45);transition:height .3s ease}
.wcs-item{position:relative;padding:30px 0;border-bottom:1px solid rgba(243,238,228,.09);opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.wcs-item:last-child{border-bottom:none}
.wcs-item.is-visible{opacity:1;transform:none}
.wcs-item::before{content:"";position:absolute;left:calc(var(--rail) * -1 - (var(--dot) / 2) + .5px);top:38px;
  width:var(--dot);height:var(--dot);border-radius:50%;background:#0b0a08;border:1px solid rgba(214,177,106,.4);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .4s ease}
.wcs-item.is-lit::before{background:var(--gold-bright);border-color:var(--gold-bright);box-shadow:0 0 0 4px rgba(214,177,106,.14),0 0 18px rgba(214,177,106,.6);transform:scale(1.1)}
.wcs-item h3{margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:1.42rem;line-height:1.16;font-weight:500;letter-spacing:-.02em;color:#f3eee4;transition:color .4s ease}
.wcs-item.is-lit h3{color:var(--gold-bright)}
.wcs-item p{margin:0;max-width:52ch;color:rgba(243,238,228,.7);font-size:.96rem;line-height:1.68}

/* ============================================================
   TECHNICAL HERITAGE — spec band (sub-block of Why Choose Us)
   ============================================================ */
.heritage{position:relative;z-index:1;max-width:1460px;margin:56px auto 0;padding-top:38px;border-top:1px solid rgba(214,177,106,.2)}
.heritage::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:linear-gradient(90deg,var(--gold-bright),transparent);box-shadow:0 0 12px rgba(214,177,106,.4);transition:width 1.3s cubic-bezier(.2,.7,.3,1)}
.heritage.is-visible::before{width:34%}
.heritage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 32px;margin-bottom:30px}
.heritage-head h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,2.2vw,2.3rem);line-height:1.06;font-weight:500;letter-spacing:-.035em}
.heritage-head h3 em{font-style:normal;color:var(--gold-soft)}
.heritage-scale{display:flex;align-items:baseline;gap:10px;justify-self:end;text-align:right}
.heritage-scale strong{font-family:Georgia,serif;font-size:2.6rem;line-height:1;color:var(--gold-soft);letter-spacing:-.04em}
.heritage-scale span{color:rgba(243,238,228,.5);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;max-width:11ch;text-align:left;line-height:1.3}
.heritage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:start}
.heritage-col{position:relative;padding:2px 26px 0;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.heritage.is-visible .heritage-col{opacity:1;transform:none}
.heritage.is-visible .heritage-col:nth-child(2){transition-delay:.1s}
.heritage.is-visible .heritage-col:nth-child(3){transition-delay:.2s}
.heritage.is-visible .heritage-col:nth-child(4){transition-delay:.3s}
.heritage-col:first-child{padding-left:0}
.heritage-col:last-child{padding-right:0}
.heritage-col+.heritage-col::before{content:"";position:absolute;left:0;top:4px;bottom:2px;width:1px;background:linear-gradient(180deg,rgba(214,177,106,.3),rgba(214,177,106,.04))}
.heritage-col h4{margin:0 0 10px;min-height:2.4em;display:flex;align-items:flex-start;font-family:Georgia,"Times New Roman",serif;font-size:1.14rem;line-height:1.2;font-weight:600;color:#f3eee4}
.heritage-col p{margin:0;color:rgba(243,238,228,.64);font-size:.88rem;line-height:1.62}

@media(max-width:1120px){
  .wcs{padding:58px 22px 56px}
  .wcs-layout{grid-template-columns:1fr;gap:38px}
  .wcs-left{position:static}
  .wcs-title{max-width:18ch}
  .wcs-panel{height:280px}
  .heritage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}
  .heritage-col:nth-child(odd){padding-left:0}
  .heritage-col:nth-child(even){padding-right:0}
  .heritage-col:nth-child(3)::before{display:none}
}
@media(max-width:720px){
  .wcs{padding:46px 14px 48px}
  .wcs-title{font-size:clamp(2.2rem,10vw,2.9rem)}
  .wcs-lede{font-size:.92rem}
  .wcs-panel{height:210px;border-radius:18px;margin-top:26px}
  .wcs-list{--rail:28px}
  .wcs-item{padding:22px 0}
  .wcs-item::before{left:-33px;top:29px;width:9px;height:9px}
  .wcs-item h3{font-size:1.24rem}
  .wcs-item p{font-size:.9rem}
  .heritage{margin-top:52px;padding-top:34px}
  .heritage-grid{grid-template-columns:1fr;gap:26px}
  .heritage-col{padding:0}
  .heritage-col+.heritage-col::before{left:0;right:auto;top:-13px;bottom:auto;width:46px;height:1px;background:linear-gradient(90deg,rgba(214,177,106,.32),transparent)}
  }
@media(prefers-reduced-motion:reduce){
  .wcs-item,.heritage-col,.wcs-sheen,.wcs-polished,.wcs-rail i,.heritage::before{transition:none!important}
  .wcs-item,.heritage-col{opacity:1;transform:none}
  .nav{transition:none!important}
}

/* ============================================================
/* ============================================================
   CLIENTS — white plate, slow gold light tracing the border
   ============================================================ */
.clients{position:relative;padding:52px 34px 56px;background:linear-gradient(180deg,#0a0908,#0d0b09)}
.clients-plate{position:relative;max-width:1300px;margin:auto;border-radius:26px;padding:2px;isolation:isolate;overflow:hidden}
.clients-plate::before{content:"";position:absolute;z-index:0;left:50%;top:50%;width:180%;aspect-ratio:1;
  transform:translate(-50%,-50%);border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg,transparent 262deg,rgba(200,154,71,.5) 300deg,#efd08e 334deg,rgba(239,208,142,.9) 344deg,rgba(200,154,71,.42) 356deg,transparent 360deg);
  animation:clientsTrace 9s linear infinite}
@keyframes clientsTrace{to{transform:translate(-50%,-50%) rotate(360deg)}}
.clients-plate::after{content:"";position:absolute;z-index:0;inset:0;border-radius:26px;
  border:1px solid rgba(214,177,106,.26);pointer-events:none}
.clients-inner{position:relative;z-index:1;border-radius:24px;overflow:hidden;
  background:linear-gradient(178deg,#fffefb 0%,#fbf8f2 100%);padding:30px 0 34px}
.clients-label{display:block;text-align:center;margin-bottom:24px;color:#96703a;
  font-size:.66rem;font-weight:800;letter-spacing:.26em;text-transform:uppercase}
.clients-viewport{position:relative;overflow:hidden}
.clients-viewport::before,.clients-viewport::after{content:"";position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none}
.clients-viewport::before{left:0;background:linear-gradient(90deg,#fffefb,rgba(255,254,251,0))}
.clients-viewport::after{right:0;background:linear-gradient(270deg,#fbf8f2,rgba(251,248,242,0))}
.clients-track{display:flex;width:max-content;align-items:center;animation:marquee 52s linear infinite}
.clients-plate:hover .clients-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.client-logo{flex:0 0 auto;display:grid;place-items:center;width:172px;height:72px;margin:0 4px}
.client-logo img{max-width:100%;object-fit:contain;display:block;opacity:1;
  transition:transform .45s cubic-bezier(.22,.75,.25,1)}
.client-logo:hover img{transform:scale(1.07)}

@media(max-width:1000px){
  .clients{padding:42px 22px 46px}
  .clients-plate{border-radius:22px}
  .clients-inner{border-radius:20px;padding:26px 0 28px}
  .client-logo{width:150px;height:66px;margin:0 3px}
  .clients-viewport::before,.clients-viewport::after{width:60px}
}
@media(max-width:600px){
  .clients{padding:34px 14px 38px}
  .client-logo{width:124px;height:60px;margin:0 2px}
  .clients-label{font-size:.6rem;letter-spacing:.2em}
}
@media(prefers-reduced-motion:reduce){
  .clients-track,.clients-plate::before{animation:none!important}
  .client-logo img{opacity:1}
}

/* ============================================================
   REQUEST ASSESSMENT — CTA + form
   ============================================================ */
.assess{position:relative;padding:53px 34px 55px;overflow:hidden;isolation:isolate;
  background:linear-gradient(168deg,#141210,#0e0d0b 58%,#131110)}
.assess-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.62;transform:scale(1.04)}
.assess::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(8,8,7,.86) 0%,rgba(8,8,7,.66) 42%,rgba(8,8,7,.44) 100%),
             radial-gradient(circle at 78% 30%,rgba(214,177,106,.12),transparent 44%)}
.assess-shell{position:relative;z-index:2;max-width:1460px;margin:auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:58px;align-items:start}
.assess-kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--gold-soft);font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.assess-kicker::before{content:"";width:30px;height:1px;background:var(--gold)}
.assess-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,3.3vw,3.6rem);line-height:1;font-weight:500;letter-spacing:-.045em;max-width:13ch}
.assess-title em{font-style:normal;color:var(--gold-soft)}
.assess-copy{margin:20px 0 0;max-width:46ch;color:rgba(246,242,234,.88);font-size:.98rem;line-height:1.68}
.assess-promise{margin-top:26px;padding-top:22px;border-top:1px solid rgba(214,177,106,.2);display:grid;gap:13px}
.assess-promise div{display:flex;gap:12px;align-items:flex-start;color:rgba(243,238,228,.76);font-size:.9rem;line-height:1.55}
.assess-promise svg{width:17px;height:17px;flex:0 0 auto;margin-top:2px;color:var(--gold-soft)}
.assess-direct{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.assess-direct a{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;text-decoration:none;
  color:var(--text);font-size:.9rem;font-weight:600;border:1px solid rgba(214,177,106,.5);background:rgba(28,25,20,.6);transition:border-color .25s ease,background .25s ease,transform .25s ease}
.assess-direct a:hover{border-color:rgba(214,177,106,.6);background:rgba(18,17,15,.7);transform:translateY(-2px)}
.assess-direct svg{width:16px;height:16px;color:var(--gold-soft)}

.assess-form{padding:34px 32px 32px;border-radius:24px;border:1px solid rgba(214,177,106,.42);
  background:linear-gradient(165deg,rgba(14,13,12,.9),rgba(8,8,7,.94));backdrop-filter:blur(14px);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.assess-form h3{margin:0 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:1.42rem;font-weight:500;letter-spacing:-.02em}
.assess-form>p{margin:0 0 24px;color:rgba(243,238,228,.55);font-size:.84rem}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{position:relative;opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.assess.is-visible .field{opacity:1;transform:none}
.assess.is-visible .field:nth-child(2){transition-delay:.06s}
.assess.is-visible .field:nth-child(3){transition-delay:.12s}
.assess.is-visible .field:nth-child(4){transition-delay:.18s}
.assess.is-visible .field:nth-child(5){transition-delay:.24s}
.assess.is-visible .field:nth-child(6){transition-delay:.3s}
.assess.is-visible .field:nth-child(7){transition-delay:.36s}
.field.wide{grid-column:1/-1}
.field label{display:block;margin-bottom:7px;color:rgba(243,238,228,.82);font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border-radius:11px;color:var(--text);font-family:inherit;font-size:.94rem;
  background:rgba(30,27,22,.72);border:1px solid rgba(243,238,228,.26);transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.field textarea{min-height:86px;resize:vertical}
.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c89a47' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:15px;padding-right:38px}
.field select option{background:#0d0c0b;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(214,177,106,.8);background:rgba(38,34,27,.9);box-shadow:0 0 0 3px rgba(214,177,106,.13)}
.field input::placeholder,.field textarea::placeholder{color:rgba(243,238,228,.45)}
.form-submit{margin-top:22px;width:100%;min-height:56px;border:none;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;
  color:#140e04;background:linear-gradient(180deg,#ebcc86 0%,#d6ac5b 58%,#c18f36 100%);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);
  display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:transform .25s ease,box-shadow .25s ease}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(212,173,86,.24)}
.form-submit svg{width:18px;height:18px}
.form-note{margin:14px 0 0;text-align:center;color:rgba(243,238,228,.4);font-size:.75rem}

/* ---- assessment: responsive ---- */
@media(max-width:1160px){
  .assess{padding:56px 22px 58px}
  .assess-shell{grid-template-columns:1fr;gap:38px}
  .assess-title{max-width:20ch}
}
@media(max-width:1000px){
  .field-grid{grid-template-columns:1fr;gap:18px}
  .field label{white-space:normal;line-height:1.35}
  .form-submit{width:100%;justify-content:center;min-height:52px}
  .assess-direct{flex-direction:column;align-items:stretch}
  .assess-direct a{justify-content:center;min-height:50px}
}
@media(max-width:760px){
  .assess{padding:44px 14px 48px}
  .assess-title{font-size:clamp(2.1rem,9.6vw,2.8rem)}
  .assess-form{padding:26px 20px 24px;border-radius:20px}
  .field-grid{grid-template-columns:1fr}
  .wa-float{right:14px;bottom:14px;padding:12px 17px 12px 14px;font-size:.85rem}
}
@media(prefers-reduced-motion:reduce){
  .field,.clients-track,.wa-float{transition:none!important;animation:none!important}
  .field{opacity:1;transform:none}
  .wa-float{opacity:1;transform:none;pointer-events:auto}
}

/* ============================================================
   SECTORS — architectural finishes schedule (light section)
   Deliberately paired with the ivory About section so the page
   alternates dark / light instead of running black throughout.
   No cards. Type-led index rows; image supports, never dominates.
   ============================================================ */
.sectors{position:relative;padding:46px 34px 50px;color:#1a1710;
  background:linear-gradient(158deg,#f8f4ec 0%,#efe6d6 52%,#e6d9c3 100%);overflow:hidden;isolation:isolate}
.sectors::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(120,92,42,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,92,42,.05) 1px,transparent 1px);
  background-size:74px 74px;mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 62%)}
.sectors-shell{position:relative;z-index:1;max-width:1380px;margin:auto}
.sectors-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:34px;align-items:end;margin-bottom:26px}
.sectors-kicker{display:flex;align-items:center;gap:12px;margin-bottom:10px;color:#96692015;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.sectors-kicker::before{content:"";width:28px;height:1px;background:#b07f2b}
.sectors-kicker::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,#b07f2b,transparent)}
.sectors-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,2.9vw,3.05rem);
  line-height:1.03;font-weight:500;letter-spacing:-.045em;max-width:15ch;color:#221d15}
.sectors-title em{font-style:normal;color:#a5741f}
.sectors-note{margin:0;padding-left:22px;border-left:1px solid rgba(140,101,36,.3);
  color:#6b6154;font-size:.93rem;line-height:1.64;max-width:46ch}

.schedule{border-top:1px solid rgba(110,80,32,.24)}
.schedule-row{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1.05fr) 34px;
  gap:22px;align-items:center;width:100%;padding:20px 6px;text-align:left;background:none;border:0;
  border-bottom:1px solid rgba(110,80,32,.18);cursor:pointer;color:inherit;font:inherit;
  transition:padding .5s cubic-bezier(.22,.75,.25,1),background .45s ease}
.schedule-row::before{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;
  background:linear-gradient(90deg,#b07f2b,rgba(176,127,43,0));transition:width .7s cubic-bezier(.22,.75,.25,1)}
.schedule-row.is-open::before{width:100%}
.schedule-row.is-open{background:linear-gradient(90deg,rgba(255,252,246,.7),rgba(255,252,246,0) 72%);padding-block:24px}
.schedule-row:focus-visible{outline:2px solid #a5741f;outline-offset:-3px}
.row-no{font-family:Georgia,serif;font-size:.92rem;color:#a98f5f;letter-spacing:.04em;transition:color .4s ease}
.schedule-row.is-open .row-no{color:#8d6119}
.row-name{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,1.8vw,1.72rem);
  line-height:1.1;font-weight:500;letter-spacing:-.025em;color:#241f16;transition:color .4s ease,transform .5s ease}
.schedule-row.is-open .row-name{color:#8d6119}
.schedule-row.is-open .row-scope{color:#5c5344}
.row-scope{margin:0;color:#6b6152;font-size:.88rem;line-height:1.55;letter-spacing:.002em}
.row-mark{justify-self:end;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(140,101,36,.34);color:#8d6119;transition:transform .5s cubic-bezier(.22,.75,.25,1),background .4s ease,color .4s ease}
.row-mark svg{width:13px;height:13px}
.schedule-row.is-open .row-mark{transform:rotate(90deg);background:#b07f2b;color:#fff9ee;border-color:#b07f2b}

.row-panel{overflow:hidden;max-height:0;transition:max-height .75s cubic-bezier(.22,.75,.25,1)}
.row-panel.is-open{max-height:240px}
.row-detail{display:grid;grid-template-columns:380px minmax(0,1fr);gap:36px;align-items:center;max-width:980px;padding:2px 6px 22px}
.row-media{position:relative;margin:0;border-radius:13px;overflow:hidden;aspect-ratio:2/1;width:380px;max-width:100%;
  box-shadow:0 18px 42px rgba(58,40,12,.18)}
.row-media img{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.07);opacity:0;transition:transform 1.1s cubic-bezier(.22,.75,.25,1),opacity .75s ease}
.row-panel.is-open .row-media img{transform:none;opacity:1}

.row-points{margin:0;padding:0;list-style:none;display:grid;gap:17px;align-content:center}
.row-points li{position:relative;padding-left:30px;max-width:none;color:#443c30;font-size:1.02rem;line-height:1.62;font-weight:450;
  opacity:0;transform:translateX(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.75,.25,1)}
.row-panel.is-open .row-points li{opacity:1;transform:none}
.row-panel.is-open .row-points li:nth-child(2){transition-delay:.12s}
.row-points li::before{content:"";position:absolute;left:0;top:.56em;width:7px;height:7px;border-radius:2px;
  background:linear-gradient(140deg,#dcb265,#a5741f);
  box-shadow:0 0 0 3px rgba(176,127,43,.12);transform:rotate(45deg)}

@media(max-width:1000px){
  .sectors{padding:60px 22px 54px}
  .sectors-head{grid-template-columns:1fr;gap:16px;align-items:start}
  .sectors-title{max-width:20ch}
  .schedule-row{grid-template-columns:40px minmax(0,1fr) 28px;gap:16px;row-gap:6px}
  .row-scope{grid-column:2/4;font-size:.86rem}
  .row-detail{grid-template-columns:1fr;gap:20px;align-items:start;padding-bottom:20px}
  .row-media{width:100%;aspect-ratio:16/9}
  .row-points{align-content:start}
  .row-panel.is-open{max-height:560px}
}
@media(max-width:600px){
  .sectors{padding:48px 14px 44px}
  .sectors-title{font-size:clamp(1.9rem,8.6vw,2.5rem)}
  .sectors-note{font-size:.88rem;padding-left:16px}
  .schedule-row{padding:16px 4px}
  .row-name{font-size:1.16rem}
  .row-media{border-radius:12px}
  .row-points li{font-size:.95rem}
  .row-panel.is-open{max-height:520px}
}
@media(prefers-reduced-motion:reduce){
  .schedule-row,.row-mark,.row-panel,.row-media img,.row-points li,.schedule-row::before{transition:none!important}
  .row-media img,.row-points li{opacity:1;transform:none}
}

/* ============================================================
   FOOTER — warm charcoal, not flat black
   ============================================================ */
.site-footer{position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(168deg,#171410 0%,#100d0a 38%,#0a0806 100%)}
.site-footer::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background:radial-gradient(ellipse at 12% 0%,rgba(214,177,106,.14),transparent 46%),
             radial-gradient(ellipse at 88% 92%,rgba(176,127,43,.09),transparent 52%)}
.site-footer>*{position:relative;z-index:1}
.footer-rule{position:relative;height:2px;background:rgba(214,177,106,.12)}
.footer-rule::after{content:"";position:absolute;left:0;top:0;height:2px;width:0;
  background:linear-gradient(90deg,#efd08e,#c89a47 42%,rgba(200,154,71,0));
  box-shadow:0 0 18px rgba(214,177,106,.5);transition:width 1.6s cubic-bezier(.2,.7,.3,1)}
.site-footer.is-visible .footer-rule::after{width:100%}
.footer-main{max-width:1380px;margin:auto;padding:58px 34px 40px;display:grid;
  grid-template-columns:1.55fr .9fr .9fr 1.25fr;gap:44px}
.footer-brand .brand-title{font-size:1.62rem;font-weight:800;letter-spacing:.08em;color:#f7f2e8}
.footer-brand .brand-sub{display:block;margin-top:7px;color:#d7ae65;font-size:.63rem;letter-spacing:.26em;text-transform:uppercase}
.footer-brand p{margin:18px 0 0;max-width:33ch;color:rgba(240,233,220,.6);font-size:.9rem;line-height:1.68}
.socials{display:flex;gap:10px;margin-top:24px}
.socials a{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;overflow:hidden;
  color:#d7ae65;border:1px solid rgba(214,177,106,.3);background:rgba(255,246,230,.03);
  transition:color .3s ease,border-color .3s ease,transform .3s ease}
.socials a::before{content:"";position:absolute;inset:0;z-index:0;transform:translateY(101%);
  background:linear-gradient(180deg,#f0d495,#c18f36);transition:transform .4s cubic-bezier(.22,.75,.25,1)}
.socials a:hover{color:#161006;border-color:#efd08e;transform:translateY(-3px)}
.socials a:hover::before{transform:translateY(0)}
.socials svg{position:relative;z-index:1;width:18px;height:18px}
.footer-col h4{margin:0 0 17px;color:#d7ae65;font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.footer-col ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.footer-col a{color:rgba(240,233,220,.66);text-decoration:none;font-size:.91rem;transition:color .25s ease,padding-left .25s ease}
.footer-col a:hover{color:#efd08e;padding-left:6px}
.footer-contact li{display:flex;gap:11px;align-items:flex-start;color:rgba(240,233,220,.66);font-size:.89rem;line-height:1.58}
.footer-contact svg{width:16px;height:16px;flex:0 0 auto;margin-top:3px;color:#c89a47}
.footer-contact a{font-size:.89rem}
.footer-emirates{max-width:1380px;margin:auto;padding:20px 34px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;
  border-top:1px solid rgba(214,177,106,.14);border-bottom:1px solid rgba(214,177,106,.14);
  background:linear-gradient(90deg,rgba(214,177,106,.05),transparent 62%)}
.footer-emirates strong{color:rgba(240,233,220,.44);font-size:.63rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.footer-emirates span{display:inline-flex;align-items:center;gap:8px;color:rgba(240,233,220,.62);font-size:.85rem}
.footer-emirates span::before{content:"";width:4px;height:4px;border-radius:50%;background:#c89a47;box-shadow:0 0 8px rgba(214,177,106,.55)}
.footer-legal{max-width:1380px;margin:auto;padding:19px 34px 24px;display:flex;flex-wrap:wrap;gap:12px 26px;
  justify-content:space-between;align-items:center;color:rgba(240,233,220,.38);font-size:.78rem}
.footer-legal a{color:rgba(240,233,220,.5);text-decoration:none;transition:color .25s ease}
.footer-legal a:hover{color:#d7ae65}
.footer-legal nav{display:flex;flex-wrap:wrap;gap:20px}

@media(max-width:1000px){
  .footer-main{grid-template-columns:1fr 1fr;gap:36px;padding:48px 22px 34px}
  .footer-emirates,.footer-legal{padding-inline:22px}
}
@media(max-width:600px){
  .footer-main{grid-template-columns:1fr;gap:32px;padding:40px 14px 30px}
  .footer-emirates,.footer-legal{padding-inline:14px}
  .footer-legal{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.footer-rule::after{width:100%;transition:none!important}}

/* ============================================================
   WHATSAPP FLOAT  (restored — was removed with the old footer)
   ============================================================ */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:70;display:inline-flex;align-items:center;gap:11px;
  padding:13px 20px 13px 15px;border-radius:999px;text-decoration:none;color:#f3eee4;font-size:.9rem;font-weight:600;
  background:linear-gradient(150deg,rgba(24,21,17,.95),rgba(10,9,7,.96));border:1px solid rgba(214,177,106,.42);
  box-shadow:0 16px 40px rgba(0,0,0,.5);backdrop-filter:blur(12px);
  opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;
  transition:opacity .45s ease,transform .45s ease,border-color .3s ease}
.wa-float.is-shown{opacity:1;transform:none;pointer-events:auto}
.wa-float:hover{border-color:rgba(239,208,142,.8)}
.wa-float svg{flex:0 0 auto;width:21px;height:21px;color:#efd08e}
.wa-float span{white-space:nowrap}
.wa-float i{position:absolute;left:15px;top:50%;width:21px;height:21px;margin-top:-10px;border-radius:50%;
  border:1px solid rgba(214,177,106,.5);pointer-events:none;animation:waPulse 2.8s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.65}70%,100%{transform:scale(2.2);opacity:0}}
@media(max-width:600px){
  .wa-float{right:14px;bottom:14px;padding:12px 17px 12px 14px;font-size:.85rem}
}
@media(prefers-reduced-motion:reduce){
  .wa-float{opacity:1;transform:none;pointer-events:auto;transition:none!important}
  .wa-float i{animation:none!important;opacity:.4}
}

/* nav is now a direct child of .page — give it a solid resting state */
.topbar{background:linear-gradient(180deg,rgba(4,4,4,.72),rgba(4,4,4,.28))}
@media(max-width:1000px){
  .heritage-head{grid-template-columns:1fr;align-items:start}
  .heritage-scale{justify-self:start;text-align:left}
  .heritage-col h4{min-height:0}
}

/* ============================================================
   INNER PAGE SHELL — compact hero for non-home pages
   ============================================================ */
.page-hero{position:relative;padding:calc(var(--nav-h) + 62px) 34px 58px;overflow:hidden;isolation:isolate;background:#060605}
.page-hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 62%;opacity:.42;transform:scale(1.05)}
.page-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(92deg,rgba(4,4,4,.95) 0%,rgba(4,4,4,.82) 46%,rgba(4,4,4,.58) 100%),
             radial-gradient(circle at 80% 26%,rgba(214,177,106,.13),transparent 46%)}
.page-hero-inner{position:relative;z-index:2;max-width:1380px;margin:auto}
.crumbs{display:flex;align-items:center;gap:9px;margin-bottom:16px;color:rgba(243,238,228,.5);font-size:.74rem;letter-spacing:.06em}
.crumbs a{color:var(--gold-soft);text-decoration:none}
.crumbs a:hover{color:var(--gold-bright)}
.crumbs span{opacity:.5}
.page-hero h1{margin:0;max-width:17ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,4vw,4rem);line-height:1;font-weight:500;letter-spacing:-.05em}
.page-hero h1 em{font-style:normal;color:var(--gold-soft)}
.page-hero p{margin:20px 0 0;max-width:56ch;color:rgba(243,238,228,.74);font-size:1.02rem;line-height:1.68}

/* generic light/dark content bands */
.band{padding:64px 34px 66px}
.band-dark{background:linear-gradient(180deg,#070706,#0b0a08);color:var(--text)}
.band-light{color:#1a1710;background:linear-gradient(158deg,#f8f4ec 0%,#efe6d6 54%,#e8dcc7 100%)}
.band-inner{max-width:1380px;margin:auto}
.band-kicker{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.band-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.band-dark .band-kicker{color:var(--gold-soft)}
.band-light .band-kicker{color:#8d6119}
.band-title{margin:0 0 34px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,2.8vw,2.95rem);
  line-height:1.04;font-weight:500;letter-spacing:-.045em;max-width:17ch}
.band-title em{font-style:normal}
.band-dark .band-title em{color:var(--gold-soft)}
.band-light .band-title em{color:#a5741f}

/* identity / mission / vision — three stacked statements, not cards */
.statements{display:grid;gap:0;border-top:1px solid rgba(214,177,106,.22)}
.statement{display:grid;grid-template-columns:196px minmax(0,1fr);gap:34px;padding:26px 0;
  border-bottom:1px solid rgba(214,177,106,.16);opacity:0;transform:translateY(18px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.22,.75,.25,1)}
.band.is-visible .statement{opacity:1;transform:none}
.band.is-visible .statement:nth-child(2){transition-delay:.1s}
.band.is-visible .statement:nth-child(3){transition-delay:.2s}
.statement dt{margin:0;font-family:Georgia,serif;font-size:1.24rem;font-weight:500;letter-spacing:-.02em}
.band-dark .statement dt{color:var(--gold-soft)}
.band-light .statement dt{color:#8d6119}
.statement dd{margin:0;font-size:1rem;line-height:1.72;max-width:76ch}
.band-dark .statement dd{color:rgba(243,238,228,.74)}
.band-light .statement dd{color:#4a4237}

/* values / methodology — numbered progression */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0}
.step{position:relative;padding:4px 28px 6px;opacity:0;transform:translateY(18px);
  transition:opacity .7s ease,transform .7s ease}
.band.is-visible .step{opacity:1;transform:none}
.band.is-visible .step:nth-child(2){transition-delay:.09s}
.band.is-visible .step:nth-child(3){transition-delay:.18s}
.band.is-visible .step:nth-child(4){transition-delay:.27s}
.step:first-child{padding-left:0}
.step+.step::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;
  background:linear-gradient(180deg,rgba(214,177,106,.34),rgba(214,177,106,.05))}
.band-light .step+.step::before{background:linear-gradient(180deg,rgba(140,101,36,.34),rgba(140,101,36,.06))}
.step-no{display:block;margin-bottom:10px;font-family:Georgia,serif;font-size:.9rem;letter-spacing:.06em}
.band-dark .step-no{color:var(--gold-soft)}
.band-light .step-no{color:#a98f5f}
.step h3{margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:1.16rem;line-height:1.18;font-weight:600}
.band-light .step h3{color:#241f16}
.step p{margin:0;font-size:.92rem;line-height:1.66}
.band-dark .step p{color:rgba(243,238,228,.66)}
.band-light .step p{color:#5c5344}

/* reach map — countries served */
.reach{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:8px}
.reach span{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:999px;
  font-size:.86rem;border:1px solid rgba(214,177,106,.28);color:rgba(243,238,228,.78);background:rgba(255,246,230,.03)}
.reach span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(214,177,106,.5)}
.reach span.is-home{border-color:rgba(239,208,142,.6);color:#efd08e}

@media(max-width:1000px){
  .page-hero{padding:calc(74px + 44px) 22px 44px}
  .band{padding:52px 22px 54px}
  .statement{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .step{padding:4px 0 6px}
  .step+.step::before{left:0;right:auto;top:-14px;bottom:auto;width:44px;height:1px;
    background:linear-gradient(90deg,rgba(214,177,106,.32),transparent)}
  .band-light .step+.step::before{background:linear-gradient(90deg,rgba(140,101,36,.32),transparent)}
  .steps{gap:26px}
}
@media(max-width:600px){
  .page-hero{padding:calc(74px + 30px) 14px 34px}
  .page-hero h1{font-size:clamp(2rem,9vw,2.7rem)}
  .page-hero p{font-size:.95rem}
  .band{padding:42px 14px 44px}
}
@media(prefers-reduced-motion:reduce){
  .statement,.step{opacity:1;transform:none;transition:none!important}
}

/* ============================================================
   ABOUT US — single issued-sheet section (about.html)
   ============================================================ */
.au{
  --ink:#1a1710; --ink-soft:#4a4237; --ink-faint:#8a8175;
  --brass:#8d6119; --brass-lt:#a5741f;
  position:relative;padding:56px 34px 59px;color:var(--ink);
  background:linear-gradient(158deg,#faf7f0 0%,#f2ebdd 52%,#e9dfcb 100%);
}
.au::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(26,23,16,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(26,23,16,.045) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 62%);
}
.au-sheet{position:relative;z-index:1;max-width:1380px;margin:auto}

/* --- shared mono label --- */
.au-lab{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.63rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass);margin:0 0 13px;
}
.au-lab-gold{color:#d7ae65}

/* --- header / title block --- */
.au-kicker{
  display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--brass);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
}
.au-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.au-title{
  margin:0;max-width:19ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.05rem,2.9vw,3.05rem);line-height:1.03;font-weight:500;letter-spacing:-.042em;
}
.au-title em{font-style:normal;color:var(--brass-lt)}
.au-meta{
  list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:30px 0 0;padding:0;
  border-top:1px solid rgba(141,97,25,.26);border-bottom:1px solid rgba(141,97,25,.26);
}
.au-meta li{
  flex:1 1 210px;padding:14px 26px 15px;border-left:1px solid rgba(141,97,25,.16);
}
.au-meta li:first-child{padding-left:0;border-left:0}
.au-meta span{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;
}
.au-meta strong{display:block;font-family:Georgia,serif;font-size:1.02rem;font-weight:500;color:var(--ink)}

/* --- identity / mission / vision --- */
.au-identity{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;
  align-items:start;padding:48px 0 46px;
}
.au-lead p{
  margin:0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.32rem,1.85vw,1.78rem);line-height:1.42;font-weight:500;
  letter-spacing:-.018em;color:var(--ink);max-width:26ch;
}
.au-pair{display:grid;gap:0}
.au-pair-col{padding:0 0 24px}
.au-pair-col + .au-pair-col{padding:24px 0 0;border-top:1px solid rgba(141,97,25,.2)}
.au-pair-col p{margin:0;font-size:.98rem;line-height:1.74;color:var(--ink-soft);max-width:52ch}

/* --- core values --- */
.au-umbrella{
  padding:34px 0 30px;border-top:1px solid rgba(141,97,25,.16);
}
.au-umbrella p{
  margin:14px 0 0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.18rem,1.5vw,1.5rem);line-height:1.5;font-weight:500;
  max-width:62ch;
}
@media(max-width:1000px){
  .au-umbrella{padding:26px 0 22px}
}
.au-values{padding:6px 0 52px}
.au-values-row{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid rgba(141,97,25,.26);
}
.au-value{
  position:relative;padding:26px 30px 4px;border-left:1px solid rgba(141,97,25,.16);
}
.au-value:first-child{padding-left:0;border-left:0}
.au-value::before{
  content:"";position:absolute;top:-1px;left:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--brass),#c89a47);transition:width .55s cubic-bezier(.4,0,.2,1);
}
.au-value:hover::before,.au-value:focus-within::before{width:100%}
.au-value h3{
  margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;
  font-size:1.34rem;line-height:1.14;font-weight:500;letter-spacing:-.028em;color:var(--ink);
}
.au-value p{margin:0;font-size:.94rem;line-height:1.7;color:var(--ink-soft);max-width:40ch}

/* --- operational methodology: dark inset panel --- */
.au-method{
  position:relative;border-radius:26px;overflow:hidden;color:#f3eee4;
  background:linear-gradient(168deg,#0c0b09 0%,#080807 62%,#0b0a08 100%);
  box-shadow:0 26px 60px rgba(26,23,16,.24);
  padding:42px 40px 44px;
}
.au-method::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(120% 80% at 8% 0%,rgba(200,154,71,.13),transparent 62%);
}
.au-method-head{position:relative;z-index:1;margin-bottom:44px;max-width:26ch}
.au-method-head h3{
  margin:0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,2.1vw,2.15rem);line-height:1.08;font-weight:500;letter-spacing:-.038em;
}
.au-method-head h3 em{font-style:normal;color:#d7ae65}

.au-steps{
  position:relative;z-index:1;list-style:none;margin:0;padding:38px 0 0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
}
.au-steps::before,.au-steps::after{content:"";position:absolute;left:0;top:11px;height:1px}
.au-steps::before{right:0;background:rgba(214,177,106,.24)}
.au-steps::after{
  width:var(--fill,0%);background:linear-gradient(90deg,#8d6119,#c89a47 60%,#efd08e);
  box-shadow:0 0 14px rgba(200,154,71,.45);transition:width .35s linear;
}
.au-stp{position:relative;padding:0 30px 0 0}
.au-stp::before{
  content:"";position:absolute;top:5px;left:0;width:13px;height:13px;border-radius:50%;
  background:#0a0a09;border:1px solid rgba(214,177,106,.45);
  transition:background .45s ease,border-color .45s ease,box-shadow .45s ease;
}
.au-stp.is-on::before{
  background:#efd08e;border-color:#efd08e;box-shadow:0 0 0 5px rgba(200,154,71,.16),0 0 16px rgba(239,208,142,.55);
}
.au-ix{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.63rem;letter-spacing:.2em;color:rgba(243,238,228,.4);margin-bottom:9px;transition:color .45s ease;
}
.au-stp.is-on .au-ix{color:#d7ae65}
.au-stp h4{
  margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;
  font-size:1.2rem;line-height:1.16;font-weight:500;letter-spacing:-.025em;color:rgba(243,238,228,.62);
  transition:color .45s ease;
}
.au-stp.is-on h4{color:#f3eee4}
.au-stp p{margin:0;font-size:.88rem;line-height:1.68;color:rgba(243,238,228,.6);max-width:32ch}
.au-handover{
  position:relative;z-index:1;margin-top:34px;padding-top:16px;
  border-top:1px solid rgba(214,177,106,.16);display:flex;justify-content:flex-end;
}
.au-handover span{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(215,174,101,.75);
}

/* --- reveal --- */
.au-head,.au-identity,.au-values,.au-method{opacity:0;transform:translateY(20px);
  transition:opacity .85s cubic-bezier(.4,0,.2,1),transform .85s cubic-bezier(.4,0,.2,1)}
.au.is-visible .au-head,.au.is-visible .au-identity,.au.is-visible .au-values,.au.is-visible .au-method{opacity:1;transform:none}
.au.is-visible .au-identity{transition-delay:.09s}
.au.is-visible .au-values{transition-delay:.17s}
.au.is-visible .au-method{transition-delay:.24s}

/* --- responsive --- */
@media(max-width:1000px){
  .au{padding:58px 22px 62px}
  .au-identity{grid-template-columns:1fr;gap:34px;padding:38px 0 34px}
  .au-values-row{grid-template-columns:1fr}
  .au-value{padding:22px 0 4px;border-left:0;border-top:1px solid rgba(141,97,25,.16)}
  .au-value:first-child{border-top:0}
  .au-value::before{display:none}
  .au-method{padding:32px 24px 34px;border-radius:20px}
  .au-method-head{margin-bottom:26px}
  .au-steps{grid-template-columns:1fr;gap:26px;padding:0 0 0 30px}
  .au-steps::before,.au-steps::after{left:6px;top:6px;bottom:auto;width:1px;height:auto}
  .au-steps::before{right:auto;bottom:8px}
  .au-steps::after{width:1px;height:var(--fill,0%);transition:height .35s linear}
  .au-stp{padding:0}
  .au-stp::before{left:-30px;top:4px}
  .au-stp p{max-width:none}
  .au-handover{justify-content:flex-start}
}
@media(max-width:600px){
  .au-meta li{flex:1 1 100%;padding:13px 0;border-left:0;border-top:1px solid rgba(141,97,25,.14)}
  .au-meta li:first-child{border-top:0}
  .au-title{max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .au-head,.au-identity,.au-values,.au-method{opacity:1;transform:none;transition:none}
  .au-steps::after,.au-stp::before,.au-value::before{transition:none}
}

/* ============================================================
   PAGE HERO — animated black/gold motion field (inner pages)
   ============================================================ */
.page-hero--motion{background:#040404}
.page-hero--motion .hero-motion{
  position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;
}
.page-hero--motion .hero-motion-grid{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(214,177,106,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(214,177,106,.055) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(120% 90% at 22% 46%,rgba(0,0,0,.95),transparent 72%);
}
.page-hero--motion::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(4,4,4,.9) 0%,rgba(4,4,4,.62) 42%,rgba(4,4,4,.24) 72%,rgba(4,4,4,.5) 100%),
             linear-gradient(180deg,rgba(4,4,4,.62) 0%,transparent 30%,transparent 66%,rgba(4,4,4,.72) 100%);
}
.page-hero--motion .page-hero-inner{position:relative;z-index:3}

/* ============================================================
   CORE VALUE ICONS
   ============================================================ */
.au-ico{
  display:block;width:38px;height:38px;margin:0 0 16px;overflow:visible;
  fill:none;stroke:#8d6119;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .45s ease,transform .55s cubic-bezier(.34,1.4,.5,1);
}
.au-ico .fillmark{fill:#a5741f;stroke:none;transition:fill .45s ease}
.au-value:hover .au-ico,.au-value:focus-within .au-ico{stroke:#a5741f;transform:translateY(-3px)}
.au-value:hover .au-ico .fillmark{fill:#c89a47}

/* ============================================================
   HERITAGE — story thread
   ============================================================ */
.heritage-story{position:relative;overflow:hidden;padding:59px 34px 61px;background:#070706;color:var(--text)}
.hs-bg{
  position:absolute;inset:-10% -5%;z-index:0;pointer-events:none;
  background:
    radial-gradient(52% 46% at 12% 8%,rgba(200,154,71,.16),transparent 62%),
    radial-gradient(46% 40% at 88% 88%,rgba(141,97,25,.15),transparent 66%),
    linear-gradient(180deg,#080807,#0c0b09 52%,#080807);
  animation:hsDrift 26s ease-in-out infinite alternate;
}
@keyframes hsDrift{from{transform:translate3d(-1.6%,-1.2%,0) scale(1.02)}to{transform:translate3d(1.8%,1.4%,0) scale(1.06)}}
.hs-shell{position:relative;z-index:1;max-width:1380px;margin:auto}
.hs-kicker{
  display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
}
.hs-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.hs-h2{
  margin:0 0 46px;max-width:17ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.05rem,2.9vw,3.05rem);line-height:1.03;font-weight:500;letter-spacing:-.042em;
}
.hs-h2 em{font-style:normal;color:var(--gold-soft)}

.hs-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:56px;align-items:start}

.hs-thread{position:relative;list-style:none;margin:0;padding:0 0 0 42px}
.hs-thread::before{content:"";position:absolute;left:5px;top:8px;bottom:14px;width:1px;background:rgba(214,177,106,.2)}
.hs-thread::after{
  content:"";position:absolute;left:5px;top:8px;width:1px;height:var(--thread,0%);
  background:linear-gradient(180deg,#8d6119,#c89a47 55%,#efd08e);
  box-shadow:0 0 12px rgba(200,154,71,.45);transition:height .4s linear;
}
.hs-ch{position:relative;padding:0 0 52px}
.hs-ch:last-child{padding-bottom:0}
.hs-ch::before{
  content:"";position:absolute;left:-42px;top:7px;width:11px;height:11px;border-radius:50%;
  background:#0a0a09;border:1px solid rgba(214,177,106,.45);
  transition:background .5s ease,border-color .5s ease,box-shadow .5s ease;
}
.hs-ch.is-on::before{background:#efd08e;border-color:#efd08e;box-shadow:0 0 0 5px rgba(200,154,71,.15),0 0 18px rgba(239,208,142,.5)}
.hs-yr{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(215,174,101,.6);margin-bottom:9px;transition:color .5s ease;
}
.hs-ch.is-on .hs-yr{color:#d7ae65}
.hs-ch h3{
  margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:1.58rem;
  line-height:1.12;font-weight:500;letter-spacing:-.03em;color:rgba(243,238,228,.66);transition:color .5s ease;
}
.hs-ch.is-on h3{color:#f3eee4}
.hs-ch p{margin:0;font-size:1.02rem;line-height:1.85;color:rgba(243,238,228,.76);max-width:64ch}

.hs-visual{position:relative}
.hs-visual-media{
  position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;
  border:1px solid rgba(214,177,106,.2);box-shadow:0 26px 60px rgba(0,0,0,.45);
}
.hs-visual-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(4,4,4,.18),rgba(4,4,4,.72)),radial-gradient(70% 50% at 50% 0%,rgba(200,154,71,.18),transparent 62%);
}
.hs-visual-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.1) translateY(var(--hsy,0px));transition:transform .6s ease-out;
}
.hs-seal{
  position:absolute;right:-14px;bottom:-16px;width:186px;padding:20px 18px 18px;border-radius:18px;text-align:center;
  background:rgba(8,8,7,.9);border:1px solid rgba(214,177,106,.3);backdrop-filter:blur(10px);
  box-shadow:0 18px 44px rgba(0,0,0,.5);
}
.hs-seal svg{
  display:block;width:46px;height:46px;margin:0 auto 10px;fill:none;
  stroke:rgba(214,177,106,.55);stroke-width:1.4;animation:sealSpin 34s linear infinite;
}
.hs-seal svg .fillmark{fill:#d7ae65;stroke:none}
@keyframes sealSpin{to{transform:rotate(360deg)}}
.hs-seal strong{display:block;font-family:Georgia,serif;font-size:1.3rem;color:#efd08e;letter-spacing:-.02em}
.hs-seal span{display:block;margin-top:5px;font-size:.66rem;line-height:1.4;color:rgba(243,238,228,.55)}

.hs-reach{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(214,177,106,.16)}
.hs-reach-lab{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(243,238,228,.42);margin-right:6px;
}
.hs-pill{
  position:relative;overflow:hidden;padding:9px 18px;border-radius:999px;font-size:.85rem;
  color:rgba(243,238,228,.76);border:1px solid rgba(214,177,106,.26);background:rgba(12,11,9,.6);
  transition:color .4s ease,border-color .4s ease,transform .4s ease;
}
.hs-pill::before{
  content:"";position:absolute;inset:0;transform:translateX(-101%);
  background:linear-gradient(90deg,transparent,rgba(200,154,71,.22),transparent);transition:transform .7s ease;
}
.hs-pill:hover{color:#f3eee4;border-color:rgba(214,177,106,.55);transform:translateY(-2px)}
.hs-pill:hover::before{transform:translateX(101%)}
.hs-pill.is-home{color:#efd08e;border-color:rgba(214,177,106,.55);background:rgba(200,154,71,.1)}

/* reveal */
.hs-head,.hs-visual,.hs-reach{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.heritage-story.is-visible .hs-head,.heritage-story.is-visible .hs-visual,.heritage-story.is-visible .hs-reach{opacity:1;transform:none}
.heritage-story.is-visible .hs-visual{transition-delay:.12s}
.heritage-story.is-visible .hs-reach{transition-delay:.2s}

@media(max-width:1000px){
  .heritage-story{padding:56px 22px 60px}
  .hs-grid{grid-template-columns:1fr;gap:44px}
  .hs-visual-media{aspect-ratio:16/10}
  .hs-seal{right:12px;bottom:-14px;width:158px;padding:16px 14px 14px}
  .hs-h2{margin-bottom:34px}
}

/* ============================================================
   TECHNOLOGY STANDARDS — About page viewer (distinct from home)
   ============================================================ */
.techview{position:relative;padding:58px 34px 59px;background:linear-gradient(180deg,#0b0a08,#060605 62%,#080807);color:var(--text)}
.tv-shell{max-width:1380px;margin:auto}
.tv-head{max-width:1100px;margin-bottom:44px}
.tv-kicker{
  display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
}
.tv-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.tv-h2{
  margin:0 0 16px;max-width:20ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,2.7vw,2.85rem);line-height:1.04;font-weight:500;letter-spacing:-.042em;
}
.tv-h2 em{font-style:normal;color:var(--gold-soft)}
.tv-intro{margin:0;max-width:70ch;font-size:.99rem;line-height:1.74;color:rgba(243,238,228,.7)}

.tv-body-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:40px;align-items:start}

/* image stage */
.tv-stage{
  position:sticky;top:calc(var(--nav-h) + 26px);border-radius:24px;overflow:hidden;
  aspect-ratio:5/6;max-height:min(452px,54svh);
  border:1px solid rgba(214,177,106,.2);box-shadow:0 28px 64px rgba(0,0,0,.5);background:#0a0a09;
}
.tv-frame{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease}
.tv-frame img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.14);transition:transform 7s linear}
.tv-frame.is-active{opacity:1}
.tv-frame.is-active img{transform:scale(1)}
.tv-stage::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,4,4,.1),rgba(4,4,4,.6)),radial-gradient(80% 55% at 50% 0%,rgba(200,154,71,.16),transparent 60%);
}
.tv-sweep{
  position:absolute;top:0;bottom:0;width:34%;pointer-events:none;z-index:2;
  background:linear-gradient(100deg,transparent,rgba(239,208,142,.14),transparent);
  animation:tvSweep 7.5s ease-in-out infinite;
}
@keyframes tvSweep{0%{transform:translateX(-140%)}55%,100%{transform:translateX(420%)}}
.tv-count{
  position:absolute;left:18px;bottom:16px;z-index:3;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.18em;
  color:rgba(243,238,228,.6);
}
.tv-count b{color:#efd08e;font-weight:600}

/* partner list */
.tv-list{display:grid;gap:0;border-top:1px solid rgba(214,177,106,.18)}
.tv-row{
  position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:20px;align-items:start;
  width:100%;text-align:left;padding:24px 4px 24px 0;background:none;border:0;
  border-bottom:1px solid rgba(214,177,106,.14);color:inherit;cursor:pointer;font:inherit;
}
.tv-row::before{
  content:"";position:absolute;left:-14px;top:0;bottom:0;width:2px;transform:scaleY(0);transform-origin:top;
  background:linear-gradient(180deg,#c89a47,#efd08e);transition:transform .5s cubic-bezier(.4,0,.2,1);
}
.tv-row.is-active::before{transform:scaleY(1)}
.tv-row:focus-visible{outline:2px solid var(--gold-soft);outline-offset:4px}
.tv-ix{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.16em;
  color:rgba(243,238,228,.34);padding-top:5px;transition:color .45s ease;
}
.tv-row.is-active .tv-ix{color:#d7ae65}
.tv-body{display:block;min-width:0}
.tv-name{
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(215,174,101,.72);margin-bottom:7px;
}
.tv-title{
  display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.32rem;line-height:1.14;
  font-weight:500;letter-spacing:-.028em;color:rgba(243,238,228,.62);transition:color .45s ease;
}
.tv-row.is-active .tv-title{color:#f3eee4}
.tv-desc{
  display:block;max-height:0;overflow:hidden;opacity:0;
  font-size:.9rem;line-height:1.7;color:rgba(243,238,228,.66);
  transition:max-height .6s cubic-bezier(.4,0,.2,1),opacity .45s ease,margin .6s ease;
}
.tv-row.is-active .tv-desc{max-height:220px;opacity:1;margin-top:10px}
.tv-tags{
  display:flex;flex-wrap:wrap;gap:7px;max-height:0;overflow:hidden;opacity:0;
  transition:max-height .6s cubic-bezier(.4,0,.2,1),opacity .45s ease,margin .6s ease;
}
.tv-row.is-active .tv-tags{max-height:120px;opacity:1;margin-top:13px}
.tv-tags em{
  font-style:normal;padding:5px 11px;border-radius:999px;font-size:.7rem;
  color:rgba(243,238,228,.72);border:1px solid rgba(214,177,106,.24);background:rgba(200,154,71,.06);
}
.tv-origin{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(243,238,228,.4);padding-top:6px;white-space:nowrap;
}
.tv-row.is-active .tv-origin{color:rgba(215,174,101,.85)}
.tv-note{margin:30px 0 0;font-size:.76rem;line-height:1.6;color:rgba(243,238,228,.4);max-width:88ch}

.tv-head,.tv-stage,.tv-list{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.techview.is-visible .tv-head,.techview.is-visible .tv-stage,.techview.is-visible .tv-list{opacity:1;transform:none}
.techview.is-visible .tv-stage{transition-delay:.1s}
.techview.is-visible .tv-list{transition-delay:.16s}

@media(max-width:1000px){
  .techview{padding:56px 22px 60px}
  .tv-body-grid{grid-template-columns:1fr;gap:26px}
  .tv-stage{position:relative;top:auto;aspect-ratio:16/10;max-height:none}
  .tv-row{grid-template-columns:36px minmax(0,1fr);gap:14px;padding:20px 0}
  .tv-origin{grid-column:2;padding-top:10px}
}
@media(prefers-reduced-motion:reduce){
  .hs-bg,.hs-seal svg,.tv-sweep{animation:none}
  .hs-head,.hs-visual,.hs-reach,.tv-head,.tv-stage,.tv-list{opacity:1;transform:none;transition:none}
  .tv-frame img,.hs-visual-media img{transition:none;transform:none}
  .au-ico{transition:none}
}

/* ============================================================
   SERVICE PAGE — hero with polishing pass
   ============================================================ */
.svc-hero{position:relative;overflow:hidden;isolation:isolate;background:#050505;
  padding:calc(var(--nav-h) + 74px) 34px 76px;border-bottom-left-radius:24px;border-bottom-right-radius:24px}
.svc-hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.svc-hero-layer{position:absolute;inset:0;opacity:0;transition:opacity 1.7s cubic-bezier(.4,0,.2,1)}
.svc-hero-layer.is-on{opacity:1}
.svc-hero-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.07);
  filter:grayscale(.22) brightness(.52) contrast(1.06);will-change:transform}
.svc-hero-layer.is-on img{animation:svcDrift 8.5s ease-out forwards}
@keyframes svcDrift{from{transform:scale(1.07) translate3d(0,0,0)}to{transform:scale(1.17) translate3d(-1.4%,-1%,0)}}
.svc-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(94deg,rgba(5,5,5,.95) 0%,rgba(5,5,5,.82) 38%,rgba(5,5,5,.42) 70%,rgba(5,5,5,.66) 100%),
             linear-gradient(180deg,rgba(5,5,5,.7) 0%,transparent 34%,rgba(5,5,5,.72) 100%)}
.svc-hero-pass{position:absolute;top:0;bottom:0;width:26%;z-index:2;pointer-events:none;
  background:linear-gradient(102deg,transparent,rgba(239,208,142,.16),rgba(255,255,255,.06),transparent);
  animation:svcPass 9s ease-in-out infinite}
@keyframes svcPass{0%{transform:translateX(-150%)}58%,100%{transform:translateX(500%)}}
.svc-hero-inner{position:relative;z-index:3;max-width:1380px;margin:auto}
.svc-hero h1{margin:16px 0 0;max-width:15ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,5vw,4.4rem);line-height:.99;font-weight:500;letter-spacing:-.045em;color:#f6f2ea}
.svc-hero h1 em{font-style:normal;color:var(--gold-soft)}
.svc-hero-lead{margin:20px 0 0;max-width:56ch;font-size:1.04rem;line-height:1.72;color:rgba(243,238,228,.78)}
.svc-hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.btn-gold,.btn-ghost{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:999px;
  font-size:.9rem;font-weight:600;letter-spacing:.01em;text-decoration:none;transition:.4s ease}
.btn-gold{color:#120d04;background:linear-gradient(180deg,#e6c079,#c89a47);box-shadow:0 14px 34px rgba(200,154,71,.26)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(200,154,71,.36)}
.btn-ghost{color:#f3eee4;border:1px solid rgba(214,177,106,.42);background:rgba(10,10,9,.42)}
.btn-ghost:hover{border-color:rgba(214,177,106,.8);background:rgba(200,154,71,.12)}

/* ============================================================
   SPECIMEN RAIL — horizontally scrolling stone library
   ============================================================ */
.specimens{padding:56px 0 50px;background:linear-gradient(160deg,#faf7f0,#f1e9da 58%,#e8dcc6);color:#1a1710}
.sp-shell{max-width:1380px;margin:auto;padding:0 34px}
.sp-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.sp-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.sp-h2{margin:0;max-width:20ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,2.7vw,2.85rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.sp-h2 em{font-style:normal;color:#a5741f}
.sp-note{margin:14px 0 30px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#8a8175}
.sp-rail{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;
  margin:0 -34px;padding:6px 34px 10px;scroll-snap-type:x proximity}
.sp-rail::-webkit-scrollbar{display:none}
.sp-rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.sp-rail:focus-visible{outline:2px solid #a5741f;outline-offset:3px}
.sp-track{display:flex;gap:22px;width:max-content}
.sp-card{flex:0 0 330px;scroll-snap-align:start}
.sp-media{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;
  border:1px solid rgba(141,97,25,.22);box-shadow:0 18px 40px rgba(26,23,16,.16)}
.sp-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.05);transition:transform .8s cubic-bezier(.4,0,.2,1)}
.sp-card:hover .sp-media img{transform:scale(1.12)}
.sp-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,7,.06),rgba(8,8,7,.46))}
.sp-ix{position:absolute;z-index:2;left:14px;top:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.62rem;letter-spacing:.18em;color:#efd08e}
.sp-card h3{margin:17px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:1.34rem;
  line-height:1.12;font-weight:500;letter-spacing:-.028em}
.sp-card>p{margin:0 0 13px;font-size:.9rem;line-height:1.66;color:#4a4237}
.sp-chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.sp-chips li{padding:5px 11px;border-radius:999px;font-size:.7rem;color:#5d5346;
  border:1px solid rgba(141,97,25,.26);background:rgba(141,97,25,.05)}
.sp-progress{max-width:1380px;margin:24px auto 0;padding:0 34px}
.sp-progress span{display:block;height:2px;border-radius:2px;background:rgba(141,97,25,.18);position:relative}
.sp-progress span::after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--sp,24%);
  border-radius:2px;background:linear-gradient(90deg,#8d6119,#c89a47)}

/* ============================================================
   POLISH LINE — five passes, rotating disc
   ============================================================ */
.polishline{position:relative;padding:59px 34px 62px;background:linear-gradient(180deg,#080807,#0c0b09 55%,#070706);color:var(--text)}
.pl-shell{max-width:1380px;margin:auto}
.pl-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.pl-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.pl-h2{margin:0 0 48px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,2.7vw,2.85rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.pl-h2 em{font-style:normal;color:var(--gold-soft)}
.pl-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:start}
.pl-steps{list-style:none;margin:0;padding:0}
.pl-step{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:24px 0;
  border-top:1px solid rgba(214,177,106,.14)}
.pl-step:first-child{border-top:0;padding-top:0}
.pl-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.16em;
  color:rgba(243,238,228,.32);padding-top:6px;transition:color .5s ease}
.pl-step.is-on .pl-no{color:#d7ae65}
.pl-step h3{margin:0 0 9px;font-family:Georgia,"Times New Roman",serif;font-size:1.36rem;line-height:1.14;
  font-weight:500;letter-spacing:-.03em;color:rgba(243,238,228,.6);transition:color .5s ease}
.pl-step.is-on h3{color:#f3eee4}
.pl-step p{margin:0;font-size:.94rem;line-height:1.72;color:rgba(243,238,228,.66);max-width:56ch}

.pl-panel{position:sticky;top:calc(var(--nav-h) + 30px);display:grid;gap:22px;padding:26px 26px 28px;
  border-radius:20px;border:1px solid rgba(214,177,106,.3);
  background:linear-gradient(158deg,rgba(30,26,18,.72),rgba(11,10,9,.72));
  box-shadow:0 26px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(243,238,228,.07)}
.pl-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding-bottom:16px;border-bottom:1px solid rgba(214,177,106,.2)}
.pl-panel-lab{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(243,238,228,.5)}
.pl-panel-head strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;letter-spacing:-.03em;color:#efd08e}

/* before / after wipe — driven by the same scroll progress as the steps */
.pl-swap{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;
  border:1px solid rgba(214,177,106,.22);background:#0a0a09}
.pl-swap-img{position:absolute;inset:0}
.pl-swap-img img{width:100%;height:100%;object-fit:cover;display:block}
.pl-swap-a img{filter:grayscale(.5) brightness(.82) contrast(1.04)}
.pl-swap-b{z-index:1}
.pl-swap-a{z-index:2;clip-path:inset(0 0 0 var(--wipe,50%))}
.pl-swap-line{position:absolute;top:0;bottom:0;left:var(--wipe,100%);width:2px;
  background:linear-gradient(180deg,transparent,#efd08e 18%,#efd08e 82%,transparent);
  box-shadow:0 0 16px rgba(239,208,142,.7)}
.pl-swap-tag{position:absolute;bottom:11px;padding:5px 11px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem;letter-spacing:.18em;
  text-transform:uppercase;transition:opacity .4s ease}
.pl-tag-a{right:11px;color:#f3eee4;background:rgba(10,10,9,.72);border:1px solid rgba(243,238,228,.2);opacity:var(--beforeop,1)}
.pl-tag-b{left:11px;color:#150f04;background:linear-gradient(180deg,#e6c079,#c89a47);opacity:var(--afterop,0)}

/* grit ladder */
.pl-grit-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.pl-grit-head span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.53rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(243,238,228,.5)}
.pl-grit-head b{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;color:#efd08e;
  font-variant-numeric:tabular-nums}
.pl-grit-steps{list-style:none;position:relative;display:block;height:26px;margin:0 0 4px;padding:0}
.pl-grit-steps li{position:absolute;left:var(--at);top:0;transform:translateX(-50%);display:grid;
  justify-items:center;gap:6px}
.pl-grit-steps i{width:7px;height:7px;border-radius:50%;background:#0a0a09;
  border:1px solid rgba(214,177,106,.45);transition:background .4s ease,box-shadow .4s ease}
.pl-grit-steps li.is-on i{background:#efd08e;box-shadow:0 0 0 3px rgba(200,154,71,.18)}
.pl-grit-steps span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.45rem;
  letter-spacing:.1em;color:rgba(243,238,228,.35);transition:color .4s ease}
.pl-grit-steps li.is-on span{color:rgba(239,208,142,.9)}
.pl-grit-track{height:2px;border-radius:2px;background:rgba(214,177,106,.18);overflow:hidden}
.pl-grit-track span{display:block;height:100%;width:var(--gritw,0%);
  background:linear-gradient(90deg,#8d6119,#efd08e);transition:width .3s linear}

/* gloss + flatness meters */
.pl-gloss{margin:0;display:grid;gap:14px;padding-top:18px;border-top:1px solid rgba(214,177,106,.2)}
.pl-gloss > div{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:center}
.pl-gloss dt{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(243,238,228,.5)}
.pl-gloss dd{margin:0;display:flex;align-items:center;gap:12px}
.pl-bar{flex:1;height:4px;border-radius:4px;background:rgba(214,177,106,.16);overflow:hidden}
.pl-bar i{display:block;height:100%;width:var(--v,0%);border-radius:4px;
  background:linear-gradient(90deg,#8d6119,#efd08e);transition:width .35s ease}
.pl-gloss b{min-width:34px;text-align:right;font-family:Georgia,serif;font-size:.98rem;font-weight:500;
  color:#efd08e;font-variant-numeric:tabular-nums}

/* ============================================================
   SURFACE APPLICATIONS
   ============================================================ */
.applied{padding:52px 34px 55px;background:linear-gradient(158deg,#f8f4ec,#efe6d6 56%,#e8dcc7);color:#1a1710}
.ap-shell{max-width:1380px;margin:auto}
.ap-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.ap-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.ap-h2{margin:0 0 34px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.85rem,2.5vw,2.6rem);line-height:1.05;font-weight:500;letter-spacing:-.042em}
.ap-h2 em{font-style:normal;color:#a5741f}
.ap-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0;margin:0;padding:0;
  border-top:1px solid rgba(141,97,25,.24)}
.ap-list li{display:flex;align-items:baseline;gap:14px;padding:18px 22px 18px 0;
  border-bottom:1px solid rgba(141,97,25,.14);font-family:Georgia,serif;font-size:1.1rem;letter-spacing:-.02em;
  transition:color .4s ease,transform .4s ease}
.ap-list li:hover{color:#8d6119;transform:translateX(4px)}
.ap-n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.16em;color:#a5741f}
.ap-cross{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;padding-top:22px;
  border-top:1px solid rgba(141,97,25,.2)}
.ap-cross span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;color:#8a8175}
.ap-cross a{padding:10px 18px;border-radius:999px;font-size:.88rem;text-decoration:none;color:#4a4237;
  border:1px solid rgba(141,97,25,.28);transition:.4s ease}
.ap-cross a:hover{color:#1a1710;border-color:#a5741f;background:rgba(200,154,71,.1);transform:translateY(-2px)}

/* reveals */
.sp-head,.sp-rail,.pl-head,.pl-steps,.pl-panel,.ap-shell{opacity:0;transform:translateY(20px);
  transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.specimens.is-visible .sp-head,.specimens.is-visible .sp-rail,
.polishline.is-visible .pl-head,.polishline.is-visible .pl-steps,.polishline.is-visible .pl-panel,
.applied.is-visible .ap-shell{opacity:1;transform:none}
.specimens.is-visible .sp-rail{transition-delay:.1s}
.polishline.is-visible .pl-panel{transition-delay:.12s}

@media(max-width:1000px){
  .svc-hero{padding:calc(var(--nav-h) + 46px) 22px 52px}
  .specimens{padding:56px 0 52px}
  .sp-shell,.sp-progress{padding:0 22px}
  .sp-rail{margin:0 -22px;padding:6px 22px 10px}
  .sp-card{flex-basis:270px}
  .polishline{padding:56px 22px 60px}
  .pl-grid{grid-template-columns:1fr;gap:38px}
  .pl-panel{position:relative;top:auto;order:-1;padding:20px 18px 22px}
  .applied{padding:52px 22px 56px}
}
@media(prefers-reduced-motion:reduce){
  .svc-hero-pass{animation:none;opacity:0}
  .svc-hero-layer.is-on img{animation:none}
  .sp-head,.sp-rail,.pl-head,.pl-steps,.pl-panel,.ap-shell{opacity:1;transform:none;transition:none}
  .pl-swap-a{clip-path:inset(0 0 0 var(--wipe,50%))}
  .pl-tag-b{opacity:1}
}

/* ============================================================
   ANTI-SLIP HERO — cursor parallax, bright
   ============================================================ */
.as-hero{position:relative;overflow:hidden;isolation:isolate;background:#0a0a09;
  padding:calc(var(--nav-h) + 78px) 34px 84px;border-bottom-left-radius:24px;border-bottom-right-radius:24px}
.as-hero-deep{position:absolute;inset:-16% 0;z-index:0;will-change:transform;
  transform:translate3d(calc(var(--px,0) * -38px),calc(var(--py,0) * -28px + var(--sy,0px)),0) scale(1.18);
  transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.as-hero-deep img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.72) saturate(1.05) contrast(1.04)}
.as-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(96deg,rgba(6,6,5,.9) 0%,rgba(6,6,5,.66) 40%,rgba(6,6,5,.22) 74%,rgba(6,6,5,.44) 100%),
             linear-gradient(180deg,rgba(6,6,5,.66) 0%,transparent 32%,rgba(6,6,5,.6) 100%)}
.as-hero-mid{position:absolute;inset:-8%;z-index:2;pointer-events:none;opacity:.85;
  background:radial-gradient(38% 34% at 26% 34%,rgba(239,208,142,.2),transparent 66%),
             radial-gradient(30% 28% at 78% 70%,rgba(200,154,71,.16),transparent 68%);
  transform:translate3d(calc(var(--px,0) * 62px),calc(var(--py,0) * 46px),0);
  transition:transform .45s cubic-bezier(.2,.8,.3,1)}
.as-hero-wet{position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(180px 180px at var(--cx,50%) var(--cy,50%),rgba(239,208,142,.16),rgba(239,208,142,.05) 42%,transparent 70%);
  opacity:0;transition:opacity .5s ease}
.as-hero:hover .as-hero-wet{opacity:1}
.as-hero-inner{position:relative;z-index:4;max-width:1380px;margin:auto;
  transform:translate3d(calc(var(--px,0) * 16px),calc(var(--py,0) * 11px),0);
  transition:transform .6s cubic-bezier(.2,.8,.3,1)}
.as-hero h1{margin:16px 0 0;max-width:14ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,5vw,4.4rem);line-height:.99;font-weight:500;letter-spacing:-.045em;color:#fbf8f2;
  text-shadow:0 2px 30px rgba(0,0,0,.5)}
.as-hero h1 em{font-style:normal;color:#efd08e}
.as-hero-lead{margin:20px 0 0;max-width:60ch;font-size:1.06rem;line-height:1.72;color:rgba(250,246,238,.92);
  text-shadow:0 1px 18px rgba(0,0,0,.55)}
.as-hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}

/* ============================================================
   HOW IT WORKS — bright, with cross-section diagram
   ============================================================ */
.howworks{padding:58px 34px 59px;background:linear-gradient(162deg,#fdfbf6,#f4eee1 56%,#ece2d0);color:#1a1710}
.hw-shell{max-width:1380px;margin:auto}
.hw-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.hw-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.hw-h2{margin:0 0 44px;max-width:20ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,2.7vw,2.85rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.hw-h2 em{font-style:normal;color:#a5741f}
.hw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:52px;align-items:center}
.hw-list{margin:0;border-top:1px solid rgba(141,97,25,.24)}
.hw-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;padding:24px 0;
  border-bottom:1px solid rgba(141,97,25,.14)}
.hw-item dt{margin:0;font-family:Georgia,serif;font-size:1.2rem;font-weight:500;color:#8d6119;letter-spacing:-.02em}
.hw-item dd{margin:0;font-size:1rem;line-height:1.74;color:#3f382e}
.hw-fig{margin:0}
.hw-fig figcaption{margin-top:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8175}

/* ============================================================
   BENEFITS — click-to-flip cards
   ============================================================ */
.benefits{padding:56px 34px 61px;background:linear-gradient(180deg,#080807,#0d0c0a 56%,#080807);color:var(--text)}
.bn-shell{max-width:1380px;margin:auto}
.bn-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.bn-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.bn-h2{margin:0 0 42px;max-width:22ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,2.7vw,2.85rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.bn-h2 em{font-style:normal;color:var(--gold-soft)}
.fc-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:20px;margin:0;padding:0}
.fc{perspective:1400px}
.fc-inner{position:relative;display:block;width:100%;min-height:290px;padding:0;border:0;background:none;
  font:inherit;color:inherit;text-align:left;cursor:pointer;transform-style:preserve-3d;
  transition:transform .78s cubic-bezier(.4,.05,.2,1)}
.fc-inner[aria-pressed="true"]{transform:rotateY(180deg)}
.fc-inner:focus-visible{outline:2px solid var(--gold-soft);outline-offset:6px;border-radius:20px}
.fc-face{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:20px;padding:26px 24px;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid rgba(214,177,106,.24);overflow:hidden}
.fc-front{background:linear-gradient(168deg,rgba(20,18,14,.95),rgba(10,10,9,.92));
  box-shadow:0 20px 46px rgba(0,0,0,.4);transition:border-color .45s ease,transform .45s ease}
.fc-inner:hover .fc-front{border-color:rgba(214,177,106,.5)}
.fc-front::after{content:"";position:absolute;top:-60%;left:-30%;width:60%;height:220%;transform:rotate(18deg) translateX(-140%);
  background:linear-gradient(90deg,transparent,rgba(239,208,142,.1),transparent);transition:transform .9s ease}
.fc-inner:hover .fc-front::after{transform:rotate(18deg) translateX(320%)}
.fc-ico{display:block;width:40px;height:40px;margin-bottom:auto}
.fc-ico svg{width:100%;height:100%;fill:none;stroke:var(--gold-soft);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.fc-no{position:absolute;top:24px;right:24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.62rem;letter-spacing:.18em;color:rgba(243,238,228,.34)}
.fc-t{display:block;margin-top:22px;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;
  line-height:1.14;font-weight:500;letter-spacing:-.028em;color:#f3eee4}
.fc-hint{display:block;margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(215,174,101,.7)}
.fc-back{transform:rotateY(180deg);justify-content:center;
  background:linear-gradient(168deg,rgba(200,154,71,.16),rgba(12,11,9,.96) 62%);border-color:rgba(214,177,106,.45)}
.fc-t-sm{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;
  letter-spacing:.2em;text-transform:uppercase;color:#d7ae65;margin-bottom:14px}
.fc-d{display:block;font-size:1rem;line-height:1.7;color:rgba(246,242,234,.94)}

/* ============================================================
   COMPATIBLE FLOOR TYPES
   ============================================================ */
.compat{padding:64px 34px 66px;background:linear-gradient(158deg,#f8f4ec,#efe6d6 56%,#e8dcc7);color:#1a1710}
.cp-shell{max-width:1380px;margin:auto}
.cp-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.cp-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.cp-h2{margin:0 0 28px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,2.4vw,2.5rem);line-height:1.05;font-weight:500;letter-spacing:-.042em}
.cp-h2 em{font-style:normal;color:#a5741f}
.cp-list{list-style:none;display:flex;flex-wrap:wrap;gap:11px;margin:0;padding:0}
.cp-list li{padding:12px 22px;border-radius:999px;font-family:Georgia,serif;font-size:1.02rem;color:#3f382e;
  border:1px solid rgba(141,97,25,.3);background:rgba(255,255,255,.42);transition:.4s ease}
.cp-list li:hover{color:#1a1710;border-color:#a5741f;background:rgba(200,154,71,.14);transform:translateY(-3px)}

/* ============================================================
   TARGET ZONES — parallax photo band
   ============================================================ */
.zones{position:relative;overflow:hidden;isolation:isolate;padding:58px 34px 61px;background:#070706;color:var(--text)}
.zn-bg{position:absolute;inset:-18% 0;z-index:0;will-change:transform;
  transform:translate3d(calc(var(--px,0) * -30px),calc(var(--py,0) * -22px + var(--sy,0px)),0) scale(1.06)}
.zn-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.72) saturate(1.06)}
.zones::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(6,6,5,.86) 0%,rgba(6,6,5,.6) 46%,rgba(6,6,5,.3) 100%),linear-gradient(180deg,rgba(6,6,5,.5),transparent 26%,rgba(6,6,5,.5))}
.zn-shell{position:relative;z-index:2;max-width:1380px;margin:auto}
.zn-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.zn-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.zn-h2{margin:0 0 32px;max-width:18ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.95rem,2.7vw,2.85rem);line-height:1.04;font-weight:500;letter-spacing:-.042em;
  text-shadow:0 2px 26px rgba(0,0,0,.5)}
.zn-h2 em{font-style:normal;color:#efd08e}
.zn-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:0;margin:0;padding:0;
  border-top:1px solid rgba(214,177,106,.2)}
.zn-list li{display:flex;align-items:baseline;gap:14px;padding:17px 20px 17px 0;
  border-bottom:1px solid rgba(214,177,106,.12);font-family:Georgia,serif;font-size:1.08rem;
  color:rgba(246,242,234,.92);transition:color .4s ease,transform .4s ease}
.zn-list li:hover{color:#efd08e;transform:translateX(4px)}
.zn-n{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.16em;color:rgba(215,174,101,.8)}
.zn-cross{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;padding-top:22px;
  border-top:1px solid rgba(214,177,106,.18)}
.zn-cross span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(243,238,228,.45)}
.zn-cross a{padding:10px 18px;border-radius:999px;font-size:.88rem;text-decoration:none;color:rgba(243,238,228,.85);
  border:1px solid rgba(214,177,106,.3);transition:.4s ease}
.zn-cross a:hover{color:#efd08e;border-color:rgba(214,177,106,.7);background:rgba(200,154,71,.12);transform:translateY(-2px)}

/* reveals */
.hw-head,.hw-list,.hw-fig,.bn-head,.fc-grid,.cp-shell,.zn-shell{opacity:0;transform:translateY(20px);
  transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.howworks.is-visible .hw-head,.howworks.is-visible .hw-list,.howworks.is-visible .hw-fig,
.benefits.is-visible .bn-head,.benefits.is-visible .fc-grid,
.compat.is-visible .cp-shell,.zones.is-visible .zn-shell{opacity:1;transform:none}
.howworks.is-visible .hw-fig{transition-delay:.12s}
.benefits.is-visible .fc-grid{transition-delay:.1s}

@media(max-width:1000px){
  .as-hero{padding:calc(var(--nav-h) + 46px) 22px 56px}
  .howworks{padding:56px 22px 58px}
  .hw-grid{grid-template-columns:1fr;gap:34px}
  .hw-item{grid-template-columns:118px minmax(0,1fr);gap:16px}
  .benefits{padding:56px 22px 60px}
  .fc-inner{min-height:262px}
  .compat{padding:48px 22px 50px}
  .zones{padding:56px 22px 60px}
}
@media(max-width:600px){
  .hw-item{grid-template-columns:1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .as-hero-deep,.as-hero-mid,.as-hero-inner,.zn-bg,.hw-ph,.hw-badge{transform:none;transition:none}
  .as-hero-wet{display:none}
  .fc-inner{transition:none}
  .hw-head,.hw-list,.hw-fig,.bn-head,.fc-grid,.cp-shell,.zn-shell{opacity:1;transform:none;transition:none}
}

/* ---- How It Works: parallax photo stack ---- */
.hw-stack{position:relative;aspect-ratio:1/1;max-width:560px;margin-left:auto}
.hw-ph{position:absolute;border-radius:20px;overflow:hidden;
  border:1px solid rgba(141,97,25,.28);box-shadow:0 26px 60px rgba(26,23,16,.28);
  transition:transform .5s cubic-bezier(.2,.8,.3,1)}
.hw-ph img{width:100%;height:100%;object-fit:cover;display:block}
.hw-ph-a{left:0;top:0;width:76%;height:66%;
  transform:translate3d(calc(var(--px,0) * -26px),calc(var(--py,0) * -18px + var(--sy,0px) * .55),0)}
.hw-ph-b{right:0;bottom:6%;width:58%;height:52%;z-index:3;
  transform:translate3d(calc(var(--px,0) * 34px),calc(var(--py,0) * 24px + var(--sy,0px) * -.75),0)}
.hw-ph-c{left:8%;bottom:0;width:44%;height:40%;z-index:2;
  transform:translate3d(calc(var(--px,0) * 14px),calc(var(--py,0) * 10px + var(--sy,0px) * -.35),0)}
.hw-tag{position:absolute;left:12px;top:11px;padding:6px 12px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;
  color:#0f0c06;background:linear-gradient(180deg,#e6c079,#c89a47)}
.hw-tag-warn{color:#f6f2ea;background:rgba(18,16,12,.82);border:1px solid rgba(214,177,106,.4)}
.hw-badge{position:absolute;left:0;bottom:16%;z-index:4;padding:16px 20px;border-radius:16px;text-align:left;
  background:rgba(12,11,9,.9);border:1px solid rgba(214,177,106,.34);backdrop-filter:blur(10px);
  box-shadow:0 18px 42px rgba(0,0,0,.4);
  transform:translate3d(calc(var(--px,0) * -46px),calc(var(--py,0) * -32px),0)}
.hw-badge strong{display:block;font-family:Georgia,serif;font-size:1.7rem;line-height:1;color:#efd08e;letter-spacing:-.03em}
.hw-badge span{display:block;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,238,228,.62)}

/* ---- flip card front photo ---- */
.fc-ph{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:20px}
.fc-ph img{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.08);filter:brightness(.72) saturate(1);transition:transform .9s cubic-bezier(.4,0,.2,1),filter .6s ease}
.fc-inner:hover .fc-ph img{transform:scale(1.16);filter:brightness(.88) saturate(1.05)}
.fc-ph::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,6,5,.1) 0%,rgba(6,6,5,.34) 46%,rgba(6,6,5,.8) 100%)}
.fc-front{background:none}
.fc-ico,.fc-no,.fc-t,.fc-hint{position:relative;z-index:2}
.fc-ico svg{filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
.fc-t{text-shadow:0 2px 16px rgba(0,0,0,.7)}

@media(max-width:1000px){
  .hw-stack{max-width:none;margin:0 auto;aspect-ratio:4/3}
  .hw-badge{padding:13px 16px}
  .hw-badge strong{font-size:1.4rem}
}
@media(prefers-reduced-motion:reduce){
  .hw-ph,.hw-badge{transform:none;transition:none}
  .fc-ph img{transition:none}
}

/* ============================================================
   NAV SERVICES DROPDOWN — shared across all current pages
   ============================================================ */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-drop-toggle{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;
  color:rgba(243,238,228,.94);font:inherit;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;position:relative
}
.nav-drop-toggle svg{width:15px;height:15px;transition:transform .22s ease;color:var(--gold-soft)}
.nav-drop-toggle.active::after,.nav-drop-toggle:hover::after,.nav-dropdown:focus-within .nav-drop-toggle::after{
  content:"";position:absolute;left:0;right:0;bottom:-13px;height:2px;border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 0 16px rgba(214,177,106,.35)
}
.nav-submenu{
  position:absolute;top:calc(100% + 22px);left:50%;width:270px;padding:8px;
  background:rgba(7,7,7,.98);border:1px solid rgba(214,177,106,.22);border-radius:14px;
  box-shadow:0 22px 55px rgba(0,0,0,.5);backdrop-filter:blur(18px);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:80
}
.nav-submenu::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.nav-submenu a{
  display:block;padding:11px 13px!important;border:0!important;border-radius:9px;color:rgba(243,238,228,.88)!important;
  font-size:.88rem!important;line-height:1.25;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease
}
.nav-submenu a::after{display:none!important}
.nav-submenu a:hover,.nav-submenu a:focus-visible,.nav-submenu a.active-sub{
  background:rgba(214,177,106,.1);color:var(--gold-bright)!important;transform:translateX(2px)
}
@media(min-width:1181px){
  .nav{gap:clamp(18px,1.65vw,30px)}
  .nav>a,.nav-drop-toggle{font-size:clamp(.88rem,.86vw,1rem)}
  .nav-dropdown:not(.is-shut):hover .nav-submenu,.nav-dropdown:not(.is-shut):focus-within .nav-submenu,.nav-dropdown.is-open .nav-submenu{
    opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)
  }
  .nav-dropdown:not(.is-shut):hover .nav-drop-toggle svg,.nav-dropdown:not(.is-shut):focus-within .nav-drop-toggle svg,.nav-dropdown.is-open .nav-drop-toggle svg{transform:rotate(180deg)}
}
@media(max-width:1180px){
  .nav-dropdown{display:block;width:100%}
  .nav-drop-toggle{
    width:100%;justify-content:space-between;padding:15px 4px;border-bottom:1px solid rgba(214,177,106,.1);
    font-size:1.02rem;text-align:left
  }
  .nav-drop-toggle.active::after,.nav-drop-toggle:hover::after,.nav-dropdown:focus-within .nav-drop-toggle::after{
    left:0;right:auto;bottom:11px;width:26px
  }
  .nav-dropdown.is-open .nav-drop-toggle svg{transform:rotate(180deg)}
  .nav-submenu{
    position:static;width:100%;padding:0 0 0 14px;border:0;border-radius:0;box-shadow:none;background:rgba(214,177,106,.025);
    backdrop-filter:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none;transition:none
  }
  .nav-dropdown.is-open .nav-submenu{display:block}
  .nav-submenu::before{display:none}
  .nav-submenu a{padding:12px 10px!important;border-bottom:1px solid rgba(214,177,106,.08)!important;font-size:.92rem!important}
  .nav-submenu a:last-child{border-bottom:0!important}
  .nav-submenu a:hover,.nav-submenu a:focus-visible,.nav-submenu a.active-sub{transform:none}
}
#polished-concrete-service{scroll-margin-top:100px}


/* ============================================================
   POLISHED CONCRETE — page identity: cool steel + gold
   ============================================================ */
.pc-hero,.stages,.versus,.pc-cta{
  --steel:#8fa8b6; --steel-dim:#5d7683; --steel-ink:#0a1116;
}
.btn-steel{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:999px;
  font-size:.9rem;font-weight:600;text-decoration:none;color:#dbe7ee;
  border:1px solid rgba(143,168,182,.7);background:rgba(24,36,43,.7);transition:.4s ease}
.btn-steel:hover{color:#fff;border-color:rgba(143,168,182,.9);background:rgba(143,168,182,.16);transform:translateY(-2px)}

/* ---- hero: interactive grit dial ---- */
.pc-hero{position:relative;overflow:hidden;isolation:isolate;background:#070a0c;
  padding:calc(var(--nav-h) + 70px) 34px 76px;border-bottom-left-radius:24px;border-bottom-right-radius:24px}
.pc-stack{position:absolute;inset:0;z-index:0}
.pc-shot{position:absolute;inset:0;opacity:0;transition:opacity 1s cubic-bezier(.4,0,.2,1)}
.pc-shot.is-on{opacity:1}
.pc-shot img{width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(calc(.58 + var(--pol,0) * .3)) contrast(calc(1.04 + var(--pol,0) * .2)) saturate(calc(.82 + var(--pol,0) * .36));
  transform:scale(1.05);transition:filter .7s ease}
.pc-gloss{position:absolute;inset:0;pointer-events:none;opacity:var(--pol,0);
  background:linear-gradient(112deg,transparent 34%,rgba(219,231,238,.14) 48%,rgba(239,208,142,.13) 55%,transparent 68%);
  transition:opacity .7s ease}
.pc-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(98deg,rgba(6,9,11,.86) 0%,rgba(6,9,11,.6) 42%,rgba(6,9,11,.16) 76%,rgba(6,9,11,.42) 100%),
             linear-gradient(180deg,rgba(6,9,11,.5) 0%,transparent 32%,rgba(6,9,11,.6) 100%)}
.pc-hero-inner{position:relative;z-index:2;max-width:1380px;margin:auto;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:52px;align-items:end}
.pc-hero h1{margin:16px 0 0;max-width:13ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,5vw,4.4rem);line-height:.99;font-weight:500;letter-spacing:-.045em;color:#f6f8fa;
  text-shadow:0 2px 30px rgba(0,0,0,.55)}
.pc-hero h1 em{font-style:normal;color:#efd08e}
.pc-hero-lead{margin:20px 0 0;max-width:52ch;font-size:1.05rem;line-height:1.72;color:rgba(233,240,245,.9);
  text-shadow:0 1px 16px rgba(0,0,0,.55)}
.pc-hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}

.pc-dial{padding:24px 26px 26px;border-radius:22px;background:rgba(10,15,18,.74);
  border:1px solid rgba(143,168,182,.55);backdrop-filter:blur(14px);
  box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(219,231,238,.12)}
.pc-dial-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.pc-dial-lab{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(219,231,238,.6)}
.pc-dial-read{display:flex;align-items:baseline;gap:7px}
.pc-dial-read b{font-family:Georgia,serif;font-size:2.3rem;font-weight:500;color:#efd08e;
  letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.pc-dial-read em{font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(219,231,238,.55)}
.pc-range{-webkit-appearance:none;appearance:none;width:100%;height:26px;background:none;cursor:grab;display:block}
.pc-range:active{cursor:grabbing}
.pc-range::-webkit-slider-runnable-track{height:4px;border-radius:4px;
  background:linear-gradient(90deg,#8d6119 0%,#efd08e var(--fill,0%),rgba(143,168,182,.22) var(--fill,0%))}
.pc-range::-moz-range-track{height:4px;border-radius:4px;background:rgba(143,168,182,.22)}
.pc-range::-moz-range-progress{height:4px;border-radius:4px;background:linear-gradient(90deg,#8d6119,#efd08e)}
.pc-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;margin-top:-9px;
  background:radial-gradient(circle at 34% 30%,#fff5e0,#e6c079 46%,#b6862f);
  border:1px solid rgba(255,240,205,.8);box-shadow:0 0 0 6px rgba(200,154,71,.14),0 6px 16px rgba(0,0,0,.5)}
.pc-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,240,205,.8);
  background:radial-gradient(circle at 34% 30%,#fff5e0,#e6c079 46%,#b6862f);box-shadow:0 0 0 6px rgba(200,154,71,.14)}
.pc-range:focus-visible{outline:2px solid #efd08e;outline-offset:6px;border-radius:8px}
.pc-dial-scale{display:flex;justify-content:space-between;margin-top:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;letter-spacing:.14em;color:rgba(219,231,238,.42)}
.pc-dial-state{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:15px;
  border-top:1px solid rgba(143,168,182,.2)}
.pc-dot{width:8px;height:8px;border-radius:50%;background:#efd08e;box-shadow:0 0 0 4px rgba(200,154,71,.16)}
.pc-dial-state b{font-family:Georgia,serif;font-size:1.1rem;font-weight:500;color:#e9f0f5;letter-spacing:-.02em}

/* ---- stages: pinned horizontal ---- */
.stages{position:relative;background:linear-gradient(180deg,#0c1114,#12191d 58%,#0c1114);color:var(--text)}
.stg-sticky{position:sticky;top:0;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:40px 0}
.stg-shell{width:100%;max-width:1380px;margin:auto;padding:0 34px}
.stg-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.stg-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.stg-h2{margin:0 0 20px;max-width:20ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,2.6vw,2.7rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.stg-h2 em{font-style:normal;color:var(--gold-soft)}
.stg-progress{height:2px;border-radius:2px;background:rgba(143,168,182,.2);margin-bottom:34px;max-width:420px}
.stg-progress span{display:block;height:100%;width:var(--stgp,6%);border-radius:2px;
  background:linear-gradient(90deg,#5d7683,#efd08e);transition:width .25s linear}
.stg-track{display:flex;gap:24px;will-change:transform;transform:translate3d(var(--stgx,0px),0,0)}
.stg-card{flex:0 0 clamp(280px,26vw,378px);padding:14px;border-radius:22px;
  background:linear-gradient(168deg,rgba(30,38,43,.6),rgba(10,13,15,.5));
  border:1px solid rgba(143,168,182,.34);box-shadow:0 18px 40px rgba(0,0,0,.34);
  transition:border-color .5s ease,transform .5s ease,box-shadow .5s ease}
.stg-card:hover{border-color:rgba(239,208,142,.65);transform:translateY(-5px);box-shadow:0 26px 54px rgba(0,0,0,.45)}
.stg-media{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.stg-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform .8s ease}
.stg-card:hover .stg-media img{transform:scale(1.12)}
.stg-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,9,11,.08),rgba(6,9,11,.6))}
.stg-no{position:absolute;z-index:2;left:13px;top:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.62rem;letter-spacing:.18em;color:#efd08e}
.stg-chip{position:absolute;z-index:2;right:11px;top:10px;padding:5px 11px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;
  color:#eaf2f7;background:rgba(10,17,22,.78);border:1px solid rgba(143,168,182,.4)}
.stg-card h3{margin:16px 4px 8px;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;
  line-height:1.14;font-weight:500;letter-spacing:-.028em;color:#f3f7fa}
.stg-card p{margin:0 4px;font-size:.92rem;line-height:1.7;color:rgba(233,240,245,.68)}
.stg-meta{display:block;margin:14px 4px 4px;padding-top:12px;border-top:1px solid rgba(143,168,182,.16);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(239,208,142,.75)}

/* ---- finish options ---- */
.finishes{padding:56px 34px 59px;background:linear-gradient(160deg,#f7f8f9,#eceff1 56%,#dfe5e8);color:#111619}
.fin-shell{max-width:1380px;margin:auto}
.fin-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#5d7683;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.fin-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
.fin-h2{margin:0;max-width:20ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,2.6vw,2.75rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.fin-h2 em{font-style:normal;color:#8d6119}
.fin-note{margin:14px 0 30px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#6c7a82}
.fin-row{display:flex;gap:16px;height:min(474px,58vh)}
.fin-panel{position:relative;flex:1 1 0;min-width:0;padding:0;border:0;background:none;cursor:pointer;
  border-radius:20px;overflow:hidden;font:inherit;color:inherit;text-align:left;
  border:1px solid rgba(93,118,131,.34);box-shadow:0 20px 46px rgba(17,22,25,.22);
  transition:flex-grow .75s cubic-bezier(.4,0,.2,1),border-color .5s ease}
.fin-panel.is-active{border-color:rgba(200,154,71,.6)}
.fin-panel.is-active{flex-grow:3.4}
.fin-panel:focus-visible{outline:2px solid #8d6119;outline-offset:4px}
.fin-media{position:absolute;inset:0}
.fin-media img{width:100%;height:100%;object-fit:cover;display:block;
  filter:brightness(.6) saturate(.92);transition:filter .7s ease,transform .9s ease;transform:scale(1.06)}
.fin-panel.is-active .fin-media img{filter:brightness(.76) saturate(1.04);transform:scale(1)}
.fin-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,9,11,.1),rgba(6,9,11,.84))}
.fin-body{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;padding:26px 26px 28px;
  opacity:0;transform:translateY(14px);transition:opacity .5s ease .12s,transform .6s cubic-bezier(.4,0,.2,1) .1s}
.fin-panel.is-active .fin-body{opacity:1;transform:none}
.fin-tag{display:inline-block;margin-bottom:12px;padding:5px 12px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;letter-spacing:.18em;
  text-transform:uppercase;color:#0f0c06;background:linear-gradient(180deg,#e6c079,#c89a47)}
.fin-t{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;line-height:1.1;
  font-weight:500;letter-spacing:-.03em;color:#fbfcfd;text-shadow:0 2px 18px rgba(0,0,0,.65)}
.fin-d{display:block;margin-top:10px;max-width:44ch;font-size:.96rem;line-height:1.7;color:rgba(248,251,253,.92)}
.fin-scale{display:block;margin-top:18px;max-width:280px}
.fin-scale em{display:block;font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(219,231,238,.62);margin-bottom:8px}
.fin-scale i{display:block;height:4px;border-radius:4px;background:rgba(219,231,238,.22);position:relative;overflow:hidden}
.fin-scale i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:0;border-radius:4px;
  background:linear-gradient(90deg,#8d6119,#efd08e);transition:width .9s cubic-bezier(.4,0,.2,1) .2s}
.fin-panel.is-active .fin-scale i::after{width:var(--exp,50%)}
.fin-spine{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:flex-end;
  justify-content:center;padding:22px 10px;transition:opacity .4s ease}
.fin-panel.is-active .fin-spine{opacity:0;pointer-events:none}
.fin-spine span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;
  font-family:Georgia,serif;font-size:1.12rem;letter-spacing:-.02em;color:#fbfcfd;text-shadow:0 2px 16px rgba(0,0,0,.7)}

/* ---- versus table ---- */
.versus{padding:59px 34px 61px;background:linear-gradient(180deg,#0c1114,#131a1f 55%,#0c1114);color:var(--text)}
.vs-shell{max-width:1380px;margin:auto}
.vs-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.vs-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.vs-h2{margin:0 0 38px;max-width:19ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,2.6vw,2.75rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.vs-h2 em{font-style:normal;color:#efd08e}
.cmp{border:1px solid rgba(143,168,182,.38);border-radius:22px;overflow:hidden;
  background:linear-gradient(168deg,rgba(30,39,45,.68),rgba(13,18,21,.68));
  box-shadow:0 24px 56px rgba(0,0,0,.36)}
.cmp-head,.cmp-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.09fr) minmax(0,1.09fr)}
.cmp-head{border-bottom:1px solid rgba(143,168,182,.4);background:rgba(143,168,182,.07)}
.cmp-head .cmp-cell{padding:18px 24px}
.cmp-row{border-top:1px solid rgba(143,168,182,.26);transition:background .4s ease}
.cmp-row:hover{background:rgba(143,168,182,.06)}
.cmp-row:first-of-type{border-top:0}
.cmp-crit{padding:24px;display:flex;align-items:center;font-family:Georgia,serif;font-size:1.06rem;
  letter-spacing:-.02em;color:#f1f6f9;border-right:1px solid rgba(143,168,182,.26)}
.cmp-cell{display:flex;gap:14px;padding:24px;align-items:flex-start}
.cmp-cell.cmp-yes{background:rgba(200,154,71,.11);border-right:1px solid rgba(143,168,182,.26)}
.cmp-cell p{margin:0;font-size:.94rem;line-height:1.68;color:rgba(238,244,248,.94)}
.cmp-no p{color:rgba(233,240,245,.66)}
.cmp-mark{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(239,208,142,.45);background:rgba(200,154,71,.1)}
.cmp-mark svg{width:15px;height:15px;fill:none;stroke:#efd08e;stroke-width:2.2;stroke-linecap:round}
.cmp-mark-x{border-color:rgba(143,168,182,.3);background:rgba(143,168,182,.08)}
.cmp-mark-x svg{stroke:rgba(219,231,238,.5)}
.cmp-badge{display:inline-block;padding:8px 16px;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#0f0c06;
  background:linear-gradient(180deg,#e6c079,#c89a47)}
.cmp-badge-mute{color:rgba(219,231,238,.7);background:none;border:1px solid rgba(143,168,182,.35)}
.vs-foot{margin:18px 0 0;font-size:.76rem;line-height:1.6;color:rgba(233,240,245,.4)}

/* ---- closing CTA ---- */
.pc-cta{padding:49px 34px 53px;background:linear-gradient(150deg,#131f26,#0d151a 58%,#101a1f);color:var(--text);
  border-top:1px solid rgba(143,168,182,.3)}
.pcc-shell{max-width:1380px;margin:auto}
.pcc-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;
  padding:38px 40px;border-radius:24px;border:1px solid rgba(143,168,182,.42);
  background:linear-gradient(150deg,rgba(38,52,60,.6),rgba(14,20,24,.6));
  box-shadow:0 26px 60px rgba(0,0,0,.38),inset 0 1px 0 rgba(219,231,238,.12)}
.pc-cta h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,2.2vw,2.2rem);
  line-height:1.08;font-weight:500;letter-spacing:-.038em;color:#f4f8fa}
.pc-cta p{margin:0;max-width:56ch;font-size:.99rem;line-height:1.7;color:rgba(236,243,247,.88)}
.pcc-btns{display:flex;flex-wrap:wrap;gap:13px}
.pcc-cross{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;
  padding-top:24px;border-top:1px solid rgba(143,168,182,.28)}
.pcc-cross span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(233,240,245,.45)}
.pcc-cross a{padding:10px 18px;border-radius:999px;font-size:.88rem;text-decoration:none;color:#eaf1f5;
  border:1px solid rgba(143,168,182,.5);transition:.4s ease}
.pcc-cross a:hover{color:#efd08e;border-color:rgba(239,208,142,.6);background:rgba(200,154,71,.1);transform:translateY(-2px)}

/* reveals */
.fin-head,.fin-row,.vs-shell,.pcc-shell{opacity:0;transform:translateY(20px);
  transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.finishes.is-visible .fin-head,.finishes.is-visible .fin-row,
.versus.is-visible .vs-shell,.pc-cta.is-visible .pcc-shell{opacity:1;transform:none}
.finishes.is-visible .fin-row{transition-delay:.1s}

@media(max-width:1000px){
  .pc-hero{padding:calc(var(--nav-h) + 44px) 22px 52px}
  .pc-hero-inner{grid-template-columns:1fr;gap:34px;align-items:start}
  .stages{height:auto!important;padding:56px 22px 60px}
  .stg-sticky{position:relative;min-height:0;padding:0;overflow:visible}
  .stg-shell{padding:0}
  .stg-track{display:grid;grid-template-columns:1fr;gap:24px;transform:none!important}
  .stg-card{flex:none}
  .stg-progress{display:none}
  .finishes{padding:56px 22px 60px}
  .fin-row{flex-direction:column;height:auto;gap:14px}
  .fin-panel{flex:none;height:200px}
  .fin-panel.is-active{height:372px}
  .fin-spine span{writing-mode:horizontal-tb;transform:none}
  .fin-spine{justify-content:flex-start;padding:22px 24px}
  .versus{padding:56px 22px 60px}
  .cmp-head{display:none}
  .cmp-row{grid-template-columns:1fr;gap:0}
  .cmp-crit{border-right:0;border-bottom:1px solid rgba(143,168,182,.12);
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;letter-spacing:.18em;
    text-transform:uppercase;color:rgba(239,208,142,.8);padding:18px 20px}
  .cmp-cell{padding:18px 20px}
  .cmp-cell.cmp-yes{border-right:0;border-bottom:1px solid rgba(143,168,182,.12)}

  /* The header row is hidden on mobile, which left both cells unattributed —
     the reader couldn't tell which answer belonged to which product. Restack
     each cell as [badge] / [mark + copy] and carry the label per cell. */
  .cmp-cell[data-label]{display:grid;grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"label label" "mark copy";gap:6px 12px;align-items:start}
  .cmp-cell[data-label]::before{content:attr(data-label);grid-area:label;
    justify-self:start;margin-bottom:4px;padding:6px 13px;border-radius:999px;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;
    letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
  .cmp-cell.cmp-yes[data-label]::before{color:#0f0c06;
    background:linear-gradient(180deg,#e6c079,#c89a47)}
  .cmp-cell.cmp-no[data-label]::before{color:rgba(219,231,238,.7);
    background:none;border:1px solid rgba(143,168,182,.35)}
  .cmp-cell[data-label] .cmp-mark{grid-area:mark}
  .cmp-cell[data-label] p{grid-area:copy;align-self:center}
  .pc-cta{padding:48px 22px 54px}
  .pcc-card{grid-template-columns:1fr;padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){
  .stg-track{transform:none!important}
  .fin-panel,.fin-body,.fin-media img,.pc-shot,.pc-gloss{transition:none}
  .fin-head,.fin-row,.vs-shell,.pcc-shell{opacity:1;transform:none;transition:none}
}

/* ============================================================
   SECTORS PAGE
   ============================================================ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- hero with jump index ---- */
.sx-hero{position:relative;overflow:hidden;isolation:isolate;background:#070706;
  padding:calc(var(--nav-h) + 72px) 34px 0;border-bottom-left-radius:24px;border-bottom-right-radius:24px}
.sx-hero-bg{position:absolute;inset:-24% 0;z-index:0;will-change:transform;
  transform:translate3d(calc(var(--px,0) * -22px),var(--sy,0px),0) scale(1.16)}
.sx-hero-bg img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.6) saturate(.95)}
.sx-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(98deg,rgba(6,6,5,.88) 0%,rgba(6,6,5,.62) 42%,rgba(6,6,5,.24) 78%,rgba(6,6,5,.46) 100%),
             linear-gradient(180deg,rgba(6,6,5,.52) 0%,transparent 30%,rgba(6,6,5,.82) 100%)}
.sx-hero-inner{position:relative;z-index:2;max-width:1380px;margin:auto}
.sx-hero h1{margin:16px 0 0;max-width:15ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.5rem,5vw,4.4rem);line-height:.99;font-weight:500;letter-spacing:-.045em;color:#f8f5ef;
  text-shadow:0 2px 30px rgba(0,0,0,.55)}
.sx-hero h1 em{font-style:normal;color:#efd08e}
.sx-hero-lead{margin:20px 0 0;max-width:58ch;font-size:1.05rem;line-height:1.72;color:rgba(248,245,239,.88)}
.sx-hero-jump{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;
  margin:46px 0 0;padding:0;border-top:1px solid rgba(214,177,106,.3)}
.sx-hero-jump li{border-left:1px solid rgba(214,177,106,.16)}
.sx-hero-jump li:first-child{border-left:0}
.sx-hero-jump a{position:relative;display:block;padding:22px 20px 26px;text-decoration:none;
  font-family:Georgia,serif;font-size:1.02rem;line-height:1.24;letter-spacing:-.02em;
  color:rgba(248,245,239,.8);transition:color .4s ease,background .4s ease}
.sx-hero-jump a::after{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;
  background:linear-gradient(90deg,#c89a47,#efd08e);transition:width .5s cubic-bezier(.4,0,.2,1)}
.sx-hero-jump a:hover{color:#fff;background:rgba(200,154,71,.09)}
.sx-hero-jump a:hover::after{width:100%}
.sx-hero-jump span{display:block;margin-bottom:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;letter-spacing:.2em;color:rgba(215,174,101,.85)}

/* ---- service × sector matrix ---- */
.matrix{padding:56px 34px 58px;background:linear-gradient(160deg,#faf7f0,#f2ebdd 58%,#e9dfcb);color:#1a1710}
.mx-shell{max-width:1380px;margin:auto}
.mx-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.mx-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.mx-h2{margin:0 0 38px;max-width:20ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,2.6vw,2.75rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.mx-h2 em{font-style:normal;color:#a5741f}
.mx{border:1px solid rgba(141,97,25,.34);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.4);
  box-shadow:0 22px 50px rgba(26,23,16,.12)}
.mx-headrow,.mx-row{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
.mx-headrow{background:rgba(141,97,25,.09);border-bottom:1px solid rgba(141,97,25,.3)}
.mx-col{padding:18px 16px;text-align:center;border-left:1px solid rgba(141,97,25,.18)}
.mx-col span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:#8d6119;font-weight:600}
.mx-row{border-top:1px solid rgba(141,97,25,.2);transition:background .35s ease}
.mx-row:hover{background:rgba(200,154,71,.09)}
.mx-rowhead{display:flex;align-items:center;gap:12px;padding:20px 22px;
  font-family:Georgia,serif;font-size:1.06rem;letter-spacing:-.02em;color:#1a1710}
.mx-rowhead b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;
  letter-spacing:.16em;color:#a5741f;font-weight:600}
.mx-cell{display:grid;place-items:center;padding:20px 16px;border-left:1px solid rgba(141,97,25,.18)}
.mx-dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  border:1px dashed rgba(141,97,25,.3);background:none}
.mx-cell.is-on .mx-dot{border:1px solid transparent;background:linear-gradient(180deg,#e6c079,#c89a47);
  box-shadow:0 4px 14px rgba(200,154,71,.4)}
.mx-dot svg{width:15px;height:15px;fill:none;stroke:#1a1207;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mx-note{margin:16px 0 0;font-size:.78rem;line-height:1.6;color:#8a8175}

/* ---- sector chapters with sticky index ---- */
.sectorlist{padding:58px 34px 61px;background:linear-gradient(180deg,#070706,#0b0a08 55%,#070706);color:var(--text)}
.sx-shell{max-width:1380px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:56px;align-items:start}
.sx-index{position:sticky;top:calc(var(--nav-h) + 34px)}
.sx-idx-lab{display:block;margin-bottom:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,238,228,.4)}
.sx-idx-nav{display:grid;border-left:1px solid rgba(214,177,106,.2)}
.sx-idx-item{position:relative;display:grid;gap:5px;padding:13px 0 13px 18px;text-decoration:none;
  color:rgba(243,238,228,.55);transition:color .4s ease}
.sx-idx-item::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;transform:scaleY(0);
  transform-origin:center;background:linear-gradient(180deg,#c89a47,#efd08e);
  transition:transform .5s cubic-bezier(.4,0,.2,1)}
.sx-idx-item.is-on::before{transform:scaleY(1)}
.sx-idx-item.is-on,.sx-idx-item:hover{color:#f3eee4}
.sx-idx-no{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;
  letter-spacing:.18em;color:rgba(215,174,101,.7)}
.sx-idx-name{font-family:Georgia,serif;font-size:1rem;line-height:1.2;letter-spacing:-.02em}
.sx-chapters{display:grid;gap:26px}
.sx-ch{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;scroll-margin-top:120px;
  border:1px solid rgba(214,177,106,.24);border-radius:22px;overflow:hidden;
  background:linear-gradient(160deg,rgba(24,21,16,.7),rgba(10,10,9,.7));
  box-shadow:0 22px 50px rgba(0,0,0,.35);transition:border-color .5s ease,transform .5s ease}
.sx-ch:hover{border-color:rgba(214,177,106,.5);transform:translateY(-3px)}
/* the chapter you are reading brightens; the rest recede */
.sx-ch.is-on{border-color:rgba(214,177,106,.55);
  background:linear-gradient(160deg,rgba(38,32,22,.82),rgba(14,13,11,.82));
  box-shadow:0 26px 58px rgba(0,0,0,.42),0 0 40px rgba(200,154,71,.09)}
.sx-ch.is-on .sx-ch-media img{filter:brightness(1) saturate(1.02)}
.sx-ch.is-on .sx-ch-media::after{opacity:.6}
.sx-ch.is-on .sx-ch-body h3{color:#fff}
.sx-ch.is-on .sx-pts li{color:rgba(246,242,234,.94)}
.sx-ch:not(.is-on) .sx-ch-body h3{color:rgba(246,242,234,.72)}
.sx-ch:not(.is-on) .sx-pts li{color:rgba(243,238,228,.62)}
.sx-ch-media{position:relative;min-height:270px}
.sx-ch-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.04);filter:brightness(.62) saturate(.85);
  transition:transform .9s cubic-bezier(.4,0,.2,1),filter .7s ease}
.sx-ch:hover .sx-ch-media img{transform:scale(1.1)}
.sx-ch-media::after{content:"";position:absolute;inset:0;transition:opacity .7s ease;
  background:linear-gradient(100deg,rgba(6,6,5,.16),rgba(6,6,5,.6))}
.sx-ch-no{position:absolute;z-index:2;left:18px;top:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.62rem;letter-spacing:.2em;color:#efd08e}
.sx-ch-body{padding:30px 32px 32px}
.sx-ch-body h3{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:1.62rem;
  line-height:1.1;font-weight:500;letter-spacing:-.032em;color:#f6f2ea}
.sx-where{margin:0 0 20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(215,174,101,.8)}
.sx-pts{list-style:none;margin:0;padding:0;border-top:1px solid rgba(214,177,106,.16)}
.sx-pts li{position:relative;padding:15px 0 15px 24px;border-bottom:1px solid rgba(214,177,106,.1);
  font-size:.97rem;line-height:1.7;color:rgba(243,238,228,.82)}
.sx-pts li::before{content:"";position:absolute;left:2px;top:23px;width:7px;height:7px;border-radius:50%;
  background:linear-gradient(180deg,#e6c079,#c89a47)}
.sx-svc{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}
.sx-svc span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(243,238,228,.42)}
.sx-svc a{padding:8px 15px;border-radius:999px;font-size:.83rem;text-decoration:none;
  color:rgba(243,238,228,.85);border:1px solid rgba(214,177,106,.35);transition:.4s ease}
.sx-svc a:hover{color:#efd08e;border-color:rgba(214,177,106,.75);background:rgba(200,154,71,.12);transform:translateY(-2px)}

/* ---- closing CTA ---- */
.sx-cta{padding:60px 34px 66px;background:linear-gradient(150deg,#141210,#0b0a08 60%,#100e0b);
  color:var(--text);border-top:1px solid rgba(214,177,106,.24)}
.sxc-shell{max-width:1380px;margin:auto}
.sxc-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;
  padding:36px 38px;border-radius:24px;border:1px solid rgba(214,177,106,.38);
  background:linear-gradient(150deg,rgba(46,38,25,.5),rgba(14,13,10,.6));
  box-shadow:0 26px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(243,238,228,.09)}
.sx-cta h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,2.2vw,2.2rem);
  line-height:1.08;font-weight:500;letter-spacing:-.038em;color:#f6f2ea}
.sx-cta p{margin:0;max-width:58ch;font-size:.99rem;line-height:1.7;color:rgba(243,238,228,.82)}
.sxc-btns{display:flex;flex-wrap:wrap;gap:13px}

/* reveals */
.mx-head,.mx,.sx-chapters,.sxc-card{opacity:0;transform:translateY(20px);
  transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.matrix.is-visible .mx-head,.matrix.is-visible .mx,
.sectorlist.is-visible .sx-chapters,.sx-cta.is-visible .sxc-card{opacity:1;transform:none}
.matrix.is-visible .mx{transition-delay:.1s}

@media(max-width:1000px){
  .sx-hero{padding:calc(var(--nav-h) + 44px) 22px 0}
  .sx-hero-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sx-hero-jump li{border-top:1px solid rgba(214,177,106,.14)}
  .sx-hero-jump li:nth-child(odd){border-left:0}
  .matrix{padding:56px 22px 58px}
  .mx-headrow{display:none}
  .mx-row{grid-template-columns:1fr}
  .mx-rowhead{border-bottom:1px solid rgba(141,97,25,.16)}
  .mx-cell{grid-template-columns:30px 1fr;place-items:center start;gap:12px;justify-content:start;
    border-left:0;padding:12px 22px;display:grid}
  .mx-cell .sr-only{position:static;width:auto;height:auto;margin:0;clip:auto;white-space:normal;
    font-size:.85rem;color:#4a4237}
  .mx-cell:not(.is-on) .sr-only{color:#9c9384;text-decoration:line-through}
  .sectorlist{padding:56px 22px 60px}
  .sx-shell{grid-template-columns:1fr;gap:30px}
  .sx-index{position:relative;top:auto}
  .sx-idx-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;border-left:0;
    border-top:1px solid rgba(214,177,106,.2);gap:0}
  .sx-idx-item{padding:12px 18px 12px 0}
  .sx-idx-item::before{left:0;right:auto;top:-1px;bottom:auto;width:100%;height:2px;transform:scaleX(0)}
  .sx-idx-item.is-on::before{transform:scaleX(1)}
  .sx-ch{grid-template-columns:1fr}
  .sx-ch-media{min-height:200px}
  .sx-ch-body{padding:24px 22px 26px}
  .sx-cta{padding:48px 22px 52px}
  .sxc-card{grid-template-columns:1fr;padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){
  .sx-hero-bg,.sx-ch,.sx-ch-media img{transform:none;transition:none}
  .mx-head,.mx,.sx-chapters,.sxc-card{opacity:1;transform:none;transition:none}
}

/* ============================================================
   MAINTENANCE — light, calm, checklist-led
   ============================================================ */
.mt-hero{padding:calc(var(--nav-h) + 64px) 34px 70px;
  background:linear-gradient(158deg,#fdfcf8,#f5f0e4 54%,#ebe2d0);color:#1a1710}
.mt-hero-inner{max-width:1380px;margin:auto;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:56px;align-items:center}
.crumbs-light a{color:#8d6119}
.crumbs-light{color:#8a8175}
.mt-kicker{display:flex;align-items:center;gap:12px;margin:16px 0 14px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.mt-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.mt-hero h1{margin:0;max-width:16ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.3rem,4.2vw,3.75rem);line-height:1.02;font-weight:500;letter-spacing:-.045em;color:#161310}
.mt-hero h1 em{font-style:normal;color:#a5741f}
.mt-hero-lead{margin:22px 0 0;max-width:54ch;font-size:1.06rem;line-height:1.74;color:#463f34}
.mt-hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.btn-ink{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border:0;border-radius:999px;
  font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;color:#f8f5ef;
  background:linear-gradient(180deg,#2a2419,#14110c);box-shadow:0 14px 32px rgba(26,23,16,.28);transition:.4s ease}
.btn-ink:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(26,23,16,.36)}
.btn-line{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:999px;
  font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;color:#3f382e;
  border:1px solid rgba(141,97,25,.42);background:rgba(255,255,255,.5);transition:.4s ease}
.btn-line:hover{color:#1a1710;border-color:#a5741f;background:rgba(200,154,71,.14);transform:translateY(-2px)}
.mt-hero-fig{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/3;
  border:1px solid rgba(141,97,25,.24);box-shadow:0 28px 64px rgba(26,23,16,.2)}
.mt-hero-fig img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- the care card ---- */
.carecard{padding:56px 34px 59px;background:linear-gradient(180deg,#0b0a08,#100e0b 56%,#0b0a08);color:var(--text)}
.cc-shell{max-width:1380px;margin:auto;padding:38px 40px 34px;border-radius:26px;
  border:1px solid rgba(214,177,106,.4);background:linear-gradient(158deg,rgba(38,32,21,.6),rgba(13,12,10,.7));
  box-shadow:0 30px 70px rgba(0,0,0,.42),inset 0 1px 0 rgba(243,238,228,.09)}
.cc-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;
  padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid rgba(214,177,106,.24)}
.cc-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:var(--gold-soft);
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.cc-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.cc-h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,2.4vw,2.5rem);
  line-height:1.05;font-weight:500;letter-spacing:-.042em}
.cc-h2 em{font-style:normal;color:var(--gold-soft)}
.cc-sub{margin:14px 0 0;max-width:64ch;font-size:.98rem;line-height:1.72;color:rgba(243,238,228,.75)}
.cc-gauge{position:relative;width:124px;height:124px;flex:none}
.cc-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.cc-gauge circle{fill:none;stroke-width:6;stroke-linecap:round}
.cc-track{stroke:rgba(214,177,106,.18)}
.cc-fill{stroke:#efd08e;stroke-dasharray:327;stroke-dashoffset:var(--off,327);
  transition:stroke-dashoffset .7s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 8px rgba(239,208,142,.5))}
.cc-gauge-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.cc-gauge-num b{display:block;font-family:Georgia,serif;font-size:2.1rem;font-weight:500;color:#f3eee4;line-height:1}
.cc-gauge-num span{display:block;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,238,228,.5)}
.cc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.cc-col-t{display:flex;align-items:center;gap:12px;margin:0 0 6px;font-family:Georgia,serif;
  font-size:1.16rem;font-weight:500;letter-spacing:-.025em;color:#f3eee4}
.cc-col-t span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;
  letter-spacing:.18em;color:rgba(215,174,101,.8)}
.ck-list{list-style:none;margin:0;padding:0}
.ck-item{border-bottom:1px solid rgba(214,177,106,.14)}
.ck-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:16px;align-items:start;
  padding:18px 4px;cursor:pointer}
.ck-box{position:absolute;opacity:0;width:1px;height:1px}
.ck-tick{display:grid;place-items:center;width:26px;height:26px;margin-top:2px;border-radius:8px;
  border:1px solid rgba(214,177,106,.45);background:rgba(200,154,71,.06);transition:.35s ease}
.ck-tick svg{width:15px;height:15px;fill:none;stroke:#14110c;stroke-width:2.6;stroke-linecap:round;
  stroke-linejoin:round;opacity:0;transform:scale(.6);transition:.35s cubic-bezier(.34,1.4,.5,1)}
.ck-box:checked + .ck-tick{background:linear-gradient(180deg,#e6c079,#c89a47);border-color:transparent;
  box-shadow:0 4px 14px rgba(200,154,71,.4)}
.ck-box:checked + .ck-tick svg{opacity:1;transform:scale(1)}
.ck-box:focus-visible + .ck-tick{outline:2px solid var(--gold-soft);outline-offset:3px}
.ck-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.ck-meta em{font-style:normal;padding:4px 10px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;letter-spacing:.16em;
  text-transform:uppercase;color:#0f0c06;background:linear-gradient(180deg,#e6c079,#c89a47)}
.ck-meta b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(243,238,228,.5);font-weight:500}
.ck-text{display:block;font-size:.98rem;line-height:1.7;color:rgba(243,238,228,.88);transition:color .35s ease}
.ck-box:checked ~ .ck-body .ck-text{color:rgba(243,238,228,.5)}
.cc-actions{margin-top:32px;padding-top:26px;border-top:1px solid rgba(214,177,106,.24)}
.cc-actions-note{margin:0 0 18px;max-width:60ch;font-size:.94rem;line-height:1.66;color:rgba(243,238,228,.72)}
.cc-actions-row{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:820px){
  .cc-actions-row{flex-direction:column}
  .cc-actions-row .btn-gold,.cc-actions-row .btn-line{width:100%;justify-content:center;min-height:50px}
}
.cc-actions .btn-line{color:rgba(243,238,228,.85);border-color:rgba(214,177,106,.4);background:rgba(255,255,255,.04)}
.cc-actions .btn-line:hover{color:#efd08e;background:rgba(200,154,71,.12)}

/* ---- avoid band ---- */
.avoidband{padding:50px 34px 53px;background:linear-gradient(158deg,#f9f6ef,#efe7d7 56%,#e6dcc8);color:#1a1710}
.av-shell{max-width:1380px;margin:auto}
.av-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#a5471f;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.av-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
.av-h2{margin:0 0 30px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,2.4vw,2.5rem);line-height:1.05;font-weight:500;letter-spacing:-.042em}
.av-h2 em{font-style:normal;color:#a5471f}
.av-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;margin:0;padding:0;
  border-top:1px solid rgba(165,71,31,.24)}
.av-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;align-items:baseline;
  padding:19px 24px 19px 0;border-bottom:1px solid rgba(26,23,16,.1)}
.av-x{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;
  border:1px solid rgba(165,71,31,.38);background:rgba(165,71,31,.07)}
.av-x svg{width:13px;height:13px;fill:none;stroke:#a5471f;stroke-width:2.4;stroke-linecap:round}
.av-list b{grid-column:2;font-family:Georgia,serif;font-size:1.08rem;font-weight:500;letter-spacing:-.02em}
.av-list li>span:last-child{grid-column:2;margin-top:5px;font-size:.88rem;line-height:1.6;color:#6d6355}

/* ---- AMC ---- */
.amc{padding:58px 34px 61px;background:linear-gradient(162deg,#fbf8f2,#f2ece0 56%,#e9e0ce);color:#1a1710}
.amc-shell{max-width:1380px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:52px;align-items:start}
.amc-kicker{display:flex;align-items:center;gap:12px;margin-bottom:13px;color:#8d6119;
  font-size:.7rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.amc-kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.75}
.amc-h2{margin:0 0 18px;max-width:16ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.9rem,2.6vw,2.7rem);line-height:1.04;font-weight:500;letter-spacing:-.042em}
.amc-h2 em{font-style:normal;color:#a5741f}
.amc-copy>p{margin:0;max-width:56ch;font-size:1rem;line-height:1.74;color:#463f34}
.amc-inc{list-style:none;margin:24px 0 30px;padding:0;display:grid;gap:12px}
.amc-inc li{display:flex;align-items:center;gap:12px;font-size:.98rem;color:#3f382e}
.amc-inc li span{width:7px;height:7px;border-radius:50%;flex:none;
  background:linear-gradient(180deg,#e6c079,#c89a47);box-shadow:0 0 0 4px rgba(200,154,71,.14)}
.amc-plans{display:grid;gap:14px}
.amc-plan{display:grid;gap:8px;text-align:left;padding:24px 26px;border-radius:20px;cursor:pointer;font:inherit;
  color:inherit;border:1px solid rgba(141,97,25,.3);background:rgba(255,255,255,.58);box-shadow:0 14px 34px rgba(26,23,16,.1);
  transition:border-color .45s ease,transform .45s ease,background .45s ease}
.amc-plan:hover{transform:translateY(-3px);border-color:#a5741f;background:rgba(255,255,255,.82)}
.amc-plan.is-on{border-color:#a5741f;background:linear-gradient(158deg,rgba(230,192,121,.34),rgba(255,255,255,.9));box-shadow:0 18px 40px rgba(165,116,31,.16)}
.amc-plan:focus-visible{outline:2px solid var(--gold-soft);outline-offset:4px}
.amc-freq{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.2em;
  text-transform:uppercase;color:#8d6119;font-weight:600}
.amc-count{display:flex;align-items:baseline;gap:10px;font-family:Georgia,serif;font-size:2.3rem;
  font-weight:500;letter-spacing:-.03em;color:#1a1710;line-height:1}
.amc-count em{font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;
  letter-spacing:.16em;text-transform:uppercase;color:#8a8175}
.amc-for{font-size:.9rem;line-height:1.6;color:#5d5346}
.amc-note{margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;
  letter-spacing:.14em;text-transform:uppercase;color:#8a8175}

/* reveals */
.cc-shell,.av-shell,.amc-shell{opacity:0;transform:translateY(20px);
  transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.carecard.is-visible .cc-shell,.avoidband.is-visible .av-shell,.amc.is-visible .amc-shell{opacity:1;transform:none}

@media(max-width:1000px){
  .mt-hero{padding:calc(var(--nav-h) + 40px) 22px 50px}
  .mt-hero-inner{grid-template-columns:1fr;gap:32px}
  .carecard{padding:56px 22px 60px}
  .cc-shell{padding:26px 22px 24px}
  .cc-head{grid-template-columns:1fr;gap:24px}
  .cc-grid{grid-template-columns:1fr;gap:28px}
  .avoidband{padding:50px 22px 54px}
  .amc{padding:56px 22px 60px}
  .amc-shell{grid-template-columns:1fr;gap:34px}
}
@media(prefers-reduced-motion:reduce){
  .cc-fill,.ck-tick svg,.amc-plan{transition:none}
  .cc-shell,.av-shell,.amc-shell{opacity:1;transform:none;transition:none}
}

/* ---- printable care card ---- */
@media print{
  body{background:#fff}
  .topbar,.wa-float,.site-footer,.assess,.mt-hero-fig,.avoidband,.amc,.cc-actions,.cc-gauge{display:none!important}
  .carecard{padding:0;background:#fff;color:#000}
  .cc-shell{border:1px solid #999;box-shadow:none;background:#fff;color:#000;padding:18px}
  .cc-h2,.cc-col-t,.ck-text,.cc-sub{color:#000!important}
  .cc-grid{grid-template-columns:1fr 1fr}
  .ck-tick{border:1px solid #333;background:#fff}
  .ck-meta em{background:none;border:1px solid #666;color:#000}
  .ck-meta b{color:#444}
  .mt-hero{padding:0 0 12px;background:#fff}
  .mt-hero h1{font-size:1.5rem}
  .mt-hero-lead,.mt-hero-cta,.crumbs,.mt-kicker{display:none}
}




/* ============================================================
   CASE STUDIES — printed project records
   ============================================================ */
.cs-cover,.casefiles,.cs-end{
  --paper:#f7f2e6; --paper-2:#efe7d5; --ink:#15130e; --ink-2:#4a4235; --ink-3:#8b8271;
  --rule:rgba(21,19,14,.16); --gold:#c89a47; --gold-d:#8d6119;
  position:relative;color:#f3eee4;
  background:linear-gradient(180deg,#100e0b,#0a0908 52%,#100e0b);
}
.cs-cover::before,.casefiles::before,.cs-end::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(214,177,106,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(214,177,106,.055) 1px,transparent 1px);
  background-size:92px 92px;
  mask-image:radial-gradient(120% 80% at 50% 0%,rgba(0,0,0,.9),transparent 76%)}
.casefiles::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(72% 46% at 50% 50%,transparent 44%,rgba(0,0,0,.45))}
.cs-cover-in,.cf-wrap,.cs-end-in{position:relative;z-index:1}
.cs-cover{padding:calc(var(--nav-h) + 40px) 34px 26px}
.cs-cover-in{max-width:1240px;margin:auto}
.cs-cover .crumbs{margin-bottom:22px}

/* the paper sheet */
.cs-cover-sheet,.sheet{position:relative;background:var(--paper);color:var(--ink);border-radius:5px;
  overflow:hidden;border:1px solid rgba(214,177,106,.34);
  box-shadow:0 34px 74px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4),0 0 44px rgba(200,154,71,.07);
  transform:perspective(1600px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d;will-change:transform}
.sheet:hover{box-shadow:0 42px 88px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4),0 0 60px rgba(200,154,71,.13)}
.cs-cover-band,.sh-band{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 30px;background:var(--ink);color:var(--paper);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase}
.cs-cover-band span:last-child,.sh-band-r{color:#e6c079}
.cs-cover-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;padding:44px 30px 40px}
.cs-cover-body h1{margin:0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.2rem,7vw,6.2rem);line-height:.86;font-weight:500;letter-spacing:-.05em;color:var(--ink)}
.cs-cover-lead{margin:0 0 26px;max-width:52ch;font-size:1rem;line-height:1.72;color:var(--ink-2)}
.cs-cover-stats{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;
  border-top:1px solid var(--rule)}
.cs-cover-stats li{padding:16px 18px 4px;border-left:1px solid var(--rule)}
.cs-cover-stats li:first-child{padding-left:0;border-left:0}
.cs-cover-stats b{display:flex;align-items:baseline;gap:3px;font-family:Georgia,serif;
  font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--gold-d)}
.cs-cover-stats b em{font-style:normal;font-size:.44em}
.cs-cover-stats span{display:block;margin-top:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.cs-cover-foot{display:flex;justify-content:space-between;gap:16px;padding:13px 30px;
  border-top:1px solid var(--rule);background:var(--paper-2);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3)}

/* record sheets */
.casefiles{padding:26px 34px 34px}
.cf-wrap{max-width:1240px;margin:auto;display:grid;gap:34px}
.sheet{scroll-margin-top:110px}
.sh-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:0}
.sh-col{padding:32px 30px 34px}
.sh-col-a{border-right:1px solid var(--rule);background:var(--paper-2)}
.sh-eyebrow{display:block;margin-bottom:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.55rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d)}
.sh-title{margin:0 0 22px;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.5rem,2.2vw,2.05rem);line-height:1.08;font-weight:500;letter-spacing:-.038em;color:var(--ink)}
.sh-fig{margin:0 0 22px;border:1px solid var(--rule);background:#ddd8cc}
.sh-fig img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.06) brightness(.98);transition:filter .6s ease}
.sheet:hover .sh-fig img{filter:grayscale(.15) contrast(1.04) brightness(1)}
.sh-meta{margin:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.sh-meta > div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:10px 0;
  border-bottom:1px solid var(--rule)}
.sh-meta dt{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding-top:2px}
.sh-meta dd{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink)}

.sh-col-b{display:grid;gap:0;align-content:start}
.sh-blk{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--rule);
  opacity:0;translate:0 14px;transition:opacity .6s cubic-bezier(.4,0,.2,1),translate .6s cubic-bezier(.4,0,.2,1)}
.sheet.is-live .sh-blk{opacity:1;translate:0 0}
.sheet.is-live .sh-blk:nth-child(2){transition-delay:.1s}
.sheet.is-live .sh-blk:nth-child(3){transition-delay:.2s}
.sheet.is-live .sh-blk:nth-child(4){transition-delay:.3s}
.sh-col-a > *{opacity:0;translate:0 12px;transition:opacity .6s cubic-bezier(.4,0,.2,1),translate .6s cubic-bezier(.4,0,.2,1)}
.sheet.is-live .sh-col-a > *{opacity:1;translate:0 0}
.sheet.is-live .sh-col-a > *:nth-child(2){transition-delay:.06s}
.sheet.is-live .sh-col-a > *:nth-child(3){transition-delay:.12s}
.sheet.is-live .sh-col-a > *:nth-child(4){transition-delay:.18s}
.sh-blk:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.sh-h3{display:flex;align-items:center;gap:11px;margin:0 0 12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.sh-h3 i{display:grid;place-items:center;width:22px;height:22px;font-style:normal;font-size:.52rem;
  letter-spacing:.06em;color:var(--paper);background:var(--ink)}
.sh-blk p{margin:0;font-size:.97rem;line-height:1.68;color:var(--ink-2)}
.sh-acts{list-style:none;display:grid;gap:6px;margin:14px 0 0;padding:0}
.sh-acts li{position:relative;padding-left:18px;font-size:.88rem;line-height:1.55;color:var(--ink-2)}
.sh-acts li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:1px;background:var(--gold-d)}

.sh-stats{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0}
.sh-stats li{position:relative;overflow:hidden;padding:14px 14px 12px;border:1px solid var(--rule);
  background:rgba(255,255,255,.55);transition:border-color .45s ease,background .45s ease}
.sh-stats li::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--gold-d),var(--gold));transition:width .8s cubic-bezier(.4,0,.2,1)}
.sheet.is-live .sh-stats li::after{width:100%}
.sheet.is-live .sh-stats li:nth-child(2)::after{transition-delay:.12s}
.sheet.is-live .sh-stats li:nth-child(3)::after{transition-delay:.24s}
.sh-stats li:hover{border-color:rgba(141,97,25,.5);background:rgba(255,255,255,.8)}
.sh-stats b{display:block;font-family:Georgia,serif;font-size:1.6rem;font-weight:500;letter-spacing:-.04em;
  line-height:1;color:var(--gold-d)}
.sh-stats span{display:block;margin-top:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.48rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

.sh-blk-result{padding:20px 22px;background:var(--ink);border-bottom:0;margin-bottom:0}
.sh-blk-result .sh-h3{color:var(--paper)}
.sh-blk-result .sh-h3 i{background:#e6c079;color:var(--ink)}
.sh-blk-result p{color:rgba(247,242,230,.94)}

/* printed PTV bar chart */
.cs-ptv{margin-top:16px;padding-top:14px;border-top:1px solid rgba(247,242,230,.18)}
.cs-ptv-head,.cs-ptv-key{display:flex;justify-content:space-between;gap:12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.48rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(247,242,230,.55)}
.cs-ptv-track{display:grid;gap:7px;margin:12px 0 9px}
.cs-ptv-bar{position:relative;display:block;height:22px;width:var(--w);min-width:44px;
  display:flex;align-items:center;justify-content:flex-end;padding-right:9px;
  font-family:Georgia,serif;font-size:.92rem;transform-origin:left;transform:scaleX(0);
  transition:transform .9s cubic-bezier(.4,0,.2,1)}
.casefiles.is-visible .cs-ptv-bar{transform:scaleX(1)}
.cs-ptv-before{background:repeating-linear-gradient(135deg,rgba(247,242,230,.22) 0 5px,transparent 5px 10px);
  border:1px solid rgba(247,242,230,.3);color:rgba(247,242,230,.8)}
.cs-ptv-after{background:linear-gradient(90deg,#8d6119,#e6c079);color:#15130e;transition-delay:.2s}
.cs-ptv-bar b{font-weight:500}

.sh-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 30px;
  border-top:1px solid var(--rule);background:var(--paper-2);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3)}
.sh-foot a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);
  padding-bottom:2px;transition:.3s ease}
.sh-foot a:hover{color:var(--gold-d)}
.sh-foot-r{margin-left:auto;color:var(--gold-d)}

/* closing */
.cs-end{padding:20px 34px 74px}
.cs-end-in{max-width:1240px;margin:auto;padding:40px 34px 42px;border:1px solid rgba(214,177,106,.35);
  border-radius:4px;background:linear-gradient(150deg,rgba(40,33,21,.6),rgba(14,13,10,.6))}
.cs-end h2{margin:0 0 12px;max-width:22ch;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.6rem,2.4vw,2.3rem);line-height:1.08;font-weight:500;letter-spacing:-.04em;color:#f7f2e6}
.cs-end h2 em{font-style:normal;color:#e6c079}
.cs-end p{margin:0;max-width:60ch;font-size:1rem;line-height:1.7;color:rgba(243,238,228,.8)}
.cs-end-cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:26px}

/* reveal — sheets settle like paper */
.cs-cover-sheet,.sheet,.cs-end-in{opacity:0;translate:0 30px;rotate:-.4deg;
  transition:opacity .85s cubic-bezier(.4,0,.2,1),translate .85s cubic-bezier(.4,0,.2,1),
             rotate .85s cubic-bezier(.4,0,.2,1),box-shadow .5s ease}
.cs-cover.is-visible .cs-cover-sheet,.casefiles.is-visible .sheet,.cs-end.is-visible .cs-end-in{
  opacity:1;translate:0 0;rotate:0deg}
.casefiles.is-visible .sheet:nth-child(2){transition-delay:.1s}
.casefiles.is-visible .sheet:nth-child(3){transition-delay:.2s}

@media(max-width:1000px){
  .cs-cover{padding:calc(var(--nav-h) + 30px) 18px 20px}
  .cs-cover-body{grid-template-columns:1fr;gap:26px;padding:30px 22px 28px}
  .cs-cover-stats{grid-template-columns:1fr}
  .cs-cover-stats li{padding:13px 0;border-left:0;border-bottom:1px solid var(--rule)}
  .casefiles{padding:20px 18px 26px}
  .cf-wrap{gap:24px}
  .sh-grid{grid-template-columns:1fr}
  .sh-col{padding:24px 22px 26px}
  .sh-col-a{border-right:0;border-bottom:1px solid var(--rule)}
  .sh-stats{grid-template-columns:1fr}
  .cs-cover-band,.sh-band,.sh-foot,.cs-cover-foot{padding-left:22px;padding-right:22px}
  .cs-end{padding:14px 18px 56px}
  .cs-end-in{padding:28px 22px 30px}
}
@media(prefers-reduced-motion:reduce){
  .cs-cover-sheet,.sheet,.cs-end-in{opacity:1;transform:none;transition:none}
  .cs-ptv-bar{transform:scaleX(1);transition:none}
  .sh-fig img{transition:none}
}


/* ============================================================
   CONTACT — paper editorial
   ============================================================ */
.gt{--bone:#eae7dc;--bone-2:#e2ded1;--ink:#14150f;--ink-2:#4c4b41;--ink-3:#8c8a7d;
  --hair:rgba(20,21,15,.22);--gold:#a5741f;
  display:block;background:var(--bone);color:var(--ink)}
.crumbs-ink{color:var(--ink-3)}
.crumbs-ink a{color:var(--ink-2)}
.crumbs-ink a:hover{color:var(--ink)}

/* --- act 1 --- */
.gt-top{position:sticky;top:0;z-index:1;min-height:100svh;display:flex;align-items:center;
  padding:calc(var(--nav-h) + 30px) 44px 46px;background:var(--bone);overflow:hidden}
.gt-top-grid{width:100%;max-width:1320px;margin:auto;display:grid;
  grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:start}
.gt-h1{margin:20px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:400;
  line-height:.9;letter-spacing:-.05em;color:var(--ink);text-transform:uppercase;
  font-size:clamp(2.4rem,7.4vw,6.4rem)}
.gt-l1,.gt-l2{display:block;white-space:nowrap}
.gt-l2{display:flex;align-items:center;gap:.1em;margin-left:.06em}
.gt-word{display:block}
.gt-motif{flex:0 0 auto;width:.66em;height:.66em;
  fill:none;stroke:var(--ink);stroke-width:1.1;opacity:.5;vector-effect:non-scaling-stroke}
.gt-motif circle:nth-of-type(3){stroke-width:1.8}
.gt-mail{display:inline-block;margin-top:1.1em;font-family:Georgia,serif;
  font-size:clamp(1.1rem,2vw,1.85rem);letter-spacing:-.03em;color:var(--ink);text-decoration:none;
  border-bottom:1.5px solid var(--ink);padding-bottom:.1em;transition:color .35s ease,border-color .35s ease}
.gt-mail:hover{color:var(--gold);border-color:var(--gold)}

.gt-side{padding-top:5px}
.gt-intro{margin:0 0 30px;font-family:Georgia,serif;font-size:1rem;line-height:1.52;
  letter-spacing:-.018em;color:var(--ink)}
.gt-blk{padding:15px 0;border-top:1px solid var(--hair)}
.gt-blk:last-child{border-bottom:1px solid var(--hair)}
.gt-lab{display:block;margin-bottom:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.56rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.gt-blk a{display:block;font-size:.93rem;line-height:1.66;color:var(--ink);text-decoration:none;
  width:fit-content;border-bottom:1px solid transparent;transition:.3s ease}
.gt-blk a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.gt-blk p{margin:0;font-size:.93rem;line-height:1.66;color:var(--ink-2)}
.gt-blk p + a{margin-top:8px}

/* --- act 2: photo grows then clears --- */
.gt-reveal{position:sticky;top:0;z-index:2;height:100svh;overflow:hidden}
.gt-stage{position:relative;height:100%;overflow:hidden}
.gt-frame{position:relative;margin:0;width:100%;height:100%;overflow:hidden;opacity:var(--o,1);will-change:opacity}
.gt-frame img{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(var(--s,1.1));filter:grayscale(var(--g,.55)) contrast(1.05);will-change:transform,filter}
.gt-frame figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;
  justify-content:space-between;gap:20px;padding:26px 44px 30px;
  background:linear-gradient(180deg,transparent,rgba(10,10,9,.55));
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(255,255,255,.86)}
.gt-cap-r{opacity:var(--capo,1);transition:opacity .25s linear}

/* --- act 3: paper form --- */
.gt-form-sec{position:relative;z-index:3;padding:59px 44px 64px;background:var(--bone);
  box-shadow:0 -40px 70px rgba(20,21,15,.28)}
.gt-form-wrap{max-width:1180px;margin:auto}
.gt-form-head{margin-bottom:44px;padding-bottom:26px;border-bottom:1px solid var(--hair)}
.gt-form-head h2{margin:14px 0 0;font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.02;font-weight:400;letter-spacing:-.045em;color:var(--ink)}
.gt-form-head h2 em{font-style:normal;color:var(--gold)}
.gt-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 44px}
.gt-f{display:grid}
.gt-f-wide{grid-column:1/-1}
.gt-f label{margin-bottom:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#55534a}
.gt-f input,.gt-f select,.gt-f textarea{
  width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid rgba(20,21,15,.32);border-radius:0;
  background:none;color:var(--ink);font:inherit;font-size:1.08rem;letter-spacing:-.01em;
  transition:border-color .3s ease,box-shadow .3s ease}
.gt-f textarea{resize:vertical;min-height:64px;line-height:1.6}
.gt-f select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 12px) 1.05em,calc(100% - 7px) 1.05em;background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;padding-right:26px}
.gt-f input::placeholder,.gt-f textarea::placeholder{color:rgba(20,21,15,.5)}
.gt-f input:focus,.gt-f select:focus,.gt-f textarea:focus{outline:none;
  border-bottom-color:var(--gold);box-shadow:0 1px 0 0 var(--gold)}
.gt-f.is-bad input,.gt-f.is-bad select,.gt-f.is-bad textarea{border-bottom-color:#a5471f;box-shadow:0 1px 0 0 #a5471f}
.gt-err{margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem;
  letter-spacing:.14em;text-transform:uppercase;color:#a5471f}
.gt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gt-submit{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.gt-submit button{display:inline-flex;align-items:center;gap:14px;padding:0 0 12px;border:0;
  border-bottom:2px solid var(--ink);background:none;cursor:pointer;color:var(--ink);
  font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.7rem);letter-spacing:-.03em;
  transition:color .35s ease,border-color .35s ease,gap .35s ease}
.gt-submit button svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.gt-submit button:hover{color:var(--gold);border-color:var(--gold);gap:22px}
.gt-submit button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.gt-status{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.gt-status.is-ok{color:#2f6339}
.gt-status.is-bad{color:#a5471f}
.gt-assure-lab{margin:52px 0 0;padding-top:26px;border-top:1px solid rgba(20,21,15,.3)}
.gt-assure{list-style:none;display:flex;flex-wrap:wrap;gap:14px 64px;margin:18px 0 0;padding:0}
.gt-assure li{position:relative;padding-left:30px;font-size:1.02rem;font-weight:500;line-height:1.6;color:var(--ink)}
.gt-assure li::before{content:"";position:absolute;left:0;top:11px;width:18px;height:2px;background:var(--gold)}

/* --- act 4: map --- */
.gt-map-sec{position:relative;z-index:3;background:var(--bone-2);padding:0}
.gt-map-head{max-width:1180px;margin:auto;padding:34px 44px 26px;display:flex;flex-wrap:wrap;
  align-items:baseline;gap:10px 34px;border-top:1px solid var(--hair)}
.gt-map-head p{margin:0;font-family:Georgia,serif;font-size:1.06rem;letter-spacing:-.02em;color:var(--ink)}
.gt-map{position:relative;height:min(56vh,520px)}
.gt-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;
  filter:grayscale(1) contrast(1.06) brightness(1.02)}

/* reveals */
.gt-type,.gt-side,.gt-form-head,.gt-form,.gt-assure{opacity:0;transform:translateY(18px);
  transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.gt-top.is-visible .gt-type,.gt-top.is-visible .gt-side,
.gt-form-sec.is-visible .gt-form-head,.gt-form-sec.is-visible .gt-form,.gt-form-sec.is-visible .gt-assure{
  opacity:1;transform:none}
.gt-top.is-visible .gt-side{transition-delay:.12s}
.gt-form-sec.is-visible .gt-form{transition-delay:.08s}
.gt-form-sec.is-visible .gt-assure{transition-delay:.16s}

@media(max-width:1000px){
  .gt-top{position:relative;min-height:0;display:block;padding:calc(var(--nav-h) + 30px) 22px 44px}
  .gt-top-grid{grid-template-columns:1fr;gap:38px}
  .gt-h1{font-size:clamp(1.95rem,7.8vw,2.7rem)}

  .gt-mail{margin-top:.6em}
  .gt-reveal{position:relative;height:auto}
  .gt-stage{height:auto}
  .gt-frame{height:auto!important;opacity:1!important;aspect-ratio:4/3}
  .gt-frame img{transform:none!important;filter:grayscale(.4)}
  .gt-form-sec{padding:48px 22px 56px}
  .gt-form{grid-template-columns:1fr;gap:26px}
  .gt-map-head{padding:26px 22px 20px}
  .gt-frame figcaption{padding:18px 22px 20px}
  .gt-map{height:340px}
}
@media(prefers-reduced-motion:reduce){
  .gt-frame{height:auto!important;opacity:1!important;aspect-ratio:16/9}
  .gt-frame img{transform:none!important}
  .gt-type,.gt-side,.gt-form-head,.gt-form,.gt-assure{opacity:1;transform:none;transition:none}
}

/* contact: footer must ride above the sticky panels */
main.gt ~ .site-footer,main.gt ~ .wa-float{position:relative;z-index:4}

/* contact hero: base rule fills the empty lower band */
.gt-base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;
  margin-top:3.1em;padding-top:20px;border-top:1px solid rgba(20,21,15,.3)}
.gt-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px 40px;margin:0;padding:0}
.gt-facts li{display:flex;align-items:baseline;gap:9px;font-family:Georgia,serif;font-size:1rem;
  letter-spacing:-.018em;color:var(--ink)}
.gt-facts span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem;
  font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.gt-cue{display:inline-flex;align-items:center;gap:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.54rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}
.gt-cue svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;
  stroke-linejoin:round;animation:gtBob 2.6s ease-in-out infinite}
@keyframes gtBob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.gt-blk-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.gt-blk-split .gt-lab{margin-bottom:8px}
@media(max-width:1000px){
  .gt-base{margin-top:1.8em}
  .gt-facts{gap:10px 26px}
  .gt-cue{display:none}
}
@media(prefers-reduced-motion:reduce){.gt-cue svg{animation:none}}

/* case files: record index rail */
.cf-rail{position:sticky;top:calc(var(--nav-h) + 26px);z-index:2;display:flex;align-items:center;gap:14px;
  margin:0 auto 22px;max-width:1240px;padding:0 2px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.54rem;letter-spacing:.22em;
  text-transform:uppercase;color:rgba(243,238,228,.45)}
.cf-rail b{color:#efd08e;font-weight:600}
.cf-rail-track{flex:1;height:1px;background:rgba(214,177,106,.2);position:relative;overflow:hidden}
.cf-rail-track i{position:absolute;left:0;top:0;bottom:0;width:var(--cfp,4%);
  background:linear-gradient(90deg,#8d6119,#efd08e);transition:width .3s linear}
@media(max-width:1000px){.cf-rail{display:none}}
@media(prefers-reduced-motion:reduce){
  .cs-cover-sheet,.sheet,.cs-end-in{opacity:1;translate:none;rotate:none;transform:none;transition:none}
  .sh-blk,.sh-col-a > *{opacity:1;translate:none;transition:none}
  .sh-stats li::after{width:100%;transition:none}
}

/* footer lockup */
.footer-logo{display:block;width:132px;margin:0 0 18px}
.footer-logo{line-height:0}
.footer-logo img{width:100%;height:auto;display:block;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
@media(max-width:1000px){.footer-logo{width:108px;margin-bottom:14px}}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.legal{--bone:#eae7dc;--ink:#14150f;--ink-2:#4c4b41;--ink-3:#8c8a7d;--hair:rgba(20,21,15,.22);--gold:#a5741f;
  background:var(--bone);color:var(--ink);padding:calc(var(--nav-h) + 44px) 44px 78px}
.lg-wrap{max-width:820px;margin:auto}
.legal h1{margin:16px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.4vw,3rem);
  line-height:1.04;font-weight:400;letter-spacing:-.045em}
.lg-intro{margin:20px 0 0;font-family:Georgia,serif;font-size:1.1rem;line-height:1.62;color:var(--ink)}
.lg-updated{margin:14px 0 0;padding-bottom:26px;border-bottom:1px solid var(--hair);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3)}
.lg-blk{padding:30px 0;border-bottom:1px solid var(--hair)}
.lg-blk h2{margin:0 0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink)}
.lg-blk p{margin:0 0 12px;font-size:1rem;line-height:1.74;color:var(--ink-2)}
.lg-blk p:last-child{margin-bottom:0}
.lg-blk a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);transition:color .3s ease}
.lg-blk a:hover{color:var(--gold)}
.lg-note{border-bottom:0}
@media(max-width:1000px){.legal{padding:calc(var(--nav-h) + 30px) 22px 56px}}

/* any anchor target must clear the sticky navbar */
[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}

/* ============================================================
   MOBILE HARDENING — applies to every page
   ============================================================ */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video,iframe,picture{max-width:100%}
h1,h2,h3,h4{overflow-wrap:break-word}

@media(max-width:1180px){
  /* the menu panel must scroll when the services submenu is open */
  .nav{max-height:calc(100svh - 74px);overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch}
  .topbar.is-stuck + .nav,.topbar.is-stuck ~ .nav{max-height:calc(100svh - 66px)}
  /* 16px minimum stops iOS zooming the page when a field is focused */
  .field input,.field select,.field textarea,
  .gt-f input,.gt-f select,.gt-f textarea{font-size:16px}
  /* comfortable tap targets */
  .nav a,.nav-drop-toggle,.nav-submenu a{min-height:46px;display:flex;align-items:center}
  .wa-float{padding:11px 15px}
  .wa-float span{font-size:.86rem}
}

@media(max-width:600px){
  /* --- shared rhythm: tighter gutters, calmer type --- */
  .au,.heritage-story,.techview,.specimens,.polishline,.applied,.howworks,.benefits,
  .compat,.zones,.stages,.finishes,.versus,.pc-cta,.matrix,.sectorlist,.sx-cta,
  .carecard,.avoidband,.amc,.cs-cover,.casefiles,.cs-end,.gt-form-sec,.legal{
    padding-left:18px;padding-right:18px}
  .svc-hero,.as-hero,.pc-hero,.sx-hero,.cs-hero,.mt-hero,.gt-top{padding-left:18px;padding-right:18px}

  /* --- about --- */
  .au-sheet{padding:0}
  .au-title{font-size:clamp(1.7rem,8.4vw,2.2rem)}
  .au-lead p{font-size:1.08rem}
  .au-method{padding:24px 18px 26px}
  .au-method-head h3{font-size:1.35rem}
  .hs-h2,.tv-h2{font-size:clamp(1.55rem,7.6vw,2rem)}
  .hs-seal{position:static;width:auto;margin-top:14px;display:flex;align-items:center;gap:14px;text-align:left}
  .hs-seal svg{margin:0}
  .hs-ch h3{font-size:1.32rem}
  .hs-ch p{font-size:.97rem;line-height:1.72}
  .tv-stage{aspect-ratio:4/3}
  .tv-row{padding:18px 0}
  .tv-title{font-size:1.16rem}

  /* --- service pages --- */
  .svc-hero h1,.as-hero h1,.pc-hero h1{font-size:clamp(2rem,10vw,2.7rem)}
  .svc-hero-lead,.as-hero-lead,.pc-hero-lead{font-size:.98rem}
  .btn-gold,.btn-ghost,.btn-steel,.btn-ink,.btn-line{width:100%;justify-content:center}
  .svc-hero-cta,.as-hero-cta,.pc-hero-cta,.dk-cta,.cs-end-cta,.gt-hero-cta{width:100%}
  .sp-card{flex-basis:82vw}
  .sp-h2,.ap-h2,.hw-h2,.bn-h2,.cp-h2,.zn-h2,.stg-h2,.fin-h2,.vs-h2,.mx-h2,.cc-h2,.av-h2,.amc-h2{
    font-size:clamp(1.5rem,7.4vw,1.95rem)}
  .pl-step{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:20px 0}
  .pl-step h3{font-size:1.22rem}
  .ap-list li,.zn-list li{font-size:1rem}

  /* --- anti-slip --- */
  .hw-item dt{font-size:1.08rem}
  .fc-inner{min-height:238px}
  .fc-t{font-size:1.16rem}
  .cp-list li{font-size:.96rem;padding:10px 17px}

  /* --- polished concrete --- */
  .pc-dial{padding:18px 18px 20px}
  .pc-dial-read b{font-size:1.9rem}
  .stg-card{padding:12px}
  .fin-panel{height:176px}
  .fin-panel.is-active{height:376px}
  .fin-t{font-size:1.32rem}
  .cmp-crit,.cmp-cell{padding:15px 16px}
  .pcc-card,.sxc-card,.csc-card{padding:22px 18px}

  /* --- sectors --- */
  .sx-hero h1,.cs-hero h1{font-size:clamp(2rem,10vw,2.7rem)}
  .sx-hero-jump{grid-template-columns:1fr}
  .sx-hero-jump li:nth-child(odd){border-left:0}
  .mx-rowhead{padding:15px 16px}
  .mx-cell{padding:11px 16px}
  .sx-ch-body{padding:20px 18px 22px}
  .sx-ch-body h3{font-size:1.34rem}
  .sx-pts li{padding:13px 0 13px 22px;font-size:.95rem}

  /* --- maintenance --- */
  .mt-hero h1{font-size:clamp(1.9rem,9.2vw,2.5rem)}
  .cc-shell{padding:20px 16px 22px}
  .cc-gauge{width:104px;height:104px}
  .ck-row{grid-template-columns:26px minmax(0,1fr);gap:13px;padding:15px 2px}
  .ck-text{font-size:.95rem}
  .av-list li{grid-template-columns:26px minmax(0,1fr);padding:16px 0}
  .amc-count{font-size:1.9rem}

  /* --- case studies --- */
  .cs-cover-body h1{font-size:clamp(2.6rem,15vw,4rem)}
  .sh-col{padding:20px 18px 22px}
  .sh-title{font-size:clamp(1.3rem,6.6vw,1.7rem)}
  .sh-meta > div{grid-template-columns:84px minmax(0,1fr);gap:12px}
  .sh-stats b{font-size:1.4rem}
  .cs-cover-band,.sh-band,.sh-foot,.cs-cover-foot{padding-left:18px;padding-right:18px;
    font-size:.48rem;letter-spacing:.16em}
  .sh-foot{gap:10px}
  .sh-foot-r{margin-left:0}
  .cs-end h2{font-size:clamp(1.45rem,7vw,1.9rem)}

  /* --- contact --- */
  .gt-h1{font-size:clamp(2rem,13vw,3rem)}
  .gt-mail{font-size:clamp(1rem,5.4vw,1.4rem)}
  .gt-blk-split{grid-template-columns:1fr;gap:15px}
  .gt-facts li{font-size:.95rem}
  .gt-form-head h2{font-size:clamp(1.45rem,7vw,1.9rem)}
  .gt-submit button{font-size:1.1rem}
  .gt-assure{gap:12px 0}
  .gt-assure li{flex:1 1 100%}

  /* --- legal --- */
  .legal h1{font-size:clamp(1.7rem,8vw,2.2rem)}
}

@media(max-width:400px){
  .au,.heritage-story,.techview,.specimens,.polishline,.applied,.howworks,.benefits,.compat,.zones,
  .stages,.finishes,.versus,.pc-cta,.matrix,.sectorlist,.sx-cta,.carecard,.avoidband,.amc,
  .cs-cover,.casefiles,.cs-end,.gt-form-sec,.legal,
  .svc-hero,.as-hero,.pc-hero,.sx-hero,.cs-hero,.mt-hero,.gt-top{padding-left:15px;padding-right:15px}
  .brand-title{font-size:1.26rem}
  .brand-sub{font-size:.56rem;letter-spacing:.13em}
  .brand-mark{width:42px;height:42px}
  .btn-nav{padding:0 14px;font-size:.8rem;max-width:none}
  .wa-float span{display:none}
  .wa-float{padding:12px;border-radius:50%}
  .cs-cover-body h1{font-size:clamp(2.2rem,17vw,3rem)}
  .sh-stats{grid-template-columns:1fr}
}

@media(max-width:1000px){
  /* release the last pinned pieces on touch screens */
  .wcs-left{position:relative;top:auto}
  .cf-rail{position:relative;top:auto}
}

/* ---- cross-link rows: stack cleanly on small screens ---- */
@media(max-width:820px){
  .ap-cross,.zn-cross,.pcc-cross,.adv-cross,.sx-svc,.cs-foot,.sh-foot{
    flex-direction:column;align-items:stretch;gap:10px}
  .ap-cross > span,.zn-cross > span,.pcc-cross > span,.adv-cross > span,
  .sx-svc > span,.cs-foot > span{margin-bottom:2px}
  .ap-cross a,.zn-cross a,.pcc-cross a,.adv-cross a,.sx-svc a,.cs-foot a{
    display:block;width:100%;text-align:center;min-height:48px;line-height:48px;padding:0 16px}
  .sh-foot{align-items:flex-start}
  .sh-foot a{text-align:left;line-height:1.5;min-height:0;padding:0}
  .sh-foot-r{margin-left:0}
}

/* ---- sectors: index rail + chapters on small screens ---- */
@media(max-width:1000px){
  .sx-shell{min-width:0}
  .sx-index{min-width:0;max-width:100%;overflow:hidden}
  .sx-idx-nav{display:flex;flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;
    margin:0;padding:0 0 4px}
  .sx-idx-nav::-webkit-scrollbar{display:none}
  .sx-idx-item{flex:0 0 auto;scroll-snap-align:start;padding:12px 22px 12px 0;white-space:nowrap}
  .sx-chapters{min-width:0}
  .sx-ch-body{min-width:0}
  .sx-pts li,.sx-ch-body h3{overflow-wrap:break-word}
  .sx-idx-name{font-size:.94rem}
  .sx-ch{scroll-margin-top:96px}
  .sx-ch{align-items:start}
  .sx-ch-media{min-height:0;height:210px;aspect-ratio:auto}
  .sx-ch-media img{position:absolute;inset:0}
}

/* ---- technology viewer: the shared stage makes no sense stacked ---- */
@media(max-width:1000px){
  .tv-stage{display:none}
  .tv-row{grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start}
  .tv-shot{display:block;grid-column:1/-1;margin:14px 0 0;border-radius:14px;overflow:hidden;
    aspect-ratio:16/10;border:1px solid rgba(214,177,106,.22);
    max-height:0;opacity:0;transition:max-height .6s cubic-bezier(.4,0,.2,1),opacity .45s ease,margin .5s ease}
  .tv-row.is-active .tv-shot{max-height:280px;opacity:1}
  .tv-shot img{width:100%;height:100%;object-fit:cover;display:block}
  .tv-origin{grid-column:2;padding-top:8px}
}
@media(min-width:1001px){.tv-shot{display:none}}

/* ---- contact: mobile needs its own arrival, since the panels do not stack ---- */
@media(max-width:1000px){
  .gt-top{border-bottom:1px solid var(--hair)}
  .gt-reveal .gt-frame img{filter:grayscale(.25) contrast(1.04)}
  .gt-type,.gt-side,.gt-form-head,.gt-form,.gt-assure{opacity:0;transform:translateY(16px)}
  .gt-top.is-visible .gt-type,.gt-top.is-visible .gt-side,
  .gt-form-sec.is-visible .gt-form-head,.gt-form-sec.is-visible .gt-form,
  .gt-form-sec.is-visible .gt-assure{opacity:1;transform:none}
  /* stage 1: hero lifts away as the photo rises over it */
  .gt-top{position:sticky;bottom:0;z-index:1;min-height:0}
  .gt-top-grid{transform:translate3d(0,var(--heroY,0px),0);opacity:var(--heroO,1);
    will-change:transform,opacity}
  /* stage 2: the photo pins, then the form closes over it */
  .gt-reveal{position:sticky;top:0;z-index:2;height:100svh;overflow:hidden}
  .gt-stage{position:relative;height:100%;overflow:hidden}
  .gt-frame{width:100%;height:100%;aspect-ratio:auto;opacity:var(--o,1)}
  .gt-frame img{width:100%;height:100%;object-fit:cover;
    transform:scale(var(--s,1.08));filter:grayscale(var(--g,.3)) contrast(1.05)}
  .gt-form-sec{position:relative;z-index:3;box-shadow:0 -30px 56px rgba(20,21,15,.3)}
  .gt-map-sec{position:relative;z-index:3}
  .gt-frame figcaption{padding:18px 20px 22px}
  .gt-h1{line-height:.94}
  .gt-l2{margin-left:0}
  .gt-motif{width:.52em;height:.52em}
  .gt-base{flex-direction:column;align-items:flex-start;gap:14px}
  .gt-facts{flex-direction:column;gap:10px}
}

/* ---- language switch ---- */
.langsw{display:flex;align-items:center;gap:2px;padding:3px;border-radius:999px;
  border:1px solid rgba(214,177,106,.3);background:rgba(10,10,9,.4)}
.langsw button{padding:7px 12px;border:0;border-radius:999px;cursor:pointer;font:inherit;
  font-size:.78rem;font-weight:600;letter-spacing:.02em;color:rgba(243,238,228,.62);
  background:none;transition:.3s ease}
.langsw button:hover{color:#efd08e}
.langsw button[aria-current="true"]{color:#150f04;background:linear-gradient(180deg,#e6c079,#c89a47)}
.langsw button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
.lang-note{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);z-index:80;
  padding:12px 20px;border-radius:999px;background:rgba(12,11,9,.95);
  border:1px solid rgba(214,177,106,.45);color:#f3eee4;font-size:.86rem;
  box-shadow:0 18px 44px rgba(0,0,0,.5);opacity:0;pointer-events:none;
  transition:opacity .3s ease,transform .3s ease}
.lang-note.is-on{opacity:1;transform:translate(-50%,0)}
@media(max-width:1180px){
  /* the switch moves into the menu panel; the bar has no room for it */
  .actions .langsw{display:none}
  .nav .langsw{display:flex;align-self:flex-start;margin:14px 4px 4px}
  .nav .langsw button{padding:9px 16px;font-size:.86rem;min-height:0}
}
@media(max-width:400px){.actions .langsw{display:none}}

/* ============================================================
   NO PAGE MAY SCROLL SIDEWAYS
   overflow-x:clip is used rather than hidden so position:sticky
   keeps working for the pinned panels.
   ============================================================ */
html{overflow-x:clip}
body{max-width:100%}
@media(max-width:1180px){
  .topbar{max-width:100vw;gap:10px}
  .topbar.is-stuck .brand-mark{flex:0 0 44px;width:44px;height:44px}
  .topbar.is-stuck .brand-title{font-size:clamp(.98rem,4.4vw,1.5rem)}
  .topbar.is-stuck .brand-sub{font-size:clamp(.5rem,2vw,.64rem)}
  .topbar.is-stuck .btn-nav{min-height:46px;padding:0 16px;font-size:.86rem}
  .topbar.is-stuck .nav{top:66px}
  .brand{min-width:0!important;flex:1 1 auto;overflow:hidden}
  .brand > div{min-width:0;flex:1 1 auto}
  .brand-title{font-size:clamp(.98rem,4.4vw,1.5rem);line-height:1.06}
  .brand-sub{font-size:clamp(.5rem,2vw,.64rem)}
  .nav-toggle{flex:0 0 auto}
  .actions{flex:0 0 auto;min-width:0}
}
@media(max-width:430px){
  .brand-mark{flex:0 0 36px;width:36px;height:36px}
  .topbar.is-stuck .brand-mark{flex:0 0 36px;width:36px;height:36px}
  .brand-sub{display:none}
  .brand{gap:7px}
  .brand-title{font-size:.82rem;letter-spacing:.04em}
  .topbar.is-stuck .brand-title{font-size:.82rem}
}
@media(max-width:370px){.brand > div{display:none}}

/* only one language switch may be visible at a time */
@media(min-width:1181px){
  .nav .langsw{display:none}
}

/* ============================================================
   <picture> is an inline box with auto height. Any img inside it
   styled height:100% resolves against that auto height and renders
   at its intrinsic ratio, overflowing its frame. Making the picture
   a block that fills the frame is what these rules already assume.
   (.footer-logo is itself the <picture>, so it is excluded.)
   ============================================================ */
.row-media picture,.hs-visual-media picture,.tv-frame picture,.sp-media picture,
.as-hero-deep picture,.zn-bg picture,.fc-ph picture,.pc-shot picture,
.stg-media picture,.fin-media picture,.sx-hero-bg picture,.sx-ch-media picture,
.mt-hero-fig picture,.gt-frame picture,.tv-shot picture,.wcs-panel picture,
.cf-shot picture,.sh-fig picture,.pl-swap-img picture,.hw-ph picture,
.svc-hero-layer picture,.pf-ph picture,.pf-stat-ph picture,.dk-bg picture,
.adv-bg picture,.pc-hero-bg picture,.cs-hero-bg picture,.zn-bg picture{
  display:block;width:100%;height:100%;line-height:0}

/* ============================================================
   AUTHENTIC PROJECT PHOTOGRAPHY — curated homepage + gallery
   ============================================================ */
.work-collections{position:relative;padding:58px 34px 55px;overflow:hidden;color:var(--text);
  background:radial-gradient(circle at 12% 8%,rgba(214,177,106,.11),transparent 30%),linear-gradient(180deg,#0c0b09,#050505)}
.wc-shell{max-width:1460px;margin:auto}
.wc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);gap:46px;align-items:end;margin-bottom:34px}
.wc-kicker,.pg-kicker{color:#d7ae65;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.wc-head h2{max-width:820px;margin:10px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4.4vw,4.6rem);line-height:.95;font-weight:500;letter-spacing:-.04em}
.wc-head h2 em{display:block;color:#d4a858;font-style:italic}
.wc-intro p{margin:0;color:rgba(243,238,228,.67);font-size:.96rem;line-height:1.68}
.wc-intro a,.wc-foot a{display:inline-flex;align-items:center;gap:11px;margin-top:16px;color:#efd08e;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.wc-intro a span,.wc-foot a span{font-size:1rem;transition:transform .25s ease}.wc-intro a:hover span,.wc-foot a:hover span{transform:translateX(5px)}
.wc-rail{display:flex;gap:12px;height:418px}
.wc-card{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:22px;color:#fff;text-decoration:none;isolation:isolate;
  border:1px solid rgba(214,177,106,.24);box-shadow:0 24px 48px rgba(0,0,0,.28);transition:flex .58s cubic-bezier(.2,.72,.2,1),transform .35s ease,border-color .35s ease}
.wc-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,4,3,.06) 16%,rgba(4,4,3,.16) 44%,rgba(4,4,3,.94) 100%)}
.wc-card::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);pointer-events:none}
.wc-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.04);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.wc-card:hover,.wc-card:focus-visible{flex:1.48 1 0;border-color:rgba(239,208,142,.6);transform:translateY(-4px);outline:none}
.wc-card:hover img,.wc-card:focus-visible img{transform:scale(1.045);filter:saturate(1) contrast(1.04)}
.wc-no{position:absolute;z-index:2;left:17px;top:17px;color:#efd08e;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem;letter-spacing:.16em}
.wc-arrow{position:absolute;z-index:2;right:15px;top:15px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#f0cc82;background:rgba(5,5,4,.62);border:1px solid rgba(214,177,106,.35);backdrop-filter:blur(8px);transition:.3s ease}
.wc-card:hover .wc-arrow,.wc-card:focus-visible .wc-arrow{color:#160f04;background:#e4bd72;transform:rotate(45deg)}
.wc-copy{position:absolute;z-index:2;left:19px;right:18px;bottom:21px}
.wc-copy small{display:block;margin-bottom:9px;color:#d9ae64;font-size:.58rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.wc-copy strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.3rem,1.65vw,1.85rem);line-height:1.02;font-weight:500;letter-spacing:-.025em}
.wc-copy em{display:block;max-width:30ch;max-height:0;margin-top:0;overflow:hidden;color:rgba(243,238,228,.7);font-size:.75rem;line-height:1.5;font-style:normal;opacity:0;transform:translateY(8px);transition:.42s ease}
.wc-card:hover .wc-copy em,.wc-card:focus-visible .wc-copy em{max-height:60px;margin-top:10px;opacity:1;transform:none}
.wc-foot{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:25px;padding-top:21px;border-top:1px solid rgba(214,177,106,.16)}
.wc-foot>span{color:rgba(243,238,228,.5);font-size:.83rem}.wc-foot a{margin:0}

.project-gallery{background:#f3eee6;color:#28231d}
.pg-hero{position:relative;padding:calc(var(--nav-h) + 58px) 34px 58px;overflow:hidden;color:#f3eee4;
  background:radial-gradient(circle at 12% 18%,rgba(214,177,106,.12),transparent 30%),linear-gradient(135deg,#0d0c0a,#050505)}
.pg-hero-inner{max-width:1460px;min-height:432px;margin:auto;display:grid;grid-template-columns:minmax(360px,.76fr) minmax(520px,1.24fr);gap:64px;align-items:center}
.pg-hero-copy h1{max-width:9.5ch;margin:18px 0 22px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,5.5vw,6.1rem);line-height:.88;font-weight:500;letter-spacing:-.055em}
.pg-hero-copy h1 em{display:block;color:#d7ab5a;font-style:italic}
.pg-hero-copy>p{max-width:590px;margin:0;color:rgba(243,238,228,.7);font-size:1rem;line-height:1.7}
.pg-hero-visual{position:relative;height:432px;margin:0;overflow:hidden;border-radius:28px;border:1px solid rgba(214,177,106,.25);background:#17140f;box-shadow:0 30px 70px rgba(0,0,0,.45)}
.pg-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(4,4,3,.82));pointer-events:none}
.pg-hero-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 52%;filter:saturate(.85) contrast(1.04)}
.pg-hero-visual figcaption{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;display:flex;justify-content:space-between;align-items:end;gap:20px}
.pg-hero-visual figcaption span{color:#d8ad62;font-size:.61rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.pg-hero-visual figcaption strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500}

.pg-browser{background:linear-gradient(180deg,#f5f0e8,#ece3d7)}
.pg-toolbar-wrap{position:sticky;top:70px;z-index:20;padding:11px 24px;border-bottom:1px solid rgba(87,62,28,.16);background:rgba(245,240,232,.94);backdrop-filter:blur(18px)}
.pg-toolbar{max-width:1460px;margin:auto;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.pg-toolbar::-webkit-scrollbar{display:none}
.pg-toolbar button{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:999px;border:1px solid rgba(74,52,22,.2);background:rgba(255,255,255,.38);color:#5e554a;font:inherit;font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.25s ease}
.pg-toolbar button span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:rgba(74,52,22,.08);font-size:.57rem}
.pg-toolbar button:hover{border-color:#a97a32;color:#7f5516}.pg-toolbar button.is-active{color:#f5e9d2;background:#17130e;border-color:#17130e;box-shadow:0 9px 24px rgba(69,47,19,.16)}.pg-toolbar button.is-active span{color:#17130e;background:#d9ad60}
.pg-shell{max-width:1528px;margin:auto;padding:58px 34px 74px}
.pg-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:46px;align-items:end;margin-bottom:25px}
.pg-heading h2{margin:9px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,4vw,4rem);line-height:.98;font-weight:500;letter-spacing:-.035em}
.pg-heading>p{margin:0;color:#6f6558;line-height:1.65}
.pg-integrity{display:flex;align-items:center;gap:14px;margin-bottom:28px;padding:14px 17px;border:1px solid rgba(126,88,31,.17);border-radius:14px;background:rgba(255,255,255,.48)}
.pg-integrity>span{flex:0 0 31px;width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#9b6d28;font-size:.76rem}.pg-integrity p{margin:0;color:#766b5d;font-size:.78rem;line-height:1.55}.pg-integrity strong{color:#443821}
.pg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px}
.pg-card{min-width:0;overflow:hidden;border:1px solid rgba(91,65,29,.15);border-radius:19px;background:rgba(255,255,255,.72);box-shadow:0 13px 34px rgba(68,47,20,.08);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.pg-card:hover{transform:translateY(-5px);border-color:rgba(151,104,35,.38);box-shadow:0 21px 44px rgba(68,47,20,.14)}
.pg-card.is-filter-hidden,.pg-card.is-page-hidden{display:none}
.pg-open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.pg-open:focus-visible{outline:3px solid #b78132;outline-offset:-3px;border-radius:18px}
.pg-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#cfc4b4}
.pg-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.1));pointer-events:none}
.pg-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s cubic-bezier(.2,.72,.2,1),filter .4s ease;filter:saturate(.91) contrast(1.025)}
.pg-card:hover .pg-media img{transform:scale(1.035);filter:saturate(1) contrast(1.03)}
.pg-zoom{position:absolute;z-index:2;right:13px;bottom:13px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#f3ddad;background:rgba(9,8,6,.74);border:1px solid rgba(239,208,142,.28);font-size:1.2rem;line-height:1;backdrop-filter:blur(8px);transition:.3s ease}.pg-card:hover .pg-zoom{color:#171008;background:#e1b968;transform:rotate(90deg)}
.pg-meta{position:relative;min-height:91px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;gap:5px 14px;padding:15px 16px 16px}
.pg-meta small{grid-column:1;color:#a47227;font-size:.55rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-meta strong{grid-column:1;align-self:start;color:#29231c;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem;line-height:1.12;font-weight:500}
.pg-meta i{grid-column:2;grid-row:1/3;align-self:center;color:#8d6427;font-size:1rem;font-style:normal}
.pg-more-wrap{text-align:center;margin-top:34px}.pg-more{display:inline-flex;align-items:center;gap:12px;padding:14px 21px;border:1px solid #9d7130;border-radius:999px;color:#2d2417;background:transparent;font:inherit;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:.25s ease}.pg-more:hover{color:#fff;background:#17130e;border-color:#17130e}.pg-more[hidden]{display:none}

.pg-lightbox[hidden]{display:none}.pg-lightbox{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:80px minmax(0,1fr) 80px;place-items:center;padding:30px;background:rgba(4,4,3,.96);backdrop-filter:blur(14px)}
.pg-lb-stage{min-width:0;max-width:min(1180px,100%);margin:0;display:grid;place-items:center}
.pg-lb-stage img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 28px 70px rgba(0,0,0,.48)}
.pg-lb-stage figcaption{width:min(760px,100%);display:grid;grid-template-columns:1fr auto;gap:6px 22px;margin-top:17px;color:#f2eadc}.pg-lb-stage figcaption span{color:#d5a957;font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pg-lb-stage figcaption strong{grid-column:1;font-family:Georgia,serif;font-size:1.28rem;font-weight:500}.pg-lb-stage figcaption small{grid-column:2;grid-row:1/3;align-self:center;color:rgba(243,238,228,.5);font-size:.68rem}
.pg-lb-close,.pg-lb-nav{border:1px solid rgba(214,177,106,.32);color:#efd08e;background:rgba(16,14,10,.74);cursor:pointer;transition:.25s ease}.pg-lb-close:hover,.pg-lb-nav:hover{color:#171008;background:#e0b667}
.pg-lb-close{position:absolute;right:24px;top:22px;width:45px;height:45px;border-radius:50%;font-size:1.55rem}.pg-lb-nav{width:50px;height:50px;border-radius:50%;font-size:1.15rem}.pg-lb-prev{grid-column:1}.pg-lb-stage{grid-column:2}.pg-lb-next{grid-column:3}
.gallery-cta{padding:72px 34px;background:#070706;color:#f3eee4}.gallery-cta-inner{max-width:1180px;margin:auto;text-align:center}.gallery-cta h2{margin:0 auto 16px;max-width:850px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4.5vw,4.4rem);font-weight:500;line-height:1}.gallery-cta h2 em{color:#d4a858;font-style:italic}.gallery-cta p{max-width:680px;margin:0 auto 25px;color:rgba(243,238,228,.66);line-height:1.65}

@media(max-width:1100px){
  .wc-head,.pg-heading{grid-template-columns:1fr;gap:18px}.wc-intro{max-width:720px}
  .wc-rail{height:455px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.wc-rail::-webkit-scrollbar{display:none}
  .wc-card,.wc-card:hover,.wc-card:focus-visible{flex:0 0 min(390px,72vw);transform:none;scroll-snap-align:start}.wc-copy em{max-height:60px;margin-top:9px;opacity:1;transform:none}
  .pg-hero-inner{grid-template-columns:1fr 1fr;gap:34px}.pg-hero-visual{height:372px}
  .pg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
  .work-collections{padding:58px 22px 60px}.wc-head h2 em{display:inline}.wc-rail{height:372px}
  .wc-foot{align-items:flex-start;flex-direction:column;gap:12px}
  .pg-hero{padding:calc(var(--nav-h) + 42px) 22px 34px}.pg-hero-inner{grid-template-columns:1fr;min-height:0}.pg-hero-copy h1{max-width:11ch}.pg-hero-visual{height:360px}
  .pg-toolbar-wrap{top:66px;padding-inline:13px}.pg-shell{padding:45px 22px 60px}.pg-heading{gap:12px}
  .pg-lightbox{grid-template-columns:54px minmax(0,1fr) 54px;padding:18px 8px}.pg-lb-nav{width:43px;height:43px}.pg-lb-close{right:13px;top:12px}
}
@media(max-width:520px){
  .work-collections{padding:50px 14px 52px}.wc-head{margin-bottom:25px}.wc-head h2{font-size:clamp(2.25rem,11vw,3.15rem)}.wc-rail{height:415px;gap:10px}.wc-card,.wc-card:hover,.wc-card:focus-visible{flex-basis:82vw;border-radius:17px}
  .wc-copy{left:16px;right:15px;bottom:18px}.wc-copy strong{font-size:1.55rem}.wc-foot>span{font-size:.75rem}
  .pg-hero{padding-left:15px;padding-right:15px}.pg-hero-copy h1{font-size:clamp(3rem,15vw,4.5rem)}.pg-hero-visual{height:290px;border-radius:18px}.pg-hero-visual figcaption{left:15px;right:15px;bottom:15px}
  .pg-toolbar button{padding:10px 13px;font-size:.61rem}.pg-shell{padding:40px 14px 54px}.pg-grid{grid-template-columns:1fr;gap:15px}.pg-media{aspect-ratio:4/3}.pg-meta{min-height:82px}
  .pg-integrity{align-items:flex-start}.gallery-cta{padding:55px 15px}
  .pg-lightbox{display:block;padding:70px 12px 88px;overflow-y:auto}.pg-lb-stage img{max-height:68vh}.pg-lb-nav{position:fixed;bottom:22px;z-index:2}.pg-lb-prev{left:calc(50% - 56px)}.pg-lb-next{right:calc(50% - 56px)}.pg-lb-stage figcaption{grid-template-columns:1fr}.pg-lb-stage figcaption small{grid-column:1;grid-row:auto}
}

/* ============================================================
   ASSESSMENT FORM — invalid field state (v61.1)
   ============================================================ */
.assess .field.is-bad input,
.assess .field.is-bad select,
.assess .field.is-bad textarea{
  border-color:#a5471f;
  box-shadow:0 0 0 1px rgba(165,71,31,.45);
}
.assess .field.is-bad label{color:#c96a42}

/* ============================================================
   POLISH LAB SWAP — now a manual before/after control (v61.3)
   Was scroll-driven, which never reached both ends across
   breakpoints. Plays once on view, then the user scrubs it.
   ============================================================ */
.pl-swap{cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;
  -webkit-tap-highlight-color:transparent}
.pl-swap:focus{outline:none}
.pl-swap:focus-visible{outline:2px solid #efd08e;outline-offset:3px}
.pl-swap img{pointer-events:none}

.pl-swap-grip{position:absolute;top:50%;left:var(--wipe,100%);z-index:6;
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  transform:translate(-50%,-50%);color:#151009;
  background:linear-gradient(180deg,#e7c779,#bd8433);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 10px 26px rgba(0,0,0,.32);
  transition:transform .25s ease,box-shadow .25s ease}
.pl-swap-grip svg{width:18px;height:18px}
.pl-swap:hover .pl-swap-grip{transform:translate(-50%,-50%) scale(1.08)}
.pl-swap:active .pl-swap-grip{transform:translate(-50%,-50%) scale(.96)}

.pl-swap-hint{position:absolute;left:50%;top:14px;z-index:7;transform:translateX(-50%);
  padding:6px 14px;border-radius:999px;pointer-events:none;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem;
  letter-spacing:.18em;text-transform:uppercase;color:#f3eee4;
  background:rgba(10,10,9,.72);border:1px solid rgba(214,177,106,.34);
  backdrop-filter:blur(8px);opacity:1;transition:opacity .5s ease}
.pl-swap.is-touched .pl-swap-hint{opacity:0}

@media(max-width:1000px){
  .pl-swap-grip{width:44px;height:44px}
  .pl-swap-hint{font-size:.46rem;top:11px}
}
@media(prefers-reduced-motion:reduce){
  .pl-swap-grip{transition:none}
}

/* ============================================================
   HERO BACKGROUND — mobile framing (v61.4)
   The source is 16:9. Cover-filling it into a portrait phone
   viewport showed roughly a third of the width, taken from the
   right edge, then scaled a further 5.5% by the active state.
   Below 1000px: centre the frame, drop the extra zoom, and use
   a portrait crop so far less of the photo is thrown away.
   ============================================================ */
@media(max-width:1000px){
  /* Portrait-composed hero: the whole photo sits in the lower part of the
     frame at its true aspect, with a blurred darkened extension above it for
     the headline. Cover-filling the 16:9 original could only ever show a
     narrow vertical slice of the scene. */
  .bg-layer{
    background-position:center bottom;
    background-size:cover;
    transform:none;
  }
  .bg-layer.active{transform:none}
  /* variants are resolved in JS now - it covers all three rotating images */
  /* the composed image already carries its own darkening, so ease off the
     overlay that was there for the landscape crop */
  .hero .bg-fade{opacity:.72}
}

/* ============================================================
   v61.5 — mobile interaction fixes
   ============================================================ */

/* --- 1. Carousel vs compare slider gesture conflict -----------
   Below 760px the service cards become a horizontal snap carousel,
   but each card's compare slider claimed horizontal drags. With
   touch-action:pan-y the browser was told vertical panning only,
   so swiping sideways over the image - which is most of the card -
   couldn't move the carousel. That's the "carrying stones" feel.
   Inside the carousel, hand both axes back to the browser and let
   the slider be driven by tap instead of drag. */
@media(max-width:760px){
  .core-grid{
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-padding-inline:4px;
  }
  .core-grid .compare{touch-action:pan-x pan-y}
  .core-grid .compare-handle{width:38px;height:38px}
}

/* --- 2. Care gauge, once relocated below the checklist -------- */
.cc-gauge-below{
  margin:30px auto 4px;
  padding-top:26px;
  border-top:1px solid rgba(214,177,106,.24);
  width:100%;
  max-width:none;
  height:auto;
  display:grid;
  justify-items:center;
}
.cc-gauge-below svg{width:112px;height:112px}
.cc-gauge-below .cc-gauge-num{
  position:relative;inset:auto;margin-top:-72px;height:112px;
  display:grid;place-content:center;
}

/* --- 3. Case study photos: colour consistency -----------------
   These sat at grayscale(1) and jumped to near-colour on hover.
   On a phone there is no hover, so they stayed fully grey while
   the opened photo was full colour - a mismatch, and it hides the
   shine that is the actual product. Soften the rest state and let
   hover finish the job rather than reveal it. */
.sh-fig img{filter:grayscale(.38) contrast(1.05) brightness(1)}
.sheet:hover .sh-fig img,
.sheet:focus-within .sh-fig img{filter:grayscale(0) contrast(1.03) brightness(1.01)}
@media(max-width:1000px){
  /* no hover on touch - show them as they really are */
  .sh-fig img{filter:grayscale(.08) contrast(1.03)}
}

/* ============================================================
   CLIENT FEEDBACK CAROUSEL (v61.6)
   Horizontal snap rail. Sector tag rather than star ratings -
   these are B2B contractor references, not consumer reviews,
   and attribution is to the organisation, not an individual.
   ============================================================ */
.tst{position:relative;padding:56px 34px 62px;background:#0b0a08;color:#f3eee4;overflow:hidden}
.tst::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 12% 0%,rgba(214,177,106,.09),transparent 60%)}
.tst-inner{position:relative;max-width:1380px;margin:auto}

.tst-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:end;margin-bottom:34px}
.tst-kicker{display:block;margin-bottom:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(239,208,142,.82)}
.tst-title{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:400;
  font-size:clamp(2rem,3.4vw,2.9rem);line-height:1.08;letter-spacing:-.01em;max-width:20ch}
.tst-title em{font-style:normal;color:#e6c079}

.tst-nav{display:flex;gap:10px}
.tst-arrow{width:46px;height:46px;flex:none;display:grid;place-items:center;cursor:pointer;
  border-radius:50%;color:#efd08e;background:rgba(243,238,228,.04);
  border:1px solid rgba(214,177,106,.4);transition:background .3s ease,color .3s ease,opacity .3s ease}
.tst-arrow svg{width:19px;height:19px}
.tst-arrow:hover{background:rgba(214,177,106,.16)}
.tst-arrow:disabled{opacity:.3;cursor:default}
.tst-arrow:focus-visible{outline:2px solid #efd08e;outline-offset:3px}

.tst-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 8px}
.tst-rail::-webkit-scrollbar{display:none}
.tst-rail:focus-visible{outline:2px solid #efd08e;outline-offset:4px;border-radius:18px}

.tst-card{flex:0 0 clamp(300px,32%,430px);scroll-snap-align:start;margin:0;
  display:flex;flex-direction:column;gap:16px;padding:24px 24px 22px;border-radius:20px;
  background:linear-gradient(160deg,rgba(38,32,21,.62),rgba(13,12,10,.72));
  border:1px solid rgba(214,177,106,.28);
  box-shadow:0 22px 50px rgba(0,0,0,.36),inset 0 1px 0 rgba(243,238,228,.07)}

/* card header: monogram + organisation, like a review byline */
.tst-top{display:flex;align-items:center;gap:13px}
.tst-mono{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;
  font-family:Georgia,serif;font-size:1.16rem;color:#150f04;
  background:linear-gradient(180deg,#e6c079,#c89a47);
  box-shadow:0 6px 16px rgba(200,154,71,.28)}
.tst-who{min-width:0}
.tst-who b{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.04rem;
  line-height:1.25;color:#f6f1e7}
.tst-who span{display:block;margin-top:2px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.52rem;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(243,238,228,.48)}

.tst-tag{padding:5px 11px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem;
  letter-spacing:.16em;text-transform:uppercase;color:#0f0c06;
  background:linear-gradient(180deg,#e6c079,#c89a47)}
.tst-verified{display:inline-flex;align-items:center;gap:5px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.5rem;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(239,208,142,.72)}
.tst-verified svg{width:11px;height:11px}

.tst-card blockquote{margin:0;flex:1}
.tst-card blockquote p{margin:0;font-size:1.02rem;line-height:1.62;color:rgba(243,238,228,.9)}
.tst-card blockquote{position:relative}
.tst-card blockquote::before{content:"\201C";position:absolute;top:-30px;left:-4px;
  font-family:Georgia,serif;font-size:4.4rem;line-height:1;pointer-events:none;
  color:rgba(239,208,142,.16)}

.tst-card figcaption{display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;padding-top:15px;border-top:1px solid rgba(214,177,106,.22)}

.tst-dots{display:none;justify-content:center;gap:7px;margin-top:20px}
.tst-dot{width:6px;height:6px;border-radius:50%;background:rgba(243,238,228,.24);
  transition:background .3s ease,width .3s ease}
.tst-dot.is-on{width:20px;border-radius:999px;background:linear-gradient(90deg,#e6c079,#c89a47)}

@media(max-width:1000px){
  .tst{padding:46px 20px 50px}
  .tst-head{grid-template-columns:1fr;gap:18px;align-items:start;margin-bottom:24px}
  .tst-nav{display:none}          /* swipe instead - arrows would be redundant */
  .tst-dots{display:flex}
  .tst-rail{gap:14px;scroll-snap-type:x mandatory}
  .tst-card{flex:0 0 86%;scroll-snap-align:center;padding:21px 19px 19px}
  .tst-mono{width:38px;height:38px;font-size:1.06rem}
  .tst-card blockquote p{font-size:.98rem}
}
@media(max-width:430px){
  .tst-card{flex:0 0 90%}
}
@media(prefers-reduced-motion:reduce){
  .tst-rail{scroll-behavior:auto}
  .tst-arrow,.tst-dot{transition:none}
}
@media print{.tst{display:none!important}}

/* ============================================================
   SECTOR TRACK RECORD (v61.7)
   Project credentials inside each sector chapter, plus a summary
   band. These are statements of completed work - deliberately no
   quotation marks and nobody's words attributed to them.
   ============================================================ */
.sx-record{margin-top:20px;padding-top:17px;border-top:1px solid rgba(214,177,106,.22)}
.sx-record-lab{display:block;margin-bottom:11px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.55rem;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(239,208,142,.82)}
.sx-record-list{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.sx-record-list li{padding:6px 12px;border-radius:999px;font-size:.78rem;line-height:1.2;
  color:rgba(243,238,228,.88);background:rgba(243,238,228,.05);
  border:1px solid rgba(214,177,106,.26)}

/* summary band */
.trk{position:relative;padding:58px 34px 64px;background:#0b0a08;color:#f3eee4;overflow:hidden}
.trk::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(115% 80% at 85% 0%,rgba(214,177,106,.1),transparent 62%)}
.trk-inner{position:relative;max-width:1240px;margin:auto}
.trk-kicker{display:block;margin-bottom:13px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(239,208,142,.82)}
.trk-title{margin:0 0 18px;font-family:Georgia,'Times New Roman',serif;font-weight:400;
  font-size:clamp(2rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.01em;max-width:22ch}
.trk-title em{font-style:normal;color:#e6c079}
.trk-lead{margin:0 0 38px;max-width:74ch;font-size:1.03rem;line-height:1.66;
  color:rgba(243,238,228,.76)}

.trk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:rgba(214,177,106,.2);border:1px solid rgba(214,177,106,.2);border-radius:18px;
  overflow:hidden}
.trk-col{padding:24px 26px;background:linear-gradient(160deg,rgba(38,32,21,.5),rgba(13,12,10,.62))}
.trk-col-wide{grid-column:1/-1}
.trk-col h3{margin:0 0 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:400;color:#e6c079}
.trk-col p{margin:0;font-size:.94rem;line-height:1.62;color:rgba(243,238,228,.86)}

.trk-foot{margin-top:30px;text-align:center}
.trk-stamp{display:inline-block;padding:11px 24px;border-radius:999px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;color:#0f0c06;
  background:linear-gradient(180deg,#e6c079,#c89a47);
  box-shadow:0 14px 34px rgba(200,154,71,.24)}

@media(max-width:1000px){
  .trk{padding:46px 20px 52px}
  .trk-grid{grid-template-columns:1fr}
  .trk-col{padding:20px 19px}
  .trk-lead{font-size:.98rem;margin-bottom:28px}
  .sx-record-list li{font-size:.74rem;padding:5px 10px}
  .trk-stamp{font-size:.53rem;letter-spacing:.16em;padding:10px 18px;white-space:normal}
}
@media print{.trk{display:none!important}}


/* ============================================================
   v61.9 — mobile corrections
   ============================================================ */
/* The nav CTA was clipped to 44vw with an ellipsis, so it read
   "Request Assess...". Show a shorter real label instead. */
.btn-nav-short{display:none}
@media(max-width:1000px){
  .btn-nav-long{display:none}
  .btn-nav-short{display:inline}
  .btn-nav span{overflow:visible;text-overflow:clip}
}

/* The "Our Capability / Kenya - Uganda - ..." strip was absolutely
   positioned inside the image and wrapped onto two lines over the
   photograph on narrow screens. The same information already sits
   in the timeline above it, so drop the overlay on mobile. */
@media(max-width:1000px){
  .about-frame-top{display:none}
  .about-slice-copy{bottom:20px}
  /* descriptions were hidden on mobile - show them for the open slice */
  .about-slice.active .about-slice-copy span{display:block;max-width:none;font-size:.76rem}
}

/* Accordion rows read as one undifferentiated stack on mobile, with
   no cue about what to open next. Give each row a clearer edge and
   make the open/closed marker obvious. */
@media(max-width:1000px){
  .schedule-row{border-top:1px solid rgba(214,177,106,.28)}
  .schedule-row:first-child{border-top:0}
  .row-name{font-weight:600}
  .row-mark{width:30px;height:30px;flex:none;display:grid;place-items:center;
    border-radius:50%;border:1px solid rgba(214,177,106,.5);
    color:#efd08e;background:rgba(214,177,106,.1);
    transition:transform .3s ease,background .3s ease}
  .schedule-row.is-open .row-mark{transform:rotate(90deg);
    color:#160f04;background:linear-gradient(180deg,#e6c079,#c89a47)}
  .mx-row{border-top:1px solid rgba(141,97,25,.3)}
  .mx-rowhead{position:relative;padding-right:46px}
  .mx-rowhead::after{content:"";position:absolute;right:18px;top:50%;
    width:8px;height:8px;margin-top:-5px;border-right:1.6px solid #a5741f;
    border-bottom:1.6px solid #a5741f;transform:rotate(-45deg)}
}


/* ============================================================
   v62.0 — compare cards: tappable Before/After on mobile
   Inside the horizontal carousel the browser owns sideways
   gestures, so dragging the divider is not possible there.
   The two labels are buttons; tapping one snaps the wipe.
   ============================================================ */
.compare-label{cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none}
.compare-label:focus-visible{outline:2px solid #efd08e;outline-offset:2px}

@media(hover:hover){
  .compare-label:hover{border-color:rgba(239,208,142,.6)}
}
@media(max-width:760px){
  /* make them read as a choice, not a caption */
  .core-grid .compare-label{top:auto;padding:8px 13px;font-size:.62rem;
    box-shadow:0 4px 14px rgba(0,0,0,.35)}
  .core-grid .compare-label.before{opacity:.72}
  .core-grid .compare.cmp-set-before .compare-label.before,
  .core-grid .compare.cmp-set-after  .compare-label.after{opacity:1}
  .core-grid .compare.cmp-set-after  .compare-label.before{opacity:.62}
  /* the grip is decorative here - dragging is owned by the carousel */
  .core-grid .compare-handle{width:34px;height:34px;opacity:.55}
}


/* ============================================================
   v62.1 — Before/After control on the compare cards
   These were floating pills at the top, and in v62.0 I moved the
   "after" one to the left where the 01 badge already sits, so it
   was unreachable. They are now a single segmented control on a
   bar along the bottom: clear of the badge, obviously a choice,
   and tappable inside the carousel where dragging can't work.
   ============================================================ */
.compare-label{
  top:auto!important;bottom:14px;height:auto;max-height:none;z-index:8;
  padding:8px 15px;font-size:.6rem;letter-spacing:.14em;
  cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none;
  transition:background .28s ease,color .28s ease,opacity .28s ease;
}
.compare-label.before{right:14px;left:auto}
.compare-label.after{left:14px;right:auto}
.compare-label:focus-visible{outline:2px solid #efd08e;outline-offset:2px}

/* active state follows the wipe */
.compare.cmp-set-before .compare-label.before,
.compare.cmp-set-after  .compare-label.after{
  color:#21170a;background:rgba(230,194,116,.95);
  border-color:rgba(239,208,142,.9);
}
.compare.cmp-set-before .compare-label.after,
.compare.cmp-set-after  .compare-label.before{
  color:rgba(244,236,217,.82);background:rgba(10,10,10,.72);
}
@media(hover:hover){
  .compare-label:hover{border-color:rgba(239,208,142,.75)}
}

/* a hint bar so it reads as a control, and the 01 badge stays clear */
@media(max-width:760px){
  .core-grid .compare-label{bottom:12px;padding:9px 16px;font-size:.62rem;
    box-shadow:0 6px 18px rgba(0,0,0,.42)}
  .core-grid .compare-handle{opacity:.42;width:32px;height:32px}
  .core-grid .card-no{width:46px;height:46px;font-size:1.25rem;border-radius:14px}
}



/* ============================================================
   v62.4 — MOBILE HERO: full photo, no crop
   The photo stays on mobile. Each hero image has a portrait twin
   holding the ENTIRE photo at its true proportions in the lower
   part of the frame, with a blurred extension of itself above for
   the headline. Anchored to the bottom and sized to contain the
   width, so nothing is ever cut off the sides.
   Desktop untouched.
   ============================================================ */
@media(max-width:1000px){
  .bg-layer{
    background-position:center bottom;
    background-size:100% auto;      /* full width, never cropped sideways */
    background-repeat:no-repeat;
    background-color:#080807;
    transform:none;
  }
  .bg-layer.active{transform:none}
  .hero .bg-fade{opacity:.68}
}

/* ============================================================
   v62.5 — PHONE HERO STAGE + DUAL-GESTURE COMPARE CARDS
   Desktop remains full-bleed. On narrow screens the original
   landscape image moves into a short in-flow stage, so the whole
   scene is visible above the service and certification cards.
   ============================================================ */
.mobile-hero-stage{display:none}

@media(max-width:980px){
  .hero{min-height:0;padding-bottom:0;background:#070706}
  .hero>.bg-layer{display:none}
  .hero .bg-fade{
    opacity:1;
    background:
      radial-gradient(circle at 82% 34%,rgba(200,154,71,.12),transparent 28%),
      linear-gradient(180deg,#050505 0%,#090806 72%,#060605 100%);
  }
  .hero .bg-glow{opacity:.36}
  .hero-inner{
    min-height:0;
    padding:calc(74px + 26px) 22px 10px;
    gap:24px;
  }
  .visual-zone{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    justify-content:stretch;
    gap:0;
  }
  .mobile-hero-stage{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:16/10;
    overflow:hidden;
    isolation:isolate;
    border:1px solid rgba(214,177,106,.27);
    border-radius:22px;
    background:#0a0907;
    box-shadow:0 24px 54px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.04);
  }
  .mobile-hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    opacity:0;
    transform:scale(1.018);
    background-image:var(--hero-image);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    transition:opacity .9s ease,transform 1.35s ease;
    will-change:opacity,transform;
  }
  .mobile-hero-bg::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:rgba(5,5,5,.24);
    backdrop-filter:blur(15px);
  }
  .mobile-hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background-image:var(--hero-image);
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    filter:saturate(.96) contrast(1.025);
  }
  .mobile-hero-bg.active{z-index:1;opacity:1;transform:scale(1)}
  .mobile-hero-shade{
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(0,0,0,.08),transparent 64%,rgba(0,0,0,.42)),
      linear-gradient(90deg,rgba(0,0,0,.12),transparent 30%,transparent 76%,rgba(0,0,0,.08));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
  }
  .service-stack{
    width:auto;
    max-width:none;
    margin:-18px 10px 0;
    gap:9px;
    transform:none;
  }
  .service-card:hover,.service-card.active{transform:none}
  .hero .page-counter{
    position:relative;
    right:auto;
    bottom:auto;
    justify-content:flex-end;
    margin:8px 22px 0;
  }
  .hero .scroll-cue{display:none}
  .hero .trustbar{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    width:auto;
    margin:10px 22px 22px;
  }
}

@media(max-width:720px){
  .hero-inner{padding:calc(74px + 18px) 14px 8px;gap:20px}
  .mobile-hero-stage{aspect-ratio:16/10;border-radius:18px}
  .service-stack{margin-top:-15px;margin-inline:6px}
  .hero .page-counter{margin:7px 14px 0}
  .hero .trustbar{margin:8px 14px 18px}
}

/* The rail owns a swipe started on the photograph. The visible divider and
   its enlarged invisible hit areas own a swipe started on the control. */
@media(max-width:760px){
  .core-grid{touch-action:pan-x pan-y;overscroll-behavior-inline:contain}
  .core-grid .compare{touch-action:pan-x pan-y}
  .core-grid .compare-line,
  .core-grid .compare-handle{touch-action:none;pointer-events:auto}
  .core-grid .compare-line::before{
    content:"";
    position:absolute;
    inset:0 -18px;
  }
  .core-grid .compare-handle{
    width:40px;
    height:40px;
    opacity:.96;
    box-shadow:0 10px 27px rgba(0,0,0,.38),0 0 0 5px rgba(230,199,121,.10);
  }
  .core-grid .compare-handle::before{
    content:"";
    position:absolute;
    inset:-15px;
    border-radius:50%;
  }
}
