/* Self-hosted variable fonts (Archivo: wght 100–900, wdth 62–125 · Martian Mono: wght 100–800, wdth 75–112.5) */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("/assets/fonts/archivo-latin.woff2") format("woff2-variations"),url("/assets/fonts/archivo-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("/assets/fonts/archivo-latin-ext.woff2") format("woff2-variations"),url("/assets/fonts/archivo-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Martian Mono";font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url("/assets/fonts/martian-mono-latin.woff2") format("woff2-variations"),url("/assets/fonts/martian-mono-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Layout: a viewfinder on black. Warm light leaks from the brand gradient, rounded app-icon panels,
   mono camera-HUD labels, expanded display type that "zooms" into focus. 12-col container, 1240px. */
:root{
  /* palette (from the Loupe brand sheets) */
  --black:#000000; --ink:#100C08; --ink-2:#17110D; --ink-3:#231B15;
  --white:#F9F9F9; --gray-1:#A7A7A7; --gray-2:#646464; --gray-3:#333333;
  --orange:#E85002; --amber:#FF9408; --icon-hi:#FF9036; --icon-lo:#E07A1F;
  --ember:#F16001; --red:#C10801; --crimson:#95122C; --sand:#D9C3AB;
  --paper:#F3F4F5; --mist:#DBE0E1;
  --line:rgba(249,249,249,.09); --line-2:rgba(249,249,249,.17); --line-ink:rgba(16,12,8,.14); --line-ink-2:rgba(16,12,8,.28);
  --grad-brand:linear-gradient(100deg,#D9C3AB 0%,#F16001 30%,#C10801 62%,#000000 100%);
  --grad-icon:linear-gradient(135deg,#FF9036 0%,#E07A1F 100%);
  --grad-ember:linear-gradient(180deg,#FF9408 0%,#CA3F16 38%,#95122C 72%,#100C08 100%);
  /* type */
  --f-sans:"Archivo","Archivo Variable",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-mono:"Martian Mono","Martian Mono Variable",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  /* space + shape */
  --gutter:clamp(16px,4vw,40px); --maxw:1240px;
  --sec:clamp(80px,10vw,144px);
  --r-xl:30px; --r-lg:22px; --r-md:14px; --r-sm:8px;
  --ease:cubic-bezier(.2,.7,.1,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--black);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--f-sans);font-size:1.0625rem;line-height:1.6;font-weight:400;font-stretch:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
p,h1,h2,h3,h4,ul,ol,dl,dd,figure,blockquote{margin:0}
ul[class],ol[class],nav ul{list-style:none;padding:0}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--orange);color:var(--black)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--orange);color:var(--black);padding:10px 16px;border-radius:999px;font-weight:650;text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:calc(var(--maxw) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.mono{font-family:var(--f-mono)}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- type ---------- */
.eyebrow{font-family:var(--f-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-1);display:inline-flex;align-items:center;gap:.8em;line-height:1.4}
.eyebrow::before{content:"";width:7px;height:7px;background:var(--orange);border-radius:2px;flex:none}
.on-light .eyebrow{color:var(--gray-2)}
.on-orange .eyebrow{color:var(--ink)}
.on-orange .eyebrow::before{background:var(--ink)}
.display{font-stretch:118%;font-weight:800;font-size:clamp(3.1rem,calc((100vw - 2 * var(--gutter)) / 9.6),7.6rem);line-height:.88;letter-spacing:-.03em;margin:0}
.h1{font-stretch:114%;font-weight:800;font-size:clamp(2.5rem,6vw,5.25rem);line-height:.92;letter-spacing:-.028em;text-wrap:balance}
.h2{font-stretch:112%;font-weight:780;font-size:clamp(2rem,4.3vw,3.55rem);line-height:.98;letter-spacing:-.024em;text-wrap:balance}
.h3{font-stretch:106%;font-weight:680;font-size:clamp(1.18rem,1.5vw,1.36rem);line-height:1.2;letter-spacing:-.012em;text-wrap:balance}
.lead{font-size:clamp(1.13rem,1.45vw,1.32rem);line-height:1.5;color:var(--white);max-width:44ch;text-wrap:pretty}
.body-l{font-size:1.125rem;line-height:1.6}
.muted{color:var(--gray-1)}
.measure{max-width:62ch}
.accent{color:var(--orange)}
.prose p+p{margin-top:1em}
.prose p,.prose li{text-wrap:pretty}

/* ---------- buttons ---------- */
.btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:var(--h);padding-inline:24px;border-radius:999px;font:inherit;font-weight:650;font-stretch:108%;font-size:1rem;letter-spacing:-.005em;line-height:1;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.btn svg{width:18px;height:18px;flex:none;transition:transform .4s var(--ease)}
.btn:hover .i-arrow{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--orange);color:var(--black)}
.btn-primary:hover{background:var(--amber)}
.btn-ghost{border-color:var(--line-2);color:var(--white);background:transparent}
.btn-ghost:hover{border-color:var(--white)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-ink:hover{background:var(--black);color:var(--amber)}
.btn-line-ink{border-color:var(--line-ink-2);color:var(--ink);background:transparent}
.btn-line-ink:hover{border-color:var(--ink)}
.btn-sm{--h:40px;padding-inline:16px;font-size:.9375rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.link-arrow{display:inline-flex;align-items:center;gap:.5em;font-weight:620;font-stretch:106%;text-decoration:none;color:var(--white);border-bottom:1px solid var(--line-2);padding-bottom:3px;transition:border-color .25s,color .25s}
.link-arrow svg{width:16px;height:16px;transition:transform .4s var(--ease)}
.link-arrow:hover{border-color:var(--orange);color:var(--amber)}
.link-arrow:hover svg{transform:translateX(4px)}
.on-light .link-arrow{color:var(--ink);border-color:var(--line-ink-2)}
.on-light .link-arrow:hover{color:var(--orange);border-color:var(--orange)}

/* ---------- aperture mark ---------- */
.mark{width:100%;height:100%;overflow:visible}
.mark .blades{transform-origin:12px 12px;transition:transform .7s var(--ease)}

/* ---------- top bar (contact details at the start of every page) ---------- */
.topbar{background:var(--black);border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--gray-1)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding-block:6px}
.topbar-note{display:flex;align-items:center;gap:.7em;white-space:nowrap}
.topbar-note .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(232,80,2,.6);animation:pulse 2.4s var(--ease) infinite}
.topbar-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.topbar-links a{display:inline-flex;align-items:center;gap:.6em;text-decoration:none;color:var(--gray-1);transition:color .2s;white-space:nowrap}
.topbar-links a:hover{color:var(--white)}
.topbar-links svg{width:13px;height:13px;color:var(--orange)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,80,2,.55)}70%{box-shadow:0 0 0 7px rgba(232,80,2,0)}100%{box-shadow:0 0 0 0 rgba(232,80,2,0)}}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid transparent;transition:border-color .3s,background-color .3s}
.site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(0,0,0,.82)}
.header-in{display:flex;align-items:center;gap:28px;height:70px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.brand-icon{width:36px;height:36px;border-radius:10px;background:var(--grad-icon);color:#140B06;display:grid;place-items:center;padding:7px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.brand:hover .mark .blades{transform:rotate(60deg)}
.brand-word{font-size:1.18rem;font-stretch:112%;font-weight:420;letter-spacing:-.02em;color:var(--gray-1);line-height:1}
.brand-word b{font-weight:800;color:var(--white)}
.nav{margin-left:auto}
.nav ul{display:flex;align-items:center;gap:4px}
.nav a{display:block;padding:10px 14px;border-radius:999px;font-size:.9375rem;font-weight:520;color:var(--gray-1);text-decoration:none;transition:color .2s,background-color .2s}
.nav a:hover{color:var(--white);background:rgba(249,249,249,.05)}
.nav a[aria-current="page"]{color:var(--white);background:rgba(249,249,249,.07)}
.nav a[aria-current="page"]::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-right:8px;vertical-align:middle;transform:translateY(-1px)}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);background:transparent;cursor:pointer;position:relative}
.menu-btn span:not(.sr-only){position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--white);transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:25px}
.menu-btn[aria-expanded="true"] span:nth-child(1){top:20.5px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){top:20.5px;transform:rotate(-45deg)}
.mobile-menu{border-top:1px solid var(--line);background:var(--black)}
.mobile-menu-in{padding-block:18px 26px;display:grid;gap:22px}
.mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:1.5rem;font-stretch:112%;font-weight:720;letter-spacing:-.02em;text-decoration:none}
.mobile-menu nav a[aria-current="page"]{color:var(--orange)}
.mobile-menu .mm-contact{display:grid;gap:8px;font-family:var(--f-mono);font-size:.78rem;color:var(--gray-1)}
.mobile-menu .mm-contact a{text-decoration:none;color:var(--white)}
@media (max-width:960px){
  .nav,.header-cta{display:none}
  .menu-btn{display:block}
}
@media (max-width:640px){
  .topbar-note{display:none}
  .topbar-in{justify-content:center}
  .topbar-links{gap:16px;justify-content:center}
  .topbar-links .tb-page{display:none}
  .header-in{height:62px}
}
@media (max-width:380px){.topbar-links{gap:12px}.topbar{font-size:.625rem}}

/* ---------- generic sections ---------- */
.section{padding-block:var(--sec)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 48px;margin-bottom:clamp(40px,5vw,64px)}
.section-head .stack{display:grid;gap:18px;max-width:56rem}
.section-head p{max-width:52ch}
@media (max-width:760px){.section-head{grid-template-columns:1fr}}
.on-light{background:var(--paper);color:var(--ink)}
.on-light .muted{color:var(--gray-2)}
.on-orange{background:var(--grad-icon);color:var(--ink)}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:180px;opacity:.07;mix-blend-mode:overlay;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.grain>*{position:relative;z-index:1}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding-block:clamp(40px,6vw,84px) clamp(64px,8vw,112px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-10% -10% auto auto;width:min(1100px,110vw);height:900px;background:radial-gradient(closest-side at 62% 58%,rgba(241,96,1,.30),rgba(193,8,1,.16) 48%,transparent 75%);filter:blur(10px);pointer-events:none;z-index:0}
.hero>.wrap{position:relative;z-index:1}
.chip{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border:1px solid var(--line-2);border-radius:999px;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);background:rgba(16,12,8,.6)}
.chip .chip-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:pulse 2.4s var(--ease) infinite}
.hero-title{margin-top:26px}
.hero-title .line{display:block;white-space:nowrap}
.hero-title .line+.line{color:var(--orange)}
.hero-title .stop{color:var(--white)}
.m-br{display:none}
@media (max-width:620px){.hero-title .line{white-space:normal}.m-br{display:inline}.chip-long{display:none}}
.hero-lower{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);margin-top:clamp(36px,4.5vw,56px);align-items:start}
.hero-copy{display:grid;gap:22px;padding-top:6px}
.hero-copy .muted{max-width:46ch}
.hero-contact{font-family:var(--f-mono);font-size:.75rem;color:var(--gray-1);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.hero-contact a{color:var(--white);text-decoration:none;border-bottom:1px solid var(--line-2)}
.hero-contact a:hover{border-color:var(--orange)}
@media (max-width:980px){.hero-lower{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){
  .hero-title .line{animation:zoomFocus 1.15s var(--ease) both}
  .hero-title .line+.line{animation-delay:.14s}
  .hero-copy>*{animation:rise .9s var(--ease) both}
  .hero-copy>*:nth-child(2){animation-delay:.32s}.hero-copy>*:nth-child(3){animation-delay:.4s}.hero-copy>*:nth-child(4){animation-delay:.48s}
  .hero-copy>*:first-child{animation-delay:.26s}
  .scan{animation:rise 1s .3s var(--ease) both}
}
@keyframes zoomFocus{from{opacity:0;filter:blur(14px);font-stretch:92%;transform:translateY(.1em)}60%{opacity:1}to{opacity:1;filter:blur(0);font-stretch:118%;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- scan panel (hero illustration) ---------- */
.scan{position:relative;border-radius:var(--r-lg);background:linear-gradient(180deg,#120D0A 0%,#0A0705 100%);border:1px solid var(--line);padding:16px 16px 14px;box-shadow:0 60px 120px -50px rgba(232,80,2,.45),0 0 0 1px rgba(0,0,0,.6)}
.scan .vf{position:absolute;width:18px;height:18px;border-color:var(--orange);border-style:solid;border-width:0;pointer-events:none}
.scan .vf.tl{top:-7px;left:-7px;border-top-width:2px;border-left-width:2px;border-top-left-radius:6px}
.scan .vf.tr{top:-7px;right:-7px;border-top-width:2px;border-right-width:2px;border-top-right-radius:6px}
.scan .vf.bl{bottom:-7px;left:-7px;border-bottom-width:2px;border-left-width:2px;border-bottom-left-radius:6px}
.scan .vf.br{bottom:-7px;right:-7px;border-bottom-width:2px;border-right-width:2px;border-bottom-right-radius:6px}
.scan-head,.scan-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--f-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1)}
.scan-head{padding:2px 2px 12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.scan-head b{color:var(--white);font-weight:600}
.scan-status{display:inline-flex;align-items:center;gap:8px;color:var(--white)}
.scan-status i{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:pulse 1.6s var(--ease) infinite}
.scan-foot{padding:12px 2px 2px;border-top:1px solid var(--line);margin-top:12px;flex-wrap:wrap}
.scan-foot .key{display:inline-flex;align-items:center;gap:8px}
.scan-foot .key i{width:10px;height:10px;border-radius:3px;background:var(--orange);box-shadow:0 0 10px rgba(232,80,2,.8)}
.scan-body{position:relative}
.scan-rows{display:grid;gap:12px}
.acct{display:grid;gap:7px}
.acct-label{display:flex;justify-content:space-between;gap:8px;font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1)}
.acct-label b{color:var(--white);font-weight:600}
.reels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.reel{position:relative;aspect-ratio:9/16;border-radius:7px;overflow:hidden;background:var(--f,#222);transition:filter .5s var(--ease),opacity .5s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease)}
.reel::before{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:120px;opacity:.16;mix-blend-mode:overlay}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65));}
.reel .x{position:absolute;top:5px;right:5px;z-index:2;font-family:var(--f-mono);font-size:.5625rem;font-weight:600;line-height:1;padding:4px 5px;border-radius:5px;background:rgba(0,0,0,.55);color:var(--white);font-variant-numeric:tabular-nums;transition:background-color .4s,color .4s}
.reel .v{position:absolute;left:6px;bottom:6px;z-index:2;display:flex;align-items:center;gap:4px;font-family:var(--f-mono);font-size:.5625rem;color:var(--white);font-variant-numeric:tabular-nums}
.reel .v::before{content:"";width:0;height:0;border-left:5px solid var(--white);border-top:3.5px solid transparent;border-bottom:3.5px solid transparent}
.reel .tag{position:absolute;left:0;right:0;top:42%;z-index:2;text-align:center;font-family:var(--f-mono);font-size:.5rem;font-weight:700;letter-spacing:.12em;color:var(--black);background:var(--orange);padding:3px 0;opacity:0;transform:scaleX(.6);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.reel.is-out{box-shadow:0 0 0 2px var(--orange),0 0 26px rgba(232,80,2,.55);z-index:1}
.reel.is-out .x{background:var(--orange);color:var(--black)}
.reel.is-out .tag{opacity:1;transform:none}
.reel.is-dim{filter:grayscale(.85) brightness(.42)}
.reel.is-seen{filter:grayscale(.5) brightness(.62)}
/* footage fills */
.f1{--f:linear-gradient(165deg,#FF9408 0%,#CA3F16 46%,#2a0f0c 100%)}
.f2{--f:linear-gradient(200deg,#D9C3AB 0%,#7a5b45 42%,#17110D 100%)}
.f3{--f:radial-gradient(120% 80% at 30% 20%,#F16001,#95122C 55%,#100C08)}
.f4{--f:linear-gradient(180deg,#4a4a4a 0%,#646464 30%,#100C08 100%)}
.f5{--f:linear-gradient(150deg,#95122C 0%,#C10801 42%,#FF9036 100%)}
.f6{--f:radial-gradient(90% 60% at 70% 75%,#E07A1F,#2b1a12 62%,#0b0806)}
.f7{--f:linear-gradient(170deg,#DBE0E1 0%,#A7A7A7 30%,#333333 100%)}
.f8{--f:radial-gradient(80% 60% at 50% 30%,#D9C3AB 0%,#CA3F16 45%,#100C08 100%)}
.f9{--f:linear-gradient(190deg,#333333 0%,#95122C 60%,#100C08 100%)}
/* the loupe */
.lens{--L:128px;position:absolute;left:0;top:0;width:var(--L);height:var(--L);z-index:4;pointer-events:none;will-change:transform}
.lens-glass{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#0A0705;box-shadow:0 0 0 6px #140B06,0 0 0 7.5px rgba(255,144,54,.95),0 0 0 8.5px rgba(0,0,0,.6),0 22px 50px rgba(0,0,0,.65),0 0 60px rgba(232,80,2,.35)}
.lens-view{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.lens-view .reel{transition:none}
.lens-shine{position:absolute;inset:0;border-radius:50%;background:radial-gradient(60% 40% at 30% 22%,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.lens-cross{position:absolute;inset:0;pointer-events:none}
.lens-cross::before,.lens-cross::after{content:"";position:absolute;background:rgba(255,144,54,.75)}
.lens-cross::before{left:50%;top:8px;width:1px;height:10px;box-shadow:0 calc(var(--L) - 26px) 0 rgba(255,144,54,.75)}
.lens-cross::after{top:50%;left:8px;height:1px;width:10px;box-shadow:calc(var(--L) - 26px) 0 0 rgba(255,144,54,.75)}
.iris{position:absolute;inset:0;width:100%;height:100%;border-radius:50%}
.lens-read{position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);min-width:116px;padding:8px 10px;border-radius:9px;background:rgba(10,7,5,.92);border:1px solid var(--line-2);font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.55;color:var(--gray-1);white-space:nowrap;transition:opacity .3s}
.lens-read b{display:block;color:var(--white);font-weight:600}
.lens-read .hit{color:var(--orange);font-weight:700}
.lens.flip .lens-read{left:auto;right:calc(100% + 14px)}
.lens-read:empty{opacity:0}
.scan-note{margin-top:14px;font-size:.875rem;color:var(--gray-1);display:flex;gap:10px;align-items:baseline}
.scan-note svg{width:14px;height:14px;flex:none;color:var(--orange);transform:translateY(2px)}
@media (max-width:560px){
  .reels{grid-template-columns:repeat(4,minmax(0,1fr))}
  .reels .reel:nth-child(n+5){display:none}
  .lens{--L:104px}
  .lens-read{min-width:0;font-size:.55rem}
  .scan{padding:12px 12px 10px}
}

/* ---------- ticker ---------- */
.ticker{background:var(--grad-icon);color:var(--ink);overflow:hidden;position:relative}
.ticker-track{display:flex;width:max-content}
.ticker-group{display:flex;align-items:center;flex:none}
.ticker-item{display:flex;align-items:center;gap:26px;padding:17px 13px;font-family:var(--f-mono);font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.tk-mark{display:block;width:16px;height:16px;color:var(--ink);flex:none}
@media (prefers-reduced-motion:no-preference){.ticker-track{animation:tick 60s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- problem ---------- */
.problem-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:start}
.problem-grid .stack{display:grid;gap:22px}
.stop-list{display:grid;gap:0;border-top:1px solid var(--line)}
.stop-list li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.stop-list .k{font-family:var(--f-mono);font-size:.6875rem;color:var(--gray-1);letter-spacing:.1em}
.stop-list .s{display:inline;font-size:clamp(1.3rem,2.2vw,1.7rem);font-stretch:108%;font-weight:640;letter-spacing:-.015em;line-height:1.3;color:var(--gray-1);background-image:linear-gradient(var(--orange),var(--orange));background-repeat:no-repeat;background-position:0 60%;background-size:100% 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.strike-line{display:none}
.stop-list .after{font-size:.95rem;color:var(--white);margin-top:8px}
.who{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:.875rem;font-weight:520;color:var(--white)}
.on-light .pill{border-color:var(--line-ink-2);color:var(--ink)}
@media (max-width:860px){.problem-grid{grid-template-columns:1fr}}

/* ---------- services list ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.svc{position:relative;display:grid;align-content:start;gap:14px;padding:28px 26px 34px 0;border-right:1px solid var(--line)}
.svc+.svc{padding-left:26px}
.svc:last-child{border-right:0}
.svc::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
@media (hover:hover){.svc:hover::before{transform:scaleX(1)}}
.svc-ico{width:40px;height:40px;color:var(--orange)}
.svc p{color:var(--gray-1);font-size:1rem}
.svc .svc-tools{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);margin-top:auto;padding-top:8px}
.svc .svc-tools b{color:var(--sand);font-weight:500}
@media (max-width:1040px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svc{border-bottom:1px solid var(--line)}.svc:nth-child(2){border-right:0}.svc:nth-child(3){padding-left:0}}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}.svc,.svc+.svc{padding:26px 0 30px;border-right:0}}

/* ---------- engine / bento ---------- */
.engine{position:relative;overflow:hidden}
.engine::before{content:"";position:absolute;left:50%;top:0;width:1400px;height:700px;transform:translate(-50%,-55%);background:radial-gradient(closest-side,rgba(232,80,2,.22),transparent);pointer-events:none}
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:26px;border-radius:var(--r-lg);background:var(--ink);border:1px solid var(--line);overflow:hidden;transition:border-color .35s var(--ease),transform .5s var(--ease)}
.card:hover{border-color:var(--line-2)}
.card .meta{display:flex;justify-content:space-between;align-items:center;gap:12px}
.card .ctag{font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-1);border:1px solid var(--line-2);border-radius:999px;padding:5px 9px;white-space:nowrap}
.card .tool-ico{width:30px;height:30px;color:var(--orange);flex:none}
.card p:not([class]){color:var(--gray-1);font-size:.98rem;max-width:52ch}
.card .viz{margin-top:auto;padding-top:8px}
.b-planner{grid-column:span 3}.b-trial{grid-column:span 3}
.b-mod{grid-column:span 2;grid-row:span 2}.b-analyze{grid-column:span 2}.b-stats{grid-column:span 2}.b-lib{grid-column:span 4}
@media (max-width:1040px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.b-planner,.b-trial,.b-analyze,.b-stats{grid-column:span 1}.b-mod{grid-column:span 1;grid-row:span 2}.b-lib{grid-column:span 2}}
@media (max-width:700px){.bento{grid-template-columns:1fr}.b-planner,.b-trial,.b-mod,.b-analyze,.b-stats,.b-lib{grid-column:span 1;grid-row:auto}}
/* planner viz: breakdown timeline */
.tl{display:grid;gap:12px}
.tl-bar{position:relative;display:grid;grid-template-columns:10fr 70fr 20fr;gap:3px;height:34px}
.tl-seg{position:relative;border-radius:6px;background:var(--ink-3);display:flex;align-items:center;padding-inline:8px;font-family:var(--f-mono);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);overflow:hidden;white-space:nowrap;transition:background-color .35s,color .35s}
.tl-seg.on{background:var(--orange);color:var(--black)}
.tl-head{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--white);border-radius:2px;left:0;box-shadow:0 0 12px rgba(255,255,255,.6)}
.tl-head::before{content:"";position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--white)}
.tl-time{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.5625rem;color:var(--gray-2);letter-spacing:.06em}
.tl-note{min-height:3.2em;padding:12px 14px;border-radius:12px;background:var(--ink-2);border:1px solid var(--line);font-size:.9rem;line-height:1.45;color:var(--white)}
.tl-note .lbl{display:block;font-family:var(--f-mono);font-size:.5625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:4px}
.formats{display:flex;flex-wrap:wrap;gap:8px}
.formats span{font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--ink-2);border:1px solid var(--line);color:var(--sand)}
/* trial viz: comparison */
.cmp{display:grid;gap:14px}
.cmp-row{display:grid;gap:7px}
.cmp-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--f-mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-1)}
.cmp-top b{color:var(--white);font-weight:600}
.cmp-track{height:12px;border-radius:999px;background:var(--ink-3);overflow:hidden;position:relative}
.cmp-fill{display:block;height:100%;border-radius:999px;background:var(--gray-2);width:var(--w)}
.cmp-row.win .cmp-fill{background:linear-gradient(90deg,var(--orange),var(--amber))}
.cmp-row.win .cmp-top b{color:var(--orange)}
.cmp-avg{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--white);left:calc(var(--a) - 1px);opacity:.7}
/* modifier viz: phone with cycling hook */
.phone{position:relative;width:min(100%,250px);margin-inline:auto;aspect-ratio:9/16;border-radius:26px;padding:7px;background:#060403;border:1px solid var(--line-2);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.phone-screen{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden;background:radial-gradient(70% 50% at 50% 38%,#D9C3AB 0%,#a0643a 28%,#4a2414 58%,#120a06 100%)}
.phone-screen::before{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:140px;opacity:.22;mix-blend-mode:overlay}
.phone-screen .cup-old{position:absolute;left:50%;top:44%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 50%,#f3e3cf 0 18%,#b57a4a 19% 30%,#f3e3cf 31% 36%,#8d5530 37% 62%,#3a1f10 63% 70%,transparent 71%);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.hook{position:absolute;left:10px;right:10px;top:16%;display:grid;place-items:center;text-align:center}
.hook span{display:inline;padding:4px 8px;line-height:1.5;font-weight:800;font-stretch:104%;font-size:.95rem;letter-spacing:-.01em;color:var(--black);background:var(--white);border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.hook.swap span{opacity:0;transform:translateY(6px)}
.phone-hud{position:absolute;left:10px;right:10px;bottom:12px;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(249,249,249,.85)}
.phone-hud .rw{color:var(--amber)}
.phone-bar{position:absolute;left:10px;right:10px;bottom:30px;height:2px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
.phone-bar i{display:block;height:100%;width:var(--p,0%);background:var(--white)}
.rules{display:flex;flex-wrap:wrap;gap:6px}
.rules span{font-family:var(--f-mono);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:7px;background:var(--ink-2);border:1px solid var(--line);color:var(--gray-1)}
.rules span b{color:var(--white);font-weight:600}
/* analyze viz */
.url{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:999px;background:var(--ink-2);border:1px solid var(--line-2);font-family:var(--f-mono);font-size:.6875rem;color:var(--gray-1);white-space:nowrap;overflow:hidden}
.url svg{width:16px;height:16px;flex:none;color:var(--orange)}
.url .caret{display:inline-block;width:7px;height:13px;background:var(--orange);margin-left:2px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.watch{display:grid;gap:8px;margin-top:14px}
.watch-top{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1)}
.watch-top b{color:var(--white);font-weight:600}
.watch-track{height:6px;border-radius:999px;background:var(--ink-3);overflow:hidden}
.watch-track i{display:block;height:100%;width:var(--p,64%);border-radius:999px;background:linear-gradient(90deg,var(--orange),var(--amber))}
/* stats viz */
.spark{width:100%;height:84px}
.spark .area{fill:url(#sparkFill)}
.spark .ln{fill:none;stroke:var(--orange);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.spark .grid{stroke:var(--line);stroke-width:1}
.spark .end{fill:var(--orange)}
.meter{display:grid;gap:7px;margin-top:10px}
.meter-top{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1)}
.meter-top b{color:var(--white);font-weight:600}
.meter-ticks{display:grid;grid-template-columns:repeat(14,1fr);gap:3px}
.meter-ticks i{height:10px;border-radius:2px;background:var(--ink-3)}
.meter-ticks i.on{background:var(--sand)}
/* library viz */
.lib{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lib-item{display:grid;gap:8px;min-width:0}
.lib-thumb{aspect-ratio:4/5;border-radius:10px;background:var(--f);position:relative;overflow:hidden}
.lib-thumb::before{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:120px;opacity:.2;mix-blend-mode:overlay}
.lib-meta{display:flex;flex-wrap:wrap;gap:5px}
.lib-meta span{font-family:var(--f-mono);font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:5px;background:var(--ink-2);border:1px solid var(--line);color:var(--gray-1);white-space:nowrap}
.lib-meta span.j{color:var(--sand)}
.lib-meta span.e{color:var(--amber)}
@media (max-width:520px){.lib{grid-template-columns:repeat(2,minmax(0,1fr))}}
.example,.card p.example{font-family:var(--f-mono);font-size:.5625rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);max-width:none;opacity:.85}

/* ---------- process (light) ---------- */
.steps-wrap{position:relative}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.steps-line{position:absolute;left:0;right:0;top:27px;height:2px;background:var(--line-ink);border-radius:2px;overflow:hidden}
.steps-line i{display:block;height:100%;background:var(--orange);transform-origin:left;transform:scaleX(1)}
.step{position:relative;display:grid;gap:12px;align-content:start}
.step-n{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:2px solid var(--ink);font-family:var(--f-mono);font-weight:600;font-size:.95rem;position:relative;z-index:1}
.step:first-child .step-n{background:var(--orange);border-color:var(--orange)}
.step p{color:var(--gray-2);font-size:.98rem}
.step .why{font-size:.875rem;color:var(--ink);padding:10px 12px;border-left:2px solid var(--orange);background:rgba(232,80,2,.07);border-radius:0 8px 8px 0}
@media (max-width:1100px){
  .steps{grid-template-columns:1fr;gap:0}
  .steps-line{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .steps-line i{width:100%;height:100%;transform-origin:top}
  .step{grid-template-columns:56px 1fr;column-gap:22px;padding-bottom:34px}
  .step-n{grid-row:span 3}
}

/* ---------- human vs loupe ---------- */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.split-card{border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);display:grid;gap:22px;align-content:start}
.split-card.dark{background:var(--ink);border:1px solid var(--line)}
.split-card.sand{background:var(--sand);color:var(--ink)}
.split-card .h3{font-size:clamp(1.4rem,2vw,1.75rem)}
.ticks{display:grid;gap:14px}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:1.02rem;line-height:1.45}
.ticks svg{width:20px;height:20px;margin-top:2px}
.split-card.dark .ticks svg{color:var(--orange)}
.split-card.dark .ticks li span{color:var(--white)}
.split-card.sand .ticks svg{color:var(--ink)}
@media (max-width:820px){.split{grid-template-columns:1fr}}

/* ---------- big orange CTA ---------- */
.cta{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(34px,6vw,84px);background:var(--grad-icon);color:var(--ink);isolation:isolate}
.cta::after{content:"";position:absolute;inset:0;background-image:var(--grain);background-size:180px;opacity:.12;mix-blend-mode:multiply;pointer-events:none;z-index:-1}
.cta-mark{position:absolute;right:-6%;top:50%;width:min(540px,46%);aspect-ratio:1;transform:translateY(-50%);color:#140B06;opacity:.95;z-index:-1}
.cta-mark .mark .blades{transition:none}
@media (prefers-reduced-motion:no-preference){.cta-mark .mark{animation:spin 90s linear infinite}}
@keyframes spin{to{transform:rotate(360deg)}}
.cta-in{display:grid;gap:24px;max-width:min(620px,56%)}
.cta .h2{font-size:clamp(2.4rem,6vw,5.4rem)}
.cta .eyebrow{font-size:.75rem}
.cta .cta-text{font-size:1.125rem;line-height:1.55;max-width:46ch}
.cta-contact{display:flex;flex-wrap:wrap;gap:10px 26px;font-family:var(--f-mono);font-size:.78rem;font-weight:500}
.cta-contact a{text-decoration:none;border-bottom:1px solid rgba(16,12,8,.35)}
.cta-contact a:hover{border-color:var(--ink)}
@media (max-width:1100px){.cta-in{max-width:none}.cta-mark{width:min(380px,60%);right:-70px;top:auto;bottom:-120px;transform:none;opacity:.16}}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq-grid .stack{display:grid;gap:18px;position:sticky;top:110px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:clamp(1.1rem,1.6vw,1.3rem);font-stretch:106%;font-weight:640;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{position:relative;width:30px;height:30px;flex:none;border-radius:50%;border:1px solid var(--line-2);transition:background-color .3s,border-color .3s,transform .45s var(--ease)}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--white);transform:translate(-50%,-50%)}
.faq summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .45s var(--ease)}
.faq details[open] summary .pm{background:var(--orange);border-color:var(--orange)}
.faq details[open] summary .pm::before,.faq details[open] summary .pm::after{background:var(--black)}
.faq details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq summary:hover .pm{border-color:var(--white)}
.faq .ans{padding:0 56px 26px 0;color:var(--gray-1);max-width:62ch}
.faq .ans a{color:var(--white)}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}.faq-grid .stack{position:static}.faq .ans{padding-right:0}}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);padding-top:clamp(56px,7vw,96px);background:var(--black);overflow:hidden}
.foot-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(2,minmax(0,3fr)) minmax(0,4fr);gap:40px}
.foot-brand{display:grid;gap:18px;align-content:start}
.foot-brand p{color:var(--gray-1);max-width:34ch;font-size:.98rem}
.foot-h{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-2);margin-bottom:16px}
.foot-links{display:grid;gap:10px}
.foot-links a{text-decoration:none;color:var(--gray-1);transition:color .2s;font-size:.98rem}
.foot-links a:hover{color:var(--white)}
.foot-card{display:grid;gap:12px;font-size:.95rem;color:var(--gray-1)}
.foot-card b{color:var(--white);font-weight:640}
.foot-card a{text-decoration:none;color:var(--white)}
.foot-card a:hover{color:var(--amber)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:56px;padding-block:22px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:.6875rem;color:var(--gray-2);letter-spacing:.04em}
.foot-bottom a{color:var(--gray-1);text-decoration:none}
.foot-bottom a:hover{color:var(--white)}
.foot-bottom nav{display:flex;gap:18px}
.foot-word{font-stretch:125%;font-weight:900;letter-spacing:-.045em;line-height:.8;font-size:min(calc((100vw - 2 * var(--gutter)) / 7.9),157px);color:transparent;-webkit-text-stroke:1px rgba(249,249,249,.16);white-space:nowrap;padding-block:28px 34px;user-select:none;text-align:center}
@media (max-width:1000px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:span 2}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}.foot-brand{grid-column:auto}}

/* ---------- inner pages ---------- */
.page-hero{position:relative;padding-block:clamp(56px,8vw,112px) clamp(48px,6vw,80px);overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-12%;top:-45%;width:900px;height:900px;background:radial-gradient(closest-side,rgba(241,96,1,.2),rgba(193,8,1,.1) 55%,transparent);pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 35%,transparent 85%);mask-image:linear-gradient(180deg,#000 35%,transparent 85%)}
.page-hero .wrap{position:relative;display:grid;gap:26px}
.page-hero .lead{max-width:52ch}
.page-hero .h1 .accent{color:var(--orange)}
.ph-mark{position:absolute;right:calc(var(--gutter) - 40px);top:50%;width:min(420px,40vw);aspect-ratio:1;transform:translateY(-46%);color:rgba(249,249,249,.06);pointer-events:none}
.ph-mark .mark g{stroke-width:.9}
@media (prefers-reduced-motion:no-preference){.ph-mark .mark{animation:spin 140s linear infinite}
  .page-hero .h1{animation:pageFocus 1s var(--ease) both}
  .page-hero .lead,.page-hero .actions,.page-hero .chip-row{animation:rise .9s .2s var(--ease) both}}
@keyframes pageFocus{from{opacity:0;filter:blur(12px);font-stretch:96%}to{opacity:1;filter:none;font-stretch:114%}}
@media (max-width:760px){.ph-mark{display:none}}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}

/* detail rows (services page) */
.detail{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.detail:first-child{border-top:0;padding-top:0}
.detail .stack{display:grid;gap:18px;align-content:start}
.detail-ico{width:48px;height:48px;color:var(--orange)}
.get{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.get li{padding:18px;border-radius:var(--r-md);background:var(--ink);border:1px solid var(--line);font-size:.98rem;line-height:1.45;display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}
.get li svg{width:18px;height:18px;color:var(--orange);margin-top:2px}
.uses{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.uses .lbl{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-2);margin-right:4px}
.uses a,.uses span.t{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid var(--line-2);color:var(--sand);text-decoration:none}
.uses a:hover{border-color:var(--orange);color:var(--amber)}
@media (max-width:900px){.detail{grid-template-columns:1fr}}
@media (max-width:560px){.get{grid-template-columns:1fr}}

/* funnel map */
.funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
.stage{position:relative;display:grid;gap:12px;align-content:start;padding:22px;border-radius:var(--r-lg);background:var(--white);color:var(--ink);border:1px solid var(--line-ink)}
.stage .k{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-2)}
.stage .h3{font-size:1.3rem}
.stage p{color:var(--gray-2);font-size:.95rem}
.stage .tool{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding-top:10px;border-top:1px solid var(--line-ink)}
.stage .tool i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.stage:nth-child(1){--w:100%}.stage:nth-child(2){--w:86%}.stage:nth-child(3){--w:72%}.stage:nth-child(4){--w:58%}
.funnel-bar{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:center;margin-top:4px}
.funnel-bar i{height:14px;border-radius:999px;background:var(--grad-icon);width:var(--w);justify-self:center;opacity:.95}
.funnel-bar i:nth-child(1){--w:100%}.funnel-bar i:nth-child(2){--w:82%}.funnel-bar i:nth-child(3){--w:64%}.funnel-bar i:nth-child(4){--w:46%}
@media (max-width:960px){.funnel,.funnel-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.funnel,.funnel-bar{grid-template-columns:1fr}.funnel-bar{display:none}}

/* audience cards */
.aud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.aud .card{min-height:100%}
.aud .card .k{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
@media (max-width:900px){.aud{grid-template-columns:1fr}}

/* numbered start steps */
.start{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;counter-reset:s}
.start li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--ink)}
.start li::before{counter-increment:s;content:counter(s);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:var(--black);font-family:var(--f-mono);font-weight:700;font-size:.9rem}
.start li p{color:var(--gray-1)}
.start li b{display:block;color:var(--white);font-weight:650;font-stretch:106%;font-size:1.08rem;margin-bottom:4px}
@media (max-width:760px){.start{grid-template-columns:1fr}}

/* how it works: vertical steps */
.vsteps{display:grid;gap:0;border-top:1px solid var(--line)}
.vstep{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,4fr) minmax(0,5fr);gap:clamp(20px,4vw,56px);padding-block:clamp(30px,4vw,48px);border-bottom:1px solid var(--line);align-items:start}
.vstep .n{font-stretch:62%;font-weight:800;font-size:clamp(4rem,9vw,8rem);line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px var(--orange);font-variant-numeric:tabular-nums}
@media (hover:hover){.vstep:hover .n{color:var(--orange)}}
.vstep .n{transition:color .4s var(--ease)}
.vstep .h3{font-size:clamp(1.4rem,2.2vw,1.9rem);font-stretch:110%}
.vstep .body{display:grid;gap:14px;color:var(--gray-1)}
.vstep .why{color:var(--white);font-size:.95rem;padding:12px 14px;border-left:2px solid var(--orange);background:rgba(232,80,2,.08);border-radius:0 10px 10px 0}
@media (max-width:860px){.vstep{grid-template-columns:auto 1fr}.vstep .body{grid-column:1/-1}.vstep .n{font-size:4.2rem}}

/* spec sheet */
.spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-ink);border-left:1px solid var(--line-ink)}
.spec li{display:grid;gap:10px;align-content:start;padding:26px 24px 30px;border-right:1px solid var(--line-ink);border-bottom:1px solid var(--line-ink)}
.spec .big{font-stretch:62%;font-weight:800;font-size:clamp(3rem,5.6vw,4.6rem);line-height:.86;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.spec .big small{font-size:.42em;font-stretch:90%;letter-spacing:0;color:var(--orange);margin-left:2px}
.spec .lbl{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.spec p{color:var(--gray-2);font-size:.95rem;line-height:1.45}
@media (max-width:1000px){.spec{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.spec{grid-template-columns:1fr}}

/* tool cards (loupe page) */
.tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tools .card{padding:30px}
.tools .card ul{display:grid;gap:8px;padding-left:0;list-style:none}
.tools .card li{display:grid;grid-template-columns:14px 1fr;gap:10px;color:var(--gray-1);font-size:.96rem;line-height:1.45}
.tools .card li::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--orange);margin-top:.55em}
@media (max-width:860px){.tools{grid-template-columns:1fr}}

/* tabs (use cases) */
.tabs{display:grid;gap:22px}
.tablist{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:999px;background:var(--ink);border:1px solid var(--line);width:fit-content;max-width:100%}
.tablist button{border:0;background:transparent;padding:11px 18px;border-radius:999px;cursor:pointer;font-weight:600;font-stretch:106%;font-size:.95rem;color:var(--gray-1);transition:background-color .3s,color .3s}
.tablist button[aria-selected="true"]{background:var(--orange);color:var(--black)}
.tablist button:hover:not([aria-selected="true"]){color:var(--white)}
.tabpanel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);padding:clamp(24px,4vw,44px);border-radius:var(--r-lg);background:var(--ink);border:1px solid var(--line)}
.tabpanel .k{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.tabpanel .stack{display:grid;gap:14px;align-content:start}
.flow{display:grid;gap:10px;counter-reset:f}
.flow li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:14px;border-radius:12px;background:var(--ink-2);border:1px solid var(--line);color:var(--white);font-size:.98rem;line-height:1.45}
.flow li::before{counter-increment:f;content:counter(f);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--orange);color:var(--orange);font-family:var(--f-mono);font-size:.7rem}
@media (max-width:860px){.tabpanel{grid-template-columns:1fr}}

/* comparison table */
.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line)}
.cmp-table{width:100%;border-collapse:collapse;min-width:640px}
.cmp-table th,.cmp-table td{text-align:left;vertical-align:top;padding:22px 24px;border-bottom:1px solid var(--line)}
.cmp-table thead th{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-1);font-weight:500;background:var(--ink)}
.cmp-table tbody th{font-weight:680;font-stretch:106%;font-size:1.05rem;width:26%}
.cmp-table td{color:var(--gray-1);line-height:1.5}
.cmp-table tr:last-child th,.cmp-table tr:last-child td{border-bottom:0}
.cmp-table tr.human th{color:var(--orange)}

/* limits list */
.limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.limits li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:20px 0;border-top:1px solid var(--line);color:var(--gray-1);line-height:1.5}
.limits li svg{width:22px;height:22px;color:var(--orange);margin-top:1px}
.limits li b{color:var(--white);font-weight:640}
@media (max-width:800px){.limits{grid-template-columns:1fr}}

/* contact page */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:start}
.biz{border-radius:var(--r-lg);background:var(--ink);border:1px solid var(--line);overflow:hidden}
.biz-head{display:flex;align-items:center;gap:16px;padding:24px 26px;border-bottom:1px solid var(--line)}
.biz-head .brand-icon{width:52px;height:52px;border-radius:14px;padding:10px}
.biz-head b{display:block;font-size:1.2rem;font-stretch:110%;font-weight:760;letter-spacing:-.015em}
.biz-head span{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.06em;color:var(--gray-1)}
.biz dl{display:grid}
.biz .row{display:grid;grid-template-columns:116px 1fr;gap:16px;align-items:start;padding:20px 26px;border-bottom:1px solid var(--line)}
.biz .row:last-child{border-bottom:0}
.biz dt{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-1);padding-top:4px}
.biz dd{display:grid;gap:10px;font-size:1.06rem;line-height:1.45;min-width:0}
.biz dd .val{font-weight:600;word-break:break-word}
.biz dd .val a{text-decoration:none}
.biz dd .val a:hover{color:var(--amber)}
.mini-actions{display:flex;flex-wrap:wrap;gap:6px}
.mini{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line-2);background:transparent;cursor:pointer;font-family:var(--f-mono);font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-1);text-decoration:none;transition:border-color .2s,color .2s,background-color .2s}
.mini svg{width:13px;height:13px}
.mini:hover{border-color:var(--white);color:var(--white)}
.mini.done{border-color:var(--orange);color:var(--orange)}
@media (max-width:480px){.biz .row{grid-template-columns:1fr;gap:6px}}
.form-card{border-radius:var(--r-lg);background:var(--ink);border:1px solid var(--line);padding:clamp(22px,3.4vw,40px);display:grid;gap:22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field label,.field legend{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1)}
.field label .req{color:var(--orange)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--white);background:var(--black);border:1px solid var(--line-2);border-radius:12px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none}
.field textarea{min-height:140px;resize:vertical;line-height:1.5}
.field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23A7A7A7' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field input::placeholder,.field textarea::placeholder{color:var(--gray-2)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,80,2,.25)}
.field .hint{font-size:.82rem;color:var(--gray-1)}
.field.invalid input,.field.invalid textarea{border-color:#ff5a3c}
.field .err{font-size:.82rem;color:#ff8a70}
fieldset.field{border:0;padding:0;margin:0}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.check{position:relative}
.check input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;margin:0}
.check span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:.92rem;color:var(--gray-1);transition:all .2s}
.check span::before{content:"";width:8px;height:8px;border-radius:50%;border:1px solid var(--gray-2);transition:all .2s}
.check input:checked+span{border-color:var(--orange);color:var(--white);background:rgba(232,80,2,.1)}
.check input:checked+span::before{background:var(--orange);border-color:var(--orange)}
.check input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.form-foot .note{font-size:.85rem;color:var(--gray-1);max-width:40ch}
.form-status{border-radius:var(--r-md);padding:18px 20px;display:grid;gap:10px;font-size:.98rem;line-height:1.5}
.form-status.ok{background:rgba(232,80,2,.1);border:1px solid rgba(232,80,2,.45)}
.form-status.fail{background:var(--ink-2);border:1px solid var(--line-2)}
.form-status b{font-weight:680;font-stretch:106%;font-size:1.08rem}
.form-status pre{white-space:pre-wrap;font-family:var(--f-mono);font-size:.75rem;line-height:1.6;color:var(--gray-1);background:var(--black);border:1px solid var(--line);border-radius:10px;padding:12px;margin:0;max-height:220px;overflow:auto}
.btn[disabled]{opacity:.6;cursor:progress}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}
.dont{display:grid;gap:10px}
.dont li{display:grid;grid-template-columns:20px 1fr;gap:10px;color:var(--gray-1);font-size:.95rem;line-height:1.45}
.dont li svg{width:16px;height:16px;color:var(--orange);margin-top:3px}

/* about page */
.founder{display:grid;grid-template-columns:auto 1fr;gap:clamp(22px,4vw,48px);align-items:center;padding:clamp(24px,4vw,44px);border-radius:var(--r-lg);background:var(--ink);border:1px solid var(--line)}
.monogram{position:relative;width:clamp(120px,16vw,180px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--grad-icon);color:var(--ink)}
.monogram .mark{position:absolute;inset:8%;width:84%;height:84%;color:rgba(16,12,8,.12)}
.monogram b{position:relative;font-stretch:120%;font-weight:850;font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:-.04em}
.founder .stack{display:grid;gap:12px}
.founder .role{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
@media (max-width:620px){.founder{grid-template-columns:1fr}}
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.principles li{display:grid;gap:12px;align-content:start;padding:24px;border-radius:var(--r-lg);border:1px solid var(--line-ink);background:var(--white);color:var(--ink)}
.principles li .k{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.principles li p{color:var(--gray-2);font-size:.95rem}
@media (max-width:1000px){.principles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.principles{grid-template-columns:1fr}}
.story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}
.loupe-art{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center}
.loupe-art .ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,rgba(241,96,1,.32),rgba(149,18,44,.16) 60%,transparent);}
.loupe-art .mark{position:absolute;inset:14%;width:72%;height:72%;color:var(--orange)}
@media (prefers-reduced-motion:no-preference){.loupe-art .mark .blades{animation:iris 7s var(--ease-io) infinite}}
@keyframes iris{0%,100%{transform:rotate(0)}45%,55%{transform:rotate(60deg)}}
@media (max-width:860px){.story{grid-template-columns:1fr}}

/* legal pages */
.legal{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);align-items:start}
.legal-toc{position:sticky;top:110px;display:grid;gap:10px;font-size:.92rem}
.legal-toc a{color:var(--gray-1);text-decoration:none}
.legal-toc a:hover{color:var(--white)}
.legal-body{display:grid;gap:40px;max-width:70ch}
.legal-body section{display:grid;gap:14px;scroll-margin-top:110px}
.legal-body h2{font-size:1.45rem;font-stretch:108%;font-weight:720;letter-spacing:-.015em}
.legal-body p,.legal-body li{color:var(--gray-1);line-height:1.65}
.legal-body ul{display:grid;gap:8px;padding-left:1.2em}
.legal-body a{color:var(--white)}
.legal-meta{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-2)}
@media (max-width:860px){.legal{grid-template-columns:1fr}.legal-toc{position:static}}

/* 404 */
.nf{min-height:62vh;display:grid;place-items:center;text-align:center;padding-block:80px}
.nf .wrap{display:grid;gap:24px;justify-items:center}
.nf .big{font-stretch:125%;font-weight:900;font-size:clamp(5rem,20vw,14rem);line-height:.8;letter-spacing:-.05em;filter:blur(10px);transition:filter 1.2s var(--ease)}
.nf .big:hover,.nf.focus .big{filter:blur(0)}

/* ---------- focus-pull reveal: plays once when a block scrolls into view; at rest everything is visible ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal.play{animation:focusPull .95s var(--ease) both;animation-delay:var(--rd,0s)}
  .stop-list.play .s{animation:strikeBg .8s var(--ease) both;animation-delay:calc(var(--rd,0s) + .45s)}
  .stop-list.play li:nth-child(2) .s{animation-delay:calc(var(--rd,0s) + .7s)}
  .stop-list.play li:nth-child(3) .s{animation-delay:calc(var(--rd,0s) + .95s)}
  .steps-wrap.play .steps-line i{animation:fillX 1.8s .15s var(--ease-io) both}
  .steps-wrap.play .step{animation:rise .8s var(--ease) both}
  .steps-wrap.play .step:nth-child(2){animation-delay:.25s}.steps-wrap.play .step:nth-child(3){animation-delay:.5s}
  .steps-wrap.play .step:nth-child(4){animation-delay:.75s}.steps-wrap.play .step:nth-child(5){animation-delay:1s}
  @media (max-width:1100px){.steps-wrap.play .steps-line i{animation-name:fillY}}
}
@keyframes focusPull{from{opacity:.12;filter:blur(9px);transform:translateY(26px) scale(.985)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes strikeBg{from{background-size:0% 3px}to{background-size:100% 3px}}
@keyframes fillX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fillY{from{transform:scaleY(0)}to{transform:scaleY(1)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* additions: analyze outputs, library titles, latte art */
.out-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.out-chips span{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:7px;background:var(--ink-2);border:1px solid var(--line);color:var(--gray-1)}
.out-chips span svg{width:12px;height:12px;color:var(--orange)}
.lib-thumb .lib-title{position:absolute;left:10px;right:10px;bottom:10px;z-index:1;font-size:.82rem;font-weight:700;font-stretch:104%;line-height:1.2;letter-spacing:-.01em;color:var(--white);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.lib-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.6))}
.lib-thumb .lib-play{position:absolute;top:10px;left:10px;z-index:1;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.45);display:grid;place-items:center}
.lib-thumb .lib-play::before{content:"";margin-left:2px;border-left:7px solid var(--white);border-top:4.5px solid transparent;border-bottom:4.5px solid transparent}
.latte{position:absolute;left:50%;top:54%;width:62%;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.split-card.light{background:var(--white);border:1px solid var(--line-ink);color:var(--ink)}
.split-card.light .ticks svg{color:var(--orange)}
.start.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.start.three{grid-template-columns:1fr}}
.field .check{font-family:var(--f-sans);font-size:inherit;letter-spacing:0;text-transform:none;color:inherit}
@media (max-width:640px){
  .table-wrap{overflow:visible;border:0;border-radius:0}
  .cmp-table{min-width:0}
  .cmp-table thead{display:none}
  .cmp-table tr{display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink);margin-bottom:10px}
  .cmp-table th,.cmp-table td{padding:0;border:0;width:auto}
}
.mobile-menu nav a svg{width:22px;height:22px;flex:none;color:var(--orange)}
.stop-list .k svg{width:18px;height:18px;color:var(--gray-2);transform:translateY(3px)}

/* ================= v2: legal, consent, notice bar, phones and tablets ================= */
[id]{scroll-margin-top:96px}
.page-hero .lead a,.legal-body a{color:var(--white);text-decoration-color:var(--orange)}

/* consent checkbox */
.field .consent-row{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-family:var(--f-sans);font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--gray-1);line-height:1.5;cursor:pointer}
.consent-row input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:6px;border:1px solid var(--line-2);background:var(--black);margin:1px 0 0;display:grid;place-items:center;cursor:pointer;transition:background-color .2s,border-color .2s}
.consent-row input:checked{background:var(--orange);border-color:var(--orange)}
.consent-row input:checked::after{content:"";width:6px;height:11px;border:solid var(--black);border-width:0 2px 2px 0;transform:translate(0,-1px) rotate(45deg)}
.consent-row input:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.consent-row a{color:var(--white)}
.field.invalid .consent-row input{border-color:#ff5a3c}

/* privacy notice bar */
.pnote{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;width:min(560px,calc(100% - 32px));display:flex;gap:16px;align-items:center;padding:14px 14px 14px 18px;border-radius:16px;background:rgba(16,12,8,.95);border:1px solid var(--line-2);box-shadow:0 20px 50px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.9rem;line-height:1.45;color:var(--gray-1);transform:translateY(16px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.pnote.in{transform:none;opacity:1}
.pnote b{color:var(--white);font-weight:650}
.pnote a{color:var(--white);text-decoration-color:var(--orange)}
.pnote .btn{flex:none}
@media (max-width:560px){.pnote{flex-direction:column;align-items:stretch;gap:12px;left:12px;width:calc(100% - 24px);bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

/* data privacy notice grid */
.notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.notice-grid>div{display:grid;gap:10px;align-content:start;padding:22px 24px;border-radius:var(--r-lg);background:var(--ink);border:1px solid var(--line)}
.notice-grid dt{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.notice-grid dd{margin:0;color:var(--white);line-height:1.6}
.notice-grid a{color:var(--white);text-decoration-color:var(--orange)}
@media (max-width:760px){.notice-grid{grid-template-columns:1fr}}

/* footer fine print */
.foot-fine{font-size:.8rem;line-height:1.55;color:var(--gray-1);opacity:.75;max-width:92ch;padding-bottom:6px}
.legal-body ul b{color:var(--white);font-weight:640}

/* contact page: form first on narrow screens */
@media (max-width:980px){.contact-grid .form-card{order:-1}}

/* ---------- tablets (iPad portrait and landscape) ---------- */
@media (max-width:1100px){
  .topbar-links .tb-page{display:none}
}
@media (max-width:900px){.topbar-note{display:none}.topbar-in{justify-content:center}}
@media (min-width:761px) and (max-width:1100px){
  .hero-lower{gap:40px}
  .section-head{margin-bottom:40px}
  .faq-grid{gap:40px}
}
@media (min-width:761px) and (max-width:980px){
  .hero-visual{max-width:720px}
  .hero-copy{max-width:640px}
  .contact-grid .form-card{padding:32px}
}
@media (max-width:860px){
  .legal-toc{position:static;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:6px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}
  .legal-toc::-webkit-scrollbar{display:none}
  .legal-toc a{flex:none;padding:9px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:.85rem;white-space:nowrap}
}

/* ---------- phones ---------- */
@media (max-width:760px){
  .topbar-note{display:none}
  .topbar-in{justify-content:center}
  .hero::before{filter:none;width:150vw;height:620px;right:-60%;top:-4%}
  .hero{padding-top:28px}
  .hero-title{margin-top:20px}
  .page-hero{padding-block:44px 36px}
  .section{padding-block:clamp(64px,14vw,96px)}
  .lead{font-size:1.1rem}
  .card{padding:22px}
  .cta{padding:30px 22px;border-radius:24px}
  .split-card{padding:24px}
  .actions .btn{flex:1 1 auto}
  .faq summary{padding:20px 0;font-size:1.06rem}
  .foot-grid{gap:32px}
  .foot-word{padding-block:20px 26px}
}
@media (max-width:560px){
  .example,.card p.example{font-size:.625rem}
  .lib-meta span,.rules span,.out-chips span,.formats span,.card .ctag{font-size:.5938rem}
  .tl-seg{font-size:.5rem;padding-inline:6px}
  .vstep .n{font-size:3.4rem}
  .biz .row{padding:16px 20px}
  .biz-head{padding:20px}
  .form-card{padding:22px 18px}
}
@media (max-width:380px){
  .display{font-size:2.7rem}
  .btn{padding-inline:18px}
}

/* ---------- touch screens: bigger tap targets ---------- */
@media (pointer:coarse){
  .topbar-links a{padding-block:9px}
  .foot-links{gap:4px}
  .foot-links a{display:inline-block;padding-block:8px}
  .foot-bottom nav a{display:inline-block;padding-block:10px}
  .mini{height:36px;padding:0 13px}
  .link-arrow{padding-block:8px}
  .tablist button{padding:13px 18px}
  .hero-contact a,.cta-contact a{display:inline-block;padding-block:9px}
  .faq .ans a{display:inline-block;padding-block:4px}
}

/* v3: checkbox fixes + email confirm */
.field .consent-row input[type=checkbox]{width:22px;min-width:22px;height:22px;padding:0;margin:1px 0 0;box-sizing:border-box;flex:none;border-radius:6px;position:relative}
.field .consent-row input[type=checkbox]:checked{box-shadow:none}
.field .consent-row input[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid var(--black);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);transform-origin:center}
.field .consent-row input[type=checkbox]:focus{box-shadow:0 0 0 3px rgba(232,80,2,.25);border-color:var(--orange)}
.field .consent-row>span{min-width:0;overflow-wrap:anywhere}
.confirm-row{margin-top:6px;padding:10px 12px;border:1px dashed var(--line-2);border-radius:12px}
.confirm-row[hidden]{display:none!important}
.form-grid{align-items:start}
.field input,.field select{height:auto}

/* ================= v4: intro-call booking ================= */
.trust{display:flex;flex-wrap:wrap;gap:8px}
.trust li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 11px;border-radius:999px;border:1px solid var(--line-2);background:rgba(16,12,8,.6);font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1)}
.trust svg{width:15px;height:15px;color:var(--orange)}
@media (prefers-reduced-motion:no-preference){.page-hero .trust{animation:rise .9s .3s var(--ease) both}}
.book-section{padding-top:0}
.book{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);border-radius:var(--r-xl);background:var(--ink);border:1px solid var(--line);overflow:hidden;box-shadow:0 60px 120px -70px rgba(232,80,2,.5);scroll-margin-top:96px}
.book-aside{display:grid;align-content:start;gap:24px;padding:clamp(22px,3vw,34px);border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(232,80,2,.07),transparent 55%)}
.host{display:flex;align-items:center;gap:14px}
.host .brand-icon{width:52px;height:52px;border-radius:14px;padding:10px;flex:none}
.host b{display:block;font-size:1.3rem;font-stretch:112%;font-weight:760;letter-spacing:-.015em;line-height:1.15}
.host span{font-size:.92rem;color:var(--gray-1)}
.book-meta{display:grid;gap:12px}
.book-meta li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;font-size:.95rem;color:var(--white);line-height:1.4}
.book-meta svg{width:18px;height:18px;color:var(--orange);margin-top:1px}
.book-pick{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:16px;border-radius:var(--r-md);background:rgba(232,80,2,.1);border:1px solid rgba(232,80,2,.45)}
.book-pick[hidden]{display:none!important}
.bp-ico{width:42px;height:42px;border-radius:12px;background:var(--orange);color:var(--black);display:grid;place-items:center}
.bp-ico svg{width:20px;height:20px}
.book-pick b{display:block;font-weight:720;font-stretch:108%;font-size:1.02rem}
.book-pick span{display:block;font-size:.95rem}
.book-pick small{display:block;font-family:var(--f-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);margin-top:4px}
@media (prefers-reduced-motion:no-preference){.book-pick:not([hidden]){animation:rise .5s var(--ease) both}}
.book-cover{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--line)}
.book-cover ol{display:grid;gap:10px;counter-reset:c}
.book-cover li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:.92rem;color:var(--gray-1);line-height:1.45}
.book-cover li::before{counter-increment:c;content:counter(c);width:22px;height:22px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;font-family:var(--f-mono);font-size:.625rem;color:var(--white)}
.book-main{padding:clamp(22px,3.4vw,40px);display:grid;gap:26px;align-content:start;min-width:0}
.bsteps{display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-2)}
.bsteps li{display:flex;align-items:center;gap:10px;transition:color .3s}
.bsteps li+li::before{content:"";width:clamp(24px,6vw,64px);height:1px;background:var(--line-2);margin-right:2px}
.bsteps .n{width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gray-1);transition:all .3s}
.bsteps li.is-on{color:var(--white)}
.bsteps li.is-on .n{background:var(--orange);border-color:var(--orange);color:var(--black);font-weight:700}
.bsteps li.is-done .n{border-color:var(--orange);color:var(--orange)}
.bsteps li.is-done{color:var(--gray-1)}
.bstep{display:grid;gap:24px}
.bstep[hidden]{display:none!important}
@media (prefers-reduced-motion:no-preference){.bstep.enter{animation:stepIn .45s var(--ease) both}.bstep.enter-back{animation:stepBack .45s var(--ease) both}}
@keyframes stepIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes stepBack{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.step-head{display:grid;gap:6px;justify-items:start}
.step-head .h3{font-size:clamp(1.4rem,2.2vw,1.75rem);font-stretch:110%;outline:none}
.back{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 8px;margin-bottom:6px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--gray-1);font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s}
.back svg{width:15px;height:15px}
.back:hover{color:var(--white);border-color:var(--white)}
.field textarea{min-height:112px}
.check input[type=radio]+span::before{border-radius:50%}
.picker{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(18px,2.6vw,30px);align-items:start}
.cal{border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;background:var(--black)}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.cal-head b{font-weight:700;font-stretch:110%;font-size:1.05rem;letter-spacing:-.01em}
.cal-nav{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--white);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,opacity .2s}
.cal-nav svg{width:16px;height:16px}
.cal-nav:hover:not(:disabled){border-color:var(--orange)}
.cal-nav:disabled{opacity:.25;cursor:default}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-dow span{text-align:center;font-family:var(--f-mono);font-size:.5938rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-2);padding-bottom:6px}
.cal-grid button,.cal-grid .pad{aspect-ratio:1;min-height:38px;border-radius:12px;display:grid;place-items:center;font:inherit;font-size:.95rem;font-variant-numeric:tabular-nums}
.cal-grid button{position:relative;border:1px solid transparent;background:transparent;color:var(--gray-2);cursor:default}
.cal-grid button.av{color:var(--white);background:rgba(232,80,2,.1);border-color:rgba(232,80,2,.22);cursor:pointer;font-weight:620;transition:background-color .2s,border-color .2s,transform .2s}
.cal-grid button.av:hover{border-color:var(--orange);background:rgba(232,80,2,.18)}
.cal-grid button.av::after{content:"";position:absolute;bottom:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--orange)}
.cal-grid button.sel{background:var(--orange);border-color:var(--orange);color:var(--black);font-weight:760}
.cal-grid button.sel::after{background:var(--black)}
.cal-grid button.today:not(.sel){box-shadow:inset 0 0 0 1px var(--line-2)}
.slots{display:grid;gap:12px;min-width:0}
.slots-day{font-weight:700;font-stretch:108%;font-size:1.02rem;min-height:1.4em}
.slot-list{display:grid;gap:8px;max-height:330px;overflow:auto;padding:2px;scrollbar-width:thin}
.slot{height:48px;border-radius:12px;border:1px solid var(--line-2);background:transparent;color:var(--white);font:inherit;font-weight:620;font-size:1rem;font-variant-numeric:tabular-nums;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .2s,background-color .2s,color .2s}
.slot:hover{border-color:var(--orange)}
.slot small{font-family:var(--f-mono);font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1);font-weight:400}
.slot[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:var(--black)}
.slot[aria-pressed=true] small{color:rgba(0,0,0,.7)}
@media (prefers-reduced-motion:no-preference){.slot-list.fill .slot{animation:rise .35s var(--ease) both}.slot-list.fill .slot:nth-child(2){animation-delay:.03s}.slot-list.fill .slot:nth-child(3){animation-delay:.06s}.slot-list.fill .slot:nth-child(4){animation-delay:.09s}.slot-list.fill .slot:nth-child(5){animation-delay:.12s}.slot-list.fill .slot:nth-child(n+6){animation-delay:.15s}}
.tz{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:0 0 0 12px;background:var(--black);color:var(--gray-1);min-width:0}
.tz svg{width:16px;height:16px;flex:none}
.tz select{flex:1;min-width:0;height:42px;border:0;background:transparent;color:var(--gray-1);font:inherit;font-size:.85rem;padding:0 30px 0 2px;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23A7A7A7' stroke-width='1.6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;text-overflow:ellipsis}
.tz select:focus{outline:none}
.tz:focus-within{border-color:var(--orange)}
.tz select option{background:var(--ink);color:var(--white)}
.calltype .hint{margin-top:2px}
.phone-field[hidden]{display:none!important}
#slot-err{color:#ff8a70}
#slot-err:empty{display:none}
#book-btn:disabled{opacity:.45;cursor:not-allowed}
.form-foot .btn{margin-left:auto}
.direct-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
/* ticket (thank-you page and preview) */
.ticket{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,3vw,28px);align-items:center;padding:clamp(20px,3vw,30px);border-radius:var(--r-lg);background:var(--ink);border:1px solid rgba(232,80,2,.45);box-shadow:0 40px 90px -60px rgba(232,80,2,.7);max-width:640px}
.ticket .tk-date{width:86px;border-radius:16px;overflow:hidden;text-align:center;background:var(--black);border:1px solid var(--line-2)}
.ticket .tk-date span{display:block;background:var(--orange);color:var(--black);font-family:var(--f-mono);font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 0;font-weight:700}
.ticket .tk-date b{display:block;font-size:2.3rem;font-stretch:115%;font-weight:780;padding:6px 0 8px;line-height:1.1}
.ticket .tk-info{display:grid;gap:6px;min-width:0}
.ticket .tk-info b{font-size:1.25rem;font-stretch:110%;font-weight:740;letter-spacing:-.01em}
.ticket .tk-info span{color:var(--gray-1);font-size:.95rem}
.ticket .tk-info small{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-1)}
.ticket .mini-actions{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line)}
.ticket .mini{height:38px;padding:0 14px;font-size:.6875rem}
.form-status .ticket{max-width:none;box-shadow:none}
@media (max-width:980px){
  .book{grid-template-columns:1fr}
  .book-aside{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 28px}
  .book-aside .host,.book-aside .book-pick{grid-column:1/-1}
  .book-cover{padding-top:0;border-top:0}
  .direct-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .picker{grid-template-columns:1fr}
  .slot-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none}
  .slot small{display:none}
}
@media (max-width:560px){
  .book{border-radius:var(--r-lg);margin-inline:-4px}
  .book-aside{grid-template-columns:1fr;gap:16px}
  .book-cover{display:none}
  .book-meta{grid-template-columns:1fr;gap:8px}
  .cal{padding:12px}
  .cal-grid{gap:3px}
  .cal-grid button,.cal-grid .pad{border-radius:10px;min-height:0}
  .slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-foot .btn{width:100%}
  .bsteps .t{font-size:.625rem}
  .ticket{grid-template-columns:1fr;justify-items:start}
}
.book-cover ol{padding:0;margin:0;list-style:none}
.slots-day{color:var(--white)}
@media (min-width:721px){.slot-list{max-height:none}}
/* v5: GST only, video only */
.call-note{display:flex;align-items:center;gap:10px}
.call-note svg{width:18px;height:18px;color:var(--orange);flex:none}
.slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.slot{gap:6px}
.slot small{display:inline!important}
@media (min-width:721px){.slot-list{max-height:none}}
@media (max-width:720px) and (min-width:561px){.slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* v6: typed time */
.slots{align-content:start}
.time-field{gap:10px}
.time-in{display:flex;align-items:center;gap:10px;border:1px solid var(--line-2);border-radius:14px;background:var(--black);padding-left:16px;transition:border-color .2s,box-shadow .2s}
.time-in svg{width:20px;height:20px;color:var(--orange);flex:none}
.field .time-in input{border:0;background:transparent;box-shadow:none;padding:16px 16px 16px 0;font-size:1.25rem;font-weight:620;font-stretch:106%;letter-spacing:-.01em}
.field .time-in input:focus{box-shadow:none}
.time-in:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,80,2,.25)}
.time-field:has(input[aria-invalid=true]) .time-in{border-color:#ff5a3c}
.time-msg{font-size:.92rem;line-height:1.45;color:var(--gray-1);display:flex;gap:8px;align-items:flex-start}
.time-msg:empty{display:none}
.time-msg svg{width:18px;height:18px;flex:none;margin-top:1px}
.time-msg.ok{color:var(--white)}
.time-msg.ok svg{color:var(--orange)}
.time-msg.bad{color:#ff8a70}
.sugg{display:flex;flex-wrap:wrap;gap:8px}
.sugg:empty{display:none}
.sug{height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(232,80,2,.5);background:rgba(232,80,2,.1);color:var(--white);font:inherit;font-weight:620;font-size:.95rem;cursor:pointer;transition:background-color .2s,border-color .2s}
.sug:hover{background:var(--orange);border-color:var(--orange);color:var(--black)}
.time-field .hint b{color:var(--white);font-weight:600}
.cal-grid button.sel,.cal-grid button.sel:hover{background:var(--orange);border-color:var(--orange);color:var(--black)}
/* v7: country picker */
.flag{font-family:"Twemoji Country Flags","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.35rem;line-height:1;display:inline-block;width:1.4em;text-align:center;flex:none}
.cty-field{gap:10px}
.cty-field .lab{font-family:var(--f-mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1)}
.cty{position:relative}
.cty-btn{width:100%;display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 16px 8px 14px;border-radius:14px;border:1px solid var(--line-2);background:var(--black);color:var(--white);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.cty-btn:hover{border-color:var(--gray-2)}
.cty-btn[aria-expanded=true],.cty-btn:focus-visible{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(232,80,2,.25)}
.cty-txt{display:grid;gap:2px;min-width:0;flex:1}
.cty-txt #cty-val{font-weight:620;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cty-txt small{font-size:.8rem;color:var(--gray-1)}
.cty-chev{width:12px;height:8px;color:var(--gray-1);flex:none;transition:transform .2s}
.cty-btn[aria-expanded=true] .cty-chev{transform:rotate(180deg)}
.cty-pop{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);border-radius:16px;border:1px solid var(--line-2);background:var(--ink-2);box-shadow:0 30px 70px -20px rgba(0,0,0,.85);overflow:hidden}
.cty-pop[hidden]{display:none!important}
@media (prefers-reduced-motion:no-preference){.cty-pop:not([hidden]){animation:rise .25s var(--ease) both}}
.cty-search{display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line)}
.cty-search svg{width:17px;height:17px;color:var(--gray-1);flex:none}
.field .cty-search input{border:0;border-radius:0;background:transparent;padding:14px 0;font-size:1rem;box-shadow:none}
.field .cty-search input:focus{box-shadow:none}
.cty-list{max-height:300px;overflow:auto;padding:6px;scrollbar-width:thin;overscroll-behavior:contain}
.cty-list li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:.95rem}
.cty-list li .n{flex:1;min-width:0;display:grid;line-height:1.3}
.cty-list li .n small{font-size:.78rem;color:var(--gray-1)}
.cty-list li .t{font-family:var(--f-mono);font-size:.6875rem;color:var(--gray-1);white-space:nowrap}
.cty-list li:hover,.cty-list li.on{background:rgba(232,80,2,.14)}
.cty-list li[aria-selected=true]{background:rgba(232,80,2,.22);box-shadow:inset 2px 0 0 var(--orange)}
.cty-list li.none{cursor:default;color:var(--gray-1);font-size:.9rem}
@media (max-width:720px){.cty-list{max-height:min(300px,45vh)}}
@media (max-width:720px){.cty-pop{position:static;margin-top:8px;box-shadow:none}}
/* v8: Instagram */
.ig-follow{display:inline-flex;align-items:center;gap:12px;margin-top:6px;padding:10px 16px 10px 10px;border-radius:16px;border:1px solid var(--line-2);text-decoration:none;color:var(--white);transition:border-color .2s,background-color .2s,transform .25s var(--ease)}
.ig-follow:hover{border-color:var(--orange);background:rgba(232,80,2,.08);transform:translateY(-1px)}
.ig-follow .ig-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--grad-icon);color:#140B06;flex:none}
.ig-follow .ig-ico svg{width:22px;height:22px}
.ig-follow b{display:block;font-weight:650;font-size:.95rem}
.ig-follow small{font-family:var(--f-mono);font-size:.6875rem;color:var(--gray-1)}
.ig-follow>svg{width:15px;height:15px;color:var(--gray-1);margin-left:4px}
.foot-brand{display:grid;gap:14px;align-content:start;justify-items:start}
.btn svg:not(.i-arrow){width:18px;height:18px}
/* v9: Instagram pill in the top bar */
.topbar-links .tb-ig a{position:relative;gap:.5em;padding:5px 12px 5px 9px;border-radius:999px;color:#fff;font-weight:600;
  background:linear-gradient(90deg,#F58529 0%,#DD2A7B 55%,#8134AF 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 0 14px rgba(221,42,123,.55),0 0 28px rgba(245,133,41,.25);transition:transform .25s var(--ease),box-shadow .25s}
.topbar-links .tb-ig a svg{color:#fff;width:14px;height:14px}
.topbar-links .tb-ig a:hover{color:#fff;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(255,255,255,.2) inset,0 0 20px rgba(221,42,123,.75),0 0 40px rgba(245,133,41,.35)}
@media (prefers-reduced-motion:no-preference){
  .topbar-links .tb-ig a::after{content:"";position:absolute;inset:-3px;border-radius:inherit;box-shadow:0 0 16px 2px rgba(221,42,123,.55);opacity:0;animation:igGlow 2.6s var(--ease) infinite;pointer-events:none}
}
@keyframes igGlow{0%,100%{opacity:0}50%{opacity:1}}
@media (max-width:640px){.topbar-links .tb-ph{display:none}.topbar-links .tb-ig a{padding-block:4px}}
