/* ============================================================
   Nadwysk AI — "Neon Noir / Rainy City Night"
   LTR design system for the Polish (pl-PL) site.

   One canvas, one accent:
     · deep navy night  (body, glass cards, splits)
     · neon green #09fb8a — sampled from the logo mark, the only chroma
   Featured surfaces are lit like signage in the rain: a neon-edged navy
   panel for cards, frosted "wet window" glass for forms, and a solid neon
   sign for the CTA band. Rain and the skyline are pure CSS (no images).
   ============================================================ */

:root {
  /* base — navy night (logo navy = --nw-navy-1) */
  --nw-bg: #050b18;
  --nw-bg-2: #081226;
  --nw-navy-1: #0c1d2f;
  --nw-navy-2: #11264a;
  --nw-navy-3: #183463;

  /* accent — the logo green */
  --nw-acc: #09fb8a;
  --nw-acc-hi: #7dffc4;
  --nw-acc-deep: #067a45;
  --nw-ink: #04121f;            /* navy ink used on neon surfaces */
  --nw-grad: linear-gradient(135deg, #b9ffe0 0%, #09fb8a 48%, #067a45 100%);

  /* text on the navy canvas — cool "rain-silver" */
  --nw-tx: rgba(214, 228, 250, .78);
  --nw-tx-strong: #eef4ff;
  --nw-muted: #9db0d0;
  /* Tertiary labels sit on the lifted glass cards, not on --nw-bg; measured
     against those surfaces this lands above 4.5:1. */
  --nw-dim: #7d92b8;

  /* lines / glass */
  --nw-line: rgba(157, 176, 208, .16);
  --nw-line-soft: rgba(157, 176, 208, .085);
  --nw-glass: rgba(150, 180, 240, .035);
  --nw-glass-2: rgba(150, 180, 240, .06);

  /* featured surfaces */
  --nw-neon-surface: linear-gradient(160deg, #143160 0%, #0d1f3d 58%, #0a1730 100%);
  --nw-neon-border: rgba(9, 251, 138, .5);
  --nw-window: linear-gradient(165deg, rgba(22, 44, 86, .9), rgba(8, 18, 38, .94));
  --nw-field: #071226;

  /* radii */
  --nwr-sm: 10px;
  --nwr-md: 16px;
  --nwr-lg: 24px;
  --nwr-xl: 32px;
  --nwr-pill: 9999px;

  /* shadow / glow */
  --nws-sh: 0 30px 80px -30px rgba(0, 0, 0, .85);
  --nws-glow: 0 0 44px -8px rgba(9, 251, 138, .45);
  --nws-neon: 0 0 0 1px rgba(9, 251, 138, .08) inset, 0 0 48px -14px rgba(9, 251, 138, .55), 0 30px 70px -32px rgba(0, 0, 0, .85);

  /* fonts — all three ship latin-ext (ą ć ę ł ń ó ś ź ż) */
  --nwf-disp: 'Sora', 'Segoe UI', system-ui, sans-serif;
  --nwf-body: 'Manrope', 'Segoe UI', system-ui, sans-serif;
  --nwf-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', monospace;

  --nw-mw: 1240px;
  --nw-nav-h: 74px;

  /* rain tiles + skyline, shared by the page layer, the hero and the CTA sign */
  --nw-rain-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='200'%3E%3Cpath d='M14 8l-3 24M52 40l-2 18M88 18l-3 26M30 90l-3 22M72 120l-2 16M106 76l-3 24M8 150l-3 20M60 170l-3 24M96 148l-2 18' stroke='%23bed2ff' stroke-opacity='.55' stroke-width='1' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  --nw-rain-b: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='190' height='300'%3E%3Cpath d='M30 20l-4 38M120 60l-4 34M170 10l-3 30M70 150l-4 40M150 190l-4 36M20 230l-3 32M100 250l-4 38' stroke='%23d6e4ff' stroke-opacity='.6' stroke-width='1.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  --nw-rain-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='200'%3E%3Cpath d='M14 8l-3 24M52 40l-2 18M88 18l-3 26M30 90l-3 22M72 120l-2 16M106 76l-3 24M8 150l-3 20M60 170l-3 24M96 148l-2 18' stroke='%23033a22' stroke-opacity='.28' stroke-width='1.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  --nw-skyline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='300' viewBox='0 0 1200 300'%3E%3Cdefs%3E%3ClinearGradient id='b' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23122a52'/%3E%3Cstop offset='1' stop-color='%23060d1c'/%3E%3C/linearGradient%3E%3Cpattern id='w' width='16' height='20' patternUnits='userSpaceOnUse'%3E%3Crect x='5' y='6' width='4' height='6' fill='%2309fb8a' fill-opacity='.5'/%3E%3C/pattern%3E%3Cpattern id='v' width='22' height='26' patternUnits='userSpaceOnUse'%3E%3Crect x='7' y='8' width='5' height='7' fill='%23bed2ff' fill-opacity='.32'/%3E%3C/pattern%3E%3C/defs%3E%3Cg fill='url(%23b)'%3E%3Crect x='0' y='150' width='70' height='150'/%3E%3Crect x='64' y='90' width='48' height='210'/%3E%3Crect x='108' y='180' width='90' height='120'/%3E%3Crect x='190' y='50' width='40' height='250'/%3E%3Crect x='226' y='130' width='80' height='170'/%3E%3Crect x='300' y='20' width='60' height='280'/%3E%3Crect x='328' y='0' width='3' height='20'/%3E%3Crect x='356' y='160' width='100' height='140'/%3E%3Crect x='450' y='80' width='56' height='220'/%3E%3Crect x='500' y='120' width='74' height='180'/%3E%3Crect x='568' y='35' width='38' height='265'/%3E%3Crect x='600' y='170' width='110' height='130'/%3E%3Crect x='704' y='65' width='64' height='235'/%3E%3Crect x='762' y='140' width='88' height='160'/%3E%3Crect x='844' y='10' width='46' height='290'/%3E%3Crect x='884' y='150' width='96' height='150'/%3E%3Crect x='974' y='95' width='58' height='205'/%3E%3Crect x='1026' y='125' width='84' height='175'/%3E%3Crect x='1104' y='60' width='40' height='240'/%3E%3Crect x='1138' y='160' width='62' height='140'/%3E%3C/g%3E%3Cg fill='url(%23w)'%3E%3Crect x='70' y='104' width='36' height='120'/%3E%3Crect x='196' y='64' width='28' height='150'/%3E%3Crect x='306' y='44' width='48' height='130'/%3E%3Crect x='456' y='94' width='44' height='110'/%3E%3Crect x='574' y='50' width='26' height='160'/%3E%3Crect x='710' y='80' width='52' height='120'/%3E%3Crect x='850' y='30' width='34' height='170'/%3E%3Crect x='980' y='110' width='46' height='100'/%3E%3Crect x='1110' y='76' width='28' height='130'/%3E%3C/g%3E%3Cg fill='url(%23v)'%3E%3Crect x='232' y='142' width='68' height='90'/%3E%3Crect x='506' y='132' width='62' height='100'/%3E%3Crect x='768' y='152' width='76' height='80'/%3E%3Crect x='1032' y='138' width='72' height='90'/%3E%3C/g%3E%3Cg fill='%2309fb8a'%3E%3Crect x='308' y='32' width='44' height='3' rx='1.5'/%3E%3Crect x='852' y='22' width='30' height='3' rx='1.5'/%3E%3Crect x='1110' y='68' width='26' height='2' rx='1'/%3E%3C/g%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--nwf-body);
  background: var(--nw-bg);
  color: var(--nw-tx);
  line-height: 1.75;
  padding-block-start: var(--nw-nav-h);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  position: relative;
}

/* ---- the night: navy sky, neon street-light blooms, wet-asphalt glow ---- */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(70% 45% at 85% -5%, rgba(9, 251, 138, .11), transparent 60%),
    radial-gradient(55% 40% at 8% 12%, rgba(40, 90, 190, .22), transparent 65%),
    radial-gradient(80% 22% at 50% 102%, rgba(9, 251, 138, .10), transparent 70%),
    linear-gradient(180deg, #0a1730 0%, #060e20 42%, #040915 100%);
}
/* the skyline — fixed along the bottom of the viewport */
body::after {
  content: "";
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  height: clamp(150px, 30vh, 300px);
  z-index: -2;
  background: var(--nw-skyline) repeat-x center bottom / auto 100%;
  opacity: .42;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 35%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 35%);
}

/* ---- rain: two parallax streak layers ---- */
.rain {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  opacity: .5;
}
.rain::before,
.rain::after {
  content: "";
  position: absolute;
  inset: -300px 0 0 0;
  will-change: transform;
}
.rain::before { background-image: var(--nw-rain-a); --nw-fall: 200px; animation: nwRain .85s linear infinite; opacity: .6; }
.rain::after { background-image: var(--nw-rain-b); --nw-fall: 300px; animation: nwRain .6s linear infinite; opacity: .45; }
@keyframes nwRain { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, var(--nw-fall), 0); } }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { font-family: inherit; cursor: pointer; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--nw-acc-hi); outline-offset: 3px; border-radius: 4px; }

.wrap { max-width: var(--nw-mw); margin-inline: auto; padding-inline: 24px; }

/* a11y helpers */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; inset-block-start: -60px; inset-inline-start: 16px;
  z-index: 2000;
  padding: 10px 18px;
  border-radius: 0 0 var(--nwr-sm) var(--nwr-sm);
  background: var(--nw-acc); color: var(--nw-ink);
  font-family: var(--nwf-disp); font-weight: 600; font-size: .9rem;
  transition: inset-block-start .2s;
}
.skip-link:focus { inset-block-start: 0; }

/* ---- typography ---- */
h1, h2, h3, h4 {
  font-family: var(--nwf-disp);
  color: var(--nw-tx-strong);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
}
.display {
  font-family: var(--nwf-disp);
  font-weight: 300;
  line-height: 1.18;
  letter-spacing: -.02em;
  color: var(--nw-tx-strong);
}
.display b { font-weight: 700; }
/* emphasis = a neon tube: colour shift plus a soft bloom */
.display .hi { font-weight: 400; color: var(--nw-acc-hi); text-shadow: 0 0 26px rgba(9, 251, 138, .35); }
h1.display { font-size: clamp(2.05rem, 4.4vw, 3.3rem); }
h2.display { font-size: clamp(1.65rem, 3.2vw, 2.5rem); }

.eyebrow {
  font-family: var(--nwf-mono);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--nw-muted);
}
.eyebrow.acc { color: var(--nw-acc-hi); }

.lede { color: var(--nw-muted); font-size: 1.02rem; max-width: 50ch; }

/* ---- buttons ---- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--nwf-disp);
  font-weight: 500;
  font-size: .92rem;
  padding: 13px 26px;
  border-radius: var(--nwr-pill);
  border: 1px solid transparent;
  transition: transform .25s, box-shadow .25s, background .25s;
  white-space: nowrap;
}
.btn svg { width: 17px; height: 17px; }
.btn-primary { background: var(--nw-acc); color: var(--nw-ink); font-weight: 600; box-shadow: var(--nws-glow); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 0 60px -4px rgba(9, 251, 138, .7); }
.btn-ghost {
  background: var(--nw-glass-2);
  color: var(--nw-tx-strong);
  border-color: var(--nw-line);
  backdrop-filter: blur(8px);
}
.btn-ghost:hover { border-color: var(--nw-acc); background: rgba(9, 251, 138, .12); }

/* ---- panel base ---- */
.panel {
  background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass));
  border: 1px solid var(--nw-line);
  border-radius: var(--nwr-lg);
  backdrop-filter: blur(14px);
  box-shadow: var(--nws-sh);
}

section { position: relative; }
.sect { padding-block: 84px; }
.sect-head { max-width: 680px; margin-inline: auto; margin-block-end: 46px; text-align: center; }
.sect-head .eyebrow { display: block; margin-block-end: 14px; }
.sect-head p { color: var(--nw-muted); margin-block-start: 14px; }

/* ============================================================
   NAV
   ============================================================ */
.nav {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  height: var(--nw-nav-h);
  z-index: 1000;
  display: flex;
  align-items: center;
  background: rgba(5, 11, 24, .74);
  backdrop-filter: blur(18px);
  border-block-end: 1px solid var(--nw-line-soft);
}
.nav-in {
  width: 100%;
  max-width: var(--nw-mw);
  margin-inline: auto;
  padding-inline: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* Brand: "Nadwysk AI" is one unit — one colour, one weight, never split. */
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--nwf-disp);
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--nw-tx-strong);
  letter-spacing: .01em;
}
.brand img { width: 32px; height: 32px; flex-shrink: 0; filter: drop-shadow(0 0 8px rgba(9, 251, 138, .35)); }
.brand-name { white-space: nowrap; }

.menu { display: flex; align-items: center; gap: 24px; list-style: none; }
.menu a { font-size: .88rem; color: var(--nw-muted); transition: color .2s; }
.menu a:hover, .menu a.on { color: var(--nw-tx-strong); }
.menu a.on:not(.btn) { text-shadow: 0 0 14px rgba(9, 251, 138, .45); }
.menu .btn { padding: 9px 20px; font-size: .84rem; }
.menu a.btn-primary { color: var(--nw-ink); }

.burger { display: none; flex-direction: column; gap: 5px; background: none; border: none; padding: 6px; }
.burger span { width: 22px; height: 1.6px; background: var(--nw-tx); border-radius: 2px; transition: .3s; }

/* ============================================================
   TICKER
   ============================================================ */
.ticker {
  border-block: 1px solid var(--nw-line-soft);
  background: rgba(9, 20, 44, .55);
  overflow: hidden;
  white-space: nowrap;
}
.ticker-track { display: inline-flex; gap: 46px; padding-block: 11px; will-change: transform; }
.tk {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--nwf-mono);
  font-size: .74rem;
  color: var(--nw-muted);
}
.tk b { color: var(--nw-tx-strong); font-weight: 500; }
.tk .px { color: var(--nw-tx); }
.tk .up { color: #5cf5a8; }
.tk .down { color: #ff8a9a; }
.dot-live {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--nw-acc);
  box-shadow: 0 0 10px var(--nw-acc);
  animation: nwPulse 1.8s ease-in-out infinite;
}
@keyframes nwPulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ============================================================
   HERO — rain-streaked night street | frosted form window
   ============================================================ */
.hero { padding-block: 56px 60px; }
.hero-panel {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  border-radius: var(--nwr-xl);
  overflow: hidden;
  border: 1px solid var(--nw-line);
  box-shadow: var(--nws-sh), 0 0 90px -40px rgba(9, 251, 138, .35);
  position: relative;
}
.hero-left {
  background:
    radial-gradient(110% 90% at 100% 0%, rgba(9, 251, 138, .14), transparent 60%),
    radial-gradient(80% 60% at 0% 100%, rgba(40, 90, 190, .25), transparent 70%),
    linear-gradient(150deg, var(--nw-navy-3), var(--nw-navy-2) 45%, #0a1832);
  padding: 54px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
/* skyline + rain inside the hero, behind the copy */
.hero-left::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  height: 46%;
  background: var(--nw-skyline) repeat-x left bottom / auto 100%;
  opacity: .32;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 45%);
  mask-image: linear-gradient(180deg, transparent, #000 45%);
  pointer-events: none;
}
.hero-left::after {
  content: "";
  position: absolute;
  inset: -200px 0 0 0;
  background-image: var(--nw-rain-a);
  --nw-fall: 200px;
  animation: nwRain .9s linear infinite;
  opacity: .32;
  pointer-events: none;
}
.hero-left > * { position: relative; z-index: 1; }
.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  font-family: var(--nwf-mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--nw-acc-hi);
  padding: 7px 14px;
  border: 1px solid rgba(9, 251, 138, .35);
  border-radius: var(--nwr-pill);
  background: rgba(9, 251, 138, .08);
  box-shadow: 0 0 18px -6px rgba(9, 251, 138, .5);
  margin-block-end: 24px;
}
.hero-chip svg { width: 13px; height: 13px; }
.hero h1 { margin-block-end: 20px; }
.hero-left .lede { margin-block-end: 32px; font-size: 1.05rem; color: #b4c4e0; }

.stat-rows { display: flex; flex-direction: column; }
.stat-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-block: 16px;
  border-block-start: 1px solid var(--nw-line);
  background: linear-gradient(90deg, rgba(5, 11, 24, .35), transparent 70%);
}
.stat-row:last-child { border-block-end: 1px solid var(--nw-line); }
.stat-row .val {
  font-family: var(--nwf-disp);
  font-weight: 300;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: var(--nw-tx-strong);
  white-space: nowrap;
}
.stat-row .lbl {
  font-family: var(--nwf-mono);
  font-size: .64rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nw-muted);
  text-align: end;
}

/* hero right — the frosted "wet window" holding the form */
.hero-right {
  background: var(--nw-window);
  color: var(--nw-tx);
  padding: 40px 40px 34px;
  display: flex;
  flex-direction: column;
  position: relative;
  border-inline-start: 1px solid var(--nw-line);
  box-shadow: inset 0 1px 0 rgba(9, 251, 138, .45);
}
/* condensation: fine droplets fading out from the top corner */
.hero-right::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(rgba(214, 228, 255, .12) 1px, transparent 1.6px),
    radial-gradient(rgba(214, 228, 255, .07) 1.4px, transparent 2px);
  background-size: 22px 22px, 37px 41px;
  background-position: 0 0, 11px 7px;
  -webkit-mask-image: radial-gradient(120% 90% at 100% 0%, #000, transparent 70%);
  mask-image: radial-gradient(120% 90% at 100% 0%, #000, transparent 70%);
  pointer-events: none;
}
.hero-right > * { position: relative; }

/* ---- registration form ---- */
.form-card h2 { font-weight: 600; font-size: 1.28rem; color: var(--nw-tx-strong); }
.form-card .note {
  font-family: var(--nwf-mono);
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nw-acc-hi);
  margin-block: 5px 16px;
}
.reg input[type="text"],
.reg input[type="email"],
.reg input[type="tel"] {
  width: 100%;
  background: var(--nw-field);
  border: 1px solid rgba(157, 176, 208, .28);
  border-radius: var(--nwr-sm);
  padding: 12px 14px;
  color: var(--nw-tx-strong);
  font-family: var(--nwf-body);
  font-size: .94rem;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.reg input::placeholder { color: rgba(214, 228, 250, .5); }
.reg input:focus { border-color: var(--nw-acc); box-shadow: 0 0 0 3px rgba(9, 251, 138, .2); }
.reg form > div { margin-block-end: 10px; }

/* ---- phone field (intl-tel-input v25) ----------------------------------
   Laid out as a flex row where the country selector is a real item, so
   nothing depends on the padding the library measures and writes from JS
   (its stylesheet loads async, and an early measurement is never redone).
   The field chrome sits on .iti so selector and digits read as one control. */
.iti {
  --iti-hover-color: rgba(9, 251, 138, .1);
  --iti-border-color: rgba(157, 176, 208, .28);
  --iti-dialcode-color: var(--nw-muted);
  --iti-dropdown-bg: #0a1a33;
  --iti-arrow-color: var(--nw-muted);
  width: 100%;
  display: flex;
  align-items: stretch;
  background: var(--nw-field);
  border: 1px solid rgba(157, 176, 208, .28);
  border-radius: var(--nwr-sm);
  transition: border-color .2s, box-shadow .2s;
}
.iti:focus-within { border-color: var(--nw-acc); box-shadow: 0 0 0 3px rgba(9, 251, 138, .2); }

.iti__country-container {
  position: relative;
  inset: auto;
  flex: 0 0 auto;
  border-inline-end: 1px solid rgba(157, 176, 208, .2);
}
.iti .iti__selected-dial-code { color: var(--nw-tx-strong); }
.iti__arrow { border-top-color: var(--nw-muted); }
.iti__arrow--up { border-bottom-color: var(--nw-muted); }

/* !important is load-bearing: it overrides the inline padding-left the
   library writes on init and on every country change. */
.iti > input[type="tel"] {
  flex: 1 1 auto;
  min-width: 0;
  border: none;
  background: transparent;
  border-radius: 0;
  padding-inline: 14px !important;
}
.iti > input[type="tel"]:focus { box-shadow: none; }

/* dark country dropdown (inline and the mobile full-screen popup) */
.iti__dropdown-content {
  background: #0a1a33;
  color: var(--nw-tx-strong);
  border: 1px solid var(--nw-line);
  border-radius: var(--nwr-sm);
  box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .9);
}
.iti__search-input {
  background: var(--nw-field);
  color: var(--nw-tx-strong);
  border: none;
  border-block-end: 1px solid var(--nw-line);
  padding: 10px 12px;
  font-family: var(--nwf-body);
}
.iti__search-input::placeholder { color: rgba(214, 228, 250, .5); }
.iti__country.iti__highlight { background: rgba(9, 251, 138, .14); }
.iti__dial-code { color: var(--nw-muted); }
.iti--fullscreen-popup.iti--container { background: rgba(3, 7, 16, .7); }

#phone { direction: ltr; text-align: left; }

.phone-error {
  display: none;
  margin-block-start: 6px;
  font-size: .8rem;
  line-height: 1.6;
  color: #ff9aa6;
}
.phone-error.on { display: block; }

#submit-btn {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: var(--nwr-sm);
  background: var(--nw-acc);
  color: var(--nw-ink);
  font-family: var(--nwf-disp);
  font-size: .98rem;
  font-weight: 700;
  margin-block-start: 4px;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 0 34px -8px rgba(9, 251, 138, .65);
}
#submit-btn:hover { transform: translateY(-2px); box-shadow: 0 0 46px -4px rgba(9, 251, 138, .8); }
.form-tip {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  color: var(--nw-muted);
  margin-block-start: 14px;
}
.form-tip svg { width: 16px; height: 16px; color: var(--nw-acc); flex-shrink: 0; }

.form-card .trust { margin-block-start: 22px; border-block-start: 1px solid var(--nw-line); }
.trust-item { display: flex; align-items: center; gap: 13px; padding-block: 14px; border-block-end: 1px solid var(--nw-line); }
.trust-item:last-child { border-block-end: none; }
.trust-ico {
  width: 36px; height: 36px; flex-shrink: 0;
  display: grid; place-items: center;
  border-radius: 10px;
  background: rgba(9, 251, 138, .1);
  border: 1px solid rgba(9, 251, 138, .28);
}
.trust-ico svg { width: 18px; height: 18px; color: var(--nw-acc); }
.trust-item b { display: block; font-family: var(--nwf-disp); font-weight: 600; font-size: .94rem; color: var(--nw-tx-strong); line-height: 1.4; }
.trust-item span { font-size: .78rem; color: var(--nw-muted); }

/* ============================================================
   VOICES (text testimonials)
   ============================================================ */
.voices-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.voice {
  display: flex;
  flex-direction: column;
  border-radius: var(--nwr-lg);
  border: 1px solid var(--nw-line);
  background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass));
  backdrop-filter: blur(6px);
  padding: 30px 28px;
  transition: transform .3s, border-color .3s;
  position: relative;
  overflow: hidden;
}
.voice:hover { transform: translateY(-5px); border-color: rgba(9, 251, 138, .45); }
.voice::after {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  height: 2px;
  background: var(--nw-grad);
  opacity: .7;
}
.voice-mark { width: 34px; height: 34px; color: var(--nw-acc); opacity: .45; margin-block-end: 14px; }
.voice-mark svg { width: 100%; height: 100%; }
.voice .stars { margin-block-end: 14px; }
.voice-qt {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--nw-tx-strong);
  font-weight: 400;
  flex: 1;
  margin-block-end: 20px;
}
.voice-who { display: flex; align-items: center; gap: 13px; padding-block-start: 18px; border-block-start: 1px solid var(--nw-line-soft); }
.voice-av {
  width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center;
  font-family: var(--nwf-disp); font-weight: 700; font-size: .84rem;
  color: var(--nw-ink); background: var(--nw-grad);
}
.voice-name { font-family: var(--nwf-disp); font-weight: 600; font-size: .96rem; color: var(--nw-tx-strong); }
.voice-loc { font-family: var(--nwf-mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--nw-acc-hi); }

.stars { display: flex; gap: 3px; }
.stars svg { width: 15px; height: 15px; color: var(--nw-acc); }

/* ============================================================
   SPLIT (image + copy)
   ============================================================ */
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  border-radius: var(--nwr-xl);
  overflow: hidden;
  border: 1px solid var(--nw-line);
}
.split-media { position: relative; min-height: 380px; overflow: hidden; }
.split-media img { width: 100%; height: 100%; object-fit: cover; }
.split-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 40%, rgba(5, 11, 24, .45));
  pointer-events: none;
}
.split-copy {
  padding: 52px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(90% 70% at 100% 0%, rgba(9, 251, 138, .07), transparent 60%),
    linear-gradient(160deg, var(--nw-navy-2), var(--nw-navy-1));
}
.split-copy .eyebrow { margin-block-end: 14px; }
.split-copy h2 { margin-block-end: 18px; }
.split-copy p { color: var(--nw-muted); margin-block-end: 14px; }
.split-copy p:last-child { margin-block-end: 0; }
.split.reverse .split-media { order: 2; }

/* ============================================================
   CAPABILITY CARDS
   ============================================================ */
.caps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cap {
  border-radius: var(--nwr-lg);
  border: 1px solid var(--nw-line);
  background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass));
  backdrop-filter: blur(6px);
  padding: 30px 28px;
  transition: transform .3s, border-color .3s, background .3s;
  position: relative;
  overflow: hidden;
}
.cap:hover { transform: translateY(-4px); border-color: rgba(9, 251, 138, .42); }
/* featured card: navy panel lit by a neon tube along its top edge */
.cap.feat {
  background: var(--nw-neon-surface);
  border-color: var(--nw-neon-border);
  box-shadow: var(--nws-neon);
}
.cap.feat::before,
.gcard.mid::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--nw-acc);
  box-shadow: 0 0 14px 1px rgba(9, 251, 138, .8);
}
.cap-ico {
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: 13px;
  border: 1px solid rgba(9, 251, 138, .22);
  background: rgba(9, 251, 138, .09);
  margin-block-end: 18px;
}
.cap-ico svg { width: 22px; height: 22px; color: var(--nw-acc-hi); }
.cap.feat .cap-ico { background: rgba(9, 251, 138, .16); border-color: rgba(9, 251, 138, .45); box-shadow: 0 0 20px -6px rgba(9, 251, 138, .6); }
.cap h3 { font-size: 1.1rem; font-weight: 600; margin-block-end: 10px; }
.cap p { color: var(--nw-muted); font-size: .93rem; line-height: 1.75; }
.cap.feat p { color: #b4c4e0; }

/* ============================================================
   METRICS
   ============================================================ */
.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--nw-line);
  border-radius: var(--nwr-lg);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(17, 38, 74, .55), rgba(10, 23, 48, .55));
  backdrop-filter: blur(8px);
}
.metric { padding: 34px 26px; text-align: center; border-inline-end: 1px solid var(--nw-line-soft); }
.metric:last-child { border-inline-end: none; }
.metric .val {
  font-family: var(--nwf-disp);
  font-weight: 300;
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  color: var(--nw-tx-strong);
  white-space: nowrap;
}
.metric .val b { font-weight: 300; color: var(--nw-acc-hi); }
.metric .lbl { font-family: var(--nwf-mono); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--nw-muted); margin-block-start: 8px; }

.agg-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-block-end: 30px; }
.agg { border: 1px solid var(--nw-line); border-radius: var(--nwr-md); padding: 26px 24px; background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass)); }
.agg .v { font-family: var(--nwf-disp); font-weight: 300; font-size: 2.2rem; color: var(--nw-tx-strong); white-space: nowrap; }
.agg .v b { color: var(--nw-acc-hi); font-weight: 300; }
.agg .l { color: var(--nw-muted); font-size: .9rem; margin-block-start: 6px; }

/* ============================================================
   STEPS
   ============================================================ */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; position: relative; }
.step {
  border: 1px solid var(--nw-line);
  border-radius: var(--nwr-lg);
  padding: 28px 26px;
  background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass));
  backdrop-filter: blur(6px);
  position: relative;
}
.step-dot {
  position: absolute;
  inset-block-start: 28px;
  inset-inline-end: 26px;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--nw-acc); box-shadow: 0 0 16px 2px rgba(9, 251, 138, .65);
}
.step .num { font-family: var(--nwf-mono); font-size: .72rem; letter-spacing: .1em; color: var(--nw-acc-hi); }
.step h3 { font-size: 1.06rem; font-weight: 600; margin-block: 8px; }
.step p { color: var(--nw-muted); font-size: .91rem; }

/* ============================================================
   RESULTS CAROUSEL
   ============================================================ */
.carousel { position: relative; }
.carousel-viewport { overflow: hidden; padding-block: 4px; }
.carousel-track { display: flex; gap: 20px; transition: transform .5s cubic-bezier(.6, .05, .1, 1); }
.gcard {
  flex: 0 0 calc((100% - 40px) / 3);
  border-radius: var(--nwr-lg);
  border: 1px solid var(--nw-line);
  background: linear-gradient(180deg, rgba(17, 38, 74, .5), rgba(10, 23, 48, .5));
  padding: 30px 28px;
  transition: border-color .3s, transform .3s;
  position: relative;
}
.gcard.mid {
  background: var(--nw-neon-surface);
  border-color: var(--nw-neon-border);
  box-shadow: var(--nws-neon);
}
.gcard-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-block-end: 16px; }
.gbadge {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--nwf-mono); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--nw-acc-hi);
  padding: 5px 10px;
  border-radius: var(--nwr-pill);
  border: 1px solid rgba(9, 251, 138, .28);
  background: rgba(9, 251, 138, .1);
}
.gbadge svg { width: 11px; height: 11px; }
.gcard .tagline { font-family: var(--nwf-mono); font-size: .64rem; color: var(--nw-muted); }
.gsum { font-family: var(--nwf-disp); font-weight: 300; font-size: 2.4rem; color: var(--nw-tx-strong); white-space: nowrap; }
.gper { font-family: var(--nwf-mono); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var(--nw-acc-hi); margin-block-end: 14px; }
.gspark { width: 100%; height: 40px; display: block; margin-block-end: 16px; }
.gspark .ln { fill: none; stroke: var(--nw-acc); stroke-width: 2; filter: drop-shadow(0 0 4px rgba(9, 251, 138, .7)); }
.gqt { font-size: .93rem; color: var(--nw-muted); line-height: 1.75; margin-block-end: 18px; }
.gcard.mid .gqt { color: #b4c4e0; }
.gwho { display: flex; align-items: center; gap: 12px; }
.gav {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  display: grid; place-items: center;
  font-family: var(--nwf-disp); font-weight: 700; font-size: .82rem;
  color: var(--nw-ink); background: var(--nw-grad);
}
.gnm { font-family: var(--nwf-disp); font-weight: 600; font-size: .94rem; color: var(--nw-tx-strong); }
.gcity { font-family: var(--nwf-mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; color: var(--nw-muted); }

.gcta {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%;
  margin-block-start: 20px;
  padding: 12px 20px;
  font-family: var(--nwf-disp); font-weight: 600; font-size: .9rem;
  border-radius: var(--nwr-pill);
  border: 1px solid transparent;
  background: var(--nw-acc);
  color: var(--nw-ink);
  box-shadow: var(--nws-glow);
  transition: transform .25s, box-shadow .25s;
}
.gcta svg { width: 15px; height: 15px; }
.gcta:hover { transform: translateY(-2px); box-shadow: 0 0 50px -6px rgba(9, 251, 138, .75); }

.carousel-nav { display: flex; align-items: center; justify-content: center; gap: 20px; margin-block-start: 32px; }
.cbtn {
  width: 46px; height: 46px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--nw-glass-2);
  border: 1px solid var(--nw-line);
  color: var(--nw-tx-strong);
  transition: .25s;
}
.cbtn:hover { border-color: var(--nw-acc); background: rgba(9, 251, 138, .14); }
.cbtn svg { width: 18px; height: 18px; }
.dots { display: flex; gap: 8px; }
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nw-line); border: none; transition: .25s; padding: 0; }
.dot.on { width: 26px; border-radius: var(--nwr-pill); background: var(--nw-acc); box-shadow: 0 0 10px rgba(9, 251, 138, .7); }

.disclaimer { font-size: .8rem; color: var(--nw-muted); text-align: center; max-width: 780px; margin-inline: auto; margin-block-start: 30px; line-height: 1.8; }

/* ============================================================
   CTA — a neon sign in the rain
   ============================================================ */
.cta-band {
  border-radius: var(--nwr-xl);
  padding: 64px 40px;
  text-align: center;
  background:
    radial-gradient(80% 120% at 50% 0%, rgba(255, 255, 255, .35), transparent 60%),
    linear-gradient(135deg, #47ffad 0%, #09fb8a 45%, #05d97a 100%);
  border: 1px solid rgba(185, 255, 224, .7);
  box-shadow: 0 0 90px -18px rgba(9, 251, 138, .65), 0 30px 70px -30px rgba(0, 0, 0, .8);
  position: relative;
  overflow: hidden;
  color: var(--nw-ink);
}
.cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--nw-rain-ink);
  pointer-events: none;
}
.cta-band > * { position: relative; }
.cta-band h2 { color: var(--nw-ink); margin-block-end: 14px; }
.cta-band .display .hi { color: #04432a; text-shadow: none; }
.cta-band p { color: #0b3324; margin-inline: auto; margin-block-end: 28px; max-width: 50ch; font-weight: 500; }
.cta-band .btn-primary { background: var(--nw-ink); color: var(--nw-acc); box-shadow: 0 14px 34px -14px rgba(2, 10, 20, .85); }
.cta-band .btn-primary:hover { box-shadow: 0 18px 40px -12px rgba(2, 10, 20, .9); }
.cta-band .btn-primary:focus-visible { outline-color: var(--nw-ink); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  border-block-start: 1px solid var(--nw-line-soft);
  padding-block-start: 68px;
  margin-block-start: 40px;
  background: linear-gradient(180deg, rgba(5, 11, 24, .4), rgba(5, 11, 24, .85));
  backdrop-filter: blur(4px);
}
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 30px; }
.footer-brand .brand { margin-block-end: 16px; }
.footer-brand p { color: var(--nw-muted); font-size: .9rem; max-width: 40ch; }
.footer-col h2 { font-family: var(--nwf-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--nw-muted); font-weight: 500; margin-block-end: 16px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 11px; }
.footer-col a { color: var(--nw-muted); font-size: .9rem; transition: color .2s; }
.footer-col a:hover { color: var(--nw-acc-hi); }
.footer-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  border-block-start: 1px solid var(--nw-line-soft);
  margin-block-start: 48px; padding-block: 22px;
  font-size: .82rem; color: var(--nw-muted);
}
.footer-bar .lnk { display: flex; gap: 20px; }
.footer-bar a:hover { color: var(--nw-acc-hi); }

.risk { background: rgba(4, 9, 21, .92); border-block-start: 1px solid var(--nw-line-soft); padding-block: 22px; }
.risk p { font-size: .78rem; color: var(--nw-muted); line-height: 1.8; max-width: var(--nw-mw); }

/* ============================================================
   REVEAL
   ============================================================ */
.nw-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.nw-reveal.on { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .nw-reveal { opacity: 1; transform: none; transition: none; }
  .rain::before, .rain::after, .hero-left::after { animation: none; }
  .dot-live { animation: none; }
  html { scroll-behavior: auto; }
}

/* ============================================================
   INNER PAGE COMPONENTS
   ============================================================ */
.page-head { text-align: center; max-width: 800px; margin-inline: auto; padding-block: 20px 8px; }
.page-head .eyebrow { display: block; margin-block-end: 14px; }
.page-head p { color: var(--nw-muted); margin-inline: auto; margin-block-start: 16px; max-width: 62ch; }
.page-head .updated { font-family: var(--nwf-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--nw-muted); margin-block-start: 14px; }

/* Capped at the photos' intrinsic 800px width so the image fills the frame
   exactly; height-agnostic, so no photo is ever stretched. */
.media-frame { max-width: 800px; margin-inline: auto; border-radius: var(--nwr-xl); overflow: hidden; border: 1px solid var(--nw-line); box-shadow: var(--nws-sh), 0 0 70px -30px rgba(9, 251, 138, .35); position: relative; }
.media-frame img { width: 100%; height: auto; }
.media-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, transparent 45%, rgba(5, 11, 24, .4)); pointer-events: none; }

.city-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.city-chip { font-family: var(--nwf-mono); font-size: .74rem; letter-spacing: .06em; color: var(--nw-tx-strong); padding: 9px 20px; border-radius: var(--nwr-pill); border: 1px solid rgba(9, 251, 138, .3); background: rgba(9, 251, 138, .06); box-shadow: 0 0 18px -8px rgba(9, 251, 138, .55); }

.cap.team { text-align: center; }
.cap.team .role { font-family: var(--nwf-mono); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--nw-acc-hi); display: block; margin-block-end: 10px; }
.cap.team .av {
  width: 58px; height: 58px; border-radius: 50%;
  margin-inline: auto; margin-block-end: 16px;
  display: grid; place-items: center;
  font-family: var(--nwf-disp); font-weight: 700; color: var(--nw-ink);
  background: var(--nw-grad); box-shadow: var(--nws-glow);
}

.blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.post { display: flex; flex-direction: column; border-radius: var(--nwr-lg); border: 1px solid var(--nw-line); background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass)); backdrop-filter: blur(6px); padding: 28px 26px; transition: transform .3s, border-color .3s; }
.post:hover { transform: translateY(-4px); border-color: rgba(9, 251, 138, .42); }
.post-tag { align-self: flex-start; font-family: var(--nwf-mono); font-size: .6rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; padding: 4px 11px; border-radius: var(--nwr-pill); margin-block-end: 14px; border: 1px solid var(--nw-line); }
.post-tag.ai { color: #c9d6ee; background: rgba(201, 214, 238, .08); border-color: rgba(201, 214, 238, .24); }
.post-tag.crypto { color: var(--nw-acc-hi); background: rgba(9, 251, 138, .1); border-color: rgba(9, 251, 138, .26); }
.post h3 { font-size: 1.1rem; font-weight: 600; line-height: 1.45; margin-block-end: 10px; }
.post p { color: var(--nw-muted); font-size: .93rem; line-height: 1.75; flex: 1; }
.post-meta { display: flex; justify-content: space-between; gap: 12px; margin-block-start: 16px; padding-block-start: 14px; border-block-start: 1px solid var(--nw-line-soft); font-family: var(--nwf-mono); font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; color: var(--nw-dim); }

/* FAQ accordion — WAI-ARIA APG pattern: the button lives INSIDE the heading. */
.faq-list { max-width: 820px; margin-inline: auto; display: flex; flex-direction: column; gap: 12px; }
.faq-item { border: 1px solid var(--nw-line); border-radius: var(--nwr-md); background: linear-gradient(180deg, var(--nw-glass-2), var(--nw-glass)); backdrop-filter: blur(6px); overflow: hidden; transition: border-color .3s; }
.faq-item:hover, .faq-item.open { border-color: rgba(9, 251, 138, .4); }
.faq-h { margin: 0; font-size: inherit; font-weight: inherit; }
.faq-q {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  width: 100%;
  padding: 20px 24px;
  background: none; border: none;
  font-family: var(--nwf-disp); font-size: 1rem; font-weight: 500;
  color: var(--nw-tx-strong);
  text-align: start;
  line-height: 1.55;
}
.faq-q:focus-visible { outline: 2px solid var(--nw-acc-hi); outline-offset: -3px; }
.faq-q svg { width: 18px; height: 18px; color: var(--nw-acc); flex-shrink: 0; transition: transform .3s; }
.faq-item.open .faq-q svg { transform: rotate(180deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.faq-item.open .faq-a { max-height: 560px; }
.faq-a p { padding: 0 24px 20px; color: var(--nw-muted); font-size: .95rem; line-height: 1.85; }

.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.info-col { display: flex; flex-direction: column; gap: 20px; }
.info-media { border-radius: var(--nwr-lg); overflow: hidden; border: 1px solid var(--nw-line); }
.info-row { display: flex; align-items: flex-start; gap: 14px; }
.info-ico { width: 42px; height: 42px; flex-shrink: 0; display: grid; place-items: center; border-radius: 12px; border: 1px solid rgba(9, 251, 138, .22); background: rgba(9, 251, 138, .09); }
.info-ico svg { width: 20px; height: 20px; color: var(--nw-acc-hi); }
.info-row h3 { font-size: 1rem; font-weight: 600; margin-block-end: 3px; }
.info-row p { color: var(--nw-muted); font-size: .92rem; }
.info-row a, .notice p a { color: var(--nw-acc-hi); }
.info-row a:hover, .notice p a:hover { text-decoration: underline; }
.muted { color: var(--nw-muted); }
.reg-list { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.reg-list li { display: flex; align-items: flex-start; gap: 12px; color: var(--nw-muted); font-size: .95rem; }
.reg-list svg { width: 20px; height: 20px; color: var(--nw-acc-hi); flex-shrink: 0; margin-block-start: 4px; }

/* No overflow:hidden — it would clip the country dropdown. The droplet layer
   takes the radius itself instead. */
.form-card.solo {
  background: var(--nw-window);
  border: 1px solid var(--nw-line);
  border-radius: var(--nwr-lg);
  box-shadow: var(--nws-sh), inset 0 1px 0 rgba(9, 251, 138, .45);
  color: var(--nw-tx);
  padding: 36px 34px;
  position: relative;
  backdrop-filter: blur(10px);
}
.form-card.solo::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image:
    radial-gradient(rgba(214, 228, 255, .12) 1px, transparent 1.6px),
    radial-gradient(rgba(214, 228, 255, .07) 1.4px, transparent 2px);
  background-size: 22px 22px, 37px 41px;
  background-position: 0 0, 11px 7px;
  -webkit-mask-image: radial-gradient(120% 90% at 100% 0%, #000, transparent 70%);
  mask-image: radial-gradient(120% 90% at 100% 0%, #000, transparent 70%);
  pointer-events: none;
}
.form-card.solo > * { position: relative; }

.legal { max-width: 860px; margin-inline: auto; padding: 40px 44px; border-radius: var(--nwr-lg); border: 1px solid var(--nw-line); background: linear-gradient(180deg, rgba(10, 23, 48, .72), rgba(6, 14, 30, .78)); backdrop-filter: blur(8px); }
.legal h2 { font-family: var(--nwf-disp); font-size: 1.24rem; font-weight: 600; color: var(--nw-tx-strong); margin-block: 34px 12px; }
.legal h2:first-child { margin-block-start: 0; }
.legal p { color: var(--nw-muted); font-size: .96rem; line-height: 1.9; margin-block-end: 12px; }
.legal ul { color: var(--nw-muted); font-size: .96rem; line-height: 1.9; margin-block-end: 12px; margin-inline-start: 20px; }
.legal a { color: var(--nw-acc-hi); }

/* standalone centred notice (thanks / 404) */
.notice { max-width: 640px; margin-inline: auto; text-align: center; padding-block: 60px; }
.notice .ico { width: 76px; height: 76px; margin-inline: auto; margin-block-end: 26px; display: grid; place-items: center; border-radius: 22px; background: rgba(9, 251, 138, .1); border: 1px solid rgba(9, 251, 138, .4); box-shadow: 0 0 40px -10px rgba(9, 251, 138, .6); }
.notice .ico svg { width: 34px; height: 34px; color: var(--nw-acc); }
.notice p { color: var(--nw-muted); margin-block-start: 16px; }
.notice .btn { margin-block-start: 30px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .menu { gap: 18px; }
}

@media (max-width: 960px) {
  .hero-panel { grid-template-columns: 1fr; }
  .hero-left { padding: 44px 34px; }
  .hero-right { border-inline-start: none; border-block-start: 1px solid var(--nw-line); }
  .split { grid-template-columns: 1fr; }
  .split.reverse .split-media { order: 0; }
  .split-media { min-height: 260px; }
  .voices-row { grid-template-columns: 1fr; max-width: 540px; margin-inline: auto; }
  .caps-grid { grid-template-columns: repeat(2, 1fr); }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(2) { border-inline-end: none; }
  .metric:nth-child(1), .metric:nth-child(2) { border-block-end: 1px solid var(--nw-line-soft); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .agg-row { grid-template-columns: 1fr; }
  .gcard { flex: 0 0 calc((100% - 20px) / 2); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .blog-grid { grid-template-columns: 1fr; }
  .duo { grid-template-columns: 1fr; }
}

/* Polish nav labels are longer than the English ones: collapse to the
   burger before the menu can collide with the brand. */
@media (max-width: 900px) {
  :root { --nw-nav-h: 66px; }
  .menu { display: none; }
  .burger { display: flex; }
  .nav.open .menu {
    display: flex;
    position: absolute;
    inset-block-start: var(--nw-nav-h);
    inset-inline: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 18px 24px 24px;
    background: rgba(5, 11, 24, .97);
    backdrop-filter: blur(18px);
    border-block-end: 1px solid var(--nw-line);
  }
  .nav.open .menu a { padding-block: 10px; font-size: .98rem; }
  .nav.open .menu .btn { justify-content: center; margin-block-start: 8px; }
}

@media (max-width: 680px) {
  .sect { padding-block: 60px; }
  .hero-left { padding: 38px 24px; }
  .hero-right { padding: 30px 24px; }
  .caps-grid { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: 1fr; }
  .metric { border-inline-end: none; border-block-end: 1px solid var(--nw-line-soft); }
  .metric:last-child { border-block-end: none; }
  .steps { grid-template-columns: 1fr; }
  .gcard { flex: 0 0 100%; }
  .split-copy { padding: 38px 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-bar { flex-direction: column; gap: 12px; text-align: center; }
  .cta-band { padding: 48px 24px; }
  .form-card.solo { padding: 30px 22px; }
  .legal { padding: 28px 22px; }
  .stat-row .lbl { letter-spacing: .08em; }
}
