:root{--maroon:#5a0722;--gold:#eaaa00;--ink:#272727;--gray:#555;--mid:#888;--line:#ccc;--soft:#eee;--copper:#dedcd1;--white:#fff;--serif:"Source Serif 4",Georgia,serif;--sans:"Libre Franklin",Arial,sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:var(--white)}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}.site-header{height:96px;border-bottom:1px solid var(--soft);display:flex;align-items:center;padding:0 clamp(24px,6vw,88px);background:#fff}.brand{color:var(--ink);font:700 34px/1 var(--serif);text-decoration:none;letter-spacing:-1px}.brand span{color:var(--maroon)}.brand small{display:block;margin-top:8px;color:var(--maroon);font:700 10px/1 var(--sans);letter-spacing:1.7px;text-transform:uppercase}main{min-height:calc(100vh - 158px)}.shell{width:min(980px,calc(100% - 40px));margin:0 auto;padding:38px 0 64px}.welcome{min-height:650px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);align-items:center;gap:70px}.welcome h1,.question h1,.results h1{margin:0;color:var(--maroon);font:700 clamp(42px,6vw,72px)/1.03 var(--serif);letter-spacing:-1.8px}.welcome p{max-width:590px;margin:28px 0 36px;font-size:20px;line-height:1.65}.map-art{height:470px;position:relative;border-left:1px solid var(--copper);background:linear-gradient(90deg,transparent 24px,var(--copper) 25px,transparent 26px) 0 0/72px 100%,linear-gradient(0deg,transparent 24px,var(--copper) 25px,transparent 26px) 0 0/100% 72px;opacity:.48}.map-art:after{content:"CHICAGO  •  COMMUNITY  •  CONNECTION";position:absolute;right:18px;bottom:24px;color:var(--maroon);font-size:11px;font-weight:700;letter-spacing:2px;writing-mode:vertical-rl}.button{min-height:54px;padding:14px 25px;border:1px solid var(--maroon);border-radius:3px;background:#fff;color:var(--maroon);font:700 15px var(--sans);cursor:pointer}.button.primary{min-width:220px;background:var(--maroon);color:#fff}.button:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(90,7,34,.12)}.button:focus-visible,.choice:focus-visible,.rank-select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.progress-wrap{display:flex;align-items:center;gap:18px;margin-bottom:35px}.step-label{font-size:13px;font-weight:700;white-space:nowrap}.progress{height:5px;flex:1;background:var(--soft)}.progress span{display:block;height:100%;background:var(--maroon);transition:width .25s}.question{max-width:820px}.question h1{font-size:clamp(34px,5vw,52px)}.helper{color:var(--gray);font-size:16px;margin:10px 0 28px}.choices{display:grid;gap:9px}.choice{width:100%;min-height:66px;display:flex;align-items:flex-start;gap:15px;padding:17px 18px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);text-align:left;font:500 16px/1.4 var(--sans);cursor:pointer}.choice:hover{border-color:var(--maroon)}.choice.selected{border:2px solid var(--maroon);padding:16px 17px;background:#fbf7f8}.choice .marker{width:22px;height:22px;flex:0 0 22px;border:1.5px solid var(--mid);display:grid;place-items:center;color:#fff;font-size:13px;margin-top:1px}.choice.multi .marker{border-radius:3px}.choice.single .marker{border-radius:50%}.choice.selected .marker{border-color:var(--maroon);background:var(--maroon)}.choice strong{display:block}.choice small{display:block;color:var(--gray);font-size:13px;margin-top:3px}.rank-row{display:grid;grid-template-columns:1fr 112px;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line)}.rank-row span{font-weight:600}.rank-select{height:42px;border:1px solid var(--maroon);background:#fff;padding:0 10px;color:var(--maroon);font:700 14px var(--sans)}.validation{min-height:24px;color:var(--maroon);font-weight:600;margin:14px 0 0}.actions{display:flex;justify-content:space-between;gap:16px;margin-top:30px;padding-top:24px;border-top:1px solid var(--soft)}.results{max-width:850px}.results h1{font-size:clamp(40px,5vw,58px)}.results-intro{margin:10px 0 26px;font-size:18px}.result{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:27px 0;border-top:1px solid var(--line)}.rank{color:var(--maroon);font:700 54px/1 var(--serif);text-align:center}.result-body{border-left:4px solid var(--gold);padding-left:22px}.result h2{margin:0 0 4px;color:var(--maroon);font:700 25px/1.15 var(--serif)}.activity{font-weight:700;margin:0 0 10px}.reason{margin:0 0 13px}.meta{color:var(--gray);font-size:13px;margin:4px 0}.result a{display:inline-block;margin-top:10px;color:var(--maroon);font-weight:700;text-underline-offset:4px}.results .actions{justify-content:flex-start}footer{min-height:62px;padding:19px clamp(24px,6vw,88px);background:var(--soft);display:flex;justify-content:space-between;color:var(--gray);font-size:12px}footer span:first-child{color:var(--maroon);font-weight:700}
@media(max-width:760px){.site-header{height:80px}.brand{font-size:28px}.shell{width:min(100% - 28px,620px);padding-top:26px}.welcome{min-height:auto;display:block;padding:40px 0 60px}.welcome p{font-size:17px}.map-art{height:180px;margin-top:50px}.actions{position:sticky;bottom:0;background:#fff;padding:16px 0}.actions .button{flex:1}.rank-row{grid-template-columns:1fr 92px}.result{grid-template-columns:42px 1fr;gap:12px}.rank{font-size:42px}.result-body{padding-left:16px}footer{display:block;text-align:center}footer span{display:block}.progress-wrap{gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.rank-row small{display:block;margin-top:4px;color:var(--gray);font-size:12px;font-weight:400;line-height:1.4}
.welcome-logo{display:block;width:min(240px,100%);height:auto;margin:0 0 20px}
@media(max-width:760px){.welcome-logo{width:min(210px,100%);margin-bottom:18px}}
.languages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:520px){.languages-grid{grid-template-columns:1fr}}
.zip-field{display:block;max-width:430px;padding:24px;border:1px solid var(--line);background:#fff}.zip-field>span{display:block;margin-bottom:10px;font-weight:700}.zip-field input{width:100%;height:56px;padding:0 16px;border:1px solid var(--mid);border-radius:3px;font:600 20px var(--sans);letter-spacing:2px}.zip-field input:focus{outline:3px solid var(--gold);outline-offset:2px;border-color:var(--maroon)}.zip-field small{display:block;min-height:20px;margin-top:9px;color:var(--gray)}.near-label{margin:0 0 5px;color:var(--maroon);font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.mismatch{padding:10px 12px;background:#fff6dd;border-left:3px solid var(--gold);font-size:14px}.result-links{display:flex;flex-wrap:wrap;gap:12px 24px}.result-links a{margin-top:10px}
