/* Site v4 (Nov 1 design pass): same navy/blue/slate palette, tightened. System fonts, inline SVG only, no external assets. */
*{box-sizing:border-box}
:root{
 --navy:#0b1f3a;--navy2:#12305a;--blue:#1d5fd1;--blue-hi:#2f6fe0;--blue-lt:#93c5fd;--blue-tint:#dbeafe;
 --pale:#eef4fc;--grey:#f3f5f8;--ink:#1e293b;--slate:#475569;--line:#cbd5e1;--line2:#e2e8f0;
 --warn:#fff4d6;--fs:17px;--r:18px;--sh:0 1px 2px rgba(11,31,58,.06),0 10px 28px rgba(11,31,58,.08)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font:var(--fs)/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;padding-bottom:5.5rem}
a{color:var(--blue)}
a:hover{color:var(--blue-hi)}
.wrap{max-width:70rem;margin:0 auto;padding:0 1.25rem}
section .wrap,.legal{max-width:46rem}
:focus-visible{outline:3px solid var(--blue-lt);outline-offset:3px;border-radius:6px}
/* Header */
header.top{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line2);position:sticky;top:0;z-index:20}
header.top .wrap{max-width:70rem;display:flex;align-items:center;gap:1rem;min-height:3.6rem}
.logo{font-weight:900;font-size:1.28rem;letter-spacing:-.025em;color:var(--navy);text-decoration:none;margin-right:auto;display:flex;align-items:center}
.logo::before{content:"";width:1.35rem;height:1.35rem;border-radius:7px;margin-right:.5rem;background:linear-gradient(135deg,var(--blue-hi),var(--navy2));box-shadow:inset 0 0 0 3px rgba(255,255,255,.25)}
.topnav{display:none}
.topnav a{color:var(--slate);text-decoration:none;font-weight:600;font-size:.95rem;margin-left:1.5rem}
.topnav a:hover{color:var(--blue)}
header.top .small,.navcta{font-weight:700;color:var(--blue)!important;text-decoration:none;font-size:.92rem;border:1.5px solid var(--blue-tint);background:var(--pale);padding:.38rem .85rem;border-radius:999px}
header.top .small:hover,.navcta:hover{border-color:var(--blue-lt)}
/* Type */
section{padding:2.8rem 0}
section.alt{background:var(--pale)}
h1{font-size:clamp(2.3rem,8.5vw,4rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 1.1rem;font-weight:850}
h2{font-size:clamp(1.65rem,5vw,2.4rem);line-height:1.1;letter-spacing:-.025em;margin:0 0 1.1rem;font-weight:800;color:var(--navy)}
h3{font-size:1.1rem;margin:1.3rem 0 .3rem}
.lead{font-size:1.2rem;line-height:1.55}
.small,.small p{font-size:.9rem;color:var(--slate)}
/* Buttons */
.btn{display:block;width:100%;text-align:center;background:var(--blue);color:#fff!important;font-weight:800;font-size:1.06rem;padding:1.02rem 1.3rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;margin-top:1.5rem;box-shadow:0 8px 20px rgba(29,95,209,.28);transition:background .15s,transform .15s,box-shadow .15s}
.btn:hover,.btn:focus-visible{background:var(--blue-hi);transform:translateY(-1px);box-shadow:0 12px 26px rgba(29,95,209,.34)}
.btn:active{transform:none}
.under{text-align:center;font-size:.9rem;color:var(--slate);margin:.65rem 0 0}
/* Hero */
.hero{position:relative;background:radial-gradient(90% 70% at 85% 10%,#22508f 0,rgba(34,80,143,0) 60%),linear-gradient(160deg,var(--navy2) 0,var(--navy) 70%);color:#fff;padding:2.2rem 0 4rem}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:44px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201440%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2030c240%2030%20480%2030%20720%200s480-30%20720%200v30H0z%22%20fill%3D%22%23eef4fc%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero h1{color:#fff}
.hero .lead{color:#dbe6f5;max-width:34rem}
.hero .small{color:var(--blue-lt);font-weight:600;letter-spacing:.01em}
.hero .under{color:#b9cce6}
.hero .btn{box-shadow:0 10px 30px rgba(29,95,209,.5)}
.hero-art{display:none;justify-content:center}
.hero-art svg{width:min(70vw,250px);height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
/* Form card */
.formband{padding:2.6rem .5rem}
.formband .wrap{background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:1.7rem 1.3rem;box-shadow:var(--sh)}
label{display:block;font-weight:700;margin:.4rem 0 .35rem;color:var(--navy)}
input[type=email]{width:100%;font-size:1.05rem;padding:.95rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--grey);color:var(--ink)}
input[type=email]:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--blue-tint)}
form .btn{margin-top:.9rem}
/* Problem */
.problem{background:#fff}
.problem p{font-size:1.1rem;color:var(--slate)}
/* Steps (index + legal) */
ol.steps{list-style:none;counter-reset:s;padding:0;margin:1.2rem 0}
ol.steps>li{counter-increment:s;position:relative;padding:0 0 1.4rem 3.3rem;margin:0}
ol.steps>li::before{content:counter(s);position:absolute;left:0;top:-.05rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.how ol.steps>li{background:#fff;border:1px solid var(--line2);border-radius:var(--r);padding:1.4rem 1.3rem 1.4rem;margin-bottom:1rem;box-shadow:var(--sh)}
.how ol.steps>li::before{left:auto;right:1.1rem;top:1.1rem;width:1.9rem;height:1.9rem;font-size:.9rem;background:var(--navy);}
.ico{display:flex;width:3.1rem;height:3.1rem;border-radius:14px;align-items:center;justify-content:center;color:var(--blue);background:linear-gradient(135deg,var(--pale),var(--blue-tint));margin-bottom:.85rem}
.how ol.steps>li strong{font-size:1.12rem;color:var(--navy)}
/* SMS bubble */
blockquote.sms{margin:1rem 0 .2rem;padding:.9rem 1.05rem;background:var(--blue);color:#fff;border-radius:20px 20px 20px 6px;font-size:.95rem;line-height:1.5;max-width:22rem;box-shadow:0 8px 18px rgba(29,95,209,.25)}
/* Morning tiles */
.morning{background:var(--grey)}
.morning ul{list-style:none;padding:0;margin:1.1rem 0;display:grid;gap:.65rem}
.morning li{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:.85rem 1rem .85rem 3.4rem;position:relative;box-shadow:0 1px 2px rgba(11,31,58,.05);font-weight:600;color:var(--ink)}
.morning li::before{content:"";position:absolute;left:.8rem;top:50%;transform:translateY(-50%);width:1.9rem;height:1.9rem;border-radius:9px;background-color:var(--pale);background-repeat:no-repeat;background-position:center;background-size:1.1rem}
.morning li:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22/%3E%3C/svg%3E")}
.morning li:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%2210%22%20height%3D%2220%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M11%2018h2%22/%3E%3C/svg%3E")}
.morning li:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3%202%22/%3E%3C/svg%3E")}
.morning li:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2015a2%202%200%200%201-2%202H7l-4%204V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202z%22/%3E%3C/svg%3E")}
.morning li:nth-child(5)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10.3%203.9%201.8%2018a2%202%200%200%200%201.7%203h17a2%202%200%200%200%201.7-3L13.7%203.9a2%202%200%200%200-3.4%200z%22/%3E%3Cpath%20d%3D%22M12%209v4M12%2017h.01%22/%3E%3C/svg%3E")}
.morning li:nth-child(6)::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22/%3E%3C/svg%3E")}
/* Pricing */
.pricing{padding:3.4rem .5rem;background:linear-gradient(180deg,var(--pale),#fff)}
.pricing .wrap{background:#fff;border:2px solid var(--blue);border-radius:22px;padding:2rem 1.35rem;box-shadow:0 20px 50px rgba(29,95,209,.16);position:relative}
.pricing .wrap::before{content:"";position:absolute;left:1.35rem;right:1.35rem;top:-2px;height:5px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--blue),var(--blue-lt))}
.pricing .price{font-size:clamp(2.8rem,12vw,4rem);font-weight:900;letter-spacing:-.04em;margin:.1rem 0 .2rem;line-height:1;color:var(--navy)}
.price{font-size:1.6rem;font-weight:800}
.box{border:1px solid var(--line2);border-radius:14px;padding:1rem 1.15rem;background:var(--grey);margin:1rem 0}
#guarantee,#trial{border:1px solid var(--blue-tint);border-left:5px solid var(--blue);background:var(--pale)}
#renewal{background:var(--grey);color:var(--slate)}
/* Fit */
.fit{background:#fff}
.fit .two>div{background:var(--grey);border:1px solid var(--line2);border-radius:var(--r);padding:1.4rem 1.3rem;margin-bottom:1rem}
.fit .two>div:first-child{background:var(--pale);border-color:var(--blue-tint)}
.fit ul{list-style:none;padding:0;margin:0}
.fit li{padding:.4rem 0 .4rem 2rem;position:relative}
.fit li::before{content:"";position:absolute;left:0;top:.62rem;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff no-repeat center/.8rem}
.fit .two>div:first-child li::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22/%3E%3C/svg%3E")}
.fit .two>div:last-child li::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2364748b%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M18%206%206%2018M6%206l12%2012%22/%3E%3C/svg%3E")}
.fit .two>div:last-child{color:var(--slate)}
/* FAQ */
.faq{background:var(--grey)}
details{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:1rem 1.15rem;margin-bottom:.65rem;transition:box-shadow .15s}
details:hover{box-shadow:var(--sh)}
details[open]{border-color:var(--blue-tint);box-shadow:var(--sh)}
summary{font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:2.4rem;color:var(--navy)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1.7rem;height:1.7rem;border-radius:50%;background:var(--pale);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700}
details[open] summary::after{content:"–";background:var(--blue);color:#fff}
details p{color:var(--slate);margin-bottom:0}
/* Final band */
.final{position:relative;background:radial-gradient(80% 90% at 50% 0,#22508f 0,rgba(34,80,143,0) 70%),var(--navy);color:#fff;text-align:center;padding-top:5rem}
.final::before{content:"";position:absolute;left:0;right:0;top:-1px;height:44px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%201440%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2030c240-30%20480-30%20720%200s480%2030%20720%200V0H0z%22%20fill%3D%22%23f3f5f8%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
.final h2{color:#fff}
.final p{color:#dbe6f5}
.final .under{color:#b9cce6}
.final .btn{max-width:26rem;margin-left:auto;margin-right:auto;box-shadow:0 10px 30px rgba(29,95,209,.5)}
/* Placeholders stay obvious */
.ph{background:var(--warn);color:#5c4300;border:1px dashed #c99a1a;padding:.1rem .3rem;border-radius:.3rem;font-family:ui-monospace,monospace;font-size:.85em}
.ph-block{background:var(--warn);color:#5c4300;border:1px dashed #c99a1a;padding:.8rem;border-radius:12px;font-size:.92rem}
/* Legal pages */
.legal{padding:2.2rem 1.25rem 3.4rem}
.legal h1{font-size:clamp(2rem,7vw,2.8rem);color:var(--navy)}
.legal h2{margin-top:2.4rem;font-size:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line2)}
.legal ul{padding-left:1.2rem}
.legal li{margin-bottom:.45rem}
.legal li::marker{color:var(--blue)}
.legal .btn{max-width:26rem}
/* Sticky mobile CTA */
.sticky{position:fixed;left:0;right:0;bottom:0;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line2);box-shadow:0 -8px 24px rgba(11,31,58,.10);z-index:30}
.sticky .btn{max-width:40rem;margin:0 auto}
.sticky{transition:transform .2s,visibility 0s}
.sticky.off{transform:translateY(110%);visibility:hidden;transition:transform .2s,visibility 0s .2s}
/* Footer */
footer{background:#081629;color:#b9cce6;padding:2.6rem 0 2.2rem;font-size:.9rem;border-top:4px solid var(--blue)}
footer .wrap{max-width:70rem}
footer nav{display:flex;flex-wrap:wrap;gap:.3rem 1.3rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid rgba(185,204,230,.18)}
footer a{color:#fff;text-decoration:none;font-weight:600}
footer a:hover{color:var(--blue-lt);text-decoration:underline}
footer nav a{padding:.3rem 0}
footer p{margin:.3rem 0}
/* Desktop */
@media (min-width:48rem){
 body{padding-bottom:0}
 .sticky{display:none}
 .topnav{display:block}
 .hero{padding:5rem 0 7rem}
 .hero .hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center;max-width:70rem}
 .hero-art{display:flex;margin:0}
 .hero-art svg{width:300px}
 .hero .btn,.formband .btn{display:inline-block;width:auto;padding:1rem 2.3rem}
 .hero .under{text-align:left}
 section{padding:5rem 0}
 .formband{padding:3rem 0}
 .formband .wrap{padding:2.3rem 2.4rem}
 .how .wrap{max-width:70rem;text-align:center}
 .how ol.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;text-align:left}
 .how ol.steps>li{margin:0}
 .how .btn{display:inline-block;width:auto;padding:1rem 2.3rem}
 .morning .wrap{max-width:56rem}
 .morning ul{grid-template-columns:1fr 1fr}
 .fit .wrap{max-width:62rem}
 .two{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
 .pricing .wrap{padding:2.8rem 3rem}
 .pricing{padding:5rem 0}
}

/* ---- v4 additions ---- */
.brandlink{margin-right:auto;display:flex;align-items:center;min-height:44px}
.brandlink img{height:2.6rem;width:auto;display:block}
.footlogo{height:2.5rem;width:auto;display:block;margin-bottom:.6rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:.5rem;top:.5rem;z-index:50;background:#fff;padding:.5rem .8rem;border-radius:8px}
header.top a.small,.navcta{min-height:44px;display:inline-flex;align-items:center}
header.top .quiet{font-weight:600;color:var(--slate);text-decoration:none;font-size:.92rem;min-height:44px;display:inline-flex;align-items:center}
header.top .quiet:hover{color:var(--blue)}
/* Hero facts */
.hero .small{margin:.2rem 0 0}
/* Problem: three short punches */
.problem p{margin:.5rem 0;padding:.75rem 1rem;border-left:4px solid var(--blue);background:var(--grey);border-radius:0 12px 12px 0;color:var(--ink);font-weight:600}
.problem h2{margin-bottom:.9rem}
/* How: title first, detail second */
.how ol.steps>li{color:var(--slate);font-size:.98rem}
.how ol.steps>li strong{display:block;margin-bottom:.3rem;line-height:1.3;padding-right:2.4rem}
/* Pricing: two plan cards */
.plans{display:grid;gap:1rem;margin:0 0 1.2rem}
.plan{border:1.5px solid var(--line2);border-radius:16px;padding:1.2rem 1.2rem .4rem;background:#fff}
.plan.core{border-color:var(--blue);box-shadow:0 8px 22px rgba(29,95,209,.12)}
.plan .price{margin:0 0 .5rem}
.plan.pro>p:first-child>strong:first-child{display:block;font-size:clamp(2.1rem,9vw,2.8rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:var(--navy);margin-bottom:.5rem}
.pricing .plan .price{font-size:clamp(2.1rem,9vw,2.8rem)}
.pricing .wrap>p{margin:.7rem 0}
#trial,#renewal{font-size:.95rem;line-height:1.6}
#renewal{font-size:.92rem}
#trial p,#renewal p{margin:0}
/* Forms (signup + leak check) */
input[type=text],input[type=tel],input[type=url],input[type=email],select{width:100%;font-size:1.05rem;min-height:3.1rem;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:var(--grey);color:var(--ink);font-family:inherit}
input[type=text]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=email]:focus,select:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px var(--blue-tint)}
select{appearance:none;-webkit-appearance:none;padding-right:2.6rem;text-overflow:ellipsis;background:var(--grey) url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231d5fd1%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22/%3E%3C/svg%3E") no-repeat right .9rem center/1.1rem}
select.mini{width:auto;min-height:2.75rem;font-size:.95rem;padding:.4rem 2.2rem .4rem .7rem;border-radius:10px;background-position:right .55rem center}
#report_time{width:auto;min-width:11rem}
label{margin:1rem 0 .4rem}
label.check{font-weight:400;display:flex;gap:.75rem;align-items:flex-start;color:inherit;margin:.8rem 0;cursor:pointer}
label.check input,label.radio input{margin-top:.2rem;width:1.45rem;height:1.45rem;flex:none;accent-color:var(--blue)}
label.radio{display:flex;gap:.75rem;align-items:flex-start;font-weight:400;color:inherit;padding:.8rem 1rem;border:1.5px solid var(--line2);border-radius:12px;background:#fff;margin:.5rem 0;cursor:pointer}
label.radio:has(input:checked){border-color:var(--blue);background:var(--pale)}
.qbtn,#q_add{font-size:.95rem;min-height:2.75rem;min-width:2.75rem;padding:.4rem .8rem;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);cursor:pointer;font-family:inherit}
.qbtn:hover,#q_add:hover{border-color:var(--blue);color:var(--blue)}
#q_add{font-weight:700;color:var(--blue);border-style:dashed}
#q_add:disabled{opacity:.5;cursor:default}
.qrow{margin:.6rem 0;padding:.2rem 0 .6rem;border-bottom:1px solid var(--line2)}
.qrow label{margin-top:.4rem}
.qtools{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}
table.totals{border-collapse:collapse;margin:.6rem 0 1rem;width:100%;max-width:22rem;font-size:.98rem}
table.totals th,table.totals td{text-align:left;padding:.45rem 1rem .45rem 0;border-bottom:1px solid var(--line2)}
table.totals th{color:var(--slate);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}
.btn:disabled{cursor:not-allowed;box-shadow:none;transform:none}
/* Signup steps */
.signup h1{font-size:clamp(2rem,8vw,2.8rem);color:var(--navy);margin-bottom:.6rem}
.stepnav{list-style:none;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.4rem;padding:0 0 .3rem;margin:.4rem -1rem 1rem;padding-left:1rem;padding-right:1rem;counter-reset:sn;scrollbar-width:none}
.stepnav::-webkit-scrollbar{display:none}
.stepnav li{flex:none}
.stepnav li{counter-increment:sn}
.stepnav a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;padding:.3rem .8rem .3rem .35rem;border-radius:999px;background:var(--pale);border:1px solid var(--blue-tint);color:var(--navy);font-weight:700;font-size:.88rem;text-decoration:none}
.stepnav a::before{content:counter(sn);width:1.75rem;height:1.75rem;border-radius:50%;background:var(--blue);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem}
.step{border-top:1px solid var(--line2);margin-top:1.8rem;padding-top:.4rem;scroll-margin-top:4.5rem}
.step:first-of-type{border-top:0;margin-top:.6rem}
.step>h2{font-size:clamp(1.35rem,5vw,1.7rem);margin:1rem 0 .5rem;display:flex;align-items:center;gap:.6rem}
.step>h2:first-of-type::before{flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--navy);color:#fff;font-size:1rem;display:inline-flex;align-items:center;justify-content:center}
#disclosure{background:var(--pale);border:1px solid var(--blue-tint);border-left:5px solid var(--blue);border-radius:14px;padding:1rem 1.15rem;margin:1.4rem 0 .4rem;font-size:.98rem}
#disclosure strong{display:block;font-size:1.15rem;color:var(--navy);margin-bottom:.3rem}
.signup .btn{font-size:1.12rem}
/* Legal pages: readable long text */
.legal p,.legal li{max-width:42rem}
.legal h2{scroll-margin-top:4.5rem}
@media (max-width:47.99rem){
 .signup.formband{padding:1.2rem 0 2rem}
 .signup.formband .wrap{border:0;box-shadow:none;border-radius:0;padding:.6rem 1rem 1rem}
 .signup select{font-size:1rem;padding-left:.85rem}
}
@media (min-width:48rem){
 .stepnav{flex-wrap:wrap;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
 .plans{grid-template-columns:1fr 1fr}
 .pricing .btn{display:inline-block;width:auto;padding:1rem 2.3rem}
 .pricing .under{text-align:left}
 .formband form{max-width:40rem}
 .signup .btn{display:block;width:100%;max-width:26rem}
 .problem .wrap{max-width:56rem}
 .problem .wrap>p{display:inline-block;margin:.3rem .4rem .3rem 0}
}
.signup form{counter-reset:st}
.step{counter-increment:st}
.step>h2:first-of-type::before{content:counter(st)}
.note{font-size:.9rem;color:var(--slate)}
/* Wordmark (text only until CrewJay logo art is picked) */
.wordmark{font-weight:850;font-size:1.45rem;letter-spacing:-.02em;color:var(--navy);text-decoration:none}
.wordmark:hover{color:var(--navy)}
.wordmark .tm{font-size:.5em;font-weight:700;vertical-align:super;margin-left:.08em}
.footmark{font-weight:850;font-size:1.35rem;color:#fff;letter-spacing:-.02em;margin-bottom:.6rem!important}
#plan_after{margin:.5rem 0 .2rem}
#plan_total{margin:.2rem 0 1rem;font-size:1.05em}
/* LARRY-DISCLOSURES (Larry ruling 2, Nov 1): disclosures at least body size, full-contrast ink, never behind tap-to-expand.
   Keep this block last so nothing later can shrink or grey them. Checked by app/tests/test_site_design.py. */
#trial,#trial *,#renewal,#renewal *,#disclosure,#disclosure *,#demo_disclosure,#demo_disclosure *,
#leak-check p.small,#leak-check p.small *,.signup p.under.small,.signup p.small,.signup .note,#plan_after,
label.check,label.check span,.legal p,.legal li,.legal td,.legal th{font-size:var(--fs)!important;color:var(--ink)!important}
#trial a,#renewal a,#disclosure a,#demo_disclosure a,#leak-check p.small a,label.check a,.legal a{color:var(--blue)!important}
footer .wrap>p:not(.footmark),footer .wrap>p:not(.footmark) *{font-size:var(--fs)!important;color:#fff!important}

/* v2 (memo 32 copy): proof strip, roles, timing lines */
.how ol.steps>li strong{display:block}
.proof{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.55rem}
.proof li{color:#dbe6f5;padding-left:1.9rem;position:relative;font-size:.98rem}
.proof li::before{content:"";position:absolute;left:0;top:.35rem;width:1.15rem;height:1.15rem;border-radius:50%;background:#1d5fd1 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22/%3E%3C/svg%3E") no-repeat center/.7rem}
.proof strong{color:#fff}
.problem .formula{display:block;border-left-color:var(--navy);background:var(--pale);font-weight:700;color:var(--navy)}
.sample{max-width:24rem;margin:0 auto;text-align:left}
.sample p{margin:0}
.who{background:#fff}
.roles{display:grid;gap:1rem;margin:0 0 1.2rem}
.role{background:var(--grey);border:1px solid var(--line2);border-radius:var(--r);padding:1.2rem 1.3rem}
.role:first-child{background:var(--pale);border-color:var(--blue-tint)}
.role h3{margin:0 0 .5rem;color:var(--navy);font-size:1.2rem}
.role ul{margin:0;padding-left:1.1rem}
.role li{margin:.3rem 0}
.role li::marker{color:var(--blue)}
.fitline{margin:.4rem 0;color:var(--slate)}
.gets{margin:.2rem 0 1rem;padding-left:1.2rem}
.gets li::marker{color:var(--blue)}
.plan .fine{font-size:var(--fs);color:var(--ink)}
.pricing .timing{font-weight:700;color:var(--navy)}
header.top a.navcta{display:none}
.pricing .plan .price{font-size:clamp(1.9rem,7vw,2.3rem)}
@media (min-width:48rem){
 header.top a.navcta{display:inline-flex}
 .who .wrap{max-width:70rem}
 .roles{grid-template-columns:repeat(3,1fr)}
 .problem .wrap>p.formula{display:block;margin-top:1rem}
}
