﻿

:root{--ink:#49392c;--muted:#75685a;--paper:#fbf7ec;--cream:#f3ead5;--green:#596c3d;--deep:#3d512a;--orange:#dd7d42;--line:#d9ccb6;--white:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;line-height:1.9}a{color:inherit}.siteHeader{height:84px;background:rgba(251,247,236,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.headerInner{max-width:1240px;height:100%;margin:auto;padding:0 28px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;text-decoration:none;line-height:1.25;white-space:nowrap}.brand img{width:55px;height:55px;object-fit:cover;border-radius:50%;margin-right:10px}.brand strong{display:block;font-size:19px;letter-spacing:.1em}.brand small{display:block;font-family:sans-serif;font-size:10px;color:var(--muted);letter-spacing:.08em}.siteHeader nav{display:flex;gap:24px;margin-left:auto}.siteHeader nav a{text-decoration:none;font-size:13px;font-weight:700}.headerCta{height:100%;margin-right:-28px;padding:17px 28px;background:var(--green);color:white;display:flex;flex-direction:column;justify-content:center;text-decoration:none;text-align:center;font-size:13px;line-height:1.4}.headerCta span{font-size:10px;color:#dfe7cd}.hero{min-height:700px;height:calc(100vh - 84px);position:relative;background:url('../images/hero-cooking-class.png') center 48%/cover}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,38,26,.72),rgba(44,38,26,.37) 54%,rgba(44,38,26,.06))}.heroInner{max-width:1240px;margin:auto;padding:120px 28px;position:relative;color:white}.kicker{font-family:sans-serif;font-weight:700;font-size:13px;letter-spacing:.12em;border-left:2px solid #e5b26b;padding-left:12px}.hero h1{font-size:clamp(44px,5vw,70px);line-height:1.35;letter-spacing:.05em;margin:25px 0}.hero h1 em{color:#f4c675;font-style:normal}.heroCopy{font-size:18px;letter-spacing:.05em}.heroButtons{display:flex;gap:14px;margin-top:35px}.button{min-height:54px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;gap:30px;text-decoration:none;font-family:sans-serif;font-weight:700;font-size:14px;border:1px solid transparent;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:white}.ghost{border-color:rgba(255,255,255,.7);color:white}.heroNote{position:absolute;right:0;bottom:0;background:rgba(251,247,236,.95);padding:20px 36px;display:flex;gap:0}.heroNote span{padding:0 24px;border-right:1px solid var(--line);font-size:12px;font-weight:700}.heroNote span:last-child{border:0}.sectionInner{max-width:1180px;margin:auto;padding-left:28px;padding-right:28px}.intro{padding:125px 0}.introGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.eyebrow{font-family:sans-serif;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.17em}.sprout{display:inline-block;color:var(--orange);font-size:28px;transform:rotate(30deg);vertical-align:-5px;margin-right:7px}.intro h2,.sectionTitleRow h2,.teacher h2,.faq h2,.contact h2{font-size:clamp(36px,4vw,54px);line-height:1.45;margin:12px 0}.introText{border-left:1px solid var(--line);padding-left:55px}.introText .large{font-size:25px;line-height:1.8;color:var(--green);font-weight:700;margin-top:0}.introText p:not(.large),.teacherCopy>p,.faq>div>div>p{font-family:sans-serif;color:var(--muted);font-size:15px}.textLink{display:inline-block;margin-top:18px;font-family:sans-serif;font-size:13px;font-weight:700;color:var(--green);text-decoration:none;border-bottom:1px solid var(--green)}.textLink span{margin-left:30px}.features{background:#f1ead8;padding:105px 0}.sectionTitleRow{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.sectionTitleRow h2{margin:0}.sectionTitleRow p{font-family:sans-serif;color:var(--muted);font-size:14px}.featureGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.featureCard{background:var(--white);border:1px solid var(--line);padding:28px 25px;position:relative;min-height:325px}.featureNum{position:absolute;right:18px;top:15px;color:#bbb09c;font-size:12px}.featureCard img{width:75px;height:75px;object-fit:contain}.featureCard h3{font-size:20px;color:var(--green);margin:16px 0 6px}.featureCard p,.post p,.seasonCopy p,.teacherCopy p{font-family:sans-serif;font-size:13px;color:var(--muted)}.center{text-align:center;margin-top:40px}.outline{border-color:var(--green);color:var(--green)}.season{background:var(--deep);color:white;padding:110px 0}.seasonGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.seasonPhoto{position:relative}.seasonPhoto img{width:100%;aspect-ratio:1.16;object-fit:cover;border-radius:180px 180px 8px 8px}.seasonPhoto span{position:absolute;writing-mode:vertical-rl;left:-32px;top:20px;font-size:10px;letter-spacing:.2em;color:#afbd99}.light{color:#d6dfc7}.seasonLabel{color:#e8bf78!important;font-weight:700;letter-spacing:.1em}.season h2{font-size:43px;line-height:1.5;margin:8px 0 12px}.seasonCopy>p{color:#e7eadf}.season dl{font-family:sans-serif;font-size:13px;margin:25px 0}.season dl div{display:flex;border-top:1px solid rgba(255,255,255,.22);padding:9px 0}.season dt{width:75px;color:#c6d0b7}.season dd{margin:0}.cream{background:#f2d9a5;color:var(--deep)}.teacher{padding:120px 0}.teacherGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.teacherPhoto{padding:25px}.photoFrame{padding:12px;border:1px solid var(--line);transform:rotate(-2deg);background:white}.photoFrame img{width:100%;display:block;aspect-ratio:4/4.6;object-fit:cover}.teacherPhoto>p{text-align:center;color:var(--green);font-size:14px;line-height:1.7;margin-top:28px}.teacherCopy .lead{font-family:inherit;font-size:19px;color:var(--green);font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{font-family:sans-serif;font-size:11px;background:#e8efd9;color:var(--green);padding:5px 12px;border-radius:99px}.blog{padding:110px 0;background:#eee5d2}.postGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.postVisual{height:210px;background:#d4d8bb;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.postVisual img{height:180px;width:180px;object-fit:contain}.postVisual span{position:absolute;top:12px;left:12px;background:var(--paper);padding:3px 10px;font-family:sans-serif;font-size:10px;z-index:1}.post2{background:#d8c9ad}.post3{background:#e3c5a7}.postMeta{font-size:10px!important;letter-spacing:.08em;margin:14px 0 3px!important}.post h3{font-size:18px;line-height:1.6;margin:0}.post>a{font-family:sans-serif;font-size:12px;color:var(--green)}.faq{padding:110px 0}.faqGrid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{list-style:none;font-weight:700;cursor:pointer}.faq summary span{float:right;font-family:sans-serif;font-size:22px}.faq details p{font-family:sans-serif;color:var(--muted);font-size:13px}.contact{padding:95px 0;background:var(--green);text-align:center;color:white;position:relative;overflow:hidden}.contactSeeds{position:absolute;top:20px;left:8%;font-size:90px;color:rgba(255,255,255,.08);transform:rotate(-20deg)}.contact h2{margin:12px 0;color:white}.contact p{font-family:sans-serif}.contactButtons{display:flex;justify-content:center;gap:12px;margin:28px 0}.line{border-color:white;color:white}.contact small{font-family:sans-serif;color:#dbe1d0}footer{background:#3c3026;color:#eee6d9;padding:70px 0 18px}.footerGrid{display:grid;grid-template-columns:1.8fr repeat(3,1fr);gap:55px}.footerBrand{display:flex;align-items:center}.footerBrand img{width:65px;height:65px;border-radius:50%;margin-right:12px}.footerBrand strong,.footerBrand small{display:block}.footerBrand small{font-size:10px;color:#bfb6a9}.footerGrid p,.footerGrid a{display:block;color:#bfb6a9;font-family:sans-serif;font-size:11px;text-decoration:none}.footerGrid h3{font-size:14px;margin-bottom:14px}.copyright{max-width:1124px;margin:40px auto 0;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;font-family:sans-serif;font-size:9px;color:#9c9388}

@media(max-width:900px){.siteHeader{height:68px}.headerInner{padding:0 16px}.brand img{width:45px;height:45px}.siteHeader nav{display:none}.headerCta{margin-left:auto;margin-right:-16px;padding:12px}.headerCta span{display:none}.hero{height:auto;min-height:500px}.heroInner{padding:65px 22px 105px}.heroNote{left:16px;right:16px;padding:14px 5px;display:grid;grid-template-columns:repeat(3,1fr)}.heroNote span{text-align:center;padding:0 5px;font-size:10px}.intro,.teacher,.faq{padding:75px 0}.introGrid,.teacherGrid,.faqGrid,.seasonGrid{grid-template-columns:1fr;gap:45px}.introText{border-left:0;padding-left:0}.sectionTitleRow{display:block}.featureGrid{grid-template-columns:1fr 1fr}.season{padding:75px 0}.seasonPhoto img{border-radius:120px 120px 6px 6px}.postGrid{grid-template-columns:1fr}.footerGrid{grid-template-columns:1fr 1fr}.footerGrid>div:first-child{grid-column:1/-1}.copyright{margin:30px 22px 0;display:block}.contactButtons{flex-direction:column;align-items:stretch;margin:25px auto;max-width:340px}}
@media(max-width:560px){.brand strong{font-size:15px}.brand small{font-size:8px}.headerCta{font-size:11px}.hero h1{font-size:38px}.heroCopy{font-size:14px}.heroButtons{flex-direction:column;align-items:stretch;max-width:330px}.featureGrid{grid-template-columns:1fr}.featureCard{min-height:0}.sectionTitleRow h2,.intro h2,.teacher h2,.faq h2,.contact h2{font-size:34px}.season h2{font-size:34px}.sectionInner{padding-left:20px;padding-right:20px}.footerGrid{gap:35px}.footerGrid>div:first-child{grid-column:auto}.footerGrid{grid-template-columns:1fr}.postVisual{height:230px}}

/* Motion, storytelling and inner pages */
.sprout{transform:none;font-size:19px;vertical-align:-2px}.heroButtons{display:none}.scrollCue{position:absolute;right:24px;bottom:28px;font:700 9px/1 sans-serif;letter-spacing:.18em;color:rgba(255,255,255,.78);writing-mode:vertical-rl;animation:scrollPulse 1.8s ease-in-out infinite}.heroScroll{right:auto;left:28px;bottom:28px}.customCursor{position:fixed;left:-13px;top:-13px;width:30px;height:30px;z-index:9999;pointer-events:none;display:grid;place-items:center;border-radius:50%;background:rgba(255,253,247,.82);border:1px solid rgba(89,108,61,.35);transition:width .18s,height .18s,margin .18s,background .18s;will-change:transform}.customCursor span{font-size:15px;transition:transform .18s}.customCursor.isActive{width:48px;height:48px;margin:-9px;background:rgba(242,217,165,.92)}.customCursor.isActive span{transform:rotate(-14deg) scale(1.18)}
@media (pointer:fine){body,a,button,summary{cursor:none}}@media (pointer:coarse){.customCursor{display:none}}
@keyframes scrollPulse{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(8px);opacity:1}}
.siteHeader nav a,.footerGrid a,.textLink{position:relative}.siteHeader nav a:after,.footerGrid a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--orange);transition:right .25s}.siteHeader nav a:hover:after,.footerGrid a:hover:after{right:0}.featureCard,.post,.classCard,.archiveCard{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.featureCard:hover,.post:hover,.classCard:hover,.archiveCard:hover{transform:translateY(-7px);box-shadow:0 18px 38px rgba(64,48,34,.1);border-color:#bba987}.button b{transition:transform .25s}.button:hover b{transform:translateX(7px)}details summary span{transition:transform .25s}details[open] summary span{transform:rotate(45deg)}
.reveal{animation:revealUp linear both;animation-timeline:view();animation-range:entry 8% cover 32%}@keyframes revealUp{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}
.story{min-height:300vh;background:linear-gradient(#f2ead7,#fbf7ec);position:relative;display:grid;grid-template-columns:1fr 1fr}.storySticky{position:sticky;top:84px;height:calc(100vh - 84px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.storySeed{font-size:clamp(50px,8vw,100px);animation:seedGrow linear both;animation-timeline:scroll(root);animation-range:8% 28%;transform-origin:center bottom}.storySticky h2{font-size:clamp(34px,4.5vw,64px);line-height:1.45;color:var(--green);margin:10px}.storySticky p{font-family:sans-serif;color:var(--muted);max-width:480px}.storySteps{padding:70vh 9vw 40vh 2vw;display:grid;gap:55vh}.storySteps article{background:rgba(255,253,247,.92);border:1px solid var(--line);padding:42px;max-width:410px;box-shadow:0 20px 70px rgba(73,57,44,.08);animation:storyCard linear both;animation-timeline:view();animation-range:entry 0 cover 42%}.storySteps span{font:700 11px sans-serif;color:var(--orange)}.storySteps h3{font-size:34px;color:var(--green);margin:8px 0}.storySteps p{font-family:sans-serif;color:var(--muted)}@keyframes seedGrow{from{transform:scale(.35) rotate(-12deg);filter:saturate(.5)}to{transform:scale(1.25) rotate(5deg);filter:saturate(1.2)}}@keyframes storyCard{from{opacity:.15;transform:translateX(70px) rotate(3deg)}to{opacity:1;transform:translateX(0) rotate(0)}}
.pageHero{min-height:500px;background:var(--deep);color:white;display:grid;align-items:center;position:relative;overflow:hidden}.pageHero .sectionInner{width:100%;position:relative;z-index:1}.pageHero h1{font-size:clamp(48px,7vw,88px);letter-spacing:.08em;margin:10px 0;line-height:1.3}.pageHero p:not(.eyebrow){font-family:sans-serif;color:#dce4d0}.pageHeroOrb{position:absolute;width:55vw;height:55vw;border-radius:50%;right:-12vw;top:-29vw;background:radial-gradient(circle at 38% 60%,rgba(242,217,165,.34),rgba(89,108,61,.05) 60%);animation:orbFloat 8s ease-in-out infinite}@keyframes orbFloat{50%{transform:translate(-2vw,4vw) scale(1.05)}}
.contentSection{padding:110px 0}.contentBand{padding:110px 0;background:#efe6d3}.narrow{max-width:800px;margin:auto;padding:0 28px}.contentSection h2,.contentBand h2,.classCard h3,.detailGrid h2{font-size:clamp(32px,4vw,50px);line-height:1.45;color:var(--green);margin:12px 0 25px}.contentSection p,.contentBand p,.classCard p,.detailGrid p{font-family:sans-serif;color:var(--muted)}.leadText{font-family:inherit!important;font-size:21px!important;color:var(--green)!important;font-weight:700}.valueGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.valueGrid article{background:var(--white);border:1px solid var(--line);padding:34px}.valueGrid b{color:var(--orange);font:700 11px sans-serif}.valueGrid h3{font-size:23px;color:var(--green)}.valueGrid p{font-size:13px}
.classGrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.classCard{background:var(--white);border:1px solid var(--line);overflow:hidden}.classCard>div:last-child{padding:32px}.classCard h3{margin:0;font-size:38px}.classSub{color:var(--orange)!important;font-weight:700}.classImage{height:320px;position:relative;background:#d7d9bd;display:grid;place-items:center;overflow:hidden}.classImage img{width:100%;height:100%;object-fit:cover}.classImageTane img{width:68%;height:68%;object-fit:contain}.classImage span{position:absolute;top:18px;left:18px;background:var(--paper);color:var(--green);padding:5px 12px;font:700 11px sans-serif}.detailGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}.detailPhoto{background:#d9d3b8;padding:14px;transform:rotate(-1deg)}.detailPhoto img{width:100%;aspect-ratio:4/4.4;object-fit:cover;display:block}.tanePhoto img{object-fit:contain}.portrait img{object-position:center}.infoList{font-family:sans-serif;margin-top:30px}.infoList div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:13px 0}.infoList dt{font-weight:700;color:var(--green)}.infoList dd{margin:0;color:var(--muted)}
.blogFilters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:38px}.blogFilters button{border:1px solid var(--line);background:transparent;padding:9px 16px;border-radius:30px;color:var(--green)}.blogFilters button.active,.blogFilters button:hover{background:var(--green);color:white}.archiveGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.archiveCard{border:1px solid var(--line);background:var(--white);padding-bottom:30px}.archiveCard>div{height:270px;background:#d8d9bc;position:relative;display:grid;place-items:center;overflow:hidden}.archiveCard img{width:70%;height:80%;object-fit:contain}.archiveCard>div span{position:absolute;left:15px;top:15px;background:var(--paper);padding:3px 10px;font:700 10px sans-serif}.archiveCard>p,.archiveCard>h2,.archiveCard>a{margin-left:28px;margin-right:28px}.archiveCard>p{font-family:sans-serif;font-size:12px;color:var(--muted)}.archiveCard h2{font-size:23px;color:var(--green)}.archiveCard a{font:700 12px sans-serif;color:var(--green)}.pagination{display:flex;justify-content:center;gap:10px;margin-top:50px}.pagination>*{width:38px;height:38px;border:1px solid var(--line);display:grid;place-items:center}.pagination b{background:var(--green);color:white}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{animation:none}.customCursor{display:none}}

/* Use the browser's familiar cursor instead of the decorative seed cursor. */
.customCursor{display:none!important}
@media (pointer:fine){
  body{cursor:auto!important}
  a,button,summary,[role="button"]{cursor:pointer!important}
}

/* Class cards use full-bleed editorial photography. */
.classImageTane img{width:100%;height:100%;object-fit:cover}

/* Slightly larger footer typography for comfortable reading. */
footer .footerBrand strong{font-size:18px}
footer .footerBrand small{font-size:12px;line-height:1.6}
footer .footerGrid p,footer .footerGrid a{font-size:13px;line-height:2}
footer .copyright{font-size:11px;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}
.featureCard img{width:108px;height:108px;border-radius:18px}
.footerPolicyLinks{display:flex;align-items:center;justify-content:center;gap:10px}
.footerPolicyLinks a{color:inherit;text-decoration:none;transition:color .2s}
.footerPolicyLinks a:hover{color:#eee6d9}
.footerPolicyLinks i{font-style:normal;color:#746b60}

.teacherProfileLink{font-size:15px}
.teacherProfileLink span{margin-left:12px}

/* Policy and legally required information pages. */
.policyPage{background:var(--paper)}
.policyPage .narrow{max-width:900px}
.policyIntro{margin:0 0 70px;font-family:inherit!important;font-size:20px!important;line-height:2;color:var(--green)!important}
.policyPage article{padding:34px 0;border-top:1px solid var(--line)}
.policyPage article h2{margin:0 0 14px;font-size:23px;line-height:1.6}
.policyPage article p,.policyPage li,.policyNote{font-family:sans-serif;color:var(--muted);font-size:15px;line-height:2}
.policyPage ul{margin:0;padding-left:1.4em}
.policyPage a{color:var(--green)}
.policyDate{margin-top:55px;text-align:right;font-family:sans-serif!important;font-size:13px!important;color:var(--muted)!important}
.draftNotice{margin-bottom:50px;padding:24px 28px;border:1px solid #d5b87e;border-radius:14px;background:#f6e9c9}
.draftNotice strong{display:block;color:var(--deep);font-size:18px}
.draftNotice p{margin:5px 0 0;font-family:sans-serif;color:var(--muted);font-size:14px;line-height:1.8}
.legalTable{margin:0}
.legalTable>div{display:grid;grid-template-columns:210px 1fr;border-top:1px solid var(--line);padding:22px 0}
.legalTable>div:last-child{border-bottom:1px solid var(--line)}
.legalTable dt{color:var(--green);font-weight:700}
.legalTable dd{margin:0;font-family:sans-serif;color:var(--muted);font-size:15px;line-height:1.9}
.policyNote{margin-top:35px}
@media(max-width:700px){.footerPolicyLinks{gap:6px;flex-wrap:wrap}.policyIntro{font-size:17px!important}.legalTable>div{grid-template-columns:1fr;gap:7px}.policyPage article h2{font-size:21px}.policyPage article p,.policyPage li,.legalTable dd,.policyNote{font-size:14px}.draftNotice{padding:20px}}

/* WordPress integration */
.admin-bar .siteHeader{top:32px}
.singlePost{min-height:60vh}
.singlePost h1{margin:0 0 24px;color:var(--green);font-size:clamp(34px,5vw,58px);line-height:1.45}
.singlePostImage{margin:30px 0 45px}
.singlePostImage img{display:block;width:100%;height:auto;border-radius:18px}
.singlePostBody{font-family:sans-serif;color:var(--muted);font-size:16px;line-height:2}
.singlePostBody h2,.singlePostBody h3{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;color:var(--green)}
.singlePostBody img{max-width:100%;height:auto}
.archiveCard .wp-post-image,.postVisual .wp-post-image{width:100%;height:100%;object-fit:cover}
.pagination .nav-links{display:flex;justify-content:center;gap:10px}
.pagination .page-numbers{min-width:38px;height:38px;padding:0 8px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none}
.pagination .current{background:var(--green);color:#fff}
@media(max-width:782px){.admin-bar .siteHeader{top:46px}}

/* Mobile growth story: preserve the sticky, scroll-driven five-stage sequence. */
@media(max-width:900px){
  .story{display:block!important;position:relative!important;min-height:520svh!important;overflow:clip}
  .storySticky{position:sticky!important;top:68px!important;z-index:2;height:calc(100svh - 68px)!important;min-height:500px;padding:3svh 16px 0!important;overflow:hidden!important;background:linear-gradient(180deg,#f2ead7 0%,#f7f0df 76%,rgba(247,240,223,.9) 100%)}
  .storySeed{width:min(270px,72vw)!important;height:min(47svh,360px)!important;transform:translate3d(0,0,0)!important}
  .storyMessage{position:absolute!important;left:50%!important;top:min(50svh,385px)!important;width:calc(100% - 38px)!important;margin:0!important;transform:translateX(-50%)!important}
  .storyMessage h2{font-size:clamp(23px,7vw,32px)}
  .storyMessage p{font-size:13px}
  .storySteps{position:relative;z-index:3;margin-top:calc(-100svh + 68px);padding:100svh 20px 110svh!important}
  .storyBeat{display:flex;align-items:flex-end;min-height:92svh!important;margin:0!important}
  .storyBeat article,.storySteps article{position:sticky!important;top:calc(100svh - 205px)!important;width:100%;max-width:none!important;min-height:145px;padding:15px 8px 28px!important;background:linear-gradient(180deg,rgba(247,240,223,0),rgba(247,240,223,.94) 28%,#f7f0df 100%)!important;text-align:center;pointer-events:none}
  .storySteps article h3{font-size:clamp(34px,10vw,46px);margin-bottom:5px}
  .storySteps article p{max-width:330px;margin:0 auto;font-size:14px}
  .story+.intro{padding-top:150px}
  .admin-bar .storySticky{top:114px!important;height:calc(100svh - 114px)!important}
}
@media(max-width:782px) and (orientation:landscape){
  .storySticky{min-height:300px;padding-top:8px!important}
  .storySeed{width:min(210px,42vw)!important;height:58svh!important}
  .storyBeat article,.storySteps article{top:calc(100svh - 150px)!important;min-height:115px}
}

/* Compact contact panel with a capsule CTA and familiar social icons. */
.contact h2{font-size:clamp(30px,3.2vw,44px)}
.contactActions{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.contactTrialButton{min-height:56px;padding-left:34px;padding-right:34px;background:var(--cream);border-color:rgba(255,255,255,.72)}
.contactSocials{display:flex;align-items:center;gap:12px}
.socialIcon{position:relative;width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:50%;text-decoration:none;box-shadow:0 10px 25px rgba(35,47,25,.2);transition:transform .25s ease,box-shadow .25s ease}
.socialIcon:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 15px 30px rgba(35,47,25,.28)}
.socialIcon:focus-visible{outline:3px solid rgba(242,217,165,.9);outline-offset:4px}
.instagramSocial{background:radial-gradient(circle at 33% 100%,#ffd36b 0 18%,#f77737 38%,#d62976 61%,#8134af 82%,#4f5bd5 100%)}
.instagramSocial span{position:relative;width:27px;height:27px;border:3px solid #fff;border-radius:9px}
.instagramSocial span:before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%)}
.instagramSocial span:after{content:"";position:absolute;right:3px;top:3px;width:4px;height:4px;border-radius:50%;background:#fff}
.mailSocial{background:var(--paper);color:var(--green)}
.mailSocial span{font:700 25px/1 sans-serif;transform:translateY(-1px)}
@media(max-width:700px){.contact h2{font-size:28px}.contactActions{flex-direction:column;gap:18px}.contactTrialButton{min-width:min(100%,310px)}}
@media(max-width:900px){.story{display:block;min-height:auto}.storySticky{position:relative;top:0;height:auto;padding:90px 24px}.storySteps{padding:0 20px 90px;gap:18px}.storySteps article{max-width:none}.valueGrid,.classGrid,.detailGrid,.archiveGrid{grid-template-columns:1fr}.detailGrid{gap:45px}.pageHero{min-height:420px}.pageHero .scrollCue{display:none}}
@media(max-width:560px){.pageHero h1{font-size:42px}.contentSection,.contentBand{padding:72px 0}.classImage{height:240px}.archiveCard>div{height:220px}.valueGrid{grid-template-columns:1fr}}

/* Concept page storytelling */
.seedJourney{position:relative;display:grid;grid-template-columns:44% 56%;background:var(--paper)}.seedJourneyVisual{position:sticky;top:84px;height:calc(100vh - 84px);overflow:hidden;background:linear-gradient(180deg,#f5e9c7 0 51%,#71543d 51%);display:grid;place-items:center}.seedJourneyVisual>p{position:absolute;left:30px;bottom:22px;color:rgba(255,255,255,.65);font:700 9px sans-serif;letter-spacing:.15em}.soilLine{position:absolute;left:0;right:0;top:51%;height:1px;background:rgba(255,255,255,.35)}.growingSeed{position:relative;width:240px;height:420px;margin-top:80px;animation:conceptGrow linear both;animation-timeline:scroll(root);animation-range:8% 39%}.growingSeed>span{position:absolute;left:50%;top:49%;font-size:40px;color:#4b3326;transform:translate(-50%,-50%)}.growingSeed i{position:absolute;left:50%;top:54%;width:2px;height:150px;background:#d9c49b;transform-origin:top;transform:scaleY(0)}.growingSeed b{position:absolute;left:50%;top:18%;font-size:75px;transform:translateX(-50%) scale(.25);transform-origin:center bottom;font-weight:normal}.growingSeed em{position:absolute;left:50%;top:0;font-size:72px;color:#df9663;opacity:0;transform:translateX(-50%) scale(.3);font-style:normal}.seedJourneyCopy{padding:15vh 9vw 18vh 7vw}.journeyChapter{min-height:75vh;display:flex;flex-direction:column;justify-content:center}.journeyChapter h2,.schoolStory h2,.failureStory h2,.conceptClosing h2{font-size:clamp(40px,5vw,68px);line-height:1.42;color:var(--green);margin:12px 0 30px}.journeyChapter>p:not(.eyebrow),.questionChapter>p,.schoolStory p,.failureStory p,.conceptClosing p{font-family:sans-serif;color:var(--muted)}.conceptLead{font-family:inherit!important;font-size:clamp(20px,2.1vw,30px)!important;line-height:1.75!important;color:var(--green)!important;font-weight:700}.questionChapter{min-height:80vh;display:flex;flex-direction:column;justify-content:center}.chapterLabel{color:var(--orange)!important;font-size:12px!important;font-weight:700;letter-spacing:.12em}.questionCloud{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 35px}.questionCloud span{display:block;padding:11px 18px;border:1px solid var(--line);border-radius:99px;background:var(--white);color:var(--green);font-size:clamp(17px,2vw,25px);transition:transform .25s,background .25s,color .25s}.questionCloud span:hover{transform:rotate(-3deg) scale(1.06);background:var(--green);color:white}.conceptImage{margin:5vh 0 16vh;position:relative;overflow:hidden}.conceptImage img{width:100%;height:65vh;object-fit:cover;display:block;animation:conceptImagePan linear both;animation-timeline:view();animation-range:entry 0 exit 100%}.conceptImage figcaption{position:absolute;left:18px;bottom:15px;padding:7px 12px;background:rgba(251,247,236,.92);font:700 11px sans-serif;color:var(--green)}.flowerChapter{min-height:90vh}.conceptStatement{margin:35px 0;padding:28px;border-left:3px solid var(--orange);font-family:inherit!important;font-size:clamp(22px,2.5vw,34px)!important;color:var(--ink)!important;font-weight:700}.flowerChapter strong{color:var(--green)}
@keyframes conceptGrow{0%{filter:saturate(.6)}100%{filter:saturate(1.15)}}@keyframes conceptImagePan{from{transform:scale(1.13) translateX(-3%)}to{transform:scale(1.02) translateX(2%)}}
.schoolStory{background:var(--deep);color:white;padding:120px 0 0}.schoolStoryIntro{max-width:820px;margin:0 auto 100px;padding:0 28px;text-align:center}.schoolStoryIntro h2{color:white}.schoolStoryIntro>p:not(.eyebrow){color:#dce4d0}.schoolStatement{font-family:inherit!important;font-size:clamp(32px,5vw,60px)!important;line-height:1.45!important;color:#f2d9a5!important;font-weight:700}.wonderTrack{min-height:260vh;position:relative}.wonderPhoto{position:sticky;top:84px;height:calc(100vh - 84px);overflow:hidden}.wonderPhoto:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,44,22,.78),rgba(32,44,22,.18))}.wonderPhoto img{width:100%;height:100%;object-fit:cover;animation:wonderZoom linear both;animation-timeline:view();animation-range:entry 0 exit 100%}.wonderQuestions{position:absolute;inset:0;z-index:2;padding:40vh 8vw;display:grid;align-content:start;gap:45vh}.wonderQuestions p{width:max-content;max-width:75%;margin:0;padding:16px 22px;background:rgba(251,247,236,.93);color:var(--deep);font-family:inherit;font-size:clamp(20px,2.8vw,38px);font-weight:700;box-shadow:0 14px 40px rgba(0,0,0,.16);animation:wonderQuestion linear both;animation-timeline:view();animation-range:entry 5% cover 38%}.wonderQuestions p:nth-child(even){justify-self:end}.schoolExplanation{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:100px;padding-bottom:120px}.schoolExplanation article{padding:45px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04)}.schoolExplanation h3{font-size:27px;color:#f2d9a5}.schoolExplanation p{color:#dce4d0}.schoolExplanation strong{color:white}.largeNumber{color:#b9c69e;font:700 11px sans-serif}@keyframes wonderZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes wonderQuestion{from{opacity:0;transform:translateY(60px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
.failureStory{display:grid;grid-template-columns:43% 57%;min-height:220vh;background:#eee4d0}.failureSticky{position:sticky;top:84px;height:calc(100vh - 84px);display:flex;flex-direction:column;justify-content:center;padding:8vw}.failureWords{display:grid;gap:8px}.failureWords span{font-family:sans-serif;color:var(--muted)}.failureCopy{padding:50vh 9vw 30vh 4vw;display:grid;gap:65vh}.failureCopy article{background:var(--white);border:1px solid var(--line);padding:42px}.powerList{display:grid;margin-top:30px}.powerList span{padding:13px 0;border-top:1px solid var(--line);font-weight:700;color:var(--green)}.powerList i{display:inline-block;width:48px;color:var(--orange);font:700 10px sans-serif}.confidence{font-family:inherit!important;font-size:clamp(24px,3vw,42px)!important;line-height:1.6!important;color:var(--green)!important;margin-top:38px}.confidence strong{font-size:1.25em;color:var(--orange)}.conceptClosing{padding:150px 0;background:var(--paper);text-align:center}.closingSprout{display:inline-block;font-size:90px;animation:closingSprout linear both;animation-timeline:view();animation-range:entry 0 cover 45%;transform-origin:center bottom}.conceptClosing h2{font-size:clamp(40px,6vw,80px);margin:24px 0}.conceptClosing p{font-size:16px}@keyframes closingSprout{from{transform:scale(.2) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(4deg);opacity:1}}
@media(max-width:900px){.seedJourney{display:block}.seedJourneyVisual{position:relative;top:0;height:70vh}.seedJourneyCopy{padding:60px 22px}.journeyChapter,.questionChapter,.flowerChapter{min-height:auto;padding:70px 0}.conceptImage{margin:20px 0 80px}.conceptImage img{height:55vh}.schoolStory{padding-top:85px}.schoolStoryIntro{margin-bottom:70px}.wonderPhoto{top:68px;height:calc(100vh - 68px)}.schoolExplanation{grid-template-columns:1fr}.failureStory{display:block;min-height:auto}.failureSticky{position:relative;top:0;height:auto;padding:90px 24px}.failureCopy{padding:0 20px 90px;gap:20px}.failureCopy article{padding:30px}.conceptClosing{padding:100px 20px}}
@media(max-width:560px){.seedJourneyVisual{height:60vh}.growingSeed{height:340px}.wonderTrack{min-height:220vh}.wonderQuestions{padding-left:18px;padding-right:18px}.wonderQuestions p{max-width:92%;font-size:18px}.schoolExplanation article{padding:28px}.questionCloud span{font-size:17px}.conceptStatement{padding:20px}.closingSprout{font-size:70px}}

.growingSeed i{animation:rootGrow linear both;animation-timeline:scroll(root);animation-range:11% 20%}.growingSeed b{animation:sproutGrow linear both;animation-timeline:scroll(root);animation-range:15% 28%}.growingSeed em{animation:flowerBloom linear both;animation-timeline:scroll(root);animation-range:27% 39%}
@keyframes rootGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes sproutGrow{from{transform:translateX(-50%) scale(.25) rotate(-15deg);opacity:0}to{transform:translateX(-50%) scale(1) rotate(4deg);opacity:1}}
@keyframes flowerBloom{from{transform:translateX(-50%) scale(.3) rotate(-12deg);opacity:0}to{transform:translateX(-50%) scale(1) rotate(5deg);opacity:1}}

.storySeed{display:block;width:clamp(150px,19vw,280px);font-size:0;filter:drop-shadow(0 18px 18px rgba(73,57,44,.08))}.storySeed img{display:block;width:100%;height:auto;transition:filter .3s,transform .3s}.storySeed:hover img{filter:saturate(1.18);transform:rotate(-2deg)}

.storySeed{position:relative;height:clamp(205px,26vw,382px)}.storySeed .sproutStage{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;animation-timeline:scroll(root);animation-range:7% 29%;transition:filter .3s}.storySeed .sproutStage1{animation-name:sproutFrame1}.storySeed .sproutStage2{animation-name:sproutFrame2}.storySeed .sproutStage3{animation-name:sproutFrame3}.storySeed .sproutStage4{animation-name:sproutFrame4}.storySeed .sproutStage5{animation-name:sproutFrame5}.storySeed .sproutStage6{animation-name:sproutFrame6}.storySeed:hover .sproutStage{transform:none;filter:saturate(1.15)}
@keyframes sproutFrame1{0%,12%{opacity:1}20%,100%{opacity:0}}
@keyframes sproutFrame2{0%,12%{opacity:0}20%,28%{opacity:1}36%,100%{opacity:0}}
@keyframes sproutFrame3{0%,28%{opacity:0}36%,44%{opacity:1}52%,100%{opacity:0}}
@keyframes sproutFrame4{0%,44%{opacity:0}52%,60%{opacity:1}68%,100%{opacity:0}}
@keyframes sproutFrame5{0%,60%{opacity:0}68%,76%{opacity:1}84%,100%{opacity:0}}
@keyframes sproutFrame6{0%,76%{opacity:0}84%,100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.storySeed .sproutStage{display:none}.storySeed .sproutStage6{display:block;opacity:1}}

/* Growth story: each right-hand step controls the left image */
.storySeed{animation:none;transform:none!important;filter:drop-shadow(0 14px 20px rgba(73,57,44,.08))}.storySeed:hover img{transform:none;filter:none}.storySeed .sproutStage{animation:none;opacity:0;transform:none;transition:opacity .48s ease;will-change:opacity}.storySeed .sproutStage.isVisible{opacity:1}.storySteps article{transition:opacity .35s ease,border-color .35s ease,box-shadow .35s ease;opacity:.58}.storySteps article.isActive{opacity:1;border-color:#b0bc91;box-shadow:0 22px 70px rgba(73,57,44,.14)}
@media (prefers-reduced-motion:reduce){.storySeed .sproutStage{display:block;transition:none}.storySeed .sproutStage:not(.isVisible){opacity:0}.storySeed .sproutStage.isVisible{opacity:1}}

/* Position-synchronised growth sequence */
.story{min-height:0;align-items:start}.storySticky{justify-content:flex-start;padding-top:7vh;overflow:hidden}.storySeed{flex:0 0 auto;width:clamp(190px,23vw,330px);height:clamp(260px,31vw,452px);transition:opacity .12s linear}.storyMessage{max-width:520px;margin-top:-2vh;text-align:center;transition:opacity .12s linear}.storyMessage h2{font-size:clamp(22px,2.7vw,38px);line-height:1.4;color:var(--green);margin:7px 0}.storyMessage p{font-family:sans-serif;color:var(--muted);margin:5px auto}.storySteps{padding-top:92vh;padding-bottom:115vh;gap:58vh}.storySteps article{animation:none;transform:none;opacity:.42}.storySteps article.isActive{opacity:1}.storySeed .sproutStage{transition:opacity .34s ease}.storySeed .sproutStage.isVisible{opacity:1}
@media(max-width:900px){.storySticky{padding-top:70px;overflow:visible}.storySeed{width:min(280px,80vw);height:380px}.storyMessage{margin-top:-25px}.storySteps{padding:20px 20px 90px;gap:18px}.storySteps article{opacity:1}}

/* Final hold: wait for step 04 to leave, then center the fifth image */
.storySticky{position:sticky;overflow:visible}.storySeed{transform:translate3d(var(--story-offset-x,0px),0,0)!important;transition:opacity .12s linear;will-change:transform,opacity}.storyMessage{position:absolute;z-index:2;width:min(720px,86vw);left:50vw;top:calc(7vh + clamp(260px,31vw,452px) - 20px);transform:translateX(-50%);margin:0;pointer-events:none}.storySteps{padding-bottom:205vh}
@media(max-width:900px){.storyMessage{position:relative;left:auto;right:auto;top:auto;width:auto;transform:none;margin-top:-25px}.storySeed{transform:none!important}.storySteps{padding-bottom:90px}}

/* Seamless image dissolve and frameless story copy */
.storySeed .sproutStage{opacity:0;filter:blur(3px);transition:opacity .9s cubic-bezier(.4,0,.2,1),filter .9s cubic-bezier(.4,0,.2,1)}.storySeed .sproutStage.isVisible{opacity:1;filter:blur(0)}.storySteps article,.storySteps article.isActive{max-width:430px;padding:0;background:transparent;border:0;box-shadow:none!important;transform:none;transition:none}.storySteps article h3{font-size:clamp(36px,4vw,58px);line-height:1.3;margin:0 0 12px;color:var(--green)}.storySteps article p{font-size:15px;max-width:360px}.storySteps article>span{display:none}
@media (prefers-reduced-motion:reduce){.storySeed .sproutStage{filter:none;transition:none}.storySteps article{opacity:1!important}}

/* Hold each word at the soil line while its watercolor frame dissolves */
.storySteps{display:block;gap:0}.storyBeat{position:relative;min-height:115vh}.storyBeat article{position:sticky}.storySeed .sproutStage{transition-duration:1.25s}.story+.intro{padding-top:260px}
@media(max-width:900px){.storyBeat{min-height:0;margin-bottom:70px}.storyBeat article{position:relative!important;top:auto!important}.story+.intro{padding-top:130px}}

/* Extra runway for the slower closing message */
.storySteps{padding-bottom:240vh}
@media(max-width:900px){.storySteps{padding-bottom:90px}}

/* Brief stop, then keep the next word below the viewport until this one is gone */
.storyBeat{min-height:62vh;margin-bottom:105vh}.storyBeat:last-child{margin-bottom:0}
@media(max-width:900px){.storyBeat{min-height:0;margin-bottom:70px}}

/* Watercolor concept gateway */
.introWatercolor{position:relative;height:clamp(520px,calc(100vh - 84px),680px);min-height:0;margin-top:80px;padding:0;background:url('../images/hero-catchcopy-watercolor.png') center center/cover no-repeat;display:flex;align-items:flex-start;overflow:hidden}
.introWatercolor:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,247,236,.2),transparent 58%);pointer-events:none}
.introWatercolorInner{position:absolute;z-index:1;top:0;left:50%;width:100%;margin:0;transform:translateX(-50%);padding-top:clamp(28px,4vh,46px);padding-bottom:50px}
.introWatercolor h2{max-width:520px;margin:0 0 30px;font-size:clamp(44px,5.6vw,76px);line-height:1.45;letter-spacing:.06em;color:var(--green);text-shadow:0 2px 18px rgba(255,253,247,.75)}
.introWatercolor .textLink{font-size:14px;background:rgba(251,247,236,.74);padding:8px 4px 5px;backdrop-filter:blur(3px)}
.introWatercolor .conceptGatewayLink{position:absolute;z-index:2;right:clamp(24px,4vw,64px);bottom:clamp(20px,3vw,40px);display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin:0;padding:10px 26px;border:1px solid rgba(89,108,61,.58);border-radius:999px;background:rgba(251,247,236,.8);box-shadow:0 8px 24px rgba(73,57,44,.08);backdrop-filter:blur(5px);color:var(--green);font:700 16px/1.4 sans-serif;letter-spacing:.05em;text-decoration:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .28s,border-color .28s,color .28s,box-shadow .28s}
.introWatercolor .conceptGatewayLink:hover{transform:translateY(-4px) scale(1.025);background:var(--green);border-color:var(--green);color:var(--white);box-shadow:0 14px 30px rgba(61,81,42,.22)}
.introWatercolor .conceptGatewayLink:active{transform:translateY(-1px) scale(.98);box-shadow:0 7px 16px rgba(61,81,42,.18)}
.introWatercolor .conceptGatewayLink:focus-visible{outline:3px solid rgba(221,125,66,.45);outline-offset:4px}

/* Wider, more legible desktop header */
@media(min-width:901px){
  .headerInner{max-width:none;padding-left:20px;padding-right:20px;gap:28px}
  .brand img{width:64px;height:64px;margin-right:12px}
  .brand strong{font-size:21px}
  .brand small{font-size:11px}
  .siteHeader nav{gap:clamp(18px,1.8vw,30px)}
  .siteHeader nav a{font-size:15px}
  .headerCta{margin-right:-20px;padding-left:30px;padding-right:30px;font-size:15px}
  .headerCta span{font-size:11px}
}

/* Shared capsule links and a softly illustrated instructor backdrop */
.featureCard{border-radius:18px;overflow:hidden}
.capsuleLink{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 28px;border:1px solid rgba(89,108,61,.58);border-radius:999px;background:rgba(251,247,236,.86);box-shadow:0 8px 24px rgba(73,57,44,.08);backdrop-filter:blur(5px);color:var(--green);font:700 16px/1.4 sans-serif;letter-spacing:.05em;text-decoration:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .28s,border-color .28s,color .28s,box-shadow .28s}
.capsuleLink:hover{transform:translateY(-4px) scale(1.025);background:var(--green);border-color:var(--green);color:var(--white);box-shadow:0 14px 30px rgba(61,81,42,.22)}
.capsuleLink:active{transform:translateY(-1px) scale(.98)}
.capsuleLink:focus-visible{outline:3px solid rgba(221,125,66,.45);outline-offset:4px}
.teacher{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8f0dc 0%,#eef1dc 52%,#f7e7d2 100%)}
.teacher:before,.teacher:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}
.teacher:before{width:420px;height:420px;left:-150px;top:-190px;background:rgba(221,125,66,.1)}
.teacher:after{width:520px;height:520px;right:-210px;bottom:-300px;background:rgba(89,108,61,.11)}
.teacher .sectionInner{position:relative;z-index:1}

/* Concept page: a single-column picture-book narrative */
.conceptBookStory{padding:150px 0 190px;background:linear-gradient(180deg,#fbf7ec 0%,#f8f1df 48%,#fbf7ec 100%);overflow:hidden}
.bookChapter{width:min(820px,calc(100% - 48px));margin:0 auto;text-align:center}
.bookChapter h2{margin:0 0 70px;color:var(--green);font-size:clamp(30px,5vw,68px);line-height:1.4;letter-spacing:.04em;white-space:nowrap}
.bookChapter>p:not(.conceptLead):not(.chapterLabel):not(.conceptStatement){font-family:sans-serif;color:var(--muted);font-size:16px;line-height:2.25}
.bookOpening{padding-bottom:90px}
.bookWatercolor{width:min(560px,80vw);margin:0 auto;display:grid;place-items:center}
.bookWatercolor img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 24px rgba(73,57,44,.06))}
.bookWatercolorSeed{width:min(430px,72vw);margin-bottom:150px}
.bookQuestions{padding:30px 0 170px}
.bookQuestions .chapterLabel{margin-bottom:55px;color:var(--orange);font:700 13px/1.8 sans-serif;letter-spacing:.16em}
.bookQuestions>div{display:grid;gap:22px}
.bookQuestions>div p{margin:0;color:var(--green);font-size:clamp(30px,5vw,62px);line-height:1.5}
.bookQuestions>div p:nth-child(even){transform:translateX(7vw)}
.bookQuestions>div p:nth-child(odd){transform:translateX(-7vw)}
.bookScene{position:relative;width:min(1180px,calc(100% - 48px));margin:0 auto 170px;overflow:hidden;border-radius:4px}
.bookScene img{display:block;width:100%;height:min(68vh,720px);object-fit:cover;transform:scale(1.02)}
.bookScene figcaption{position:absolute;right:22px;bottom:18px;padding:7px 12px;background:rgba(251,247,236,.9);color:var(--green);font:700 11px/1.5 sans-serif}
.bookConnection{padding-bottom:140px}
.bookConnection>p:first-child{margin-bottom:55px}
.bookWatercolorSprout{margin-bottom:150px}
.bookEnding .conceptStatement{margin:70px auto;max-width:760px;padding:36px 24px;border:0;background:rgba(255,253,247,.74);font-size:clamp(23px,3vw,38px)!important;line-height:1.8!important}
.bookEnding strong{color:var(--green)}
@media(max-width:700px){.conceptBookStory{padding:100px 0 120px}.bookChapter h2{margin-bottom:50px;font-size:clamp(25px,7.1vw,34px);letter-spacing:0}.bookChapter>p:not(.conceptLead):not(.chapterLabel):not(.conceptStatement){font-size:14px}.bookOpening{padding-bottom:60px}.bookWatercolorSeed{margin-bottom:100px}.bookQuestions{padding-bottom:110px}.bookQuestions>div p:nth-child(n){transform:none}.bookScene{width:100%;margin-bottom:110px;border-radius:0}.bookScene img{height:58vh}.bookConnection{padding-bottom:90px}.bookWatercolorSprout{margin-bottom:100px}.bookEnding .conceptStatement{margin:50px auto;padding:28px 18px}}

/* Concept story image followed by consistently sized narrative copy */
.bookOpening{padding-bottom:0}
.bookStoryImage{width:min(1280px,calc(100% - 48px));margin:75px auto 90px;overflow:hidden}
.bookStoryImage img{display:block;width:100%;height:auto}
.bookExperienceCopy{display:grid;gap:55px;padding-bottom:140px}
.bookExperienceCopy>p,.bookExperienceQuestions p{margin:0;color:var(--ink);font-family:inherit!important;font-size:clamp(18px,1.8vw,24px)!important;line-height:2!important}
.bookExperienceQuestions{display:grid;gap:10px}
@media(max-width:700px){.bookOpening{padding-bottom:0}.bookStoryImage{width:100%;margin:50px auto 65px}.bookExperienceCopy{gap:38px;padding-bottom:90px}.bookExperienceCopy>p,.bookExperienceQuestions p{font-size:18px!important}}

/* Closing picture-book page */
.bookFutureImage{width:min(1280px,calc(100% - 48px));margin:0 auto 100px;overflow:hidden}
.bookFutureImage img{display:block;width:100%;height:auto}
.bookEnding{display:grid;gap:38px}
.bookEnding>p{margin:0;color:var(--ink)!important;font-family:inherit!important;font-size:clamp(18px,1.8vw,24px)!important;line-height:2!important}
.bookEnding .conceptStatement{max-width:760px;margin:12px auto;padding:32px 24px;font-size:clamp(18px,1.8vw,24px)!important;line-height:2!important}
@media(max-width:700px){.bookFutureImage{width:100%;margin-bottom:65px}.bookEnding{gap:30px}.bookEnding>p,.bookEnding .conceptStatement{font-size:18px!important}}

/* One explicit type size for every line on the closing page */
.bookEnding .bookEndingText{width:100%;max-width:820px;margin:0 auto;padding:0;color:var(--ink)!important;background:transparent;border:0;font-family:inherit!important;font-size:22px!important;font-weight:400;line-height:2!important}
.bookEnding .bookEndingEmphasis{max-width:820px;padding:26px 24px;background:rgba(255,253,247,.74)}
.bookEnding .bookEndingText strong{color:var(--ink);font-size:inherit;font-weight:700}
@media(max-width:700px){.bookEnding .bookEndingText{font-size:18px!important}.bookEnding .bookEndingEmphasis{padding:22px 16px}}

/* Uniform typography from the first heart-seed paragraph through the naming */
.conceptBookStory .bookNarrativeText{width:100%;max-width:960px;margin:0 auto;padding:0;border:0;background:transparent;color:var(--ink)!important;font-family:inherit!important;font-size:22px!important;font-weight:400!important;line-height:2!important;letter-spacing:0}
.bookExperienceQuestions .bookNarrativeText{max-width:960px}
@media(max-width:700px){.conceptBookStory .bookNarrativeText{font-size:18px!important;line-height:1.9!important}.conceptBookStory .bookNarrativeText br{display:none}}

/* Compact concept hero and full-bleed story illustrations */
.pageHero{min-height:410px}
.pageHero h1{font-size:clamp(40px,5.5vw,66px)}
.pageHero p{margin-left:0;text-align:left}
.conceptPageHero p{margin-left:1em}
.conceptBookStory .bookChapter h2{font-size:clamp(28px,4.2vw,56px)}
.conceptBookStory .bookStoryImage,.conceptBookStory .bookFutureImage{width:100%;max-width:none}
@media(max-width:700px){.pageHero{min-height:350px}.pageHero h1{font-size:38px}.conceptBookStory .bookChapter h2{font-size:clamp(24px,6.7vw,31px)}}

/* Lesson introduction uses the same quiet typography as the concept story */
.lessonPageHero p{margin-left:1em}
.schoolStory{background:var(--paper);color:var(--ink)}
.schoolStoryIntro h2{margin:0 0 44px;color:var(--green);font-size:clamp(28px,4.2vw,56px);line-height:1.4;letter-spacing:.04em}
.schoolStoryIntro .schoolStatement{margin:0 0 32px;color:var(--green)!important;font-family:inherit!important;font-size:clamp(20px,2.1vw,30px)!important;font-weight:700;line-height:1.75!important}
.schoolStoryIntro>p:not(.eyebrow){color:var(--muted)}
.schoolExplanation article{border-color:var(--line);background:var(--white)}
.schoolExplanation h3{color:var(--green)}
.schoolExplanation p{color:var(--muted)}
.schoolExplanation strong{color:var(--ink)}
@media(max-width:700px){.schoolStoryIntro h2{font-size:clamp(24px,6.7vw,31px)}}

.schoolStoryIntro{margin-bottom:0}
.lessonStoryImage{width:100%;margin:75px auto 90px;overflow:hidden}
.lessonStoryImage img{display:block;width:100%;height:auto}
.lessonStoryLead{width:min(920px,calc(100% - 48px));margin:0 auto 100px;text-align:center;color:var(--muted);font-family:sans-serif;font-size:22px;line-height:1.9}
@media(max-width:700px){.lessonStoryImage{margin:50px auto 65px}.lessonStoryLead{margin-bottom:70px;font-size:18px}}

/* Sequential thought bubbles over the sticky cooking photograph */
.wonderTrack{view-timeline-name:--wonder-bubbles;view-timeline-axis:block}
.wonderQuestions{position:sticky;top:84px;height:calc(100vh - 84px);margin-top:calc(-100vh + 84px);padding:0;display:block;z-index:3;pointer-events:none}
.wonderQuestions p{position:absolute;width:max-content;max-width:min(42vw,560px);margin:0;padding:18px 25px;border:1px solid rgba(89,108,61,.3);border-radius:38px;background:rgba(255,253,247,.95);box-shadow:0 16px 45px rgba(45,38,29,.16);color:var(--deep);font-family:"UD Digi Kyokasho NK-R","BIZ UDPGothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(17px,2vw,29px);font-weight:600;letter-spacing:.035em;line-height:1.55;opacity:0;transform:translateY(24px) scale(.82);transform-origin:center bottom;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--wonder-bubbles;animation-range:entry 0% exit 100%}
.wonderQuestions p:after{content:"";position:absolute;width:18px;height:18px;bottom:-10px;background:inherit;border-right:1px solid rgba(89,108,61,.3);border-bottom:1px solid rgba(89,108,61,.3);transform:rotate(45deg)}
.wonderQuestions p:nth-child(1){left:5vw;top:11%;animation-name:wonderBubble1}.wonderQuestions p:nth-child(1):after{left:28%}
.wonderQuestions p:nth-child(2){right:4vw;top:13%;animation-name:wonderBubble2}.wonderQuestions p:nth-child(2):after{right:24%}
.wonderQuestions p:nth-child(3){left:6vw;bottom:20%;animation-name:wonderBubble3}.wonderQuestions p:nth-child(3):after{left:36%}
.wonderQuestions p:nth-child(4){right:4vw;bottom:7%;animation-name:wonderBubble4}.wonderQuestions p:nth-child(4):after{right:30%}
@keyframes wonderBubble1{0%,11%{opacity:0;transform:translateY(24px) scale(.82)}17%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble2{0%,29%{opacity:0;transform:translateY(24px) scale(.82)}35%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble3{0%,47%{opacity:0;transform:translateY(24px) scale(.82)}53%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble4{0%,65%{opacity:0;transform:translateY(24px) scale(.82)}71%,100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.wonderQuestions{top:68px;height:calc(100vh - 68px);margin-top:calc(-100vh + 68px)}.wonderQuestions p{max-width:82vw;padding:13px 17px;border-radius:28px;font-size:16px}.wonderQuestions p:nth-child(1){left:4vw;top:8%}.wonderQuestions p:nth-child(2){right:4vw;top:27%}.wonderQuestions p:nth-child(3){left:4vw;top:49%;bottom:auto}.wonderQuestions p:nth-child(4){right:4vw;bottom:8%}}

/* Cloud-shaped inner-thought bubbles; lower bubbles point back up to the children */
.wonderQuestions p{border-radius:48% 52% 46% 54% / 54% 46% 56% 44%}
.wonderQuestions p:before,.wonderQuestions p:after{content:"";position:absolute;border-radius:50%;background:rgba(255,253,247,.95);border:1px solid rgba(89,108,61,.3);transform:none}
.wonderQuestions p:after{width:15px;height:15px;bottom:-13px}
.wonderQuestions p:before{width:8px;height:8px;bottom:-27px}
.wonderQuestions p:nth-child(1):after{left:28%}.wonderQuestions p:nth-child(1):before{left:24%}
.wonderQuestions p:nth-child(2):after{right:24%}.wonderQuestions p:nth-child(2):before{right:20%}
.wonderQuestions p:nth-child(3):after,.wonderQuestions p:nth-child(4):after{top:-13px;bottom:auto}
.wonderQuestions p:nth-child(3):before,.wonderQuestions p:nth-child(4):before{top:-27px;bottom:auto}
.wonderQuestions p:nth-child(3):after{left:36%}.wonderQuestions p:nth-child(3):before{left:31%}
.wonderQuestions p:nth-child(4):after{right:30%}.wonderQuestions p:nth-child(4):before{right:25%}
@keyframes wonderBubble1{0%,25%{opacity:0;transform:translateY(24px) scale(.82)}31%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble2{0%,43%{opacity:0;transform:translateY(24px) scale(.82)}49%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble3{0%,61%{opacity:0;transform:translateY(24px) scale(.82)}67%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble4{0%,79%{opacity:0;transform:translateY(24px) scale(.82)}85%,100%{opacity:1;transform:translateY(0) scale(1)}}

/* Mirrored, single-line bubbles with a longer final hold */
.wonderTrack{min-height:360vh}
.wonderQuestions p{width:max-content;max-width:none;white-space:nowrap}
.wonderQuestions p:nth-child(1){left:auto;right:5vw}
.wonderQuestions p:nth-child(2){right:auto;left:4vw}
.wonderQuestions p:nth-child(3){left:auto;right:6vw}
.wonderQuestions p:nth-child(4){right:auto;left:4vw}
.wonderQuestions p:nth-child(1):after{left:auto;right:28%}.wonderQuestions p:nth-child(1):before{left:auto;right:24%}
.wonderQuestions p:nth-child(2):after{right:auto;left:24%}.wonderQuestions p:nth-child(2):before{right:auto;left:20%}
.wonderQuestions p:nth-child(3):after{left:auto;right:36%}.wonderQuestions p:nth-child(3):before{left:auto;right:31%}
.wonderQuestions p:nth-child(4):after{right:auto;left:30%}.wonderQuestions p:nth-child(4):before{right:auto;left:25%}
@keyframes wonderBubble1{0%,32%{opacity:0;transform:translateY(24px) scale(.82)}38%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble2{0%,46%{opacity:0;transform:translateY(24px) scale(.82)}52%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble3{0%,60%{opacity:0;transform:translateY(24px) scale(.82)}66%,100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes wonderBubble4{0%,70%{opacity:0;transform:translateY(24px) scale(.82)}76%,100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.wonderTrack{min-height:330vh}.wonderQuestions p{max-width:94vw;font-size:clamp(13px,3.8vw,16px)}.wonderQuestions p:nth-child(1){left:auto;right:3vw}.wonderQuestions p:nth-child(2){right:auto;left:3vw}.wonderQuestions p:nth-child(3){left:auto;right:3vw}.wonderQuestions p:nth-child(4){right:auto;left:3vw}}

/* Mirror only the bubble artwork for messages 2 and 4; keep their positions */
.wonderQuestions p:nth-child(2),.wonderQuestions p:nth-child(4){border-radius:52% 48% 54% 46% / 46% 54% 44% 56%}
.wonderQuestions p:nth-child(2):after{left:auto;right:24%}.wonderQuestions p:nth-child(2):before{left:auto;right:20%}
.wonderQuestions p:nth-child(4):after{left:auto;right:30%}.wonderQuestions p:nth-child(4):before{left:auto;right:25%}

/* Show all four thoughts together once the photograph is fully in view */
.wonderTrack{min-height:240vh}
.wonderQuestions p:nth-child(n){animation-name:wonderBubblesTogether}
@keyframes wonderBubblesTogether{0%,32%{opacity:0;transform:translateY(24px) scale(.82)}40%,100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.wonderTrack{min-height:225vh}}

/* Use a dedicated portrait photograph for the mobile thought-bubble scene. */
.wonderPhoto picture{display:block;width:100%;height:100%}
@media(max-width:700px){
  .wonderPhoto{background:var(--deep)}
  .wonderPhoto:before{display:none}
  .wonderPhoto:after{z-index:2}
  .wonderPhoto img{position:relative;z-index:1;display:block;width:100%;height:100%;margin:0;object-fit:cover;animation:none}
  .wonderQuestions p{padding:15px 19px;font-size:clamp(14px,4vw,17px)}
}

/* One continuous story: try, notice, learn, and gain confidence */
.learningStory{background:linear-gradient(180deg,#f7efdc,#fbf7ec);padding-bottom:140px}
.learningStoryImage{width:100%;margin:0 0 120px;overflow:hidden}
.learningStoryImage img{display:block;width:100%;height:auto}
.learningStoryLayout{display:grid;grid-template-columns:.75fr 1.25fr;gap:110px;align-items:start}
.learningStoryHeading{position:sticky;top:120px}
.learningStoryHeading h2{margin:0 0 30px;color:var(--green);font-size:clamp(42px,5vw,68px);line-height:1.4}
.learningStoryHeading p{margin:0;color:var(--muted);font-family:sans-serif;font-size:18px;line-height:2}
.learningStoryCopy{display:grid;gap:0}
.learningStoryCopy>p{margin:0;padding:48px 0;border-top:1px solid var(--line);color:var(--ink);font-family:sans-serif;font-size:18px;line-height:2.15}
.learningStoryCopy>p:last-child{border-bottom:1px solid var(--line)}
.learningStoryCopy strong{color:var(--green)}
.learningStoryCopy .learningConfidence{font-family:inherit;font-size:clamp(25px,2.7vw,38px);line-height:1.8}
.learningStoryCopy .learningClosing{font-family:inherit;font-size:clamp(21px,2.2vw,30px);line-height:1.9}
@media(max-width:900px){.learningStory{padding-bottom:90px}.learningStoryImage{width:100%;margin-bottom:80px}.learningStoryImage img{width:120%;max-width:none;height:auto;transform:none}.learningStoryLayout{grid-template-columns:1fr;gap:55px}.learningStoryHeading{position:relative;top:auto}.learningStoryHeading h2{font-size:42px}.learningStoryCopy>p{padding:34px 0;font-size:16px}}

.learningStoryCopy>p,.learningStoryCopy .learningConfidence,.learningStoryCopy .learningClosing{border:0!important;font-family:inherit!important;font-size:clamp(21px,2.2vw,30px)!important;line-height:1.9!important}
@media(max-width:900px){.learningStoryCopy>p,.learningStoryCopy .learningConfidence,.learningStoryCopy .learningClosing{font-size:21px!important}}

.classCard .classDetailLink{margin-top:28px}

@media(min-width:901px){.learningStoryCopy{padding-top:calc(100vh - 200px)}}

.narrativeFade{opacity:0;transform:translateY(54px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1);will-change:opacity,transform}
.narrativeFade.isVisible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.narrativeFade{opacity:1;transform:none;transition:none}}

/* Soft sticky-note cards for the two classroom principles */
.schoolExplanation article{position:relative;border:0;clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%);box-shadow:0 18px 34px rgba(73,57,44,.13);padding:54px 45px 45px}
.schoolExplanation article:first-child{background:#fff4bf}
.schoolExplanation article:last-child{background:#e5efcf}
.schoolExplanation article:before{content:"";position:absolute;z-index:2;top:4px;left:50%;width:92px;height:28px;transform:translateX(-50%) rotate(-2deg);background:rgba(255,255,255,.58);box-shadow:0 1px 2px rgba(73,57,44,.08)}
.schoolExplanation article:last-child:before{transform:translateX(-50%) rotate(2deg)}
.schoolExplanation article:after{content:"";position:absolute;right:0;top:0;width:24px;height:24px;background:rgba(73,57,44,.09);clip-path:polygon(0 0,0 100%,100% 100%)}
.schoolExplanation article h3{margin-top:0;margin-bottom:2em;color:#344722;font-size:clamp(23px,1.9vw,27px);line-height:1.5;white-space:nowrap}
.schoolExplanation article p{color:#493f35;font-size:18px;line-height:1.95}
.schoolExplanation article strong{color:#293b1e}
@media(max-width:700px){.schoolExplanation article{padding:46px 28px 32px}.schoolExplanation article h3{font-size:23px;white-space:normal}.schoolExplanation article p{font-size:17px}}

@media(max-width:900px){.introWatercolor{min-height:650px;margin-top:50px;background-position:58% center}.introWatercolorInner{display:block;min-height:0;padding-top:40px}.introWatercolor h2{font-size:clamp(38px,9vw,58px)}}
@media(max-width:560px){.introWatercolor{min-height:600px;background-position:63% center}.introWatercolorInner{min-height:0;padding-top:34px}.introWatercolor h2{font-size:40px}}

/* HERO 2026: natural food-education classroom photograph. */
.hero{background-image:url('../images/hero-tanemaki-class-v3.png');background-position:center 58%}
@media(max-width:900px){.hero{background-position:64% 56%}.heroShade{background:linear-gradient(90deg,rgba(44,38,26,.78),rgba(44,38,26,.52) 62%,rgba(44,38,26,.14))}}

/* Simplified HERO copy and an unambiguous downward scroll cue. */
.hero h1{font-size:clamp(36px,4.2vw,58px)}
.heroScroll{display:flex;flex-direction:column;align-items:center;gap:8px;writing-mode:horizontal-tb;line-height:1}
.heroScroll>span{font-size:18px;line-height:1}
@media(max-width:560px){.hero h1{font-size:32px;line-height:1.45}.heroScroll{left:20px}}

/* Nudge the complete HERO copy group toward the quieter upper-left area. */
.heroInner{transform:translate(-22px,-34px)}
@media(max-width:900px){.heroInner{transform:translate(-6px,-24px)}}

/* Two class-specific trial routes in the footer contact panel. */
.contactClassButtons{display:flex;align-items:center;justify-content:center;gap:12px}
.contactClassButtons .contactTrialButton{min-width:158px}
@media(max-width:700px){.contactClassButtons{width:min(100%,360px);flex-direction:row;gap:8px}.contactClassButtons .contactTrialButton{width:auto;min-width:0;flex:1;padding-left:12px;padding-right:12px;white-space:nowrap}}

/* Accessible mobile navigation drawer. */
.menuToggle,.menuBackdrop{display:none}
@media(max-width:900px){
  body.isMenuOpen{overflow:hidden}
  .headerInner{gap:8px}
  .brand{min-width:0}
  .headerCta{margin-left:auto;margin-right:0;padding:10px 12px;flex:0 0 auto}
  .menuToggle{position:relative;z-index:24;width:52px;height:68px;margin-right:-16px;padding:0;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink);cursor:pointer}
  .menuToggle span{display:block;width:23px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease}
  .isMenuOpen .menuToggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .isMenuOpen .menuToggle span:nth-child(2){opacity:0}
  .isMenuOpen .menuToggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .siteHeader nav{position:fixed;z-index:23;top:68px;right:0;width:min(84vw,360px);height:calc(100dvh - 68px);margin:0;padding:38px 30px 48px;background:var(--paper);display:flex;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;visibility:hidden;transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.7,.25,1),visibility 0s linear .3s;box-shadow:-18px 0 42px rgba(73,57,44,.16)}
  .siteHeader nav a{padding:17px 4px;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:.04em}
  .siteHeader nav a:after{display:none}
  .menuBackdrop{position:fixed;z-index:22;inset:68px 0 0;display:block;background:rgba(44,38,26,.38);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}
  .isMenuOpen .siteHeader nav{visibility:visible;transform:translateX(0);transition-delay:0s}
  .isMenuOpen .menuBackdrop{opacity:1;visibility:visible;transition-delay:0s}
}
@media(max-width:390px){
  .brand strong{font-size:14px}
  .brand small{font-size:7px}
  .headerCta{padding-left:9px;padding-right:9px}
}
@media(prefers-reduced-motion:reduce){
  .menuToggle span,.siteHeader nav,.menuBackdrop{transition:none}
}

