
:root{--navy:#171717;--blue:#5a5a5a;--sky:#c8c8c8;--pale:#f7f7f7;--gold:#e5b448;--ink:#213442;--white:#fff;--muted:#667784}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#f7fbfd}
header{background:#fff;border-bottom:1px solid #dce8ef;position:sticky;top:0;z-index:20}.head{max-width:1120px;margin:auto;padding:13px 22px;display:flex;justify-content:space-between;align-items:center}.brand b{color:var(--navy);font-size:20px}.brand span{display:block;font-size:10px;letter-spacing:1.4px;color:#8a6a21}.phone{color:var(--navy);font-weight:800;text-decoration:none}
.hero{background:linear-gradient(120deg,#111111 0%,#303030 55%,#7a7a7a 100%);color:#fff;padding:66px 32px 72px;position:relative;overflow:hidden}.hero>div{max-width:980px;margin:auto;position:relative}.eyebrow{font-size:15px;font-weight:900;letter-spacing:3px;color:#fff;text-transform:uppercase}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,8vw,78px);line-height:.98;margin:20px 0 16px;max-width:760px}.script{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(27px,4.8vw,42px);line-height:1.18;color:#ffffff;max-width:760px}.hero-bee{position:absolute;right:3%;bottom:5px;font-size:44px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}.bee-trail{position:absolute;right:6%;bottom:18px;width:235px;height:95px;opacity:.95}.bee-trail svg{width:100%;height:100%}.hero p,.hero .roadmap-name{display:none}.gist-intro{background:#fffdf8;border-bottom:1px solid #eee6da}.gist-intro-inner{max-width:980px;margin:0 auto;padding:44px 32px 50px}.intro-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f4f4f4;border:1px solid #dddddd;color:#333333;font-family:Georgia,serif;font-size:34px;font-style:italic;margin-bottom:18px}.gist-intro h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,5vw,52px);line-height:1.03;color:#171717;margin:0 0 20px}.gist-intro p{font-size:19px;line-height:1.72;color:#4f5961;margin:0;max-width:900px}.gist-intro strong{color:#171717}.wrap{margin-top:0}@media(max-width:680px){.hero{padding:60px 32px 66px}.hero-bee{right:5%;bottom:14px;font-size:34px}.bee-trail{right:8%;bottom:8px;width:180px;height:78px}.gist-intro-inner{padding:42px 32px 48px}.gist-intro p{font-size:18px}.gist-intro h2{font-size:40px}}
.wrap{max-width:980px;margin:-28px auto 60px;padding:0 18px}.card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 12px 35px rgba(16,104,106,.12);margin-bottom:18px}.progress{height:8px;background:#e4eef3;border-radius:9px;overflow:hidden;margin-bottom:24px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--sky));width:0;transition:.3s}
.step{display:none}.step.active{display:block}.kicker{font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--blue)}h2{font-size:30px;color:var(--navy);margin:8px 0 8px}.lead{color:var(--muted);line-height:1.6;margin-top:0}
.options{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:20px 0}.option{border:2px solid #d9e9f2;background:#fff;border-radius:14px;padding:14px;cursor:pointer;display:flex;gap:10px;align-items:flex-start}.option:hover{border-color:#75c5c5;background:#f3fcfb}.option input{margin-top:3px}.option:has(input:checked){border-color:var(--blue);background:#eaf9f8}
label.text{display:block;font-weight:800;color:var(--navy);margin:15px 0 6px}input[type=text],textarea,select{width:100%;border:2px solid #cfe7e6;border-radius:12px;padding:12px;font:inherit;background:#fff}textarea{min-height:90px;resize:vertical}
.actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.btn{border:0;border-radius:999px;padding:12px 19px;font-weight:900;cursor:pointer}.next{background:var(--navy);color:#fff}.back{background:#e8f4f3;color:var(--navy)}.skip{background:transparent;color:#647985}
.note{background:#eef9f8;border-left:5px solid var(--sky);padding:13px 15px;border-radius:10px;margin:16px 0;font-size:14px;line-height:1.5}.warn{background:#fff7e8;border-left-color:var(--gold)}
.result-head{background:linear-gradient(120deg,#171717,#555555);color:#fff;border-radius:18px;padding:24px;margin-bottom:18px}.result-head h2{color:#fff;margin:4px 0}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result{border:1px solid #d5e9e8;border-radius:15px;padding:18px;background:#fff}.result h3{color:var(--navy);margin:0 0 10px}.result ul{padding-left:19px;margin:0}.result li{margin:8px 0;line-height:1.45}.connections{grid-column:1/-1;background:#edfafa;border-top:5px solid var(--blue)}.connection-buttons{display:flex;flex-wrap:wrap;gap:9px}.connection-buttons a{background:#fff;border:1px solid #b9dddc;border-radius:999px;padding:9px 12px;text-decoration:none;color:var(--navy);font-weight:800;font-size:13px}
.disclaimer{font-size:12px;color:#71818c;line-height:1.5;margin-top:20px}.print{background:var(--gold);color:#3e3216}.restart{background:#e8f4f3;color:var(--navy)}
footer{background:#171717;color:#fff;padding:32px 22px;text-align:center;font-size:13px}
.sponsor-wrap{max-width:980px;margin:0 auto 24px;padding:22px;background:#fff;border-radius:16px;color:#213442}
.sponsor-title{font-size:11px;font-weight:900;letter-spacing:1.5px;color:#667784;margin-bottom:15px}
.sponsor-logos{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:nowrap;width:100%}
.sponsor-logo{max-height:58px;max-width:100%;width:auto;height:auto;object-fit:contain}
.logo-cell{flex:1 1 0;min-width:0;height:72px;display:flex;align-items:center;justify-content:center;overflow:hidden}
@media(max-width:680px){.sponsor-logos{gap:5px}.logo-cell{height:48px}.sponsor-logo{max-height:38px}.sponsor-wrap{padding:14px 8px}}
.footer-disclaimer{max-width:900px;margin:20px auto 0;color:#d8e5ed;line-height:1.55;font-size:12px}
.footer-copy{margin-top:18px;color:#fff;font-size:12px}.hide-print{}
@media(max-width:680px){.options,.result-grid{grid-template-columns:1fr}.card{padding:20px}.connections{grid-column:auto}.head{padding:11px 15px}.phone{font-size:12px}}

.emailbox{margin-top:18px;padding:20px;border-radius:16px;background:#eef9f8;border:1px solid #cfe7e6;display:none}
.emailbox.show{display:block}.emailbox h3{margin:0 0 6px;color:var(--navy)}
.emailrow{display:flex;gap:9px;margin-top:12px}.emailrow input{flex:1}
.emailhelp{font-size:12px;color:#667784;line-height:1.45;margin:8px 0 0}
@media(max-width:680px){.emailrow{flex-direction:column}}
@media print{header,.hero,.hide-print,footer{display:none!important}.wrap{margin:0;max-width:none}.card{box-shadow:none;padding:0}.result{break-inside:avoid}.result-grid{display:block}.result{margin:10px 0}}

.option:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 1px rgba(95,127,152,.12)}
.option input:checked{accent-color:var(--blue)}

.support-branch{display:none;margin:0 0 28px}
.support-branch.active{display:block}
.support-branch h3{font-size:1.55rem;color:var(--navy);margin:4px 0 10px}
.appeal-road{display:none;margin:18px 0 8px;padding:20px;border:2px solid #b9dddc;border-radius:16px;background:#f6fdfc}.appeal-road.active{display:block}.appeal-road h4{font-size:1.25rem;color:var(--navy);margin:4px 0 8px}.appeal-road .mini{font-size:13px;color:var(--muted);line-height:1.5}.appeal-road .section{border-top:1px solid #d5e9e8;margin-top:18px;padding-top:16px}.appeal-road .section:first-of-type{border-top:0;margin-top:8px}.appeal-road .option{background:#fff}.appeal-road input[type=file]{width:100%;padding:11px;border:2px dashed #b9dddc;border-radius:12px;background:#fff}.appeal-road .callout{background:#fff7e8;border-left:5px solid var(--gold);padding:12px 14px;border-radius:10px;margin:12px 0;line-height:1.5}

/* Consistent Say YES to Hope site header */
.site-header{background:#fff;border-bottom:1px solid #e7e7e7;position:sticky;top:0;z-index:30}
.site-header-inner{max-width:1120px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;min-height:92px}
.site-logo-wrap{display:flex;align-items:center;min-width:0}
.site-logo{display:block;width:min(440px,72vw);height:auto;max-height:78px;object-fit:contain;object-position:left center}
.menu-button{width:62px;height:62px;border:0;border-radius:16px;background:#182250;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;cursor:pointer;flex:0 0 auto}
.menu-button span{display:block;width:30px;height:4px;border-radius:4px;background:#fff}
.roadmap-name{font-size:clamp(18px,2.5vw,26px);font-weight:900;letter-spacing:.4px;margin:10px 0 0;color:#fff}
footer .sponsor-wrap{margin-top:24px;margin-bottom:0}
@media(max-width:680px){
  .site-header-inner{min-height:84px;padding:9px 14px}
  .site-logo{width:min(420px,72vw);max-height:68px}
  .menu-button{width:58px;height:58px;border-radius:15px}
  .menu-button span{width:28px}
}

.find-team-form{margin-top:10px}
.find-team-list{display:grid;gap:10px;margin-top:12px}
.find-team-item{padding:13px 14px;border:1px solid #d7e6f1;border-radius:12px;background:#fafdff}
.find-team-item b{color:#7b3f16}
.find-team-item a{display:inline-block;margin-top:7px;font-weight:800;color:#7b3f16;text-decoration:underline}
.find-team-note{font-size:13px;line-height:1.5;color:#4f6372;margin-top:10px}


.team-passport{border:2px solid #c9ddec;border-radius:14px;padding:16px;background:#fff}
.team-passport h4{margin:0 0 8px;color:#7b3f16;font-size:18px}
.team-passport-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.team-passport-item{background:#f7fbfe;border:1px solid #dce9f2;border-radius:10px;padding:10px}
.team-passport-item b{display:block;color:#7b3f16;margin-bottom:3px}
.team-match-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eaf5fb;color:#7b3f16;font-size:11px;font-weight:900;margin:2px 3px 2px 0}
@media(max-width:600px){.team-passport-grid{grid-template-columns:1fr}}


.support-compact #important:empty,
.support-compact #missing:empty,
.support-compact #possibilities:empty,
.support-compact #questions:empty{display:none}
.support-compact .result:has(> #important:empty),
.support-compact .result:has(> #missing:empty),
.support-compact .result:has(> #possibilities:empty),
.support-compact .result:has(> #questions:empty){display:none}
