/* Help2Buy v3 fresh build — white-led, brand plum/purple, saffron pop */
@font-face{font-family:"DM Sans";src:url(../fonts/DMSans-Variable.woff2) format("woff2");font-weight:100 1000;font-display:swap}
:root{
  --ink:#2B172B;          /* Plum Ink: all text */
  --ink-2:#3D2A3D;        /* secondary text (still dark) */
  --purple:#9F5EA0;       /* FHBD Purple: brand accent, large only */
  --plum:#774077;         /* Deep Plum: small accent text/links */
  --mist:#F9F0F9;         /* Lilac Mist */
  --sun:#FFC23D;          /* Saffron pop */
  --sun-soft:#FFF3D1;
  --line:#E4D9E4;
  --white:#fff;
  --r:18px;
  --shadow:0 1px 2px rgba(43,23,43,.06),0 12px 32px -12px rgba(43,23,43,.22);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:500;font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--white);font-optical-sizing:auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum);font-weight:700;text-underline-offset:3px}
a:hover{color:var(--ink)}
sup{font-size:.6em;line-height:0;vertical-align:super;font-weight:700}
sup a{text-decoration:none;color:inherit}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.02em;color:var(--ink)}
h2{font-size:clamp(2rem,4.4vw,3rem);font-weight:850}
h3{font-size:1.375rem;font-weight:800}
p{margin:0}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
.register :focus-visible{outline-color:var(--sun)}
.register .form :focus-visible{outline-color:var(--ink)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{top:12px;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:800;font-size:1.0625rem;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s,background .15s}
.btn-sun{background:var(--sun);color:var(--ink);box-shadow:0 6px 18px -6px rgba(214,146,0,.7)}
.btn-sun:hover{background:#FFB30F;color:var(--ink);transform:translateY(-1px)}
.btn-line{border-color:var(--ink);color:var(--ink);background:#fff}
.btn-line:hover{background:var(--ink);color:#fff}
.btn-sm{min-height:42px;padding:0 18px;font-size:.9375rem}
.btn-block{width:100%}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:20px;height:68px}
.brand img{height:26px;width:auto}
.nav-wrap{margin-left:auto;display:none}
.nav{list-style:none;display:flex;gap:28px;margin:0;padding:0}
.nav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.9875rem}
.nav a:hover{color:var(--plum);text-decoration:underline;text-decoration-thickness:2px}
.header-inner .btn{margin-left:auto}
@media (min-width:900px){.header-inner{height:80px}.brand img{height:32px}.nav-wrap{display:block}.header-inner .btn{margin-left:8px}}

/* Hero */
.hero{position:relative;padding:28px 0 40px;background:
  radial-gradient(900px 420px at 92% 10%,rgba(255,194,61,.20),transparent 60%),
  linear-gradient(180deg,#fff 0%,#fff 70%,var(--mist) 100%);overflow:hidden}
.hero-grid{display:grid;gap:28px}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;background:var(--mist);border:1px solid #EAD7EA;color:var(--plum);font-weight:800;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
.pill-dot{width:9px;height:9px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 3px rgba(159,94,160,.22)}
h1{margin-top:18px}
.h1-lead{display:block;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;max-width:16ch}
.price{display:flex;align-items:flex-end;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.price-num{font-size:clamp(6.5rem,19vw,10.5rem);font-weight:900;line-height:.86;letter-spacing:-.055em;color:var(--ink)}
.hl{background:linear-gradient(180deg,transparent 60%,var(--sun) 60%,var(--sun) 86%,transparent 86%);padding:0 .05em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.price-unit{font-size:clamp(1.75rem,4.2vw,2.75rem);font-weight:850;letter-spacing:-.02em;padding-bottom:.35em;line-height:1}
.hero-sub{margin-top:18px;font-size:1.1875rem;font-weight:500;max-width:34ch;color:var(--ink)}
.hero-sub strong{font-weight:800}

.calc-strip{margin-top:22px;display:grid;grid-template-columns:1fr auto 1fr auto 1.1fr;align-items:stretch;background:#fff;border:2px solid var(--ink);border-radius:16px;overflow:hidden;max-width:560px;box-shadow:6px 6px 0 var(--ink)}
.calc-item{display:flex;flex-direction:column;justify-content:center;padding:12px 12px}
.calc-val{font-size:clamp(1.25rem,3.2vw,1.625rem);font-weight:850;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.calc-lbl{font-size:.8125rem;font-weight:700;color:var(--ink-2)}
.calc-op{display:flex;align-items:center;font-size:1.5rem;font-weight:800;color:var(--purple);padding:0 2px}
.calc-total{background:var(--sun)}
.calc-total .calc-lbl{color:var(--ink)}
.calc-basis{margin-top:16px;font-size:.875rem;font-weight:600;color:var(--ink-2);max-width:56ch}
.hero-ctas{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}

.hero-media{position:relative;margin:0}
.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:45% 60%;border-radius:22px;box-shadow:var(--shadow)}
.badge{position:absolute;top:-14px;right:14px;width:112px;height:112px;border-radius:50%;background:var(--sun);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 24px -8px rgba(43,23,43,.45);transform:rotate(-8deg);border:3px solid #fff}
.badge-big{font-size:2.125rem;font-weight:900;line-height:1;letter-spacing:-.03em}
.badge-sm{font-size:.75rem;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:.03em}
.hero-media figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.95);color:var(--ink);font-size:.8125rem;font-weight:600;padding:6px 12px;border-radius:999px}
.hero-media figcaption strong{font-weight:800}

@media (min-width:900px){
  .hero{padding:40px 0 64px}
  .hero-grid{grid-template-columns:1.22fr 1fr;gap:48px;align-items:center}
  .hero-media img{aspect-ratio:auto;height:560px;border-radius:28px}
  .badge{width:150px;height:150px;top:-26px;right:-22px}
  .badge-big{font-size:2.875rem}
  .badge-sm{font-size:.875rem}
  .hero-media figcaption{left:20px;bottom:20px;font-size:.875rem}
}

/* Key points */
.keys{background:var(--ink);color:#fff}
.keys-list{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.keys-list li{display:flex;flex-direction:column;font-size:.9375rem;font-weight:600;line-height:1.35;color:#F4ECF4}
.keys-big{font-size:1.625rem;font-weight:900;color:var(--sun);letter-spacing:-.02em;line-height:1.15}
.keys sup a{color:#fff}
@media (min-width:900px){.keys-list{grid-template-columns:repeat(4,1fr);padding:30px 0;gap:32px}.keys-list li{border-left:3px solid var(--purple);padding-left:16px}.keys-big{font-size:2rem}}

/* Sections */
.section{padding:64px 0}
@media (min-width:900px){.section{padding:96px 0}}
.kicker{font-size:.875rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--plum);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:28px;height:4px;border-radius:2px;background:var(--sun)}
.kicker-sun{color:var(--sun)}
.lede{margin-top:16px;font-size:1.1875rem;font-weight:500;max-width:60ch}
.u-sun{white-space:nowrap;background:linear-gradient(180deg,transparent 62%,var(--sun) 62%,var(--sun) 92%,transparent 92%)}
.source-line{margin-top:28px;font-size:.875rem;font-weight:600;color:var(--ink-2)}

/* Adds up */
.adds-grid{display:grid;gap:40px}
@media (min-width:980px){.adds-grid{grid-template-columns:1fr 1.05fr;gap:64px;align-items:start}}
.equity{display:flex;height:64px;border-radius:14px;overflow:hidden;margin-top:28px;border:2px solid var(--ink)}
.eq{flex:var(--w) 0 0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9375rem;white-space:nowrap}
.eq-you{background:var(--ink);min-width:10px}
.eq-loan{background:var(--mist);color:var(--ink)}
.eq-gov{background:var(--sun);color:var(--ink)}
.equity-key{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0 0;padding:0;font-size:.875rem;font-weight:700}
.equity-key li{display:flex;align-items:center;gap:8px}
.k{width:14px;height:14px;border-radius:4px;display:inline-block;border:2px solid var(--ink)}
.k-you{background:var(--ink)}.k-loan{background:var(--mist)}.k-gov{background:var(--sun)}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.compare-box{border:2px solid var(--line);border-radius:16px;padding:18px}
.compare-win{border-color:var(--ink);background:var(--sun-soft);box-shadow:5px 5px 0 var(--ink)}
.compare-lbl{font-size:.875rem;font-weight:800;color:var(--ink)}
.compare-val{font-size:2.25rem;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-top:6px}
.compare-val small{font-size:1rem;font-weight:800}
.compare-old{text-decoration:line-through;text-decoration-color:var(--purple);text-decoration-thickness:3px}
.compare-note{margin-top:6px;font-size:.875rem;font-weight:600}
.compare-note strong{font-weight:850}

.calc-card{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:8px 20px 22px;box-shadow:8px 8px 0 var(--purple)}
.calc-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.calc-table caption{text-align:left;font-size:1.125rem;font-weight:850;padding:16px 0 8px}
.calc-table th,.calc-table td{padding:13px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.calc-table th{text-align:left;font-weight:600;font-size:.9875rem;padding-right:12px}
.th-in{display:flex;align-items:center;gap:12px}
.calc-table td{text-align:right;font-weight:800;font-size:1.0625rem;white-space:nowrap}
.calc-table td small{font-size:.8125rem;font-weight:700}
.step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:.8125rem;font-weight:800;flex:none}
.step-sun{background:var(--sun);color:var(--ink)}
.row-gov th,.row-gov td{background:var(--sun-soft)}
.row-gov th{padding-left:8px}.row-gov td{padding-right:8px}
.calc-table tfoot th,.calc-table tfoot td{border-bottom:0;padding-top:18px;font-size:1.25rem;font-weight:900}
.calc-table tfoot td{font-size:2rem;letter-spacing:-.02em}
.calc-table tfoot tr{border-top:3px solid var(--ink)}
.duty{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--mist);font-size:.9375rem;font-weight:600}
.duty strong{font-weight:850}

/* Scheme */
.scheme{background:var(--mist)}
.facts{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:16px}
@media (min-width:700px){.facts{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.facts{grid-template-columns:repeat(4,1fr)}}
.facts li{background:#fff;border-radius:var(--r);padding:24px 22px;border-top:6px solid var(--purple);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.facts li:nth-child(2){border-top-color:var(--sun)}
.fact-big{font-size:2.5rem;font-weight:900;letter-spacing:-.035em;line-height:1}
.fact-sep{color:var(--purple);padding:0 2px}
.fact-txt{font-size:.9875rem;font-weight:600}

/* Projects */
.projects-head{display:grid;gap:8px}
@media (min-width:900px){.projects-head{grid-template-columns:1fr 1fr;align-items:end;gap:40px}.projects-head .lede{margin-top:0}}
.cards{display:grid;gap:22px;margin-top:36px}
@media (min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s}
.card:hover{transform:translateY(-3px)}
.card-img{position:relative}
.card-img img{aspect-ratio:16/10;object-fit:cover;width:100%}
.tag{position:absolute;left:12px;top:12px;background:var(--sun);color:var(--ink);font-size:.8125rem;font-weight:800;padding:5px 12px;border-radius:999px}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card-price{margin-top:8px;font-size:1.25rem;font-weight:850;color:var(--ink)}
.asat{font-size:.8125rem;font-weight:600;color:var(--ink-2)}
.card-facts{margin:14px 0 18px;padding:0 0 0 18px;font-size:.9375rem;font-weight:600}
.card-facts li::marker{color:var(--purple)}
.card-link{margin-top:auto;color:var(--ink);font-weight:800;text-decoration:none;align-self:flex-start;border-bottom:3px solid var(--sun);padding-bottom:2px}
.card-link:hover{color:var(--plum);border-color:var(--purple)}

/* Register */
.register{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.register::before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(159,94,160,.45),transparent 65%)}
.register-grid{position:relative;display:grid;gap:36px}
@media (min-width:900px){.register-grid{grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}}
.register h2{color:#fff}
.register-copy > p{margin-top:16px;font-size:1.1875rem;font-weight:500;color:#F4ECF4}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px;font-weight:700}
.ticks li{display:flex;gap:12px;align-items:center}
.ticks li::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--sun);color:var(--ink);font-weight:900;font-size:.875rem;flex:none}
.form{background:#fff;color:var(--ink);border-radius:22px;padding:24px 20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
@media (min-width:600px){.form{padding:32px}}
.form-draft{background:var(--sun-soft);border:1px solid #F2D58A;border-radius:10px;padding:10px 12px;font-size:.875rem;font-weight:600;margin-bottom:18px}
.field{margin:0 0 16px;border:0;padding:0;min-width:0}
.field-row{display:grid;gap:0 16px}
@media (min-width:600px){.field-row{grid-template-columns:1fr 1fr}}
label,legend{display:block;font-weight:800;font-size:.9375rem;margin-bottom:6px;padding:0}
input[type=text],input[type=email],input[type=tel],select{width:100%;min-height:50px;padding:10px 14px;border:2px solid #6E5C6E;border-radius:12px;font:inherit;font-weight:600;color:var(--ink);background:#fff}
input:focus-visible,select:focus-visible{outline:3px solid var(--purple);outline-offset:1px;border-color:var(--ink)}
input[aria-invalid=true],select[aria-invalid=true]{border-color:#B00020;background:#FFF5F6}
.hint{font-size:.8125rem;font-weight:600;color:var(--ink-2);margin-top:4px}
.radios{display:flex;gap:12px}
.radio{display:flex;align-items:center;gap:10px;font-weight:700;border:2px solid #6E5C6E;border-radius:12px;padding:10px 18px;cursor:pointer;margin:0}
.radio input{width:20px;height:20px;accent-color:var(--ink);margin:0}
.radio:has(input:checked){border-color:var(--ink);background:var(--sun-soft)}
.form-status{margin-top:12px;font-weight:700;font-size:.9375rem}
.form-status.err{color:#B00020}.form-status.ok{color:#0B6B2F}
.fine{margin-top:12px;font-size:.8125rem;font-weight:600;color:var(--ink-2)}

/* Footer */
.site-footer{background:#fff;padding:48px 0 40px;border-top:6px solid var(--sun);font-size:.875rem}
.footer-top{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line)}
.footer-nav{list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0}
.footer-nav a{color:var(--ink);text-decoration:none;font-weight:700}
.footer-nav a:hover{text-decoration:underline}
.footnotes{margin:24px 0 0;padding-left:20px;display:grid;gap:6px;font-weight:600;color:var(--ink-2);font-size:.8125rem}
.not-gov{margin-top:20px;font-weight:600;font-size:.875rem}
.legal{margin-top:12px;font-weight:600;color:var(--ink-2);font-size:.8125rem}

@media (max-width:899px){
  .hero-sub{font-size:1.0625rem;margin-top:14px}
  .calc-strip{margin-top:18px}
  .calc-basis{font-size:.8125rem;margin-top:12px}
  .hero-ctas{margin-top:18px}
  .hero-ctas .btn{flex:1 1 auto}
}
@media (max-width:420px){.calc-item{padding:10px 8px}.calc-lbl{font-size:.75rem}.compare{grid-template-columns:1fr}}
@media (max-width:599px){
  .calc-card{padding:4px 14px 16px;box-shadow:5px 5px 0 var(--purple)}
  .calc-table th{font-size:.9375rem;padding-right:8px}
  .calc-table td{font-size:1rem}
  .th-in{gap:8px}
  .step{width:22px;height:22px;font-size:.75rem}
  .calc-table tfoot td{font-size:1.625rem}
  .calc-table tfoot th{font-size:1.0625rem}
  .facts{grid-template-columns:1fr 1fr;gap:12px}
  .facts li{padding:18px 16px}
  .fact-big{font-size:1.75rem}
  .facts li:nth-child(3),.facts li:nth-child(4){grid-column:1/-1}
  .fact-txt{font-size:.875rem}
}

/* Legal pages */
.doc-page{padding:48px 0 72px}
.doc{max-width:780px}
.doc h1{font-size:clamp(2.25rem,5vw,3.25rem);font-weight:850;margin:6px 0 8px}
.doc .doc-updated{font-weight:700;color:var(--ink-2);font-size:.9375rem;margin-bottom:28px;padding-bottom:20px;border-bottom:4px solid var(--sun);display:inline-block}
.doc .doc-lead{font-size:1.1875rem;font-weight:600;margin-bottom:8px}
.doc h2{font-size:1.5rem;font-weight:850;margin:36px 0 10px}
.doc h3{font-size:1.125rem;font-weight:800;margin:22px 0 6px}
.doc p,.doc li{font-weight:500}
.doc p+p{margin-top:10px}
.doc ul{margin:10px 0 0;padding-left:22px;display:grid;gap:6px}
.doc .doc-note{margin-top:18px;background:var(--sun-soft);border:1px solid #F2D58A;border-radius:10px;padding:12px 14px;font-weight:700}
.legal-links{margin-top:6px}

.form-status.info{color:var(--ink);background:var(--sun-soft);border:1px solid #F2D58A;border-radius:10px;padding:10px 12px}
