/* AllOneForm landing v2 — P12 Ember Slate (locked).
   Tokens: navy #1C2B3A, navy-deep #101A24, slate #3A4652, ember #D43A2F,
   deep-cut #A4262C, mist #F4F6F8, line #D7DEE5, line-strong #BCCBD9, white.
   No blue accent anywhere: links and interactive accents are the
   deep-cut / ember family; navy and slate are structure only. */
:root{
  --navy:#1C2B3A; --navy-deep:#101A24; --navy-800:#22384C; --navy-700:#2A4359;
  --slate:#3A4652; --ember:#D43A2F; --deep-cut:#A4262C; --ember-tint:#FBEAE8;
  --mist:#F4F6F8; --line:#D7DEE5; --line-strong:#BCCBD9; --white:#FFFFFF;
  --ink-soft:#C9D3DC; --ink-faint:#93A5B3; --sel:#F5DBD8;
  --shadow-card:0 1px 2px rgba(16,26,36,.04),0 10px 24px -18px rgba(16,26,36,.18);
  --shadow-shot:0 1px 3px rgba(16,26,36,.12),0 16px 32px -20px rgba(16,26,36,.35);
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --serif:Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--slate);background:var(--white);
  font-size:17.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--sel);color:var(--navy)}
img{max-width:100%;height:auto;display:block}
a,button{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--deep-cut);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
h1,h2{font-family:var(--serif);color:var(--navy);font-weight:400;line-height:1.14;margin:0}
h2{font-size:40px;letter-spacing:-.01em;margin-bottom:18px}
h3{font-family:var(--sans);color:var(--navy);font-size:19px;margin:0 0 8px;line-height:1.35}
p{margin:0 0 16px}
.label{font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--deep-cut);margin:0 0 16px}
.label-light{color:var(--ink-soft)}
.lede{font-size:20px;line-height:1.6;max-width:44em}
.lede-dark{color:var(--ink-soft)}
.dark-h{color:var(--white)}
.text-link{color:var(--deep-cut);font-weight:700;text-underline-offset:3px}
.text-link:hover{text-decoration-thickness:2px}
.text-link-light{color:var(--white)}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:var(--white);padding:10px 18px;z-index:99}
.skip-link:focus{left:8px;top:8px}

/* Reveal: visible by default; JS adds .pre only when it can reveal, with a
   4s safety net in app.js. No-JS visitors see everything. */
.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.8,.3,1)}
.reveal.pre{opacity:0;transform:translateY(16px)}
.reveal.in{opacity:1;transform:none}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.4) blur(8px);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand img{display:block}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav a{color:var(--slate);text-decoration:none;font-size:15.5px;padding-bottom:2px;
  background:linear-gradient(currentColor,currentColor) left bottom/0% 1.5px no-repeat}
.site-nav a:hover{color:var(--deep-cut);background-size:100% 1.5px}
.site-nav .nav-cta{color:var(--white);background:var(--navy);border-radius:7px;padding:10px 18px;font-weight:700}
.site-nav .nav-cta:hover{background:var(--navy-deep);color:var(--white)}
.nav-menu{display:none}

/* Buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:17px;border-radius:8px;
  padding:14px 28px;text-decoration:none;cursor:pointer;border:1.5px solid transparent;text-align:center}
.btn-light{background:var(--white);color:var(--navy)}
.btn-light:hover{background:var(--mist);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--white);transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-deep);transform:translateY(-1px)}
.btn-primary{background:var(--navy);color:var(--white);width:100%;font-size:18px;padding:15px 26px}
.btn-primary:hover{background:var(--navy-deep)}
.btn-primary:disabled{opacity:.55;cursor:wait}
.btn-primary:active{transform:translateY(1px)}

/* Hero */
.hero{background:
  radial-gradient(1000px 480px at 88% -10%,rgba(212,58,47,.14),rgba(212,58,47,0) 55%),
  radial-gradient(900px 520px at -10% 110%,rgba(201,211,220,.12),rgba(201,211,220,0) 55%),
  linear-gradient(158deg,var(--navy-800) 0%,var(--navy) 48%,var(--navy-deep) 100%);
  color:var(--ink-soft);padding:88px 0 96px;overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--ember)}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;position:relative}
.hero h1{color:var(--white);font-size:clamp(42px,4.6vw,62px);line-height:1.06;letter-spacing:-.015em;margin-bottom:24px}
.hero-sub{font-size:21px;line-height:1.6;max-width:35em;color:var(--line);margin-bottom:34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.hero-micro{font-size:14.5px;color:var(--ink-soft);margin:10px 0 0}
.founder-badge{display:inline-block;margin:18px 0 0;padding:8px 16px;border:1px solid rgba(215,222,229,.35);
  border-radius:999px;font-family:var(--serif);font-size:15.5px;color:var(--white);background:rgba(255,255,255,.05)}
.founder-badge::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--ember);margin-right:10px;vertical-align:2px}
.hp-check{color:var(--ember);font-weight:700;font-size:15px}

/* Demo figures (real product screenshots) */
figure.demo{margin:0}
.demo-frame{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-shot)}
.demo-frame img{width:100%}
.demo-phone{max-width:340px;margin:0 auto;border-radius:26px}
.demo-caption{font-size:11.5px;line-height:1.45;color:var(--slate);background:var(--mist);
  border-left:2px solid var(--deep-cut);padding:7px 10px;margin-top:10px;border-radius:0 8px 8px 0}
.demo-grid .demo-caption{background:transparent}
.demo-caption-short{border-left:none;background:transparent;padding:2px 0 0;margin-top:8px}
.hero .demo-caption{background:rgba(255,255,255,.07);color:var(--ink-soft);border-left-color:var(--ember)}
.hero-demo{position:relative}
.hero-demo .demo-phone{position:relative;z-index:2;margin-left:0}
.hero-demo figcaption{position:relative;z-index:2}

/* Metrics */
.metrics-band{background:var(--mist);border-bottom:1px solid var(--line)}
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:52px;padding-bottom:52px}
.metric{border-left:3px solid var(--ember);padding-left:22px}
.metric-num{font-family:var(--serif);font-size:46px;line-height:1;color:var(--navy);margin:0 0 8px}
.metric-unit{font-size:22px;color:var(--deep-cut)}
.metric-label{font-size:15.5px;margin:0;max-width:19em}

/* Value spine */
.section-spine{background:linear-gradient(165deg,var(--navy-800) 0%,var(--navy) 52%,var(--navy-deep) 100%);
  color:var(--ink-soft);padding:72px 0}
.spine-list{border-top:1px solid rgba(215,222,229,.18)}
.spine-row{display:flex;gap:22px;align-items:baseline;padding:24px 6px;border-bottom:1px solid rgba(215,222,229,.18);
  text-decoration:none;color:var(--ink-soft)}
.spine-num{font-family:var(--serif);font-size:22px;color:var(--ember);min-width:26px}
.spine-text{display:flex;flex-direction:column;gap:4px}
.spine-text strong{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2.4vw,27px);line-height:1.25;color:var(--white)}
.spine-proof{font-size:15.5px;line-height:1.55;max-width:52em}
.spine-row:hover .spine-text strong{color:var(--ember-tint);text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:var(--ember);text-decoration-thickness:1.5px}
.spine-arrow{font-family:var(--serif);font-size:19px;color:var(--ember);margin-left:auto;padding-left:14px;
  opacity:0;transition:opacity .18s ease}
.spine-row:hover .spine-arrow{opacity:1}
.spine-exit{margin:26px 0 0;font-size:16px;color:var(--ink-soft)}
.spine-exit a{color:var(--white);font-weight:700;text-underline-offset:3px}
.spine-exit a:hover{color:var(--ember-tint)}
@media (max-width:960px){.spine-arrow{opacity:1}}
@media (max-width:640px){.section-spine{padding:52px 0}.spine-row{padding:18px 2px}}

/* Sections */
.section{padding:92px 0}
.section-alt{background:var(--mist)}
.section-dark{background:linear-gradient(165deg,var(--navy-800) 0%,var(--navy) 52%,var(--navy-deep) 100%);color:var(--ink-soft)}
.section-dark h2,.section-dark h3{color:var(--white)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:var(--shadow-card)}
.card h3{line-height:1.3;margin-bottom:10px}
.card p{margin:0;font-size:16.5px}
.card .relief{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.card .relief strong{color:var(--deep-cut)}
.pain-tag{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--deep-cut);margin:0 0 12px}
.pain-relief{margin-top:36px;font-size:19px;max-width:46em}
.card-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;
  background:var(--ember-tint);color:var(--deep-cut);margin-bottom:18px}
.card-icon svg{width:24px;height:24px}

/* Steps */
.steps{list-style:none;margin:42px 0 0;padding:0;display:grid;gap:0}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line)}
.steps li:first-child{border-top:none;padding-top:6px}
.step-num{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--ember);color:var(--deep-cut);
  font-family:var(--serif);font-size:21px;display:flex;align-items:center;justify-content:center;background:var(--white)}
.steps h3{margin-bottom:6px}
.steps p{max-width:46em;margin:0}
.note-panel{margin-top:44px;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--ember);
  border-radius:14px;padding:30px 32px;box-shadow:var(--shadow-card)}
.founder-panel{display:flex;gap:28px;align-items:flex-start}
.founder-mark{flex:0 0 216px;width:216px;min-height:140px;border-radius:12px;
  background:linear-gradient(160deg,var(--navy-800),var(--navy-deep));
  display:flex;align-items:center;justify-content:center;padding:20px}
.founder-mark img{width:100%;max-width:184px;height:auto;display:block}
.founder-line{font-family:var(--serif);font-size:21px;line-height:1.3;color:var(--navy);margin:0 0 10px}
.founder-text p{max-width:44em}
@media (max-width:640px){.founder-panel{flex-direction:column;gap:20px}.founder-mark{flex-basis:auto;width:100%;min-height:104px}}
.note-panel h3{margin-bottom:6px}
.note-panel p{margin:0;max-width:52em}
.section-cta{margin-top:44px}
.cta-micro{font-size:14.5px;color:var(--slate);margin:10px 0 0}
.section-dark .cta-micro{color:var(--ink-faint)}
.activation-line{margin-top:32px;max-width:54em}
@media (min-width:961px){#data .cards{grid-template-columns:repeat(2,1fr)}}

/* Demo gallery */
.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:46px;align-items:start}
.demo-grid .wide{grid-column:span 3;max-width:880px;width:100%;justify-self:center}
.demo-step{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--deep-cut);margin:16px 0 6px}
.demo-grid h3{font-size:18px;margin-bottom:4px}
.demo-grid .demo-note{font-size:15px;margin:0}

/* Feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.feature{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:30px 26px;box-shadow:var(--shadow-card)}
.feature h3{font-size:19px}
.feature p{margin:0;font-size:16px}

/* Value block */
.value-block{max-width:820px;margin:0 auto;text-align:center}
.value-quote{font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.4;color:var(--white);margin:0 0 20px}
.value-block p:not(.value-quote){color:var(--ink-soft);margin:0}
.value-cta{margin-top:28px !important}

/* Early access steps */
.access-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.access-step{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px 26px;box-shadow:var(--shadow-card)}
.access-step .step-num{margin-bottom:16px}
.access-step p{margin:0;font-size:16px}
.honesty{font-size:20px;line-height:1.6;max-width:46em;border-left:4px solid var(--ember);padding-left:22px}

/* FAQ */
.faq-list{margin-top:36px;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{cursor:pointer;font-weight:700;color:var(--navy);font-size:18px;padding:22px 34px 22px 0;list-style:none;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:20px;font-family:var(--serif);font-size:24px;color:var(--deep-cut)}
.faq-item summary:hover,.nav-menu summary:hover{color:var(--deep-cut)}
.faq-item[open ] summary::after{content:"–"}
.faq-item p{max-width:46em;padding-bottom:24px;margin:0}

/* Capture form */
.section-access{background:var(--white);border-top:1px solid var(--line)}
.signup-alt{margin:24px 0 0}
.signup-note{font-size:14px;margin:6px 0 0}
.access-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.access-list{list-style:none;margin:24px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.access-list li{display:flex;gap:10px;align-items:baseline;font-weight:600;color:var(--navy)}
form.capture{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:34px 32px;box-shadow:var(--shadow-card)}
form.capture label{display:block;font-weight:700;color:var(--navy);font-size:15.5px;margin:18px 0 7px}
form.capture label:first-of-type{margin-top:6px}
.req{color:var(--deep-cut)}
form.capture input{width:100%;font:inherit;font-size:16.5px;color:var(--navy);background:var(--white);
  border:1.5px solid var(--line-strong);border-radius:9px;padding:12px 14px}
form.capture input:focus{border-color:var(--deep-cut);outline:none;box-shadow:0 0 0 3px var(--ember-tint)}
form.capture input[aria-invalid="true"]{border-color:var(--deep-cut);background:var(--ember-tint)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field-help{font-size:15px;margin:0 0 6px}
.form-error{color:var(--deep-cut);font-weight:700;font-size:15.5px;margin:14px 0 0}
.privacy{font-size:14px;margin:16px 0 0}
.referral{font-size:15px;margin-top:22px}
.form-success{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--ember);
  border-radius:18px;padding:34px 32px;box-shadow:var(--shadow-card)}
.form-success h3{font-size:20px}

/* Footer */
.site-footer{background:var(--navy-deep);color:var(--ink-soft);padding:64px 0 40px}
.footer-main{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.footer-line{font-family:var(--serif);color:var(--white);font-size:19px;margin:16px 0 8px}
.footer-blurb{max-width:26em;font-size:15px;margin:0}
.footer-nav{display:flex;flex-direction:column;gap:10px}
.footer-nav a{color:var(--ink-soft);text-decoration:none;font-size:15.5px}
.footer-nav a:hover{color:var(--white);text-decoration:underline;text-underline-offset:3px}
.footer-meta{border-top:1px solid var(--navy-700);margin-top:40px;padding-top:22px;font-size:14px;color:var(--ink-faint)}

/* Responsive */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:64px}
  .hero-demo .demo-phone{margin-left:auto;margin-right:auto}
  .nav-menu summary{padding:12px 8px}
  .cards,.feature-grid,.access-steps{grid-template-columns:1fr 1fr}
  .demo-grid{grid-template-columns:1fr 1fr}
  .demo-grid .wide{grid-column:span 2}
  .access-inner{grid-template-columns:1fr;gap:40px}
  .site-nav a:not(.nav-cta){display:none}
  .nav-menu{display:block;position:relative}
  .nav-menu summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none}
  .nav-menu summary::-webkit-details-marker{display:none}
  .nav-menu-links{position:absolute;right:0;top:calc(100% + 10px);background:var(--white);border:1px solid var(--line);
    border-radius:12px;box-shadow:var(--shadow-card);padding:14px 18px;display:flex;flex-direction:column;gap:10px;min-width:180px;z-index:60}
  .nav-menu-links a{display:block !important}
}
@media (max-width:640px){
  body{font-size:16.5px}
  h2{font-size:31px}
  .wrap{padding:0 20px}
  .section{padding:64px 0}
  .hero{padding:60px 0 72px}
  .hero h1{font-size:38px}
  .hero-sub{font-size:19px}
  .hero-actions .btn{width:100%}
  .metrics-grid{grid-template-columns:1fr;gap:26px;padding-top:40px;padding-bottom:40px}
  .cards,.feature-grid,.access-steps,.demo-grid{grid-template-columns:1fr}
  .demo-grid .wide{grid-column:span 1}
  .steps li{grid-template-columns:46px 1fr;gap:16px}
  form.capture{padding:28px 22px}
  .brand img{width:118px}
  .site-nav{gap:10px}
  .site-nav .nav-cta{padding:8px 12px;font-size:14px;white-space:nowrap}
  .nav-menu summary{font-size:14px;padding:8px 4px}
  .demo-grid figure{min-width:0}
  .demo-grid .wide .demo-frame{overflow-x:auto;min-width:0;box-shadow:inset -20px 0 20px -20px rgba(16,26,36,.5),var(--shadow-shot)}
  .demo-frame picture{display:block}
  .demo-grid .wide .demo-frame img{width:560px;max-width:none}
  .btn-primary{font-size:17px;white-space:nowrap}
}

/* ===== Homepage options lab — variant treatments ===== */
.hero-copy-center{max-width:780px;margin:0 auto;text-align:center}
.hero-copy-center .hero-actions{justify-content:center}
.hero-copy-center .hero-sub{margin-left:auto;margin-right:auto}
.hero-demo-center{max-width:430px;margin:56px auto 0}
.hero-demo-center .demo-phone{margin:0 auto}
.hero-grid-wide{grid-template-columns:.9fr 1.1fr}
.hero-steps{display:flex;flex-direction:column;gap:18px}
.hero-step{display:grid;grid-template-columns:56px 1fr;gap:18px;background:rgba(255,255,255,.06);
  border:1px solid rgba(215,222,229,.25);border-radius:14px;padding:22px}
.hero-step h3{color:#fff;margin-bottom:4px}
.hero-step p{margin:0;color:var(--ink-soft);font-size:16px}
.hero-step .step-num{background:transparent}
.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:900px;margin:64px auto 0;
  background:rgba(255,255,255,.05);border:1px solid rgba(215,222,229,.25);border-radius:16px;padding:34px 38px}
.hero-metrics .metric-num{color:#fff}
.hero-metrics .metric-label{color:var(--ink-soft)}
@media (max-width:640px){.hero-metrics{grid-template-columns:1fr;padding:26px}}
.bleed-band{max-width:1180px;margin:64px auto 0;padding:0 28px}
.bleed-frame{border-radius:20px}
.bleed-caption{background:rgba(255,255,255,.07);color:var(--ink-soft);border-left-color:var(--ember);max-width:640px}
.demo-duo{grid-template-columns:repeat(2,1fr)}
.demo-duo .wide{grid-column:span 2}
.demo-duo .demo-phone{max-width:400px}
@media (max-width:640px){.demo-duo{grid-template-columns:1fr}.demo-duo .wide{grid-column:span 1}}
.demo-scroll{display:flex;gap:30px;overflow-x:auto;padding:10px 4px 26px;scroll-snap-type:x mandatory}
.demo-scroll figure{flex:0 0 320px;scroll-snap-align:start}
.demo-scroll .wide{flex-basis:min(760px,86vw)}
.feature-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 34px;margin-top:42px}
.feature-chip{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line);
  border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-card)}
.feature-chip .card-icon{margin-bottom:0;flex:0 0 46px}
.feature-chip p{margin:0;font-size:16px}
@media (max-width:640px){.feature-strip{grid-template-columns:1fr}}
.faq-more{margin-top:6px}
.faq-more>summary{cursor:pointer;font-weight:700;color:var(--deep-cut);font-size:17px;padding:20px 0;list-style:none}
.faq-more>summary::-webkit-details-marker{display:none}
.faq-more>summary:hover{text-decoration:underline;text-underline-offset:3px}
.faq-list-more{margin-top:0;border-top:1px solid var(--line)}
.faq-list-more .faq-item:last-child{border-bottom:none}
.air .section{padding:120px 0}
.air .hero{padding:120px 0 130px}
.deck .card,.deck .feature,.deck .access-step{border-radius:20px;box-shadow:0 2px 4px rgba(16,26,36,.05),0 18px 36px -20px rgba(16,26,36,.28)}
.serif-lede .lede{font-family:var(--serif);font-size:22px}
.strip-note{display:flex;gap:16px;align-items:center;background:var(--white);border:1px solid var(--line);
  border-left:4px solid var(--ember);border-radius:14px;padding:22px 26px;margin-top:44px;box-shadow:var(--shadow-card)}
.strip-note p{margin:0}
.hero figure.demo.hero-demo-center{margin:56px auto 0}
