*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--f-display); font-size:var(--fs-base);
  line-height:var(--lh-normal);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
a{color:inherit;text-decoration:none}
::selection{background:var(--sage-soft);color:var(--sage-ink)}

body[data-density="compact"]  { --_pad-y: 56px; --_pad-y-lg: 80px;  }
body[data-density="comfortable"]{ --_pad-y: 72px; --_pad-y-lg: 112px; }
body[data-density="spacious"] { --_pad-y: 96px; --_pad-y-lg: 144px; }

body[data-mode="dark"]{ background:var(--ink); color:var(--paper); }
body[data-mode="dark"] .panel, body[data-mode="dark"] .surface{
  background:var(--ink-2); border-color:#253240;
}

.container{ width:100%; max-width:1240px; margin:0 auto; padding:0 32px; }
@media (max-width: 640px){ .container{ padding:0 20px } }

.section{ padding-top:var(--_pad-y,72px); padding-bottom:var(--_pad-y,72px); position:relative; }
.section--lg{ padding-top:var(--_pad-y-lg,112px); padding-bottom:var(--_pad-y-lg,112px); }

.kicker{
  font-family:var(--f-mono); font-size:11px; font-weight:500;
  letter-spacing:var(--tracking-caps); text-transform:uppercase;
  color:var(--muted); display:inline-flex; align-items:center; gap:10px;
}
.kicker::before{ content:""; width:16px; height:1px; background:var(--rule); }
.kicker--solo::before{ display:none }
.kicker--sage{ color:var(--sage-ink) }
.kicker--on-dark{ color:#9CB2BA }
.kicker--on-dark::before{ background:#2A4B5A }

h1,h2,h3,h4{
  font-family:var(--f-display); font-weight:600;
  letter-spacing:var(--tracking-display); margin:0; color:inherit;
  text-wrap:balance;
}
h1{ font-size:clamp(44px, 6.4vw, 84px); line-height:1.02; letter-spacing:-0.035em }
h2{ font-size:clamp(32px, 4.4vw, 54px); line-height:1.08; letter-spacing:-0.028em }
h3{ font-size:clamp(22px, 2.4vw, 28px); line-height:1.15 }
h4{ font-size:18px; line-height:1.3 }

p{ margin:0 }
.prose p{ font-size:var(--fs-md); color:var(--ink-2); line-height:1.55; max-width:56ch; text-wrap:pretty }
.prose p + p{ margin-top:14px }

.mono{ font-family:var(--f-mono); letter-spacing:var(--tracking-mono) }

/* Nav */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(250,250,247,.82);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, background .2s ease;
}
.nav[data-scrolled="true"]{ border-bottom-color:var(--line) }
body[data-mode="dark"] .nav{ background:rgba(15,26,36,.8) }
.nav-inner{ display:flex; align-items:center; gap:32px; height:64px; }
.nav-logo{ display:flex; align-items:center; gap:10px }
.nav-logo svg, .nav-logo img{ height:26px; width:auto }
.nav-links{ display:flex; align-items:center; gap:28px; margin-left:auto; }
.nav-link{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.04em;
  color:var(--ink-2); padding:8px 0; transition:color .12s;
}
.nav-link:hover{ color:var(--primary) }
.nav-cta{ display:flex; gap:10px; align-items:center }
@media (max-width: 820px){ .nav-links{ display:none } }

/* Buttons */
.btn{
  font-family:var(--f-display); font-weight:500; font-size:14px; line-height:1;
  padding:11px 18px; border-radius:var(--r-md); border:1px solid transparent;
  display:inline-flex; align-items:center; gap:8px; transition:all .12s ease;
  letter-spacing:-.005em; white-space:nowrap;
}
.btn-primary{ background:var(--primary); color:#fff }
.btn-primary:hover{ background:var(--primary-hover) }
.btn-secondary{ background:transparent; border-color:var(--line); color:var(--ink) }
.btn-secondary:hover{ border-color:var(--ink-3); background:var(--paper-2) }
.btn-ghost{ color:var(--ink-2) }
.btn-ghost:hover{ color:var(--ink); background:var(--paper-2) }
.btn-sage{ background:var(--sage); color:#fff }
.btn-sage:hover{ background:var(--sage-strong) }
.btn-lg{ padding:14px 22px; font-size:15px }
.btn-sm{ padding:7px 12px; font-size:13px }
.btn .arrow{ transition:transform .15s ease }
.btn:hover .arrow{ transform:translateX(2px) }

.panel{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); }

/* HERO */
.hero{ position:relative; overflow:hidden; padding-top:72px; padding-bottom:160px; background:var(--paper); }
.hero-inner{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:72px; align-items:center;
}
@media (max-width: 960px){ .hero-inner{ grid-template-columns:1fr; gap:48px } }

.hero-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:11px;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--sage-ink); padding:6px 12px;
  background:var(--sage-soft); border-radius:var(--r-pill);
  margin-bottom:28px;
}
.hero-eyebrow .dot{
  width:6px; height:6px; border-radius:50%;
  background:var(--sage); box-shadow:0 0 0 3px rgba(90,164,124,.18);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{ box-shadow:0 0 0 3px rgba(90,164,124,.18) } 50%{ box-shadow:0 0 0 6px rgba(90,164,124,.08) } }

.hero h1{ margin-bottom:20px }
.hero h1 em{ font-style:normal; color:var(--sage-strong); font-weight:600; }
.hero-lede{
  font-size:19px; color:var(--ink-2); line-height:1.5;
  max-width:38ch; text-wrap:pretty; margin-bottom:36px;
}
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px; }
.hero-reassure{
  display:flex; gap:20px; flex-wrap:wrap;
  font-family:var(--f-mono); font-size:11px;
  color:var(--muted); letter-spacing:.04em;
}
.hero-reassure span{ display:inline-flex; align-items:center; gap:6px }
.hero-reassure .tick{
  width:14px; height:14px; border-radius:50%;
  background:var(--sage-soft); color:var(--sage-ink);
  display:grid; place-items:center; font-size:9px; font-weight:600;
}

.signal-tape{
  position:absolute; top:0; left:0; right:0; height:120px;
  pointer-events:none; overflow:hidden;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 85%);
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.7), transparent 85%);
}
.signal-tape svg{ width:100%; height:100% }

/* Hero app screenshot */
.app-shot{
  border-radius:var(--r-xl); overflow:hidden;
  box-shadow: 0 30px 60px -30px rgba(14,26,36,.45),
              0 12px 24px -12px rgba(14,26,36,.18),
              0 0 0 1px rgba(14,26,36,.06);
  background:#fff;
  position:relative;
}
.app-shot::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  border-radius:var(--r-xl); border:1px solid rgba(255,255,255,.4);
  mix-blend-mode:overlay;
}
.app-shot img{ display:block; width:100%; height:auto; }
.hero-caption{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:18px; margin-top:14px; padding:0 6px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.06em;
}
.hero-caption .k{ color:var(--muted); text-transform:uppercase; }
.hero-caption .v{ color:var(--ink-2); }

/* Terminal (legacy) */
.term{
  background:var(--ink); color:#D6E4EA;
  border-radius:var(--r-xl); font-family:var(--f-mono);
  font-size:13px; line-height:1.6; overflow:hidden;
  border:1px solid #1B2A36;
  box-shadow: 0 30px 60px -30px rgba(14,26,36,.4), 0 2px 0 rgba(255,255,255,.04) inset;
}
.term-head{
  display:flex; align-items:center; gap:12px;
  padding:12px 16px; border-bottom:1px solid #1B2A36; background:#0B141C;
}
.term-dots{ display:flex; gap:6px }
.term-dots span{ width:10px; height:10px; border-radius:50%; background:#25333F }
.term-title{ font-size:11px; color:#7E8B96; letter-spacing:.08em; flex:1; text-align:center; }
.term-badge{
  font-size:10px; color:var(--sage); letter-spacing:.1em;
  text-transform:uppercase; display:flex; align-items:center; gap:6px;
}
.term-badge::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--sage); box-shadow:0 0 0 3px rgba(90,164,124,.2);
  animation:pulse 2s infinite;
}
.term-body{ padding:22px 22px 26px 22px; min-height:320px; }
.term-line{ display:block; white-space:normal; word-break:break-word; padding-left:1.5em; text-indent:-1.5em; }
.term-line .pr, .term-line .ok, .term-line .warn{ display:inline-block; width:1em; margin-right:.5em; text-indent:0; }
.term-line .pr{ color:var(--sage); user-select:none }
.term-line .cmd{ color:#E9F0F2 }
.term-line .comment{ color:#536975 }
.term-line .ok{ color:var(--sage) }
.term-line .warn{ color:var(--signal-amber) }
.term-line .key{ color:#89C7D6 }
.term-line .val{ color:#E9F0F2 }
.term-line .dim{ color:#6F808B }
.cursor{
  display:inline-block; width:7px; height:14px; background:var(--sage);
  vertical-align:-2px; margin-left:2px; animation:blink 1s steps(2) infinite;
}
@keyframes blink{ 50%{ opacity:0 } }
.term-foot{
  display:flex; justify-content:space-between;
  padding:12px 16px; border-top:1px solid #1B2A36; background:#0B141C;
  font-size:10px; color:#67788A; letter-spacing:.08em;
}

/* Report card mini (used inline, not in hero anymore) */
.hero-right{ position:relative }
.report-card{
  background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--shadow-sm);
  padding:14px;
}

/* Proof strip */
.proof-strip{ padding:48px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.proof-strip-inner{ display:grid; grid-template-columns:auto 1fr; gap:48px; align-items:center; }
@media(max-width:760px){ .proof-strip-inner{ grid-template-columns:1fr } }
.proof-strip h3{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); font-weight:500;
  margin:0; max-width:22ch;
}
.proof-integrations{ display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.integration{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border:1px solid var(--line);
  border-radius:var(--r-pill); background:var(--paper);
  font-family:var(--f-mono); font-size:12px;
  color:var(--ink-2); letter-spacing:.02em;
}
.integration .glyph{ width:18px; height:18px; display:grid; place-items:center; }

/* Pain */
.pain-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:48px; }
@media(max-width:900px){ .pain-grid{ grid-template-columns:1fr } }
.pain-card{
  background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg); padding:28px; position:relative; overflow:hidden;
}
.pain-card-num{ font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; color:var(--muted); margin-bottom:28px; }
.pain-card-stat{
  font-family:var(--f-display); font-weight:600;
  font-size:56px; letter-spacing:-0.03em; line-height:1;
  color:var(--primary); margin-bottom:12px;
}
.pain-card-stat .pct{ color:var(--sage-strong) }
.pain-card h4{ font-size:17px; font-weight:600; margin-bottom:8px; letter-spacing:-.01em; }
.pain-card p{ font-size:14px; color:var(--ink-2); line-height:1.5 }
.pain-card .src{
  font-family:var(--f-mono); font-size:10px; color:var(--muted-2);
  letter-spacing:.06em; margin-top:20px; padding-top:14px; border-top:1px dashed var(--line);
}

/* How */
.how{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.how-head{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:48px; margin-bottom:64px; }
@media(max-width:900px){ .how-head{ grid-template-columns:1fr; gap:24px } }
.how-steps{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:0;
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:#fff;
}
@media(max-width:900px){ .how-steps{ grid-template-columns:1fr } }
.how-step{ padding:32px; border-right:1px solid var(--line); position:relative; }
.how-step:last-child{ border-right:none }
@media(max-width:900px){
  .how-step{ border-right:none; border-bottom:1px solid var(--line) }
  .how-step:last-child{ border-bottom:none }
}
.how-step-num{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em;
  color:var(--sage-ink); margin-bottom:16px;
  display:flex; gap:10px; align-items:center;
}
.how-step-num::before{ content:""; width:28px; height:2px; background:var(--sage); }
.how-step h4{ font-size:20px; margin-bottom:10px; letter-spacing:-.01em; font-weight:600; }
.how-step p{ color:var(--ink-2); font-size:14.5px; line-height:1.55; margin-bottom:20px }
.how-visual{
  background:var(--paper-2); border-radius:var(--r-md); border:1px solid var(--line);
  height:140px; display:grid; place-items:center; padding:16px; font-family:var(--f-mono);
}
.how-visual--shot{
  padding:0; overflow:hidden; height:auto;
  background:#fff; align-items:stretch;
  aspect-ratio: 16 / 10;
}
.how-visual--shot img{
  width:100%; height:100%; object-fit:cover; object-position:top center; display:block;
}

/* Product */
.product-row{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:center; }
@media(max-width:960px){ .product-row{ grid-template-columns:1fr; gap:32px } }
.feature-list{ margin-top:28px; list-style:none; padding:0; }
.feature-list li{
  display:grid; grid-template-columns:24px 1fr; gap:14px;
  padding:16px 0; border-top:1px solid var(--line);
}
.feature-list li:first-child{ border-top:none }
.feature-list .tick{
  width:20px; height:20px; border-radius:5px;
  background:var(--sage-soft); color:var(--sage-ink);
  display:grid; place-items:center;
  font-family:var(--f-mono); font-size:11px; font-weight:600; margin-top:2px;
}
.feature-list strong{ display:block; font-weight:600; font-size:15.5px; margin-bottom:2px }
.feature-list p{ font-size:13.5px; color:var(--ink-2); line-height:1.5 }

/* Report preview */
.report{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--shadow-md);
  font-family:var(--f-display); font-size:12px; position:relative;
}
.report-head{
  display:flex; align-items:center; gap:14px; padding:14px 18px;
  background:var(--primary); color:#fff; border-bottom:1px solid var(--primary-hover);
}
.report-head .mark{ width:22px; height:22px }
.report-title{ font-weight:600; font-size:13px; letter-spacing:-.01em; }
.report-subtitle{ font-family:var(--f-mono); font-size:10px; color:#A8C4CE; letter-spacing:.08em; margin-top:2px; }
.report-stamp{ margin-left:auto; font-family:var(--f-mono); font-size:10px; color:#A8C4CE; letter-spacing:.08em; }
.report-tabs{
  display:flex; gap:2px; padding:8px 14px 0; background:#F2F1EB;
  border-bottom:1px solid var(--line);
}
.report-tab{
  padding:7px 14px; font-family:var(--f-mono); font-size:11px;
  color:var(--muted); letter-spacing:.02em;
  background:transparent; border:1px solid transparent; border-bottom:0;
  cursor:pointer; border-radius:5px 5px 0 0;
  transition:background .12s, color .12s;
}
.report-tab:hover{ color:var(--ink-2) }
.report-tab.active{
  background:#fff; border-color:var(--line);
  color:var(--primary); font-weight:500;
  position:relative; top:1px; padding-bottom:8px;
}

.report-body{ padding:18px 18px 12px; background:#fff; min-height:380px; }
.sheet-title{ font-size:14px; font-weight:600; color:var(--ink); letter-spacing:-.01em; margin-bottom:2px; }
.sheet-sub{ font-family:var(--f-mono); font-size:10.5px; color:var(--muted); letter-spacing:.04em; margin-bottom:14px; }
.sheet-note{
  font-family:var(--f-mono); font-size:10.5px;
  color:var(--signal-amber-ink); background:var(--signal-amber-soft);
  padding:6px 10px; border-radius:4px; margin-bottom:14px;
  border-left:3px solid var(--signal-amber);
}
.sheet-note.red{ color:var(--signal-red-ink); background:var(--signal-red-soft); border-left-color:var(--signal-red); }

.xlsx{
  display:grid; gap:0;
  border:1px solid var(--rule);
  border-radius:3px; overflow:hidden;
  background:#fff;
}
.xlsx-head{
  padding:6px 9px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
  font-family:var(--f-mono); font-size:9.5px;
  color:var(--ink-2); letter-spacing:.06em; text-transform:uppercase;
  background:#F2F1EB; font-weight:600;
}
.xlsx-cell{
  padding:6px 9px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);
  font-family:var(--f-mono); font-size:10px;
  color:var(--ink-2);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  display:flex; align-items:center;
}
.xlsx-cell.k{ color:var(--ink); font-weight:500; }
.xlsx-cell.ok{ background:var(--sage-soft); color:var(--sage-ink); font-weight:500; }
.xlsx-cell.warn, .xlsx-cell.amber{ background:var(--signal-amber-soft); color:var(--signal-amber-ink); font-weight:500; }
.xlsx-cell.crit{ background:var(--signal-red-soft); color:var(--signal-red-ink); font-weight:500; }

.cell-ok{ background:var(--sage-soft); color:var(--sage-ink); font-weight:500 }
.cell-warn{ background:var(--signal-amber-soft); color:var(--signal-amber-ink); font-weight:500 }
.cell-crit{ background:var(--signal-red-soft); color:var(--signal-red-ink); font-weight:500 }

.report-foot{
  display:flex; align-items:center; gap:14px; padding:12px 18px;
  font-family:var(--f-mono); font-size:10.5px;
  color:var(--muted); letter-spacing:.04em;
  border-top:1px dashed var(--line); background:#F8F7F2;
}
.report-foot .left{ display:flex; gap:18px }
.report-foot .right{ margin-left:auto }

/* ROI band */
.band-primary{ background:var(--primary); color:#fff; position:relative; overflow:hidden; }
.band-primary::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(600px 300px at 90% 10%, rgba(90,164,124,.15), transparent 70%);
  pointer-events:none;
}
.band-primary .kicker{ color:#9CB2BA }
.band-primary .kicker::before{ background:#2A4B5A }
.roi-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:72px; align-items:center; }
@media(max-width:960px){ .roi-grid{ grid-template-columns:1fr; gap:40px } }
.roi-numbers{
  display:grid; grid-template-columns:1fr 1fr; gap:2px;
  background:#2A4B5A; border:1px solid #2A4B5A;
  border-radius:var(--r-lg); overflow:hidden;
}
.roi-cell{ padding:28px; background:var(--primary); }
.roi-cell--accent{ background:#0B2E3F }
.roi-cell-label{
  font-family:var(--f-mono); font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:#A8C4CE; margin-bottom:12px;
}
.roi-cell-num{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(40px, 4.4vw, 56px); line-height:1; letter-spacing:-.03em;
}
.roi-cell-num .unit{ font-size:18px; color:#A8C4CE; font-weight:500; margin-left:6px; letter-spacing:0; }
.roi-cell-num .sage{ color:var(--sage) }
.roi-cell-sub{
  margin-top:10px; font-family:var(--f-mono); font-size:11px;
  letter-spacing:.04em; color:#A8C4CE; max-width:26ch;
}
.roi-calc{
  margin-top:24px; display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:18px 22px; background:rgba(255,255,255,.04);
  border:1px solid #2A4B5A; border-radius:var(--r-md);
  font-family:var(--f-mono); font-size:12px;
  color:#DBE6EA; letter-spacing:.02em;
}
.roi-calc b{ color:var(--sage); font-weight:600 }

/* Compare */
.compare{
  display:grid; grid-template-columns:1fr 1fr;
  border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; margin-top:40px; background:#fff;
}
@media(max-width:720px){ .compare{ grid-template-columns:1fr } }
.compare-col{ padding:28px 32px; }
.compare-col:first-child{ border-right:1px solid var(--line); background:var(--paper-2); }
@media(max-width:720px){
  .compare-col:first-child{ border-right:0; border-bottom:1px solid var(--line) }
}
.compare-col-head{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); margin-bottom:20px;
  display:flex; gap:10px; align-items:center;
}
.compare-col--after .compare-col-head{ color:var(--sage-ink) }
.compare-col--after .compare-col-head::before{
  content:""; width:8px; height:8px; border-radius:50%; background:var(--sage);
}
.compare-col--before .compare-col-head::before{
  content:""; width:8px; height:8px; border-radius:50%; background:var(--muted-2);
}
.compare-col ol{ list-style:none; padding:0; margin:0; counter-reset:step; }
.compare-col ol li{
  counter-increment:step;
  display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:20px;
  padding:12px 0; border-top:1px dashed var(--line);
  font-size:14px; color:var(--ink-2); align-items:baseline;
}
.compare-col ol li:first-child{ border-top:0 }
.compare-col ol li::before{
  content:counter(step,decimal-leading-zero);
  font-family:var(--f-mono); font-size:11px;
  color:var(--muted); letter-spacing:.04em;
}
.compare-col ol li > span:first-child{ min-width:0; overflow-wrap:break-word }
.compare-col .time{
  font-family:var(--f-mono); font-size:11px;
  color:var(--muted); letter-spacing:.04em; white-space:nowrap;
}
.compare-col--before .total{
  margin-top:16px; padding-top:14px; border-top:1px solid var(--rule);
  font-family:var(--f-mono); font-size:12px; color:var(--muted); letter-spacing:.04em;
  display:flex; justify-content:space-between; gap:16px;
}
.compare-col--after .total{
  margin-top:16px; padding-top:14px; border-top:1px solid var(--sage);
  font-family:var(--f-mono); font-size:12px; color:var(--sage-ink); letter-spacing:.04em;
  display:flex; justify-content:space-between; gap:16px; font-weight:500;
}
.compare-col .total > span:last-child{ white-space:nowrap }

/* Pricing */
.pricing-row{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:16px; margin-top:40px; }
@media(max-width:1040px){ .pricing-row{ grid-template-columns:minmax(0, 1fr) } }
.price-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:28px; display:flex; flex-direction:column; gap:16px; position:relative;
}
.price-card--featured{ border-color:var(--primary); box-shadow:var(--shadow-md); }
.price-card--featured::after{
  content:"Most popular"; position:absolute; top:-12px; right:20px;
  background:var(--sage); color:#fff;
  font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  padding:5px 10px; border-radius:var(--r-pill);
}
.price-name{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted);
}
.price-num{ font-family:var(--f-display); font-weight:600; font-size:44px; letter-spacing:-.03em; line-height:1; }
.price-num .unit{ font-size:16px; color:var(--muted); font-weight:500 }
.price-desc{ font-size:13.5px; color:var(--ink-2); line-height:1.5 }
.price-features{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px }
.price-features li{
  position:relative;
  padding-left:18px;
  font-size:13px; color:var(--ink-2); line-height:1.45;
  word-break:normal; overflow-wrap:break-word;
}
.price-features li::before{
  content:""; position:absolute; left:2px; top:7px;
  width:6px; height:6px; border-radius:50%;
  background:var(--sage);
}

/* CTA band */
.cta-band{
  background:var(--ink); color:#fff; position:relative; overflow:hidden;
  border-radius:var(--r-xl); margin:80px 0; padding:72px;
}
@media(max-width:760px){ .cta-band{ padding:48px 32px } }
.cta-band::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(800px 300px at 95% 100%, rgba(90,164,124,.18), transparent 70%);
  pointer-events:none;
}
.cta-band-inner{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:48px; align-items:center; position:relative;
}
@media(max-width:820px){ .cta-band-inner{ grid-template-columns:1fr } }
.cta-band h2{ color:#fff; margin-bottom:16px; letter-spacing:-.03em }
.cta-band p{ color:#B4C0CB; font-size:17px; max-width:44ch; line-height:1.5 }

.trial-form{
  background:rgba(255,255,255,.04); border:1px solid #2A4B5A;
  border-radius:var(--r-lg); padding:26px; backdrop-filter:blur(6px);
}
.trial-form h4{
  font-size:14px; font-family:var(--f-mono);
  letter-spacing:.14em; text-transform:uppercase;
  color:#9CB2BA; font-weight:500; margin-bottom:20px;
}
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-field{ display:flex; flex-direction:column; gap:6px }
.form-field--full{ grid-column:1/-1 }
.form-label{
  font-family:var(--f-mono); font-size:10.5px;
  color:#9CB2BA; letter-spacing:.12em; text-transform:uppercase;
}
.form-input, .form-select{
  background:rgba(15,26,36,.5); border:1px solid #2A4B5A;
  color:#fff; padding:11px 14px; border-radius:var(--r-md);
  font-family:var(--f-display); font-size:14px;
  outline:none; transition:border-color .12s; appearance:none;
}
.form-input:focus, .form-select:focus{
  border-color:var(--sage); box-shadow:0 0 0 3px rgba(90,164,124,.16);
}
.form-input::placeholder{ color:#5E7380 }
.form-submit-row{ display:flex; gap:14px; align-items:center; margin-top:20px; flex-wrap:wrap; }
.form-note{
  font-family:var(--f-mono); font-size:10.5px;
  color:#7A8C98; letter-spacing:.04em; line-height:1.5;
}
.form-success{
  background:rgba(90,164,124,.1); border:1px solid var(--sage);
  border-radius:var(--r-lg); padding:28px;
  display:flex; gap:16px; align-items:flex-start;
}
.form-success .tick{
  width:32px; height:32px; border-radius:50%;
  background:var(--sage); color:#fff;
  display:grid; place-items:center; font-weight:600; flex-shrink:0;
}
.form-success h4{ color:#fff; margin-bottom:6px; font-size:17px }
.form-success p{ color:#B4C0CB; font-size:14px }

/* Zoho Forms iframe embed */
.zoho-form-wrap{
  position:relative;
  background:#fff; border-radius:var(--r-md); overflow:hidden;
  min-height:720px;
}
.zoho-form-loading{
  position:absolute; inset:0; display:grid; place-items:center;
  color:var(--muted); font-family:var(--f-mono); font-size:12px;
  letter-spacing:.08em;
}
.zoho-form-frame{
  width:100%; height:720px; border:0; display:block;
  background:#fff; position:relative; z-index:1;
}
@media(max-width:480px){
  .zoho-form-wrap{ min-height:820px }
  .zoho-form-frame{ height:820px }
}

/* FAQ */
.faq{ margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:40px 64px; }
@media(max-width:820px){ .faq{ grid-template-columns:1fr } }
.faq-item h4{ font-size:16px; font-weight:600; margin-bottom:8px; letter-spacing:-.01em; }
.faq-item p{ color:var(--ink-2); font-size:14.5px; line-height:1.55 }

/* Footer */
.footer{ border-top:1px solid var(--line); padding:64px 0 40px; background:var(--paper); }
.footer-inner{
  display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3, minmax(0,1fr));
  gap:48px;
}
@media(max-width:820px){ .footer-inner{ grid-template-columns:1fr 1fr; gap:32px } }
.footer-brand p{ font-size:14px; color:var(--muted); max-width:32ch; margin-top:16px; line-height:1.55; }
.footer h5{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); font-weight:500; margin:0 0 16px 0;
}
.footer ul{ list-style:none; padding:0; margin:0 }
.footer li{ margin-bottom:10px }
.footer li a{ font-size:14px; color:var(--ink-2); transition:color .12s; }
.footer li a:hover{ color:var(--primary) }
.footer-legal{
  margin-top:48px; padding-top:24px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:16px;
  font-family:var(--f-mono); font-size:11px; color:var(--muted); letter-spacing:.04em;
}

/* Modal */
.modal-scrim{
  position:fixed; inset:0; background:rgba(15,26,36,.62);
  backdrop-filter:blur(4px);
  display:grid; place-items:center; z-index:100; padding:32px;
  animation:fade .18s ease;
}
@keyframes fade{ from{opacity:0} }
.modal{
  background:#fff; border-radius:var(--r-xl);
  max-width:1000px; width:100%; max-height:86vh; overflow:auto;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.4);
  animation:rise .22s cubic-bezier(.2,.8,.2,1);
}
@keyframes rise{ from{ transform:translateY(16px); opacity:0 } }
.modal-head{
  display:flex; align-items:center; gap:16px;
  padding:18px 24px; border-bottom:1px solid var(--line);
  position:sticky; top:0; background:#fff;
}
.modal-head h4{ font-size:16px }
.modal-head .close{
  margin-left:auto; width:32px; height:32px; border-radius:var(--r-md);
  display:grid; place-items:center; color:var(--muted);
}
.modal-head .close:hover{ background:var(--paper-2); color:var(--ink) }
.modal-body{ padding:28px 32px }

/* Tweaks */
.tweaks-panel{
  position:fixed; right:20px; bottom:20px; width:300px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow-md); z-index:200;
  font-family:var(--f-display); overflow:hidden;
}
.tweaks-head{
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; border-bottom:1px solid var(--line);
  background:var(--paper-2);
  font-family:var(--f-mono); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.tweaks-body{ padding:16px }
.tweak{ margin-bottom:16px }
.tweak:last-child{ margin-bottom:0 }
.tweak-label{
  font-family:var(--f-mono); font-size:10.5px;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:8px;
}
.tweak-opts{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:4px;
  padding:3px; background:var(--paper-2); border-radius:var(--r-md);
}
.tweak-opt{
  padding:7px 10px; font-size:12px; border-radius:4px;
  text-align:center; color:var(--ink-2); transition:all .12s;
}
.tweak-opt:hover{ color:var(--ink) }
.tweak-opt[data-active="true"]{
  background:#fff; color:var(--primary);
  box-shadow:var(--shadow-xs); font-weight:500;
}

@media(max-width:640px){ .hide-sm{ display:none } }
