/**
 * @l99/component: level99-site
 * source: original (rebuild of level99.co)
 * license: internal
 * imported: 2026-07-02   adapted-by: Level99
 */

/* ---------- Token contract ---------- */
:root {
  --l99-primary: #89d957;
  --l99-primary-strong: #a5ef73;
  --l99-primary-fg: #0b0d0a;
  --l99-accent: #3e7a1e;          /* lime, darkened for text on light bg (4.6:1) */
  --l99-bg: #0b0d0a;
  --l99-surface: #151912;
  --l99-surface-raised: #1c2118;
  --l99-fg: #f2f5f0;
  --l99-fg-muted: #aab5a5;        /* 7.4:1 on --l99-bg */
  --l99-light-bg: #f7f9f4;
  --l99-light-surface: #ffffff;
  --l99-light-fg: #131711;
  --l99-light-fg-muted: #4c554a;  /* 7.5:1 on light bg */
  --l99-border: #262d22;
  --l99-light-border: #dde3d8;
  --l99-ring: #89d957;

  --l99-radius-sm: 8px;
  --l99-radius-md: 14px;
  --l99-radius-lg: 22px;

  --l99-font-display: "Roboto Condensed", "Arial Narrow", sans-serif;
  --l99-font-body: "Roboto", system-ui, sans-serif;

  --l99-dur-micro: 150ms;
  --l99-dur-transition: 300ms;
  --l99-dur-entrance: 500ms;
  --l99-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --l99-ease-exit: cubic-bezier(0.4, 0, 1, 1);

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

  --container: 1160px;
  --nav-h: 68px;
}

/* ---------- Fonts (self-hosted, variable) ---------- */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/roboto-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/roboto-condensed-latin.woff2") format("woff2");
}

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

:focus-visible {
  outline: 3px solid var(--l99-ring);
  outline-offset: 3px;
  border-radius: 4px;
}

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--l99-primary); color: var(--l99-primary-fg);
  padding: 12px 20px; z-index: 200; font-weight: 700;
  border-radius: 0 0 var(--l99-radius-sm) 0;
}
.skip-link:focus { left: 0; }

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

/* ---------- Topographic texture (inline SVG, ~1KB) ---------- */
.topo::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;
}
.topo { position: relative; overflow: hidden; }
.topo > * { position: relative; }
.topo--light::before { opacity: 0.05; }
@keyframes topo-drift {
  to { transform: translate3d(-700px, -700px, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .topo::before { animation: none; }
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 12px 28px;
  border-radius: 999px; border: 2px solid transparent;
  font-family: var(--l99-font-display);
  font-size: 17px; font-weight: 700; letter-spacing: 0.02em;
  text-decoration: none; white-space: nowrap;
  touch-action: manipulation;
  transition: transform var(--l99-dur-micro) var(--l99-ease-standard),
              background-color var(--l99-dur-micro) var(--l99-ease-standard),
              border-color var(--l99-dur-micro) var(--l99-ease-standard),
              color var(--l99-dur-micro) var(--l99-ease-standard);
}
.btn:active { transform: scale(0.97); }
.btn--primary { background: var(--l99-primary); color: var(--l99-primary-fg); }
.btn--primary:hover { background: var(--l99-primary-strong); }
.btn--ghost { border-color: var(--l99-primary); color: var(--l99-primary); background: transparent; }
.btn--ghost:hover { background: rgba(137, 217, 87, 0.12); }
.btn--dark { background: var(--l99-light-fg); color: #fff; }
.btn--dark:hover { background: #2a3126; }
.btn--sm { min-height: 44px; padding: 8px 22px; font-size: 16px; }
.btn[aria-busy="true"] { opacity: 0.65; pointer-events: none; }

/* ---------- Header / nav ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(11, 13, 10, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--l99-border);
}
.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-shrink: 0; }
.nav__logo img { width: 150px; height: auto; }
.nav__links {
  display: flex; align-items: center; gap: var(--space-2);
  list-style: none; margin: 0; padding: 0;
}
.nav__links a {
  display: inline-block; padding: 10px 14px;
  font-weight: 500; font-size: 15.5px; text-decoration: none;
  color: var(--l99-fg); border-radius: var(--l99-radius-sm);
  transition: color var(--l99-dur-micro) var(--l99-ease-standard);
}
.nav__links a:hover { color: var(--l99-primary); }
.nav__links a.btn--primary,
.nav__links a.btn--primary:hover { color: var(--l99-primary-fg); }
.nav__cta { flex-shrink: 0; }
.nav__toggle {
  display: none;
  width: 48px; height: 48px; padding: 12px;
  background: none; border: 0; border-radius: var(--l99-radius-sm);
  color: var(--l99-fg);
}
.nav__toggle svg { width: 24px; height: 24px; }
.nav__toggle .icon-close { display: none; }
.nav__toggle[aria-expanded="true"] .icon-menu { display: none; }
.nav__toggle[aria-expanded="true"] .icon-close { display: block; }

@media (max-width: 860px) {
  .nav__toggle { display: inline-flex; align-items: center; justify-content: center; }
  .nav__cta { display: none; }
  .nav__links {
    position: absolute; top: var(--nav-h); left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--l99-bg);
    border-bottom: 1px solid var(--l99-border);
    padding: var(--space-2) var(--space-3) var(--space-4);
    display: none;
  }
  .nav__links.is-open { display: flex; }
  .nav__links a { padding: 14px 12px; font-size: 17px; }
  .nav__links .nav__cta-mobile { margin-top: var(--space-2); }
}
@media (min-width: 861px) { .nav__cta-mobile { display: none; } }

/* ---------- Hero ---------- */
.hero {
  padding: calc(var(--nav-h) + clamp(64px, 12vh, 120px)) 0 clamp(72px, 12vh, 128px);
  text-align: center;
  background:
    radial-gradient(ellipse 70% 55% at 50% -10%, rgba(137, 217, 87, 0.16), transparent 70%),
    var(--l99-bg);
}
.hero__badge {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 18px; margin-bottom: var(--space-4);
  border: 1px solid var(--l99-border); border-radius: 999px;
  background: rgba(21, 25, 18, 0.8);
  font-family: var(--l99-font-display);
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--l99-fg-muted);
}
.hero__badge .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--l99-primary); flex-shrink: 0;
}
.hero h1 {
  font-family: var(--l99-font-display);
  font-size: clamp(44px, 8.5vw, 84px);
  font-weight: 800; line-height: 1.04;
  letter-spacing: -0.01em; text-wrap: balance;
}
.hero h1 .accent { color: var(--l99-primary); }
.hero__sub {
  max-width: 620px; margin: var(--space-4) auto 0;
  font-size: clamp(17px, 2.2vw, 19.5px);
  color: var(--l99-fg-muted);
}
.hero__actions {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: var(--space-3); margin-top: var(--space-5);
}
.hero__bar {
  position: relative;
  max-width: 460px; margin: var(--space-7) auto 0;
}
.hero__bar-track {
  height: 10px; border-radius: 999px;
  background: var(--l99-surface);
  border: 1px solid var(--l99-border);
  overflow: hidden;
}
.hero__bar-fill {
  position: relative; overflow: hidden;
  width: 82%; height: 100%; border-radius: 999px;
  background: linear-gradient(90deg, #4c8f2a, var(--l99-primary));
  transform-origin: left;
}
/* energy shine sweeping the filled bar */
.hero__bar-fill::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 34%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transform: translateX(-140%);
  animation: xp-shine 3s var(--l99-ease-standard) 2.2s infinite;
}
@keyframes xp-shine {
  0%   { transform: translateX(-140%); }
  38%  { transform: translateX(360%); }
  100% { transform: translateX(360%); }
}
/* pulsing progress head at the fill edge */
.hero__bar-head {
  position: absolute; left: 82%; top: 5px;
  width: 12px; height: 12px; margin: -6px 0 0 -6px;
  border-radius: 50%;
  background: var(--l99-primary-strong);
  box-shadow: 0 0 14px 3px rgba(137, 217, 87, 0.55);
  animation: xp-head-in 0.4s ease-out 1.7s backwards,
             xp-head-pulse 2.2s ease-in-out 2.1s infinite;
}
@keyframes xp-head-in { from { opacity: 0; transform: scale(0.4); } to { opacity: 1; transform: scale(1); } }
@keyframes xp-head-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.35); opacity: 0.72; }
}
.hero__bar-label {
  display: flex; justify-content: space-between;
  margin-top: 10px;
  font-family: var(--l99-font-display);
  font-size: 13px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--l99-fg-muted);
}
@keyframes xp-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hero__bar-track { animation: xp-flash 0.8s ease-out 1.7s backwards; }
@keyframes xp-flash {
  0%   { box-shadow: 0 0 0 0 rgba(137, 217, 87, 0); }
  40%  { box-shadow: 0 0 22px 2px rgba(137, 217, 87, 0.55); }
  100% { box-shadow: 0 0 0 0 rgba(137, 217, 87, 0); }
}
.hero__bar-label span:last-child {
  animation: lvl-pop 0.5s cubic-bezier(0.2, 0, 0, 1) 1.75s backwards;
}
@keyframes lvl-pop {
  0%   { transform: scale(1); color: inherit; }
  50%  { transform: scale(1.3); color: var(--l99-primary); }
  100% { transform: scale(1); color: inherit; }
}

/* ---------- Entrance reveals (transform/opacity only) ---------- */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--l99-dur-entrance) var(--l99-ease-standard),
              transform var(--l99-dur-entrance) var(--l99-ease-standard);
  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; }
  .hero__bar-fill { animation: none !important; }
  .hero__bar-fill::after, .hero__bar-head { animation: none !important; }
  .hero__bar-fill::after { display: none; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---------- Section scaffolding ---------- */
.section { padding: clamp(64px, 10vw, 112px) 0; }
.section--light { background: var(--l99-light-bg); color: var(--l99-light-fg); }
.section__kicker {
  display: inline-block; padding: 6px 16px; margin-bottom: var(--space-3);
  border-radius: 999px; border: 1.5px solid currentColor;
  font-family: var(--l99-font-display);
  font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
}
.section--light .section__kicker { color: var(--l99-accent); }
.section:not(.section--light) .section__kicker { color: var(--l99-primary); }
.section__title {
  font-family: var(--l99-font-display);
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 800; line-height: 1.08; letter-spacing: -0.01em;
  text-wrap: balance;
  max-width: 720px;
}
.section__lede {
  max-width: 640px; margin-top: var(--space-3);
  font-size: 17.5px;
}
.section--light .section__lede { color: var(--l99-light-fg-muted); }
.section__head--split {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--space-4); flex-wrap: wrap;
  margin-bottom: var(--space-6);
}

/* ---------- Process cards ---------- */
/* XP checkpoint track — fills and lights up stage nodes on scroll */
.process-track {
  grid-column: 1 / -1;
  position: relative; height: 38px;
  display: none;
}
@media (min-width: 900px) {
  .process-track { display: block; }
}
.process-track__bar {
  position: absolute; left: 16.666%; right: 16.666%; top: 50%;
  height: 5px; transform: translateY(-50%);
  background: var(--l99-light-border);
  border-radius: 999px; overflow: hidden;
}
.process-track__fill {
  display: block; height: 100%; border-radius: inherit;
  background: linear-gradient(90deg, #4c8f2a, var(--l99-primary));
  transform: scaleX(0); transform-origin: left;
  transition: transform 1.6s var(--l99-ease-standard) 0.2s;
}
.process-grid.is-drawn .process-track__fill { transform: scaleX(1); }
.process-track__node {
  position: absolute; top: 50%;
  width: 36px; height: 36px; border-radius: 50%;
  transform: translate(-50%, -50%) scale(0.82);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--l99-font-display);
  font-size: 13.5px; font-weight: 800;
  background: var(--l99-light-surface);
  border: 2px solid var(--l99-light-border);
  color: var(--l99-light-fg-muted);
  transition: background-color 0.3s, border-color 0.3s, color 0.3s,
              transform 0.45s var(--l99-ease-standard);
  transition-delay: var(--node-delay, 0.25s);
}
.process-grid.is-drawn .process-track__node {
  background: var(--l99-primary);
  border-color: var(--l99-primary);
  color: var(--l99-primary-fg);
  transform: translate(-50%, -50%) scale(1);
}
.process-grid {
  position: relative;
  display: grid; gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.card {
  border-radius: var(--l99-radius-lg);
  padding: var(--space-5);
  background: var(--l99-light-surface);
  border: 1px solid var(--l99-light-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7),
              0 2px 4px rgba(19, 23, 17, 0.07),
              0 24px 48px -16px rgba(19, 23, 17, 0.28),
              0 18px 44px -18px rgba(110, 190, 60, 0.22);
  transition: transform var(--l99-dur-transition) var(--l99-ease-standard),
              box-shadow var(--l99-dur-transition) var(--l99-ease-standard);
}
.card.is-tilting { transition: box-shadow var(--l99-dur-transition) var(--l99-ease-standard); }
@media (hover: hover) {
  .card:hover {
    transform: translateY(-8px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7),
                0 3px 6px rgba(19, 23, 17, 0.07),
                0 34px 64px -18px rgba(19, 23, 17, 0.32),
                0 22px 52px -16px rgba(110, 190, 60, 0.42);
  }
}
.process-card__step {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--l99-font-display);
  font-size: 14px; font-weight: 700; letter-spacing: 0.14em;
  color: var(--l99-accent);
}
.process-card__icon {
  width: 52px; height: 52px; margin: var(--space-4) 0 var(--space-3);
  display: grid; place-items: center;
  border-radius: var(--l99-radius-md);
  background: rgba(137, 217, 87, 0.16);
  color: var(--l99-accent);
}
.process-card__icon svg { width: 28px; height: 28px; }
.card h3 {
  font-family: var(--l99-font-display);
  font-size: 24px; font-weight: 700;
}
.card p { margin-top: var(--space-2); color: var(--l99-light-fg-muted); font-size: 16px; }

.card--dark {
  background: var(--l99-surface); border-color: var(--l99-border);
  color: var(--l99-fg);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
              0 2px 4px rgba(0, 0, 0, 0.18),
              0 18px 40px -16px rgba(0, 0, 0, 0.42);
}
@media (hover: hover) {
  .card--dark:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
                0 3px 6px rgba(0, 0, 0, 0.2),
                0 26px 52px -16px rgba(0, 0, 0, 0.5),
                0 12px 32px -14px rgba(110, 190, 60, 0.3);
  }
}
.card--dark p { color: var(--l99-fg-muted); }
.card--dark .process-card__step { color: var(--l99-primary); }
.card--dark .process-card__icon { background: rgba(137, 217, 87, 0.14); color: var(--l99-primary); }

/* ---------- Mission band ---------- */
.mission { text-align: center; }
.mission .section__kicker { margin: 0 0 var(--space-3); }  /* restore kicker gap (.mission p was overriding it to 0) */
.mission h2 {
  font-family: var(--l99-font-display);
  font-size: clamp(30px, 5vw, 56px);
  font-weight: 800; line-height: 1.12;
  max-width: 900px; margin-inline: auto;
}
.mission h2 .accent { color: var(--l99-primary); }
.mission p {
  max-width: 680px; margin: var(--space-4) auto 0;
  font-size: 17.5px; color: var(--l99-fg-muted);
}

/* ---------- Pillars ---------- */
.pillar-grid {
  display: grid; gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin-top: var(--space-6);
}

/* ---------- FAQ ---------- */
.faq-grid {
  display: grid; gap: var(--space-3);
  grid-template-columns: 1fr;
  margin-top: var(--space-6);
  max-width: 860px;
}
.faq-item {
  border: 1px solid var(--l99-light-border);
  border-radius: var(--l99-radius-md);
  background: var(--l99-light-surface);
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7),
              0 1px 2px rgba(19, 23, 17, 0.04),
              0 8px 20px -12px rgba(19, 23, 17, 0.14);
}
.faq-item__q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-3);
  width: 100%; padding: 20px 24px;
  background: none; border: 0; text-align: left;
  font-family: var(--l99-font-display);
  font-size: 19px; font-weight: 700; color: var(--l99-light-fg);
}
.faq-item__q svg {
  width: 22px; height: 22px; flex-shrink: 0;
  color: var(--l99-accent);
  transition: transform var(--l99-dur-transition) var(--l99-ease-standard);
}
.faq-item__q[aria-expanded="true"] svg { transform: rotate(180deg); }
.faq-item__a {
  display: grid; grid-template-rows: 0fr;
  transition: grid-template-rows var(--l99-dur-transition) var(--l99-ease-standard);
}
.faq-item.is-open .faq-item__a { grid-template-rows: 1fr; }
.faq-item__a > div { overflow: hidden; }
.faq-item__a p {
  padding: 0 24px 22px; color: var(--l99-light-fg-muted); font-size: 16px;
}

/* ---------- Partners ---------- */
.partners { padding: var(--space-7) 0; background: #eef2e9; }
.partners__label {
  text-align: center; margin-bottom: var(--space-5);
  font-family: var(--l99-font-display);
  font-size: 14px; font-weight: 700; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--l99-light-fg-muted);
}
.partners__marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.partners__track {
  display: flex; width: max-content;
  animation: marquee 32s 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.72;
  filter: brightness(0); /* normalize mixed light/dark logos to black on the light band */
  transition: opacity var(--l99-dur-micro) var(--l99-ease-standard);
}
.partners__set img.partner-logo--asis { filter: none; }
.partners__set img:hover { opacity: 1; }
@keyframes marquee { to { transform: translate3d(-33.3333%, 0, 0); } }
@media (prefers-reduced-motion: reduce) {
  .partners__track { animation: none; }
  .partners__marquee { -webkit-mask-image: none; mask-image: none; }
  .partners__track { flex-wrap: wrap; justify-content: center; width: auto; }
  .partners__set[aria-hidden="true"] { display: none; }
}

/* ---------- Pricing ---------- */
.pricing-grid {
  display: grid; gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  margin-top: var(--space-6);
  align-items: stretch;
}
/* cursor spotlight (desktop only; --mx/--my set from js) */
.tier::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  pointer-events: none; opacity: 0;
  transition: opacity 0.35s var(--l99-ease-standard);
  background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),
              rgba(137, 217, 87, 0.12), transparent 65%);
}
@media (hover: hover) and (pointer: fine) {
  .tier:hover::after { opacity: 1; }
}
.tier {
  position: relative;
  display: flex; flex-direction: column;
  border-radius: var(--l99-radius-lg);
  padding: var(--space-5) var(--space-4);
  border: 1px solid transparent;
  background: linear-gradient(var(--l99-surface), var(--l99-surface)) padding-box,
              linear-gradient(165deg, rgba(137, 217, 87, 0.55), rgba(137, 217, 87, 0.07) 38%,
                              rgba(137, 217, 87, 0.04) 62%, rgba(137, 217, 87, 0.3)) border-box;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
              0 30px 60px -24px rgba(0, 0, 0, 0.65),
              0 22px 60px -28px rgba(137, 217, 87, 0.2);
  transition: transform var(--l99-dur-transition) var(--l99-ease-standard);
}
.tier.is-tilting { transition: none; }
@media (hover: hover) {
  .tier:hover { transform: translateY(-6px); }
}
.tier__icon {
  width: 48px; height: 48px;
  margin-bottom: var(--space-3);
  color: var(--l99-primary);
}
.tier__icon svg { width: 100%; height: 100%; }
.tier__level {
  display: inline-flex; align-self: flex-start;
  padding: 5px 14px; border-radius: 999px;
  background: rgba(137, 217, 87, 0.14);
  font-family: var(--l99-font-display);
  font-size: 13px; font-weight: 700; letter-spacing: 0.14em;
  color: var(--l99-primary);
}
.tier h3 {
  margin-top: var(--space-3);
  font-family: var(--l99-font-display);
  font-size: 27px; font-weight: 800; letter-spacing: 0.02em;
  text-transform: uppercase;
}
.tier__setup { margin-top: 6px; font-size: 14.5px; color: var(--l99-fg-muted); }
.tier__price {
  margin-top: var(--space-3);
  font-family: var(--l99-font-display);
  font-size: 42px; font-weight: 800; line-height: 1;
  font-variant-numeric: tabular-nums;
}
.tier__price span { font-size: 17px; font-weight: 700; color: var(--l99-fg-muted); }
.tier__includes {
  margin-top: var(--space-2); font-size: 14px; font-weight: 500;
  color: var(--l99-primary);
}
.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: 15.5px; color: var(--l99-fg-muted); }
.tier li svg { width: 20px; height: 20px; flex-shrink: 0; color: var(--l99-primary); margin-top: 2px; }
.tier .btn { width: 100%; }

@property --l99-spin {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
.tier--popular {
  border: 2px solid transparent;
  background: linear-gradient(var(--l99-surface), var(--l99-surface)) padding-box,
              conic-gradient(from var(--l99-spin),
                var(--l99-primary), rgba(137, 217, 87, 0.1) 25%,
                var(--l99-primary-strong) 50%, rgba(137, 217, 87, 0.1) 75%,
                var(--l99-primary)) border-box;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
              0 30px 60px -24px rgba(0, 0, 0, 0.65),
              0 20px 56px -20px rgba(137, 217, 87, 0.45);
}
@media (min-width: 900px) and (pointer: fine) {
  .tier--popular { animation: tier-border-spin 7s linear infinite; }
}
@keyframes tier-border-spin { to { --l99-spin: 360deg; } }
.tier--popular::before {
  content: "Most Popular";
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  padding: 4px 16px; border-radius: 999px;
  background: var(--l99-primary); color: var(--l99-primary-fg);
  font-family: var(--l99-font-display);
  font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  white-space: nowrap;
}
.tier--custom {
  background: linear-gradient(160deg, var(--l99-surface-raised), var(--l99-bg)) padding-box,
              linear-gradient(165deg, rgba(137, 217, 87, 0.55), rgba(137, 217, 87, 0.07) 38%,
                              rgba(137, 217, 87, 0.04) 62%, rgba(137, 217, 87, 0.3)) border-box;
  justify-content: flex-start;
}
.tier--custom .tier__pitch {
  margin: var(--space-4) 0; flex-grow: 1;
  font-size: 17px; line-height: 1.55; color: var(--l99-fg);
}
.pricing-note {
  margin-top: var(--space-4); text-align: center;
  font-size: 14.5px; color: var(--l99-fg-muted);
}

/* ---------- Booking ---------- */
.booking { text-align: center; }
.booking__frame {
  max-width: 900px; margin: var(--space-6) auto 0;
  border-radius: var(--l99-radius-lg);
  border: 1px solid var(--l99-light-border);
  background: var(--l99-light-surface);
  min-height: 640px;
  display: grid; place-items: center;
  overflow: hidden;
}
.booking__frame iframe { width: 100%; height: 760px; border: 0; }
.booking__placeholder { padding: var(--space-6); }
.booking__placeholder p { margin-bottom: var(--space-4); color: var(--l99-light-fg-muted); }

/* ---------- Contact form ---------- */
.contact-wrap {
  display: grid; gap: var(--space-6);
  grid-template-columns: 1fr;
  margin-top: var(--space-6);
}
@media (min-width: 900px) {
  .contact-wrap { grid-template-columns: 5fr 7fr; align-items: start; }
}
.contact-aside h3 {
  font-family: var(--l99-font-display);
  font-size: 26px; font-weight: 800;
}
.contact-aside p { margin-top: var(--space-3); color: var(--l99-fg-muted); }
.contact-aside .xp {
  margin-top: var(--space-5);
  display: grid; gap: 10px;
}
.contact-aside .xp span {
  font-family: var(--l99-font-display);
  font-size: 13px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--l99-fg-muted);
}

.form-card {
  background: var(--l99-surface);
  border: 1px solid var(--l99-border);
  border-radius: var(--l99-radius-lg);
  padding: clamp(24px, 4vw, 40px);
}
.form-grid {
  display: grid; gap: var(--space-3);
  grid-template-columns: 1fr;
}
@media (min-width: 560px) { .form-grid { grid-template-columns: 1fr 1fr; } }
.field { display: grid; gap: 6px; }
.field--full { grid-column: 1 / -1; }
.field label {
  font-size: 14.5px; font-weight: 500; color: var(--l99-fg);
}
.field label .req { color: var(--l99-primary); }
.field input {
  min-height: 48px; padding: 10px 16px;
  border-radius: var(--l99-radius-sm);
  border: 1.5px solid var(--l99-border);
  background: var(--l99-bg); color: var(--l99-fg);
  font: inherit; font-size: 16px;
  transition: border-color var(--l99-dur-micro) var(--l99-ease-standard);
}
.field input:focus { outline: none; border-color: var(--l99-primary); }
.field input[aria-invalid="true"] { border-color: #e5735f; }
.field .field-error { font-size: 13.5px; color: #f0917f; display: none; }
.field input[aria-invalid="true"] ~ .field-error { display: block; }

.consent {
  display: flex; gap: 12px; align-items: flex-start;
  margin-top: var(--space-4);
}
.consent input {
  width: 22px; height: 22px; margin-top: 2px; flex-shrink: 0;
  accent-color: var(--l99-primary);
}
.consent label { font-size: 13.5px; line-height: 1.55; color: var(--l99-fg-muted); }
.consent a { color: var(--l99-primary); }

.form-actions { margin-top: var(--space-4); }
.form-status { margin-top: var(--space-3); font-size: 15px; display: none; }
.form-status.is-ok { display: block; color: var(--l99-primary); }
.form-status.is-err { display: block; color: #f0917f; }

/* honeypot — visually gone, present for bots */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Footer ---------- */
.site-footer {
  border-top: 2px solid var(--l99-primary);
  background: var(--l99-bg);
  padding: var(--space-7) 0 var(--space-5);
}
.footer-grid {
  display: grid; gap: var(--space-5);
  grid-template-columns: 1fr;
}
@media (min-width: 760px) {
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
}
.footer-brand img { width: 200px; }
.footer-brand p {
  margin-top: var(--space-3);
  font-family: var(--l99-font-display);
  font-size: 20px; font-weight: 700;
}
.footer-brand p .accent { color: var(--l99-primary); }
.site-footer h4 {
  font-family: var(--l99-font-display);
  font-size: 15px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--l99-fg-muted);
  margin-bottom: var(--space-3);
}
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.site-footer ul a {
  text-decoration: none; color: var(--l99-fg); font-size: 15.5px;
  transition: color var(--l99-dur-micro) var(--l99-ease-standard);
}
.site-footer ul a:hover { color: var(--l99-primary); }
.footer-legal {
  margin-top: var(--space-6); padding-top: var(--space-4);
  border-top: 1px solid var(--l99-border);
  display: flex; flex-wrap: wrap; gap: var(--space-3);
  justify-content: space-between;
  font-size: 14px; color: var(--l99-fg-muted);
}
.footer-legal a { color: var(--l99-fg-muted); }
.footer-legal a:hover { color: var(--l99-primary); }

/* ---------- Legal pages ---------- */
.legal-page {
  max-width: 780px; margin-inline: auto;
  padding: calc(var(--nav-h) + 56px) clamp(20px, 4vw, 40px) 96px;
}
.legal-page h1 {
  font-family: var(--l99-font-display);
  font-size: clamp(34px, 5vw, 48px); font-weight: 800;
}
.legal-page .updated { margin-top: var(--space-2); color: var(--l99-fg-muted); font-size: 15px; }
.legal-page h2 {
  font-family: var(--l99-font-display);
  font-size: 24px; font-weight: 700;
  margin: var(--space-6) 0 var(--space-2);
}
.legal-page p, .legal-page li { color: var(--l99-fg-muted); font-size: 16px; }
.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(--l99-primary); }
.legal-page strong { color: var(--l99-fg); }
