/**
 * Level 99 — "Editorial HUD" design system (redesign preview /next/).
 * Editorial/Swiss-technical foundation + leaned-in leveling/HUD language.
 * Self-hosted Space Grotesk (display+body) + Space Mono (HUD labels).
 * Transform/opacity motion only; reduced-motion aware.
 */

/* ---------- Fonts ---------- */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("/fonts/space-grotesk-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Space Mono";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/space-mono-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Space Mono";
  font-style: normal; font-weight: 700; font-display: swap;
  src: url("/fonts/space-mono-700-latin.woff2") format("woff2");
}

/* ---------- Tokens ---------- */
:root {
  --lime: #89d957;
  --lime-bright: #a4f06f;
  --lime-ink: #0a0d07;          /* text on lime */
  --accent-paper: #3e7a1e;      /* lime darkened for text on paper (5:1) */

  --bg: #0a0c08;                /* near-black */
  --panel: #101309;            /* lifted dark panel */
  --panel-2: #14180d;
  --ink: #f3f6ee;              /* primary text on dark */
  --ink-dim: #98a28c;          /* mono labels on dark (7:1) */
  --line: #23281c;             /* hairline on dark */
  --line-bright: #39422e;

  --paper: #eef1e7;            /* warm off-white */
  --paper-2: #ffffff;
  --paper-ink: #12150d;
  --paper-dim: #545d49;        /* muted on paper (6.5:1) */
  --paper-line: #d3d8c8;

  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  --r: 2px;
  --nav-h: 66px;
  --container: 1200px;

  --space-1: 4px;  --space-2: 8px;  --space-3: 16px; --space-4: 24px;
  --space-5: 32px; --space-6: 48px; --space-7: 72px; --space-8: 104px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dur: 260ms;
}

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nav-h) + 16px); }
body {
  margin: 0;
  font-family: var(--font-display);
  font-size: 16px; line-height: 1.6;
  color: var(--ink); background: var(--bg);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4, p { margin: 0; overflow-wrap: break-word; }

:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--lime); color: var(--lime-ink); padding: 12px 20px;
  font-family: var(--font-mono); font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
}
.skip-link:focus { left: 0; }

.container { max-width: var(--container); margin-inline: auto; padding-inline: clamp(20px, 4vw, 48px); }

/* ---------- Topographic texture (drifting, brand signature) ---------- */
.topo, .hero { position: relative; overflow: hidden; }
.topo > *, .hero > * { position: relative; }
.topo::before, .hero::before {
  content: "";
  position: absolute; top: 0; left: 0;
  width: calc(100% + 700px); height: calc(100% + 700px);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20700%20700'%3E%3Cg%20fill%3D'none'%20stroke%3D'%2389d957'%20stroke-width%3D'1.1'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M319%200L304%2022L292%2032L277%2040L153%2075L145%2073L140%2066L137%2051L136%2022L141%200'%2F%3E%3Cpath%20d%3D'M416%20212L445%20213L467%20218L483%20226L503%20244'%2F%3E%3Cpath%20d%3D'M328%20224L248%20245L229%20255L221%20270L221%20284L226%20306L237%20328'%2F%3E%3Cpath%20d%3D'M328%20224L372%20215L416%20212'%2F%3E%3Cpath%20d%3D'M503%20244L532%20274L554%20285L576%20288L620%20283L634%20287L649%20298L672%20328'%2F%3E%3Cpath%20d%3D'M237%20328L254%20350L274%20365L299%20374L328%20379'%2F%3E%3Cpath%20d%3D'M416%20381L445%20385L467%20392L489%20403L503%20414'%2F%3E%3Cpath%20d%3D'M26%20416L54%20467L69%20503'%2F%3E%3Cpath%20d%3D'M69%20503L73%20525L73%20547L67%20569L58%20580L51%20584L36%20584L22%20580L0%20570'%2F%3E%3Cpath%20d%3D'M596%20503L637%20532L700%20570'%2F%3E%3Cpath%20d%3D'M270%20663L153%20684L144%20693L141%20700'%2F%3E%3Cpath%20d%3D'M270%20663L292%20665L304%20671L310%20678L312%20685L321%20693L319%20700'%2F%3E%3Cpath%20d%3D'M116%200L115%20109L117%20121L124%20131L131%20131L139%20126L146%20120L153%20106L182%2087L211%2075L292%2056L313%2044L328%2029'%2F%3E%3Cpath%20d%3D'M416%20198L438%20199L467%20203L487%20211L503%20224'%2F%3E%3Cpath%20d%3D'M328%20212L372%20202L416%20198'%2F%3E%3Cpath%20d%3D'M503%20224L532%20257L554%20271L576%20274L620%20263L634%20267L656%20288L682%20328'%2F%3E%3Cpath%20d%3D'M223%20328L241%20353L263%20372L292%20383L328%20389'%2F%3E%3Cpath%20d%3D'M416%20392L452%20399L487%20416'%2F%3E%3Cpath%20d%3D'M35%20416L69%20474L80%20503'%2F%3E%3Cpath%20d%3D'M80%20503L87%20532L89%20561L87%20598L80%20624L73%20603L66%20608L58%20610L44%20607L0%20583'%2F%3E%3Cpath%20d%3D'M583%20503L621%20532L700%20583'%2F%3E%3Cpath%20d%3D'M328%20648L338%20656L345%20671L349%20693L346%20700'%2F%3E%3Cpath%20d%3D'M306%20218L270%20227L225%20233L211%20237L204%20242L199%20255L200%20270L209%20299L223%20328'%2F%3E%3Cpath%20d%3D'M277%20641L204%20658L153%20662L146%20669L131%20674L125%20678L116%20693L116%20700'%2F%3E%3Cpath%20d%3D'M277%20641L306%20640L328%20648'%2F%3E%3Cpath%20d%3D'M96%200L101%2022L102%2051L98%2080L87%20124L87%20146L99%20168L131%20192L146%20206L150%20197L154%20153L158%20139L170%20117L182%20105L197%2095L216%2088L299%2072L314%2066L328%2056'%2F%3E%3Cpath%20d%3D'M369%200L352%2029L328%2056'%2F%3E%3Cpath%20d%3D'M416%20185L470%20190L489%20195L503%20204'%2F%3E%3Cpath%20d%3D'M328%20200L372%20188L416%20185'%2F%3E%3Cpath%20d%3D'M503%20204L540%20244L554%20255L561%20257L576%20257L583%20254L593%20248L612%20228L620%20224L627%20224L634%20230L649%20250L692%20328'%2F%3E%3Cpath%20d%3D'M210%20328L229%20357L255%20380L284%20392L328%20399'%2F%3E%3Cpath%20d%3D'M416%20402L438%20406L464%20416'%2F%3E%3Cpath%20d%3D'M44%20416L73%20461L91%20503'%2F%3E%3Cpath%20d%3D'M91%20503L98%20532L106%20612L111%20627L126%20642L146%20648L153%20644L190%20647L219%20642L292%20622L314%20621L328%20624'%2F%3E%3Cpath%20d%3D'M570%20503L605%20531L700%20595'%2F%3E%3Cpath%20d%3D'M0%20595L44%20629L73%20645L80%20675L89%20685L96%20700'%2F%3E%3Cpath%20d%3D'M328%20624L350%20636L367%20656L372%20678L371%20693L369%20700'%2F%3E%3Cpath%20d%3D'M321%20202L292%20211L262%20216L226%20217L175%20212L168%20219L170%20233L177%20255L210%20328'%2F%3E%3Cpath%20d%3D'M79%200L88%2029L89%2051L86%2073L67%20139L69%20160L78%20175L120%20211L146%20241L153%20247L198%20328'%2F%3E%3Cpath%20d%3D'M328%2079L306%2087L241%2094L211%20103L197%20112L185%20124L178%20139L176%20153L181%20175L186%20182L204%20195L226%20203L248%20205L277%20203L299%20197L328%20185'%2F%3E%3Cpath%20d%3D'M328%2079L343%2067L357%2050L376%2022L388%200'%2F%3E%3Cpath%20d%3D'M416%20171L467%20175L503%20184'%2F%3E%3Cpath%20d%3D'M328%20185L350%20177L372%20172L416%20171'%2F%3E%3Cpath%20d%3D'M503%20184L526%20197L547%20218L561%20226L571%20219L580%20190L590%20175L612%20169L627%20170L641%20175L649%20185L655%20197L672%20262L700%20326'%2F%3E%3Cpath%20d%3D'M198%20328L222%20365L248%20388L262%20396L284%20403L328%20408'%2F%3E%3Cpath%20d%3D'M53%20416L73%20445L101%20503'%2F%3E%3Cpath%20d%3D'M431%20416L467%20429L503%20454'%2F%3E%3Cpath%20d%3D'M101%20503L107%20525L113%20576L118%20598L130%20620L146%20631L153%20629L182%20635L204%20633L226%20629L292%20608L314%20605L328%20607'%2F%3E%3Cpath%20d%3D'M557%20503L593%20532L670%20583L700%20608'%2F%3E%3Cpath%20d%3D'M0%20608L71%20678L79%20700'%2F%3E%3Cpath%20d%3D'M328%20607L343%20611L359%20620L383%20642L391%20656L394%20671L391%20693L388%20700'%2F%3E%3Cpath%20d%3D'M68%200L73%207L77%2029L77%2066L72%2088L44%20146L43%20160L48%20175L64%20190L102%20216L128%20241L153%20271L186%20328'%2F%3E%3Cpath%20d%3D'M407%200L357%2079L343%2095L328%20104'%2F%3E%3Cpath%20d%3D'M328%20166L306%20180L284%20189L262%20193L241%20192L219%20185L204%20175L197%20160L195%20146L200%20131L206%20124L215%20117L230%20109L255%20105L314%20106L328%20104'%2F%3E%3Cpath%20d%3D'M328%20166L350%20155L365%20153L416%20157'%2F%3E%3Cpath%20d%3D'M503%20167L532%20171L547%20169L591%20148L612%20143L634%20144L656%20154L679%20175L681%20182L683%20248L690%20277L700%20306'%2F%3E%3Cpath%20d%3D'M10%20328L34%20372L63%20416'%2F%3E%3Cpath%20d%3D'M186%20328L211%20369L233%20392L262%20408L296%20416'%2F%3E%3Cpath%20d%3D'M63%20416L98%20474L111%20503'%2F%3E%3Cpath%20d%3D'M328%20418L386%20420L416%20423'%2F%3E%3Cpath%20d%3D'M416%20423L438%20428L459%20437L481%20450L503%20467'%2F%3E%3Cpath%20d%3D'M111%20503L127%20583L133%20598L146%20613L175%20623L204%20623L233%20616L292%20594L314%20591L328%20591'%2F%3E%3Cpath%20d%3D'M543%20503L578%20532L664%20589L700%20623'%2F%3E%3Cpath%20d%3D'M328%20591L350%20597L366%20605L386%20620L400%20634L409%20649L413%20664L413%20678L407%20700'%2F%3E%3Cpath%20d%3D'M0%20623L36%20667L68%20700'%2F%3E%3Cpath%20d%3D'M50%200L61%2015L68%2036L69%2051L65%2073L55%2095L36%20120L15%20139L0%20142'%2F%3E%3Cpath%20d%3D'M416%2017L383%2073L374%2095L372%20109L373%20117L378%20124L386%20130L416%20141'%2F%3E%3Cpath%20d%3D'M416%20141L452%20148L503%20152'%2F%3E%3Cpath%20d%3D'M503%20152L540%20148L591%20128L620%20122L649%20124L685%20139L700%20142'%2F%3E%3Cpath%20d%3D'M0%20234L7%20213L15%20204L22%20200L29%20199L44%20202L80%20218L109%20240L131%20262L153%20291L175%20328'%2F%3E%3Cpath%20d%3D'M0%20267L8%20299L19%20328'%2F%3E%3Cpath%20d%3D'M19%20328L44%20373L73%20416'%2F%3E%3Cpath%20d%3D'M175%20328L196%20365L211%20386L233%20406L252%20416'%2F%3E%3Cpath%20d%3D'M73%20416L80%20432L109%20474L122%20503'%2F%3E%3Cpath%20d%3D'M252%20416L284%20425L328%20429'%2F%3E%3Cpath%20d%3D'M328%20429L385%20430L416%20434'%2F%3E%3Cpath%20d%3D'M416%20434L438%20440L459%20450L481%20463L503%20481'%2F%3E%3Cpath%20d%3D'M122%20503L132%20561L139%20582L146%20595L168%20608L190%20613L211%20611L233%20605L299%20580L328%20577'%2F%3E%3Cpath%20d%3D'M528%20503L569%20537L656%20593L678%20612L700%20640'%2F%3E%3Cpath%20d%3D'M328%20577L350%20582L372%20592L394%20606L416%20627'%2F%3E%3Cpath%20d%3D'M416%20627L426%20642L432%20664L431%20678L425%20700'%2F%3E%3Cpath%20d%3D'M0%20640L29%20683L50%20700'%2F%3E%3Cpath%20d%3D'M241%20122L223%20131L217%20139L215%20146L219%20160L234%20175L255%20179L277%20176L299%20161L306%20153L309%20146L308%20139L303%20131L292%20125L262%20119L241%20122Z'%2F%3E%3Cpath%20d%3D'M28%200L44%2017L51%2029L55%2044L53%2066L44%2086L29%20103L15%20112L0%20114'%2F%3E%3Cpath%20d%3D'M416%2046L403%2073L399%2095L404%20109L416%20121'%2F%3E%3Cpath%20d%3D'M416%20121L430%20128L452%20134L503%20137'%2F%3E%3Cpath%20d%3D'M503%20137L532%20133L598%20109L627%20102L649%20102L685%20112L700%20114'%2F%3E%3Cpath%20d%3D'M29%20328L51%20369L73%20400L79%20416'%2F%3E%3Cpath%20d%3D'M164%20328L197%20386L211%20404L226%20416'%2F%3E%3Cpath%20d%3D'M79%20416L117%20467L125%20481L133%20503'%2F%3E%3Cpath%20d%3D'M226%20416L248%20427L270%20434L299%20439L328%20441'%2F%3E%3Cpath%20d%3D'M328%20441L379%20441L416%20446'%2F%3E%3Cpath%20d%3D'M416%20446L438%20453L459%20463L503%20495'%2F%3E%3Cpath%20d%3D'M133%20503L146%20570L162%20591L182%20601L197%20602L219%20599L241%20592L299%20566L328%20562'%2F%3E%3Cpath%20d%3D'M512%20503L556%20540L627%20582L656%20603L679%20627L700%20663'%2F%3E%3Cpath%20d%3D'M328%20562L343%20564L365%20572L394%20588L416%20605'%2F%3E%3Cpath%20d%3D'M416%20605L438%20627L449%20649L451%20671L448%20685L442%20700'%2F%3E%3Cpath%20d%3D'M0%20663L11%20685L28%20700'%2F%3E%3Cpath%20d%3D'M44%20225L36%20226L25%20233L19%20241L15%20255L15%20284L29%20328'%2F%3E%3Cpath%20d%3D'M44%20225L80%20235L102%20250L131%20280L164%20328'%2F%3E%3Cpath%20d%3D'M6%200L33%2036L36%2044L37%2058L31%2073L22%2083L15%2087L0%2089'%2F%3E%3Cpath%20d%3D'M503%20122L540%20115L605%2089L634%2080L656%2079L700%2089'%2F%3E%3Cpath%20d%3D'M40%20328L55%20357L73%20384L80%20402L91%20416'%2F%3E%3Cpath%20d%3D'M151%20328L186%20394L203%20416'%2F%3E%3Cpath%20d%3D'M91%20416L132%20467L139%20481L145%20503'%2F%3E%3Cpath%20d%3D'M203%20416L226%20432L255%20443L292%20452L328%20455'%2F%3E%3Cpath%20d%3D'M328%20455L379%20455L416%20460'%2F%3E%3Cpath%20d%3D'M416%20460L453%20474L493%20503'%2F%3E%3Cpath%20d%3D'M145%20503L152%20547L160%20569L173%20583L190%20590L204%20591L226%20587L299%20551L328%20546'%2F%3E%3Cpath%20d%3D'M503%20512L540%20542L620%20586L655%20612L677%20642L687%20664L693%20685L700%20691'%2F%3E%3Cpath%20d%3D'M328%20546L343%20547L365%20555L416%20585'%2F%3E%3Cpath%20d%3D'M416%20585L445%20608L463%20634L468%20649L469%20671L466%20685L460%20700'%2F%3E%3Cpath%20d%3D'M459%202L425%2066L422%2080L424%2095L437%20109L451%20117L474%20122L503%20122'%2F%3E%3Cpath%20d%3D'M44%20250L33%20262L29%20277L31%20299L40%20328'%2F%3E%3Cpath%20d%3D'M44%20250L58%20248L73%20252L80%20252L95%20261L124%20289L151%20328'%2F%3E%3Cpath%20d%3D'M479%200L452%2051L447%2066L447%2080L456%2095L467%20101L481%20105L503%20106'%2F%3E%3Cpath%20d%3D'M684%200L685%2029L682%2036L672%2044L547%2096L525%20103L503%20106'%2F%3E%3Cpath%20d%3D'M54%20328L73%20364L80%20385L107%20416'%2F%3E%3Cpath%20d%3D'M138%20328L153%20356L180%20416'%2F%3E%3Cpath%20d%3D'M107%20416L137%20445L148%20459L155%20481L158%20503'%2F%3E%3Cpath%20d%3D'M180%20416L197%20434L219%20446L292%20469L328%20475'%2F%3E%3Cpath%20d%3D'M328%20475L386%20473L416%20477'%2F%3E%3Cpath%20d%3D'M416%20477L438%20484L468%20503'%2F%3E%3Cpath%20d%3D'M158%20503L161%20532L168%20556L175%20567L182%20573L197%20578L211%20578L233%20572L306%20529L328%20523'%2F%3E%3Cpath%20d%3D'M328%20523L343%20525L357%20529L416%20563'%2F%3E%3Cpath%20d%3D'M503%20534L531%20554L605%20588L642%20612L656%20627L669%20649L674%20664L677%20685L684%20693L684%20700'%2F%3E%3Cpath%20d%3D'M416%20563L455%20591L469%20605L478%20620L486%20642L488%20664L485%20685L479%20700'%2F%3E%3Cpath%20d%3D'M58%20274L51%20281L47%20292L48%20306L54%20328'%2F%3E%3Cpath%20d%3D'M58%20274L73%20274L80%20270L95%20279L117%20299L138%20328'%2F%3E%3Cpath%20d%3D'M500%200L480%2044L476%2066L478%2073L486%2080L503%2085'%2F%3E%3Cpath%20d%3D'M503%2085L525%2083L547%2077L620%2044L652%2022L665%200'%2F%3E%3Cpath%20d%3D'M74%20328L80%20363L88%20373L102%20390L117%20402L131%20409L139%20409L145%20401L144%20379L134%20350L121%20328'%2F%3E%3Cpath%20d%3D'M174%20503L175%20532L182%20551L194%20561L211%20564L233%20558L260%20540L280%20518L284%20503'%2F%3E%3Cpath%20d%3D'M416%20509L409%20510L407%20518L416%20528'%2F%3E%3Cpath%20d%3D'M416%20509L426%20510L441%20518L456%20532L461%20540L462%20547L452%20547L438%20542L416%20528'%2F%3E%3Cpath%20d%3D'M503%20573L532%20576L576%20587L605%20599L628%20612L644%20627L657%20649L662%20671L661%20685L666%20693L665%20700'%2F%3E%3Cpath%20d%3D'M503%20625L507%20664L503%20690'%2F%3E%3Cpath%20d%3D'M80%20294L75%20306L74%20328'%2F%3E%3Cpath%20d%3D'M80%20294L102%20306L121%20328'%2F%3E%3Cpath%20d%3D'M197%20465L190%20467L182%20474L174%20503'%2F%3E%3Cpath%20d%3D'M197%20465L226%20469L262%20481L277%20491L284%20503'%2F%3E%3Cpath%20d%3D'M496%20575L495%20583L503%20625'%2F%3E%3Cpath%20d%3D'M523%200L518%2029L520%2044L525%2049L540%2052L569%2045L605%2031L627%2018L644%200'%2F%3E%3Cpath%20d%3D'M242%20503L246%20510L246%20518L241%20528L226%20540L211%20543L203%20540L197%20531L195%20518L201%20503'%2F%3E%3Cpath%20d%3D'M211%20495L226%20495L242%20503'%2F%3E%3Cpath%20d%3D'M540%20604L531%20612L527%20627L527%20685L523%20700'%2F%3E%3Cpath%20d%3D'M540%20604L561%20599L583%20602L605%20611L627%20625L640%20642L646%20656L647%20671L643%20685L648%20693L644%20700'%2F%3E%3Cpath%20d%3D'M553%200L561%209L576%2014L598%2010L618%200'%2F%3E%3Cpath%20d%3D'M569%20619L556%20627L549%20642L549%20664L554%20685L550%20693L553%20700'%2F%3E%3Cpath%20d%3D'M569%20619L583%20619L598%20623L612%20631L623%20642L628%20649L630%20664L627%20677L621%20685L626%20693L618%20700'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: 700px 700px;
  opacity: 0.07;
  pointer-events: none;
  animation: topo-drift 80s linear infinite;
}
@keyframes topo-drift { to { transform: translate3d(-700px, -700px, 0); } }

/* Living hero field (canvas, progressive enhancement) */
#hero-field { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
.hero.has-field::before { display: none; }

/* ---------- Sections ---------- */
.section { padding: clamp(64px, 9vw, 104px) 0; }
.section--light { background: var(--paper); color: var(--paper-ink); }

/* ---------- HUD primitives ---------- */
/* ---------- Header / nav ---------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); height: var(--nav-h); }
.nav__logo { display: inline-flex; align-items: center; flex: none; }
.nav__logo img { width: 138px; height: auto; }
.nav__links { display: flex; align-items: center; gap: var(--space-5); list-style: none; margin: 0; padding: 0; }
.nav__links a {
  font-family: var(--font-display); font-size: 15px; font-weight: 500;
  color: var(--ink-dim); position: relative; padding: 4px 0;
  transition: color var(--dur) var(--ease);
}
.nav__links a:hover { color: var(--ink); }
.nav__links a::after {
  content: ""; position: absolute; left: 0; bottom: -2px; width: 0; height: 1px; background: var(--lime);
  transition: width var(--dur) var(--ease);
}
.nav__links a:hover::after { width: 100%; }
.nav__cta-mobile { display: none; }
.nav__toggle { display: none; background: none; border: 0; color: var(--ink); padding: 8px; }
.nav__toggle svg { width: 26px; height: 26px; }
.icon-close { display: none; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-display); font-size: 15.5px; font-weight: 600;
  padding: 13px 24px; border: 1px solid transparent; border-radius: var(--r);
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
              border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.btn:active { transform: translateY(1px); }
@media (hover: hover) { .btn:hover { transform: translateY(-2px); } .btn:active { transform: translateY(0); } }
.btn--sm { padding: 10px 16px; font-size: 12px; }
.btn--primary { background: var(--lime); color: var(--lime-ink); border-color: var(--lime); }
.btn--primary:hover { background: var(--lime-bright); border-color: var(--lime-bright); }
.btn--ghost { background: transparent; color: var(--ink); border-color: var(--line-bright); }
.btn--ghost:hover { border-color: var(--lime); color: var(--lime); }
.btn--dark { background: var(--paper-ink); color: var(--paper); border-color: var(--paper-ink); }
.section--light .btn--ghost { color: var(--paper-ink); border-color: var(--paper-line); }
.section--light .btn--ghost:hover { border-color: var(--accent-paper); color: var(--accent-paper); }
.btn--dark:hover { background: #000; }

/* ---------- Hero ---------- */
.hero { padding: clamp(84px, 13vw, 150px) 0 clamp(56px, 8vw, 88px); overflow: hidden; }
.hero .container { max-width: 1000px; }
.hero__badge { margin-bottom: var(--space-5); }
.hero h1 {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(44px, 8vw, 92px); line-height: 0.98; letter-spacing: -0.03em;
  text-transform: none; max-width: 14ch;
}
.hero h1 .accent { color: var(--lime); }
.hero__sub {
  margin-top: var(--space-4); max-width: 54ch;
  font-size: clamp(17px, 2vw, 20px); color: var(--ink-dim); line-height: 1.5;
}
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

/* Hero HUD status strip */
.hud-strip {
  margin-top: var(--space-7); max-width: 560px;
  border: 1px solid var(--line); border-radius: var(--r);
  background: color-mix(in srgb, var(--panel) 70%, transparent);
  padding: 16px 18px; position: relative;
}
.hud-strip__row {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-dim);
}
.hud-strip__row--target b { color: var(--lime); }
.hud-strip__bar { display: flex; gap: 3px; height: 16px; margin: 12px 0; }
.hud-strip__bar i { flex: 1 1 0; background: var(--line-bright); border-radius: 1px; transform-origin: bottom; }
.hud-strip__bar i.on { background: var(--lime); }
.hud-strip__bar i.head { background: var(--lime-bright); animation: xp-blink 1.8s ease-in-out 1.6s infinite; }
@keyframes xp-blink { 50% { opacity: 0.45; } }

/* ---------- Section heads ---------- */
.section__title {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(30px, 4.6vw, 50px); line-height: 1.04; letter-spacing: -0.02em;
  max-width: 20ch; text-wrap: balance;
}
.section__head--split {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-5);
  flex-wrap: wrap; margin-bottom: var(--space-6);
}
.section__lede { max-width: 60ch; margin-top: var(--space-3); font-size: 17px; color: var(--paper-dim); }
.section:not(.section--light) .section__lede { color: var(--ink-dim); }

/* ---------- Process ---------- */
.process-grid { position: relative; display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.process-track { display: none; position: relative; grid-column: 1 / -1; height: 34px; margin: 0 8% var(--space-2); }
@media (min-width: 900px) { .process-track { display: block; } }
.process-track__bar { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: var(--paper-line); }
.process-track__fill { position: absolute; inset: 0; display: block; background: var(--accent-paper); transform: scaleX(0); transform-origin: left; transition: transform 1.6s var(--ease) 0.2s; }
.process-grid.is-drawn .process-track__fill { transform: scaleX(1); }
.process-track__node {
  position: absolute; top: 50%; transform: translate(-50%, -50%);
  width: 30px; height: 30px; display: grid; place-items: center;
  background: var(--paper); border: 1px solid var(--paper-line); border-radius: 50%;
  font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--paper-dim);
  transition: color 0.3s var(--ease) var(--node-delay, 0.15s), border-color 0.3s var(--ease) var(--node-delay, 0.15s), background 0.3s var(--ease) var(--node-delay, 0.15s);
}
.process-grid.is-drawn .process-track__node { border-color: var(--accent-paper); color: var(--accent-paper); background: #fff; }
.card {
  border: 1px solid var(--paper-line); border-radius: var(--r);
  background: var(--paper-2); padding: var(--space-5); z-index: 1;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
@media (hover: hover) { .card:hover { border-color: var(--accent-paper); transform: translateY(-4px); } }
.card.is-tilting, .tier.is-tilting { transition: border-color var(--dur) var(--ease); }
.card--dark { background: var(--paper-ink); color: var(--paper); border-color: var(--paper-ink); }
.card--dark p { color: #b9c1ac; }
.process-card__step {
  font-family: var(--font-display); font-size: 13.5px; font-weight: 600;
  letter-spacing: 0.03em; color: var(--accent-paper);
}
.card--dark .process-card__step { color: var(--lime); }
.process-card__icon {
  width: 46px; height: 46px; margin: var(--space-4) 0 var(--space-3);
  display: grid; place-items: center;
  border: 1px solid var(--paper-line); border-radius: var(--r); color: var(--accent-paper);
}
.card--dark .process-card__icon { border-color: #2b3220; color: var(--lime); }
.card:not(.card--dark) .process-card__icon { background: color-mix(in srgb, var(--accent-paper) 8%, transparent); }
.process-card__icon svg { width: 24px; height: 24px; }
.card h3 { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 10px; }
.card p { font-size: 15.5px; color: var(--paper-dim); line-height: 1.6; }

/* ---------- Mission ---------- */
.mission { text-align: left; }
.mission h2 {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(30px, 5.2vw, 58px); line-height: 1.03; letter-spacing: -0.025em;
  max-width: 18ch;
}
.mission h2 .accent { color: var(--lime); }
.mission__cols { margin-top: var(--space-5); }
.mission__cols p { max-width: 62ch; font-size: 17.5px; color: var(--ink-dim); }
.mission__cols p + p { margin-top: var(--space-3); }
@media (min-width: 860px) {
  .mission__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
  .mission__cols p + p { margin-top: 0; }
}

/* ---------- Pillars ---------- */
.pillar-grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr; margin-top: var(--space-6); }
@media (min-width: 760px) { .pillar-grid { grid-template-columns: 1fr 1fr; } }

/* ---------- FAQ ---------- */
.faq-grid { display: grid; gap: 0; margin-top: var(--space-6); border-top: 1px solid var(--paper-line); }
.faq-item { border-bottom: 1px solid var(--paper-line); background: transparent; transition: background var(--dur) var(--ease); }
@media (hover: hover) {
  .faq-item:hover { background: rgba(18, 21, 13, 0.04); }
  .faq-item:hover .faq-item__q svg { transform: translateY(2px); }
  .faq-item.is-open:hover .faq-item__q svg { transform: rotate(180deg) translateY(2px); }
}
.faq-item__q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  width: 100%; padding: 22px 4px; background: none; border: 0; text-align: left;
  font-family: var(--font-display); font-size: 18px; font-weight: 700; color: var(--paper-ink);
}
.faq-item__q svg { width: 20px; height: 20px; flex: none; color: var(--accent-paper); transition: transform var(--dur) var(--ease); }
.faq-item.is-open .faq-item__q svg { transform: rotate(180deg); }
.faq-item__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--dur) var(--ease); }
.faq-item.is-open .faq-item__a { grid-template-rows: 1fr; }
.faq-item__a > div { overflow: hidden; }
.faq-item__a p { padding: 0 4px 24px; font-size: 16px; color: var(--paper-dim); max-width: 70ch; }

/* ---------- Partners ---------- */
.partners { padding: var(--space-7) 0; background: var(--paper); border-block: 1px solid var(--paper-line); }
.partners__label {
  text-align: center; font-size: 13px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--paper-dim); margin-bottom: var(--space-5);
}
.partners__marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.partners__track { display: flex; width: max-content; animation: marquee 34s linear infinite; }
.partners__track:hover { animation-play-state: paused; }
.partners__set { display: flex; align-items: center; gap: var(--space-7); padding-right: var(--space-7); }
.partners__set img { height: 34px; width: auto; opacity: 0.65; filter: brightness(0); transition: opacity var(--dur) var(--ease); }
.partners__set img.partner-logo--asis { filter: none; }
.partners__set img:hover { opacity: 1; }
@keyframes marquee { to { transform: translate3d(-33.3333%, 0, 0); } }

/* ---------- Pricing (HUD loadout panels) ---------- */
.pricing-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin-top: var(--space-6); align-items: stretch; }
.tier {
  display: flex; flex-direction: column; padding: var(--space-5) var(--space-4);
  border: 1px solid var(--line); border-radius: var(--r); background: var(--panel); z-index: 1;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
@media (hover: hover) { .tier:hover { border-color: var(--line-bright); transform: translateY(-4px); } }
.tier { --mx: 50%; --my: 50%; }
.tier::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  opacity: 0; transition: opacity 0.3s var(--ease);
  background: radial-gradient(240px circle at var(--mx) var(--my), rgba(137, 217, 87, 0.10), transparent 65%);
}
@media (hover: hover) and (pointer: fine) { .tier:hover::after { opacity: 1; } }
.tier__icon { width: 44px; height: 44px; color: var(--lime); margin-bottom: var(--space-3); }
.tier__icon svg { width: 100%; height: 100%; }
.tier__level {
  align-self: flex-start; font-family: var(--font-mono); font-size: 12px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--lime);
  border: 1px solid var(--line-bright); padding: 3px 10px; border-radius: var(--r);
}
.tier h3 { font-family: var(--font-display); font-size: 25px; font-weight: 700; letter-spacing: -0.01em; text-transform: uppercase; margin-top: var(--space-3); }
.tier__setup { margin-top: 6px; font-size: 14px; color: var(--ink-dim); }
.tier__price { margin-top: var(--space-3); font-family: var(--font-display); font-size: 42px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.tier__price span { font-size: 15px; font-weight: 500; color: var(--ink-dim); }
.tier__includes { margin-top: var(--space-3); font-size: 13.5px; font-weight: 600; color: var(--lime); }
.tier ul { list-style: none; margin: var(--space-3) 0 var(--space-4); padding: 0; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.tier li { display: flex; gap: 10px; font-size: 15px; color: #c2c9b6; }
.tier li svg { width: 18px; height: 18px; flex: none; color: var(--lime); margin-top: 3px; }
.tier .btn { width: 100%; justify-content: center; }
.tier__pitch { margin-top: var(--space-3); font-size: 15.5px; color: var(--ink-dim); }
.tier--custom { background: var(--panel-2); }
.tier--popular { border-color: var(--lime); }
.tier--popular { position: relative; }
.tier--popular > .tier__badge,
.tier__badge {
  position: absolute; top: -1px; right: -1px; z-index: 3;
  font-family: var(--font-display); font-size: 12px; font-weight: 600;
  background: var(--lime); color: var(--lime-ink); padding: 5px 12px;
}
.pricing-note { margin-top: var(--space-5); font-size: 14px; color: var(--ink-dim); }

/* ---------- Booking ---------- */
.booking .section__title, .booking .section__lede, .booking .section__kicker { text-align: left; margin-inline: 0; }
.booking__frame {
  margin-top: var(--space-6); max-width: 920px; min-height: 700px;
  border: 1px solid var(--paper-line); border-top: 2px solid var(--accent-paper);
  border-radius: var(--r); background: var(--paper-2); overflow: hidden;
}
.booking__frame iframe { width: 100%; min-height: 698px; border: 0; display: block; }
.booking__placeholder { display: grid; place-items: center; gap: var(--space-4); padding: var(--space-7) var(--space-4); text-align: center; }
.booking__placeholder p { color: var(--paper-dim); font-size: 14.5px; }

/* ---------- Contact ---------- */
.contact-wrap { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 880px) { .contact-wrap { grid-template-columns: 0.85fr 1.15fr; gap: var(--space-7); align-items: start; } }
.contact-aside h3 { font-family: var(--font-display); font-size: 26px; font-weight: 700; letter-spacing: -0.01em; margin: var(--space-2) 0 var(--space-3); }
.contact-aside p { color: var(--ink-dim); max-width: 40ch; }
.call-list { list-style: none; margin: var(--space-5) 0 0; padding: var(--space-4) 0 0; border-top: 1px solid var(--line); display: grid; gap: 12px; max-width: 44ch; }
.call-list li { position: relative; padding-left: 26px; font-size: 15.5px; color: var(--ink-dim); }
.call-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 12px; height: 7px; border-left: 2px solid var(--lime); border-bottom: 2px solid var(--lime); transform: rotate(-45deg); }
.xp { margin-top: var(--space-5); display: inline-flex; align-items: center; font-size: 13.5px; font-weight: 600; color: var(--lime); border: 1px solid var(--line-bright); padding: 8px 14px; }
.form-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--r); padding: var(--space-5); }
.form-grid { display: grid; gap: var(--space-4); grid-template-columns: 1fr 1fr; }
.field--full { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field label { font-size: 13.5px; font-weight: 500; color: var(--ink-dim); }
.field .req { color: var(--lime); }
.field input {
  font: inherit; font-size: 15px; color: var(--ink); background: var(--bg);
  border: 1px solid var(--line-bright); border-radius: var(--r); padding: 12px 14px;
  transition: border-color var(--dur) var(--ease);
}
.field input:focus { outline: none; border-color: var(--lime); }
.field input[aria-invalid="true"] { border-color: #e0623c; }
.field-error { display: none; font-size: 12.5px; color: #f08a6a; }
.field input[aria-invalid="true"] ~ .field-error { display: block; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.consent { display: flex; gap: 12px; margin-top: var(--space-4); }
.consent input { margin-top: 3px; accent-color: var(--lime); width: 18px; height: 18px; flex: none; }
.consent label { font-size: 12.5px; color: var(--ink-dim); line-height: 1.55; }
.consent a { color: var(--lime); text-decoration: underline; }
.form-actions { margin-top: var(--space-5); }
.form-actions .btn { width: 100%; justify-content: center; }
.form-status { margin-top: var(--space-3); font-size: 14.5px; min-height: 1.2em; }
.form-status.is-ok { color: var(--lime); }
.form-status.is-err { color: #f08a6a; }

/* ---------- Footer ---------- */
.site-footer { padding: var(--space-7) 0 var(--space-5); border-top: 1px solid var(--line); }
.footer-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 760px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr; } }
.footer-brand img { width: 190px; }
.footer-brand p { margin-top: var(--space-3); font-family: var(--font-display); font-size: 19px; font-weight: 700; letter-spacing: -0.01em; }
.footer-brand p .accent { color: var(--lime); }
.site-footer h4 { font-size: 12.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-dim); margin-bottom: var(--space-3); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.site-footer nav a, .site-footer ul a { font-size: 15px; color: var(--ink); transition: color var(--dur) var(--ease); }
.site-footer nav a:hover, .site-footer ul a:hover { color: var(--lime); }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--line); font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.04em; color: #6f7a63; }
.footer-legal a { color: var(--ink-dim); }
.footer-legal a:hover { color: var(--lime); }

/* ---------- Motion ---------- */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 560ms var(--ease), transform 560ms var(--ease); transition-delay: var(--reveal-delay, 0ms); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .partners__track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .topo::before, .hero::before { animation: none; }
  .hud-strip__bar i.head { animation: none; }
  .partners__set[aria-hidden="true"] { display: none; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .nav__links {
    position: fixed; inset: var(--nav-h) 0 auto 0; flex-direction: column; align-items: stretch; gap: 0;
    background: var(--bg); border-bottom: 1px solid var(--line); padding: var(--space-3);
    transform: translateY(-12px); opacity: 0; pointer-events: none; transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .nav__links.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .nav__links a { padding: 14px 8px; border-bottom: 1px solid var(--line); }
  .nav__links a::after { display: none; }
  .nav__cta { display: none; }
  .nav__cta-mobile { display: block; }
  .nav__cta-mobile .btn { width: 100%; justify-content: center; margin-top: var(--space-2); }
  .nav__toggle { display: inline-flex; }
  .nav__toggle[aria-expanded="true"] .icon-menu { display: none; }
  .nav__toggle[aria-expanded="true"] .icon-close { display: block; }
  .form-grid { grid-template-columns: 1fr; }
}

/* ---------- Legal pages ---------- */
.legal-page {
  max-width: 780px; margin-inline: auto;
  padding: 56px clamp(20px, 4vw, 40px) 96px;
}
.legal-page h1 { font-family: var(--font-display); font-size: clamp(34px, 5vw, 48px); font-weight: 700; letter-spacing: -0.02em; }
.legal-page .updated { margin-top: var(--space-2); color: var(--ink-dim); font-size: 15px; }
.legal-page h2 { font-family: var(--font-display); font-size: 23px; font-weight: 700; margin: var(--space-6) 0 var(--space-2); }
.legal-page p, .legal-page li { color: var(--ink-dim); font-size: 16px; line-height: 1.65; }
.legal-page p { margin-top: var(--space-2); }
.legal-page ul { padding-left: 22px; margin: var(--space-2) 0; display: grid; gap: 8px; }
.legal-page a { color: var(--lime); text-decoration: underline; }
.legal-page strong { color: var(--ink); }
