/* Kettl — self-hosted variable fonts (SIL OFL 1.1) */
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/GeistVariable-latin.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/GeistMonoVariable-latin.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/InterVariable-latin.woff2") format("woff2")}

:root{
--navy:#1E2A44;--honey:#F0A04B;--cream:#FBF6EF;--charcoal:#2B2B2B;
--navy-deep:#141D30;--honey-deep:#D9822B;--honey-light:#F8C892;--cream-edge:#EFE6D8;
--navy-100:#E8EAF0;
--navy-200:#C3C9D6;
--navy-400:#4A5773;
--navy-600:#141D30;
--honey-100:#FBF1E4;
--text-muted:#697183;
--honey-label:#AA5E0E;
--error:#C5503E;--error-ink:#C04C3A;
--on-navy:#FBF6EF;
--on-navy-80:color-mix(in oklab,#FBF6EF 80%,#141D30);
--on-navy-66:color-mix(in oklab,#FBF6EF 66%,#141D30);
--on-navy-62:color-mix(in oklab,#FBF6EF 62%,#141D30);
--card-navy:color-mix(in oklab,#FBF6EF 7%,#1E2A44);
--card-navy-border:color-mix(in oklab,#FBF6EF 14%,transparent);
--card-navy-text:color-mix(in oklab,#FBF6EF 74%,#1E2A44);
--field:var(--navy);--field-border:color-mix(in oklab,#FBF6EF 18%,transparent);
--font-display:'Geist',system-ui,sans-serif;
--font-body:'Inter',system-ui,sans-serif;
--font-mono:'Geist Mono',ui-monospace,monospace;
--radius-md:12px;--radius-pill:999px;
--shadow-card:0 1px 2px rgba(20,29,48,.04),0 4px 16px rgba(20,29,48,.05);
--ease-warm:cubic-bezier(.25,.6,.3,1);
}
*{box-sizing:border-box}
/* Several components set an explicit display, which out-specifies the browser default for [hidden]. */
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--charcoal);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--honey-deep);text-decoration:none}
a:hover{color:var(--navy);text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--honey);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}
.sec{padding:clamp(64px,8.4vw,120px) 0}
[id]{scroll-margin-top:88px}
.label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.eyebrow{color:var(--navy-400);margin-bottom:clamp(18px,1.8vw,24px)}
.ember{display:block;width:8px;height:8px;border-radius:50%;background:var(--honey);flex:none}
.h2{font-size:clamp(26px,3vw,40px)}
.h2-sm{font-size:clamp(24px,2.6vw,34px)}
.lead{font-size:clamp(16px,1.2vw,17px);line-height:1.6}

/* nav */
.top{position:sticky;top:0;z-index:30;background:var(--cream);border-bottom:1px solid var(--cream-edge)}
.top nav{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px);height:clamp(64px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2.4vw,32px)}
.mark{display:inline-flex;align-items:center;flex:none;line-height:0;text-decoration:none}
.mark:hover{text-decoration:none}
.mark img{display:block;height:26px;width:auto}
.navlinks{display:flex;align-items:center;gap:20px;font-size:15px}
.navlinks a{color:var(--navy);padding:4px 0;border-bottom:1px solid transparent}
.navlinks a:hover{text-decoration:none;color:var(--navy);border-bottom-color:var(--navy-400)}
.navlinks span{color:var(--navy-400)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:15px;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;transition:background var(--ease-warm) 120ms,transform 120ms var(--ease-warm);white-space:nowrap}
.btn:hover{text-decoration:none}
.btn-navy{background:var(--navy);color:var(--on-navy);height:44px;padding:0 20px}
.btn-navy:hover{background:var(--navy-deep);color:var(--on-navy)}
.btn-honey{background:var(--honey);color:var(--navy);height:56px;padding:0 24px}
.btn-honey:hover{background:var(--honey-deep);color:var(--navy)}
.btn:active{transform:scale(.98)}
.nav-cta-short{display:none}

/* hero */
.hero{background:var(--navy-deep);padding:clamp(56px,7vw,104px) 0 clamp(64px,8vw,112px)}
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(44px,5vw,72px)}
.hero-copy{flex:1 1 420px;max-width:540px;min-width:0}
.hero h1{font-size:clamp(32px,4.6vw,54px);line-height:1.05;letter-spacing:-.024em;color:var(--cream);margin-bottom:clamp(18px,1.8vw,24px)}
.hero-sub{color:var(--on-navy-80);max-width:52ch;margin-bottom:clamp(28px,3vw,36px)}
.hero-eyebrow{display:flex;align-items:center;gap:10px;color:var(--honey-light);margin-bottom:clamp(20px,2vw,28px)}
.hero-eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--honey);display:inline-block}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(18px,2vw,28px)}
.hero-cta .btn-honey{width:min(100%,300px)}
.quiet-link{font-size:15px;color:var(--cream);border-bottom:1px solid color-mix(in oklab,#FBF6EF 35%,transparent);padding-bottom:3px}
.quiet-link:hover{color:var(--cream);text-decoration:none;border-bottom-color:var(--honey)}
.hero-note{font-size:13.5px;color:var(--on-navy-66);max-width:46ch;margin-top:clamp(18px,2vw,22px)}
.panel{flex:1.2 1 440px;min-width:min(100%,300px);display:flex;flex-direction:column;gap:14px}
.card{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}
.queue-head{padding:16px clamp(16px,1.6vw,22px);border-bottom:1px solid var(--cream-edge);display:flex;align-items:center;justify-content:space-between;gap:16px}
.queue-head .label{color:var(--navy-400)}
.live{display:inline-flex;align-items:center;gap:8px}
.live i{width:7px;height:7px;border-radius:50%;background:var(--honey);display:inline-block;animation:ember 2s var(--ease-warm) infinite}
@keyframes ember{0%,100%{box-shadow:0 0 0 0 rgba(240,160,75,.45)}50%{box-shadow:0 0 0 6px rgba(240,160,75,0)}}
.rows{padding:10px}
.row{display:flex;align-items:center;gap:clamp(10px,1.1vw,14px);padding:13px 12px;border:1px solid transparent;border-radius:var(--radius-md)}
.row.on{border-color:var(--honey)}
.chip{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy-100);display:flex;align-items:center;justify-content:center;color:var(--navy-600)}
.row.on .chip{background:var(--honey-100);color:var(--honey-deep)}
.row div{flex:1 1 auto;min-width:0}
.row b{display:block;font-size:15px;font-weight:500;color:var(--navy);letter-spacing:-.005em}
.row small{display:block;font-size:13.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tiles{display:flex;flex-wrap:wrap;row-gap:18px;padding:18px 8px}
.tile{flex:1 1 120px;padding:0 clamp(14px,1.4vw,20px);border-left:1px solid var(--cream-edge)}
.tile:first-child{border-left:0}
.tile .label{font-size:10px;color:var(--navy-400);margin-bottom:8px}
.tile em{font-family:var(--font-mono);font-style:normal;font-size:16px;color:var(--navy);font-feature-settings:'tnum' 1;line-height:1.2}

/* problem */
.problem{padding:clamp(64px,8.4vw,120px) 0 clamp(52px,6.6vw,96px)}
.problem h2{color:var(--navy);margin-bottom:clamp(40px,5vw,64px);max-width:22ch}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(32px,3.4vw,48px)}
.problem p{font-size:clamp(17px,1.3vw,19px);line-height:1.45;color:var(--navy);max-width:30ch}
.problem .ember{width:9px;height:9px;margin-bottom:18px}

/* steps */
.steps{padding:0 0 clamp(64px,8.4vw,120px)}
.steps h2{color:var(--navy);margin-bottom:clamp(44px,5.4vw,72px);max-width:24ch}
.rule{border-top:1px solid var(--cream-edge);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(36px,4vw,56px)}
.step{position:relative;padding-top:clamp(32px,3vw,40px)}
.step .ember{width:9px;height:9px;position:absolute;top:-5px;left:0}
.step .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--honey-label);margin-bottom:14px}
.step h3{font-size:20px;line-height:1.25;letter-spacing:-.012em;color:var(--navy);margin-bottom:12px}
.step p{font-size:16px;line-height:1.6;max-width:34ch}

/* features */
.features{background:var(--navy)}
.features .eyebrow{color:var(--honey-light)}
.features h2{color:var(--cream);margin-bottom:clamp(40px,5vw,64px);max-width:26ch}
.grid6{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:clamp(16px,1.7vw,24px)}
.fcard{background:var(--card-navy);border:1px solid var(--card-navy-border);border-radius:var(--radius-md);padding:clamp(22px,2.2vw,28px);display:flex;flex-direction:column;gap:14px}
.fcard .ico{height:20px;display:flex;align-items:center;color:var(--honey)}
.fcard .ico .ember{width:16px;height:16px}
.fcard h3{font-size:17px;line-height:1.3;letter-spacing:-.008em;color:var(--cream)}
.fcard p{font-size:15px;line-height:1.6;color:var(--card-navy-text)}

/* pricing */
.pricing h2{color:var(--navy);margin-bottom:18px;max-width:24ch}
.pricing .lead{color:var(--charcoal);margin-bottom:clamp(44px,5.4vw,72px);max-width:60ch}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(32px,3vw,44px) 0;margin-bottom:clamp(40px,4.6vw,56px)}
.col{padding:0 clamp(20px,2.4vw,36px);border-left:1px solid var(--cream-edge)}
.col .label{color:var(--honey-label);margin-bottom:22px;display:block}
.col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.col li{display:flex;align-items:baseline;gap:12px;font-size:16px;color:var(--navy)}
.col li i{width:7px;height:7px;border-radius:50%;background:var(--honey);flex:none;display:inline-block}
.col.muted li i{background:var(--navy-400)}
.rates{background:var(--cream-edge);border-radius:var(--radius-md);padding:clamp(26px,2.8vw,36px) clamp(22px,2.6vw,40px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:clamp(24px,2.4vw,32px)}
.rate{padding-left:clamp(16px,1.6vw,24px);border-left:1px solid color-mix(in oklab,#1E2A44 18%,transparent)}
.rate b{display:block;font-family:var(--font-mono);font-weight:400;font-size:clamp(22px,2.2vw,28px);letter-spacing:.02em;color:var(--navy);font-feature-settings:'tnum' 1;line-height:1.1;margin-bottom:10px}
.rate .label{font-size:10px;color:var(--text-muted)}

/* offer */
.offer{background:var(--navy-deep)}
.offer .inner{max-width:620px;margin:0 auto;padding:0 clamp(20px,4vw,32px);text-align:center}
.offer h2{font-size:clamp(28px,3.1vw,40px);color:var(--cream);margin-bottom:16px}
.offer h2 span{color:var(--honey)}
.offer .lead{color:color-mix(in oklab,#FBF6EF 82%,#141D30);margin-bottom:clamp(32px,4vw,44px)}
form{display:flex;flex-direction:column;gap:18px;text-align:left}
form label{display:flex;flex-direction:column;gap:8px}
form label .label{color:var(--on-navy-66)}
input,select{height:52px;padding:0 16px;border-radius:10px;background:var(--field);border:1px solid var(--field-border);color:var(--cream);font-family:var(--font-body);font-size:16px;outline:none;transition:border-color 120ms var(--ease-warm);width:100%}
input:focus,select:focus{border-color:var(--honey)}
input::placeholder{color:color-mix(in oklab,#FBF6EF 42%,#141D30)}
.sel{position:relative;display:block}
select{appearance:none;padding-right:44px;color:color-mix(in oklab,#FBF6EF 74%,#141D30);cursor:pointer}
.sel svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);pointer-events:none}
form .btn-honey{margin-top:10px;width:100%;font-family:var(--font-display);font-size:17px}
.smallprint{font-size:13px;line-height:1.55;color:var(--on-navy-62);margin-top:6px;text-align:center}
.done{display:none;flex-direction:column;align-items:center;padding:clamp(24px,4vw,40px) 0}
.done .ember{width:12px;height:12px;margin-bottom:28px}
.done h2{font-size:clamp(24px,2.4vw,28px);line-height:1.2;letter-spacing:-.016em;margin-bottom:16px}
.done p{max-width:44ch;margin-bottom:32px;color:color-mix(in oklab,#FBF6EF 82%,#141D30);font-size:clamp(16px,1.2vw,17px);line-height:1.6}
.done a{font-size:15px;color:color-mix(in oklab,#FBF6EF 74%,#141D30);border-bottom:1px solid color-mix(in oklab,#FBF6EF 30%,transparent);padding-bottom:3px}
.done a:hover{color:var(--cream);text-decoration:none;border-bottom-color:var(--honey)}
.offer.sent .ask{display:none}
.offer.sent .done{display:flex}

/* built / faq */
.built{padding:clamp(64px,8.4vw,112px) 0 clamp(52px,6.6vw,88px)}
.built h2{color:var(--navy);margin-bottom:22px;max-width:24ch}
.built p{font-size:clamp(16px,1.2vw,17px);line-height:1.65;max-width:62ch}
.faq{padding:0 0 clamp(64px,8.4vw,120px)}
.faq .inner{max-width:760px;margin:0 auto;padding:0 clamp(20px,4vw,32px)}
.faq h2{color:var(--navy);margin-bottom:clamp(32px,3.6vw,48px)}
.qa{border-top:1px solid var(--cream-edge);padding:clamp(22px,2.4vw,28px) 0;display:flex;gap:clamp(12px,1.4vw,16px)}
.qa:last-child{border-bottom:1px solid var(--cream-edge)}
.qa .ember{margin-top:9px}
.qa h3{font-size:clamp(18px,1.5vw,19px);line-height:1.3;letter-spacing:-.012em;color:var(--navy);margin-bottom:10px}
.qa p{font-size:16px;line-height:1.6;max-width:62ch}

/* footer */
footer{background:var(--navy-deep);min-height:120px;display:flex;align-items:center}
footer .wrap{padding:clamp(32px,3.4vw,36px) clamp(20px,4vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,3vw,40px)}
.fmark{flex:none}
.fmark .mark img{height:23px}
.fmark .mark:hover{color:var(--cream)}
.fmark .label{font-size:10px;color:color-mix(in oklab,#FBF6EF 56%,#141D30);margin-top:6px;display:block}
.flinks{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:14px}
.flinks a{color:color-mix(in oklab,#FBF6EF 80%,#141D30);border-bottom:1px solid transparent}
.flinks a:hover{color:var(--cream);text-decoration:none;border-bottom-color:var(--honey)}
.flinks span{color:color-mix(in oklab,#FBF6EF 42%,#141D30)}
.sig{flex:none;font-size:14px;color:color-mix(in oklab,#FBF6EF 64%,#141D30)}

@media (max-width:759px){
  .navlinks{display:none}
  .nav-cta-long{display:none}
  .nav-cta-short{display:inline-flex}
  .row-extra{display:none}
  .tile-extra{display:none}
  .tile{border-left:0}
  .hero-cta .btn-honey{width:100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .live i{animation:none}
  .btn{transition:none}
}

/* legal / long-form pages */
.doc{max-width:760px;margin:0 auto;padding:0 clamp(20px,4vw,32px)}
.doc h1{font-size:clamp(30px,3.4vw,44px);color:var(--navy);margin-bottom:14px}
.doc .meta{font-size:14px;color:var(--text-muted);margin-bottom:clamp(36px,4vw,56px)}
.doc h2{font-size:clamp(20px,1.9vw,24px);letter-spacing:-.014em;color:var(--navy);margin:clamp(36px,3.6vw,48px) 0 14px}
.doc h3{font-size:17px;color:var(--navy);margin:24px 0 10px}
.doc p{font-size:16px;line-height:1.65;max-width:70ch}
.doc p+p{margin-top:14px}
.doc ul{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}
.doc li{display:flex;gap:12px;align-items:baseline;font-size:16px;line-height:1.65;max-width:70ch}
.doc li i{width:7px;height:7px;border-radius:50%;background:var(--honey);flex:none;display:inline-block}
.doc a{color:var(--honey-label);border-bottom:1px solid var(--cream-edge)}
.doc a:hover{color:var(--navy);text-decoration:none;border-bottom-color:var(--navy-400)}
.doc address{font-style:normal;line-height:1.65}
.doc .box{background:#fff;border:1px solid var(--cream-edge);border-radius:var(--radius-md);padding:clamp(20px,2.2vw,28px);margin-top:22px;box-shadow:var(--shadow-card)}
.doc .box p{max-width:64ch}
.doc .cta{margin-top:clamp(36px,4vw,48px);display:flex;--h:56px}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.formerror{font-size:14px;line-height:1.55;color:#E8A9A0;margin-top:4px;text-align:center}
.formerror a{color:var(--honey-light);border-bottom:1px solid color-mix(in oklab,#F8C892 40%,transparent)}
.formerror a:hover{color:var(--cream);text-decoration:none}
.btn:disabled{opacity:.6;cursor:progress}

.btn-ghost{background:transparent;color:var(--cream);border-color:color-mix(in oklab,#FBF6EF 34%,transparent);height:56px;padding:0 24px}
.btn-ghost:hover{background:color-mix(in oklab,#FBF6EF 10%,transparent);color:var(--cream);border-color:color-mix(in oklab,#FBF6EF 52%,transparent)}
}

.oralso{font-size:15px;line-height:1.6;color:var(--on-navy-66);margin-top:clamp(26px,3vw,32px);padding-top:clamp(26px,3vw,32px);border-top:1px solid var(--field-border);text-align:center}
.oralso a{color:var(--honey-light);border-bottom:1px solid color-mix(in oklab,#F8C892 40%,transparent)}
.oralso a:hover{color:var(--cream);text-decoration:none;border-bottom-color:var(--honey)}
@media (max-width:759px){ .hero-cta .btn-ghost{width:100%} }

/* offer CTA */
.offer-cta{display:flex;flex-direction:column;align-items:center;gap:24px}
.offer-cta .btn-honey{width:min(100%,340px);font-family:var(--font-display);font-size:17px}
.assure{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;font-size:14px;color:color-mix(in oklab,#FBF6EF 70%,#141D30)}
.assure li{display:inline-flex;align-items:center;gap:8px}
.assure i{width:6px;height:6px;border-radius:50%;background:var(--honey);display:inline-block}

.doc code{font-family:var(--font-mono);font-size:.88em;background:var(--navy-100);border-radius:4px;padding:2px 6px;color:var(--navy)}
