:root{--green-dark:#1F3A24;--green:#2F5233;--green-mid:#4A7C59;--chalk:#F7F5F0;--clay:#B5651D;--clay-dark:#8C4E16;--charcoal:#1C1C1C}*{box-sizing:border-box}body{margin:0;background:var(--chalk);font-family:Source Sans\ 3,sans-serif;color:var(--charcoal)}.wrap{max-width:720px;margin:0 auto;padding:0 24px 80px}header.hero{background:var(--green-dark);color:var(--chalk);padding:56px 24px 64px;position:relative;overflow:hidden}header.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--chalk) 0 28px,transparent 28px 40px);opacity:.35}.hero-inner{max-width:720px;margin:0 auto}.eyebrow{font-weight:600;letter-spacing:3px;font-size:13px;text-transform:uppercase;color:#CFE0D2;margin:0 0 12px}.eyebrow,h1{font-family:Oswald,sans-serif}h1{font-weight:700;font-size:40px;line-height:1.08;margin:0 0 14px;letter-spacing:.2px}.hero p{font-size:17px;line-height:1.6;max-width:560px;color:#E4E7DE;margin:0}.intro{padding:36px 0 8px;font-size:16px;line-height:1.7;color:#3A3A38}.yardline{display:flex;align-items:center;gap:14px;margin:44px 0 24px}.yardline .num{font-family:Oswald,sans-serif;font-weight:600;font-size:13px;color:var(--green-mid);letter-spacing:1px;white-space:nowrap}.yardline .rule{flex:1 1;height:1px;background:repeating-linear-gradient(90deg,#C9C5B8 0 10px,transparent 10px 16px)}.question{margin-bottom:8px}.qtext{font-family:Oswald,sans-serif;font-weight:600;font-size:19px;line-height:1.35;margin:0 0 14px;color:var(--charcoal)}.qtext .qnum{color:var(--clay);margin-right:6px}.optional-tag{display:inline-block;margin-left:9px;font-family:Oswald,sans-serif;font-weight:500;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--green-mid);background:#EEF3EA;border:1px solid #d6e1d3;border-radius:4px;padding:2px 7px;vertical-align:middle}.qhint{font-size:13px;color:#8A8779;margin:-10px 0 14px}.options{display:flex;flex-direction:column;gap:8px}.opt{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #dad6c9;border-radius:6px;cursor:pointer;background:#FFFEFB;transition:border-color .15s ease,background .15s ease;font-size:15px}.opt:hover{border-color:var(--green-mid)}.opt input{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}.opt.selected{border-color:var(--green);background:#EEF3EA}textarea.opentext{width:100%;min-height:80px;padding:12px 14px;border:1px solid #dad6c9;border-radius:6px;font-family:Source Sans\ 3,sans-serif;font-size:15px;color:var(--charcoal);resize:vertical;background:#FFFEFB}textarea.opentext:focus{outline:none;border-color:var(--green-mid)}.cta-block{margin-top:52px;padding:28px 24px;background:var(--green-dark);border-radius:10px;color:var(--chalk)}.cta-block h2{font-family:Oswald,sans-serif;font-weight:600;font-size:22px;margin:0 0 10px}.cta-block p{font-size:15px;line-height:1.6;color:#DDE3D8;margin:0 0 20px}.field-row{display:flex;gap:12px;margin-bottom:12px}.field-row input{flex:1 1;padding:11px 12px;border-radius:6px;border:1px solid transparent;font-size:15px;font-family:Source Sans\ 3,sans-serif}button#submit{margin-top:8px;width:100%;padding:14px;border:none;border-radius:6px;background:var(--clay);color:var(--chalk);font-family:Oswald,sans-serif;font-weight:600;font-size:16px;letter-spacing:.4px;cursor:pointer;transition:background .15s ease}button#submit:hover{background:var(--clay-dark)}button#submit:disabled{opacity:.7;cursor:default}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}.form-note{margin:14px 0 0;font-size:14px;line-height:1.5;color:#F1D6B8}.form-note.error{color:#F3C7B4}#result{display:none;margin-top:52px;text-align:center;padding:40px 24px;background:var(--charcoal);border-radius:10px;color:var(--chalk)}#result.show{display:block}#result .score-label{font-family:Oswald,sans-serif;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#B9B6AC;margin:0 0 6px}#result .score-num{font-family:Oswald,sans-serif;font-weight:700;font-size:64px;color:var(--clay);margin:0 0 4px;line-height:1}#result .score-out-of{font-size:14px;color:#B9B6AC;margin:0 0 20px}#result .verdict{font-size:17px;line-height:1.6;max-width:480px;margin:0 auto;color:#EDEBE4}footer{text-align:center;padding:32px 24px 0;font-size:14px;color:#7A776C}footer .name{color:var(--green);font-weight:600}@media (max-width:600px){h1{font-size:30px}header.hero{padding:44px 20px 52px}.field-row{flex-direction:column}}