/* ============================================================
   BENNU CREATE — SITE MOCKUP v3 "MIDNIGHT"
   Shared design system for all pages.
   Brand board: navy / magenta / teal / gold / graphite / off-white
   Playfair Display (headlines) · Satoshi (body & UI)
   ============================================================ */
:root{
  --navy:#0D1B2A;
  --navy-2:#12253C;
  --navy-3:#1A3050;
  --navy-deep:#0A1622;
  --line:rgba(243,243,241,.14);
  --paper:#F3F3F1;
  --paper-2:#E9E8E2;
  --line-lt:rgba(13,27,42,.16);
  --magenta:#E0107A;
  --magenta-2:#FF3D9A;
  --teal:#00B2B3;
  --teal-deep:#0D8586;
  --gold:#D4AF37;
  --gold-deep:#9A7A1F;
  --graphite:#44464A;
  --bird:#44464A;
  --t:#F3F3F1;
  --t-mute:rgba(243,243,241,.66);
  --tl:#0D1B2A;
  --tl-mute:rgba(13,27,42,.68);
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Satoshi","Inter",system-ui,sans-serif;
  --mono:"IBM Plex Mono","Consolas",monospace;
  --hand:"Caveat","Segoe Print",cursive;
  --pad:clamp(20px,5vw,72px);
  --maxw:1360px;
  --r:20px;
  --ease:cubic-bezier(.22,.9,.28,1);
  --copy-leading:1.65;
  --reading-leading:1.6;
  --paragraph-space:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--navy);
  color:var(--t);
  font-size:clamp(15.5px,1.05vw,17.5px);
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--magenta);color:#fff}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:4px}

/* ---------- textures ---------- */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:2000;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
  animation:grain 9s steps(6) infinite;}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-2%,1.4%)}40%{transform:translate(1.6%,-1%)}60%{transform:translate(-1%,2%)}80%{transform:translate(2%,1%)}}
.dk{background:var(--navy);color:var(--t);position:relative}
.dk.grid-bg::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(rgba(243,243,241,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(243,243,241,.03) 1px,transparent 1px);
  background-size:76px 76px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 40%,transparent 100%);
          mask-image:radial-gradient(120% 90% at 50% 0%,#000 40%,transparent 100%);}
.lt{background:var(--paper);color:var(--tl);position:relative}
.lt.dot-bg::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(13,27,42,.14) 1px,transparent 1.4px);
  background-size:28px 28px;opacity:.4;
  -webkit-mask-image:linear-gradient(#000 6%,transparent 40%);
          mask-image:linear-gradient(#000 6%,transparent 40%);}

/* ---------- type ---------- */
.lbl{font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase}
.spec{font-family:var(--sans);font-weight:600;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.9em}
.spec::before{content:"";width:34px;height:1px;background:currentColor;opacity:.9}
.lt .spec{color:var(--gold-deep)}
.display{font-family:var(--serif);font-weight:600;line-height:1.06;letter-spacing:.002em}
.display em{font-style:italic;font-weight:500;color:var(--magenta)}
.lt .display em{color:var(--magenta)}
h1.display{font-size:clamp(2.8rem,7vw,6.4rem);line-height:1.04}
h2.display{font-size:clamp(2.1rem,4.4vw,4rem);max-width:17ch}
.lede{font-size:clamp(1.02rem,1.3vw,1.26rem);line-height:1.7;color:var(--t-mute);max-width:58ch;font-weight:400}
.lt .lede{color:var(--tl-mute)}
section{position:relative;padding:clamp(84px,11vw,168px) var(--pad);scroll-margin-top:84px}
.wrap{max-width:var(--maxw);margin:0 auto;position:relative}
.sec-head{display:flex;flex-direction:column;gap:1.125rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
[data-reveal].in{opacity:1;transform:none}

@media(max-width:980px){:root{--reading-leading:1.7}}

/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:3000;background:var(--navy-deep);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;transition:transform .7s var(--ease),visibility .7s}
#loader.done{transform:translateY(-101%);visibility:hidden}
#loader .l-mark{font-family:"Century Gothic","Jost",var(--sans);font-weight:500;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.01em}
#loader .l-mark b{color:var(--magenta)}
#loader .l-mark span{color:var(--teal);font-weight:500}
#loader .l-bar{width:min(240px,50vw);height:1px;background:var(--line);overflow:hidden}
#loader .l-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--magenta),var(--gold));transform:translateX(-100%);animation:load .9s var(--ease) forwards}
@keyframes load{to{transform:translateX(0)}}
#loader .lbl{color:var(--gold)}

/* ---------- cursor / progress / tag ---------- */
#cur,#cur2{position:fixed;top:0;left:0;pointer-events:none;z-index:2500;border-radius:50%;display:none}
#cur{width:8px;height:8px;background:var(--magenta);transform:translate(-50%,-50%)}
#cur2{width:34px;height:34px;border:1px solid rgba(224,16,122,.6);transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,border-color .25s}
#cur2.big{width:60px;height:60px;background:rgba(224,16,122,.12);border-color:rgba(224,16,122,.95)}
/* custom cursor removed (2026-07-12) — #cur/#cur2 stay display:none */
#prog{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--magenta),var(--teal),var(--gold));z-index:2400}
#tag{position:fixed;left:14px;bottom:14px;z-index:2400;font-family:var(--sans);font-weight:600;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t-mute);border:1px solid var(--line);background:rgba(13,27,42,.75);backdrop-filter:blur(8px);padding:.55em 1em;border-radius:99px;display:flex;gap:.8em;align-items:center}
#tag i{width:6px;height:6px;border-radius:50%;background:var(--magenta);animation:blink 2.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

/* ---------- nav ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:2300;transition:transform .45s var(--ease)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:calc(var(--maxw) + 40px);margin:34px auto 0;padding:10px 18px;border:1px solid var(--line);border-radius:99px;background:rgba(13,27,42,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:1440px){.nav{margin-left:16px;margin-right:16px}}
.brand{display:flex;align-items:center;gap:.7rem}
.brand svg{width:36px;height:36px}
.brand .wm{font-family:"Century Gothic","Jost",var(--sans);font-weight:500;font-size:1.2rem;letter-spacing:0}
.brand .wm b{color:var(--magenta);font-weight:500}
.brand .wm span{color:var(--teal);font-weight:500}
.nav-links{display:flex;gap:clamp(.6rem,1.6vw,1.7rem);align-items:center}
.nav-links a{font-size:1.28rem;font-weight:600;color:var(--t-mute);position:relative;padding:.35em .1em}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--magenta);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--t)}
.nav-links a:hover::after,.nav-links a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.btn{display:inline-flex;align-items:center;gap:.6em;border-radius:99px;padding:.8em 1.6em;font-weight:700;font-size:.92rem;letter-spacing:.01em;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .3s;will-change:transform}
.btn-m{background:var(--magenta);color:#fff;box-shadow:0 10px 30px -12px rgba(224,16,122,.55)}
.btn-m:hover{background:var(--magenta-2)}
.btn-ghost{border:1px solid var(--line);color:var(--t)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.lt .btn-ghost{border-color:var(--line-lt);color:var(--tl)}
.lt .btn-ghost:hover{border-color:var(--teal-deep);color:var(--teal-deep)}
.btn .ar{transition:transform .3s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.nav .btn{padding:.62em 1.35em}
#burger{display:none;flex-direction:column;gap:5px;padding:8px}
#burger span{width:22px;height:2px;background:var(--t);transition:.3s}
@media(max-width:920px){.nav-links{display:none}#burger{display:flex}}
#mnav{position:fixed;inset:0;background:var(--navy-deep);z-index:2350;display:flex;flex-direction:column;justify-content:center;padding:var(--pad);gap:.4em;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease);visibility:hidden}
#mnav.open{clip-path:inset(0 0 0% 0);visibility:visible}
#mnav a{font-family:var(--serif);font-size:clamp(1.7rem,7.5vw,3rem);font-weight:600;line-height:1.3;color:var(--t)}
#mnav a small{font-family:var(--sans);font-weight:600;font-style:normal;color:var(--gold);font-size:.72rem;letter-spacing:.2em;vertical-align:super;margin-right:.8em}
#mnav .lbl{color:var(--t-mute);margin-top:2.4rem;line-height:2}
#mclose{position:absolute;top:26px;right:26px;font-family:var(--sans);font-weight:600;letter-spacing:.16em;color:var(--t-mute);text-transform:uppercase;font-size:.72rem}

/* ---------- home hero ---------- */
#hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(130px,16vh,190px);padding-bottom:clamp(60px,8vh,110px);overflow:hidden}
#hero .glow-m,.cta-book .glow-m{position:absolute;width:min(900px,110vw);aspect-ratio:1;left:-18%;top:-28%;border-radius:50%;background:radial-gradient(circle,rgba(224,16,122,.28),transparent 65%);filter:blur(34px);pointer-events:none;animation:breathe 9s ease-in-out infinite}
#hero .glow-t,.cta-book .glow-t{position:absolute;width:min(700px,90vw);aspect-ratio:1;right:-16%;bottom:-30%;border-radius:50%;background:radial-gradient(circle,rgba(0,178,179,.2),transparent 65%);filter:blur(34px);pointer-events:none;animation:breathe 11s ease-in-out infinite reverse}
@keyframes breathe{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
#hero .cols{display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}
@media(max-width:980px){#hero .cols{grid-template-columns:1fr}}
.hero-kick{display:flex;flex-direction:column;gap:.7em;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.hero-kick .lbl{color:var(--gold)}
.hero-kick .lbl:after{content:"";display:block;width:44px;height:2px;background:var(--gold);margin-top:1em}
h1 .ln{display:block;overflow:hidden}
h1 .ln i{display:block;font-style:inherit;transform:translateY(110%);animation:lup 1s var(--ease) forwards;animation-delay:var(--ld)}
@keyframes lup{to{transform:translateY(0)}}
.hero-sub{margin-top:clamp(1.6rem,2.6vw,2.4rem);display:flex;flex-direction:column;gap:1.8rem}
.hero-ctas{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}
.hero-trust{display:flex;gap:1.6em;flex-wrap:wrap;color:var(--t-mute);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.hero-trust span{display:flex;align-items:center;gap:.7em}
.hero-trust i{width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none}
.lt .hero-trust{color:var(--tl-mute)}
.hero-mark{position:relative;display:grid;place-items:center;min-height:340px}
.hero-mark .ring{position:absolute;width:min(430px,72vw);aspect-ratio:1;border-radius:50%;border:1px dashed rgba(212,175,55,.4);animation:spin 40s linear infinite}
.hero-mark .ring.r2{width:min(340px,58vw);border-color:rgba(0,178,179,.3);animation-duration:28s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-mark .orbit-txt{position:absolute;width:min(500px,80vw);aspect-ratio:1;animation:spin 60s linear infinite}
.hero-mark .orbit-txt text{font-family:var(--sans);font-weight:600;font-size:7.2px;letter-spacing:.42em;text-transform:uppercase;fill:rgba(212,175,55,.75)}
.hero-mark .bird-wrap{position:relative;width:min(260px,46vw);animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero-mark .bird-wrap svg{filter:drop-shadow(0 30px 60px rgba(224,16,122,.35))}

/* ---------- interior page hero ---------- */
.page-hero{padding-top:clamp(150px,20vh,220px);padding-bottom:clamp(50px,7vw,90px);overflow:hidden}
.page-hero .crumb{display:flex;gap:.9em;align-items:center;font-weight:600;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:1.6rem}
.page-hero .crumb::before{content:"";width:34px;height:1px;background:currentColor}
.page-hero .crumb a{color:inherit;border-bottom:1px dotted rgba(212,175,55,.6)}
.page-hero .crumb a:hover{color:var(--magenta-2)}
.page-hero h1{font-size:clamp(2.5rem,5.8vw,5rem);max-width:20ch}
.page-hero .lede{margin-top:1.4rem}
.page-hero .hero-ctas{margin-top:2.2rem}
.page-hero .hero-trust{margin-top:2rem}
.price-chip{display:inline-flex;align-items:center;gap:.7em;margin-top:1.6rem;border:1px solid rgba(212,175,55,.5);color:var(--gold);border-radius:99px;padding:.6em 1.2em;font-weight:600;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase}
.price-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* ---------- marquee ---------- */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:1.1em 0;background:var(--navy-deep);position:relative}
.marquee .track{display:flex;gap:0;width:max-content;animation:mq 26s linear infinite;will-change:transform}
.marquee span{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);white-space:nowrap;padding-right:3em}
.marquee b{color:var(--magenta);font-weight:600;padding-right:3em}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- fragments (problem / "is this you") ---------- */
.frags{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(2.4rem,5vw,4rem)}
.frag{background:#fff;border:1px solid var(--line-lt);border-radius:12px;padding:1.35em 1.35em 1.5em;box-shadow:0 16px 36px -20px rgba(13,27,42,.4);transform:rotate(var(--rot,0deg)) translateY(var(--off,0px));transition:transform .5s var(--ease),box-shadow .5s;position:relative;color:var(--tl)}
.frag:hover{transform:rotate(0deg) translateY(-6px);box-shadow:0 26px 46px -20px rgba(13,27,42,.45)}
.frag .lbl{color:var(--magenta);display:block;margin-bottom:.9em;font-size:.62rem}
.frag p{font-size:1.04rem;line-height:1.45;font-weight:700}
.frag small{display:block;margin-top:.9em;color:var(--tl-mute);font-size:.84rem}
.frag::before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(var(--taperot,-2deg));width:78px;height:20px;background:rgba(224,16,122,.22);border-left:1px dashed rgba(224,16,122,.45);border-right:1px dashed rgba(224,16,122,.45)}
/* Six exhibits read together at desktop width; smaller screens keep roomy cards. */
#problem .frags{grid-template-columns:repeat(3,minmax(0,1fr))}
#problem .frag{min-width:0}
@media(min-width:1200px){
  #problem .frags{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(12px,1.25vw,20px)}
  #problem .frag{padding:26px clamp(16px,1.4vw,22px) 24px}
  #problem .frag p{font-size:clamp(.96rem,1.1vw,1.04rem);line-height:1.4}
  #problem .frag small{line-height:1.55}
  #problem .frag::before{width:60px}
}
@media(max-width:760px){#problem .frags{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}
@media(max-width:480px){#problem .frags{grid-template-columns:minmax(0,1fr)}}
.thesis{margin-top:clamp(3rem,6vw,5rem);font-family:var(--serif);font-size:clamp(1.5rem,3.2vw,2.7rem);line-height:1.28;font-weight:600;max-width:28ch}
.thesis em{font-style:italic;color:var(--magenta)}

/* ---------- service cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.6vw,20px)}
.svc{grid-column:span 2;background:var(--navy-2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.5em,2.2vw,2.1em);display:flex;flex-direction:column;gap:1em;min-height:250px;position:relative;overflow:hidden;transition:transform .45s var(--ease),border-color .45s}
.svc.big{grid-column:span 3}
@media(max-width:980px){.svc,.svc.big{grid-column:span 3}}
@media(max-width:640px){.svc,.svc.big{grid-column:span 6;min-height:0}}
.svc:hover{transform:translateY(-7px);border-color:rgba(224,16,122,.55)}
.svc::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,var(--magenta),var(--teal),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.svc:hover::after{transform:scaleX(1)}
.svc .ico{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--acc,var(--magenta))}
.svc .ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc h3{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,1.8vw,1.7rem)}
.svc .tag3{font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc,var(--magenta))}
.svc p{color:var(--t-mute);font-size:.95rem;line-height:1.6;flex:1}
.svc .foot{display:flex;justify-content:space-between;align-items:center;gap:1em}
.svc .price{font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t);background:var(--navy-3);padding:.5em .9em;border-radius:99px}
.svc .go{font-weight:700;color:var(--acc,var(--magenta));transition:transform .3s var(--ease)}
.svc:hover .go{transform:translateX(5px)}
.svc .cover{position:absolute;inset:0;z-index:2;border-radius:inherit}
.svc-note{margin-top:clamp(1.8rem,3vw,2.6rem);display:flex;justify-content:center;text-align:center}
.link-ar{display:inline-flex;align-items:center;gap:.6em;font-weight:700;color:var(--magenta);transition:gap .3s var(--ease)}
.link-ar:hover{gap:1em}
.lt .link-ar{color:var(--magenta)}

/* ---------- system diagram ---------- */
#system .diag{margin-top:clamp(2rem,4vw,3.4rem)}
#system .diag svg{width:100%;height:auto}
#system .cap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--tl-mute);padding:1.1em 0 0;border-top:1px dashed var(--line-lt);margin-top:4px;font-weight:600;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}
#system .cap b{color:var(--gold-deep);font-weight:600}
.diag-line2{stroke:rgba(13,27,42,.35);stroke-width:1.6;fill:none}
.node2 rect{fill:#fff;stroke:var(--line-lt)}
.node2 text{fill:var(--tl);font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.16em}
.node2 .sub{fill:rgba(13,27,42,.5);font-size:9px;letter-spacing:.12em;font-weight:500}
.node2.win rect{fill:var(--magenta);stroke:var(--magenta)}
.node2.win text{fill:#fff}
.rail{margin-top:clamp(2.6rem,4vw,3.6rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.rl{background:#fff;border:1px solid var(--line-lt);border-radius:12px;padding:1.2em 1.2em 1.1em;position:relative;transition:border-color .4s,transform .4s var(--ease);color:var(--tl)}
.rl:hover{border-color:rgba(224,16,122,.6);transform:translateY(-5px)}
.rl s{display:block;color:var(--tl-mute);font-size:.8rem;text-decoration-color:rgba(224,16,122,.75);margin-bottom:.45em}
.rl b{display:block;font-size:.95rem;line-height:1.35;font-weight:700}
.rl .lbl{display:block;color:var(--teal-deep);margin-top:.8em;font-size:.6rem}

/* ---------- AI phone / chat ---------- */
#ai .cols{display:grid;grid-template-columns:minmax(320px,460px) 1fr;gap:clamp(2rem,4.5vw,5rem);align-items:start}
@media(max-width:980px){#ai .cols{grid-template-columns:1fr}}
.phone{background:var(--navy-2);border:1px solid var(--line);border-radius:26px;padding:1.2em;position:sticky;top:110px;box-shadow:0 40px 80px -40px rgba(0,0,0,.65)}
@media(max-width:980px){.phone{position:static}}
.phone .ph-head{display:flex;justify-content:space-between;align-items:center;gap:1em;padding:.2em .4em 1em;border-bottom:1px solid var(--line);color:var(--t-mute)}
.phone .ph-head b{color:var(--t);font-weight:700;font-size:.9rem}
.phone .ph-head .lbl{font-size:.58rem;color:var(--gold)}
.chat{display:flex;flex-direction:column;gap:.7em;padding:1.2em .4em .4em;min-height:430px}
.msg{max-width:84%;padding:.8em 1.05em;border-radius:16px;font-size:.9rem;line-height:1.5;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.msg.show{opacity:1;transform:none}
.msg.them{background:var(--navy-3);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}
.msg.agent{background:rgba(224,16,122,.14);border:1px solid rgba(224,16,122,.45);border-bottom-right-radius:4px;align-self:flex-end}
.msg .who{display:block;font-weight:600;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t-mute);margin-bottom:.5em}
.msg.agent .who{color:var(--magenta-2)}
.chip{align-self:center;font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:.6em 1.1em;border-radius:99px;border:1px dashed rgba(224,16,122,.6);color:var(--magenta-2);opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease);text-align:center}
.chip.show{opacity:1;transform:none}
.chip.human{border-color:rgba(0,178,179,.7);color:var(--teal)}
.typing{align-self:flex-end;display:none;gap:5px;padding:.9em 1.1em;background:rgba(224,16,122,.14);border:1px solid rgba(224,16,122,.45);border-radius:16px;border-bottom-right-radius:4px}
.typing.on{display:flex}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--magenta-2);animation:tp 1s infinite;animation-delay:calc(var(--i)*.18s)}
@keyframes tp{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.vign{display:flex;flex-direction:column;gap:clamp(1rem,1.6vw,1.4rem);margin-top:clamp(1.6rem,2.5vw,2.2rem)}
.vg{border:1px solid var(--line);border-radius:14px;padding:1.4em 1.5em;display:flex;gap:1.2em;align-items:flex-start;transition:border-color .4s,background .4s}
.vg:hover{border-color:rgba(0,178,179,.55);background:var(--navy-2)}
.vg .n{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:1.1rem;padding-top:.1em}
.vg h4{font-weight:700;font-size:1.02rem;margin-bottom:.35em}
.vg p{color:var(--t-mute);font-size:.92rem;line-height:1.6}
.lt .vg{border-color:var(--line-lt);background:#fff}
.lt .vg p{color:var(--tl-mute)}

/* ---------- policy / ground-rules block ---------- */
.rules{margin-top:clamp(1.8rem,3vw,2.4rem);border:1px solid var(--line);border-radius:14px;padding:1.7em 1.7em 1.5em;background:var(--navy-2);position:relative}
.rules::before{content:attr(data-label);font-weight:600;font-size:.58rem;letter-spacing:.22em;color:var(--gold);position:absolute;top:-0.8em;left:1.4em;background:var(--navy);padding:.35em .9em;border:1px solid var(--line);border-radius:99px;text-transform:uppercase}
.rules ul,.rules ol{list-style:none;display:flex;flex-direction:column;gap:.7em;margin-top:.5em}
.rules li{display:flex;gap:.9em;font-size:.92rem;color:var(--t-mute)}
.rules li::before{content:"◆";color:var(--teal);font-size:.7em;padding-top:.5em}
.rules ol{counter-reset:rule}
.rules ol li::before{counter-increment:rule;content:counter(rule,decimal-leading-zero);color:var(--gold);font-weight:600;font-size:.72rem;letter-spacing:.1em;padding-top:.35em}
.rules .link-ar{margin-top:1.2em;font-size:.9rem}
.lt .rules{background:#fff;border-color:var(--line-lt)}
.lt .rules::before{background:var(--paper);border-color:var(--line-lt);color:var(--gold-deep)}
.lt .rules li{color:var(--tl-mute)}
.honesty{margin-top:1.6rem;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--t-mute)}
.honesty b{color:var(--t);font-weight:700}
.lt .honesty{color:var(--tl-mute)}
.lt .honesty b{color:var(--tl)}

/* ---------- process steps ---------- */
#how .cols{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(2.5rem,6vw,7rem);align-items:start}
@media(max-width:900px){#how .cols{grid-template-columns:1fr}}
#how .sticky{position:sticky;top:120px;display:flex;flex-direction:column;gap:1.6rem}
@media(max-width:900px){#how .sticky{position:static}}
.term{border:1px solid var(--line-lt);border-radius:12px;padding:1.3em 1.4em;background:#fff;font-size:.9rem;color:var(--tl-mute);max-width:40ch}
.term b{color:var(--tl);font-weight:700}
.dk .term{background:var(--navy-2);border-color:var(--line);color:var(--t-mute)}
.dk .term b{color:var(--t)}
.steps{display:flex;flex-direction:column;position:relative}
.steps::before{content:"";position:absolute;left:29px;top:40px;bottom:40px;width:1px;background:var(--line-lt)}
.dk .steps::before{background:var(--line)}
.step{display:flex;gap:clamp(1.4rem,3vw,2.6rem);padding:clamp(1.8rem,3vw,2.8rem) 0;border-bottom:1px dashed var(--line-lt);position:relative}
.dk .step{border-bottom-color:var(--line)}
.step:last-child{border-bottom:0}
.step .sn{flex:none;width:58px;height:58px;border-radius:50%;border:1px solid var(--line-lt);background:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-style:italic;color:var(--magenta);font-size:1.15rem;position:relative;z-index:1;transition:background .4s,color .4s,border-color .4s}
.dk .step .sn{background:var(--navy-2);border-color:var(--line)}
.step.in .sn{background:var(--magenta);color:#fff;border-color:var(--magenta)}
.step h3{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.9rem);font-weight:700;margin-bottom:.4em}
.step p{color:var(--tl-mute);max-width:52ch}
.dk .step p{color:var(--t-mute)}
.step .lbl{color:var(--gold-deep);display:block;margin-bottom:.7em;font-size:.62rem}
.dk .step .lbl{color:var(--gold)}

/* ---------- proof ---------- */
.proof-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(14px,2vw,22px)}
@media(max-width:900px){.proof-grid{grid-template-columns:1fr}}
.case{background:linear-gradient(160deg,var(--navy-2),var(--navy-deep));border:1px solid var(--line);color:var(--t);border-radius:var(--r);padding:clamp(1.8em,3vw,2.8em);display:flex;flex-direction:column;gap:1.3em;position:relative;overflow:hidden}
.case .glow2{position:absolute;right:-20%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(224,16,122,.28),transparent 70%);filter:blur(22px)}
.case h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.3rem);font-weight:700;line-height:1.2;max-width:24ch}
.redact{display:inline-block;background:var(--t);border-radius:3px;color:transparent;user-select:none;animation:redact 3.5s ease-in-out infinite}
@keyframes redact{0%,100%{opacity:.92}50%{opacity:.72}}
.case .meta{display:flex;gap:1.6em;flex-wrap:wrap;color:var(--t-mute);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.case .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;margin-top:auto;border-top:1px solid var(--line);padding-top:1.4em}
@media(max-width:560px){.case .stats{grid-template-columns:1fr 1fr}}
.stat b{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:700;color:var(--magenta-2);display:block;line-height:1}
.stat span{font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t-mute);display:block;margin-top:.6em;line-height:1.6}
.lt .stat b{color:var(--magenta)}
.lt .stat span{color:var(--tl-mute)}
.num-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1em;margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);padding-top:1.6em}
.lt .num-strip{border-top-color:var(--line-lt)}
.minis{display:flex;flex-direction:column;gap:clamp(14px,2vw,22px)}
.mini{background:var(--navy-2);border:1px solid var(--line);border-radius:var(--r);padding:1.6em;flex:1;display:flex;flex-direction:column;gap:.8em;transition:transform .4s var(--ease),border-color .4s}
.mini:hover{transform:translateY(-5px);border-color:rgba(0,178,179,.5)}
.mini h4{font-family:var(--serif);font-size:1.25rem;font-weight:700;line-height:1.3}
.mini p{color:var(--t-mute);font-size:.92rem}
.mini .lbl{color:var(--teal);font-size:.6rem}
.lt .mini{background:#fff;border-color:var(--line-lt)}
.lt .mini p{color:var(--tl-mute)}
.lt .mini .lbl{color:var(--teal-deep)}
.quote{border-left:3px solid var(--gold);padding:1.2em 1.6em;background:var(--navy-2);border-radius:0 var(--r) var(--r) 0}
.quote p{font-family:var(--serif);font-style:italic;font-size:1.18rem;line-height:1.55}
.quote footer{margin-top:.8em;font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t-mute)}
.lt .quote{background:#fff}
.lt .quote footer{color:var(--tl-mute)}
.ba{margin-top:clamp(14px,2vw,22px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px)}
@media(max-width:760px){.ba{grid-template-columns:1fr}}
.ba .pane{border-radius:var(--r);padding:1.7em;border:1px solid var(--line);display:flex;flex-direction:column;gap:.9em}
.lt .ba .pane{border-color:var(--line-lt)}
.ba .pane.before{background:var(--navy-2)}
.lt .ba .pane.before{background:var(--navy);color:var(--t)}
.ba .pane.before q{color:var(--t-mute);text-decoration:line-through;text-decoration-color:rgba(224,16,122,.65);text-decoration-thickness:1.5px}
.ba .pane.after{background:var(--paper);color:var(--tl);border-color:var(--paper)}
.lt .ba .pane.after{background:#fff;border-color:var(--line-lt)}
.ba .pane q{font-family:var(--serif);font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.4;quotes:none;font-weight:600}
.ba .pane.after q em{font-style:italic;color:var(--magenta)}
.proof-foot{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center}
.proof-foot p{font-family:var(--serif);font-style:italic;color:var(--t-mute);max-width:56ch}
.proof-foot p .fine{font-family:var(--sans);font-style:normal;font-weight:600;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}
.lt .proof-foot p{color:var(--tl-mute)}

/* ---------- ladder (how engagements start) ---------- */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px);counter-reset:rung}
@media(max-width:980px){.ladder{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ladder{grid-template-columns:1fr}}
.rung{background:#fff;border:1px solid var(--line-lt);border-radius:var(--r);padding:1.6em;display:flex;flex-direction:column;gap:.8em;position:relative;transition:transform .4s var(--ease),border-color .4s;color:var(--tl)}
.rung:hover{transform:translateY(-6px);border-color:rgba(224,16,122,.55)}
.rung::before{counter-increment:rung;content:counter(rung,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-size:2rem;color:rgba(224,16,122,.25);line-height:1}
.rung .lbl{color:var(--gold-deep);font-size:.62rem}
.rung h3{font-family:var(--serif);font-size:1.35rem;font-weight:700}
.rung p{color:var(--tl-mute);font-size:.92rem;flex:1}
.rung .price{font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tl);background:var(--paper-2);padding:.5em .9em;border-radius:99px;align-self:flex-start}
.dk .rung{background:var(--navy-2);border-color:var(--line);color:var(--t)}
.dk .rung p{color:var(--t-mute)}
.dk .rung .lbl{color:var(--gold)}
.dk .rung .price{color:var(--t);background:var(--navy-3)}

/* ---------- included / excluded lists ---------- */
.twocol{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,4rem);align-items:start}
@media(max-width:900px){.twocol{grid-template-columns:1fr}}
ul.inc,ul.exc{list-style:none;display:flex;flex-direction:column;gap:.8em;margin-top:1.4rem}
ul.inc li,ul.exc li{display:flex;gap:.9em;align-items:flex-start;font-size:.98rem;line-height:1.55;color:var(--tl-mute);border-bottom:1px dashed var(--line-lt);padding-bottom:.8em}
.dk ul.inc li,.dk ul.exc li{color:var(--t-mute);border-bottom-color:var(--line)}
ul.inc li::before{content:"◆";color:var(--teal-deep);font-size:.7em;padding-top:.55em}
.dk ul.inc li::before{color:var(--teal)}
ul.exc li::before{content:"✕";color:var(--magenta);font-weight:700;font-size:.8em;padding-top:.35em}
ul.inc li b,ul.exc li b{color:var(--tl);font-weight:700}
.dk ul.inc li b,.dk ul.exc li b{color:var(--t)}

/* ---------- pricing tiers ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);align-items:stretch}
@media(max-width:980px){.tiers{grid-template-columns:1fr}}
.tier{background:#fff;border:1px solid var(--line-lt);border-radius:var(--r);padding:clamp(1.6em,2.4vw,2.2em);display:flex;flex-direction:column;gap:1em;position:relative;color:var(--tl)}
.tier.star{border-color:rgba(224,16,122,.6);box-shadow:0 24px 50px -30px rgba(224,16,122,.45)}
.tier .flag{position:absolute;top:-0.9em;left:1.6em;background:var(--magenta);color:#fff;font-weight:600;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;padding:.45em 1em;border-radius:99px}
.tier h3{font-family:var(--serif);font-size:1.45rem;font-weight:700}
.tier .for{font-size:.9rem;color:var(--tl-mute);min-height:2.6em}
.tier .amt{font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,2.4vw,2.3rem);font-weight:700;color:var(--magenta);line-height:1}
.tier .amt small{font-family:var(--sans);font-style:normal;font-weight:600;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tl-mute);display:block;margin-top:.7em}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:.55em;margin-top:.4em;flex:1}
.tier ul li{display:flex;gap:.8em;font-size:.9rem;color:var(--tl-mute);line-height:1.5}
.tier ul li::before{content:"◆";color:var(--teal-deep);font-size:.65em;padding-top:.55em}
.tier .btn{justify-content:center;margin-top:1em}
.tier .note{font-size:.78rem;color:var(--tl-mute);font-style:italic}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-top:clamp(1.6rem,3vw,2.4rem)}
.faq details{border-bottom:1px solid var(--line-lt);padding:1.1em 0}
.dk .faq details{border-bottom-color:var(--line)}
.faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;display:flex;justify-content:space-between;gap:1.5em;align-items:baseline;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--serif);color:var(--magenta);font-size:1.3rem;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:.8em;color:var(--tl-mute);max-width:60ch}
.dk .faq details p{color:var(--t-mute)}

/* ---------- team / studio ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
@media(max-width:980px){.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.team-grid{grid-template-columns:1fr}}
.tcard{background:var(--navy-2);border:1px solid var(--line);border-radius:var(--r);padding:1.5em;display:flex;flex-direction:column;gap:1em;transition:transform .4s var(--ease),border-color .4s}
.tcard:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.5)}
.lt .tcard{background:#fff;border-color:var(--line-lt);color:var(--tl)}
.pframe{aspect-ratio:4/5;border-radius:14px;border:1px dashed rgba(212,175,55,.45);background:
  radial-gradient(circle at 30% 20%,rgba(224,16,122,.12),transparent 60%),
  radial-gradient(circle at 75% 80%,rgba(0,178,179,.1),transparent 60%),
  var(--navy-3);
  display:grid;place-items:center;position:relative;overflow:hidden}
.lt .pframe{background:
  radial-gradient(circle at 30% 20%,rgba(224,16,122,.08),transparent 60%),
  radial-gradient(circle at 75% 80%,rgba(0,178,179,.08),transparent 60%),
  var(--paper-2)}
.pframe .lbl{color:var(--t-mute);font-size:.58rem;text-align:center;line-height:2;padding:0 1em}
.lt .pframe .lbl{color:var(--tl-mute)}
.pframe svg{width:38%;opacity:.5}
.tcard .role{font-weight:600;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.lt .tcard .role{color:var(--gold-deep)}
.tcard h3{font-family:var(--serif);font-size:1.35rem;font-weight:700}
.tcard p{color:var(--t-mute);font-size:.92rem;line-height:1.6;flex:1}
.lt .tcard p{color:var(--tl-mute)}
.tcard .lbl.tags{color:var(--teal);font-size:.58rem;line-height:1.9;letter-spacing:.18em}
.lt .tcard .lbl.tags{color:var(--teal-deep)}

/* ---------- beliefs ---------- */
.beliefs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,2vw,22px)}
.belief{background:#fff;border:1px solid var(--line-lt);border-radius:var(--r);padding:1.7em;display:flex;flex-direction:column;gap:.8em;color:var(--tl);transition:transform .4s var(--ease),border-color .4s}
.belief:hover{transform:translateY(-5px);border-color:rgba(0,178,179,.55)}
.belief .n{font-family:var(--serif);font-style:italic;color:var(--magenta);font-size:1.2rem}
.belief h3{font-family:var(--serif);font-size:1.3rem;font-weight:700;line-height:1.3}
.belief p{color:var(--tl-mute);font-size:.92rem}
.dk .belief{background:var(--navy-2);border-color:var(--line);color:var(--t)}
.dk .belief p{color:var(--t-mute)}

/* ---------- timeline ---------- */
.tline{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,22px);margin-top:clamp(2rem,4vw,3rem);position:relative}
@media(max-width:900px){.tline{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tline{grid-template-columns:1fr}}
.tline::before{content:"";position:absolute;top:9px;left:2%;right:2%;height:1px;background:linear-gradient(90deg,var(--magenta),var(--teal),var(--gold));opacity:.5}
@media(max-width:900px){.tline::before{display:none}}
.tl-item{padding-top:1.6em;position:relative}
.tl-item::before{content:"";position:absolute;top:3px;left:0;width:13px;height:13px;border-radius:50%;background:var(--navy);border:2px solid var(--gold)}
.tl-item .yr{font-family:var(--serif);font-style:italic;font-size:1.5rem;font-weight:700;color:var(--gold)}
.tl-item b{display:block;margin:.4em 0 .3em;font-size:1rem}
.tl-item p{color:var(--t-mute);font-size:.88rem;line-height:1.6}

/* ---------- fit columns ---------- */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px)}
@media(max-width:800px){.fit-grid{grid-template-columns:1fr}}
.fit{border-radius:var(--r);padding:1.8em;border:1px solid var(--line-lt);background:#fff;color:var(--tl)}
.fit.good{border-top:3px solid var(--teal)}
.fit.bad{border-top:3px solid var(--magenta)}
.fit h3{font-family:var(--serif);font-size:1.35rem;font-weight:700;margin-bottom:.8em}
.fit ul{list-style:none;display:flex;flex-direction:column;gap:.7em}
.fit li{display:flex;gap:.9em;font-size:.95rem;color:var(--tl-mute);line-height:1.55}
.fit.good li::before{content:"◆";color:var(--teal-deep);font-size:.7em;padding-top:.5em}
.fit.bad li::before{content:"✕";color:var(--magenta);font-weight:700;font-size:.8em;padding-top:.3em}

/* ---------- trust band ---------- */
#trust{padding-top:clamp(60px,8vw,100px);padding-bottom:clamp(60px,8vw,100px)}
#trust .wrap{display:flex;flex-direction:column;align-items:center;gap:2.4rem;text-align:center}
#trust .band{font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,3.4vw,2.8rem);line-height:1.35;max-width:26ch}
#trust .band em{font-style:italic;color:var(--magenta)}
.badge{position:relative;width:150px;height:150px}
.badge svg{width:100%;height:100%}
.badge .rotor{animation:spin 26s linear infinite;transform-origin:50% 50%}
.badge text{font-family:var(--sans);font-weight:600;font-size:8.4px;letter-spacing:.36em;text-transform:uppercase;fill:var(--gold-deep)}

/* ---------- related services ---------- */
.related{display:flex;flex-wrap:wrap;gap:1rem;margin-top:clamp(1.6rem,3vw,2.4rem)}
.rel{border:1px solid var(--line);border-radius:14px;padding:1.1em 1.4em;display:flex;flex-direction:column;gap:.25em;min-width:230px;flex:1;transition:border-color .4s,transform .4s var(--ease)}
.rel:hover{border-color:rgba(224,16,122,.6);transform:translateY(-4px)}
.rel .lbl{color:var(--gold);font-size:.56rem}
.rel b{font-family:var(--serif);font-size:1.1rem;font-weight:700}
.rel span{color:var(--t-mute);font-size:.84rem}
.lt .rel{border-color:var(--line-lt)}
.lt .rel .lbl{color:var(--gold-deep)}
.lt .rel span{color:var(--tl-mute)}

/* ---------- final CTA ---------- */
.cta-book{text-align:center;overflow:hidden}
.cta-book .glow-m{left:22%;bottom:-55%;top:auto;width:min(900px,120vw);background:radial-gradient(circle,rgba(224,16,122,.35),transparent 66%);animation:breathe 8s ease-in-out infinite}
.cta-book .glow-t{right:8%;top:-40%;bottom:auto;width:min(600px,90vw);background:radial-gradient(circle,rgba(0,178,179,.22),transparent 66%)}
.cta-book h2{margin:0 auto;max-width:16ch}
.cta-book .lede{margin:1.6rem auto 0}
.cta-book .ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem}
.cta-book .phone-line{margin-top:3rem;font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,2rem);color:var(--t-mute)}
.cta-book .phone-line a{color:var(--t);border-bottom:1px solid var(--magenta);transition:color .3s}
.cta-book .phone-line a:hover{color:var(--magenta-2)}
.cta-book .spec{justify-content:center}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);border-top:1px solid var(--line);padding:clamp(3rem,6vw,5rem) var(--pad) 1.6rem;position:relative}
.f-cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.95fr) minmax(0,1.15fr);gap:clamp(1.5rem,3.5vw,3.5rem);align-items:start;max-width:var(--maxw);margin:0 auto}
.f-cols>*{min-width:0}
.f-brand-link{display:block;width:min(300px,100%);margin:0 0 1.5rem}
.f-logo{display:block;width:100%;height:auto;overflow:hidden}
.f-brand-copy{max-width:32ch}
.f-intro{font-size:.95rem;line-height:1.7;color:var(--t)}
.f-location{margin-top:1rem;font-size:.81rem;line-height:1.75;color:var(--t-mute)}
.f-heading{font-family:var(--sans);font-weight:600;font-size:.67rem;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 1.1rem}
.f-links>a,.f-contact a{display:block;width:fit-content;max-width:100%;padding:.35rem 0;font-size:.88rem;line-height:1.6;color:var(--t-mute);transition:color .2s}
.site-footer a:hover{color:var(--magenta-2)}
.f-contact .f-conversation{display:inline-flex;align-items:baseline;gap:.65rem;color:var(--t);font-weight:600}
.f-conversation span{color:var(--gold);transition:transform .2s}
.f-conversation:hover span{transform:translate(2px,-2px)}
.f-contact-details{margin-top:.9rem}
.f-contact-details a{overflow-wrap:anywhere}
.f-response{margin-top:1rem;font-size:.78rem;line-height:1.75;color:var(--t-mute)}
.f-base{max-width:var(--maxw);margin:clamp(2.5rem,4vw,4rem) auto 0;padding-top:1.25rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.7rem 2rem;align-items:center;justify-content:space-between;font-weight:500;font-size:.7rem;line-height:1.8;letter-spacing:.025em;color:var(--t-mute)}
.f-legal{display:flex;gap:1.5rem}
.f-legal a{padding:.5rem 0;transition:color .2s}
.f-signoff{color:var(--gold)}
@media(max-width:1000px){
  .f-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 2rem}
  .f-brand{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:2.5rem;align-items:center;padding-bottom:2rem;border-bottom:1px solid var(--line)}
  .f-brand-link{margin:0}
  .f-brand-copy{max-width:48ch}
  .f-location{margin-top:.65rem}
  .f-links>a,.f-contact a{padding:.65rem 0;min-height:44px}
  .f-heading{margin-bottom:.75rem}
}
@media(max-width:650px){
  .site-footer{padding-top:2.75rem}
  .f-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.25rem}
  .f-brand{display:block;padding-bottom:1.75rem}
  .f-brand-link{width:min(290px,100%);margin-bottom:1.35rem}
  .f-brand-copy{max-width:38ch}
  .f-location{margin-top:.85rem}
  .f-links>a,.f-contact a{font-size:.84rem}
  .f-heading{font-size:.65rem;letter-spacing:.15em}
  .f-contact{grid-column:1/-1;padding-top:1.75rem;border-top:1px solid var(--line)}
  .f-contact-details{margin-top:.55rem}
  .f-response{margin-top:.75rem}
  .f-base{margin-top:2rem;gap:.35rem 1rem}
  .f-base>span:first-child{flex-basis:100%}
  .f-legal{gap:1.25rem}
  .f-legal a{display:flex;align-items:center;min-height:44px}
  .f-signoff{font-size:.65rem}
}
@media(prefers-reduced-motion:reduce){.f-conversation:hover span{transform:none}}

/* ============================================================
   v5 — THE BENNU SYSTEM INSTRUMENTS
   Services hero nucleus, instrument plates, page blueprints.
   Static state is the complete connected system (no-JS safe);
   JS adds rotation, signals, and captions progressively.
   ============================================================ */
@property --nuc-theta{syntax:"<angle>";initial-value:0deg;inherits:true}

/* --- two-column hero shells --- */
.hcols{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,4vw,4.5rem);align-items:center}
@media(max-width:960px){.hcols{grid-template-columns:1fr}}

/* --- shared instrument strokes --- */
.inst .ln{stroke:rgba(243,243,241,.3);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.inst .ln.q{stroke:rgba(243,243,241,.16)}
.inst .ln.teal{stroke:var(--teal)}
.inst .ln.mag{stroke:var(--magenta)}
.inst .ln.gold{stroke:var(--gold)}
.inst .nd{fill:var(--teal)}
.inst .nd.g{fill:var(--gold)}
.inst .nd.m{fill:var(--magenta)}
.inst .bx{fill:var(--navy-2);stroke:rgba(243,243,241,.22)}
.inst .lb{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:1.8px;fill:rgba(243,243,241,.55);text-transform:uppercase}
.inst .lb.g{fill:rgba(212,175,55,.9)}
.inst .lb.t{fill:rgba(0,178,179,.9)}
.inst .lb.big{font-size:11px;fill:rgba(243,243,241,.8)}
.inst .sig{stroke-dasharray:5 9}
.inst .dim{opacity:.28;transition:opacity .4s}
.inst .lit{transition:opacity .4s}
@keyframes dashflow{to{stroke-dashoffset:-56}}
.run .sig{animation:dashflow 1.6s linear infinite}

/* --- the nucleus (services hero) --- */
.nucleus{position:relative;width:min(600px,100%);margin:0 auto;user-select:none;-webkit-user-select:none;--nucR:-238px}
.nucleus .nuc-stage{position:relative;aspect-ratio:1;touch-action:pan-y;cursor:grab}
.nucleus .nuc-stage.drag{cursor:grabbing}
.nucleus.anim .nuc-stage{transition:--nuc-theta .7s var(--ease)}
.nuc-field{width:100%;height:100%;display:block}
#nucRot{transform:rotate(var(--nuc-theta));transform-origin:50% 50%}
.nroute{stroke:rgba(243,243,241,.15);stroke-width:1.3;fill:none;transition:stroke .35s}
.nroute.on{stroke:var(--teal);stroke-width:1.8;filter:drop-shadow(0 0 5px rgba(0,178,179,.75))}
.nuc-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38%;text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:.35em;z-index:2}
.nuc-core img{width:52%;height:auto;filter:drop-shadow(0 12px 26px rgba(224,16,122,.35))}
.nuc-core b{font-family:var(--mono);font-weight:600;font-size:.56rem;letter-spacing:.26em;color:var(--gold)}
.nuc-core i{font-family:var(--serif);font-style:italic;font-size:.78rem;line-height:1.35;color:var(--t-mute)}
.nnode{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:16px;background:rgba(18,37,60,.88);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center;z-index:3;
  transform:rotate(calc(var(--base) + var(--nuc-theta))) translateY(var(--nucR)) rotate(calc(-1*(var(--base) + var(--nuc-theta))));
  transition:border-color .3s,box-shadow .3s,background .3s}
.nnode svg{width:38px;height:38px;color:var(--t-mute);transition:color .3s}
.nnode .nn-num{font-family:var(--mono);font-weight:600;font-size:.56rem;letter-spacing:.22em;color:var(--gold)}
.nnode .nn-name{font-weight:700;font-size:.6rem;line-height:1.15;color:var(--t-mute);max-width:88px;transition:color .3s}
.nnode:hover,.nnode.on{border-color:var(--acc,var(--teal));background:var(--navy-3);box-shadow:0 0 24px -6px var(--acc,rgba(0,178,179,.7))}
.nnode:hover svg,.nnode.on svg{color:var(--acc,var(--teal))}
.nnode:hover .nn-name,.nnode.on .nn-name{color:var(--t)}
.nnode:focus-visible{outline:2px solid var(--magenta);outline-offset:3px}
.nuc-panel{margin-top:1.1rem;border:1px solid var(--line);border-radius:14px;background:var(--navy-2);padding:1em 1.2em;display:flex;flex-wrap:wrap;gap:.35em 1em;align-items:baseline;min-height:92px}
.nuc-panel .np-num{font-family:var(--mono);font-weight:600;font-size:.62rem;letter-spacing:.22em;color:var(--gold)}
.nuc-panel .np-name{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--t)}
.nuc-panel .np-line{flex-basis:100%;color:var(--t-mute);font-size:.92rem;line-height:1.5}
.nuc-panel .np-link{font-size:.72rem}
.nuc-ctl{display:flex;align-items:center;gap:.7em;margin-top:.8rem;justify-content:center}
.nuc-ctl button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--t-mute);font-size:1rem;transition:border-color .3s,color .3s}
.nuc-ctl button:hover,.nuc-ctl button:focus-visible{border-color:var(--teal);color:var(--teal)}
.nuc-ctl .nc-hint{font-family:var(--mono);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,243,241,.4)}
.nuc-exit{position:absolute;left:50%;bottom:calc(clamp(84px,11vw,168px)*-0.55);width:1px;height:clamp(40px,6vw,90px);background:linear-gradient(var(--teal),transparent);transform:translateX(-50%) scaleY(0);transform-origin:top;transition:transform .9s var(--ease)}
.settled-line .nuc-exit{transform:translateX(-50%) scaleY(1)}
@media(max-width:1180px){.nucleus{--nucR:-206px}.nnode{width:86px;height:86px;margin:-43px 0 0 -43px}}
@media(max-width:960px){.nucleus{--nucR:-206px;width:min(520px,100%)}}
@media(max-width:640px){
  .nucleus .nuc-stage{aspect-ratio:auto;cursor:default;touch-action:auto}
  .nuc-field{max-width:300px;margin:0 auto;aspect-ratio:1}
  .nuc-nodes{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 4px;scrollbar-width:thin}
  .nnode{position:static;transform:none;margin:0;flex:0 0 auto;scroll-snap-align:center;width:104px;height:100px}
  .nuc-exit{display:none}
}

/* --- instrument plates (services landing) --- */
.plates{position:relative;display:flex;flex-direction:column;gap:clamp(14px,2vw,22px);counter-reset:plate}
.plates::before{content:"";position:absolute;left:31px;top:40px;bottom:40px;width:1px;background:linear-gradient(rgba(0,178,179,.55),rgba(224,16,122,.4) 50%,rgba(212,175,55,.55))}
.plate{position:relative;margin-left:62px;background:var(--navy-2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.3em,2vw,1.8em);display:grid;grid-template-columns:150px 1fr;gap:clamp(1.2em,2.4vw,2.2em);align-items:center;transition:transform .4s var(--ease),border-color .4s;overflow:hidden}
.plate::before{content:"";position:absolute;left:-31px;width:31px;height:1px;background:rgba(0,178,179,.5);top:var(--tap,50%)}
.plate::after{content:"";position:absolute;left:-35px;top:calc(var(--tap,50%) - 4px);width:8px;height:8px;border-radius:50%;background:var(--navy);border:1.5px solid var(--teal)}
.plate:nth-child(even){grid-template-columns:1fr 150px}
.plate:nth-child(even) .pl-inst{order:2}
.plate:hover{transform:translateX(6px);border-color:var(--acc,rgba(0,178,179,.55))}
.plate:hover::after,.plate:focus-within::after{background:var(--acc,var(--teal))}
.plate .cover{position:absolute;inset:0;z-index:2;border-radius:inherit}
.pl-inst{position:relative;display:grid;place-items:center;color:var(--t-mute)}
.pl-inst svg{width:100%;max-width:150px;height:auto;color:inherit}
.plate:hover .pl-inst{color:var(--acc,var(--teal))}
.plate h3{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,1.8vw,1.6rem);margin:.15em 0 .35em}
.plate .pl-num{font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.24em;color:var(--gold)}
.plate p{color:var(--t-mute);font-size:.94rem;line-height:1.6}
.plate .foot{display:flex;justify-content:space-between;align-items:center;gap:1em;margin-top:.9em;flex-wrap:wrap}
.plate .pl-rel{display:block;margin-top:.7em;font-family:var(--mono);font-weight:500;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(0,178,179,.75)}
@media(max-width:700px){
  .plates::before{left:15px}
  .plate{margin-left:34px;grid-template-columns:1fr}
  .plate::before{left:-19px;width:19px}
  .plate::after{left:-23px}
  .plate:nth-child(even){grid-template-columns:1fr}
  .plate:nth-child(even) .pl-inst{order:0}
  .pl-inst svg{max-width:120px}
}

/* --- page blueprints (service detail heroes) --- */
.hero-inst{position:relative}
.hero-inst>svg{width:100%;height:auto;display:block}
.inst-cap{margin-top:.9em;font-family:var(--serif);font-style:italic;font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.55;color:var(--t-mute);min-height:3.2em;max-width:52ch}
.inst-cap b{color:var(--t);font-style:normal}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:1rem}
.chip-b{border:1px solid var(--line);border-radius:99px;padding:.5em 1.05em;min-height:44px;display:inline-flex;align-items:center;gap:.6em;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t-mute);cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.chip-b:hover{border-color:var(--teal);color:var(--t)}
.chip-b.on,.chip-b[aria-pressed="true"]{border-color:var(--magenta);color:var(--paper);background:rgba(224,16,122,.12)}
.chip-b:focus-visible{outline:2px solid var(--magenta);outline-offset:3px}
.chip-b .tagh{font-size:.52rem;letter-spacing:.16em;color:var(--gold);border:1px solid rgba(212,175,55,.4);border-radius:99px;padding:.15em .55em}
/* prism alignment */
#instPrism .fragl{transition:transform .8s var(--ease),opacity .6s}
#instPrism.aligned .fragl{transform:translate(var(--fx),var(--fy)) rotate(var(--fr));opacity:.9}
#instPrism .beam{transition:opacity .6s,stroke-width .6s}
#instPrism:not(.aligned) .beam{opacity:.35}
#instPrism.aligned .beam{opacity:1;stroke-width:3;filter:drop-shadow(0 0 8px rgba(0,178,179,.8))}
/* portal broken state */
#instPortal .brk{opacity:0;transition:opacity .4s}
#instPortal.broken .brk{opacity:1}
#instPortal.broken .unbrk{opacity:.18}
/* relay packet */
#relayDot{transition:cx .55s var(--ease),cy .55s var(--ease)}
/* spine connect */
#instSpine .scatter{transition:opacity .6s}
#instSpine.connected .scatter{opacity:0}
#instSpine .joined{opacity:0;transition:opacity .6s .15s}
#instSpine.connected .joined{opacity:1}
#instSpine .leakmark{transition:r .3s}
/* support chain strips */
.chain{width:100%;height:auto;display:block;margin-top:clamp(1.6rem,3vw,2.4rem)}
.chain .cnode{fill:#fff;stroke:rgba(13,27,42,.25)}
.chain .clb{font-family:var(--sans);font-weight:700;font-size:11.5px;fill:#0D1B2A;letter-spacing:.6px}
.chain .csub{font-family:var(--mono);font-size:8.5px;letter-spacing:1.4px;fill:rgba(13,27,42,.55)}
.chain .cln{stroke:rgba(13,27,42,.35);fill:none;stroke-width:1.4}
.chain.dkc .cnode{fill:var(--navy-2);stroke:rgba(243,243,241,.25)}
.chain.dkc .clb{fill:var(--t)}
.chain.dkc .csub{fill:rgba(243,243,241,.5)}
.chain.dkc .cln{stroke:rgba(243,243,241,.3)}
@media(max-width:960px){.inst-cap{min-height:0}}

/* ============================================================
   v6 — THE BENNU ROUTE BUILDER (form system)
   One reusable, context-aware inquiry engine. Every inquiry
   begins a system map: CONTEXT → PROBLEM → PRIORITY → FIT → NEXT STEP.
   Static fallbacks: contact page quick form + tel/mailto always work.
   ============================================================ */
.rb-overlay{position:fixed;inset:0;z-index:2600;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;background:rgba(10,22,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:clamp(12px,4vh,56px) clamp(10px,3vw,32px)}
.rb-overlay.open{display:flex}
.rb-form{position:relative;width:min(880px,100%);background:var(--navy);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.6rem);color:var(--t)}
.rb-inline .rb-form{width:100%;border-color:var(--line)}
.rb-close{position:absolute;top:14px;right:16px;font-family:var(--mono);font-weight:600;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t-mute);padding:10px 12px;min-height:44px}
.rb-close:hover,.rb-close:focus-visible{color:var(--magenta-2)}
.rb-kicker{font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.4em}
.rb-title{font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;max-width:22ch}
.rb-sub{color:var(--t-mute);font-size:.95rem;margin-top:.5em;max-width:60ch}
/* route indicator */
.rb-route{display:flex;align-items:flex-start;gap:0;margin:1.6rem 0 1.8rem;padding:0;list-style:none}
.rb-route li{flex:1;display:flex;flex-direction:column;align-items:center;gap:.55em;position:relative;font-family:var(--mono);font-weight:600;font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,243,241,.45);text-align:center}
.rb-route li::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--graphite);border:2px solid rgba(243,243,241,.25);transition:background .35s,border-color .35s,box-shadow .35s}
.rb-route li::after{content:"";position:absolute;top:6px;left:calc(50% + 10px);width:calc(100% - 20px);height:1.5px;background:rgba(243,243,241,.15);transition:background .4s}
.rb-route li:last-child::after{display:none}
.rb-route li.done{color:rgba(0,178,179,.85)}
.rb-route li.done::before{background:var(--teal);border-color:var(--teal)}
.rb-route li.done::after{background:rgba(0,178,179,.6)}
.rb-route li.cur{color:var(--paper)}
.rb-route li.cur::before{background:var(--magenta);border-color:var(--magenta);box-shadow:0 0 10px rgba(224,16,122,.7)}
.rb-route li.gold::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 10px rgba(212,175,55,.7)}
.rb-route li.gold{color:var(--gold)}
/* step + fields */
.rb-step-title{font-family:var(--serif);font-weight:700;font-size:1.25rem;margin-bottom:.2em}
.rb-step-intro{color:var(--t-mute);font-size:.9rem;margin-bottom:1.2rem;max-width:60ch}
.rb-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem}
.rb-f{display:flex;flex-direction:column;gap:.45em}
.rb-f.wide,.rb-f.pills-f{grid-column:1 / -1}
.rb-f label,.rb-f legend{font-weight:700;font-size:.86rem;color:var(--t)}
.rb-f label .opt,.rb-f legend .opt{font-family:var(--mono);font-weight:500;font-size:.56rem;letter-spacing:.14em;color:var(--t-mute);text-transform:uppercase;margin-left:.6em}
.rb-f .help{font-size:.78rem;color:var(--t-mute)}
.rb-f input[type=text],.rb-f input[type=email],.rb-f input[type=tel],.rb-f input[type=url],.rb-f input[type=date],.rb-f textarea{background:var(--navy-2);border:1px solid var(--line);border-bottom:2px solid rgba(243,243,241,.3);border-radius:8px 8px 0 0;color:var(--t);font:inherit;font-size:.95rem;padding:.7em .85em;min-height:44px;width:100%;transition:border-color .3s,background .3s}
.rb-f textarea{min-height:96px;resize:vertical}
.rb-f input:focus-visible,.rb-f textarea:focus-visible{outline:none;border-bottom-color:var(--teal);background:var(--navy-3)}
.rb-f.err input,.rb-f.err textarea{border-bottom-color:var(--magenta)}
.rb-f .fmsg{font-size:.78rem;color:var(--magenta-2);display:none}
.rb-f.err .fmsg{display:block}
.rb-f fieldset{border:0;padding:0;margin:0}
.rb-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:.5em}
.rb-pill{border:1px solid var(--line);border-radius:99px;background:var(--navy-2);color:var(--t-mute);font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:.6em 1.05em;min-height:44px;display:inline-flex;align-items:center;gap:.55em;cursor:pointer;transition:border-color .25s,color .25s,background .25s}
.rb-pill::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(243,243,241,.4);transition:background .2s,border-color .2s}
.rb-pill:hover{border-color:var(--teal);color:var(--t)}
.rb-pill[aria-pressed="true"]{border-color:var(--teal);color:var(--paper);background:rgba(0,178,179,.12)}
.rb-pill[aria-pressed="true"]::before{background:var(--teal);border-color:var(--teal)}
.rb-pill:focus-visible{outline:2px solid var(--magenta);outline-offset:2px}
/* consent */
.rb-consent{display:flex;gap:.8em;align-items:flex-start;font-size:.82rem;color:var(--t-mute);margin-top:.4rem}
.rb-consent input{width:20px;height:20px;min-height:20px;margin-top:.15em;accent-color:#00B2B3}
.rb-consent a{border-bottom:1px dotted var(--gold);color:var(--t)}
/* nav row */
.rb-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem;flex-wrap:wrap}
.rb-nav .left{display:flex;gap:.7rem}
.rb-back{border:1px solid var(--line);border-radius:99px;color:var(--t-mute);font-weight:600;font-size:.85rem;padding:.75em 1.5em;min-height:44px}
.rb-back:hover,.rb-back:focus-visible{border-color:var(--teal);color:var(--teal)}
.rb-next{background:var(--magenta);color:#fff;border-radius:99px;font-weight:700;font-size:.9rem;padding:.8em 1.8em;min-height:44px;box-shadow:0 10px 28px -12px rgba(224,16,122,.6);transition:background .3s,transform .3s var(--ease)}
.rb-next:hover{background:var(--magenta-2);transform:translateY(-1px)}
.rb-next:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.rb-next[disabled]{opacity:.55;cursor:wait;transform:none}
.rb-meta{font-family:var(--mono);font-weight:500;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,243,241,.4)}
/* error summary */
.rb-errsum{display:none;border:1px solid rgba(224,16,122,.55);background:rgba(224,16,122,.08);border-radius:12px;padding:.9em 1.1em;margin-bottom:1.2rem;font-size:.88rem}
.rb-errsum.show{display:block}
.rb-errsum b{color:var(--magenta-2)}
.rb-errsum a{display:block;color:var(--t);border:0;text-decoration:underline;text-underline-offset:3px;margin-top:.3em}
/* review */
.rb-review{display:flex;flex-direction:column;gap:1rem}
.rb-rev-sec{border:1px solid var(--line);border-radius:12px;padding:1em 1.2em;background:var(--navy-2)}
.rb-rev-sec h4{font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;justify-content:space-between;align-items:center;gap:1em}
.rb-rev-sec h4 button{color:var(--teal);font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;min-height:44px;padding:0 .4em}
.rb-rev-sec h4 button:hover,.rb-rev-sec h4 button:focus-visible{color:var(--magenta-2)}
.rb-rev-sec dl{margin-top:.6em;display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:.35em 1em;font-size:.86rem}
.rb-rev-sec dt{color:var(--t-mute)}
.rb-rev-sec dd{color:var(--t)}
/* success / fallback */
.rb-done{text-align:center;padding:1.5rem 0 .5rem}
.rb-done .ember-ok{width:64px;height:64px;margin:0 auto 1.2rem;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFD98A,var(--gold) 45%,var(--magenta));box-shadow:0 0 30px rgba(212,175,55,.6)}
.rb-done h3{font-family:var(--serif);font-weight:700;font-size:1.6rem}
.rb-done p{color:var(--t-mute);max-width:52ch;margin:.7em auto 0;font-size:.92rem}
.rb-done .rb-nav{justify-content:center}
.rb-note{border:1px dashed rgba(212,175,55,.5);border-radius:12px;padding:.9em 1.1em;margin-top:1.2rem;font-size:.84rem;color:var(--t-mute);text-align:left}
.rb-note b{color:var(--gold)}
/* live mini diagram (systems form) */
.rb-diagram{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 1.4rem;font-family:var(--mono);font-weight:500;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase}
.rb-diagram .dn{border:1px solid rgba(243,243,241,.25);border-radius:99px;padding:.45em .8em;color:rgba(243,243,241,.4);transition:border-color .3s,color .3s,background .3s}
.rb-diagram .dn.on{border-color:var(--teal);color:var(--paper);background:rgba(0,178,179,.12)}
.rb-diagram .dn.gold.on{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.1)}
.rb-diagram .dl{color:rgba(243,243,241,.3)}
/* scheduler container */
.sched-box{border:1px solid var(--line);border-radius:var(--r);background:var(--navy-2);padding:1.4rem;margin-top:1rem}
.sched-box iframe{width:100%;min-height:560px;border:0;border-radius:10px;background:#fff}
/* quick contact + subscribe (light sections) */
.lt .rb-f input,.lt .rb-f textarea{background:#fff;border-color:var(--line-lt);border-bottom-color:rgba(13,27,42,.35);color:var(--tl)}
.lt .rb-f input:focus-visible,.lt .rb-f textarea:focus-visible{background:#fff;border-bottom-color:var(--teal-deep)}
.lt .rb-f label,.lt .rb-f legend{color:var(--tl)}
.lt .rb-f .help{color:var(--tl-mute)}
.lt .rb-consent{color:var(--tl-mute)}
.qc-form .rb-fields{grid-template-columns:1fr 1fr}
.hp-field{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){
  .rb-overlay{padding:0}
  .rb-form{min-height:100dvh;border-radius:0;border-left:0;border-right:0}
  .rb-fields,.qc-form .rb-fields{grid-template-columns:1fr}
  .rb-route li{font-size:.48rem}
  .rb-rev-sec dl{grid-template-columns:1fr}
  .rb-nav{position:sticky;bottom:0;background:var(--navy);padding:.8rem 0;margin-top:1.2rem;border-top:1px solid var(--line)}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1;transform:none}
  h1 .ln i{transform:none;animation:none}
  .marquee .track,.hero-mark .ring,.hero-mark .orbit-txt,.badge .rotor,.hero-mark .bird-wrap{animation:none}
  #cur,#cur2{display:none !important}
}

/* ---------- final logo integration (real artwork files) ---------- */
.brand-img{height:140px;width:auto;display:block;transform:translateY(18px)}
#loader .l-img{width:min(430px,72vw);height:auto;margin:0 auto 1.4rem;display:block}
.hero-mark .bird-wrap img{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 60px rgba(224,16,122,.35))}
.pframe img.ph-mark{width:38%;height:auto;opacity:.5}

/* ---------- header: electric ring + systems-connect ---------- */
@property --nav-a{syntax:"<angle>";initial-value:0deg;inherits:false}
.nav{position:relative;isolation:isolate;animation:navpulse 5s ease-in-out infinite}
.nav::before,.nav::after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;z-index:-1;
  background:conic-gradient(from var(--nav-a),transparent 0turn .30turn,rgba(0,178,179,.55) .37turn,rgba(224,16,122,.6) .40turn,rgba(212,175,55,.5) .43turn,transparent .50turn 1turn);
  padding:3px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:navspin 8s linear infinite}
.nav::after{inset:-4px;padding:4px;filter:blur(12px);opacity:.25}
@keyframes navspin{to{--nav-a:1turn}}
@keyframes navpulse{0%,100%{box-shadow:0 0 12px rgba(0,178,179,.06)}50%{box-shadow:0 0 22px rgba(224,16,122,.12)}}
.nav>*{position:relative;z-index:2}
.nav .nav-net{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.nav-net path{fill:none;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(0,178,179,.8))}
.nav-net circle{fill:var(--magenta);filter:drop-shadow(0 0 5px rgba(224,16,122,.9))}
.nav-net .node{fill:none;stroke:var(--gold);stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:nodePulse 1.1s ease-out infinite}
@keyframes nodePulse{0%{opacity:.95;transform:scale(.6)}100%{opacity:0;transform:scale(1.9)}}
.nav-links a::after{height:2px;background:linear-gradient(90deg,var(--teal),var(--magenta) 45%,var(--gold))}
.nav-links a:hover{color:var(--t);text-shadow:0 0 12px rgba(0,178,179,.55)}
@media (prefers-reduced-motion: reduce){.nav,.nav::before,.nav::after,.nav-net .node{animation:none}}

.nav-net .via{fill:var(--gold);stroke:none;transform-box:fill-box;transform-origin:center;animation:viaPop .3s ease backwards}
@keyframes viaPop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}

/* mind-map constellation canvas */
.nav>.nav-mind{position:absolute;inset:0;width:100%;height:100%;z-index:1;border-radius:inherit;pointer-events:none;opacity:.85}

/* ---------- v4 revision: a11y + command-center menu assembly ---------- */
.skip{position:fixed;left:14px;top:-64px;z-index:4000;background:var(--magenta);color:#fff;font-weight:700;padding:10px 16px;border-radius:8px;transition:top .2s}
.skip:focus{top:14px}
#mnav a{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
#mnav.open a{opacity:1;transform:none}
#mnav.open a:nth-of-type(1){transition-delay:.10s}
#mnav.open a:nth-of-type(2){transition-delay:.16s}
#mnav.open a:nth-of-type(3){transition-delay:.22s}
#mnav.open a:nth-of-type(4){transition-delay:.28s}
#mnav.open a:nth-of-type(5){transition-delay:.34s}
#mnav.open a:nth-of-type(6){transition-delay:.40s}
#mnav.open a:nth-of-type(7){transition-delay:.48s}
#mnav .lbl{opacity:0;transition:opacity .5s var(--ease) .58s}
#mnav.open .lbl{opacity:1}
/* ============================================================
   v5 — BLUEPRINT LAYER (schematic HUD concept)
   Mono annotations, corner registration, circuit traces,
   paper/gold buttons, drag-to-rebuild comparison slider.
   ============================================================ */

/* mono texture for technical labels */
.spec,#tag,.price-chip,.hero-trust,.f-base{font-family:var(--mono);font-weight:500}
.svc .price,.rung .price{font-family:var(--mono);font-weight:500}

/* --- buttons from the concept: square, technical --- */
.btn-gold{border:1px solid rgba(212,175,55,.75);color:var(--gold);border-radius:6px;font-family:var(--mono);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:.85em 1.4em}
.btn-gold::after{content:"↗";margin-left:.7em;transition:transform .3s var(--ease)}
.btn-gold:hover{border-color:var(--gold);color:#fff;background:rgba(212,175,55,.12)}
.btn-gold:hover::after{transform:translate(3px,-3px)}
.btn-paper{background:var(--paper);color:var(--navy);border-radius:6px;font-weight:700;padding:.95em 1.8em;box-shadow:0 14px 34px -14px rgba(243,243,241,.35)}
.btn-paper .ar{color:var(--gold-deep)}
.btn-paper:hover{background:#fff;transform:translateY(-2px)}
.link-mono{font-family:var(--mono);font-weight:500;font-size:.86rem;letter-spacing:.08em;color:var(--t);border-bottom:1px solid var(--gold);padding-bottom:.35em;transition:color .3s,border-color .3s}
.link-mono:hover{color:var(--gold);border-color:var(--magenta)}

/* --- hero: system field --- */
#hero .cols{grid-template-columns:1.05fr 1fr;align-items:center}
.kick-mono{display:flex;align-items:center;gap:.9em;font-family:var(--mono);font-weight:500;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(243,243,241,.78);margin-bottom:clamp(1.4rem,2.6vw,2rem)}
.kick-mono::before{content:"+";color:var(--gold);font-weight:600}
h1.sysline{font-family:var(--sans);font-weight:900;font-size:clamp(2.9rem,7.2vw,6.9rem);line-height:.99;letter-spacing:-.022em;color:var(--t)}
h1.sysline .ln i{transform:translateY(112%)}
.hero-strip{margin-top:clamp(2.6rem,5vw,4.2rem);display:flex;justify-content:center;align-items:center;gap:1.4em;flex-wrap:wrap;font-family:var(--mono);font-weight:500;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.hero-strip .dot{color:rgba(243,243,241,.4)}
.hero-strip .bars{display:flex;align-items:flex-end;gap:2px;height:16px;opacity:.85}
.hero-strip .bars i{display:block;background:var(--paper);width:2px;height:100%}
.hero-strip .bars i:nth-child(2n){height:70%;background:rgba(243,243,241,.6)}
.hero-strip .bars i:nth-child(3n){width:4px}
.hero-strip .bars i:nth-child(5n){height:55%}
/* schematic composition */
.schematic{width:100%;max-width:720px;margin:0 auto;height:auto;display:block}
.schematic .hud{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:2.4px;fill:rgba(212,175,55,.85)}
.schematic .hud.dim{fill:rgba(243,243,241,.42)}
.schematic .hud.teal{fill:rgba(0,178,179,.85)}
.schematic .trace{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.schematic .t-gold{stroke:rgba(212,175,55,.62)}
.schematic .t-teal{stroke:rgba(0,178,179,.6)}
.schematic .t-mag{stroke:rgba(224,16,122,.7)}
.schematic .node-c{fill:var(--teal);filter:drop-shadow(0 0 5px rgba(0,178,179,.9))}
.schematic .node-m{fill:var(--magenta);filter:drop-shadow(0 0 5px rgba(224,16,122,.9))}
.schematic .node-sq{fill:none;stroke:rgba(212,175,55,.85);stroke-width:1.4}
.schematic .via{fill:rgba(212,175,55,.9)}
.schematic .blip{animation:blipPulse 2.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes blipPulse{0%{opacity:.9;transform:scale(.7)}70%{opacity:0;transform:scale(2.1)}100%{opacity:0;transform:scale(2.1)}}
.schematic .bmark{animation:floaty 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
/* corner registration brackets + page index */
.cb{position:absolute;width:26px;height:26px;pointer-events:none;opacity:.55}
.cb::before{content:"";position:absolute;inset:0;border:0 solid rgba(212,175,55,.8)}
.cb.tl{top:96px;left:22px}.cb.tl::before{border-top-width:1px;border-left-width:1px}
.cb.tr{top:96px;right:22px}.cb.tr::before{border-top-width:1px;border-right-width:1px}
.cb.bl{bottom:22px;left:22px}.cb.bl::before{border-bottom-width:1px;border-left-width:1px}
.cb.br{bottom:22px;right:22px}.cb.br::before{border-bottom-width:1px;border-right-width:1px}
.vindex{position:absolute;left:26px;top:54%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:.9em;font-family:var(--mono);font-weight:500;font-size:.68rem;letter-spacing:.3em;color:rgba(243,243,241,.4);pointer-events:none}
.vindex::before,.vindex::after{content:"";width:1px;height:34px;background:rgba(243,243,241,.25)}
.vindex span{writing-mode:vertical-rl}
.reg{position:absolute;font-family:var(--mono);color:rgba(243,243,241,.28);font-size:1rem;pointer-events:none}
/* section HUD micro-labels + blueprint corners */
.bp>.wrap::before,.bp>.wrap::after{content:"";position:absolute;width:22px;height:22px;pointer-events:none;opacity:.5}
.bp>.wrap::before{top:-30px;left:-30px;border-top:1px solid rgba(212,175,55,.7);border-left:1px solid rgba(212,175,55,.7)}
.bp>.wrap::after{bottom:-30px;right:-30px;border-bottom:1px solid rgba(212,175,55,.7);border-right:1px solid rgba(212,175,55,.7)}
.hud-tag{position:absolute;right:0;top:-3em;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(212,175,55,.55);display:flex;align-items:center;gap:.8em;pointer-events:none}
.hud-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 6px rgba(0,178,179,.9)}
@media(max-width:1200px){.vindex{display:none}}
@media(max-width:980px){.cb,.reg,.hud-tag{display:none}.schematic{max-width:520px}}

/* --- drag-to-rebuild comparison slider --- */
.rebuild{--x:56%;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line-lt);box-shadow:0 40px 90px -40px rgba(13,27,42,.5);aspect-ratio:16/9.2;min-height:400px;max-height:680px;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;background:var(--paper-2)}
.rebuild svg.rb-side{position:absolute;inset:0;width:100%;height:100%;display:block}
.rb-chaos-wrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.rb-tear{position:absolute;top:-2%;bottom:-2%;height:104%;left:var(--x);width:58px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(-6px 0 14px rgba(13,27,42,.4))}
.rb-handle{position:absolute;left:var(--x);top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:1.05rem;letter-spacing:.05em;box-shadow:0 14px 34px -10px rgba(13,27,42,.55);border:1px solid var(--line-lt);cursor:ew-resize;z-index:5}
.rb-handle:focus-visible{outline:2px solid var(--magenta);outline-offset:4px}
.rb-handle::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px dashed rgba(212,175,55,.7);animation:spin 22s linear infinite}
.rb-label{position:absolute;left:var(--x);bottom:16px;transform:translateX(-50%);z-index:4;font-family:var(--mono);font-weight:600;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);background:rgba(243,243,241,.9);border:1px solid var(--line-lt);border-radius:99px;padding:.5em 1.1em;pointer-events:none;white-space:nowrap}
.rebuild .chalk{font-family:var(--hand);fill:rgba(243,243,241,.92)}
.rebuild .chalk.dim{fill:rgba(243,243,241,.6)}
.rebuild .scrib{fill:none;stroke:rgba(243,243,241,.55);stroke-width:1.6;stroke-linecap:round}
.rebuild .scrib.mag{stroke:var(--magenta-2);stroke-width:2}
.rebuild .note{fill:#EDEBE2;stroke:rgba(13,27,42,.2)}
.rebuild .note-t{font-family:var(--hand);fill:#22303f}
.rebuild .st{font-family:var(--sans);font-weight:700;fill:#0D1B2A;letter-spacing:.14em}
.rebuild .ss{font-family:var(--sans);font-weight:500;fill:rgba(13,27,42,.66)}
.rebuild .sm{font-family:var(--mono);font-weight:500;fill:rgba(13,27,42,.55);letter-spacing:.12em}
.rebuild .card{fill:#fff;stroke:rgba(13,27,42,.16)}
.rebuild .wire{fill:none;stroke-width:1.4}
.rb-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--tl-mute);padding:1.1em 0 0;border-top:1px dashed var(--line-lt);margin-top:14px;font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}
.rb-foot b{color:var(--gold-deep);font-weight:600}
@media(max-width:760px){.rebuild{aspect-ratio:auto;height:70vw;min-height:340px}.rb-label{display:none}}

/* --- v4: find-the-leak checklist --- */
.leak-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;max-width:1020px;margin:0 auto}
.leak{border:1px solid var(--line-lt);background:#fff;border-radius:12px;padding:1em 1.2em;text-align:left;font-size:.95rem;font-weight:500;color:var(--tl);display:flex;gap:.8em;align-items:flex-start;transition:border-color .3s,transform .3s var(--ease),background .3s;cursor:pointer}
.leak::before{content:"";flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid rgba(13,27,42,.4);margin-top:.15em;transition:background .25s,border-color .25s}
.leak:hover{transform:translateY(-3px);border-color:rgba(224,16,122,.5)}
.leak[aria-pressed="true"]{border-color:var(--magenta);background:rgba(224,16,122,.06)}
.leak[aria-pressed="true"]::before{background:var(--magenta);border-color:var(--magenta);box-shadow:inset 0 0 0 3px #fff}
.leak-verdict{margin-top:clamp(1.8rem,3vw,2.6rem);text-align:center;display:flex;flex-direction:column;gap:1.6rem;align-items:center}
.leak-verdict p{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.5rem);max-width:36ch;color:var(--tl);min-height:2.4em}
.leak-verdict p b{color:var(--magenta);font-style:normal}

/* --- v6.1: nav legibility — clear hover + unmistakable current page --- */
.nav .nav-links a{color:rgba(243,243,241,.82);padding:.5em .95em;border-radius:99px;border:1px solid transparent;transition:color .25s,background .25s,border-color .25s}
.nav .nav-links a::after{display:none}
.nav .nav-links a:hover,.nav .nav-links a:focus-visible{color:var(--paper);background:rgba(0,178,179,.16);border-color:rgba(0,178,179,.6);text-shadow:none}
.nav .nav-links a[aria-current]{color:var(--navy);background:var(--teal);border-color:var(--teal);font-weight:700;text-shadow:none}
.nav .nav-links a[aria-current]:hover{color:var(--navy);background:var(--teal)}

/* --- v4.1: badge rides just after the nav links; everything centers vertically --- */
.nav{align-items:center}
.nav .brand,.nav .nav-links,.nav>div:has(.btn-bennu),#burger{align-self:center}
.nav .nav-links{margin-left:auto;margin-right:0}
.nav>div:has(.btn-bennu){margin-left:clamp(.9rem,2vw,2rem);margin-right:auto}
@media(max-width:920px){.nav>div:has(.btn-bennu){margin-left:auto;margin-right:0}}

/* --- v4.1: the Bennu button — orbital rebirth badge --- */
.btn-bennu{position:relative;width:98px;height:98px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--gold);isolation:isolate;transition:transform .45s var(--ease),filter .45s}
.btn-bennu::before{content:"";position:absolute;inset:5px;border-radius:50%;z-index:-1;background:radial-gradient(circle at 50% 42%,rgba(224,16,122,.34),rgba(212,175,55,.16) 55%,rgba(212,175,55,0) 80%);opacity:0;transform:scale(.55);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.bb-orbit{position:absolute;inset:0;width:100%;height:100%;animation:spin 24s linear infinite;pointer-events:none}
.bb-orbit text{font-family:var(--mono);font-weight:600;font-size:12px;letter-spacing:3px;text-transform:uppercase;fill:var(--gold);transition:fill .45s}
.bb-slot{position:relative;width:34px;height:34px}
.bb-slot::before{content:"";position:absolute;inset:-26px;border-radius:50%;border:1.5px dashed rgba(0,178,179,.9);opacity:0;transition:opacity .3s;filter:drop-shadow(0 0 6px rgba(0,178,179,.85));animation:spin 1.1s linear infinite;z-index:2;pointer-events:none}
.bb-slot::after{content:"CONNECT";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.4);font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.16em;color:#fff;text-shadow:0 1px 6px rgba(13,27,42,.85);opacity:0;transition:opacity .35s var(--ease) .18s,transform .35s var(--ease) .18s;white-space:nowrap;z-index:3;pointer-events:none}
.bb-ember{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFD98A,var(--gold) 40%,var(--magenta) 100%);box-shadow:0 0 20px rgba(224,16,122,.85),0 0 36px rgba(212,175,55,.5);animation:emberPulse 2.4s ease-in-out infinite;transition:opacity .4s,transform .4s}
@keyframes emberPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.4);filter:brightness(1.45)}}
.bb-ember i{position:absolute;left:50%;top:50%;width:3.5px;height:3.5px;margin:-1.75px;border-radius:50%;opacity:0;pointer-events:none}
.bb-ember i:nth-child(1){background:var(--gold);--sx:-36px;--sy:-19px;animation:emberRise 5.5s ease-out infinite 2s}
.bb-ember i:nth-child(2){background:var(--magenta-2);--sx:34px;--sy:-26px}
.bb-ember i:nth-child(3){background:var(--teal);--sx:-26px;--sy:29px}
.bb-ember i:nth-child(4){background:#FFD98A;--sx:36px;--sy:22px}
@keyframes emberRise{0%,72%{opacity:0;transform:translate(0,0) scale(1)}76%{opacity:.9}100%{opacity:0;transform:translate(4px,-24px) scale(.4)}}
.bb-bird{position:absolute;left:50%;top:50%;width:56px;height:56px;transform:translate(-50%,-40%) scale(.28);opacity:0;filter:blur(4px) drop-shadow(0 4px 10px rgba(224,16,122,.5));transition:opacity .55s var(--ease),transform .55s var(--ease),filter .55s var(--ease)}
.btn-bennu:hover,.btn-bennu:focus-visible{transform:translateY(-2px);filter:drop-shadow(0 16px 30px rgba(224,16,122,.5))}
.btn-bennu:hover::before,.btn-bennu:focus-visible::before{opacity:1;transform:scale(1)}
/* the ring whirls inward and merges with the core */
.btn-bennu:hover .bb-orbit,.btn-bennu:focus-visible .bb-orbit{animation:orbitCollapse .65s var(--ease) forwards}
@keyframes orbitCollapse{0%{opacity:1;transform:rotate(0deg) scale(1)}100%{opacity:0;transform:rotate(300deg) scale(.1)}}
/* the ember charges into a larger pulsing core */
.btn-bennu:hover .bb-ember,.btn-bennu:focus-visible .bb-ember{animation:coreCharge .85s ease-in-out infinite;box-shadow:0 0 26px rgba(224,16,122,.95),0 0 48px rgba(212,175,55,.65),0 0 72px rgba(0,178,179,.35)}
@keyframes coreCharge{0%,100%{transform:scale(1.65);filter:brightness(1.15)}50%{transform:scale(1.9);filter:brightness(1.65)}}
/* electric spark ring + continuous sparks */
.btn-bennu:hover .bb-slot::before,.btn-bennu:focus-visible .bb-slot::before{opacity:1}
.btn-bennu:hover .bb-slot::after,.btn-bennu:focus-visible .bb-slot::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
.btn-bennu:hover .bb-ember i,.btn-bennu:focus-visible .bb-ember i{animation:sparkLoop .7s linear infinite}
.btn-bennu:hover .bb-ember i:nth-child(2),.btn-bennu:focus-visible .bb-ember i:nth-child(2){animation-delay:.18s}
.btn-bennu:hover .bb-ember i:nth-child(3),.btn-bennu:focus-visible .bb-ember i:nth-child(3){animation-delay:.36s}
.btn-bennu:hover .bb-ember i:nth-child(4),.btn-bennu:focus-visible .bb-ember i:nth-child(4){animation-delay:.54s}
@keyframes sparkLoop{0%{opacity:0;transform:translate(0,0) scale(1.2)}12%{opacity:1}100%{opacity:0;transform:translate(var(--sx,24px),var(--sy,-20px)) scale(.2)}}
.btn-bennu:focus-visible{outline:2px solid var(--magenta);outline-offset:4px}
@media(max-width:560px){.btn-bennu{width:78px;height:78px}.bb-bird{width:46px;height:46px}.bb-ember{width:34px;height:34px;margin:-17px 0 0 -17px}.bb-slot::before{inset:-20px}.bb-slot::after{font-size:11px}}

/* --- v4: dark variant for before/after fit panels --- */
.fit.dark{background:var(--navy-2);border-color:var(--line);color:var(--t)}
.fit.dark h3{color:var(--t)}
.fit.dark li{color:var(--t-mute)}

/* --- v4: clickable ladder rungs + longer mobile menus --- */
.rung .cover{position:absolute;inset:0;z-index:2;border-radius:inherit}
#mnav.open a:nth-of-type(8){transition-delay:.54s}
#mnav.open a:nth-of-type(9){transition-delay:.60s}

/* ============================================================
   v6.2 — PACING PASS (2026-07-13)
   Four independent ideas. Delete any lettered block (and its
   matching HTML, noted per block) to remove that idea cleanly.
   ============================================================ */

/* --- v6.2a: cross-page view transitions ---
   Seamless crossfade between pages in Chrome/Edge; other browsers
   simply navigate as before. No HTML required. */
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.24s}
::view-transition-new(root){animation-duration:.24s}
@media (prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* --- v6.2b: quiet statement section (index §02.5, id="fix") ---
   One full-viewport breath between the chaos and the path. */
.sec-quiet{min-height:88vh;display:flex;align-items:center;background:var(--navy-deep);padding:clamp(5rem,10vh,8rem) 0}
.sec-quiet .wrap{text-align:center;max-width:1120px}
.sec-quiet .spec{color:var(--t-mute)} /* even the label whispers here */
.q-line{font-family:var(--serif);font-weight:600;font-size:clamp(2.7rem,7.2vw,6.6rem);line-height:1.07;letter-spacing:-.01em;color:var(--t);margin:1.8rem 0 0}
.q-line em{font-style:italic;color:var(--gold)}
.q-ours{font-family:var(--serif);font-style:italic;font-weight:700;font-size:clamp(3.6rem,10vw,9.5rem);line-height:1;color:var(--magenta-2);margin:2.4rem 0 0}

/* --- v6.2c: paper proof band (index §05 class dk→lt) ---
   The dark flagship case card floats on paper. */
.lt .case{box-shadow:0 30px 70px -34px rgba(13,27,42,.5)}

/* --- v6.2d: scroll-assembled loop diagram (index §04) ---
   Pure CSS scroll-driven animation: the loop draws itself as you
   scroll. Unsupported browsers and reduced-motion users see the
   complete static diagram — nothing is ever hidden for them. */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    #system .diag{view-timeline-name:--loop;view-timeline-axis:block}
    #system .diag .diag-line2{stroke-dasharray:1;stroke-dashoffset:1;animation:loopDraw linear both;animation-timeline:--loop;animation-range:cover 0% cover 58%}
    #system .diag .node2{transform-box:fill-box;transform-origin:center;animation:loopNode ease-out both;animation-timeline:--loop}
    #system .diag .ln-1{animation-range:cover 4% cover 16%}
    #system .diag .ln-2{animation-range:cover 12% cover 24%}
    #system .diag .ln-3{animation-range:cover 20% cover 32%}
    #system .diag .ln-4{animation-range:cover 28% cover 40%}
    #system .diag .ln-5{animation-range:cover 36% cover 48%}
    #system .diag .ln-6{animation-range:cover 44% cover 56%}
    #system .diag .loop-crown{animation:loopFade linear both;animation-timeline:--loop;animation-range:cover 56% cover 70%}
    #system .diag .loop-pulse{animation:loopFade linear both;animation-timeline:--loop;animation-range:cover 58% cover 72%}
    #system .diag .cap{animation:loopFade linear both;animation-timeline:--loop;animation-range:cover 62% cover 78%}
  }
}
@keyframes loopDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes loopNode{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes loopFade{from{opacity:0}to{opacity:1}}
