:root{--paper:#fcfbf9;--paper-2:#f4f3f0;--ink:#0b0c0d;--text:#0a0e14;--text-2:#33322f;--muted:#57534c;--line:#e5dfd5;--blue:#17457f;--blue-deep:#123663;--blue-wash:#eef1f6;--live:#1e7a5a;--sans:'Source Sans 3',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--disp:'Archivo',-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--sans);color:var(--text);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;font-size:18px;line-height:1.55}
.topbar{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line)}
.wordmark img{display:block;width:142px;height:auto}
.phone{font-family:var(--mono);font-size:.79rem;color:var(--muted);text-decoration:none}
.hero{background:var(--ink);color:#fff}
.hero-inner{width:min(960px,100%);margin:auto;padding:76px 24px 82px}
.brand{font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.17em;color:#a2acba}
.brand span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 12px rgba(30,122,90,.7);margin-right:10px}
.hero h1{font-family:var(--disp);max-width:820px;font-size:clamp(2.5rem,6.5vw,4.2rem);font-weight:700;line-height:1;margin:34px 0 25px;letter-spacing:-.022em}
.hero p{max-width:690px;color:#c9d3e0;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.58;margin:0}
.shell{width:min(720px,100%);margin:auto;padding:58px 20px 52px}
.form-intro{margin-bottom:30px}
.kicker,.eyebrow{font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.17em;color:var(--blue);margin:0}
.form-intro h2{font-family:var(--disp);font-size:clamp(2rem,6vw,3.1rem);line-height:1.06;margin:12px 0 8px;letter-spacing:-.032em}
.form-intro>p:last-child{color:var(--text-2);margin:0}
.context-note{margin:0 0 24px;padding:14px 16px;background:var(--blue-wash);border-left:3px solid var(--blue);color:var(--text-2);font-size:.96rem;line-height:1.5}
.progress-wrap{height:4px;background:var(--line);overflow:hidden}
.progress-wrap div{height:100%;width:25%;background:var(--blue);transition:width .25s ease}
.progress-text{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.74rem;color:var(--muted);margin:10px 0 18px}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:4px;padding:30px 26px 24px;box-shadow:0 10px 30px rgba(13,20,18,.04);margin-bottom:18px}
.card[hidden]{display:none}
.step{position:absolute;right:22px;top:18px;font-family:var(--mono);font-size:.75rem;font-weight:600;color:var(--blue)}
h3,legend{font-family:var(--disp);font-size:1.25rem;font-weight:700;line-height:1.3}
h3{margin:0 45px 24px 0}
legend{padding-right:48px}
label{font-weight:600;font-size:1rem}
input[type=text],input:not([type]),input[type=email],textarea{width:100%;font:inherit;border:1px solid #cbc6bc;border-radius:4px;padding:14px 15px;margin:7px 0 19px;background:#fff;color:var(--text)}
input[type=tel]{width:100%;font:inherit;border:1px solid #cbc6bc;border-radius:4px;padding:14px 15px;margin:7px 0 19px;background:#fff;color:var(--text)}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.address-wrap{position:relative}
.address-suggestions{position:absolute;z-index:8;left:0;right:0;top:calc(100% - 19px);background:#fff;border:1px solid #bfc8d4;border-radius:4px;box-shadow:0 12px 30px rgba(11,12,13,.15);overflow:hidden}
.address-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text);font:inherit;font-size:.94rem;line-height:1.35;text-align:left;padding:13px 14px;cursor:pointer}
.address-suggestions button:last-child{border-bottom:0}
.address-suggestions button:hover,.address-suggestions button:focus{background:var(--blue-wash);outline:0}
.address-help{margin:-10px 0 19px;color:var(--muted);font-size:.82rem;line-height:1.4}
.address-help a{color:var(--blue-deep)}
input:focus,textarea:focus{outline:3px solid rgba(23,69,127,.14);border-color:var(--blue)}
.hint{color:var(--muted);margin:7px 0 16px;font-size:.94rem}
.choices{display:grid;gap:10px;margin-top:16px}
.choices.lines{grid-template-columns:repeat(3,1fr)}
.choices label{display:flex;align-items:center;gap:10px;border:1px solid #d6d1c8;padding:13px;border-radius:4px;font-weight:600;background:#fff;cursor:pointer}
.choices label:has(input:checked){border-color:var(--blue);background:var(--blue-wash);color:var(--blue-deep)}
.choices input{width:20px;height:20px;accent-color:var(--blue);flex:0 0 20px}
fieldset{border:0;padding:0;margin:0}
.notes-field{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
small{font-weight:400;color:var(--muted)}
.form-error{position:sticky;bottom:12px;z-index:3;color:#7d1b1b;background:#fff4f2;border:1px solid #e8b9b3;border-radius:4px;font-size:.94rem;font-weight:600;margin:12px 0;padding:10px 12px;box-shadow:0 8px 24px rgba(11,12,13,.12)}
.form-error:empty{display:none}
.form-actions{display:flex;gap:12px}
.form-actions button{border:1px solid var(--blue);border-radius:4px;background:var(--blue);color:#fff;font:inherit;font-weight:600;font-size:1rem;min-height:52px;padding:0 24px;margin:0;cursor:pointer;flex:1}
.form-actions button:disabled{background:#a8afb8;border-color:#a8afb8;color:#f7f7f7;cursor:not-allowed}
.form-actions button span{float:right}
.form-actions .back{background:transparent;color:var(--text);border-color:#cbd1da;flex:0 0 110px}
.result{margin-top:24px;background:var(--ink);color:#fff;border-radius:4px;padding:32px}
.result h2{font-family:var(--disp);font-size:2rem;margin:7px 0 12px}
.result p{line-height:1.6}
.eyebrow{color:#9db6d8}
.fine{font-size:.92rem;color:#aeb8c5}
.secondary{width:100%;border:1px solid rgba(255,255,255,.34);border-radius:4px;background:transparent;color:#fff;font:inherit;font-weight:600;min-height:50px;padding:0 20px;cursor:pointer}
.result[hidden]{display:none}
.transition-note{margin:0 0 26px;padding:24px 26px;background:var(--blue-wash);border-left:4px solid var(--blue);border-radius:4px}
.transition-note h2{font-family:var(--disp);font-size:1.45rem;line-height:1.25;margin:8px 0 12px}
.transition-note p{font-size:.96rem;line-height:1.55;color:var(--text-2)}
.transition-caution{padding-top:14px;border-top:1px solid #d4dce7}
.source-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;font-size:.84rem!important}
.source-links a{color:var(--blue-deep);font-weight:600}
.source-links span{color:var(--muted)}
.acknowledgment{display:flex;align-items:flex-start;gap:11px;margin-top:18px;padding:14px;background:#fff;border:1px solid #cbd6e4;border-radius:4px;font-size:.94rem;line-height:1.4;cursor:pointer}
.acknowledgment input{width:21px;height:21px;flex:0 0 21px;margin:1px 0 0;accent-color:var(--blue)}
.acknowledgment.invalid{border-color:#b63a2d;background:#fff4f2;color:#7d1b1b}
footer{text-align:center;color:var(--muted);font-size:.86rem;line-height:1.6;margin:38px 14px 0}
@media(max-width:900px){
  .hero-inner{padding-left:28px;padding-right:28px}
  .shell{padding-left:24px;padding-right:24px}
}
@media(max-width:520px){
  body{font-size:16px}
  .topbar{height:64px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
  .wordmark img{width:118px}
  .phone{font-size:.72rem}
  .hero-inner{padding:52px 18px 58px}
  .hero h1{font-size:clamp(2.15rem,11vw,2.55rem)}
  .hero p{font-size:1.05rem}
  .shell{padding:38px 16px 44px}
  .card{padding:26px 18px 21px}
  .choices.lines{grid-template-columns:repeat(2,minmax(0,1fr))}
  .field-pair{grid-template-columns:1fr;gap:0}
  .choices label{min-height:52px}
  .form-actions .back{flex-basis:88px}
  .privacy-note{font-size:.88rem;line-height:1.45}
}
@media(max-width:380px){
  .phone{font-size:.67rem}
  .wordmark img{width:108px}
  .form-actions{flex-wrap:wrap}
  .form-actions .back{flex:1 0 100%}
  .form-actions button{width:100%}
  .progress-text span:last-child{display:none}
}

