:root{--forest:#10231b;--deep:#07130e;--moss:#57705b;--sand:#f2ead8;--paper:#e7ddc8;--orange:#ffad1f;--rust:#cb5b34;--ink:#17231c;--line:rgba(242,234,216,.2);--shadow:0 24px 60px rgba(4,13,9,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:99;background:var(--orange);padding:.8rem 1rem}.skip:focus{top:1rem}.top{height:78px;position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;padding:0 4vw;color:white;border-bottom:1px solid var(--line)}.brand{font:800 13px/1.05 Arial,sans-serif;letter-spacing:.15em;text-decoration:none;min-width:130px}.brand b{font-size:20px}.brand-mark{display:inline-grid;place-items:center;width:29px;height:29px;background:var(--orange);color:var(--deep);border-radius:50%;font-size:18px;float:left;margin-right:9px}.top nav{display:flex;gap:2rem;margin:auto}.top nav a{text-decoration:none;text-transform:uppercase;font-size:.76rem;letter-spacing:.13em}.top nav a:hover{color:var(--orange)}.menu{display:none}.fav-open{border:1px solid var(--line);background:transparent;color:#fff;border-radius:99px;padding:.55rem .8rem}.hero{min-height:100svh;position:relative;display:grid;align-items:center;color:#fff;background:var(--deep);isolation:isolate}.hero-bg{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(4,13,9,.89) 0%,rgba(4,13,9,.56) 42%,rgba(4,13,9,.08) 75%),linear-gradient(0deg,rgba(4,13,9,.7),transparent 40%),image-set(url('assets/hero.webp') type('image/webp'),url('assets/hero.jpg') type('image/jpeg'));background-size:cover;background-position:center}.hero-bg:after{content:"";position:absolute;inset:0;opacity:.17;background-image:repeating-radial-gradient(ellipse at 20% 120%,transparent 0 25px,#e6d8bc 26px 27px,transparent 28px 44px)}.hero-copy{width:min(1100px,92vw);margin:auto;padding:125px 0 90px}.kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--orange);font-weight:800;font-size:.72rem}.kicker.dark{color:#a04424}.hero h1,.section h2,.section-head h2,.school h2,.planner h2{font:900 clamp(3.6rem,9.6vw,9.5rem)/.82 Impact,Arial Narrow,sans-serif;letter-spacing:-.035em;margin:.18em 0;text-transform:uppercase}.hero h1 em,.school h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--orange)}.lead{max-width:590px;font-size:clamp(1rem,1.5vw,1.25rem);color:#e8e1d3}.hero-search{margin-top:2.2rem;max-width:720px}.hero-search label{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.hero-search>div{margin-top:.5rem;display:flex;background:white;border-radius:4px;padding:6px}.hero-search input{flex:1;border:0;padding:.9rem;color:var(--ink);min-width:0}.hero-search button,.quiz-card button,.planner button{border:0;background:var(--orange);font-weight:800;padding:.9rem 1.2rem;border-radius:3px;cursor:pointer}.hero-stats{display:flex;gap:2rem;margin-top:2rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.11em}.hero-stats b{font-size:1.5rem;color:var(--orange);display:block}.scroll{position:absolute;right:3vw;bottom:2rem;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.ticker{background:var(--orange);padding:.8rem 4vw;display:flex;justify-content:center;gap:1rem;font-size:.85rem}.ticker a{font-weight:800}.section{padding:clamp(5rem,9vw,9rem) max(4vw,calc((100vw - 1300px)/2))}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.section h2,.section-head h2,.planner h2{font-size:clamp(3rem,7vw,7rem);color:var(--forest)}.quiz-card{background:var(--forest);color:#fff;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow);transform:rotate(1deg)}.quiz-progress{display:flex;gap:1rem;align-items:center;font-size:.75rem}.quiz-progress i{height:3px;background:#ffffff20;flex:1}.quiz-progress b{display:block;background:var(--orange);height:100%;width:33%;transition:width .3s}.quiz-card fieldset{border:0;padding:2rem 0 0;margin:0}.quiz-card legend{font-size:1.6rem;font-weight:800;margin-bottom:1rem}.quiz-card button{display:block;width:100%;margin:.7rem 0;text-align:left;background:transparent;color:#fff;border:1px solid #ffffff30;transition:.2s}.quiz-card button:hover,.quiz-card button:focus{border-color:var(--orange);background:#ffffff0b;transform:translateX(5px)}.map-section,.grades,.school{background:var(--forest);color:var(--sand);padding:clamp(5rem,9vw,9rem) max(4vw,calc((100vw - 1300px)/2))}.section-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}.section-head h2,.school h2{color:var(--sand);margin:0}.section-head>p{max-width:420px}.section-head.dark h2{color:var(--forest)}.map-shell{position:relative;border:1px solid #ffffff30;padding:10px;background:#d9d2bd;box-shadow:var(--shadow)}#map{height:min(68vh,650px);min-height:430px;background:#d6d3c2;z-index:1}.leaflet-tile{filter:saturate(.45) sepia(.15) contrast(.92)}.leaflet-popup-content-wrapper{border-radius:2px;background:var(--forest);color:#fff}.leaflet-popup-tip{background:var(--forest)}.map-marker{background:var(--orange);border:3px solid var(--forest);width:25px!important;height:25px!important;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 12px #0007}.map-marker.unverified{background:var(--sand)}.map-legend{position:absolute;z-index:2;bottom:22px;left:22px;background:var(--forest);padding:.65rem 1rem;font-size:.7rem;display:flex;gap:1rem}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--sand);border:1px solid}.dot.verified{background:var(--orange)}.map-alt{margin-top:1rem;border:1px solid #ffffff30;padding:1rem}.map-alt a{color:var(--orange)}.catalog{background:var(--sand)}.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:.8rem;align-items:end}.filters label{display:grid;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:800;gap:.35rem}.filters input,.filters select{min-width:0;width:100%;border:1px solid #1b2b2260;background:#fffaf0;padding:.8rem;border-radius:2px;color:var(--ink)}.filters .check{display:flex;flex-direction:row;align-items:center;padding:.8rem;background:#fffaf0;border:1px solid #1b2b2260}.filters .check input{width:auto}.results{margin:2rem 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.card{position:relative;min-height:390px;background:var(--forest);color:var(--sand);padding:1.6rem;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 20px transparent;transition:.25s}.card:before{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff18;border-radius:45%;right:-100px;top:-100px;box-shadow:0 0 0 18px #ffffff08,0 0 0 40px #ffffff05}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card .num{font:900 4rem/1 Impact;color:#ffffff15}.card h3{font-size:1.55rem;margin:.3rem 0}.card .place{color:#bdc9be;font-size:.86rem}.grade-badge{position:absolute;right:1.3rem;top:1.3rem;background:var(--orange);color:var(--deep);font-weight:900;padding:.45rem .65rem}.card dl{display:flex;gap:1.4rem;margin:auto 0 1rem}.card dt{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#aebbb0}.card dd{margin:0;font-weight:800}.tags{display:flex;gap:.4rem;flex-wrap:wrap}.tags span{font-size:.65rem;border:1px solid #ffffff30;padding:.25rem .45rem}.card-actions{display:flex;gap:.5rem;margin-top:1.2rem}.card-actions button{border:0;padding:.65rem .8rem;cursor:pointer}.detail-btn{background:var(--sand);color:var(--forest);font-weight:800;flex:1}.heart{background:transparent!important;color:white;border:1px solid #ffffff40!important}.heart.active{color:var(--orange)}.data-note{max-width:900px;margin:3rem auto 0;font-size:.8rem;border-left:3px solid var(--rust);padding-left:1rem}.grade-track{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:4rem}.grade-track article{background:#ffffff0c;padding:1.5rem;min-height:270px;border-top:6px solid var(--moss)}.grade-track article:nth-child(2){border-color:#8aa34e}.grade-track article:nth-child(3){border-color:#e1a536}.grade-track article:nth-child(4){border-color:#d76b32}.grade-track article:nth-child(5){border-color:#a9312b}.grade-track article>b{font:900 5rem Impact}.grade-track h3{font-size:1.1rem}.school{background:var(--deep)}.lesson-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;margin-top:4rem}.cable-demo{position:sticky;top:2rem;height:430px;background:#14271e;overflow:hidden}.wire{position:absolute;left:12%;right:12%;top:50%;height:8px;background:#bbb;box-shadow:0 4px 8px #000}.anchor{position:absolute;z-index:2;left:49%;top:35%;height:130px;width:15px;background:#777;border-radius:8px}.clips{position:absolute;top:51%;left:22%;display:flex;gap:20px}.clips i{display:block;width:28px;height:50px;border:6px solid var(--orange);border-radius:45%;transition:transform 1s}.cable-demo.play .clips i:first-child{transform:translateX(230px)}.cable-demo.play .clips i:last-child{transform:translateX(190px);transition-delay:.8s}.cable-demo button{position:absolute;bottom:1rem;left:1rem;z-index:4;background:var(--orange);border:0;padding:.7rem}.steps article{border-top:1px solid #ffffff25;padding:1.4rem 0;display:grid;grid-template-columns:60px 1fr}.steps span{color:var(--orange);font-weight:800}.steps h3,.steps p{grid-column:2;margin:.1rem 0}.safety-quiz{margin-top:5rem;background:var(--sand);color:var(--forest);padding:2rem}.safety-quiz button{padding:.7rem;margin:.3rem;background:transparent;border:1px solid var(--forest);cursor:pointer}.safety-quiz button:hover{background:var(--orange)}.gear-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:5vw}.gear-list{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.gear-item{display:flex;gap:1rem;align-items:center;padding:1rem;border:1px solid #1c2c2240;background:#fff8eb;cursor:pointer}.gear-item input{width:22px;height:22px;accent-color:var(--forest)}.gear-item b{display:block}.gear-item small{display:block;color:#59675e}.gear-ring{width:190px;aspect-ratio:1;border-radius:50%;border:18px solid var(--orange);display:grid;place-content:center;text-align:center;margin:auto}.gear-ring b{font:900 3rem Impact}.gear-ring span{text-transform:uppercase;font-size:.65rem}.ghost{display:block;background:transparent;border:1px solid;margin:1rem auto;padding:.6rem}.planner{background:var(--orange)}.planner .section{padding-top:7rem;padding-bottom:7rem}.planner form{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;background:var(--forest);color:white;padding:2rem}.planner label{display:grid;gap:.4rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.planner input,.planner select,.planner textarea{padding:.8rem;background:#fff;border:0;color:var(--ink)}.planner .wide{grid-column:1/-1}.planner form button{grid-column:1/-1}.weather{margin-top:3rem}.weather>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.weather span{font-size:1.2rem;border-top:2px solid;padding:1rem 0}.weather small{display:block;font-size:.8rem}.history{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw}.timeline article{border-left:2px solid var(--orange);padding:0 0 2rem 2rem;position:relative}.timeline article:before{content:"";position:absolute;left:-7px;top:0;width:12px;height:12px;background:var(--orange);border-radius:50%}.timeline b{font:900 2rem Impact}.safety{background:var(--forest);color:var(--sand);display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw}.safety h2{color:var(--sand)}.safety-number{display:grid;align-content:center}.safety-number span{letter-spacing:.2em}.safety-number a{font:900 clamp(5rem,12vw,10rem)/.75 Impact;text-decoration:none;color:var(--orange)}footer{background:var(--deep);color:var(--sand);padding:4rem 5vw;display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:center}footer nav{display:flex;gap:1rem}footer small{grid-column:1/-1;color:#a8b2aa;border-top:1px solid #ffffff20;padding-top:1rem}dialog{width:min(880px,94vw);max-height:90vh;border:0;background:var(--sand);color:var(--forest);padding:clamp(1.5rem,5vw,4rem);box-shadow:var(--shadow)}dialog::backdrop{background:#07130ee8;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:1rem;top:1rem;border:0;background:var(--forest);color:#fff;font-size:1.8rem;width:42px;height:42px}.detail-hero h2{font:900 clamp(3rem,8vw,6rem)/.85 Impact;margin:.2em 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.detail-grid dl{display:grid;grid-template-columns:1fr 1fr}.detail-grid dd{margin:0 0 1rem;font-weight:700}.source-box{background:var(--forest);color:white;padding:1rem}.source-box a{color:var(--orange)}#toast{position:fixed;z-index:100;left:50%;bottom:-100px;transform:translateX(-50%);background:var(--deep);color:#fff;padding:.8rem 1rem;transition:.3s}#toast.show{bottom:1.5rem}.reveal{opacity:0;transform:translateY(25px);transition:.6s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.top nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--deep);padding:2rem;flex-direction:column}.top nav.open{display:flex}.menu{display:block;margin-left:auto;background:transparent;color:#fff;border:1px solid var(--line);padding:.55rem}.fav-open{margin-left:.6rem}.intro,.history,.lesson-grid,.safety{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.filters{grid-template-columns:2fr 1fr 1fr}.grade-track{grid-template-columns:1fr 1fr}.cable-demo{position:relative;top:0}.planner form{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}.hero-bg{background-position:62% center}.hero h1{font-size:clamp(4rem,13vw,7rem)}}
@media(max-width:600px){.top{height:68px}.brand{min-width:105px}.brand b{font-size:17px}.hero-copy{padding-top:100px}.hero h1{font-size:clamp(3.5rem,18vw,5.7rem)}.hero-search>div{display:grid}.hero-stats{gap:1rem}.ticker{justify-content:flex-start;overflow:auto;white-space:nowrap}.section-head{display:block}.cards,.filters,.gear-list,.gear-layout,.detail-grid,.weather>div{grid-template-columns:1fr}.grade-track{display:block}.grade-track article{min-height:0;margin-bottom:2px}.map-legend{position:static}.planner form{grid-template-columns:1fr}.planner form>*{grid-column:1!important}.safety-number{margin-bottom:2rem}footer{grid-template-columns:1fr}footer small{grid-column:1}.card{min-height:350px}.hero-bg{background-position:67% center}.lead{max-width:85%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
