/* become.promo — shared styles */
:root{
  --bg: #0A0D0B;
  --bg-2: #0F1411;
  --ink: #ECF6EE;
  --ink-2: #A9B6AC;
  --ink-3: #6A7A6E;
  --line: rgba(255,255,255,.08);
  --line-2: rgba(255,255,255,.04);
  --neon: #22F07A;
  --brand-blue: #001A4C;
  --brand-cream: #F6F4EE;
  --display: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --sans: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:var(--neon);color:#04150A}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNjAnIGhlaWdodD0nMTYwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45JyBudW1PY3RhdmVzPScyJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPScwIDAgMCAwIDAgIDAgMCAwIDAgMCAgMCAwIDAgMCAwICAwIDAgMCAuMzUgMCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCUyM24pJy8+PC9zdmc+");
  mix-blend-mode:overlay;
}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(32px)}
.reveal.visible{animation:revealUp .75s cubic-bezier(.25,.46,.45,.94) forwards}
@keyframes revealUp{to{opacity:1;transform:translateY(0)}}
.delay-1.visible{animation-delay:.1s}
.delay-2.visible{animation-delay:.2s}
.delay-3.visible{animation-delay:.3s}

.wrap{max-width:1280px;margin:0 auto;padding:0 32px;position:relative;z-index:2}
@media (max-width:480px){ .wrap{padding:0 16px} }
@media (max-width:720px){ .wrap{padding:0 20px} }

.mono{font-family:var(--mono)}
.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--neon);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{
  content:"";width:8px;height:8px;border-radius:999px;background:var(--neon);
  box-shadow:0 0 12px var(--neon),0 0 24px var(--neon);
  animation:pulse 1.8s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.55;transform:scale(.85)}
}

/* ── Nav ── */
.nav{
  position:sticky;top:0;z-index:30;
  background:var(--bg);
  border-bottom:1px solid var(--line);
  transition:background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease;
}
.nav.scrolled{
  background:rgba(10,13,11,.72);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
  box-shadow:0 4px 30px rgba(0,0,0,.3),0 1px 0 var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em;font-size:18px}
.brand-dot{
  width:10px;height:10px;border-radius:999px;background:var(--neon);
  box-shadow:0 0 10px var(--neon),0 0 24px var(--neon);
}
.nav-links{display:flex;gap:24px;color:var(--ink-2);font-size:14px}
.nav-links a{transition:color .15s ease}
.nav-links a:hover, .nav-links a.active{color:var(--neon)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-burger{display:none;background:transparent;border:1px solid var(--line);width:40px;height:40px;border-radius:10px;color:var(--ink);cursor:pointer;padding:0;flex-shrink:0}
.nav-burger svg{display:block;color:inherit}
@media (max-width:980px){
  .nav-links{display:none}
  .nav-cta .btn:not(.nav-burger){display:none}
  .nav-burger{display:grid;place-items:center}
}
@media (max-width:480px){
  .nav-row{height:58px}
  .brand{font-size:16px}
}

/* mobile drawer */
.drawer{
  position:fixed;inset:0;z-index:50;background:var(--bg);
  transform:translateY(-100%);transition:transform .35s cubic-bezier(.6,.05,.2,1);
  display:flex;flex-direction:column;
}
.drawer[data-open="true"]{transform:translateY(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;height:58px;border-bottom:1px solid var(--line)}
.drawer-close{background:transparent;border:1px solid var(--line);width:38px;height:38px;border-radius:10px;color:var(--ink);display:grid;place-items:center;cursor:default;padding:0}
.drawer-links{flex:1;display:flex;flex-direction:column;padding:24px 20px;gap:4px;overflow-y:auto}
.drawer-links a{
  padding:18px 8px;font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ink);
  border-bottom:1px solid var(--line-2);
  display:flex;justify-content:space-between;align-items:center;
}
.drawer-links a.active{color:var(--neon)}
.drawer-links a .arr{color:var(--ink-3);font-size:18px}
.drawer-footer{padding:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.drawer-footer .btn{width:100%;justify-content:center;height:52px;font-size:13px}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  height:44px;padding:0 22px;border-radius:999px;
  font-size:14px;font-weight:600;letter-spacing:.01em;
  border:1px solid transparent;cursor:default;
  transition:transform .18s ease, box-shadow .25s ease, background .18s ease, color .18s ease, border-color .18s ease;
  text-transform:uppercase;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  white-space:nowrap;
}
.btn-primary{background:var(--neon);color:#04150A;box-shadow:0 10px 30px -10px rgba(34,240,122,.5)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 0 6px rgba(34,240,122,.18),0 14px 40px -10px rgba(34,240,122,.7)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--neon);color:var(--neon)}
.btn-outline-neon{background:transparent;color:var(--neon);border-color:var(--neon)}
.btn-outline-neon:hover{box-shadow:0 0 0 4px rgba(34,240,122,.15), inset 0 0 14px rgba(34,240,122,.25)}
.btn .arr{transition:transform .18s ease}
.btn:hover .arr{transform:translate(2px,-2px)}

/* ── Section ── */
section{padding:120px 0;position:relative}
@media (max-width:480px){ section{padding:64px 0} }
.sec-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:56px}
@media (min-width:880px){ .sec-head{grid-template-columns:.4fr .6fr;gap:64px;align-items:end} }
.sec-title{
  font-family:var(--display);
  font-size:clamp(36px, 5vw, 72px);
  line-height:.95;letter-spacing:-.03em;font-weight:700;margin:14px 0 0;
  text-wrap:balance;
}
.sec-title .neon{color:var(--neon);text-shadow:0 0 24px rgba(34,240,122,.45)}
.sec-lede{color:var(--ink-2);font-size:17px;line-height:1.55;max-width:54ch;text-wrap:pretty}
@media (max-width:480px){ .sec-lede{font-size:15px} }

/* ── Hero (video version) ── */
.hero{padding:48px 0 72px;position:relative}
.hero-frame{
  position:relative;border-radius:28px;overflow:hidden;
  aspect-ratio:16/9;min-height:520px;background:#000;
  border:1.5px solid var(--neon);
  box-shadow:0 0 0 1px rgba(34,240,122,.12), 0 0 60px -10px rgba(34,240,122,.45), inset 0 0 80px rgba(34,240,122,.08);
}
@media (max-width:880px){ .hero-frame{aspect-ratio:auto;min-height:560px} }
@media (max-width:480px){
  .hero{padding:20px 0 40px}
  .hero-frame{border-radius:18px;min-height:84svh;border-width:1px}
}
.hero-img{
  position:absolute;inset:0;
  background-image:url("assets/hero.jpg");
  background-size:cover;background-position:center;
  filter:saturate(1.1);
}
.hero-img::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.05) 35%, rgba(0,0,0,.55) 75%, rgba(0,0,0,.88) 100%),
    linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 60%);
}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.05) 35%,rgba(0,0,0,.6) 75%,rgba(0,0,0,.9) 100%),linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,0) 60%)}
.hero-content{
  position:absolute;inset:0;
  padding:clamp(24px,5vw,72px);
  display:flex;flex-direction:column;justify-content:flex-end;gap:24px;
  z-index:2;
}
.hero-tag{
  align-self:flex-start;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--neon);
  padding:8px 14px;border:1px solid var(--neon);border-radius:999px;
  background:rgba(34,240,122,.06);backdrop-filter:blur(6px);
  box-shadow:0 0 0 1px rgba(34,240,122,.1), inset 0 0 12px rgba(34,240,122,.18);
}
@media (max-width:480px){ .hero-tag{font-size:9px;letter-spacing:.12em;padding:6px 12px;max-width:calc(100vw - 80px);white-space:normal;line-height:1.4} }
.hero h1{
  font-family:var(--display);
  font-size:clamp(38px, 7vw, 96px);
  line-height:.95;letter-spacing:-.035em;font-weight:700;margin:0;
  color:var(--neon);
  text-shadow:0 0 1px var(--neon), 0 0 18px rgba(34,240,122,.55), 0 0 48px rgba(34,240,122,.35);
  text-wrap:balance;max-width:18ch;
}
.hero-sub{
  margin:0;color:var(--ink);
  font-size:clamp(14px,1.6vw,20px);line-height:1.45;font-weight:500;
  max-width:48ch;text-shadow:0 1px 14px rgba(0,0,0,.6);text-wrap:pretty;
}
.hero-mini{
  margin:0;color:var(--ink-2);
  font-size:13px;line-height:1.5;max-width:50ch;
  text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
@media (max-width:480px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{justify-content:center;height:52px;font-size:13px}
}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.hero-badges span{
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 10px;border:1px solid var(--line);border-radius:999px;
  background:rgba(0,0,0,.4);color:var(--ink-2);backdrop-filter:blur(4px);
}

/* ── Page header (non-hero inner pages) ── */
.page-hd{padding:80px 0 40px}
@media (max-width:480px){ .page-hd{padding:48px 0 24px} }
.page-hd .crumb{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.page-hd .crumb a:hover{color:var(--neon)}
.page-hd h1{
  font-family:var(--display);
  font-size:clamp(40px,6vw,84px);
  line-height:.95;letter-spacing:-.03em;font-weight:700;margin:14px 0 18px;
  text-wrap:balance;
}
.page-hd h1 .neon{color:var(--neon);text-shadow:0 0 24px rgba(34,240,122,.45)}
.page-hd .lede{color:var(--ink-2);font-size:18px;line-height:1.5;max-width:60ch;margin:0;text-wrap:pretty}

/* ── Two-audience split ── */
.split{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:880px){ .split{grid-template-columns:1fr 1fr;gap:20px} }
.split-card{
  background:var(--bg-2);border:1px solid var(--line);border-radius:22px;
  padding:40px;display:flex;flex-direction:column;gap:18px;min-height:340px;
  position:relative;overflow:hidden;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.split-card:hover{border-color:rgba(34,240,122,.5);transform:translateY(-2px)}
.split-card.b2c{background:radial-gradient(ellipse at 0% 0%, rgba(34,240,122,.12), transparent 55%), var(--bg-2)}
.split-card.b2b{background:radial-gradient(ellipse at 100% 0%, rgba(34,240,122,.08), transparent 55%), var(--bg-2);border-color:rgba(34,240,122,.4)}
.split-card .audience{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon)}
.split-card h3{margin:0;font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.05;color:var(--ink)}
.split-card p{margin:0;color:var(--ink-2);line-height:1.55;font-size:16px;text-wrap:pretty;max-width:42ch}
.split-card .btn{margin-top:auto;align-self:flex-start}
@media (max-width:480px){ .split-card{padding:28px 22px;min-height:auto} .split-card .btn{width:100%;justify-content:center} }

/* ── Flow strip ── */
.flow{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  padding:24px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(90deg, rgba(34,240,122,.04), transparent);
}
.flow .step-chip{
  padding:10px 18px;border:1px solid var(--neon);border-radius:999px;
  font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--neon);background:rgba(34,240,122,.05);
  box-shadow:inset 0 0 12px rgba(34,240,122,.12);
}
.flow .step-arr{color:var(--neon);font-size:18px;opacity:.6}

/* ── Phases ── */
.phases{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:880px){ .phases{grid-template-columns:repeat(4,1fr)} }
.phase{
  background:var(--bg-2);border:1px solid var(--line);border-radius:18px;
  padding:28px;display:flex;flex-direction:column;gap:14px;min-height:280px;
  position:relative;
  transition:border-color .25s ease, transform .25s ease;
}
.phase:hover{border-color:rgba(34,240,122,.5);transform:translateY(-2px)}
.phase .big-n{
  font-family:var(--display);font-size:72px;font-weight:700;line-height:.85;letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1px var(--neon);margin:0 0 -8px;opacity:.6;
}
.phase .tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon)}
.phase h4{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.phase p{margin:0;color:var(--ink-2);line-height:1.55;font-size:15px}
.phase .status{margin-top:auto;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.phase .status b{color:var(--neon);font-weight:500}

/* ── Cards grid ── */
.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{
  grid-column:span 12;background:var(--bg-2);border:1px solid var(--line);border-radius:18px;
  padding:28px;display:flex;flex-direction:column;gap:14px;min-height:220px;
  transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.card:hover{border-color:rgba(34,240,122,.5);transform:translateY(-2px)}
@media (min-width:720px){ .card{grid-column:span 6} }
@media (min-width:1080px){ .card{grid-column:span 4} }
@media (max-width:480px){ .card{padding:22px;min-height:auto} }
.card .num{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon)}
.card h3{margin:0;font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.2;color:var(--ink)}
.card p{margin:0;color:var(--ink-2);line-height:1.55;font-size:15px;text-wrap:pretty}

/* ── Pilot price block ── */
.pilot{
  border:1.5px solid var(--neon);border-radius:24px;
  padding:56px;display:grid;grid-template-columns:1fr;gap:40px;align-items:start;
  background:
    radial-gradient(ellipse at 90% 0%, rgba(34,240,122,.18), transparent 55%),
    radial-gradient(ellipse at 0% 100%, rgba(34,240,122,.08), transparent 50%),
    var(--bg-2);
  box-shadow:0 0 0 1px rgba(34,240,122,.15), 0 0 80px -20px rgba(34,240,122,.45);
}
@media (min-width:980px){ .pilot{grid-template-columns:.55fr .45fr;padding:64px;gap:64px} }
@media (max-width:480px){ .pilot{padding:28px 20px;border-radius:18px} }
.pilot h2{margin:0;font-family:var(--display);font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:-.03em;font-weight:700;text-wrap:balance}
.pilot h2 .neon{color:var(--neon);text-shadow:0 0 24px rgba(34,240,122,.45)}
.pilot .lede{margin:14px 0 0;color:var(--ink-2);font-size:17px;line-height:1.5;max-width:50ch}
.pilot .price-row{
  display:flex;align-items:baseline;gap:14px;margin-top:24px;
  padding:18px 20px;border:1px solid var(--neon);border-radius:14px;background:rgba(34,240,122,.06);
  flex-wrap:wrap;
}
.pilot .price-num{font-family:var(--display);font-size:48px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--neon);text-shadow:0 0 24px rgba(34,240,122,.45)}
.pilot .price-meta{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:480px){
  .pilot .btn-primary{
    white-space:normal;text-align:center;height:auto;min-height:52px;
    padding:12px 18px;line-height:1.4;display:flex!important;width:100%;justify-content:center;
  }
}
.pilot-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.pilot-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--ink);line-height:1.5}
.pilot-list li .ic{width:20px;height:20px;border-radius:999px;border:1px solid var(--neon);color:var(--neon);display:grid;place-items:center;flex:none;margin-top:2px;box-shadow:inset 0 0 8px rgba(34,240,122,.25)}
.pilot-list li.no{color:var(--ink-3)}
.pilot-list li.no .ic{border-color:rgba(255,80,80,.6);color:#ff7070;box-shadow:inset 0 0 8px rgba(255,80,80,.2)}
.pilot-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:720px){ .pilot-grid{grid-template-columns:1fr 1fr} }
.pilot-grid h5{margin:0 0 12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:500}

/* ── Form ── */
.form-box{
  border:1px solid var(--line);border-radius:20px;padding:36px;background:var(--bg-2);
}
@media (max-width:480px){ .form-box{padding:24px 20px;border-radius:14px} }
.form-box form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.field input, .field select, .field textarea{
  height:48px;padding:0 16px;border-radius:12px;
  border:1px solid var(--line);background:var(--bg);color:var(--ink);
  font:inherit;font-size:15px;outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  -webkit-appearance:none;appearance:none;
}
.field textarea{height:auto;padding:14px 16px;min-height:120px;resize:vertical;font-family:inherit}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--neon);box-shadow:0 0 0 4px rgba(34,240,122,.15);
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:480px){ .field-row{grid-template-columns:1fr} .field input,.field select{height:52px;font-size:16px} }
.form-fine{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.04em;margin-top:4px;line-height:1.5}

/* ── FAQ accordion ── */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:24px 0}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:default;list-style:none;font-size:20px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{
  width:32px;height:32px;border-radius:999px;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--ink-2);
  transition:transform .25s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
  flex:none;
}
.faq details[open] summary .plus{transform:rotate(45deg);background:var(--neon);color:#04150A;border-color:transparent;box-shadow:0 0 24px rgba(34,240,122,.5)}
.faq .ans{padding-top:14px;color:var(--ink-2);max-width:65ch;line-height:1.6;font-size:15px}
@media (max-width:480px){ .faq summary{font-size:16px;gap:12px} .faq details{padding:18px 0} .faq .ans{font-size:14px} }

/* ── Prose (long-form text pages) ── */
.prose{max-width:72ch}
.prose h2{font-family:var(--display);font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;font-weight:700;margin:48px 0 18px;line-height:1.1}
.prose h3{font-size:20px;font-weight:600;letter-spacing:-.015em;margin:32px 0 12px;color:var(--ink)}
.prose p{color:var(--ink-2);line-height:1.7;font-size:16px;margin:0 0 16px}
.prose ul{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px;margin:0 0 24px}
.prose ul li{padding-left:22px;position:relative;color:var(--ink-2);line-height:1.55;font-size:15px}
.prose ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:999px;background:var(--neon);box-shadow:0 0 8px rgba(34,240,122,.6)}
.prose b, .prose strong{color:var(--ink);font-weight:600}

/* ── Footer ── */
footer{padding:64px 0 40px;border-top:1px solid var(--line);margin-top:80px}
.foot{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
@media (max-width:980px){ .foot{grid-template-columns:1fr 1fr;gap:28px} }
@media (max-width:480px){ .foot{grid-column:1fr;gap:28px} footer{padding:40px 0 100px;margin-top:48px} }
.foot h5{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px;font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-2)}
.foot ul a:hover{color:var(--neon)}
.foot .colo{color:var(--ink-2);font-size:13px;line-height:1.6;max-width:34ch;margin-top:14px}
.foot-bot{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;
}
@media (max-width:480px){ .foot-bot{flex-direction:column;gap:8px;margin-top:32px} }

/* ── Sticky mobile CTA ── */
.mob-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:40;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:color-mix(in oklab, var(--bg) 85%, transparent);
  backdrop-filter:blur(16px) saturate(140%);
  border-top:1px solid var(--line);
  display:none;gap:8px;
  justify-content:center;
  align-items:center;
}
.mob-cta .btn{
  flex:0 0 auto;
  justify-content:center;
  height:48px;
  font-size:11px;
  padding:0 20px;
  max-width:calc(50% - 4px);
}
.mob-cta .btn:only-child{max-width:260px}
@media (max-width:820px){ .mob-cta{display:flex} }

/* decorative glows */
.glow{position:absolute;border-radius:999px;filter:blur(80px);opacity:.3;pointer-events:none;z-index:0}
.glow.g1{top:30%;left:-10%;width:500px;height:500px;background:rgba(34,240,122,.18)}
.glow.g2{bottom:0;right:-10%;width:600px;height:600px;background:rgba(34,240,122,.1)}

/* Kontakt tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.tab-btn{
  padding:10px 18px;border-radius:999px;border:1px solid var(--line);
  background:transparent;color:var(--ink-2);font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;cursor:default;
  transition:all .2s ease;
}
.tab-btn.active{background:var(--neon);color:#04150A;border-color:transparent;box-shadow:0 0 24px rgba(34,240,122,.4)}
