:root{--ss-forest: #004738;--ss-forest-dark: #003126;--ss-forest-tint: #e6efec;--ss-spring: #00b388;--ss-spring-dark: #00966f;--ss-navy: #122653;--ss-ink: #000000;--ss-charcoal: #444444;--ss-body: #676767;--ss-mist: #d8d8d8;--ss-canvas: #ffffff;--ss-fog: #f5f6f5;--ss-terracotta: #c55a3c;--ss-sage: #8a9e7e;--ss-sand: #e9dfc9;--font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-sm: 4px;--r-md: 8px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 6px 6px 9px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ss-body);background:var(--ss-fog);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--ss-forest)}a:hover{color:var(--ss-forest-dark)}h1,h2,h3,h4{color:var(--ss-ink);font-family:var(--font-sans);margin:0}h1{font-weight:700;font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-.01em;color:var(--ss-charcoal)}h2{font-weight:600;font-size:clamp(24px,3vw,32px);line-height:1.2}h3{font-weight:600;font-size:20px;line-height:1.3}p{margin:0}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--ss-canvas);border-bottom:1px solid var(--ss-mist);padding:16px 24px;display:flex;align-items:center;gap:12px}.app-header .logo-link{display:inline-flex;align-items:center;line-height:0;text-decoration:none}.app-header .wordmark{height:40px;width:auto;display:block}.app-header .subtitle{color:var(--ss-body);font-size:13px;font-weight:500;letter-spacing:.04em;border-left:1px solid var(--ss-mist);padding-left:12px;margin-left:4px}.app-main{flex:1;padding:32px 20px 64px}.container{max-width:720px;margin:0 auto}.app-footer{padding:24px;text-align:center;font-size:12px;color:var(--ss-body)}.hero{background:var(--ss-forest);color:#fff;border-radius:var(--r-md);padding:32px 32px 28px;margin-bottom:20px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 90% 15%,rgba(0,179,136,.35),transparent 45%),radial-gradient(circle at 5% 95%,rgba(197,90,60,.25),transparent 45%);pointer-events:none}.hero>*{position:relative}.hero .eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.8;margin:0 0 8px}.hero h1{color:#fff;font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.08;margin:0 0 10px}.hero .lede{color:#ffffffe0;font-size:15px;line-height:1.55;max-width:56ch}.hero .underline{border-bottom:2px solid rgba(0,179,136,.9);padding-bottom:1px}.progress{display:flex;gap:8px;margin-bottom:20px;padding:0;list-style:none}.progress li{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--ss-canvas);border:1px solid var(--ss-mist);border-radius:var(--r-md);font-size:13px;font-weight:500;color:var(--ss-body);transition:background .15s,color .15s,border-color .15s}.progress li .step-num{width:22px;height:22px;border-radius:999px;background:var(--ss-mist);color:var(--ss-ink);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.progress li.active{background:var(--ss-forest);color:#fff;border-color:var(--ss-forest)}.progress li.active .step-num{background:#fff;color:var(--ss-forest)}.progress li.done{background:var(--ss-forest-tint);color:var(--ss-forest);border-color:var(--ss-forest-tint)}.progress li.done .step-num{background:var(--ss-forest);color:#fff}.card{background:var(--ss-canvas);border:1px solid var(--ss-mist);border-radius:var(--r-md);padding:28px 28px 24px;box-shadow:var(--shadow-sm)}.card .page-title{margin:0 0 6px;font-size:22px;font-weight:600;color:var(--ss-ink)}.card .page-intro{color:var(--ss-body);font-size:14px;margin:0 0 22px}.divider{height:1px;background:var(--ss-mist);margin:18px 0;border:0}.section-heading{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ss-forest);margin:20px 0 10px}.field{display:block;margin-bottom:18px;border:0;padding:0;min-inline-size:0}fieldset.field{margin:0 0 18px}.field .field-label,.field label.field-label,.field legend.field-label{display:block;font-weight:600;color:var(--ss-ink);font-size:14px;margin-bottom:4px;padding:0}.field .req{color:var(--ss-terracotta);margin-left:2px}.field .help{display:block;font-size:12px;color:var(--ss-body);margin-bottom:8px;line-height:1.5}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;color:var(--ss-ink);background:#fff;border:1px solid #d0d4d2;border-radius:var(--r-sm);padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:110px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ss-forest);box-shadow:0 0 0 3px #00473826}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--ss-terracotta)}.field .err-msg{color:var(--ss-terracotta);font-size:12px;margin-top:6px;display:block;font-weight:500}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-2>div .sub-label{display:block;font-size:11px;font-weight:500;color:var(--ss-body);margin-bottom:3px;letter-spacing:.02em}.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.address-grid .wide{grid-column:1 / -1}.radio-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}.radio-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ss-mist);border-radius:var(--r-sm);cursor:pointer;background:#fff;transition:border-color .12s,background .12s;font-size:14px;color:var(--ss-ink)}.radio-option:hover{border-color:var(--ss-forest)}.radio-option input{width:16px;height:16px;accent-color:var(--ss-forest)}.radio-option.selected{border-color:var(--ss-forest);background:var(--ss-forest-tint)}.radio-row{display:flex;gap:10px;flex-wrap:wrap}.radio-row .radio-option{flex:1;min-width:130px}.matrix{border:1px solid var(--ss-mist);border-radius:var(--r-md);overflow:hidden;margin-top:4px}.matrix-row{display:grid;grid-template-columns:1fr 120px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ss-mist);background:#fff;gap:12px}.matrix-row:last-child{border-bottom:0}.matrix-row .row-label{font-size:14px;color:var(--ss-ink);font-weight:500}.matrix-row input{text-align:right;padding-right:28px;position:relative}.matrix-row .input-wrap{position:relative}.matrix-row .input-wrap:after{content:"%";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--ss-body);font-size:13px;pointer-events:none}.matrix-total{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--ss-forest-tint);font-size:13px;font-weight:600;color:var(--ss-forest)}.matrix-total.invalid{background:#c55a3c1a;color:var(--ss-terracotta)}.notice{padding:14px 16px;border-left:3px solid var(--ss-spring);background:var(--ss-fog);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:13px;color:var(--ss-charcoal);line-height:1.55;margin:18px 0}.btn-row{display:flex;gap:12px;align-items:center;margin-top:24px}.btn-row .spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-weight:600;font-size:14px;letter-spacing:.02em;padding:12px 22px;border-radius:var(--r-pill);border:1px solid transparent;cursor:pointer;background:transparent;color:var(--ss-ink);text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .05s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:var(--ss-forest);color:#fff}.btn-primary:not(:disabled):hover{background:var(--ss-forest-dark)}.btn-accent{background:var(--ss-spring);color:#fff}.btn-accent:not(:disabled):hover{background:var(--ss-spring-dark)}.btn-ghost{color:var(--ss-forest)}.btn-ghost:not(:disabled):hover{background:var(--ss-forest-tint)}.confirmation{background:var(--ss-canvas);border:1px solid var(--ss-mist);border-radius:var(--r-md);padding:48px 32px;text-align:center}.confirmation .icon{width:64px;height:64px;background:var(--ss-forest-tint);color:var(--ss-forest);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px}.confirmation h2{margin-bottom:12px}.confirmation p{color:var(--ss-body);margin:0 auto 12px;max-width:52ch;line-height:1.55}.confirmation .meta{margin-top:20px;padding-top:18px;border-top:1px solid var(--ss-mist);font-size:12px;color:var(--ss-body)}.page-errors{background:#c55a3c14;border:1px solid rgba(197,90,60,.3);color:var(--ss-terracotta);padding:12px 14px;border-radius:var(--r-sm);font-size:13px;margin-bottom:16px}.page-errors strong{display:block;margin-bottom:4px}@media(max-width:520px){.grid-2,.address-grid{grid-template-columns:1fr}.radio-row .radio-option{min-width:0}.matrix-row{grid-template-columns:1fr 100px}}
