:root{
  --white:#FFFFFF;
  --cream:#F4F1EA;
  --cream-deep:#EDE8DE;
  --ink:#2B2725;
  --ink-mid:#4A423E;
  --ink-soft:#6B605A;
  --brown:#54413C;
  --blue:#4B72B5;
  --blue-deep:#2F5591;
  --blue-tint:rgba(75,114,181,0.11);
  --hair:#E3DED6;
  --hair-soft:#EFEBE4;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--white);
  color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
[hidden]{display:none!important;}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;z-index:200;}
.skip:focus{left:12px;top:12px;}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(22px,5vw,90px);}
.narrow{max-width:760px;}

/* header */
header.site{position:sticky;top:0;z-index:60;background:var(--white);border-bottom:1px solid transparent;transition:border-color .2s;}
header.site.stuck{border-bottom-color:var(--hair);}
.hd{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;}
.mark{font-family:"Playfair Display",Georgia,serif;font-size:25px;font-weight:400;letter-spacing:0.14em;color:#1A1717;line-height:1;}
.hd .tool{font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue);}
.hd .back{font-size:14.5px;color:var(--ink-mid);border-bottom:1px solid transparent;}
.hd .back:hover{color:var(--blue-deep);border-bottom-color:var(--blue-deep);}
@media (max-width:560px){.hd .tool{display:none;}}

/* buttons */
.btn{display:inline-block;background:var(--ink);color:#FBFAF8;font-size:15px;font-weight:600;padding:14px 26px;border-radius:2px;line-height:1.2;border:1px solid var(--ink);transition:background .18s,color .18s,border-color .18s;cursor:pointer;font-family:inherit;}
.btn:hover{background:#151211;}
.btn.lg{padding:17px 34px;font-size:16px;}
.btn.sm{padding:9px 16px;font-size:13.5px;}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--hair);}
.btn.ghost:hover{background:transparent;border-color:var(--ink);}
.btn.blue{background:var(--blue-deep);border-color:var(--blue-deep);}
.btn.blue:hover{background:#24467A;border-color:#24467A;}
.btn[disabled]{opacity:.45;cursor:not-allowed;}

/* sections and type */
.sec{padding:clamp(64px,9vw,120px) 0;}
.sec.cream{background:var(--cream);}
.sec.hero{padding:clamp(56px,9vw,130px) 0 clamp(72px,9vw,120px);}
.sec.tight{padding:clamp(44px,6vw,72px) 0;}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--blue);margin-bottom:26px;}
.eyebrow.brown{color:var(--brown);}
h1.display{font-size:clamp(34px,5.6vw,62px);line-height:1.14;letter-spacing:-0.022em;font-weight:400;color:var(--ink);max-width:23ch;}
h2.display{font-size:clamp(28px,4.2vw,46px);line-height:1.16;letter-spacing:-0.02em;font-weight:400;color:var(--ink);max-width:24ch;}
h1.display b,h2.display b{font-weight:700;}
h1.display,h2.display,.qhead h2,.rp h2{text-wrap:balance;}
.nowrap{white-space:nowrap;}
.sub{font-size:clamp(16.5px,1.5vw,18.5px);line-height:1.6;color:var(--ink-mid);max-width:46ch;margin-top:30px;}
.sub.wide{max-width:60ch;}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;}
.ctanote{margin-top:18px;font-size:14.5px;color:var(--ink-soft);letter-spacing:0.01em;}
.prose{max-width:56ch;color:var(--ink-mid);font-size:17px;}
.prose p+p{margin-top:18px;}

/* pillars list (from the main site) */
.pillars{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--hair);}
.pillar{display:grid;grid-template-columns:46px minmax(0,230px) minmax(0,1fr);gap:clamp(16px,3vw,44px);align-items:baseline;padding:clamp(22px,3vw,32px) 0;border-bottom:1px solid var(--hair);}
@media (max-width:800px){.pillar{grid-template-columns:44px 1fr;gap:12px 18px;}.pillar .pdesc{grid-column:2 / -1;}}
.pillar .pnum{font-size:13px;font-weight:600;color:var(--blue);letter-spacing:0.04em;font-variant-numeric:tabular-nums;}
.pillar .pname{font-size:clamp(20px,2.2vw,26px);font-weight:500;letter-spacing:-0.018em;color:var(--ink);line-height:1.2;}
.pillar .pdesc{font-size:16.5px;color:var(--ink-soft);line-height:1.55;max-width:44ch;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,5vw,64px) clamp(30px,5vw,70px);margin-top:clamp(44px,6vw,72px);}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps{grid-template-columns:1fr;}}
.step .n{font-size:clamp(40px,4.6vw,54px);font-weight:300;color:var(--ink);line-height:1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;background:var(--blue-tint);display:inline-block;padding:16px 20px 14px;margin-bottom:24px;}
.step h3{font-size:17px;font-weight:700;color:var(--brown);margin-bottom:12px;}
.step p{font-size:16px;color:var(--ink-soft);line-height:1.55;max-width:30ch;}

/* screens */
.screen{display:none;}
.screen.active{display:block;}

/* progress */
.progress{position:sticky;top:69px;z-index:50;background:var(--white);border-bottom:1px solid var(--hair);}
.progress .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px;font-size:13.5px;color:var(--ink-soft);}
.progress .bar{height:2px;background:var(--hair-soft);}
.progress .fill{height:2px;background:var(--blue-deep);width:0;transition:width .25s;}
.progress b{font-weight:600;color:var(--ink);}

/* question blocks */
.qhead{padding-top:clamp(40px,6vw,72px);}
.qhead .pillar-n{font-size:13px;font-weight:600;color:var(--blue);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:14px;}
.qhead h2{font-size:clamp(28px,4vw,42px);font-weight:400;letter-spacing:-0.02em;line-height:1.15;}
.qhead p{margin-top:14px;color:var(--ink-mid);max-width:52ch;font-size:17px;}
.qhead .howto{margin-top:18px;font-size:14.5px;color:var(--ink-soft);border-top:1px solid var(--hair);padding-top:14px;max-width:52ch;}
.qlist{margin-top:clamp(28px,4vw,44px);border-top:1px solid var(--hair);}
.question{padding:clamp(24px,3vw,34px) 0;border-bottom:1px solid var(--hair);}
.question .qt{font-size:clamp(17px,1.7vw,19.5px);line-height:1.5;color:var(--ink);max-width:60ch;}
.question .qt .qn{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-right:10px;font-size:14px;}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px;max-width:620px;}
.scale input{position:absolute;opacity:0;width:0;height:0;}
.scale label{display:flex;flex-direction:column;justify-content:flex-start;height:100%;text-align:center;border:1px solid var(--hair);padding:12px 4px 10px;cursor:pointer;font-size:12px;color:var(--ink-soft);line-height:1.25;letter-spacing:0;text-transform:none;font-weight:500;margin:0;transition:border-color .15s,background .15s,color .15s;user-select:none;}
.scale label .v{display:block;font-size:20px;font-weight:400;color:var(--ink);margin-bottom:4px;font-variant-numeric:tabular-nums;}
.scale label:hover{border-color:var(--ink);}
.scale input:checked+label{background:var(--ink);border-color:var(--ink);color:#EDE8DE;}
.scale input:checked+label .v{color:#fff;}
.scale input:focus-visible+label{outline:2px solid var(--blue-deep);outline-offset:2px;}
@media (max-width:480px){.scale{gap:5px;}.scale label{padding:10px 3px 8px;font-size:11px;}.scale label .v{font-size:18px;}}
.question.missing .qt{color:#9A3B2E;}
.question.missing .scale label{border-color:#D9A79C;}
.qnav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:32px 0 clamp(60px,8vw,100px);}
.qnav .hint{font-size:14px;color:#9A3B2E;flex-basis:100%;}

/* forms */
.fld{margin-bottom:26px;}
label{display:block;font-size:12.5px;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--brown);margin-bottom:9px;}
input,select{width:100%;font-family:inherit;font-size:16.5px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid #DDD6CA;padding:11px 0;outline:none;border-radius:0;}
input:focus,select:focus{border-bottom-color:var(--blue-deep);}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2 5l5 5 5-5' fill='none' stroke='%234A423E' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;}
@media (max-width:640px){.grid2{grid-template-columns:1fr;}}
.formnote{font-size:14.5px;color:var(--ink-soft);margin-top:18px;max-width:52ch;}
.formnote a{color:var(--blue-deep);font-weight:600;}
.err{display:none;color:#9A3B2E;font-size:14.5px;margin-top:-10px;margin-bottom:18px;}
.err.show{display:block;}
form.capture{max-width:620px;margin-top:clamp(32px,4vw,48px);}

/* results */
.scorehero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(36px,6vw,90px);align-items:start;}
@media (max-width:800px){.scorehero{grid-template-columns:1fr;}}
.bignum{font-family:"Playfair Display",Georgia,serif;font-size:clamp(96px,16vw,180px);line-height:.95;letter-spacing:-0.03em;color:var(--ink);}
.bignum small{font-family:"Inter",sans-serif;font-size:clamp(15px,1.6vw,18px);letter-spacing:0.02em;color:var(--ink-soft);margin-left:8px;}
.bandtag{display:inline-block;margin-top:22px;font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-deep);border:1px solid var(--blue-deep);padding:8px 14px;}
.bars{margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--hair);}
.bar-row{display:grid;grid-template-columns:150px minmax(0,1fr) 48px;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair);}
@media (max-width:520px){.bar-row{grid-template-columns:110px minmax(0,1fr) 40px;gap:12px;}}
.bar-row .nm{font-size:15.5px;font-weight:500;color:var(--ink);}
.bar-row .tr{height:10px;background:var(--hair-soft);position:relative;}
.bar-row .fl{position:absolute;left:0;top:0;bottom:0;background:var(--blue);width:0;transition:width .6s ease;}
.bar-row.low .fl{background:var(--brown);}
.bar-row .pc{font-size:14px;color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;}
.hilo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:clamp(36px,4vw,52px);border-top:1px solid var(--hair);}
@media (max-width:700px){.hilo{grid-template-columns:1fr;}}
.hilo > div{padding:22px 28px 22px 0;border-bottom:1px solid var(--hair);}
.hilo .wq{display:block;font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--brown);margin-bottom:8px;}
.hilo .wa{display:block;font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-0.012em;}
.hilo p{margin-top:8px;font-size:15.5px;color:var(--ink-soft);max-width:36ch;}

/* offer */
.offer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,90px);align-items:start;}
@media (max-width:800px){.offer{grid-template-columns:1fr;}}
.offer ul{list-style:none;margin-top:28px;border-top:1px solid var(--hair);}
.offer li{position:relative;padding:16px 0 16px 30px;border-bottom:1px solid var(--hair);font-size:16.5px;color:var(--ink-mid);line-height:1.5;}
.offer li:before{content:"";position:absolute;left:0;top:26px;width:16px;height:1.5px;background:var(--blue);}
.pricebox{border:1px solid var(--hair);padding:clamp(26px,3vw,40px);background:var(--white);}
.pricebox .pr{font-family:"Playfair Display",Georgia,serif;font-size:56px;line-height:1;letter-spacing:-0.02em;}
.pricebox .pr small{font-family:"Inter",sans-serif;font-size:15px;color:var(--ink-soft);letter-spacing:0;margin-left:6px;}
.pricebox p{margin-top:14px;color:var(--ink-mid);font-size:16px;}
.pricebox .btn{display:block;text-align:center;margin-top:24px;width:100%;}
.pricebox .fine{font-size:13.5px;color:var(--ink-soft);margin-top:14px;}
.pricebox .pending{font-size:14.5px;color:var(--ink-soft);border-top:1px solid var(--hair);padding-top:16px;margin-top:20px;}

/* report page */
.report-head{border-bottom:1px solid var(--hair);padding-bottom:clamp(36px,5vw,56px);}
.meta{font-size:14px;color:var(--ink-soft);margin-top:18px;}
.rp{padding:clamp(44px,6vw,72px) 0;border-bottom:1px solid var(--hair);}
.rp .rp-top{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:24px;align-items:start;}
@media (max-width:560px){.rp .rp-top{grid-template-columns:1fr;}}
.rp .rn{font-size:13px;font-weight:600;color:var(--blue);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px;}
.rp h2{font-size:clamp(26px,3.4vw,36px);font-weight:400;letter-spacing:-0.02em;line-height:1.15;}
.rp .rq{margin-top:12px;color:var(--ink-mid);max-width:54ch;}
.rp .rscore{text-align:right;}
.rp .rscore .n{font-family:"Playfair Display",Georgia,serif;font-size:56px;line-height:1;letter-spacing:-0.02em;}
.rp .rscore .l{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;font-weight:600;}
@media (max-width:560px){.rp .rscore{text-align:left;}}
.rp .verdict{margin-top:24px;padding:18px 22px;background:var(--blue-tint);font-size:16.5px;color:var(--ink);max-width:64ch;}
.fixes{margin-top:28px;}
.fix{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;padding:22px 0;border-top:1px solid var(--hair);}
.fix .fs{font-family:"Playfair Display",Georgia,serif;font-size:30px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
.fix .fs small{display:block;font-family:"Inter",sans-serif;font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px;}
.fix .fq{font-size:15.5px;color:var(--ink-soft);line-height:1.5;}
.fix .ff{margin-top:10px;font-size:17px;color:var(--ink);line-height:1.55;max-width:62ch;}
.fix .ff b{font-weight:600;}
.allgood{margin-top:24px;color:var(--ink-soft);font-size:16px;border-top:1px solid var(--hair);padding-top:20px;}
.plan{margin-top:clamp(36px,5vw,56px);border-top:1px solid var(--hair);}
.plan-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;padding:24px 0;border-bottom:1px solid var(--hair);align-items:start;}
.plan-row .wk{font-size:12.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue);padding-top:4px;}
.plan-row h3{font-size:20px;font-weight:500;letter-spacing:-0.012em;}
.plan-row p{margin-top:8px;color:var(--ink-mid);font-size:16.5px;max-width:60ch;}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.locked{max-width:600px;}
.locked p{margin-top:16px;color:var(--ink-mid);}

/* footer */
footer.site{background:var(--ink);color:#D8D1CA;padding:clamp(48px,6vw,72px) 0 clamp(48px,6vw,72px);}
footer.site .mark{color:#FBFAF8;}
.fgrid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,50px);}
@media (max-width:760px){.fgrid{grid-template-columns:1fr;gap:30px;}}
.fgrid h4{font-size:12.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#9C918A;margin-bottom:18px;}
.fgrid a,.fgrid p{display:block;font-size:16px;color:#D8D1CA;margin-bottom:11px;line-height:1.5;}
.fgrid a:hover{color:#FFFFFF;}
.fline{font-size:15px;color:#A79C95;max-width:38ch;line-height:1.55;}
.fbot{margin-top:clamp(36px,5vw,52px);padding-top:26px;border-top:1px solid rgba(255,255,255,0.13);display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:space-between;font-size:14px;color:#8E837C;}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}html{scroll-behavior:auto;}}

@media print{
  header.site,footer.site,.toolbar,.progress{display:none!important;}
  body{font-size:12.5pt;}
  .sec{padding:24pt 0;}
  .rp{page-break-inside:avoid;}
  .wrap{padding:0;}
}

/* three ways */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px);margin-top:clamp(36px,5vw,56px);}
@media (max-width:860px){.ways{grid-template-columns:1fr;}}
.way{border:1px solid var(--hair);background:var(--white);padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;position:relative;}
.way.rec{border-color:var(--ink);}
.way .tag{font-size:11.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--blue-deep);margin-bottom:14px;}
.way h3{font-size:22px;font-weight:500;letter-spacing:-0.015em;margin-bottom:12px;}
.way p{font-size:15.5px;color:var(--ink-mid);line-height:1.55;}
.way .solo{margin-top:12px;color:var(--ink);}
.way .promise{margin-top:14px;padding-top:14px;border-top:1px solid var(--hair);font-size:14.5px;color:var(--brown);flex:1;}
.way .btn{margin-top:20px;text-align:center;}

/* automations under each pillar */
.autos{margin-top:28px;padding:22px 24px;border:1px solid var(--hair);background:var(--white);}
.rp .autos{max-width:72ch;}
.autos-h{font-size:12.5px;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--brown);margin-bottom:14px;}
.auto{padding:12px 0;border-top:1px solid var(--hair-soft);}
.auto h4{font-size:16.5px;font-weight:600;margin-bottom:4px;}
.auto p{font-size:15.5px;color:var(--ink-mid);line-height:1.5;}
.autos-n{margin-top:12px;font-size:14px;color:var(--ink-soft);}
