/* scouts: landing, application, public profile, dashboard. Tokens from style.css. */
.sc{max-width:1000px}
.sc-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 40px;padding:clamp(24px,6vw,64px) 0;text-align:center}
.sc-hero .txt{flex:1 1 360px}.sc-hero>img{width:180px;height:auto}
.sc-hero h1{font-size:clamp(1.9rem,7vw,3.8rem);line-height:1.05;overflow-wrap:break-word}
.sc-hero .lead{margin:0 auto 1.4em}
.sc-hero .btn{margin:4px}
@media(min-width:820px){.sc-hero{text-align:left;flex-wrap:nowrap}.sc-hero .lead{margin-left:0}.sc-hero>img{width:300px}}
@media(min-width:1000px){.sc-hero>img{width:320px}}
.sc-eyebrow,.sc-num{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin:0 0 .8em}
.sc-num{border-top:1px solid var(--line);padding-top:14px}.sc-num b{color:var(--amber);font-weight:700;margin-right:.6em}
.sc-sec{margin-top:clamp(40px,8vw,88px)}
.sc-sec h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:clamp(1.6rem,4.5vw,2.4rem);line-height:1.1}
.sc-lead{max-width:40em;color:var(--snow)}
.sc-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--line)}
.sc-cols>div{padding:18px 16px 18px 0}.sc-cols>div+div{border-top:1px solid var(--line)}.sc-cols p{margin:0}
@media(min-width:700px){.sc-cols>div{border-right:1px solid var(--line);padding:18px 20px}.sc-cols>div+div{border-top:0}.sc-cols>div:first-child{padding-left:0}.sc-cols>div:last-child{border-right:0}}
.sc-h3{margin-top:36px}.sc-rules{max-width:44em}
.sc-levels{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.sc-levels li{background:var(--night-2);border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center}
.sc-levels h3{margin:10px 0 4px}.sc-rate{margin:0;color:var(--snow)}.sc-rate b{font-size:1.5rem;font-family:'Bricolage Grotesque',system-ui,sans-serif}
/* medallions */
.medal{display:inline-block;vertical-align:middle;max-width:100%;height:auto}
.m-ring{fill:var(--night-2);stroke:var(--line-2);stroke-width:3}.m-senior .m-ring{stroke:var(--robin)}
.m-feather{fill:var(--bark)}.m-quill{stroke:var(--cream);stroke-width:2;stroke-linecap:round;fill:none}
.m-star{fill:var(--amber)}.m-band{fill:none;stroke:var(--snow);stroke-width:4;stroke-linecap:round}
.m-cup{fill:var(--ink-2);stroke:var(--snow);stroke-width:2}.m-led{fill:var(--robin)}
/* frequency dial */
.dial{list-style:none;margin:24px 0 0;padding:0;border-left:2px solid var(--line-2)}
.dial>li{position:relative;padding:0 0 26px 28px}.dial>li:last-child{padding-bottom:0}
.dial .stop{position:absolute;left:-9px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--night);border:2px solid var(--robin)}
.dial>li:last-child .stop{background:var(--amber);border-color:var(--amber)}
.dial h3{margin:0 0 6px}.dial p,.dial ul{margin:0}.dial ul{padding-left:1.1em}
@media(min-width:820px){
.dial{display:grid;grid-template-columns:repeat(3,1fr);border-left:0;border-top:2px solid var(--line-2);gap:0}
.dial>li{padding:28px 20px 0 0}.dial .stop{left:0;top:-9px}}
.sc-note{max-width:44em;border-left:3px solid var(--amber);padding-left:14px;margin-top:28px}
.sc-apply{text-align:center;padding-bottom:12px}.sc-apply .sc-lead{margin:0 auto 1em}.sc-apply .btn{margin-top:8px}
/* application form: help text under the label, error right under its control */
.hint{display:block;font-size:.85em;color:var(--mist);font-weight:400;margin:2px 0 0}
.fe{margin:-8px 0 14px;font-size:.92rem}
/* reveal on scroll: opacity + transform only */
.sc-js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.sc-js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.sc-js .reveal{opacity:1;transform:none;transition:none}}
/* public profile */
.sp-head{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;padding:clamp(16px,4vw,40px) 0}
.sp-head .txt{flex:1 1 320px}.sp-photo{width:160px;height:160px;object-fit:cover;border-radius:50%;border:2px solid var(--line-2);background:var(--night-2)}
.sp-level{display:flex;align-items:center;gap:10px;margin:0 0 12px}.bio{white-space:pre-line;max-width:40em}
/* dashboard */
.sd-head{display:flex;gap:16px;align-items:center}.sd-head h1{margin:0}
.chip{display:inline-block;border:1px solid var(--line-2);border-radius:999px;padding:1px 10px;font-size:.8rem;color:var(--snow)}
.chip.amber{border-color:var(--amber);color:var(--amber)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:20px}
.kpis>div{background:var(--night-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.kpis b{display:block;font-size:1.6rem;font-family:'Bricolage Grotesque',system-ui,sans-serif}.kpis span{font-size:.8rem;color:var(--mist)}
.prog{list-style:none;padding:0;margin:0 0 12px}.prog li{margin:0 0 14px}
.prog label{display:block}.prog label span{float:right;color:var(--mist)}
progress{display:block;width:100%;height:10px;margin-top:6px;border:0;border-radius:5px;background:var(--line);overflow:hidden;accent-color:var(--robin)}
progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--robin)}progress::-moz-progress-bar{background:var(--robin)}
.keep{font-weight:600}.spark svg{display:block}.spark{min-width:130px}
.linkrow{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.linkrow>div:first-child{flex:1 1 300px}
.qr{background:#fff;padding:8px;border-radius:8px;line-height:0}.qr svg{width:200px;height:200px;max-width:100%}
.copied{color:var(--ok);margin-left:8px}
.ph{width:96px;height:96px;object-fit:cover;border-radius:50%;display:block;margin-bottom:10px;background:var(--night)}
.modal{background:var(--night-2);color:var(--snow);border:1px solid var(--line-2);border-radius:12px;max-width:420px;width:calc(100% - 32px)}
.modal::backdrop{background:rgba(15,18,32,.8)}.modal .row{display:flex;gap:10px;flex-wrap:wrap}
.err[hidden]{display:none}
@media(max-width:480px){.sd-head{flex-wrap:wrap}}
.sc-teaser{border:1px solid var(--line);border-left:3px solid var(--amber);padding:18px 20px;max-width:40em}.sc-teaser h3{margin:0 0 .4em}.sc-teaser p{margin:0 0 1em;color:var(--mist)}.sc-teaser .btn{margin-top:2px}
