:root{--ink:#1b302e;--sub:#51635c;--green:#164d3f;--green2:#265f50;--cream:#fbf9f4;--line:#e1e4d9;--sand:#eee9db;--gold:#e7ab47;--shadow:0 16px 48px rgba(26,47,41,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e7ab47;outline-offset:3px}a{color:inherit}.wrap{width:min(1190px,calc(100% - 48px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;z-index:10;top:-100px;background:#fff;padding:10px;left:20px}.skip:focus{top:10px}.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9}.head-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:10px;text-align:left;font-size:23px;font-weight:750;letter-spacing:-1px;line-height:1}.brand b{color:#547667;font-weight:750}.brand small{font-size:9px;display:block;letter-spacing:2px;line-height:2.2;color:#678071}.logo-mark{width:42px;height:42px;background:var(--green);border-radius:12px;color:#ffd484;display:grid;place-items:center;font-size:30px;font-weight:400;transform:rotate(-6deg)}.main-nav{display:flex;align-items:center;gap:22px}.main-nav button{border:0;border-bottom:2px solid transparent;background:transparent;padding:31px 2px 27px;color:#697671;font-size:13px;font-weight:700;white-space:nowrap}.main-nav button:hover,.main-nav button.active{color:var(--green);border-color:#c28e3c}.learner{display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:20px;background:#f6f7f1;padding:5px 7px 5px 14px}.learner select{color:var(--ink);max-width:150px;min-width:105px;border:0;background:transparent;font-weight:700;font-size:13px;padding:6px}.add-learner{border:0;background:#e7ece5;border-radius:100%;width:30px;height:30px;color:var(--green)}.view{animation:fadein .18s ease}[hidden]{display:none!important}@keyframes fadein{from{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:none}}.hero{padding:66px 0 44px;display:grid;grid-template-columns:1fr 1.08fr;gap:5%;align-items:center}.eyebrow,.small-title{font-size:11px;font-weight:850;letter-spacing:2px;color:#8a6641}.spark{color:#c39a53;font-size:17px}.hero h1,.page-title{font:750 clamp(48px,5vw,77px)/1.085 Georgia,"Times New Roman",serif;letter-spacing:-2.7px;margin:20px 0 22px;color:#243a32}.hero h1 em,.page-title em,.safety-card h2 em{color:#ad8b55;font-weight:400}.hero-copy>p,.lede{font-size:18px;color:var(--sub);max-width:485px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:9px;padding:14px 21px;font-weight:750;border:1px solid transparent}.btn.primary{background:var(--green);color:#fff;box-shadow:0 7px 18px #164d3f19}.btn.primary:hover{background:#286452}.btn.outline{background:#fff;border-color:#b5c8bc;color:var(--green)}.btn.outline:hover{background:#f1f8f3}.btn.secondary{background:#e9efea;color:var(--green)}.btn:disabled{opacity:.45;cursor:not-allowed}.micro{font-size:12px;line-height:1.7;color:#7a8177}.house-card{background:#e5efe8;border:1px solid #c9d9d0;border-radius:19px;box-shadow:var(--shadow);overflow:hidden}.house-head{padding:21px 25px 6px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#426354;letter-spacing:1.4px;font-size:11px;font-weight:900}.house-head small{letter-spacing:normal;color:#6c8a79;font-size:11px}.house-scene{position:relative;height:320px;overflow:hidden;background:radial-gradient(ellipse at 75% 15%,#f4faf3 0,#e5efe8 64%);isolation:isolate}.sky-star{position:absolute;color:#90b8a1;font-size:29px}.s1{left:18%;top:8%}.s2{right:14%;top:22%}.roof-shape{position:absolute;left:21%;top:20%;width:59%;height:36%;background:repeating-linear-gradient(10deg,#8f6350 0 14px,#986b54 14px 17px);clip-path:polygon(50% 0,100% 92%,95% 100%,5% 100%,0 92%);z-index:2}.roof-trim{position:absolute;left:21%;top:20%;width:59%;height:36%;clip-path:polygon(50% 0,100% 92%,95% 100%,50% 12%,5% 100%,0 92%);box-shadow:inset 0 -10px #704e40;z-index:3;pointer-events:none}.house-body{position:absolute;left:27%;top:51%;height:43%;width:47%;background:#e9d8b8;border:7px solid #d7bb91;box-shadow:12px 12px 0 #bbcabb;z-index:1}.wall-lines{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 33px,#c6ae88 34px 36px,transparent 37px 68px);opacity:.35}.window{position:absolute;left:10%;top:18%;height:54%;width:29%;background:#99bbc1;border:7px solid #fff5da;display:grid;grid-template-columns:1fr 1fr;gap:3px;z-index:2}.window div{background:#a3c9cb}.door{position:absolute;right:12%;top:30%;width:29%;height:70%;background:#467465;border:6px solid #f5e7cb;z-index:2;display:flex;align-items:center;justify-content:flex-end;color:#e8c389;padding:5px}.ground-line{position:absolute;bottom:4%;left:13%;right:11%;height:7%;background:#bdd3bd;border-radius:50%}.house-pin{position:absolute;z-index:4;border:1px solid #ffffffb0;background:#fffef1ed;box-shadow:0 5px 14px #4d665535;border-radius:9px;padding:9px 11px;color:#365449;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;transition:transform .14s}.house-pin:hover{transform:translateY(-3px);background:#fff}.roof-pin{right:5%;top:25%}.frame-pin{left:3%;top:48%}.water-pin{left:6%;bottom:8%}.power-pin{right:3%;bottom:17%}.house-footer{border-top:1px solid #cbdccf;padding:17px 24px;background:#edf5ec;color:#647c6c;font-size:12px;display:flex;gap:9px;align-items:center}.tiny-dot{display:block;width:8px;height:8px;background:#8dad8e;border-radius:50%}.stats-row{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0 30px;gap:20px}.stat{display:flex;align-items:center;gap:18px;justify-content:center;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{font-size:39px;line-height:1;white-space:nowrap;color:var(--green);letter-spacing:-2px}.stat strong i{font-style:normal;font-size:17px;color:#96a49a;letter-spacing:0}.stat b{font-size:11px;letter-spacing:1.4px;display:block}.stat small{display:block;color:#91a098;font-size:12px;margin-top:4px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:52px 0 25px}.section-heading h2{font:700 clamp(30px,3.2vw,42px)/1.17 Georgia,serif;letter-spacing:-1px;margin:8px 0 0}.section-heading>p{text-align:right;color:#7a857c;font-size:13px}.section-heading>p strong{color:#4f685c}.trade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trade-card{display:flex;flex-direction:column;min-height:222px;text-align:left;padding:25px;border:1px solid var(--line);background:#fff;border-radius:13px;box-shadow:0 6px 20px #2f55400b;transition:transform .15s,box-shadow .15s}.trade-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.trade-card .path{color:#83978b;letter-spacing:1.4px;font-size:10px;font-weight:800}.trade-card .trade-icon{margin:15px 0 8px;width:47px;height:47px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 17%,white);font-size:26px}.trade-card strong{font:750 25px/1.2 Georgia,serif;margin:0 0 6px}.trade-card p{color:#687a6f;margin:0 0 auto;font-size:14px}.trade-card .card-foot{margin-top:20px;display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:12px;font-weight:800}.progress-track{background:#e3e8dd;height:6px;border-radius:8px;overflow:hidden;margin-top:12px}.progress-fill{height:100%;background:var(--accent,var(--green));border-radius:8px}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin:42px 0 70px}.circuit-card,.safety-card{border-radius:18px;padding:30px;background:#f0f3e8;border:1px solid #d9e1d2}.circuit-card h2,.safety-card h2{font:700 30px/1.16 Georgia,serif;letter-spacing:-.5px;margin:12px 0}.circuit-card p,.safety-card p{font-size:14px;color:var(--sub)}.safety-card{background:#194e41;color:#fff;border-color:#194e41;display:flex;flex-direction:column;justify-content:center}.safety-card .small-title{color:#d9bc8c}.safety-card h2{font-size:33px}.safety-card p{color:#d2e1d6;line-height:1.8}.safety-card .text-link{color:#ffe1a8}.text-link{background:none;border:0;padding:6px 0;text-align:left;font-size:14px;color:var(--green);font-weight:800}.text-link:hover{text-decoration:underline}.circuit-demo{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:24px}.component{width:65px;min-height:79px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:32px}.component small{font-size:11px;color:#678071;font-weight:800}.component.switch{background:#fff;border:2px solid #b2c7b7;border-radius:12px;color:var(--green)}.component.switch.closed{background:#c8e4bc;border-color:#51965d}.component.lamp.lit{filter:drop-shadow(0 0 13px #f8b629)}.wire{height:6px;min-width:60px;flex:1;position:relative;border:0;background:repeating-linear-gradient(90deg,#a4b5ac 0 8px,transparent 8px 12px);padding:0}.wire span{font-size:9px;line-height:1.15;position:absolute;top:-31px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#65786c;font-weight:800}.wire.connected{background:#7eaf75}.wire.connected span{color:#26684b}.circuit-note{border-radius:8px;background:#fff;padding:9px 12px;min-height:42px}.site-foot{border-top:1px solid var(--line);padding:22px 0 32px;display:flex;justify-content:space-between;color:#849188;font-size:12px}.site-foot b{color:#426557;letter-spacing:1.4px}.site-foot small{display:block;margin-top:3px}.back{border:0;background:transparent;padding:35px 0 10px;color:#4f7765;font-weight:750}.page-title{font-size:60px;margin:10px 0 22px}.lede{max-width:790px}.path-hero{padding:28px 34px;background:var(--accent-soft);border-radius:20px;display:flex;gap:30px;align-items:center;border:1px solid var(--line)}.path-emblem{font-size:68px}.path-hero h1{font:700 clamp(34px,4vw,52px) Georgia,serif;margin:8px 0}.path-hero p{margin:0;color:var(--sub)}.path-missions{margin:24px 0 75px;display:grid;gap:14px}.mission-card{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);padding:21px 24px;border-radius:13px}.mission-num{flex:0 0 46px;height:46px;background:#ebf2e9;border-radius:12px;display:grid;place-items:center;color:var(--green);font-weight:900}.mission-card .mission-copy{flex:1}.mission-card h3{margin:0 0 4px;font:700 23px Georgia,serif}.mission-card p{font-size:14px;color:var(--sub);margin:0}.mission-card small{color:#76897d}.complete-mark{color:#2c8063;font-weight:800}.lesson-panel{max-width:880px;margin:16px auto 80px;background:#fff;border-radius:20px;border:1px solid var(--line);padding:37px;box-shadow:var(--shadow)}.lesson-panel h1{font:700 clamp(33px,4vw,49px) Georgia,serif;line-height:1.17;margin:8px 0 16px}.lesson-panel .intro{font-size:18px;color:var(--sub)}.lesson-label{color:#8a6641;font-size:12px;font-weight:900;letter-spacing:1px}.learn-list{padding-left:25px;line-height:1.9;color:#465d51}.info-box{background:#f3f6ef;border-left:4px solid #6ca78c;padding:13px 18px;margin:18px 0;color:#455c50;font-size:14px}.info-box.warn{border-color:#d5a35b;background:#fcf7ed}.lesson-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.quiz-step{font-size:12px;color:#7d8a80;font-weight:800;letter-spacing:1px}.quiz-progress{height:7px;background:#e8eee7;border-radius:7px;margin:15px 0 25px;overflow:hidden}.quiz-progress>div{height:100%;background:#6b9f7b}.quiz-question{font:700 29px/1.24 Georgia,serif;margin:10px 0 26px}.options{display:grid;gap:10px}.answer{width:100%;text-align:left;display:flex;align-items:center;gap:13px;border:2px solid #dfe7dc;border-radius:11px;background:#fff;padding:15px;color:var(--ink);font-weight:650}.answer .answer-letter{height:30px;width:30px;flex-shrink:0;border-radius:7px;display:grid;place-items:center;background:#eef3eb;font-weight:850;color:#557365}.answer:hover:not(:disabled){background:#f7fbf5;border-color:#9bbfa7}.answer.correct{border-color:#64aa75;background:#eef9ef}.answer.incorrect{border-color:#d6a486;background:#fff5ee}.answer:disabled{cursor:default;opacity:.82}.feedback{margin-top:22px;padding:19px;border-radius:12px;border:1px solid #d8e7d4;background:#f1f9ef}.feedback.incorrect{background:#fff5ee;border-color:#eed7c5}.feedback strong{display:block}.feedback p{margin:6px 0 15px;color:#4a6252}.award{font-size:70px;text-align:center}.result{text-align:center}.result>p{max-width:600px;margin:10px auto 24px;color:var(--sub)}.result .lesson-actions{justify-content:center}.result .earned{color:#257456;font-weight:900;font-size:24px}.progress-hero{padding:40px 0 10px}.progress-hero h1,.badges-hero h1{font:700 50px Georgia,serif;margin:8px 0 10px}.progress-hero p,.badges-hero p{color:var(--sub)}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.progress-summary article{padding:25px;background:white;border:1px solid var(--line);border-radius:13px}.progress-summary strong{font:700 37px Georgia,serif;display:block}.progress-summary small{color:var(--sub)}.path-progress-list{display:grid;gap:14px;margin-bottom:25px}.path-progress-list article{padding:20px;background:#fff;border:1px solid var(--line);border-radius:12px}.path-progress-list .top{display:flex;justify-content:space-between;font-weight:750}.report-actions{display:flex;gap:12px;margin:24px 0 65px;flex-wrap:wrap}.badges-hero{padding:37px 0 22px}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:70px}.badge-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:15px;text-align:center}.badge-card.locked{filter:grayscale(1);opacity:.67}.badge-medal{font-size:55px;display:grid;place-items:center;width:100px;height:100px;background:#e4f0e7;margin:0 auto 15px;border-radius:50%;border:6px double #b8cfbd}.badge-card h3{font:700 24px Georgia,serif;margin:0 0 8px}.badge-card p{font-size:13px;color:var(--sub);margin:0}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin:35px 0}.guide-grid article{background:#fff;border:1px solid var(--line);padding:26px;border-radius:13px}.guide-grid span{letter-spacing:1.5px;font-weight:850;font-size:11px;color:#7a947e}.guide-grid h3{font:700 24px Georgia,serif;margin:12px 0}.guide-grid p{color:var(--sub)}.guide-callout{padding:25px;background:#fbecdc;border-radius:13px;border:1px solid #e8d4b6}.guide-callout p{color:#725d4b;margin-bottom:0}.glossary{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:0 0 70px}.glossary article{padding:20px;background:#f0f3eb;border-radius:12px}.glossary p{margin:6px 0 0;color:var(--sub);font-size:14px}.profile-dialog{width:min(550px,calc(100% - 30px));border:1px solid var(--line);border-radius:18px;padding:0;box-shadow:0 18px 70px #11251d55}.profile-dialog::backdrop{background:#071e18a8}.dialog-inner{padding:30px}.dialog-inner h2{font:700 32px Georgia,serif;margin:10px 0}.dialog-inner>p{color:var(--sub)}.dialog-close{float:right}.close-x{border:0;background:#edf2ed;border-radius:100%;width:36px;height:36px;font-size:26px}.profile-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.profile-row b{flex:1}.profile-row button{padding:5px 10px;border:1px solid #dce5dc;border-radius:7px;background:#fff;color:var(--green)}.profile-row button.remove{color:#9c4d36}.form-row{display:flex;gap:9px;margin:8px 0}.dialog-inner label{display:block;font-weight:800;margin-top:24px}.form-row input{flex:1;min-width:0;border:1px solid #b8caba;border-radius:8px;padding:10px}.form-row .btn{white-space:nowrap}#profileError{color:#b1412a;display:block}.print-only{display:none}@media(max-width:1050px){.head-inner{gap:10px}.main-nav{gap:12px}.hero{gap:25px}.hero h1{font-size:56px}.trade-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.wrap{width:min(100% - 28px,650px)}.site-head{position:static}.head-inner{flex-wrap:wrap;padding:13px 0;row-gap:9px}.brand{font-size:19px}.logo-mark{width:36px;height:36px}.main-nav{width:100%;order:3;overflow:auto;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.main-nav button{padding:12px 0;font-size:12px}.learner select{max-width:115px}.hero{grid-template-columns:1fr;padding:34px 0 26px}.hero h1{font-size:clamp(47px,10vw,63px);margin:13px 0}.hero-copy>p{font-size:16px}.house-scene{height:290px}.house-head{padding:16px 17px 4px}.stats-row{gap:8px;padding:17px 0}.stat{display:block;text-align:center}.stat strong{font-size:29px}.stat strong i{font-size:13px}.stat b{font-size:9px;letter-spacing:.4px}.stat small{font-size:10px}.section-heading{margin-top:37px}.bottom-grid,.guide-grid{grid-template-columns:1fr}.site-foot{gap:18px}.glossary{grid-template-columns:repeat(2,1fr)}.badge-grid{grid-template-columns:repeat(2,1fr)}.lesson-panel{padding:22px}.path-hero{padding:22px}.path-emblem{font-size:42px}}@media(max-width:510px){.trade-grid,.badge-grid{grid-template-columns:1fr}.trade-card{min-height:180px}.hero-actions{flex-wrap:wrap}.house-pin{font-size:11px;padding:7px}.house-scene{height:265px}.house-head small{display:none}.stat{min-width:0}.stat strong{font-size:23px}.stats-row{gap:3px}.stats-row .stat:first-child{text-align:left}.stats-row .stat:last-child{text-align:right}.section-heading>p{display:none}.mission-card{flex-wrap:wrap}.mission-card .btn{width:100%}.progress-summary{gap:5px}.progress-summary article{padding:13px}.progress-summary strong{font-size:27px}.path-hero{gap:12px}.guide-grid,.glossary{grid-template-columns:1fr}.circuit-demo .component{width:45px;font-size:23px}.wire{min-width:25px}.wire span{font-size:8px}.page-title{font-size:48px}.lesson-panel{padding:18px}.quiz-question{font-size:25px}.site-foot{display:block}.site-foot>span{display:block;margin-top:8px}.form-row{flex-wrap:wrap}}@media print{.site-head,.site-foot,main,.profile-dialog,.skip{display:none!important}body{background:white;color:#111;font:12pt Georgia,serif}.print-only{display:block!important;margin:30px}h1{font-size:27pt}.print-only .report-row{padding:8px 0;border-bottom:1px solid #ccc}.print-only small{color:#444}.print-only .report-note{margin-top:40px;font-size:10pt;color:#555}}