body{margin:0}img{max-width:100%}
/* Layout: one dark navy world. Full-bleed hero with a live Vanta globe and the goal picker inside it; the chosen goal
   rewrites the path section below (destination postcard + four stages); then ways to work, proof, founders, a three-field capture.
   Committed single look: every colour is set explicitly so it renders the same in either viewer theme. */
:root{
  --navy:#061A33; --deep:#04122A; --night:#030C1C;
  --glass:rgba(255,255,255,.06); --glass2:rgba(255,255,255,.09); --edge:rgba(255,255,255,.16); --edge2:rgba(255,255,255,.26);
  --band:#0B2445; --band-line:rgba(120,170,230,.22);
  --ink:#F4F8FD; --muted:#B9C7D9; --dim:#8DA2BD;
  --cyan:#3FD0FF; --cyan-ink:#03243A; --amber:#FFB547;
  --display:"Roboto", "Helvetica Neue", Arial, sans-serif; --body:"Roboto", "Helvetica Neue", Arial, sans-serif; --mono:"Roboto Mono", ui-monospace, Menlo, monospace;
  --gl:max(20px, env(safe-area-inset-left, 0px)); --gr:max(20px, env(safe-area-inset-right, 0px));
  color-scheme:dark;
}
*{box-sizing:border-box}
section[id],[id].sec{scroll-margin-top:84px}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top, 0px))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--navy);color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:60;background:var(--navy)}
p{margin:0} h1,h2,h3{margin:0;font-family:var(--display);text-wrap:balance;letter-spacing:-.022em}
h2{font-size:clamp(2rem,3.8vw,3.1rem);font-weight:700;line-height:1.06}
h3{font-size:1.22rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}
body{text-rendering:optimizeLegibility;font-kerning:normal}
a{color:inherit} button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.in{max-width:1200px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}
.eyebrow{font:500 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.muted{color:var(--muted)}
.sec{padding-block:112px;position:relative;background:var(--navy)}
.sec + .sec{border-top:1px solid var(--band-line)}
/* alternate bands so each block reads as its own space */
.sec.band{background:linear-gradient(180deg, #0F2C53 0%, #0A2343 100%)}
.sec::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg, transparent, rgba(63,208,255,.55) 50%, transparent);opacity:.7;pointer-events:none}
/* cards: firmer edges, a top highlight and a soft drop so they sit above the band */
.way,.quote,.founder,.report div,.postcard,.video{box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 40px -24px rgba(0,0,0,.65)}
#serve .video,#ways .way,#report .report div{background:rgba(6,26,51,.55)}
.head{display:flex;flex-direction:column;gap:16px;max-width:720px;margin-bottom:52px}
.head .eyebrow{display:flex;align-items:center;gap:12px}
.head .eyebrow::before{content:"";width:28px;height:2px;background:var(--cyan);border-radius:2px}
.head p{color:var(--muted);font-size:1.12rem;max-width:58ch}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 1rem/1 var(--body);padding:15px 22px;border-radius:999px;border:1px solid var(--cyan);background:var(--cyan);color:var(--cyan-ink);text-decoration:none;white-space:nowrap;transition:transform .15s, box-shadow .2s}
.btn:hover{box-shadow:0 0 0 6px rgba(63,208,255,.16)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--edge2)}
.btn.ghost:hover{background:var(--glass);box-shadow:none}
.btn .ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(3px)}

/* header */
header.top{position:fixed;left:0;right:0;top:env(safe-area-inset-top, 0px);z-index:50;transition:background .3s, border-color .3s;border-bottom:1px solid transparent}
header.top.solid{background:rgba(4,18,42,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.08)}
header.top .in{display:flex;align-items:center;gap:28px;height:72px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;font:600 1.12rem/1 var(--display);letter-spacing:-.02em}
.logo svg{flex:none}
nav.links{display:flex;gap:6px}
nav.links a{font-size:.94rem;color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:999px}
nav.links a:hover{color:var(--ink);background:var(--glass)}
.top .btn{margin-left:auto;padding:11px 18px;font-size:.92rem}
.hdr-ctas{display:flex;gap:10px;margin-left:auto;flex:none}
.top .hdr-ctas .btn{margin-left:0}
/* the booking button drops out of the header where it would crowd the menu; it stays in the menu and on every page */
@media (min-width:1061px) and (max-width:1299px), (max-width:600px){.hdr-book{display:none}}
@media (max-width:900px){nav.links{display:none}}

/* mega menu: full-width panels under the fixed header; on phones a drawer with collapsible sections */
header.top.menu-open{background:rgba(4,16,38,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.08)}
.mega{display:flex;align-items:center}
.mm-bar{list-style:none;display:flex;gap:2px;margin:0;padding:0}
.mm-item{position:static}
.mm-btn{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--muted);font:500 .95rem/1 var(--body);padding:10px 14px;border-radius:999px;transition:color .15s, background .15s}
.mm-btn::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.mm-btn:hover,.mm-btn[aria-expanded="true"]{color:var(--ink);background:var(--glass)}
.mm-btn[aria-expanded="true"]::after{transform:translateY(1px) rotate(-135deg);color:var(--cyan)}
.mm-panel{position:absolute;left:0;right:0;top:100%;background:rgba(4,16,38,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(63,208,255,.28);box-shadow:0 40px 80px -30px rgba(0,0,0,.85)}
@media (prefers-reduced-motion:no-preference){.mm-panel:not([hidden]){animation:mmIn .18s ease-out}@keyframes mmIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}}
header.top .mm-panel .mm-grid{display:grid;height:auto;align-items:start;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:36px;padding-block:28px 34px}
.mm-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 28px}
.mm-col{display:flex;flex-direction:column;gap:10px}
.mm-h{font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding-left:14px}
.mm-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px}
.mm-link{display:flex;gap:12px;align-items:stretch;padding:11px 14px;border-radius:12px;text-decoration:none;color:var(--ink);border:1px solid transparent;transition:background .15s, border-color .15s}
.mm-link > i{width:3px;flex:none;border-radius:2px;background:var(--c);box-shadow:0 0 8px var(--c);opacity:.85}
.mm-link > span > b{display:block;font-weight:600;font-size:.97rem;letter-spacing:-.005em}
.mm-link > span > span{display:block;font-size:.85rem;color:var(--muted);margin-top:3px;line-height:1.35}
.mm-link:hover,.mm-link:focus-visible{background:var(--glass);border-color:var(--edge)}
.mm-link[data-soon]::after{content:"Soon";align-self:center;margin-left:auto;font:500 .6rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid var(--edge);border-radius:999px;padding:4px 7px}
.mm-feature{position:relative;border-radius:16px;border:1px solid var(--edge);padding:24px;display:flex;flex-direction:column;gap:10px;
  background:radial-gradient(90% 120% at 100% 0%, rgba(63,208,255,.16), transparent 60%), rgba(255,255,255,.03)}
.mm-ft{font:700 1.2rem/1.25 var(--display);letter-spacing:-.015em}
.mm-feature p{color:var(--muted);font-size:.92rem}
.mm-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}
.mm-ctas .btn{padding:11px 16px;font-size:.88rem;margin-left:0}
.burger{display:none;margin-left:12px;width:44px;height:44px;border-radius:12px;border:1px solid var(--edge);background:rgba(255,255,255,.04);flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s, opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1060px){
  .burger{display:inline-flex}
  .top .hdr-cta{margin-left:auto}
  .mega{display:none;position:fixed;left:0;right:0;top:calc(72px + env(safe-area-inset-top, 0px));bottom:0;overflow:auto;background:#041026;padding:8px var(--gr) 40px var(--gl)}
  .mega.open{display:block}
  .mm-bar{flex-direction:column;gap:0}
  .mm-btn{width:100%;justify-content:space-between;font-size:1.12rem;color:var(--ink);padding:18px 4px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .mm-btn:hover,.mm-btn[aria-expanded="true"]{background:none}
  .mm-panel{position:static;background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  header.top .mm-panel .mm-grid{grid-template-columns:1fr;gap:16px;padding:10px 0 20px;max-width:none}
  .mm-cols{grid-template-columns:1fr}
  .mm-links{grid-template-columns:1fr}
}
@media (max-width:1060px){
  /* a backdrop-filter on the header would trap the fixed drawer inside the 72px header, so phones use a solid header instead */
  header.top, header.top.solid, header.top.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none}
  header.top.solid, header.top.menu-open{background:rgba(4,16,38,.98)}
}
.logo{white-space:nowrap}
@media (max-width:420px){.top .hdr-cta{padding:9px 12px;font-size:.8rem}header.top .in{gap:12px}.burger{margin-left:4px}}

/* hero */
.hero{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:var(--navy)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
#g-flow{touch-action:pan-y;cursor:grab}
#g-flow.drag{cursor:grabbing}
.hero .in{pointer-events:none}
.hero .in > *{pointer-events:auto}
@media (max-width:1279px){
  .hero{flex-direction:column;align-items:stretch}
}
@media (max-width:1279px){.hero .in{order:1}}
@media (max-width:899px){
  #top.hero > .in{padding-top:calc(100vw + 96px)}
  #top.hero::after{background:linear-gradient(180deg, rgba(6,26,51,0) 0, rgba(6,26,51,0) calc(100vw + 40px), var(--navy) calc(100vw + 150px))}
}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg, rgba(6,26,51,.97) 0%, rgba(6,26,51,.86) 34%, rgba(6,26,51,.2) 62%, rgba(6,26,51,0) 100%), linear-gradient(0deg, var(--navy) 0%, rgba(6,26,51,0) 26%)}
@media (max-width:860px){.hero::after{background:linear-gradient(180deg, rgba(6,26,51,.7) 0%, rgba(6,26,51,.9) 50%, var(--navy) 100%)}}
.hero .in{width:100%;padding-block:150px 90px;display:flex;flex-direction:column;gap:30px}
.hero h1{font-size:clamp(2.7rem,6vw,5rem);font-weight:700;line-height:1.02;letter-spacing:-.035em;max-width:12.5ch;text-shadow:0 2px 4px rgba(6,26,51,.7), 0 6px 30px rgba(6,26,51,.6)}
.hero h1 span{color:var(--cyan);text-shadow:0 0 40px rgba(63,208,255,.25)}
.hero .lede{font-size:1.2rem;color:#C4D3E6;max-width:46ch}
.pick{display:flex;flex-direction:column;gap:14px;max-width:700px;margin-top:6px}
.pick .q{font:600 1.05rem/1.2 var(--display);letter-spacing:-.01em}
.goals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.goals .goal:last-child:nth-child(3n+1){grid-column:1/-1}
@media (max-width:700px){.goals{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.goals{grid-template-columns:1fr}}
/* glowing edge: a soft packet of light travels the border at one constant speed (SVG dash along the outline).
   Added by JS to goals and every card; goals get the strongest version. */
.edgefx{position:absolute;pointer-events:none;overflow:visible;z-index:1}
.edgefx rect{fill:none;stroke:#3FD0FF;stroke-width:2;stroke-linecap:round;stroke-dasharray:8 92;opacity:.55;
  filter:drop-shadow(0 0 3px rgba(63,208,255,.9)) drop-shadow(0 0 9px rgba(63,208,255,.45));animation:edgerun var(--dur, 14s) linear infinite;animation-delay:var(--del, 0s)}
.goal > .edgefx rect{stroke-width:2.5;stroke-dasharray:10 90;opacity:.9}
@keyframes edgerun{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@media (prefers-reduced-motion:reduce){.edgefx rect{animation:none;stroke-dashoffset:-30}}
.goal{position:relative;text-align:left;display:flex;flex-direction:column;gap:6px;padding:16px 36px 15px 16px;border-radius:14px;border:2px solid rgba(255,255,255,.22);background:rgba(6,26,51,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .2s, background .2s, transform .2s}
.goal b{font:600 .98rem/1.25 var(--display);letter-spacing:-.01em}
.goal span{font-size:.82rem;color:var(--muted);line-height:1.35}
.goal::after{content:"→";position:absolute;right:14px;top:14px;color:var(--dim);transition:transform .2s, color .2s}
.goal:hover{border-color:rgba(63,208,255,.55);background:rgba(10,40,74,.7);transform:translateY(-2px)}
.goal:hover::after{color:var(--cyan);transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.goal,.goal::after{transition:none}.goal:hover{transform:none}}
/* Download PDF: print only the report, dark ink on white */
@media print{
  body.print-rp > :not(#adv-report){display:none !important}
  body.print-rp #adv-report{position:static !important;inset:auto !important;width:auto !important;height:auto !important;max-height:none !important;overflow:visible !important;display:block !important;padding:0 !important}
  body.print-rp #adv-report .rp-acts, body.print-rp #adv-report .adv-x{display:none !important}
  body.print-rp #adv-report, body.print-rp #adv-report *{color:#12233B !important;border-color:#C9D4E2 !important;background:transparent !important;box-shadow:none !important;text-shadow:none !important;backdrop-filter:none !important}
  body.print-rp #adv-report .rp-body{position:static !important;overflow:visible !important;height:auto !important;max-height:none !important;padding:0 10px}
}
/* Pen test mix picker + aim markers */
.sce-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:18px 0 6px;text-align:left}
@media (max-width:759px){.sce-cols{grid-template-columns:1fr}}
.sce-col{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.sce-col > b{font:500 .74rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--c);margin-bottom:2px}
.sce-pill{font:inherit;font-size:.92rem;color:var(--ink);text-align:left;padding:9px 14px;border-radius:999px;border:1px solid var(--edge);background:var(--glass);cursor:pointer;transition:border-color .15s, background .15s}
.sce-pill:hover{border-color:var(--edge2);background:var(--glass2)}
.sce-pill[aria-pressed="true"]{border-color:var(--cyan);background:rgba(63,208,255,.14)}
.sce-rev{margin:22px 0 8px;text-align:left}
.sce-rev h3{font-size:1.05rem;margin-bottom:10px}
.sce-chips{display:flex;flex-wrap:wrap;gap:8px}
.cat-bar{position:relative}
.cat-bar .aim{position:absolute;left:70%;top:-2px;bottom:-2px;width:2px;background:rgba(244,248,253,.45);border-radius:1px}
.sc-aim-note{margin-top:12px;font-size:.88rem;color:var(--dim)}
/* Goal funnel pages */
a.goal{text-decoration:none;color:inherit}
.gf{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.gf-top{display:flex;justify-content:space-between;align-items:center}
.gf-back{background:none;border:0;color:var(--muted);font:inherit;font-size:.92rem;cursor:pointer;padding:4px}
.gf-back:hover{color:var(--ink)}
.gf-bar{height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.gf-bar i{display:block;height:100%;background:var(--cyan);transition:width .3s}
.gf h2{font-size:1.5rem}
.gf-opts{display:flex;flex-direction:column;gap:10px}
.gf-opt{text-align:left;font:inherit;font-size:1.02rem;color:var(--ink);padding:14px 16px;border-radius:12px;border:1px solid var(--edge);background:var(--glass);cursor:pointer;transition:border-color .15s, background .15s}
.gf-opt:hover{border-color:var(--cyan);background:var(--glass2)}
.gf-opt.on{border-color:var(--cyan)}
.gf-pc{font-size:1.1rem;border-left:3px solid var(--amber);padding-left:14px}
.gf-st{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--muted)}
.gf-recs{display:flex;flex-direction:column;gap:12px;margin:4px 0 6px}
.gf-recs .rp-card b{font:700 1.08rem/1.3 var(--display)}
.gf-recs .rp-card p{margin:7px 0 0;color:#DCE6F2;line-height:1.55}
.gf-head .gf-pc{border-color:var(--cyan)}
/* goal-page engine animation: canvas band plus a caption list that highlights the active stage */
.ge{margin-top:30px}
.ge-wrap{position:relative;height:200px}
.ge-wrap canvas{position:absolute;inset:0;width:100%;height:100%}
.ge-band{position:absolute;left:5%;right:5%;top:44%;height:1px;pointer-events:none}
.ge-caps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}
.ge-caps li{border-left:2px solid var(--edge);padding:3px 0 3px 13px;color:var(--muted);font-size:.95rem;line-height:1.5;transition:color .35s,border-color .35s}
.ge-caps li b{display:block;font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:5px;transition:color .35s}
.ge-caps li.on{border-color:var(--cyan);color:var(--ink)}
.ge-caps li.on b{color:var(--cyan)}
.ge-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.ge-split h3{font-size:1.25rem}
.ge-split p{color:var(--muted);line-height:1.55;font-size:.98rem}
.ge-split .gf-st li{color:var(--muted)}
.ge-split .gf-st b{color:var(--ink)}
@media (max-width:860px){.ge-split{grid-template-columns:1fr}}
.gf-multi .gf-opt{display:flex;align-items:center;gap:12px}
.gf-multi .gf-opt.on{background:var(--glass2)}
.pk{display:inline-flex;width:24px;height:24px;border-radius:7px;align-items:center;justify-content:center;font:700 11px/1 var(--mono);flex-shrink:0;border:1px solid var(--edge);color:var(--navy)}
.pk-O{background:#3FD0FF}.pk-S{background:#B79CFF}.pk-E{background:#FFB547}.pk-P{background:#5EEAA8}
.gf-multi .gf-opt:not(.on) .pk{background:transparent;color:var(--dim)}
.ge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.ge-grid h3{font-size:1.1rem}
.ge-grid p{color:var(--muted);line-height:1.55;font-size:.97rem}
@media (max-width:900px){.ge-caps{grid-template-columns:1fr 1fr}}
@media (max-width:860px){.ge-grid{grid-template-columns:1fr}}
@media (max-width:760px){.ge-wrap{height:540px}.ge-band{left:36px;right:auto;width:1px;top:3%;bottom:3%;height:auto}.ge-caps{grid-template-columns:1fr}}
.sk-read{margin-top:14px;padding:16px 18px;border:1px solid var(--edge);border-radius:14px;background:var(--glass);display:flex;flex-direction:column;gap:8px}
.sk-read p{font-size:.97rem}
.sk-read b{color:var(--cyan);font-weight:600}
.hero .alt{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.92rem;color:var(--muted)}
.hero .alt a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--edge2);text-underline-offset:4px}
.hero .alt a:hover{text-decoration-color:var(--cyan)}
.trust{border-top:1px solid rgba(63,208,255,.18);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(3,12,28,.72)}
.trust .in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px;padding-block:24px}
.trust .lbl{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.trust b{font:600 1.1rem/1 var(--display);letter-spacing:-.01em;color:#E2EBF6;white-space:nowrap}
.marq{flex:1;min-width:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:48px;width:max-content}
@media (prefers-reduced-motion:no-preference){.track{animation:marq 38s linear infinite}@keyframes marq{to{transform:translateX(calc(-50% - 24px))}}}

/* serve */
.serve{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
@media (max-width:920px){.serve{grid-template-columns:1fr}}
.video{position:relative;aspect-ratio:16/10;max-width:100%;border-radius:18px;overflow:hidden;border:1px solid var(--edge);text-decoration:none;display:block;
  background:radial-gradient(70% 90% at 30% 30%, rgba(63,208,255,.22), transparent 60%), radial-gradient(60% 80% at 80% 90%, rgba(255,181,71,.12), transparent 60%), var(--deep)}
.video::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.025) 3px 4px)}
.video .rec{position:absolute;left:18px;top:16px;font:500 .7rem/1 var(--mono);letter-spacing:.12em;color:#DCE7F4;display:flex;align-items:center;gap:8px}
.video .rec i{width:8px;height:8px;border-radius:50%;background:#FF4D4D}
@media (prefers-reduced-motion:no-preference){.video .rec i{animation:pulse 1.4s infinite}@keyframes pulse{50%{opacity:.3}}}
.video .play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--cyan);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(63,208,255,.15);transition:transform .2s}
.video:hover .play{transform:scale(1.06)}
.video .vcap{position:absolute;left:18px;right:18px;bottom:16px;font:600 1.05rem/1.3 var(--display);letter-spacing:-.01em}
.aud{display:flex;flex-direction:column;border-top:1px solid var(--edge)}
.aud div{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid var(--edge)}
.aud b{font:600 1.12rem/1.2 var(--display);letter-spacing:-.01em}
.aud span{color:var(--muted)}

/* compact map key: network layers only */
.mapkey{position:absolute;right:var(--gr);bottom:92px;z-index:2;display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 16px;border-radius:999px;border:1px solid var(--edge);background:rgba(3,12,28,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:500 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mapkey span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.mapkey i{display:inline-block;width:16px;height:3px;border-radius:2px}
.mapkey .k-sig{background:linear-gradient(90deg,#3FD0FF,#5EEAA8,#FFB547,#B79CFF,#FF7A6B)}
.mapkey .k-link{background:#9CC9FF}
.mapkey .k-cable{background:#2DD4BF;box-shadow:0 0 6px rgba(45,212,191,.8)}
.mapkey .k-sat{width:18px;height:4px;background:linear-gradient(90deg, rgba(253,230,138,0), #FDE68A 85%, #FFF3C4)}
@media (max-width:1279px){.mapkey{position:relative;right:auto;bottom:auto;order:2;align-self:flex-start;margin:0 var(--gr) 22px var(--gl);border-radius:14px}}
/* trust strip sits in the hero copy, right before the goal choice (social proof before the decision) */
.hero .in .trust{background:none;border:0;border-top:1px solid rgba(63,208,255,.2);border-bottom:1px solid rgba(255,255,255,.12);max-width:640px}
.hero .in .trust .in{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;width:100%;padding:12px 0;max-width:none;gap:20px;pointer-events:auto}
.hero .in .trust .lbl{flex:none}
.hero .in .trust b{font-size:1rem}
@media (min-width:900px){#top.hero > .in{padding-top:128px;padding-bottom:96px;gap:26px}}
.mapkey{bottom:28px !important}

/* film card + chapter timeline */
.vwrap{display:flex;flex-direction:column;gap:14px;min-width:0}
.chapters{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;counter-reset:none}
.chapters li{position:relative;padding-top:12px;font-size:.84rem;line-height:1.3;color:var(--muted)}
.chapters li b{display:block;font:500 .66rem/1 var(--mono);letter-spacing:.1em;color:var(--cyan);margin-bottom:5px}
.chapters li::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:rgba(255,255,255,.14)}
.chapters li::after{content:"";position:absolute;left:0;top:0;height:2px;width:0;border-radius:2px;background:var(--cyan);box-shadow:0 0 8px rgba(63,208,255,.7)}
@media (prefers-reduced-motion:no-preference){.chapters li::after{animation:chap 20s linear infinite}
  .chapters li:nth-child(2)::after{animation-delay:4s}.chapters li:nth-child(3)::after{animation-delay:8s}.chapters li:nth-child(4)::after{animation-delay:12s}.chapters li:nth-child(5)::after{animation-delay:16s}}
@keyframes chap{0%{width:0;opacity:1}20%{width:100%;opacity:1}24%,100%{width:100%;opacity:0}}
@media (max-width:640px){.chapters{grid-template-columns:1fr 1fr}}

/* subtle single-colour network drifting behind alternate sections */
.has-net{overflow:hidden}
.has-net > canvas.netbg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}
.has-net > .in{position:relative;z-index:1}
/* co-founders: deep space with layers of drifting dust */
#founders{background:radial-gradient(120% 90% at 75% 20%, #0B2648 0%, #050F22 55%, #020814 100%);overflow:hidden}
#founders > canvas.dust{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}
#founders > .in{position:relative;z-index:1}
#founders .founder{background:rgba(5,15,34,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

/* report: engine animation sits behind the section */
.eng-sec{overflow:hidden}
.eng-cv{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}
.eng-sec > .in{position:relative;z-index:1}
.eng-sec .t-ctas{margin-top:-8px}
.engine-band{height:360px;margin:-8px 0 36px}
@media (max-width:759px){.engine-band{height:620px}}
/* tools: the revenue engine, a deeper room so it reads as its own machine */
.rev-sec{background:radial-gradient(110% 80% at 50% 45%, #0B2648 0%, #051329 60%, #030C1C 100%)}
.rev-cv{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}
.rev-band{height:470px;margin:-4px 0 40px}
@media (max-width:759px){.rev-band{height:990px}}
.rev-steps div{background:rgba(6,26,51,.6)}
/* why now: loss framing, two columns */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:760px){.vs{grid-template-columns:1fr}}
.vs > div{border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.vs .now{border:1.5px solid rgba(63,208,255,.55);background:linear-gradient(180deg, rgba(63,208,255,.12), rgba(63,208,255,.02));box-shadow:0 18px 40px -24px rgba(63,208,255,.35)}
.vs .later{border:1px solid var(--edge);background:rgba(255,255,255,.03)}
.vs .later h3,.vs .later li{color:var(--muted)}
.vs .k{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.vs .later .k{color:var(--dim)}
.vs ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.vs li{padding-left:22px;position:relative}
.vs .now li::before{content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:700}
.vs .later li::before{content:"–";position:absolute;left:2px;color:var(--dim)}
/* report + faq */
.report{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:820px){.report{grid-template-columns:1fr}}
.report div{border-radius:16px;padding:24px;border:1px solid var(--edge);background:var(--glass);display:flex;flex-direction:column;gap:10px}
.report .k{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.report b{font:600 1.3rem/1.2 var(--display);letter-spacing:-.015em}
.report span{color:var(--muted);font-size:.95rem}
.faqwrap{display:grid;grid-template-columns:1fr 1.6fr;gap:56px}
@media (max-width:860px){.faqwrap{grid-template-columns:1fr;gap:12px}}
.faq{border-top:1px solid var(--edge)}
.faq details{border-bottom:1px solid var(--edge)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font:600 1.08rem/1.35 var(--display);letter-spacing:-.01em;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font:400 1.5rem/1 var(--mono);color:var(--cyan);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:20px;color:var(--muted);max-width:62ch}

/* path */
.pathwrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:start}
@media (max-width:980px){.pathwrap{grid-template-columns:1fr;gap:36px}}
.postcard{position:sticky;top:110px;border-radius:18px;padding:28px;background:linear-gradient(160deg, rgba(63,208,255,.13), rgba(255,255,255,.03) 46%), var(--deep);border:1px solid var(--edge);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:18px;overflow:hidden}
@media (max-width:980px){.postcard{position:relative;top:0}}
.postcard::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg, transparent 0 39px, rgba(255,255,255,.04) 39px 40px);pointer-events:none}
.pc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;position:relative}
.pc-top .eyebrow{color:var(--amber)}
.stamp{width:78px;height:92px;border:1.5px dashed rgba(255,181,71,.7);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--amber);font:500 .58rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;flex:none;transform:rotate(4deg)}
.stamp b{font:700 1.3rem/1 var(--display);letter-spacing:-.02em}
.pc-date{font:600 clamp(1.6rem,3vw,2.2rem)/1.05 var(--display);letter-spacing:-.025em;position:relative}
.pc-text{font-size:1.18rem;line-height:1.55;color:#DCE7F4;position:relative;min-height:5.6em}
.pc-sign{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;position:relative;padding-top:16px;border-top:1px solid var(--edge);font-size:.88rem;color:var(--muted)}
.stages{display:flex;flex-direction:column;position:relative}
.stages::before{content:"";position:absolute;left:19px;top:10px;bottom:10px;width:1px;background:linear-gradient(180deg, var(--cyan), rgba(63,208,255,.1))}
.stage{display:grid;grid-template-columns:40px 1fr;gap:18px;padding-bottom:30px;position:relative}
.stage:last-child{padding-bottom:0}
.stage .dot{width:40px;height:40px;border-radius:50%;border:1px solid rgba(63,208,255,.45);background:var(--navy);display:grid;place-items:center;font:500 .76rem/1 var(--mono);color:var(--cyan);position:relative;z-index:1}
.stage .who{font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.stage h3{margin:6px 0 6px}
.stage p{color:var(--muted)}
.stage .idea{display:block;margin-top:4px;font-size:.86rem;color:var(--dim)}
@media (prefers-reduced-motion:no-preference){.fade{animation:fade .45s ease both}@keyframes fade{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}}

/* ways */
.ways{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:1020px){.ways{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ways{grid-template-columns:1fr}}
.way{position:relative;border-radius:16px;padding:24px;border:1px solid var(--edge);background:var(--glass);display:flex;flex-direction:column;gap:12px;transition:border-color .25s, background .25s}
.way .k{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.way p{color:var(--muted);font-size:.96rem}
.way ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:.92rem;color:#C8D5E5}
.way li{padding-left:18px;position:relative}
.way li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--cyan)}
.way .rec{display:none;align-self:flex-start;font:500 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink);background:var(--cyan);padding:6px 9px;border-radius:999px}
.way.on{border-color:rgba(63,208,255,.6);background:linear-gradient(180deg, rgba(63,208,255,.1), rgba(63,208,255,.02))}
.way.on .rec{display:inline-block}
.way .go{margin-top:auto;padding-top:6px;font-weight:600;color:var(--cyan);text-decoration:none;font-size:.95rem}
.way .go:hover{text-decoration:underline;text-underline-offset:4px}

/* proof + founders */
.quotes{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}
.quote{border-radius:16px;padding:30px;border:1px solid var(--edge);background:var(--glass);display:flex;flex-direction:column;gap:18px;justify-content:space-between}
.quote p{font:500 clamp(1.15rem,2vw,1.45rem)/1.4 var(--display);letter-spacing:-.015em}
.quote.big p{font-size:clamp(1.35rem,2.6vw,1.95rem)}
.quote span{font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.qstack{display:flex;flex-direction:column;gap:16px}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:800px){.founders{grid-template-columns:1fr}}
.founder{border-radius:16px;padding:26px;border:1px solid var(--edge);background:var(--glass);display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start}
.founder .av{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg, rgba(63,208,255,.35), rgba(63,208,255,.05));border:1px solid rgba(63,208,255,.4);display:grid;place-items:center;font:600 1.05rem/1 var(--display)}
.founder .role{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin:6px 0 10px;display:block}
.founder p{color:var(--muted);font-size:.96rem}
.founder ul{margin:12px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.founder li{font-size:.78rem;border:1px solid var(--edge);border-radius:999px;padding:5px 10px;color:#C8D5E5}

/* capture */
.cap{border-radius:22px;padding:clamp(28px,5vw,56px);border:1px solid rgba(63,208,255,.3);background:radial-gradient(80% 120% at 100% 0%, rgba(63,208,255,.16), transparent 60%), var(--deep);display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media (max-width:900px){.cap{grid-template-columns:1fr;gap:28px}}
.cap h2{font-size:clamp(2rem,4vw,3.1rem)}
form.f{display:flex;flex-direction:column;gap:14px}
.chosen{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}
.chosen b{font:500 .78rem/1 var(--mono);letter-spacing:.06em;color:var(--cyan-ink);background:var(--cyan);padding:7px 10px;border-radius:999px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-size:.86rem;color:var(--muted)}
.fld input{font:inherit;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:12px;padding:14px 16px}
.fld input::placeholder{color:var(--dim)}
.fld input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(63,208,255,.15)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.row2{grid-template-columns:1fr}}
.f .msg{font-size:.9rem;color:var(--muted);min-height:1.4em}
.f .msg.ok{color:var(--cyan)}
.f .acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

footer{background:var(--night);border-top:1px solid rgba(255,255,255,.07);padding-block:56px 40px;color:var(--muted);font-size:.92rem}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px}
@media (max-width:760px){footer .cols{grid-template-columns:1fr}}
footer h4{margin:0 0 12px;font:500 .7rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
footer a{display:block;text-decoration:none;padding:3px 0}
footer a:hover{color:var(--ink)}
footer .base{margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.84rem;color:var(--dim)}

/* ===== multi-page shell ===== */
[data-page][hidden]{display:none !important}
.page-hero{position:relative;padding-top:150px;padding-bottom:72px;overflow:hidden;background:radial-gradient(80% 70% at 75% 15%, #0E2C52, var(--navy) 62%)}
.page-hero h1{font-size:clamp(2.5rem,5.2vw,4.4rem);font-weight:700;line-height:1.04;letter-spacing:-.035em;max-width:18ch}
.page-hero h1 span{color:var(--cyan)}
.page-hero .lede{font-size:1.2rem;color:#C4D3E6;max-width:60ch;margin-top:20px}
.page-hero > .in{position:relative;z-index:1}
.t-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.sec.band{background:linear-gradient(180deg, #0F2C53 0%, #0A2343 100%)}
.crumbs{font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:18px;display:flex;gap:8px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--cyan)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.link{color:var(--cyan);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline;text-underline-offset:4px}
.t-split{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
@media (max-width:900px){.t-split{grid-template-columns:1fr;gap:28px}}

/* ===== tools and tactics ===== */
#tt-flow{overflow:hidden}
#tt-flow > .in{position:relative;z-index:1}
#tt-flow .head{margin-bottom:0}
#peso{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0}
.flowband{height:400px;margin-top:36px}
@media (max-width:759px){.flowband{height:720px}}
.stages4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media (max-width:1060px){.stages4{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.stages4{grid-template-columns:1fr}}
.stage4{position:relative;border-radius:16px;border:1px solid var(--edge);background:rgba(255,255,255,.04);padding:26px;display:flex;flex-direction:column;gap:10px}
.stage4.paid{border-color:color-mix(in srgb, var(--c) 55%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--c) 12%, transparent), rgba(255,255,255,.02))}
.s4-top{display:flex;align-items:baseline;justify-content:space-between}
.s4-n{font:500 .76rem/1 var(--mono);color:var(--dim);letter-spacing:.1em}
.s4-l{font:900 3.4rem/1 var(--display);color:var(--c);text-shadow:0 0 24px color-mix(in srgb, var(--c) 45%, transparent)}
.stage4 h3{font-size:1.45rem;font-weight:700}
.s4-what{color:#C8D5E5}
.s4-k{font:500 .66rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--dim);margin-top:8px}
.stage4 ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:.93rem}
.stage4 li{padding-left:16px;position:relative}
.stage4 li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.s4-m{font-size:.92rem;color:var(--muted)}
.s4-tag{position:absolute;top:-12px;right:18px;font:500 .64rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--c);color:#04122A;padding:6px 9px;border-radius:999px}
@media (min-width:1061px){.stages4:not(.sk-steps) .stage4:not(:last-child)::after{content:"→";position:absolute;right:-19px;top:30px;color:var(--dim);font-size:1.1rem}}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.checks li{position:relative;border-radius:14px;border:1px solid var(--edge);background:rgba(6,26,51,.55);padding:16px 18px 16px 52px;display:flex;flex-direction:column;gap:3px}
.checks li::before{content:"✓";position:absolute;left:18px;top:15px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(94,234,168,.15);color:#5EEAA8;font-weight:700;font-size:.8rem}
.checks b{font:600 1.05rem/1.3 var(--display)}
.checks span{color:var(--muted);font-size:.93rem}
.toolgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tool{border-radius:14px;border:1px solid var(--edge);background:rgba(6,26,51,.55);padding:20px;display:flex;flex-direction:column;gap:6px}
.tool b{font:600 1.1rem/1.2 var(--display)}
.tool span{color:var(--muted);font-size:.93rem}

/* ===== articles ===== */
.ar-tools{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-bottom:28px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid var(--edge);background:transparent;color:var(--muted);border-radius:999px;padding:9px 15px;font:500 .9rem var(--body)}
.chips button[aria-pressed="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--cyan-ink)}
.ar-search input{font:inherit;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:999px;padding:11px 18px;min-width:min(280px, 100%)}
.ar-search input:focus{outline:none;border-color:var(--cyan)}
.arts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.art{position:relative;border-radius:16px;border:1px solid var(--edge);background:rgba(255,255,255,.04);padding:26px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);transition:transform .2s, background .2s}
.art:hover{transform:translateY(-3px);background:rgba(255,255,255,.07)}
.art .t{font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c, var(--cyan))}
.art h3{font-size:1.32rem;font-weight:700;line-height:1.2}
.art p{color:var(--muted);font-size:.95rem}
.art .more{margin-top:auto;color:var(--cyan);font-weight:600;font-size:.92rem}
.empty{color:var(--muted);padding:30px 0}
.art-wrap{max-width:780px}
.art-meta{color:var(--dim);font:500 .8rem/1 var(--mono);letter-spacing:.06em;margin-top:18px}
.art-body{display:flex;flex-direction:column;gap:18px;font-size:1.12rem;line-height:1.75;color:#DCE6F2}
.art-body h2{font-size:1.5rem;margin-top:16px;color:var(--ink)}
.art-body p:first-child{font-size:1.25rem;color:var(--ink)}
.art-end{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:44px;padding-top:28px;border-top:1px solid var(--edge)}
@media (prefers-reduced-motion:reduce){.art{transition:none}.art:hover{transform:none}}

/* ===== media ===== */
.rels{display:flex;flex-direction:column;gap:12px}
.rel{border-radius:16px;border:1px dashed var(--edge2);background:rgba(255,255,255,.03);padding:30px;display:flex;flex-direction:column;gap:10px}
.rel h3{font-size:1.25rem}
.md-alert{margin-top:22px;border-radius:16px;border:1px solid var(--edge);padding:20px 22px;display:flex;flex-direction:column;gap:12px;background:rgba(6,26,51,.5)}
.md-alert .acts{display:flex;flex-wrap:wrap;gap:10px}
.md-alert input{flex:1 1 260px;min-width:0;font:inherit;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:12px;padding:13px 16px}
.kits{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:800px){.kits{grid-template-columns:1fr}}
.kit{border-radius:16px;border:1px solid var(--edge);background:rgba(6,26,51,.55);padding:26px;display:flex;flex-direction:column;gap:10px}
.kit .role{font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.kit h3{font-size:1.4rem}
.kit p{color:var(--muted)}
.kit.boiler p:first-child{color:#DCE6F2;font-size:1.05rem;line-height:1.7}
.kit .acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* ===== sticky idea ===== */
.sk-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:980px){.sk-layout{grid-template-columns:1fr}}
.sk-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
@media (max-width:980px){.sk-side{position:static}}
.stk-card{position:relative;border-radius:16px;border:1px solid var(--edge);background:rgba(255,255,255,.04);padding:24px;display:flex;flex-direction:column;gap:12px}
.sk-idea textarea{font:inherit;font-size:1.1rem;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:12px;padding:14px 16px;resize:vertical;min-height:90px}
.sk-idea textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px rgba(63,208,255,.15)}
.sk-list{display:flex;flex-direction:column;gap:14px}
.sk-p{border-radius:16px;border:1px solid var(--edge);background:rgba(255,255,255,.035);padding:22px;display:grid;grid-template-columns:52px 1fr;gap:16px}
.sk-p .ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font:900 1.5rem/1 var(--display);color:var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);border:1px solid color-mix(in srgb, var(--c) 40%, transparent)}
.sk-p h3{font-size:1.25rem}
.sk-p .q{color:#DCE6F2;margin-top:4px}
.sk-p details{margin-top:8px;font-size:.93rem;color:var(--muted)}
.sk-p summary{cursor:pointer;color:var(--cyan);font-weight:600}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
@media (max-width:560px){.ba{grid-template-columns:1fr}.sk-p{grid-template-columns:1fr}}
.ba div{border-radius:10px;padding:12px 14px;font-size:.92rem}
.ba .b{background:rgba(255,255,255,.04);color:var(--muted)}
.ba .a{background:color-mix(in srgb, var(--c) 12%, transparent);color:#E8F1FB}
.ba span{display:block;font:500 .62rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;opacity:.8}
.rate{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.rate button{border:1px solid var(--edge);background:transparent;color:var(--muted);border-radius:999px;padding:8px 13px;font:500 .85rem var(--body)}
.rate button[aria-pressed="true"]{background:var(--c);border-color:var(--c);color:#04122A}
.sk-num{display:flex;align-items:baseline;gap:8px}
.sk-num b{font:800 3.4rem/1 var(--display);letter-spacing:-.03em}
.sk-num span{color:var(--dim);font-family:var(--mono)}
.sk-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.sk-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3FD0FF,#5EEAA8);transition:width .3s}
.sk-hex{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;height:64px}
.sk-hex div{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.sk-hex i{display:block;width:100%;border-radius:4px 4px 0 0;background:var(--c);min-height:3px;transition:height .3s;opacity:.85}
.sk-hex span{font:500 .62rem/1 var(--mono);color:var(--dim)}
.sk-tip{font-size:.93rem;border-left:2px solid var(--amber);padding-left:12px;color:#DCE6F2}
.sk-form .fld input{width:100%}

/* method line: a packet of light travels down the line joining the stages */
.stages::after{content:"";position:absolute;left:18px;top:10px;width:3px;height:80px;border-radius:3px;pointer-events:none;
  background:linear-gradient(180deg, rgba(63,208,255,0), #3FD0FF 45%, #FFFFFF 55%, rgba(63,208,255,0));box-shadow:0 0 12px rgba(63,208,255,.8), 0 0 24px rgba(63,208,255,.4)}
@media (prefers-reduced-motion:no-preference){.stages::after{animation:linedown 7s linear infinite}}
@keyframes linedown{0%{top:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:calc(100% - 80px);opacity:0}}

/* ===== Destination Advisor ===== */
[hidden]{display:none !important}
body.adv-open .adv-launch{display:none}
body.adv-open{overflow:hidden}

.adv{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end}
.adv-scrim{position:absolute;inset:0;background:rgba(2,8,20,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.adv-panel{position:relative;width:min(500px, 100%);height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#071D3A,#041226);
  border-left:1px solid rgba(63,208,255,.3);box-shadow:-30px 0 60px -20px rgba(0,0,0,.7);padding-top:env(safe-area-inset-top, 0px)}
@media (prefers-reduced-motion:no-preference){.adv:not([hidden]) .adv-panel{animation:advIn .22s ease-out}@keyframes advIn{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}}
.adv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 12px}
.adv-head b{display:block;font:700 1.15rem/1.2 var(--display)}
.adv-head span{display:block;font-size:.85rem;color:var(--muted);margin-top:3px}
.adv-x{width:40px;height:40px;border-radius:12px;border:1px solid var(--edge);background:rgba(255,255,255,.04);color:var(--ink);font-size:1rem;flex:none}
.adv-x:hover{border-color:var(--cyan)}
.adv-steps{list-style:none;margin:0;padding:0 20px 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-bottom:1px solid rgba(255,255,255,.08)}
.adv-steps li{font:500 .62rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding-top:8px;position:relative}
.adv-steps li::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:3px;background:rgba(255,255,255,.12)}
.adv-steps li.done{color:var(--muted)}.adv-steps li.done::before{background:rgba(63,208,255,.5)}
.adv-steps li.now{color:var(--cyan)}.adv-steps li.now::before{background:var(--cyan);box-shadow:0 0 8px rgba(63,208,255,.8)}
.adv-log{flex:1;overflow:auto;padding:18px 20px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
.msg{max-width:88%;padding:12px 15px;border-radius:16px;font-size:.97rem;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.msg.bot{align-self:flex-start;background:rgba(255,255,255,.06);border:1px solid var(--edge);border-bottom-left-radius:6px}
.msg.me{align-self:flex-end;background:var(--cyan);color:var(--cyan-ink);border-bottom-right-radius:6px;font-weight:500}
.msg.note{align-self:stretch;max-width:none;background:rgba(255,181,71,.08);border:1px solid rgba(255,181,71,.3);font-size:.9rem;color:#F1E3C8}
.typing{display:inline-flex;gap:5px;align-items:center;height:1.2em}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted)}
@media (prefers-reduced-motion:no-preference){.typing i{animation:advDot 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}}
@keyframes advDot{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.adv-card{align-self:stretch;border-radius:16px;border:1px solid rgba(63,208,255,.35);background:rgba(6,26,51,.8);padding:16px;display:flex;flex-direction:column;gap:10px}
.adv-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:420px){.adv-card .row2{grid-template-columns:1fr}}
.adv-card label{font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;gap:5px}
.adv-card input{font:inherit;font-size:.95rem;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:10px;padding:11px 12px;width:100%}
.adv-card input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(63,208,255,.15)}
.adv-card .err{color:#FFB4A8;font-size:.84rem;min-height:1em}
.adv-card .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.adv-card .fine{font-size:.76rem;color:var(--dim)}
.adv-card.done{opacity:.6;pointer-events:none}
.adv-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px}
.adv-chips:not(:empty){padding-bottom:10px}
.adv-chips button{border:1px solid rgba(63,208,255,.45);background:rgba(63,208,255,.08);color:var(--ink);border-radius:999px;padding:9px 13px;font:500 .86rem/1.2 var(--body);text-align:left}
.adv-chips button:hover{background:rgba(63,208,255,.18)}
.adv-bar{display:flex;gap:8px;align-items:flex-end;padding:12px 20px calc(10px + env(safe-area-inset-bottom, 0px));border-top:1px solid rgba(255,255,255,.08)}
.adv-bar textarea{flex:1;min-width:0;resize:none;max-height:140px;font:inherit;font-size:.97rem;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:14px;padding:12px 14px}
.adv-bar textarea:focus{outline:none;border-color:var(--cyan)}
.adv-bar textarea:disabled{opacity:.45}
.adv-bar .btn{padding:12px 16px;margin-left:0}
.adv-bar .btn:disabled{opacity:.4;box-shadow:none}
.adv-legal{font-size:.72rem;color:var(--dim);padding:0 20px 12px}
.adv-go{align-self:stretch;display:flex;flex-direction:column;gap:10px;border-radius:16px;padding:16px;background:linear-gradient(135deg, rgba(63,208,255,.16), rgba(94,234,168,.08));border:1px solid rgba(63,208,255,.45)}
.adv-go b{font:700 1.05rem/1.3 var(--display)}
.adv-go .btn{align-self:flex-start;margin-left:0}
.adv-work{display:flex;flex-direction:column;gap:6px;font:500 .78rem/1.4 var(--mono);color:var(--muted)}
.adv-work span.on{color:var(--cyan)}.adv-work span.ok{color:#5EEAA8}

/* ===== Executive report ===== */
.adv-report{position:fixed;inset:0;z-index:95;overflow:auto;background:radial-gradient(90% 60% at 80% 0%, #0E2C52, #041226 60%);overscroll-behavior:contain}
.rp-bar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding:calc(12px + env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) 12px max(20px, env(safe-area-inset-left, 0px));background:rgba(4,18,38,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.rp-acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rp-acts .btn{padding:11px 16px;font-size:.9rem;margin-left:0}
.rp-body{max-width:980px;margin:0 auto;padding:40px max(20px, env(safe-area-inset-right, 0px)) 80px max(20px, env(safe-area-inset-left, 0px));display:flex;flex-direction:column;gap:36px}
.rp h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.08}
.rp .for{font:500 .76rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.rp-sec{display:flex;flex-direction:column;gap:16px}
.rp-sec > h2{font-size:1.5rem}
.rp-sec > .k{font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.rp-card{border-radius:16px;border:1px solid var(--edge);background:rgba(255,255,255,.04);padding:22px}
.rp-pc{display:grid;grid-template-columns:1fr auto;gap:18px;border-color:rgba(255,181,71,.4);background:linear-gradient(160deg, rgba(255,181,71,.1), rgba(255,255,255,.02) 50%)}
.rp-pc p{font-size:1.2rem;line-height:1.55;color:#EAF1FA}
.rp-pc .stamp{transform:rotate(4deg)}
.rp-list{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:7px;color:#DCE6F2}
.funnel{display:flex;flex-direction:column;gap:10px}
.fn-row{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}
.fn-row span{font:500 .72rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fn-bar{height:42px;border-radius:10px;display:flex;align-items:center;padding:0 14px;font:700 1.05rem/1 var(--display);color:#04122A;min-width:110px}
.fn-note{font-size:.88rem;color:var(--muted)}
@media (max-width:600px){.fn-row{grid-template-columns:1fr;gap:6px}}
.rp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rp-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:860px){.rp-grid2,.rp-grid4{grid-template-columns:1fr}}
.rp-t{border-radius:14px;border:1px solid var(--edge);background:rgba(255,255,255,.035);padding:18px;display:flex;flex-direction:column;gap:10px}
.rp-t .L{font:900 2rem/1 var(--display);color:var(--c)}
.rp-t h3{font-size:1.05rem}
.rp-t ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.rp-t li b{display:block;font-weight:600;font-size:.93rem}
.rp-t li span{display:block;font-size:.84rem;color:#9BE7C8;margin-top:2px}
.rp-t li span::before{content:"→ ";color:var(--c)}
.rp-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:860px){.rp-plan{grid-template-columns:1fr}}
.rp-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.rp-kpi div{border-radius:12px;border:1px solid var(--edge);padding:14px;background:rgba(6,26,51,.6)}
.rp-kpi b{display:block;font:700 1.15rem/1.2 var(--display);color:var(--cyan)}
.rp-kpi span{font-size:.86rem;color:var(--muted)}
.rp-cta{display:flex;flex-direction:column;gap:12px;border-color:rgba(63,208,255,.45);background:linear-gradient(135deg, rgba(63,208,255,.14), rgba(255,255,255,.02))}
.rp-cta .t-ctas{margin-top:4px}
.rp-small{font-size:.82rem;color:var(--dim)}

/* ===== every page opens on part of the globe, then the trust strip ===== */
.ghero{isolation:isolate}
.ghero > canvas.gcv{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.page-hero.ghero{min-height:620px;padding-bottom:0;display:flex;flex-direction:column}
.page-hero.ghero > .in{padding-bottom:64px}
.page-hero.ghero > .trust{margin-top:auto;position:relative;z-index:1}
.page-hero.ghero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg, rgba(6,26,51,.96) 0%, rgba(6,26,51,.84) 36%, rgba(6,26,51,.18) 68%, rgba(6,26,51,0) 100%), linear-gradient(0deg, rgba(6,26,51,.92) 0%, rgba(6,26,51,0) 28%)}
.page-hero.ghero h1,.page-hero.ghero .lede{text-shadow:0 2px 4px rgba(6,26,51,.7), 0 6px 30px rgba(6,26,51,.6)}
@media (max-width:899px){
  .page-hero.ghero{padding-top:calc(64px + 50vw);min-height:0}
  .page-hero.ghero > .in{padding-bottom:44px}
  .page-hero.ghero::after{background:linear-gradient(180deg, rgba(6,26,51,0) 0, rgba(6,26,51,.1) calc(64px + 30vw), rgba(6,26,51,.92) calc(64px + 52vw), var(--navy) 100%)}
}
/* signposts and the next step at the foot of each page */
.signs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1020px){.signs{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.signs{grid-template-columns:1fr}}
.sign{position:relative;border-radius:16px;padding:24px;border:1px solid var(--edge);background:var(--glass);display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);transition:border-color .25s, background .25s;box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 40px -24px rgba(0,0,0,.65)}
.sign .k{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c, var(--cyan))}
.sign b{font:600 1.2rem/1.25 var(--display);letter-spacing:-.01em}
.sign > span:not(.k):not(.more){color:var(--muted);font-size:.96rem}
.sign .more{margin-top:auto;padding-top:6px;color:var(--c, var(--cyan));font-weight:600;font-size:.92rem}
.sign:hover{border-color:color-mix(in srgb, var(--c, var(--cyan)) 55%, transparent);background:rgba(255,255,255,.06)}
.nextup .in{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:stretch}
@media (max-width:860px){.nextup .in{grid-template-columns:1fr}}
.nextup .sign b{font-size:1.5rem}
.nu-cta{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:8px 4px}
.nu-cta h3{font:600 1.5rem/1.2 var(--display);letter-spacing:-.01em}
.nu-cta .t-ctas{margin-top:10px}

/* ===== Murfin logo: two masked layers (blue shield, silver letters), from the brand animation files ===== */
:root{--mb:url("/assets/mask-mb.png");--mg:url("/assets/mask-mg.png")}
.mf{position:relative;display:block;aspect-ratio:1623/717}
.mf > i{position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.mf > .b,.mf > .sb{-webkit-mask-image:var(--mb);mask-image:var(--mb)}
.mf > .g,.mf > .sg{-webkit-mask-image:var(--mg);mask-image:var(--mg)}
.mf > .b{background:linear-gradient(180deg,#56adff 0%,#1a74d1 55%,#0d4a92 100%)}
.mf > .g{background:linear-gradient(180deg,#f1f3f5 0%,#aab0b6 55%,#6c7177 100%)}
.mf > .sb,.mf > .sg{opacity:0}
.logo .mf{height:40px;filter:drop-shadow(0 0 10px rgba(60,150,255,.25))}
.mf.red > i{background:#ff2d55}.mf.cyan > i{background:#00e5ff}
.mf.holo > i{background:repeating-linear-gradient(0deg,#6fb8ff 0 1px,transparent 1px 4px)}
/* ===== Opening: the laser-scan logo covers the page, then fades to the hero as the logo flies into the header ===== */
.intro{position:fixed;inset:0;z-index:300;pointer-events:auto;cursor:pointer;animation:introFailsafe 0s 7s forwards}
@keyframes introFailsafe{to{visibility:hidden;pointer-events:none}}
.intro-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#0c1726 0%,#04060a 72%)}
.intro-grid{position:absolute;inset:0;opacity:0;background-image:linear-gradient(rgba(90,160,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(90,160,255,.12) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 70%)}
.intro-logo{position:fixed;left:50%;top:50%;width:min(72vw,760px);aspect-ratio:1623/717;transform:translate(-50%,-50%)}
.intro-logo > .mf{position:absolute;inset:0}
.intro-logo > .red,.intro-logo > .cyan{mix-blend-mode:screen;opacity:0}
.intro-logo > .holo{opacity:0}
.intro-logo > .solid{clip-path:inset(0 0 100% 0)}
.il-line{position:absolute;left:-15%;width:130%;top:0;height:0;opacity:0;mix-blend-mode:screen}
.il-line::before{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(180deg,transparent,rgba(70,160,255,.28))}
.il-line::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#7cc4ff 20%,#fff 50%,#7cc4ff 80%,transparent);box-shadow:0 0 14px 2px rgba(60,150,255,.8)}
body.intro-on #hdr .logo .mf{opacity:0}
@media (prefers-reduced-motion:reduce){.intro{display:none}body.intro-on #hdr .logo .mf{opacity:1}}

/* ===== Marketing Pen Test (ScoreApp-style: one question per screen, big answers, progress, instant score) ===== */
.adv-steps{grid-template-columns:repeat(5,1fr)}
.sc{position:fixed;inset:0;z-index:96;display:flex;flex-direction:column;background:radial-gradient(80% 60% at 50% 0%, #0E2C52, #041226 65%);overscroll-behavior:contain}
.sc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top, 0px)) max(20px, env(safe-area-inset-right, 0px)) 14px max(20px, env(safe-area-inset-left, 0px))}
.sc-brand{display:flex;align-items:center;gap:14px;font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sc-brand .mf{height:30px}
.sc-prog{height:4px;background:rgba(255,255,255,.08)}
.sc-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3FD0FF,#5EEAA8);box-shadow:0 0 12px rgba(63,208,255,.7);transition:width .35s ease}
.sc-body{flex:1;overflow:auto;display:flex;justify-content:center;padding:clamp(28px,7vh,80px) max(20px, env(safe-area-inset-right, 0px)) calc(40px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-left, 0px))}
.sc-view{width:100%;max-width:720px;display:flex;flex-direction:column;gap:18px}
.sc-view h2{font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.sc-view h2:focus{outline:none}
.sc-lede{color:#C4D3E6;font-size:1.08rem;max-width:58ch}
.sc-cats{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:640px){.sc-cats{grid-template-columns:1fr 1fr}}
.sc-cats li{border-radius:12px;border:1px solid var(--edge);background:rgba(255,255,255,.04);padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:var(--muted)}
.sc-cats li b{color:var(--ink);font-size:.95rem;display:flex;align-items:center;gap:8px}
.sc-cats li b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);flex:none}
.sc-meta{font:500 .74rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c, var(--cyan))}
.sc-ans{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.sc-ans button{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:16px 18px;border-radius:14px;border:1.5px solid rgba(255,255,255,.16);background:rgba(6,26,51,.7);color:var(--ink);font:500 1.02rem/1.35 var(--body);transition:border-color .15s, background .15s, transform .15s}
.sc-ans button .n{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font:600 .85rem/1 var(--mono);border:1px solid rgba(255,255,255,.22);color:var(--muted)}
.sc-ans button:hover{border-color:var(--cyan);background:rgba(63,208,255,.08)}
.sc-ans button[aria-checked="true"]{border-color:var(--cyan);background:rgba(63,208,255,.16)}
.sc-ans button[aria-checked="true"] .n{background:var(--cyan);color:var(--cyan-ink);border-color:var(--cyan)}
@media (prefers-reduced-motion:no-preference){.sc-view.in{animation:scIn .28s ease-out}@keyframes scIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}
.sc-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.sc-back{border:0;background:none;color:var(--muted);font:500 .92rem/1 var(--body);padding:8px 0}
.sc-back:hover{color:var(--ink)}.sc-back:disabled{visibility:hidden}
.sc-hint{font-size:.8rem;color:var(--dim)}
@media (hover:none){.sc-hint{display:none}}
.sc-calc{align-items:center;text-align:center;padding-top:8vh}
.sc-spin{width:64px;height:64px;border-radius:50%;border:3px solid rgba(63,208,255,.18);border-top-color:var(--cyan)}
@media (prefers-reduced-motion:no-preference){.sc-spin{animation:scSpin .9s linear infinite}@keyframes scSpin{to{transform:rotate(360deg)}}}
/* score results, at the top of the report */
.score{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
@media (max-width:700px){.score{grid-template-columns:1fr;justify-items:start}}
.dial{position:relative;width:180px;height:180px}
.dial svg{width:100%;height:100%;transform:rotate(-90deg)}
.dial .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.dial .v b{font:800 3rem/1 var(--display);letter-spacing:-.03em}
.dial .v span{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dial circle.arc{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1)}
.score .band{display:inline-flex;align-items:center;gap:8px;font:600 .8rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bc)}
.score .band::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--bc);box-shadow:0 0 10px var(--bc)}
.score h2{font-size:clamp(1.5rem,3vw,2rem);margin:10px 0 8px}
.cats{display:grid;grid-template-columns:1fr;gap:12px}
.cat{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:14px;align-items:stretch}
@media (max-width:860px){.cat{grid-template-columns:1fr}}
.cat-main{display:flex;flex-direction:column;gap:10px;min-width:0;border-radius:14px;border:1px solid var(--edge);background:rgba(255,255,255,.035);padding:18px}
.mdial{position:relative;display:inline-flex;flex:none;width:64px;height:64px}
.mdial svg{width:100%;height:100%}
.mdial b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 1.05rem/1 var(--display);font-variant-numeric:tabular-nums}
.mdial .arc{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.3,1)}
.cat-next{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid rgba(63,208,255,.3);border-radius:14px;padding:16px;background:rgba(63,208,255,.05);align-self:stretch}
.cat-next .mdial b{color:var(--cyan)}
.cat-next.n95 .mdial b{color:#5EEAA8}
.cat-next .lvl{font:500 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);opacity:.85}
.cat-next.n95{border-color:rgba(94,234,168,.35);background:rgba(94,234,168,.05)}
.cat-next.n95 .num, .cat-next.n95 .lvl{color:#5EEAA8}
.cat-next p{font-size:.88rem;color:var(--muted);margin-top:4px}
.cat-next.hit{opacity:.6}
.cat-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cat-h b{font:600 1.02rem/1.25 var(--display)}
.cat-bar{height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}
.cat-bar i{display:block;height:100%;border-radius:8px;background:var(--c);box-shadow:0 0 10px var(--c)}
.cat .tag{align-self:flex-start;font:600 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:6px;color:var(--bc);border:1px solid var(--bc)}
.cat p{font-size:.93rem;color:#C9D6E6}
.rp-wait{display:flex;flex-direction:column;gap:12px}
.rp{display:flex;flex-direction:column;gap:40px}

/* ===== Marketing Pen Test page ===== */
.sc-list{margin:4px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:10px;color:#C9D6E6}
.sc-list b{color:var(--ink)}
.sc-sample{border-radius:18px;border:1px solid var(--edge);background:rgba(4,18,42,.7);padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.sc-sample .ex{font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sc-sample .score{grid-template-columns:auto 1fr;gap:20px}
.sc-sample .dial{width:130px;height:130px}.sc-sample .dial .v b{font-size:2.3rem}
.sc-sample .score h2{font-size:1.15rem;margin:8px 0 0}
.sc-mini{display:flex;flex-direction:column;gap:10px}
.sc-mini div{display:grid;grid-template-columns:150px 1fr 34px;gap:12px;align-items:center;font-size:.86rem;color:var(--muted)}
.sc-mini div span:last-child{text-align:right;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
@media (max-width:480px){.sc-mini div{grid-template-columns:1fr 34px}.sc-mini .cat-bar{grid-column:1/-1;order:3}}
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1020px){.areas{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.areas{grid-template-columns:1fr}}
.area{position:relative;border-radius:16px;border:1px solid var(--edge);background:rgba(6,26,51,.55);padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 18px 40px -24px rgba(0,0,0,.65)}
.area b{font:600 1.15rem/1.25 var(--display);display:flex;align-items:center;gap:10px}
.area b::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);flex:none}
.area > span{color:var(--muted);font-size:.95rem}
.area q{display:block;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);font-size:.9rem;color:#C9D6E6;quotes:"‘" "’"}
.sc-steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:st}
@media (max-width:860px){.sc-steps{grid-template-columns:1fr}}
.sc-steps li{counter-increment:st;position:relative;border-radius:16px;border:1px solid var(--edge);background:var(--glass);padding:22px 22px 22px 70px;display:flex;flex-direction:column;gap:6px}
.sc-steps li::before{content:counter(st);position:absolute;left:22px;top:22px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 .95rem/1 var(--display);color:var(--cyan-ink);background:var(--cyan)}
.sc-steps b{font:600 1.1rem/1.3 var(--display)}
.sc-steps span{color:var(--muted);font-size:.95rem}
/* details gate in the pen test overlay */
.sc-gate .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.sc-gate .row2{grid-template-columns:1fr}}
.sc-gate label{font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.sc-gate input{font:inherit;font-size:1rem;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:12px;padding:13px 14px;width:100%}
.sc-gate input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(63,208,255,.15)}
.sc-gate .err{color:#FFB4A8;font-size:.88rem;min-height:1em}
.sc-fine{font-size:.78rem;color:var(--dim)}

/* ===== Booking: open slots from Tom's calendar ===== */
.bk{position:fixed;inset:0;z-index:98;display:flex;align-items:center;justify-content:center;padding:max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px))}
.bk-scrim{position:absolute;inset:0;background:rgba(2,8,20,.7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.bk-panel{position:relative;width:min(760px,100%);max-height:100%;overflow:auto;border-radius:20px;border:1px solid rgba(63,208,255,.35);background:linear-gradient(180deg,#0A2343,#041226);box-shadow:0 40px 80px -30px rgba(0,0,0,.85);overscroll-behavior:contain}
@media (prefers-reduced-motion:no-preference){.bk:not([hidden]) .bk-panel{animation:bkIn .22s ease-out}@keyframes bkIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 6px}
.bk-head h2{font-size:1.5rem;margin-top:8px}
.bk-body{padding:12px 24px 26px}
.bk-inline{border-radius:20px;border:1px solid var(--edge);background:rgba(4,18,42,.6);padding:24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.bkr{display:flex;flex-direction:column;gap:16px}
.bkr-tz{font-size:.85rem;color:var(--muted)}
.bkr-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.bkr-days button{flex:none;min-width:76px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:12px;border:1.5px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:var(--ink)}
.bkr-days button span{font:500 .66rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bkr-days button b{font:700 1.25rem/1 var(--display)}
.bkr-days button em{font-style:normal;font-size:.7rem;color:var(--dim)}
.bkr-days button:hover{border-color:var(--cyan)}
.bkr-days button[aria-pressed="true"]{border-color:var(--cyan);background:rgba(63,208,255,.14)}
.bkr-days button[aria-pressed="true"] span,.bkr-days button[aria-pressed="true"] em{color:var(--cyan)}
.bkr-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.bkr-times button{padding:12px 8px;border-radius:10px;border:1.5px solid rgba(63,208,255,.35);background:rgba(63,208,255,.06);color:var(--ink);font:600 .95rem/1 var(--body);font-variant-numeric:tabular-nums}
.bkr-times button:hover{border-color:var(--cyan);background:rgba(63,208,255,.16)}
.bkr-pick{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;border:1px solid rgba(63,208,255,.4);background:rgba(63,208,255,.08)}
.bkr-pick b{font:700 1.05rem/1.3 var(--display)}
.bkr-pick button{border:0;background:none;color:var(--cyan);font:600 .9rem/1 var(--body);padding:6px 0}
.bkr form{display:flex;flex-direction:column;gap:12px}
.bkr .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.bkr .row2{grid-template-columns:1fr}.bk-head,.bk-body{padding-left:18px;padding-right:18px}.bk-inline{padding:18px}}
.bkr label{font-size:.85rem;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.bkr input,.bkr textarea{font:inherit;font-size:1rem;color:var(--ink);background:rgba(255,255,255,.05);border:1px solid var(--edge);border-radius:12px;padding:12px 14px;width:100%;resize:vertical}
.bkr input:focus,.bkr textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(63,208,255,.15)}
.bkr .err{color:#FFB4A8;font-size:.88rem;min-height:1em}
.bkr-note{font-size:.8rem;color:var(--dim)}
.bkr-done{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.bkr-done .tick{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#5EEAA8;color:#04122A;font:800 1.5rem/1 var(--display);box-shadow:0 0 30px rgba(94,234,168,.45)}
.bkr-done h3{font-size:1.4rem}
.bkr-empty{color:var(--muted)}
.bkr-skel{height:150px;border-radius:12px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.07),rgba(255,255,255,.03));background-size:200% 100%}
@media (prefers-reduced-motion:no-preference){.bkr-skel{animation:bkSk 1.2s linear infinite}@keyframes bkSk{to{background-position:-200% 0}}}

/* ===== campaigns page ===== */
.cp-steps{grid-template-columns:repeat(4,1fr);margin-bottom:0}
@media (max-width:1060px){.cp-steps{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cp-steps{grid-template-columns:1fr}}
.cp-assets{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:760px){.cp-assets{grid-template-columns:1fr}}
.cp-list{margin:4px 0 0;padding-left:1.1em;display:flex;flex-direction:column;gap:9px;color:#C9D6E6;font-size:.96rem}
.cp-stages{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;counter-reset:cps}
@media (max-width:1060px){.cp-stages{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.cp-stages{grid-template-columns:1fr}}
.cp-stages li{counter-increment:cps;border-radius:14px;border:1px solid var(--edge);border-top:3px solid var(--c);background:rgba(6,26,51,.7);padding:16px;display:flex;flex-direction:column;gap:6px}
.cp-stages li b{font:600 1.02rem/1.2 var(--display);display:flex;gap:8px;align-items:baseline}
.cp-stages li b::before{content:counter(cps);font:500 .7rem/1 var(--mono);color:var(--c)}
.cp-stages li span{font-size:.86rem;color:var(--muted)}
.cp-note{margin-top:22px;max-width:70ch;color:#C9D6E6}

.art .by{font-size:.85rem;color:var(--muted)}
#at-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;line-height:1.4}
#at-meta em.draft{margin-left:0}
em.draft{font:600 .64rem/1 var(--mono);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#FFB547;border:1px solid rgba(255,181,71,.5);border-radius:6px;padding:3px 6px;margin-left:6px;white-space:nowrap}

.art-table{overflow-x:auto;margin:8px 0 6px;border-radius:14px;border:1px solid var(--edge)}
.art-table table{border-collapse:collapse;min-width:860px;width:100%;font-size:.88rem;line-height:1.45}
.art-table th,.art-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.07)}
.art-table tr:first-child th{font:600 .72rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);background:rgba(63,208,255,.06)}
.art-table th[scope="row"]{color:var(--ink);font-weight:600;white-space:nowrap}
.art-table td{color:#C9D6E6}
.art-table tr:nth-child(2) td{background:rgba(63,208,255,.05)}

/* ---- pen test tease: the result shows briefly, then blurs as the details form pops over it ---- */
.sc-view.sc-tease{display:grid}
.sc-tease > *{grid-area:1/1}
.sc-tease-res{display:flex;flex-direction:column;gap:20px;transition:filter .7s ease, opacity .7s ease}
.sc-tease .ex{font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.sc-tease.gated .sc-tease-res{filter:blur(12px) saturate(.9);opacity:.72;pointer-events:none;user-select:none}
.sc-tease .sc-gate{align-self:center;justify-self:center;width:min(100%,600px);display:flex;flex-direction:column;gap:12px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .45s ease .2s, visibility 0s .65s;background:rgba(4,17,37,.62);border:1px solid var(--edge);border-radius:18px;padding:clamp(18px,3vw,28px);backdrop-filter:blur(8px);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.sc-tease.gated .sc-gate{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .45s ease .2s}
.sc-tease .sc-gate h2{font-size:clamp(1.25rem,2.6vw,1.6rem)}
@media (prefers-reduced-motion:reduce){.sc-tease-res,.sc-tease .sc-gate{transition:none}}
.sc-tease .rp-sec > h2{font-size:1.5rem}
.sc-tease-res{gap:34px}

/* preview-only escape hatch on the pen test gate: visible only on staging builds (body[data-preview]) */
.sc-gate-x{display:none}
body[data-preview] .sc-gate{position:relative}
body[data-preview] .sc-gate-x{display:inline-flex;position:absolute;top:10px;right:12px;font:500 .72rem/1 var(--mono);letter-spacing:.06em;color:var(--dim);background:none;border:1px solid var(--edge);border-radius:8px;padding:7px 10px;cursor:pointer}
body[data-preview] .sc-gate-x:hover{color:var(--ink);border-color:var(--cyan)}

/* start-with-one-piece: the clickable piece cards and pricing figures */
.gs-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.gs-pick a{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--edge);border-radius:14px;background:var(--glass);text-decoration:none;color:var(--ink);transition:border-color .15s, transform .15s, background .15s}
.gs-pick a:nth-child(even){background:linear-gradient(rgba(63,208,255,.05), rgba(63,208,255,0) 60%), repeating-linear-gradient(90deg, rgba(156,201,255,.055) 0 1px, transparent 1px 22px), repeating-linear-gradient(0deg, rgba(156,201,255,.055) 0 1px, transparent 1px 22px), var(--glass)}
.gs-pick a:hover{border-color:var(--c, var(--cyan));transform:translateY(-2px);background:var(--glass2)}
.gs-pick a:focus-visible{outline:2px solid var(--c, var(--cyan));outline-offset:2px}
.gs-pick .ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--edge);color:var(--c, var(--cyan));background:rgba(255,255,255,.04)}
.gs-pick .ic svg{width:21px;height:21px}
.gs-pick a:hover .ic{border-color:var(--c, var(--cyan))}
.gs-pick b{font:700 1.02rem/1.3 var(--display)}
.gs-pick .sub{font-size:.86rem;line-height:1.4;color:var(--dim)}
@media (max-width:980px){.gs-pick{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.gs-pick{grid-template-columns:1fr}}
.price{font:700 1.7rem/1.1 var(--display);color:var(--cyan);margin:2px 0 4px}

/* skip link: offscreen until focused */
.skip{position:absolute;left:-9999px;top:0;z-index:999}
.skip:focus{left:16px;top:16px;background:var(--navy);color:var(--ink);padding:12px 18px;border:1px solid var(--cyan);border-radius:10px;font-weight:600;text-decoration:none}
/* funnel back buttons: comfortable tap size */
.gf-back{padding:12px 8px}
.sc-back{padding:12px 4px}
/* interactive borders stand out more than decorative card edges */
.gf-opt,.gs-pick a,.f input,.f textarea{border-color:rgba(255,255,255,.28)}

/* cookie notice: warm green yes, a quiet sad no */
.ck{--ckg:#8FE39C;position:fixed;left:max(16px, env(safe-area-inset-left, 0px));bottom:max(16px, env(safe-area-inset-bottom, 0px));z-index:250;width:min(380px, calc(100vw - 32px));background:#0B2445;border:1px solid rgba(143,227,156,.38);border-radius:16px;padding:18px 18px 14px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.ck .eyebrow{color:var(--ckg)}
.ck b{font:700 1.1rem/1.3 var(--display)}
.ck p{margin:0;font-size:.92rem;line-height:1.55;color:var(--muted)}
.ck p a{color:var(--muted)}
.ck-btns{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;min-height:44px}
.ck-yes{font:inherit;font-weight:700;background:var(--ckg);color:#04122A;border:0;border-radius:999px;padding:11px 22px;cursor:pointer;transition:transform .15s, box-shadow .2s}
.ck-yes:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(143,227,156,.35)}
.ck-no{font:inherit;font-size:.9rem;background:none;border:0;color:var(--dim);display:inline-flex;align-items:center;gap:7px;padding:11px 10px;cursor:pointer}
.ck-no svg{width:19px;height:19px;flex-shrink:0;transition:transform .35s}
.ck-no:hover{color:var(--muted)}
.ck-no:hover svg{transform:translateY(2px) rotate(-10deg)}
.ck-yes:focus-visible,.ck-no:focus-visible{outline:2px solid var(--ckg);outline-offset:3px}
.ck-done{font-size:.92rem;color:var(--ckg)}
.ck-link{font:inherit;background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
.ck-fine{font-size:.8rem !important;color:var(--dim) !important}
@media (prefers-reduced-motion:no-preference){.ck:not([hidden]){animation:ckIn .5s cubic-bezier(.2,.8,.2,1)}@keyframes ckIn{from{opacity:.55;transform:translateY(16px)}}}

/* interview series: copy beside a framed slideshow of real shoots (crossfade, slow zoom; first slide only under reduced motion) */
.iv-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:center}
.ivf{position:relative;margin:0;padding:10px;border:1px solid var(--edge);border-radius:20px;background:#0B2445;box-shadow:0 24px 60px rgba(0,0,0,.45), 0 0 0 1px rgba(63,208,255,.08)}
.ivf-stage{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#04122A}
.ivf-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0}
.ivf-stage img:first-child{opacity:1}
.ivf-rec{position:absolute;top:24px;left:24px;display:inline-flex;align-items:center;gap:7px;font:600 .68rem/1 var(--mono);letter-spacing:.14em;color:#fff;background:rgba(4,18,42,.62);border:1px solid rgba(255,255,255,.18);padding:6px 9px;border-radius:7px;backdrop-filter:blur(4px)}
.ivf-rec::before{content:"";width:8px;height:8px;border-radius:50%;background:#FF4D4D;box-shadow:0 0 8px #FF4D4D}
.ivf-c{position:absolute;inset:22px;pointer-events:none;background:
  linear-gradient(#fff,#fff) top left/18px 2px, linear-gradient(#fff,#fff) top left/2px 18px,
  linear-gradient(#fff,#fff) top right/18px 2px, linear-gradient(#fff,#fff) top right/2px 18px,
  linear-gradient(#fff,#fff) bottom left/18px 2px, linear-gradient(#fff,#fff) bottom left/2px 18px,
  linear-gradient(#fff,#fff) bottom right/18px 2px, linear-gradient(#fff,#fff) bottom right/2px 18px;background-repeat:no-repeat;opacity:.55}
@media (max-width:900px){.iv-in{grid-template-columns:1fr;gap:36px}.ivf{max-width:440px;width:100%;justify-self:center}}
@media (prefers-reduced-motion:no-preference){
  .ivf-stage img{animation:ivSlide 30s linear infinite}
  .ivf-stage img:nth-child(1){animation-delay:0s}.ivf-stage img:nth-child(2){animation-delay:5s}.ivf-stage img:nth-child(3){animation-delay:10s}
  .ivf-stage img:nth-child(4){animation-delay:15s}.ivf-stage img:nth-child(5){animation-delay:20s}.ivf-stage img:nth-child(6){animation-delay:25s}
  .ivf-stage img:not(:first-child){animation-fill-mode:backwards}
  @keyframes ivSlide{0%{opacity:0;transform:scale(1.02)}3%{opacity:1}17%{opacity:1}20%{opacity:0;transform:scale(1.09)}100%{opacity:0;transform:scale(1.09)}}
  .ivf-stage img:first-child{animation-name:ivSlideFirst}
  @keyframes ivSlideFirst{0%{opacity:1;transform:scale(1.02)}17%{opacity:1}20%{opacity:0;transform:scale(1.09)}97%{opacity:0;transform:scale(1.02)}100%{opacity:1;transform:scale(1.02)}}
  .ivf-rec::before{animation:recBlink 1.6s steps(2) infinite}
  @keyframes recBlink{50%{opacity:.25}}
}

/* author bio at the foot of an article */
.art-bio{margin-top:36px;padding:18px 20px;border:1px solid var(--edge);border-radius:14px;background:rgba(255,255,255,.04)}
.art-bio p{margin:0;font-size:.95rem;line-height:1.6;color:var(--muted)}
.art-body a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}

/* goals block: today to the 12-month goal, targets settling into its rings */
.gt{position:relative;height:220px;margin:4px 0 28px}
.gt canvas{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:560px){.gt{height:180px;margin-bottom:20px}}

/* newsroom: release cards are links; release pages end on the press-convention mark */
.rels a.rel{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}
.rels a.rel h3{font-size:1.2rem;line-height:1.3}
.rels a.rel .more{color:var(--cyan);font-size:.92rem}
.rels a.rel:hover h3{color:var(--cyan)}
.rl-end{text-align:center;letter-spacing:.4em;color:var(--dim);margin:28px 0 8px}
