:root{--paper:#faf3e3;--forest:#123e2d;--lime:#c4ee25}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--forest);font:17px/1.6 system-ui,sans-serif}h1,h2,h3{font-family:Georgia,serif;line-height:1.12;margin:0 0 18px}h1{font-size:clamp(42px,5vw,74px);letter-spacing:-2px}h2{font-size:clamp(30px,3vw,44px)}h3{font-size:27px}a{color:inherit}header{border-bottom:2px solid var(--lime)}nav{max-width:1320px;margin:auto;padding:22px 30px;display:flex;align-items:center;flex-wrap:wrap;gap:24px}nav a{text-decoration:none;font-size:14px;font-weight:800}.brand{margin-right:auto;letter-spacing:-.5px;font-size:18px}.button{display:inline-block;background:var(--lime);color:#102d20;border:1.5px solid var(--forest);padding:12px 20px;border-radius:7px;text-decoration:none;font:800 16px/1.35 system-ui;cursor:pointer}.outline{background:transparent}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:25px;padding:45px 30px}.hero img{width:100%;min-height:430px;object-fit:cover;object-position:65% center;border-radius:5px}.hero p{font-size:20px}.eyebrow{font:800 12px/1.5 system-ui!important;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px}small{display:block;font-size:13px}.motto{background:var(--forest);color:var(--paper);text-align:center;padding:22px;font-size:clamp(22px,3vw,36px);font-weight:900;font-style:italic}.motto strong{color:var(--lime)}.wrap{max-width:1240px;margin:auto;padding:60px 30px}.wrap>h2{text-align:center}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}.three article{text-align:center;padding:20px}.assembly{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.assembly img{width:100%;border-radius:5px}.assembly .portrait{max-height:550px;object-fit:cover;object-position:center}.books img{height:350px;max-width:100%;object-fit:contain}.books .eyebrow{margin:18px 0}.titlecover{height:350px;max-width:280px;background:var(--forest);color:var(--paper);display:flex;flex-direction:column;justify-content:center;padding:25px;margin:auto}.titlecover small{color:var(--lime);margin-bottom:25px;letter-spacing:2px}.tile{background:var(--forest);color:var(--paper);border-radius:8px}.tile .button{margin-top:18px}footer{background:var(--forest);color:var(--paper);padding:35px;text-align:center}footer small{margin-top:30px}a:focus-visible,button:focus-visible{outline:3px solid #a34384;outline-offset:4px}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.product{border-top:2px solid var(--forest);padding:28px 0}.price{font-size:25px;font-weight:900}.intro{padding-bottom:20px}.notice{font-size:14px}@media(max-width:850px){.hero,.assembly{grid-template-columns:1fr}.hero img{min-height:0}.three,.products{grid-template-columns:1fr}nav{gap:14px}.brand{width:100%}.wrap{padding:38px 22px}h1{letter-spacing:-1px}}@media print{header,.hero,.motto,.assembly,#books,footer,#joke-button,#challenge-button{display:none}.three{display:block}.tile{background:white;color:black}button{display:none}}
:root{--paper:#f8ecd4;--forest:#072d1d;--lime:#c6ee13}
body{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.62' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.15' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse at 30% 20%,#fffaf0aa,transparent 70%);background-size:180px 180px,100% 100%;color:#092a1b}
header{background:#fcf4e4cc}nav{max-width:1320px;padding:13px 30px;gap:23px;min-height:76px}.brand{display:flex;align-items:center;gap:15px}.brand span:last-child{border-left:1px solid #91b428;padding-left:15px;font-size:16px;line-height:1.15;max-width:180px}.sgmark{font:1000 italic 43px/1 Arial,sans-serif;letter-spacing:-6px;color:#316028;padding-right:5px}nav .button{padding:10px 18px}
.hero{position:relative;isolation:isolate;display:block;min-height:550px;padding:40px max(3%,calc((100% - 1240px)/2));max-width:none;overflow:hidden}.hero>div{position:relative;z-index:2;width:43%;max-width:570px}.hero img{position:absolute;right:0;top:0;width:75%;height:100%;object-fit:cover;object-position:65% center;z-index:-2;border-radius:0}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#faf0ddef 0%,#faf0ddf5 32%,#faf0ddaa 40%,#faf0dd22 51%,transparent 61%)}
h1{font-size:clamp(42px,5.5vw,76px);font-weight:900;font-style:italic;line-height:.99;letter-spacing:-1.9px;text-wrap:balance}.hero h1:after{content:'';display:block;height:7px;width:90%;background:#b4dd1c;transform:rotate(-1deg);margin-top:13px}.hero p{font-family:Georgia,serif;font-size:clamp(17px,1.8vw,23px);font-weight:600;line-height:1.28;margin:20px 0}.hero .eyebrow{font:900 13px/1.4 system-ui!important;letter-spacing:1px;margin:0 0 16px}.hero .actions{display:flex;flex-direction:column;align-items:flex-start;margin:24px 0 15px;gap:12px}.hero .button{font-size:clamp(16px,1.65vw,22px);padding:13px 22px}.hero .outline{font-size:17px;min-width:260px;text-align:center;background:#fcf5e6aa}.button{box-shadow:0 4px 5px #143a2025;background:linear-gradient(#d1f82b,#b5e000);transition:transform .16s}.button:hover{transform:translateY(-2px)}.outline{background:#fcf4dfaa;box-shadow:none}.hero small{font-size:12px;color:#0d281b;font-weight:650}.motto{padding:16px 20px;background:radial-gradient(ellipse at 30% 50%,#1f4a27,#032918);font-size:clamp(24px,3.6vw,44px);letter-spacing:-.5px;box-shadow:inset 0 1px #6b8c40}.wrap{padding:36px 30px;max-width:1240px}.wrap>h2{display:flex;align-items:center;justify-content:center;gap:22px;font-size:clamp(27px,3.4vw,44px);font-weight:900;letter-spacing:-1px}.wrap>h2:before,.wrap>h2:after{content:'';height:2px;width:55px;background:#a1c638;flex-shrink:0}.three{gap:25px;margin-top:25px}.three article{padding:5px}.three:not(.books)>article>h3{font-style:italic;font-weight:900}.books img{width:100%;height:350px;object-fit:fill;border-radius:5px;box-shadow:0 8px 13px #4f371b45}.books article{max-width:320px;margin:auto;width:100%}.books .eyebrow{font-size:13px!important;letter-spacing:1px;margin:16px 0 11px}.books .button{min-width:70%;padding:9px 16px}.tile{overflow:hidden;background:transparent;border-radius:10px;box-shadow:0 2px 8px #5b40272a;text-align:left!important;position:relative}.three .tile{padding:0}.activity-art{width:100%;aspect-ratio:301/212;background-image:url('assets/approved-design.png');background-size:323.25% 762.7%;background-repeat:no-repeat}.bill-art{background-position:3.4% 88.6%}.challenge-art{background-position:50.15% 88.6%}.color-art{background-position:96.7% 88.6%}.activity-body{background:#e6cc99;padding:8px 12px 13px;color:#0d2b1c}.activity-body .button{margin:0;width:100%;padding:9px 6px;font-size:16px}.activity-body p{padding:6px;font-size:15px}.screen-reader{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.assembly{margin-top:20px;padding-top:40px;border-top:1px solid #b79e6c55;gap:35px}.assembly img{box-shadow:0 5px 15px #60492a33}.assembly h2{font-size:clamp(30px,3vw,44px)}.assembly p{font-family:Georgia,serif;font-size:19px}.assembly .portrait{max-height:420px;object-fit:cover;object-position:center 35%}.product-image{width:100%;height:300px;object-fit:contain;background:#ffffff66;margin-bottom:25px;border-radius:8px}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:25px;padding:25px;background:linear-gradient(110deg,#16442b,#042719)}footer h3{margin:0}footer p{font-family:Georgia,serif;font-style:italic;margin:0}footer small{width:100%;margin:5px 0 0;opacity:.75}dialog{max-width:600px;border:1px solid #456145;border-radius:8px;background:var(--paper);color:var(--forest);padding:30px}dialog::backdrop{background:#032b1bb9}dialog h2{margin-top:25px}
@media(min-width:641px) and (max-width:1000px){nav{gap:14px;padding:12px 20px}.brand{width:auto}.brand span:last-child{font-size:12px;max-width:140px}nav a{font-size:12px}nav .button{font-size:13px}.hero{min-height:480px;padding:30px 23px}.hero>div{width:44%}.hero h1{font-size:48px}.hero p{font-size:18px}.hero .button{font-size:16px;padding:12px 15px}.hero .outline{min-width:240px;font-size:15px}.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wrap{padding:30px 23px}.books img{height:285px}.wrap>h2:before,.wrap>h2:after{width:28px}.assembly{grid-template-columns:1.1fr 1fr}.assembly h2{font-size:30px}.assembly p{font-size:16px}.activity-body .button{font-size:13px}.three h3{font-size:27px}.three p{font-size:15px}}
@media(max-width:640px){nav{gap:12px}.brand{width:100%}.hero{padding:27px 22px 0;min-height:0}.hero>div{width:100%;max-width:none}.hero h1{font-size:46px;max-width:400px}.hero p{max-width:450px}.hero img{position:relative;display:block;z-index:0;width:calc(100% + 44px);height:auto;margin:25px -22px 0}.hero:after{display:none}.hero small{margin-bottom:10px}.three{grid-template-columns:1fr}.books{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.books img{height:auto;aspect-ratio:4/5}.books .eyebrow{font-size:9px!important;letter-spacing:0}.books .button{font-size:11px;padding:8px 6px;min-width:0}.wrap>h2{font-size:29px;gap:10px}.wrap>h2:before,.wrap>h2:after{width:15px}.assembly{grid-template-columns:1fr}.activity-art{aspect-ratio:301/212}.tile{max-width:400px;margin:auto;width:100%}.motto{font-size:23px}.activity-body .button{font-size:18px}.wrap{padding:30px 18px}}
/* Assembly page */
.school-hero>div{width:46%;max-width:610px}.school-hero h1{font-size:clamp(40px,4.7vw,66px)}.section-intro{text-align:center;max-width:650px;margin:20px auto 32px;font-family:Georgia,serif;font-size:20px}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 35px;margin-top:35px}.experience-grid article{padding:20px 0;border-top:1px solid #a7ae6d}.experience-grid article>span{font-size:12px;letter-spacing:2px;color:#56752e;font-weight:800}.experience-grid h3{font-size:27px;margin-top:12px;font-style:italic}.experience-grid p{font-size:16px;line-height:1.65}.school-photo{position:relative}.school-photo>img{width:100%;display:block;max-height:640px;object-fit:cover;object-position:center 65%;border-radius:6px}.photo-caption{background:var(--forest);color:var(--paper);padding:28px 35px;border-radius:0 0 6px 6px}.photo-caption h2{font-size:34px;margin:0}.photo-caption p{margin:12px 0 0}.investment{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;align-items:center}.assembly-price{font-size:40px;font-weight:900;margin:20px 0}.investment .button{margin-top:15px}.included{border-left:2px solid #a4c536;padding:15px 0 15px 40px}.included ul{padding-left:20px}.included li{padding:7px 0}.booking-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.booking-story img{width:100%;max-height:430px;object-fit:cover;object-position:center 34%;border-radius:5px;margin-bottom:25px}.assembly-form{padding:30px;background:#fff9eb99;border:1px solid #ad9d7266;border-radius:9px;box-shadow:0 5px 20px #654b2310}.assembly-form>p{font-size:14px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.assembly-form label{display:block;font-size:14px;font-weight:750;margin:15px 0}.assembly-form input,.assembly-form select,.assembly-form textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #7b8763;border-radius:4px;font:16px system-ui;background:#fffdf7;color:#123e2d;min-height:44px}.assembly-form button{margin-top:10px}.assembly-form button:disabled{opacity:.65;cursor:wait}.assembly-form [hidden]{display:none}.assembly-form #request-status{line-height:1.6}#book{scroll-margin-top:25px}@media(max-width:900px){.experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.investment{gap:30px}.booking-section{gap:25px;grid-template-columns:.75fr 1.25fr}.form-pair{grid-template-columns:1fr;gap:0}.assembly-form{padding:22px}.school-hero h1{font-size:46px}.school-hero>div{width:46%}}@media(max-width:640px){.school-hero>div{width:100%}.experience-grid{grid-template-columns:1fr}.investment,.booking-section{grid-template-columns:1fr}.included{border-left:0;border-top:2px solid #a4c536;padding:25px 0 0}.photo-caption{padding:22px}.photo-caption h2{font-size:27px}.section-intro{font-size:18px}.school-hero h1{font-size:44px}}

/* Shared controls: one shape, type scale and palette across every route. */
.button,nav .button,.hero .button,.hero .outline,.books .button,.activity-body .button{font:800 16px/1.35 system-ui,sans-serif;padding:12px 20px;border:1.5px solid var(--forest);border-radius:7px;min-height:48px;min-width:0;text-align:center;vertical-align:middle;background:linear-gradient(#d1f82b,#b5e000);color:var(--forest);box-shadow:0 4px 5px #143a2025;transition:transform .16s,box-shadow .16s}
.button.outline,.hero .button.outline{background:#fcf4dfdd;box-shadow:none;color:var(--forest)}
.button:focus-visible{outline:3px solid #6b3c75;outline-offset:4px}.button:disabled{transform:none;box-shadow:none;opacity:.65;cursor:wait}
.universe-intro{text-align:center;padding-top:65px;padding-bottom:20px}.universe-intro h1{font-size:clamp(42px,6vw,76px)}.cast-jump{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin:28px auto 0;max-width:850px}.cast-jump a{font-size:14px;font-weight:750;text-underline-offset:5px}.cast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 30px}.character{scroll-margin-top:24px;border-bottom:1px solid #a58e6055;padding-bottom:24px}.character>img{display:block;width:100%;height:275px;object-fit:contain;border-radius:8px;background:#fff8e755}.character .eyebrow{margin:22px 0 10px;letter-spacing:1px}.character h2{font-size:32px;font-style:italic}.character h3{font-size:20px;line-height:1.3}.character p{font-size:16px}.universe-end{text-align:center;padding-bottom:65px}.universe-end .actions{justify-content:center}.coloring-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.coloring-gallery figure{margin:0}.coloring-gallery img{width:100%;display:block;border-radius:6px;box-shadow:0 5px 15px #60492a22}.coloring-gallery figcaption{font:bold italic 25px Georgia,serif;text-align:center;margin-top:15px}.series-cover{max-height:480px;object-fit:contain}.book-details .assembly{padding-bottom:35px}.book-details .series-cover{box-shadow:none}
@media(max-width:850px){.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.button,nav .button,.hero .button,.hero .outline,.books .button,.activity-body .button{font-size:16px;padding:12px 16px}.books{grid-template-columns:1fr;gap:35px}.books article{max-width:280px}.books img{height:auto;aspect-ratio:auto}.books .eyebrow{font-size:12px!important}.cast-grid,.coloring-gallery{grid-template-columns:1fr}.character>img{height:330px}.universe-intro{padding-top:35px}.coloring-gallery figure{max-width:360px;margin:auto}.wrap>h2{overflow-wrap:anywhere}.wrap>h2:before,.wrap>h2:after{display:none}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}

.series-all{text-align:center;padding:0 22px 30px}.series-all p{font:bold italic 24px Georgia,serif}.series-number{background:var(--forest);color:var(--paper);border:2px solid #9aba36;border-radius:7px;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;gap:16px}.series-number strong{font:bold italic 100px/1 Georgia,serif;color:var(--lime)}.series-number span{font-size:13px;font-weight:800;letter-spacing:1px}.later-book{scroll-margin-top:25px}
