
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'DM Sans',sans-serif; background:#F7F9FB; color:#0D1F2D; overflow-x:hidden; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }
ul, ol { list-style:none; }
img { max-width:100%; display:block; }
button { cursor:pointer; font-family:inherit; }

:root {
  --navy:     #0D1F2D;
  --teal:     #00A896;
  --teal-2:   #4FBFB0;
  --teal-3:   rgba(0,168,150,.15);
  --white:    #F7F9FB;
  --slate:    #4A5568;
  --green:    #2D6A4F;
  --midnavy:  #1A3347;
  --deepnavy: #060F17;
  --lteal:    #E6F7F5;
}

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:rgba(13,31,45,.97); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,168,150,.12);
  padding:0 5vw; height:62px;
  display:flex; align-items:center; justify-content:space-between;
  transition:box-shadow .3s;
}
.nav-logo {
  font-family:'Fraunces',serif; font-weight:700; font-size:21px;
  color:#F7F9FB; display:flex; align-items:center; gap:.7rem; white-space:nowrap;
}
.nav-logo span { color:#00A896; }
.nav-right { display:flex; align-items:center; gap:2rem; }
.nav-link {
  position:relative;
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(247,249,251,.78); transition:color .2s;
  padding:.4rem 0;
}
.nav-link:hover { color:#00A896; }
.nav-link[aria-current="true"] { color:#00A896; }
.nav-link[aria-current="true"]::after {
  content:''; position:absolute; left:0; right:0; bottom:-2px;
  height:1px; background:#00A896;
}
.nav-cta {
  background:#00A896; color:#fff; padding:.55rem 1.3rem;
  font-size:13px; font-weight:600; border-radius:2px; transition:background .2s;
  white-space:nowrap;
}
.nav-cta:hover { background:#009485; }

/* mobile menu trigger */
.nav-toggle {
  display:none;
  background:none; border:1px solid rgba(247,249,251,.18);
  color:rgba(247,249,251,.85); padding:.4rem .8rem;
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; border-radius:2px;
}
.nav-toggle:hover { border-color:#00A896; color:#00A896; }
.nav-mobile {
  display:none;
  position:fixed; top:62px; left:0; right:0;
  background:rgba(13,31,45,.99); backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(0,168,150,.18);
  padding:1rem 5vw 1.4rem;
  z-index:199;
}
.nav-mobile.open { display:block; }
.nav-mobile a {
  display:block; padding:.85rem 0;
  font-family:'DM Mono',monospace; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(247,249,251,.78);
  border-bottom:1px solid rgba(247,249,251,.06);
}
.nav-mobile a:last-child { border-bottom:none; }
.nav-mobile a:hover { color:#00A896; }
.nav-mobile-mail {
  margin-top:.4rem; font-family:'DM Sans',sans-serif !important;
  font-size:13px !important; letter-spacing:0 !important;
  text-transform:none !important; color:#00A896 !important;
}

/* ─── HERO ─── */
.hero {
  background:var(--navy); min-height:100vh;
  display:grid; grid-template-columns:1.1fr 0.9fr;
  align-items:center; padding:100px 5vw 80px; gap:4rem;
  position:relative; overflow:hidden;
}
.hero::before {
  content:''; position:absolute; top:-28%; right:-14%;
  width:72vw; height:72vw; border-radius:50%;
  border:1px solid rgba(0,168,150,.08); pointer-events:none;
}
.hero-eyebrow {
  display:flex; align-items:center; gap:.8rem;
  font-family:'DM Mono',monospace; font-size:11px;
  letter-spacing:.26em; color:#00A896; text-transform:uppercase;
  margin-bottom:1.6rem;
}
.hero-eyebrow::before { content:''; width:22px; height:1px; background:#00A896; }
.hero-h1 {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:clamp(32px,4vw,56px); color:#F7F9FB;
  line-height:1.08; letter-spacing:-.025em; margin-bottom:1.6rem;
  text-wrap:balance;
}
.hero-h1 em {
  font-style:italic; font-weight:300; color:#00A896;
  display:block; margin-top:.1em;
}
.hero-sub {
  font-family:'DM Sans',sans-serif;
  font-size:16px; line-height:1.78; color:rgba(247,249,251,.85);
  margin-bottom:2.2rem; max-width:540px;
}
.hero-sub strong { color:#F7F9FB; font-weight:600; }
.hero-ctas { display:flex; gap:.9rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.btn-primary {
  display:inline-flex; align-items:center; gap:.5rem;
  background:#00A896; color:#fff; padding:.95rem 1.7rem;
  font-size:14px; font-weight:600; border-radius:2px;
  transition:background .2s, transform .15s; border:none;
}
.btn-primary:hover { background:#009485; transform:translateY(-1px); }
.btn-ghost {
  display:inline-flex; align-items:center; gap:.5rem;
  color:rgba(247,249,251,.78); padding:.95rem 1.4rem;
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.08em;
  border:1px solid rgba(247,249,251,.22); border-radius:2px; transition:all .2s;
  text-transform:uppercase;
}
.btn-ghost:hover { border-color:#00A896; color:#00A896; }
.hero-tertiary {
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:13px; color:rgba(247,249,251,.7);
  border-bottom:1px dotted rgba(247,249,251,.4);
  padding-bottom:1px; margin-bottom:1.8rem;
  transition:color .2s, border-color .2s;
}
.hero-tertiary:hover { color:#00A896; border-color:#00A896; }
.hero-micro {
  font-family:'DM Sans',sans-serif;
  font-size:12px; color:rgba(247,249,251,.72); letter-spacing:0;
  line-height:1.7;
  display:flex; flex-wrap:wrap; gap:1.2rem;
}
.hero-micro span {
  display:flex; align-items:center; gap:1.2rem;
}
.hero-micro span:not(:last-child)::after {
  content:''; width:1px; height:11px;
  background:rgba(247,249,251,.22);
}
.hero-micro strong { color:#F7F9FB; font-weight:600; }

/* ─── TERMINAL (desktop) ─── */
.hero-terminal { background:#060F17; border:1px solid rgba(0,168,150,.2); border-radius:4px; overflow:hidden; }
.term-bar { background:#0A1A25; padding:.75rem 1rem; display:flex; align-items:center; gap:.45rem; border-bottom:1px solid rgba(0,168,150,.1); }
.dot { width:10px; height:10px; border-radius:50%; }
.dot-r{background:#FF5F57;} .dot-y{background:#FEBC2E;} .dot-g{background:#28C840;}
.term-title { font-family:'DM Mono',monospace; font-size:10px; color:rgba(247,249,251,.55); letter-spacing:.1em; margin-left:auto; }
.term-body { padding:1.5rem 1.8rem; font-family:'DM Mono',monospace; font-size:12px; line-height:2.1; }
.tc { color:rgba(0,168,150,.85); }
.tk { color:#00A896; }
.tv { color:#5AD49A; }
.tp { color:rgba(247,249,251,.65); }
.tl { color:rgba(247,249,251,.78); }
.tok { color:#5AD49A; font-weight:500; }

/* ─── HERO CHAIN FALLBACK (tablet/mobile) ─── */
.hero-chain {
  display:none;
  background:#060F17; border:1px solid rgba(0,168,150,.2); border-radius:4px;
  padding:1.6rem 1.8rem;
}
.hero-chain-lbl {
  font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(247,249,251,.6);
  margin-bottom:1rem;
  display:flex; align-items:center; gap:.6rem;
}
.hero-chain-lbl::before {
  content:''; width:14px; height:1px; background:#00A896;
}
.hero-chain-flow { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-bottom:1.1rem; }
.hero-chain-flow .c-node {
  font-family:'DM Mono',monospace; font-size:12px; font-weight:500;
  color:#00A896; background:rgba(0,168,150,.1);
  padding:.32rem .7rem; border-radius:2px;
  border:1px solid rgba(0,168,150,.22);
}
.hero-chain-flow .c-arr { color:rgba(0,168,150,.7); font-size:13px; }
.hero-chain-note {
  font-family:'DM Mono',monospace; font-size:11px;
  color:#5AD49A; line-height:1.6;
}

/* ─── TRUST BAR ─── */
.trust-bar {
  background:var(--midnavy); padding:1.2rem 5vw;
  display:flex; align-items:center; justify-content:center; gap:2.2rem;
  border-bottom:1px solid rgba(0,168,150,.08);
  flex-wrap:wrap;
}
.trust-item {
  display:flex; align-items:center; gap:.65rem;
  white-space:nowrap; flex-shrink:0;
  position:relative;
}
.trust-item:not(:last-child)::after {
  content:''; position:absolute; right:-1.1rem; top:50%;
  transform:translateY(-50%);
  width:3px; height:3px; border-radius:50%;
  background:rgba(0,168,150,.5);
}
.trust-icon {
  width:14px; height:14px; flex-shrink:0;
  color:#00A896;
}
.trust-text {
  font-family:'DM Mono',monospace; font-size:11px;
  color:rgba(247,249,251,.78); letter-spacing:.12em;
  text-transform:uppercase;
}

/* ─── LAYOUT ─── */
.sec { padding:6.5rem 5vw; }
.sec-dark { background:var(--navy); }
.sec-mid  { background:var(--midnavy); }
.sec-label {
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.26em;
  color:#00A896; text-transform:uppercase; margin-bottom:.9rem;
  display:flex; align-items:center; gap:.7rem;
}
.sec-label::before { content:''; width:18px; height:1px; background:#00A896; }
.sec-h2 {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:clamp(24px,3.2vw,42px); line-height:1.13;
  letter-spacing:-.02em; margin-bottom:2.5rem;
  text-wrap:balance;
}
.h2-light { color:#F7F9FB; }
.h2-dark  { color:#0D1F2D; }
.sec-lead {
  font-size:16px; line-height:1.85; color:#4A5568;
  max-width:740px; margin-bottom:3rem;
}
.sec-lead strong { color:#0D1F2D; }
.sec-lead-light {
  font-size:15px; color:rgba(247,249,251,.78);
  line-height:1.85; max-width:680px; margin-bottom:2.5rem;
}

/* ─── ORIGIN ─── */
.origin-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.origin-p { font-size:15px; line-height:1.88; color:#4A5568; margin-bottom:1.4rem; }
.skin-box {
  background:var(--navy); border-radius:3px; padding:1.8rem 2.2rem;
  margin-bottom:1.8rem; border-left:3px solid #00A896;
}
.skin-box p {
  font-family:'Fraunces',serif; font-style:italic; font-weight:300;
  font-size:17px; color:rgba(247,249,251,.92); line-height:1.65;
}
.skin-attr {
  font-family:'DM Mono',monospace !important; font-style:normal !important;
  font-size:11px !important; color:rgba(0,168,150,.85) !important;
  letter-spacing:.12em; text-transform:uppercase;
  margin-top:1rem; font-weight:400 !important;
}
.chain-block {
  background:var(--navy); border-radius:3px;
  padding:1.6rem 2rem;
}
.chain-lbl { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:rgba(247,249,251,.65); margin-bottom:1rem; }
.chain { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.c-node {
  position:relative;
  font-family:'DM Mono',monospace; font-size:12px; font-weight:500;
  color:#00A896; background:rgba(0,168,150,.1);
  padding:.32rem .7rem; border-radius:2px;
  border:1px solid rgba(0,168,150,.22);
  cursor:default; transition:all .18s;
}
.c-node[data-tip]:hover {
  background:rgba(0,168,150,.2); color:#fff;
  border-color:#00A896;
}
.c-node[data-tip]:hover::after {
  content:attr(data-tip);
  position:absolute; left:50%; bottom:calc(100% + 8px);
  transform:translateX(-50%);
  background:#0A1A25; color:rgba(247,249,251,.92);
  padding:.55rem .8rem; border-radius:2px;
  border:1px solid rgba(0,168,150,.3);
  font-family:'DM Sans',sans-serif; font-weight:400;
  font-size:11px; white-space:nowrap; letter-spacing:0;
  text-transform:none;
  z-index:5;
}
.c-arr  { color:rgba(0,168,150,.7); font-size:13px; }
.proof-list { list-style:none; display:flex; flex-direction:column; gap:1rem; }
.proof-list li {
  background:#F7F9FB; border-radius:3px;
  padding:1.2rem 1.5rem; border-left:3px solid #00A896;
}
.proof-h {
  font-family:'DM Sans',sans-serif; font-weight:600;
  font-size:13px; color:#0D1F2D; margin-bottom:.35rem;
  letter-spacing:-.005em;
}
.proof-b {
  font-size:13px; line-height:1.6; color:#4A5568;
}
.origin-foot {
  margin-top:3rem;
  border-top:1px solid rgba(13,31,45,.08);
  padding-top:2rem;
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem;
}
.origin-foot p { font-size:14px; line-height:1.85; color:#4A5568; }
.origin-foot p strong { color:#0D1F2D; font-weight:600; }

/* ─── FEATURES ─── */
.features-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.feat-card {
  position:relative; overflow:hidden;
  background:var(--midnavy); border-radius:3px;
  padding:2.4rem; border-top:2px solid #00A896;
}
.feat-num {
  position:absolute; top:.6rem; right:1.4rem;
  font-family:'Fraunces',serif; font-weight:300;
  font-size:88px; color:rgba(0,168,150,.09);
  line-height:1; pointer-events:none; user-select:none;
}
.feat-h3 { font-family:'Fraunces',serif; font-weight:700; font-size:22px; color:#F7F9FB; margin-bottom:.4rem; position:relative; }
.feat-tag {
  font-family:'DM Mono',monospace; font-size:11px;
  color:#00A896; letter-spacing:.08em; margin-bottom:1.4rem;
  position:relative;
}
.feat-list { list-style:none; display:flex; flex-direction:column; gap:.65rem; position:relative; }
.feat-list li {
  font-size:14px; color:rgba(247,249,251,.85); line-height:1.55;
  padding-left:1.2rem; position:relative;
}
.feat-list li::before {
  content:'→'; position:absolute; left:0;
  color:#00A896; font-family:'DM Mono',monospace; font-size:12px;
}
.feat-quote {
  margin-bottom:1.3rem; padding-bottom:1rem;
  border-bottom:1px solid rgba(0,168,150,.18);
  font-family:'DM Mono',monospace;
  font-size:12px; color:rgba(247,249,251,.78);
  line-height:1.7; letter-spacing:.01em;
}
.feat-quote .fq-label {
  color:#00A896; font-weight:500; margin-right:.4rem;
}

/* ─── MODULES ─── */
.module-strip { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-bottom:1.5rem; }
.mod-col { border-radius:3px; overflow:hidden; }
.mod-head { padding:1.4rem 1.8rem; }
.mod-head-title {
  font-family:'DM Mono',monospace; font-size:11px;
  letter-spacing:.16em; text-transform:uppercase;
  color:#F7F9FB; margin-bottom:.3rem;
}
.mod-head-sub { font-family:'DM Sans',sans-serif; font-size:12px; color:rgba(247,249,251,.7); }
.mod-items { padding:.4rem 0; }
.mod-item {
  padding:.7rem 1.8rem;
  border-top:1px solid rgba(247,249,251,.06);
  font-size:13px; line-height:1.55; color:rgba(247,249,251,.85);
  display:flex; align-items:flex-start; gap:.7rem;
}
.mod-item strong {
  color:#F7F9FB; font-weight:600;
  margin-right:.4rem;
}
.mi-icon {
  font-family:'DM Mono',monospace; font-size:11px;
  color:#00A896; flex-shrink:0; margin-top:1px;
}
.mod-locked {
  color:rgba(247,249,251,.6);
  transition:color .2s, opacity .2s;
}
.mod-locked strong { color:rgba(247,249,251,.78); }
.mod-locked .mi-icon { color:rgba(0,168,150,.55); }
.mod-col-advanced { opacity:.85; transition:opacity .25s; }
.mod-col-advanced:hover { opacity:1; }
.mod-mech {
  padding:1rem 1.8rem;
  border-top:1px solid rgba(247,249,251,.06);
  font-family:'DM Mono',monospace; font-size:11px;
  color:rgba(247,249,251,.65); line-height:1.7;
  letter-spacing:.04em;
}
.mod-mech strong { color:#00A896; font-weight:500; }

/* ─── POC ─── */
.poc-wrap {
  background:var(--midnavy); border-radius:3px; overflow:hidden;
}
.poc-header {
  padding:1.5rem 2rem;
  border-bottom:1px solid rgba(0,168,150,.12);
}
.poc-steps {
  display:grid; grid-template-columns:1fr 1fr 6fr 4fr;
}
.poc-step {
  padding:2rem 1.6rem;
  border-right:1px solid rgba(247,249,251,.06);
}
.poc-step:last-child { border-right:none; }
.poc-week {
  font-family:'DM Mono',monospace; font-size:10px;
  letter-spacing:.2em; color:rgba(247,249,251,.7);
  text-transform:uppercase; margin-bottom:.5rem;
}
.poc-num {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:34px; color:#00A896; line-height:1;
  margin-bottom:.7rem;
}
.poc-title {
  font-family:'DM Sans',sans-serif; font-weight:600;
  font-size:14px; color:#F7F9FB; margin-bottom:.5rem;
}
.poc-desc {
  font-size:12px; color:rgba(247,249,251,.78);
  line-height:1.65;
}
.poc-track {
  position:relative;
  background:rgba(0,168,150,.06);
  height:6px; margin:0;
}
.poc-track-fill {
  position:absolute; left:0; top:0; bottom:0;
  width:100%;
  background:linear-gradient(90deg, rgba(0,168,150,.2) 0%, rgba(0,168,150,.5) 100%);
}
.poc-track-marks {
  display:grid; grid-template-columns:1fr 1fr 6fr 4fr;
  height:6px; pointer-events:none;
}
.poc-track-mark {
  border-right:1px solid rgba(247,249,251,.18);
}
.poc-track-mark:last-child { border-right:none; }

.poc-then {
  background:#0A1A25;
  padding:1.6rem 2rem;
  display:flex; align-items:center; gap:1.6rem;
  border-top:1px solid rgba(0,168,150,.18);
  flex-wrap:wrap;
}
.poc-then-week {
  font-family:'DM Mono',monospace; font-size:10px;
  letter-spacing:.2em; color:#00A896;
  text-transform:uppercase;
  flex-shrink:0;
}
.poc-then-content {
  font-family:'DM Sans',sans-serif; font-size:13px;
  color:rgba(247,249,251,.85); line-height:1.7;
  flex:1; min-width:240px;
}
.poc-then-content strong {
  color:#F7F9FB; font-weight:600;
}

/* pricing */
.pricing-grid {
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:1px;
  background:rgba(0,168,150,.18);
  border:1px solid rgba(0,168,150,.18);
  border-radius:3px; overflow:hidden;
  margin-top:2rem;
}
.price-tier {
  background:#0D1F2D;
  padding:1.6rem 1.8rem;
  display:flex; flex-direction:column; gap:.5rem;
}
.pt-label {
  font-family:'DM Mono',monospace; font-size:10px;
  letter-spacing:.22em; color:#00A896;
  text-transform:uppercase;
}
.pt-size {
  font-family:'DM Sans',sans-serif; font-size:12px;
  color:rgba(247,249,251,.7);
}
.pt-amount {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:30px; color:#F7F9FB; line-height:1;
  margin-top:.3rem; letter-spacing:-.01em;
}
.pt-amount span {
  font-family:'DM Mono',monospace; font-weight:400;
  font-size:11px; color:rgba(247,249,251,.6);
  letter-spacing:.18em; margin-left:.4rem;
  vertical-align:middle;
}
.pricing-note {
  margin-top:1.2rem;
  font-family:'DM Mono',monospace; font-size:11px;
  color:rgba(247,249,251,.7); letter-spacing:.04em;
  line-height:1.85;
}
.pricing-note strong { color:#00A896; }

/* ─── CTA / FORM ─── */
.cta-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.cta-p { font-size:16px; line-height:1.8; color:rgba(247,249,251,.85); margin-bottom:1.4rem; }
.cta-section-h { font-size:14px !important; color:rgba(247,249,251,.95) !important; font-weight:600 !important; margin-bottom:.9rem !important; }

/* cohort meter */
.cohort-meter {
  display:inline-flex; align-items:center; gap:1rem;
  background:rgba(0,168,150,.08);
  border:1px solid rgba(0,168,150,.28);
  padding:.7rem 1.1rem; border-radius:2px;
  margin-bottom:2rem;
}
.cm-label {
  font-family:'DM Mono',monospace; font-size:10px;
  letter-spacing:.18em; color:rgba(247,249,251,.78);
  text-transform:uppercase;
}
.cm-cells { display:flex; gap:.3rem; }
.cm-cell {
  width:11px; height:11px;
  border:1px solid #00A896;
}
.cm-cell.filled { background:#00A896; }
.cm-count {
  font-family:'DM Mono',monospace; font-size:11px;
  color:#00A896; font-weight:500; letter-spacing:.06em;
}

.crit-list { list-style:none; display:flex; flex-direction:column; gap:.7rem; }
.crit-list li {
  font-size:14px; color:rgba(247,249,251,.82);
  display:flex; align-items:flex-start; gap:.7rem;
  line-height:1.55;
}
.crit-list li::before {
  content:'✓'; color:#00A896; font-weight:700;
  flex-shrink:0; margin-top:1px;
}
.include-list { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.include-list li {
  font-size:13px; color:rgba(247,249,251,.85);
  display:flex; align-items:flex-start; gap:.7rem;
  padding:.75rem 1rem;
  background:rgba(247,249,251,.04);
  border:1px solid rgba(0,168,150,.18);
  border-radius:2px;
  line-height:1.55;
}
.include-list li::before {
  content:'→'; color:#00A896;
  font-family:'DM Mono',monospace; font-size:12px;
  flex-shrink:0; margin-top:1px;
}

.form-card {
  background:var(--navy); border-radius:3px;
  padding:2.5rem; position:sticky; top:80px;
  border:1px solid rgba(0,168,150,.18);
}
.form-title { font-family:'Fraunces',serif; font-weight:700; font-size:24px; color:#F7F9FB; margin-bottom:.3rem; }
.form-sub {
  font-family:'DM Mono',monospace; font-size:11px;
  color:#00A896; letter-spacing:.12em;
  text-transform:uppercase; margin-bottom:1.6rem;
}
.form-group { margin-bottom:1rem; position:relative; }
.form-group label, .form-grouplabel {
  display:block;
  font-family:'DM Mono',monospace; font-size:10px;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(247,249,251,.7); margin-bottom:.4rem;
}
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; background:rgba(247,249,251,.05);
  border:1px solid rgba(247,249,251,.15);
  border-radius:2px; padding:.7rem .9rem;
  font-family:'DM Sans',sans-serif;
  font-size:14px; color:#F7F9FB; outline:none;
  transition:border-color .2s, background .2s;
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:rgba(247,249,251,.4); }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:#00A896; background:rgba(0,168,150,.05); }
.form-group input[aria-invalid="true"],
.form-group textarea[aria-invalid="true"] {
  border-color:#FF7A65; background:rgba(255,122,101,.04);
}
.form-error {
  display:none;
  font-family:'DM Mono',monospace; font-size:10px;
  color:#FF9F8E; letter-spacing:.04em;
  margin-top:.4rem; line-height:1.5;
}
.form-error.show { display:block; }

.form-group textarea { height:80px; resize:vertical; }
.form-group select option { background:#0D1F2D; color:#F7F9FB; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }

.radio-group { display:flex; gap:.45rem; flex-wrap:wrap; }
.r-btn {
  position:relative;
  display:inline-block;
  padding:.42rem .85rem;
  border:1px solid rgba(247,249,251,.18);
  border-radius:2px;
  font-family:'DM Mono',monospace; font-size:11px;
  color:rgba(247,249,251,.78);
  cursor:pointer; transition:all .15s;
  letter-spacing:.06em; user-select:none;
}
.r-btn input {
  position:absolute; opacity:0;
  width:1px; height:1px;
  pointer-events:none;
}
.r-btn:hover { border-color:rgba(0,168,150,.5); color:rgba(247,249,251,.95); }
.r-btn:has(input:checked) {
  border-color:#00A896; color:#00A896;
  background:rgba(0,168,150,.08);
}
.r-btn:focus-within { box-shadow:0 0 0 2px rgba(0,168,150,.25); }

.form-submit {
  width:100%; background:#00A896; color:#fff; border:none;
  padding:1.05rem; font-family:'DM Sans',sans-serif;
  font-size:14px; font-weight:600; border-radius:2px;
  cursor:pointer; transition:background .2s, transform .15s;
  margin-top:.8rem;
}
.form-submit:hover { background:#009485; transform:translateY(-1px); }
.form-micro {
  font-family:'DM Sans',sans-serif; font-size:11px;
  color:rgba(247,249,251,.62); letter-spacing:0;
  margin-top:.9rem; line-height:1.65;
}

.form-shell { position:relative; }
.form-shell .form-success {
  position:absolute; inset:0;
  opacity:0; pointer-events:none;
  transition:opacity .25s;
  text-align:center;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:2rem 1rem;
  background:var(--navy);
  border-radius:3px;
  z-index:2;
}
.form-shell.done form { opacity:0; pointer-events:none; }
.form-shell.done .form-success { opacity:1; pointer-events:auto; }
.form-shell form { transition:opacity .2s; }

.success-icon {
  width:54px; height:54px; border:1.5px solid #00A896;
  border-radius:50%; display:flex; align-items:center;
  justify-content:center; margin-bottom:1.2rem;
  color:#00A896; font-size:28px;
}
.success-title {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:24px; color:#F7F9FB; margin-bottom:.7rem;
}
.success-text {
  font-size:14px; color:rgba(247,249,251,.82);
  font-family:'DM Sans',sans-serif; line-height:1.75;
  max-width:340px;
}
.success-sign {
  font-family:'DM Mono',monospace; font-size:11px;
  color:#00A896; letter-spacing:.12em;
  text-transform:uppercase; margin-top:1.2rem;
}

/* ─── FOOTER ─── */
footer {
  background:var(--deepnavy); border-top:1px solid rgba(0,168,150,.1);
  padding:2.5rem 5vw;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1.5rem;
}
.footer-logo {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:20px; color:#F7F9FB;
  display:flex; align-items:center; gap:.65rem;
}
.footer-logo span { color:#00A896; }
.footer-info {
  font-family:'DM Mono',monospace; font-size:11px;
  color:rgba(247,249,251,.65); letter-spacing:.06em;
  text-align:right; line-height:1.85;
}
.footer-info a {
  color:#00A896; transition:opacity .2s;
}
.footer-info a:hover { opacity:.75; }

/* ─── HERO METRIC ─── */
.hero-metric {
  display:inline-flex; align-items:center; flex-wrap:wrap; gap:.7rem 1.1rem;
  margin-bottom:1.8rem;
  font-family:'DM Mono',monospace; font-size:12px;
  color:rgba(247,249,251,.8); letter-spacing:.02em;
}
.hero-metric b { color:#00A896; font-weight:600; }
.hero-metric .hm-sep { color:rgba(247,249,251,.28); }

/* ─── BGW STATS ─── */
.bgw-stats {
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:1px; background:rgba(0,168,150,.18);
  border:1px solid rgba(0,168,150,.18);
  border-radius:3px; overflow:hidden; margin-top:2.5rem;
}
.bgw-stat { background:#0D1F2D; padding:2rem 1.6rem; }
.bgw-stat-num {
  font-family:'Fraunces',serif; font-weight:700;
  font-size:38px; color:#00A896; line-height:1; letter-spacing:-.01em;
  margin-bottom:.7rem;
}
.bgw-stat-num span { font-size:16px; color:rgba(247,249,251,.55); margin-left:.2rem; }
.bgw-stat-lbl { font-size:13px; color:rgba(247,249,251,.82); line-height:1.55; }
.bgw-foot {
  margin-top:1.4rem; font-family:'DM Mono',monospace;
  font-size:11px; color:#4A5568; letter-spacing:.03em; line-height:1.7;
}

/* ─── MODULE VALUE ─── */
.mod-val {
  display:block; margin-top:.3rem;
  font-size:12px; color:rgba(0,168,150,.92);
  font-style:italic; line-height:1.5;
}

/* ─── PRICE SIGNAL ─── */
.price-signal {
  display:inline-flex; align-items:center; gap:.7rem;
  background:rgba(0,168,150,.08); border:1px solid rgba(0,168,150,.28);
  padding:.7rem 1.1rem; border-radius:2px; margin-bottom:2.5rem;
  font-family:'DM Mono',monospace; font-size:12px;
  color:rgba(13,31,45,.85); letter-spacing:.02em; line-height:1.5;
  flex-wrap:wrap;
}
.price-signal strong { color:#00A896; font-weight:600; }
.price-signal.ps-light { color:rgba(247,249,251,.82); }

/* ─── MODEL WSPÓŁPRACY ─── */
.model-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem; margin-top:1rem; }
.model-card {
  background:var(--navy); border-radius:3px;
  padding:1.8rem; border-top:2px solid #00A896;
}
.model-card h4 {
  font-family:'DM Sans',sans-serif; font-weight:600;
  font-size:15px; color:#F7F9FB; margin-bottom:.6rem;
}
.model-card p { font-size:13px; line-height:1.7; color:rgba(247,249,251,.82); }
.model-card p strong { color:#F7F9FB; font-weight:600; }

/* ─── ANIMATION ─── */
.reveal { opacity:0; transition:opacity .55s ease, transform .55s ease; }
.reveal.r-up { transform:translateY(18px); }
.reveal.r-fade { transform:none; }
.reveal.r-stagger > * { opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal.r-stagger.visible > * { opacity:1; transform:none; }
.reveal.r-stagger.visible > *:nth-child(1) { transition-delay:0ms; }
.reveal.r-stagger.visible > *:nth-child(2) { transition-delay:90ms; }
.reveal.r-stagger.visible > *:nth-child(3) { transition-delay:180ms; }
.reveal.r-stagger.visible > *:nth-child(4) { transition-delay:270ms; }

/* ─── UI/UX POLISH ─── */

/* brand-tinted selection + crisper text */
::selection { background:rgba(0,168,150,.26); color:#F7F9FB; }
body { text-rendering:optimizeLegibility; }

/* tabular figures so numbers never reflow */
.bgw-stat-num, .pt-amount, .pt-amount span, .poc-num,
.hero-metric, .cm-count, .term-body { font-variant-numeric:tabular-nums; }

/* anchor targets clear the fixed nav */
.sec[id], #poc-form, .hero { scroll-margin-top:80px; }

/* visible keyboard focus — never shown for mouse/hover */
a:focus-visible,
button:focus-visible,
.btn-primary:focus-visible,
.btn-ghost:focus-visible,
.nav-cta:focus-visible,
.nav-link:focus-visible,
.nav-toggle:focus-visible,
.form-submit:focus-visible {
  outline:2px solid #00A896; outline-offset:3px; border-radius:2px;
}
.form-group input:focus-visible,
.form-group select:focus-visible,
.form-group textarea:focus-visible {
  outline:2px solid rgba(0,168,150,.5); outline-offset:1px;
}

/* depth on primary actions */
.btn-primary { box-shadow:0 8px 22px -10px rgba(0,168,150,.65); }
.btn-primary:hover { box-shadow:0 12px 28px -8px rgba(0,168,150,.8); }
.form-submit { box-shadow:0 8px 22px -10px rgba(0,168,150,.55); }
.form-submit:hover { box-shadow:0 12px 30px -8px rgba(0,168,150,.72); }
.nav-cta { box-shadow:0 4px 14px -6px rgba(0,168,150,.55); }

/* the terminal floats above the hero */
.hero-terminal {
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8), 0 0 0 1px rgba(0,168,150,.06);
}

/* feature cards — elevation + lift on hover */
.feat-card {
  box-shadow:0 14px 38px -20px rgba(0,0,0,.55);
  transition:opacity .5s ease, transform .4s ease, box-shadow .3s ease, border-color .3s ease;
  will-change:transform;
}
.feat-card:hover {
  transform:translateY(-4px);
  box-shadow:0 26px 56px -18px rgba(0,0,0,.7), 0 0 0 1px rgba(0,168,150,.3);
}

/* model cards (stagger children) — elevation + glow */
.model-card { box-shadow:0 14px 38px -22px rgba(0,0,0,.6); }
.model-grid > .model-card {
  transition:opacity .5s ease, transform .5s ease, box-shadow .3s ease, border-color .3s ease;
}
.model-grid > .model-card:hover {
  box-shadow:0 22px 50px -18px rgba(0,0,0,.72), 0 0 0 1px rgba(0,168,150,.28);
  border-top-color:#4FBFB0;
}

/* origin proof cards (light surface) */
.proof-list.reveal > li {
  transition:opacity .5s ease, transform .5s ease, box-shadow .25s ease;
  box-shadow:0 1px 2px rgba(13,31,45,.04);
}
.proof-list.reveal > li:hover { box-shadow:0 12px 26px -14px rgba(13,31,45,.22); }

/* BGW stat cells (grid clips shadow → highlight instead) */
.bgw-stats > .bgw-stat {
  transition:opacity .5s ease, transform .5s ease, background .25s ease;
}
.bgw-stats > .bgw-stat:hover { background:#112A3C; }

/* PoC include-list rows */
.include-list li { transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.include-list li:hover {
  border-color:rgba(0,168,150,.5);
  background:rgba(0,168,150,.07);
  box-shadow:0 8px 20px -14px rgba(0,0,0,.5);
}

/* module columns */
.mod-col { transition:box-shadow .3s ease; }
.module-strip .mod-col:hover { box-shadow:0 18px 44px -22px rgba(0,0,0,.6); }

/* trust-bar items lift on hover */
.trust-item { transition:color .2s ease; }
.trust-item:hover .trust-text { color:#F7F9FB; }
.trust-item:hover .trust-icon { color:#4FBFB0; }

/* respect reduced-motion (a11y) */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .reveal, .reveal.r-stagger > * { opacity:1 !important; transform:none !important; }
  .feat-card:hover { transform:none; }
}

/* ─── RESPONSIVE ─── */
@media (max-width:1024px) {
  .hero { grid-template-columns:1fr; padding:90px 6vw 60px; gap:2.5rem; }
  .hero-terminal { display:none; }
  .hero-chain { display:block; }
  .origin-grid { grid-template-columns:1fr; gap:3rem; }
  .origin-foot { grid-template-columns:1fr; gap:1rem; margin-top:2rem; }
  .features-grid { grid-template-columns:1fr; }
  .module-strip { grid-template-columns:1fr; }
  .bgw-stats { grid-template-columns:1fr 1fr; }
  .model-grid { grid-template-columns:1fr; }
  .cta-grid { grid-template-columns:1fr; gap:3rem; }
  .poc-steps,
  .poc-track-marks { grid-template-columns:1fr 1fr; }
  .poc-step:nth-child(2) { border-right:none; }
  .poc-step:nth-child(1), .poc-step:nth-child(2) { border-bottom:1px solid rgba(247,249,251,.06); }
  .pricing-grid { grid-template-columns:1fr; }
  .form-card { position:relative; top:auto; }
}
@media (max-width:768px) {
  .nav-right .nav-link { display:none; }
  .nav-right .nav-cta { display:none; }
  .nav-toggle { display:inline-block; }
  .trust-bar { gap:1.4rem 2rem; padding:1rem 4vw; justify-content:flex-start; }
  .sec { padding:5rem 4vw; }
  .sec-h2 { font-size:clamp(22px,6vw,30px); margin-bottom:1.8rem; }
  .sec-lead { font-size:15px; margin-bottom:2.2rem; }
  .hero { padding:85px 4vw 50px; }
  .hero-h1 { font-size:clamp(28px,8vw,44px); }
  .hero-sub { font-size:15px; }
  .poc-steps,
  .poc-track-marks { grid-template-columns:1fr; }
  .poc-step { border-right:none !important; border-bottom:1px solid rgba(247,249,251,.06); }
  .poc-step:last-child { border-bottom:none; }
  .form-row { grid-template-columns:1fr; }
  .footer-info { text-align:left; }
}
@media (max-width:480px) {
  .hero-ctas { flex-direction:column; align-items:stretch; }
  .btn-primary, .btn-ghost { width:100%; justify-content:center; }
  .hero-micro { flex-direction:column; gap:.4rem; }
  .hero-micro span:not(:last-child)::after { display:none; }
  .chain { gap:.3rem; }
  .c-node { font-size:11px; padding:.22rem .55rem; }
  .pt-amount { font-size:26px; }
}

/* ─── PRINT ─── */
@media print {
  html, body { background:#fff !important; color:#000 !important; }
  nav, .nav-mobile, .hero-terminal, .hero-chain,
  .hero-ctas, .hero-tertiary, .hero-micro,
  .form-card, .nav-toggle, footer .footer-info a {
    display:none !important;
  }
  section, .sec, .sec-dark, .sec-mid, .hero, .trust-bar, footer {
    background:#fff !important; color:#000 !important;
    padding:1.2rem 0 !important; min-height:auto !important;
  }
  .hero { display:block; min-height:auto; }
  .h2-light, .feat-h3, .form-title, .footer-logo,
  .hero-h1, .success-title, .mod-head-title { color:#000 !important; }
  .hero-h1 em, .feat-tag, .sec-label, .pt-label,
  .nav-logo span, .footer-logo span, .c-node, .chain-lbl,
  .feat-list li::before, .crit-list li::before,
  .include-list li::before, .mi-icon { color:#0D6A60 !important; }
  .feat-card, .skin-box, .chain-block, .mod-col,
  .poc-wrap, .price-tier, .include-list li {
    background:#fff !important; border:1px solid #ccc !important;
    color:#000 !important;
  }
  .feat-list li, .mod-item, .crit-list li, .include-list li,
  .origin-p, .cta-p, .hero-sub, .skin-box p, .feat-quote,
  .poc-desc, .pricing-note, .footer-info {
    color:#222 !important;
  }
  a[href^="http"]::after,
  a[href^="mailto"]::after {
    content:" (" attr(href) ")"; font-size:10px; color:#666;
  }
  .reveal { opacity:1 !important; transform:none !important; }
  .feat-num { display:none !important; }
}


/* ─── LANGUAGE SWITCH ─── */
.lang-switch { display:flex; align-items:center; gap:.45rem; font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.12em; }
.lang-switch a { color:rgba(247,249,251,.5); transition:color .2s; padding:.2rem 0; }
.lang-switch a.active { color:#00A896; }
.lang-switch a:hover { color:#00A896; }
.lang-switch .lang-sep { color:rgba(247,249,251,.22); }
.lang-switch-mobile { margin-top:.5rem; padding-top:.9rem; border-top:1px solid rgba(247,249,251,.06); }
.lang-switch-mobile a { display:inline-block; border-bottom:none; padding:.2rem 0; }
@media (max-width:768px){ .nav-right .lang-switch { display:none; } }
