/* Verbench — Petrol and copper */
@font-face{font-family:"Fraunces";src:url("../fonts/fraunces-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url("../fonts/publicsans-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --bg:#F3EFE8; --card:#FBF9F5; --text:#14201F; --muted:#4E5D5B;
  --petrol:#0E4C5A; --copper:#C06A3E; --link:#0E4C5A; --focus:#0E4C5A;
  --btn-bg:#0E4C5A; --btn-text:#F3EFE8; --btn-hover:#0A3A45;
  --input-border:#7C8784; --rule:#D8D0C4; --error:#A1302A; --success:#2E6A4E;
  --band-bg:#0E4C5A; --band-text:#F3EFE8; --band-muted:#C9D6D4; --band-link:#F3EFE8;
  --weave:rgba(14,76,90,.045); --selected:#E7EFEF;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0B1E23; --card:#12292F; --text:#F1EAE2; --muted:#A8B6B3;
    --link:#E39A6E; --focus:#E39A6E;
    --btn-bg:#D07A4C; --btn-text:#0B1E23; --btn-hover:#DE8C60;
    --input-border:#6F8A8F; --rule:#24424A; --error:#F2917F; --success:#7FC7A3;
    --band-bg:#12292F; --band-text:#F1EAE2; --band-muted:#A8B6B3; --band-link:#E39A6E;
    --weave:rgba(192,106,62,.05); --selected:#1B363D;
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background-color:var(--bg);color:var(--text);
  font:400 1.0625rem/1.65 "Public Sans",system-ui,sans-serif;
  background-image:
    repeating-linear-gradient(45deg,var(--weave) 0 1px,transparent 1px 11px),
    repeating-linear-gradient(-45deg,var(--weave) 0 1px,transparent 1px 11px);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--card);padding:.5rem 1rem;z-index:10}
.skip:focus{top:1rem}

.wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.12;margin:0;font-variation-settings:"opsz" 60;letter-spacing:.012em;font-kerning:normal}
h1{font-size:clamp(2.4rem,5.4vw,4.1rem);font-weight:560}
h2{font-size:clamp(1.6rem,2.8vw,2.1rem)}
h3{font-size:1.25rem;font-variation-settings:"opsz" 24;letter-spacing:.015em}
p{margin:0 0 1rem}

/* diamond ornament — decorative only */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}
.diamond{display:inline-flex;align-items:center}
.eyebrow::before,.diamond::before{content:"";width:.55rem;height:.55rem;background:var(--copper);transform:rotate(45deg);flex:none}
.rule{display:flex;align-items:center;gap:.9rem;color:var(--copper);margin:0 0 2rem}
.rule::before,.rule::after{content:"";height:1px;background:var(--rule);flex:1}
.rule span{width:.5rem;height:.5rem;background:var(--copper);transform:rotate(45deg)}

/* header */
.site-head{padding:1.6rem 0;border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo img{height:30px;width:auto}
.logo .dark{display:none}
@media (prefers-color-scheme:dark){.logo .light{display:none}.logo .dark{display:block}}
.head-link{font-size:.95rem;font-weight:500}

/* hero */
.hero{padding:4.5rem 0 4rem}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:start}
.lead{font-size:1.2rem;color:var(--muted);max-width:34rem;margin-top:1.6rem}
.status{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--rule);font-size:.95rem;color:var(--muted)}
.status b{color:var(--text);font-weight:600}

/* form card */
.card{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--copper);padding:2rem;box-shadow:0 1px 0 var(--rule)}
.card h2{font-size:1.65rem;margin-bottom:.4rem}
.card .sub{color:var(--muted);font-size:.97rem;margin-bottom:1.4rem}
.field{margin-bottom:1.1rem}
label,legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
input[type=text],input[type=email]{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--card);border:1px solid var(--input-border);border-radius:3px;padding:.7rem .8rem;min-height:2.9rem}
input:focus-visible{outline-offset:1px}
fieldset{border:0;padding:0;margin:0 0 1.3rem}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.choice span{display:flex;align-items:center;gap:.6rem;border:1px solid var(--input-border);border-radius:3px;padding:.7rem .8rem;font-size:.97rem;min-height:2.9rem;line-height:1.3}
.choice span::before{content:"";width:.75rem;height:.75rem;border:1.5px solid var(--input-border);transform:rotate(45deg);flex:none}
.choice input:checked+span{border-color:var(--link);box-shadow:inset 0 0 0 1px var(--link);background:var(--selected);font-weight:600}
.choice input:checked+span::before{background:var(--copper);border-color:var(--copper)}
.choice input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:3rem;font:600 1.02rem "Public Sans",sans-serif;letter-spacing:.01em;color:var(--btn-text);background:var(--btn-bg);border:0;border-radius:3px;padding:.8rem 1.2rem;cursor:pointer}
.btn:hover{background:var(--btn-hover)}
.privacy-line{font-size:.88rem;color:var(--muted);margin:1rem 0 0;line-height:1.55}
.error-text{display:flex;gap:.45rem;align-items:baseline;color:var(--error);font-size:.92rem;font-weight:600;margin:0 0 .35rem}
.error-text::before{content:"";width:.5rem;height:.5rem;background:var(--error);transform:rotate(45deg) translateY(-.05rem);flex:none}
.error-summary{border:2px solid var(--error);border-radius:3px;padding:1rem 1.1rem;margin-bottom:1.4rem}
.error-summary h3{font-size:1.1rem;margin-bottom:.4rem;color:var(--text)}
.error-summary ul{margin:0;padding-left:1.1rem}
.error-summary a{color:var(--error);font-weight:600}
.form-note{border-left:3px solid var(--copper);padding:.4rem 0 .4rem .9rem;margin-bottom:1.2rem;font-size:.95rem}
[aria-invalid=true]{border-color:var(--error)!important;box-shadow:inset 0 0 0 1px var(--error)}
.thanks .eyebrow{color:var(--success);margin-bottom:1rem}
.thanks .eyebrow::before{background:var(--success)}
.thanks h2{margin-bottom:.8rem}
.thanks p{color:var(--muted)}
.thanks .email{color:var(--text);font-weight:600;overflow-wrap:anywhere}
.thanks :focus{outline:none}

/* sections */
section.block{padding:4rem 0;border-top:1px solid var(--rule)}
.intro-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:end;margin-bottom:2.6rem}
.intro-row p{color:var(--muted);margin:0}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--text)}
.cols article{padding:1.6rem 1.8rem 0 0}
.cols article+article{border-left:1px solid var(--rule);padding-left:1.8rem}
.num{font-family:"Fraunces",serif;font-variation-settings:"opsz" 144;font-size:2.4rem;line-height:1;color:var(--copper);display:block;margin-bottom:1rem;font-weight:400}
.cols p{color:var(--muted);margin:.6rem 0 0;font-size:1rem}

.who{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.who article{background:var(--card);border:1px solid var(--rule);padding:1.8rem}
.who h3{display:flex;align-items:center;gap:.7rem}
.who p{color:var(--muted);margin:.7rem 0 0;font-size:1rem}

/* Finance IQ band */
.band{background:var(--band-bg);color:var(--band-text);padding:3.2rem 0;position:relative}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.band h2{font-size:1.75rem}
.band p{color:var(--band-muted);margin:.5rem 0 0;max-width:38rem}
.band a.out{color:var(--band-link);font-weight:600;font-size:1.05rem;white-space:nowrap}
.band::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--copper)}

/* footer */
.site-foot{padding:2.6rem 0 3rem;font-size:.88rem;color:var(--muted)}
.site-foot .wrap{display:grid;grid-template-columns:1fr auto;gap:1.5rem 3rem}
.site-foot p{margin:0 0 .35rem}
.site-foot nav{display:flex;gap:1.4rem;align-items:start}

/* privacy page */
.prose{max-width:42rem;padding:3.5rem 0 4rem}
.prose h1{font-size:clamp(2.2rem,4.5vw,3rem);margin-bottom:.8rem}
.prose h2{font-size:1.4rem;margin:2.4rem 0 .7rem}
.prose ul{padding-left:1.2rem}
.prose li{margin-bottom:.4rem}

@media (max-width:860px){
  .hero{padding:2.6rem 0 3rem}
  .hero .wrap,.intro-row,.who,.site-foot .wrap{grid-template-columns:1fr;gap:2.2rem}
  .intro-row{gap:1rem}
  .cols{grid-template-columns:1fr}
  .cols article,.cols article+article{border-left:0;padding:1.4rem 0;border-bottom:1px solid var(--rule)}
  .card{padding:1.5rem}
  .logo img{height:24px}
}
@media (max-width:420px){.choices{grid-template-columns:1fr}.wrap{padding:0 1.1rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
main:focus{outline:none}
.role.is-invalid .choice span{border-color:var(--error)}
.error-summary:focus{outline:3px solid var(--focus);outline-offset:3px}

/* optional fields */
.optional{font-weight:400;color:var(--muted)}
.areas-field .choices{grid-template-columns:1fr 1fr}
.check span{position:relative}
.choice input{z-index:1}
.check span::before{transform:none;border-radius:2px;width:1rem;height:1rem}
.check input:checked+span::before{background:var(--btn-bg);border-color:var(--btn-bg)}
.check input:checked+span::after{content:"";position:absolute;left:calc(.8rem + .33rem);top:50%;width:.3rem;height:.58rem;border:solid var(--btn-text);border-width:0 2px 2px 0;transform:translateY(-62%) rotate(45deg)}

/* assessment areas */
.areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--text)}
.areas li{padding:1.4rem 1.2rem 1.4rem 0;display:flex;flex-direction:column;gap:.7rem}
.areas li+li{border-left:1px solid var(--rule);padding-left:1.2rem}
.area-name{font-family:"Fraunces",Georgia,serif;font-variation-settings:"opsz" 24;font-weight:600;font-size:1.2rem;line-height:1.2;letter-spacing:.015em}
.tag{align-self:flex-start;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--rule);border-radius:2px;padding:.2rem .5rem}
.areas .first .area-name{display:flex;gap:.6rem;align-items:baseline}
.areas .first .area-name::before{content:"";width:.55rem;height:.55rem;background:var(--copper);transform:rotate(45deg) translateY(-.1rem);flex:none}
.areas .first .tag{color:var(--btn-text);background:var(--btn-bg);border-color:var(--btn-bg)}
@media (max-width:860px){
  .areas{grid-template-columns:1fr 1fr}
  .areas li,.areas li+li{border-left:0;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
  .areas li.first{grid-column:1/-1}
}

/* confirmation page */
.confirm{max-width:40rem;padding:4.5rem 0 5rem}
.confirm h1{font-size:clamp(2.2rem,4.6vw,3.2rem);margin-bottom:1rem}
.confirm .lead{margin-top:0}
.confirm-form{margin:2rem 0 1rem;max-width:20rem}
.eyebrow.ok{color:var(--success)}
.eyebrow.ok::before{background:var(--success)}
.thanks .spam-tip{color:var(--text);background:var(--selected);border-left:3px solid var(--copper);padding:.7rem .9rem;font-size:.97rem}
.thanks .spam-tip strong{font-weight:600}
