:root{font-family:system-ui,-apple-system,sans-serif;color:#0b2a1c;background:#fff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:.75rem}.skip-link:focus{left:.75rem;z-index:3;background:#fff;padding:.7rem;border-radius:.4rem}
.shell{width:min(100% - 2rem,30rem);margin:auto;padding:2.5rem 0}
.brand{text-align:center;margin-bottom:1.5rem}
.brand img{display:block;margin:0 auto .75rem}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#003E24}
.card{background:#fff;border:1px solid #eee;border-radius:10px;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 2px 12px rgba(0,0,0,.1)}
h1{font-size:clamp(1.5rem,5vw,1.9rem);margin:.2rem 0 .4rem;color:#003E24}
.hint{color:#5a5a5a;line-height:1.5;margin:0 0 1rem}
.status{min-height:1.4rem;font-size:.9rem;color:#003E24}.status.error{color:#a33c2c}
label{display:block;font-weight:600;margin:.9rem 0 .35rem}
.optional{font-weight:400;color:#757575}
input[type=tel],input[type=text],input[type=email]{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font:inherit}
input:focus{outline:3px solid #cfe3d8;outline-offset:1px;border-color:#003E24}
.validation{min-height:1.2rem;color:#a33c2c;font-size:.85rem;margin:.25rem 0 0}
.consent-group{border:0;padding:0;margin:1.25rem 0 0}
.consent-group legend{font-weight:700;padding:0;margin-bottom:.5rem}
.consent-option{display:flex;align-items:flex-start;gap:.5rem;font-weight:500;margin-top:.75rem}
.consent-option input{margin-top:.2rem}
.disclosure{font-size:.75rem;color:#666;line-height:1.4;margin:.35rem 0 0 1.6rem}
.disclosure a{color:#003E24;text-decoration:underline}
button{cursor:pointer}
.primary{width:100%;margin-top:1.5rem;border:0;border-radius:30px;background:#B44E00;color:#fff;padding:14px 24px;font-size:1.05rem;font-weight:700}
.primary:hover{background:#9C4305}
.primary:disabled{opacity:.5;cursor:not-allowed}
.secondary{border:1px solid #999;background:transparent;color:#003E24;border-radius:30px;padding:.75rem 1.1rem;font:inherit;font-weight:600}
.text-button{display:block;margin:.9rem auto 0;border:0;background:transparent;color:#003E24;font:inherit;font-weight:600;text-decoration:underline}
.actions{display:flex;gap:.75rem;margin-top:1.25rem}
.actions .primary{margin-top:0;flex:1}
.privacy-note{text-align:center;font-size:.72rem;color:#757575;margin-top:1.25rem}
.privacy-note a{color:#003E24}
@media(max-width:26rem){.shell{padding:1.25rem 0}.actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}