:root{--paper:#f3f1e4;--ink:#163c3f;--muted:#516b65;--teal:#1a655d;--gold:#f4c75b;--orange:#ca623d;--line:#cbd3bf;--dark:#123439;font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}img{max-width:100%;display:block}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}a:hover{color:var(--teal)}.wrap{max-width:1232px;margin:auto;padding:0 44px}.skip{position:fixed;top:-100px;left:12px;background:var(--gold);z-index:100;padding:12px}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-weight:900;letter-spacing:-.5px;line-height:1.08}.brand svg{width:35px;height:39px;flex-shrink:0}.brand small{font-size:9px;font-weight:750;letter-spacing:2px;display:block;margin-top:5px;color:var(--muted)}.header nav{display:flex;gap:25px;align-items:center;font-size:12px;font-weight:750}.header nav a{text-decoration:none}.header .nav-parent{padding:10px 15px;border:1px solid var(--ink);border-radius:6px}.hero{display:grid;grid-template-columns:.92fr 1.15fr;align-items:center;gap:20px;padding-top:55px;padding-bottom:50px;min-height:605px}.hero h1{font-family:'Arial Black',Inter,system-ui,sans-serif;font-size:clamp(48px,5.5vw,78px);font-weight:950;letter-spacing:-4px;line-height:.98;margin:0 0 25px}.hero h1 span{color:var(--teal)}.hero .lead{font-size:17px;line-height:1.7;max-width:400px;color:var(--muted);margin:0 0 23px}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:13px;align-items:center;justify-content:center;background:var(--ink);color:#fff7dc;border-radius:7px;text-decoration:none;padding:16px 22px;font-size:13px;font-weight:800;border:0;min-height:48px}.button:hover{background:var(--teal);color:white}.button svg,.arrow{width:17px;height:17px;flex:none}.button.gold{background:var(--gold);color:var(--ink);box-shadow:0 3px 0 #b99230}.button.gold:hover{background:#ffdb80}.text-link{font-weight:750;font-size:13px}.hero .small-note{font-size:11px;color:var(--muted);margin-top:18px;line-height:1.7}.scene{position:relative;background:#234e4e;border-radius:26% 6% 24% 7%;padding:5px;transform:rotate(-2deg);box-shadow:18px 20px 0 #dce2cf;overflow:hidden}.scene img{width:100%;height:auto;aspect-ratio:1.18;object-fit:cover;transform:rotate(2deg) scale(1.04)}.scene-caption{position:absolute;bottom:24px;left:26px;right:26px;display:flex;justify-content:space-between;gap:10px;color:#e7f4e9;font-size:10px;font-weight:800;letter-spacing:1.1px;transform:rotate(2deg)}.scene-caption span:last-child{color:#ffcf60}.manifesto{background:var(--ink);color:var(--paper)}.manifesto .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;padding-top:37px;padding-bottom:37px;align-items:center}.manifesto h2{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:0}.manifesto h2 span{color:var(--gold)}.manifesto p{font-size:14px;line-height:1.8;color:#c8dbd0;margin:0}.section{padding-top:82px;padding-bottom:20px;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:31px}.section h2{font-size:clamp(30px,3.7vw,45px);letter-spacing:-1.8px;line-height:1.08;margin:0}.section-head p{max-width:400px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.section-no{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--orange);margin-bottom:11px;display:block}.journey{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:35px}.journey div{padding:21px 20px 22px 0}.journey div+div{padding-left:26px;border-left:1px solid var(--line)}.journey strong{font-size:16px}.journey p{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 0}.history-table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.table-scroll{overflow-x:auto}.history-table th{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;border-bottom:2px solid var(--ink);padding:14px 18px 14px 0}.history-table td{border-bottom:1px solid var(--line);padding:23px 18px 23px 0;line-height:1.6;vertical-align:top}.history-table td:first-child{min-width:145px}.history-table td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.history-table td:last-child{min-width:130px;padding-right:0}.history-table .version-link{white-space:nowrap;color:var(--teal);font-weight:800}.history-table .empty{color:var(--muted);text-align:center;padding:33px 18px;background:#e9eddf}.history-foot{font-size:12px;color:var(--muted);line-height:1.8;margin-top:16px}.session{display:grid;grid-template-columns:1fr 1fr;gap:25px}.session article{background:#e4e8d9;overflow:hidden;border-radius:10px;border:1px solid var(--line)}.session article img{aspect-ratio:1.75;width:100%;height:auto;object-fit:cover;background:var(--ink)}.session .body{padding:25px}.session .number{font-size:10px;letter-spacing:1.3px;font-weight:800;color:var(--orange)}h3{font-size:23px;letter-spacing:-.7px;line-height:1.15;margin:11px 0}.session p{font-size:13px;line-height:1.75;color:var(--muted);min-height:67px;margin:12px 0 20px}.recap{display:flex;gap:22px;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.recap p{margin:0;max-width:750px;color:var(--muted)}.recap strong{color:var(--ink)}.path{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:35px}.path article{border-top:2px solid var(--teal);padding:22px 0}.path .step{font-size:37px;color:#8aab97;font-weight:900;line-height:1}.path h3{font-size:19px;margin:15px 0 11px}.path p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 12px}.resources{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin-top:17px;border-top:1px solid var(--line)}.resources a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}.resources a strong{font-size:15px}.resources a small{font-size:11px;line-height:1.6;color:var(--muted);display:block;margin-top:5px}.resources a:hover{transform:translateX(3px)}.resources .arrow{width:20px}.roles{margin-top:35px;padding:28px;background:#e1e6d6;border-radius:10px;font-size:14px;line-height:1.75}.roles p{margin:0 0 12px;color:var(--muted)}.roles strong{color:var(--ink)}.roles span{font-size:11px;font-weight:750;display:inline-block;margin-right:14px;margin-top:8px;color:var(--teal)}.qa{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.qa details{border-bottom:1px solid var(--line);padding:19px 0}.qa summary{cursor:pointer;font-size:14px;font-weight:800;line-height:1.6}.qa details p{font-size:13px;line-height:1.85;color:var(--muted);padding-right:14px}.parents{margin-top:72px;background:var(--dark);color:var(--paper)}.parents .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;padding-top:65px;padding-bottom:58px}.parents h2{font-size:41px;letter-spacing:-1.6px;line-height:1.08;margin:0 0 20px}.parents p{color:#c9dbd0;font-size:14px;line-height:1.9}.parents strong{color:#fff0c6}.parents .button{margin-top:14px}.parents .secondary{color:#e4f1df;font-size:13px;font-weight:750;display:inline-block;margin-top:22px}.parents .secondary:hover{color:var(--gold)}.parents .age-note{font-size:11px;line-height:1.8;max-width:460px;color:#aac5b8}.take-home{display:flex;align-items:center;gap:24px;border-top:1px solid #507169;padding-top:24px;margin-top:26px}.take-home img{width:90px;height:90px;background:white;border:7px solid white;border-radius:5px}.take-home p{font-size:12px;margin:0}.take-home code{font:12px monospace;color:#ffda88;overflow-wrap:anywhere}.footer{padding:27px 0;display:flex;justify-content:space-between;gap:28px;font-size:10px;color:var(--muted);line-height:1.8}.footer a{margin-right:15px}.notes{max-width:760px;margin:40px auto;padding:0 25px}.notes h1{font-size:42px;letter-spacing:-2px}.notes h2{font-size:25px;margin-top:40px}.notes p{line-height:1.8}.notes .back{font-size:13px}.noscript{background:var(--gold);padding:12px 18px;font-size:13px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:30px;max-width:650px;width:90%}dialog::backdrop{background:#123439aa}dialog p{font-size:14px;line-height:1.8}dialog button{float:right} @media(max-width:960px){.wrap{padding-left:28px;padding-right:28px}.header nav{gap:15px;font-size:11px}.hero{min-height:545px}.hero h1{letter-spacing:-2.5px}.hero .lead{font-size:15px}.parents .wrap{gap:35px}.path{gap:18px}} @media(max-width:720px){.wrap{padding-left:21px;padding-right:21px}.header{align-items:start;gap:15px;padding-top:20px;padding-bottom:18px;flex-wrap:wrap}.header nav{gap:18px;flex-wrap:wrap;font-size:11px}.header .nav-parent{padding:0;border:0}.brand{font-size:14px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:33px;padding-top:39px;padding-bottom:45px}.hero h1{font-size:58px;letter-spacing:-3px}.hero .lead{font-size:15px;max-width:100%}.scene{margin-right:10px;margin-bottom:12px}.scene img{aspect-ratio:1.35}.scene-caption{bottom:16px;left:20px;right:20px;font-size:8px}.manifesto .wrap{display:block;padding-top:30px;padding-bottom:30px}.manifesto h2{font-size:27px;margin-bottom:18px}.manifesto p{font-size:13px}.section{padding-top:54px}.section-head{display:block;margin-bottom:24px}.section-head p{margin-top:16px;font-size:13px}.section h2{font-size:34px;letter-spacing:-1px}.journey{grid-template-columns:1fr}.journey div,.journey div+div{padding:16px 0;border:0}.journey div+div{border-top:1px solid var(--line)}.session{grid-template-columns:1fr}.session p{min-height:0}.recap{align-items:start;flex-direction:column;gap:12px}.path{grid-template-columns:1fr 1fr;gap:14px 23px}.path h3{font-size:17px}.path p{font-size:12px}.path .step{font-size:31px}.resources{grid-template-columns:1fr}.roles{padding:20px;font-size:13px}.qa{grid-template-columns:1fr}.parents{margin-top:47px}.parents .wrap{display:block;padding-top:40px;padding-bottom:36px}.parents h2{font-size:34px}.parents p{font-size:13px}.parents .contact{margin-top:30px}.footer{flex-direction:column;gap:10px}.history-table{font-size:12px}.history-table th:nth-child(3),.history-table td:nth-child(3){display:none}.history-table td:first-child{min-width:108px}.history-table td:last-child{min-width:88px}.history-table th,.history-table td{padding-right:13px}.take-home{gap:16px}.take-home code{font-size:11px}.take-home img{width:79px;height:79px}.button{padding:14px 18px;font-size:12px}.hero .actions{gap:18px}} @media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{animation:none!important;transition:none!important}} @media print{.header nav,.button,.hero .actions,.scene,.session img,.take-home img{display:none}.wrap{padding:0;max-width:none}.hero,.manifesto .wrap,.parents .wrap{display:block;min-height:0;padding:20px 0}.manifesto,.parents{color:var(--ink);background:white}.parents p,.manifesto p{color:var(--ink)}.section{padding-top:25px}.hero h1{font-size:40px}.section h2,.parents h2{font-size:28px}body{background:white}.qa details p{display:block}.footer{padding-top:15px}}

/* Keep scene credits inside the curved image edge at all widths. */
.scene-caption{bottom:34px;right:70px;flex-wrap:wrap;row-gap:5px}.scene-caption span{white-space:nowrap}@media(max-width:720px){.scene-caption{bottom:25px;left:24px;right:45px;font-size:7px}}
