.wordmark{font-family:var(--font-en);font-weight:800;letter-spacing:-.04em;line-height:1.1;color:var(--color-main);font-size:clamp(27px,3vw,43px)}.wordmark span{display:block;font-family:var(--font-body);font-size:15px;letter-spacing:.2em;margin-top:14px}.header-wordmark{font-size:17px;letter-spacing:-.03em}.new-nav{display:flex;gap:6px}.new-nav a{display:flex;align-items:center;gap:4px;font-weight:900;font-size:13px;padding:3px 3px 3px 7px;border:2px solid var(--color-main);border-radius:999px;background:var(--green)}.new-nav a+ a{background:var(--blue)}.new-nav span{width:24px;height:24px;border:2px solid var(--color-main);border-radius:50%;background:var(--paper)}.new-nav .icon{width:100%;height:100%}.icon{display:block;width:100%;height:100%;color:var(--color-main)}.pink{fill:var(--pink)}.blue{fill:var(--blue)}.green{fill:var(--green)}.peach{fill:var(--peach)}.paper{fill:var(--paper)}.inkfill{fill:var(--color-main)}.icon-badge{flex-shrink:0;display:grid;place-items:center;background:var(--paper);border:var(--stroke) solid var(--color-main);border-radius:50%;width:82px;height:82px;padding:6px;color:var(--color-main);box-shadow:4px 5px 0 var(--icon-shadow)}
.rail-brand,.rail-links{position:relative;z-index:2;width:min(100%,300px);min-width:0}.rail-tag{font-family:var(--font-en);font-size:13px;letter-spacing:.1em;font-weight:800;margin-bottom:25px}.rail-concept{font-family:var(--font-head);font-size:clamp(24px,2.4vw,34px);line-height:1.65;margin-top:35px}.rail-concept em{background:linear-gradient(var(--transparent) 65%,var(--green) 65%)}.rail-jobs{font-size:15px;font-weight:900;margin-top:20px}.rail-props{display:flex;gap:24px;margin-top:40px;align-items:center}.rail-book{rotate:-14deg;width:100px;height:100px}.rail-leaf{rotate:13deg;margin-top:30px}.edge-type{position:absolute;left:22px;top:50%;writing-mode:vertical-rl;translate:0 -50%;font:700 13px var(--font-en);letter-spacing:.25em}.rail--right .edge-type{left:auto;right:22px}.rail-message{font-family:var(--font-head);font-size:30px;line-height:1.5;margin-bottom:28px}.rail-links .rail-side__page{border-bottom:2px solid var(--color-main);padding-bottom:16px;margin-bottom:22px}.rail-links nav{display:grid;gap:12px}.rail-links nav a{display:flex;align-items:center;justify-content:space-between;border:2px solid var(--color-main);border-radius:999px;padding:8px 12px 8px 21px;background:var(--paper);font-size:15px;font-weight:900}.rail-links nav a:nth-child(2){background:var(--blue)}.rail-links nav a .icon{width:33px;height:33px}.rail::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,var(--transparent) 0 39px,var(--color-line) 39px 40px);opacity:.5;pointer-events:none}
.hero-content{position:relative;z-index:2;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;padding:calc(var(--header-h) + 20px) 24px 23px}.hero-tag{font-size:13px;font-weight:900;letter-spacing:.12em;border-bottom:2px solid var(--color-main);align-self:flex-start;padding-bottom:8px}.hero-heading{position:relative}.hero-heading h1{font-family:var(--font-head);font-weight:400;line-height:1.25;letter-spacing:.02em}.hero-heading h1>span{display:block;font-size:clamp(25px,3.5dvh,31px)}.hero-heading em{display:inline-block;font-size:clamp(48px,7.2dvh,64px);position:relative;z-index:1}.hero-heading em::after{content:"";position:absolute;left:0;right:0;height:18%;bottom:4%;background:var(--pink);z-index:-1;rotate:-3deg}.hero-picture{position:relative;min-height:0;width:calc(100% + 32px);margin-inline:-16px;display:grid;place-items:center}.hero-sign{display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:14px}.hero-sign>a{display:grid;place-items:center;border:2px solid var(--color-main);background:var(--green);border-radius:50%;width:46px;height:46px;font-size:25px;box-shadow:3px 3px 0 var(--color-main)}
.ghost-roll{position:absolute;top:75px;left:0;right:0;overflow:hidden;display:flex;white-space:nowrap;font:800 var(--ghost-size)/1 var(--font-en);color:var(--muted);pointer-events:none;opacity:.65}.ghost-roll>span{flex-shrink:0;animation:marquee var(--marquee-duration) linear infinite}.chapter-head{display:grid;gap:12px}.chapter-line{display:flex;align-items:center;gap:10px}.chapter-number{font:800 13px/1 var(--font-en);background:var(--color-main);color:var(--paper);padding:8px 10px;border-radius:30px}.chapter-en{font:800 13px var(--font-en);letter-spacing:.06em}.chapter-rule{height:2px;flex:1;background:var(--color-main)}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.new-title{font:400 var(--head-size)/1.45 var(--font-head);letter-spacing:.01em;max-width:calc(100% - 80px)}.title-icon{width:65px;height:65px;rotate:12deg}.body-group{display:grid;gap:var(--sp-p)}.body-group strong{background:linear-gradient(var(--transparent) 64%,var(--peach) 64%);font-weight:900}.thought-intro{font-size:1.15em;line-height:1.6;font-weight:900}.question-scene{position:relative;padding-right:23px;display:grid;gap:14px}.question{position:relative;border:2px solid var(--color-main);padding:14px 16px;border-radius:18px;background:var(--paper);font-size:1em;box-shadow:4px 4px 0 var(--pink-shadow)}.question-one{margin-right:17px;rotate:-2deg}.question-two{margin-left:20px;rotate:1.5deg;background:var(--peach);box-shadow:4px 4px 0 var(--color-main)}.question::after{content:"";position:absolute;width:12px;height:12px;background:inherit;border-bottom:2px solid var(--color-main);border-right:2px solid var(--color-main);rotate:45deg;bottom:-8px;left:22px}.question-mark{position:absolute;right:0;top:-12px;font:800 36px var(--font-en);rotate:15deg;color:var(--ink-soft)}.closing-art{height:80px;position:relative;flex-shrink:0}.terrain{height:100%;width:100%;overflow:hidden}.terrain svg{display:block;width:100%;height:100%}.land-back{fill:var(--green)}.land-front{fill:var(--ink-soft)}.land-dots{fill:var(--paper);opacity:.6}.learning-scene{height:var(--fig-h);position:relative;display:flex;justify-content:center;gap:17px;align-items:center;flex-shrink:0}.learning-close{display:grid;gap:12px}.small-quote{font-size:max(13px,.95em)}.commitment{padding:13px 15px;background:var(--color-main);color:var(--paper);border-radius:8px;box-shadow:5px 5px 0 var(--green);font-size:1.05em}.rest-quote{padding:16px;border:2px solid var(--color-main);border-radius:14px;background:var(--blue);box-shadow:5px 5px 0 var(--color-main);font-size:1.08em;line-height:1.6}.rest-scene{height:var(--fig-h);position:relative;flex-shrink:0}.cup-badge{position:absolute;left:18%;bottom:12px;width:75px;height:75px;rotate:-10deg}.rest-sprout{position:absolute;right:9%;top:0;width:63px;height:63px;rotate:14deg}.section-thought{--color-base:var(--pale-green)}.section-learning{--color-base:var(--paper)}.section-rest{--color-base:var(--pale-peach)}.page-meter{position:absolute;bottom:12px;left:24px;z-index:10;display:flex;align-items:center;gap:5px;font:700 13px var(--font-en);background:var(--paper);border-radius:20px;padding:4px 9px;pointer-events:none}.meter-number{font-size:15px}.page-meter i{width:5px;height:5px;background:var(--color-line);border-radius:50%}.page-meter i.on{background:var(--color-main)}.page-meter:has(.meter-number[data-top]){opacity:0}
@keyframes marquee{to{transform:translateX(-100%)}}.new-nav span{animation:icon-nod 5s cubic-bezier(.65,0,.35,1) 1.2s infinite}.new-nav a+ a span{animation-delay:3.7s}.chapter-head.is-on .chapter-en{animation:label-in 368ms cubic-bezier(.2,1.5,.45,1) both}.chapter-head.is-on .new-title{animation:label-in 368ms cubic-bezier(.2,1.5,.45,1) 140ms both}.hero-sign>a span{animation:arrow-hop 1.8s cubic-bezier(.65,0,.35,1) infinite}@keyframes icon-nod{0%,84%,100%{transform:rotate(0) scale(1)}88%{transform:rotate(-12deg) scale(1.06)}92%{transform:rotate(8deg)}96%{transform:rotate(-4deg)}}@keyframes label-in{0%{opacity:0;transform:translateX(20px) skewX(-28deg)}55%{opacity:1;transform:translateX(-2px) skewX(12deg)}80%{transform:translateX(1px) skewX(-4deg)}100%{opacity:1;transform:none}}@keyframes paper-in{0%{opacity:0;transform:translateY(-11px) scale(1.12)}70%{opacity:1;transform:translateY(1px) scale(.98)}100%{transform:none}}@keyframes arrow-hop{0%,100%{translate:0 -5px;opacity:.5}50%{translate:0 5px;opacity:1}}@keyframes spark-turn{0%,80%,100%{transform:rotate(0)}90%{transform:rotate(25deg)}}
@media(max-height:700px){.hero-tag{padding-bottom:4px}.chapter-head{gap:7px}.title-icon{width:53px;height:53px}.new-title{max-width:calc(100% - 62px)}.question{padding:9px 13px}.question-scene{gap:12px}.closing-art{height:55px}.rest-quote{padding:12px}.cup-badge{width:52px;height:52px;bottom:5px}.rest-sprout{width:48px;height:48px}.learning-close{gap:7px}.commitment{padding:9px 12px}}
@media(max-height:580px){.hero-tag{font-size:13px}.hero-sign>a{width:36px;height:36px}.chapter-number{padding:5px 8px}.chapter-en{font-size:13px}.title-icon{width:45px;height:45px;padding:2px}.new-title{font-size:22px;max-width:calc(100% - 54px)}.closing-art{height:38px}.question{font-size:13px;padding:7px 10px}.question-scene{gap:10px}.rest-quote{padding:9px}.learning-scene{height:52px}.rest-scene{height:50px}.cup-badge{width:45px;height:45px}.rest-sprout{width:40px;height:40px}.ghost-roll{font-size:70px}}

@media(min-width:901px) and (max-width:1200px){.edge-type{display:none}}

.learning-town{width:100%;height:100%;min-height:0;object-fit:contain;position:relative;z-index:2}
.world-background{position:absolute;inset:0;overflow:clip;pointer-events:none;color:var(--blue)}
.world-disc{position:absolute;width:95%;aspect-ratio:1;left:2.5%;top:34%;border-radius:50%;background:var(--pale-blue)}
.world-orbit{position:absolute;left:50%;top:58%;border:1px solid var(--blue);border-radius:50%;opacity:.25;aspect-ratio:1;translate:-50% -50%;animation:world-turn linear infinite}
.world-orbit i{position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--blue)}
.orbit-one{width:116%;animation-duration:28s}.orbit-two{width:144%;animation-duration:44s;animation-direction:reverse}.orbit-three{width:175%;animation-duration:32s;opacity:.1}
.world-object{position:absolute;display:block;opacity:.4}.world-object svg{display:block;width:100%;height:100%;animation:world-turn linear infinite}
.object-one{width:44px;right:2%;top:60%}.object-one svg{animation-duration:60s}
.object-two{width:34px;left:5%;top:35%}.object-two svg{animation-duration:60s;animation-direction:reverse}
.object-three{width:18px;left:67%;top:29%;opacity:.2}.object-three svg{animation-duration:20s}
.object-four{width:30px;left:1%;top:51%}.object-four svg{animation-duration:60s;animation-direction:reverse}
.object-five{width:24px;right:7%;top:79%}.object-five svg{animation-duration:40s}
@keyframes world-turn{to{transform:rotate(360deg)}}
.chapter-head.rv,.learning-scene.rv{transition:none}
.little-arrival{position:absolute;bottom:2px;left:20%;height:64px;z-index:2}
.little-person{display:block;height:100%;width:auto;overflow:visible}

@keyframes person-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes small-wave{0%,65%,100%{transform:rotate(0)}75%{transform:rotate(12deg)}85%{transform:rotate(-8deg)}95%{transform:rotate(5deg)}}
.lesson-world{position:relative;height:100%;width:260px;max-width:82%}
.lesson-book{display:block;width:100%;height:100%;overflow:visible}
.lesson-teacher{position:absolute;left:44%;top:-3%;height:54%;width:auto}
.lesson-pencil{transform-box:fill-box;transform-origin:50% 90%;animation:pencil-note 2.4s ease-in-out infinite}
@keyframes pencil-note{0%,50%,100%{transform:none}65%{transform:rotate(8deg)}80%{transform:rotate(-5deg)}}
.lesson-bubble{position:absolute;border-radius:50%;background:var(--blue);width:8px;height:8px;left:12%;top:25%;animation:idea-bubble 2.4s ease-out infinite}
.bubble-b{left:20%;top:6%;width:5px;height:5px;animation-delay:.6s}
@keyframes idea-bubble{0%{opacity:0;transform:translateY(5px)}35%{opacity:.6}100%{opacity:0;transform:translateY(-12px)}}
.rest-person{left:48%;height:66px}
@media(max-height:700px){.hero-content{padding-top:calc(var(--header-h) + 10px);padding-bottom:12px;gap:6px}.hero-heading em{font-size:48px}.little-arrival{height:47px}.rest-person{height:47px}}
@media(max-height:580px){.hero-heading h1>span{font-size:23px}.hero-heading em{font-size:40px}.little-arrival{height:37px}.rest-person{height:39px}}
body.motion-off .stage *,body.motion-off .stage *::before,body.motion-off .stage *::after{animation-play-state:paused}

#p1 .band-title{animation:none;display:flex;flex-direction:column;align-items:flex-start;gap:.08em}
#p1 .pf-band-paint{--pf-band:var(--green);padding:.06em .12em;white-space:nowrap}
#p1 .question-scene.rv{transition:none;transform:none}
#p1 .question-one{--pf-ink:var(--pink-shadow);--pf-delay:380ms;--pf-shadow:4px 4px 0}
#p1 .question-two{--pf-ink:var(--color-main);--pf-delay:560ms;--pf-from-rotate:-5deg;--pf-shadow:4px 4px 0}
#p3 .rest-quote{--pf-ink:var(--color-main);--pf-delay:380ms;--pf-shadow:5px 5px 0;--pf-from-rotate:-5deg}

.town-water-overlay{position:absolute;left:50%;top:50%;translate:-50% -50%;pointer-events:none}

.town-water-overlay{z-index:4;width:100%;height:100%;overflow:visible}
.town-pond,.waterfall-lines,.town-sparkles{fill:none;stroke:var(--paper);stroke-linecap:round}
.pond-ring{stroke-width:3;transform-box:fill-box;transform-origin:center;animation:pond-spread 1.8s ease-out infinite}
.ring-two{animation-delay:-.6s}.ring-three{animation-delay:-1.2s}
@keyframes pond-spread{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}
.water-glint{stroke-width:3;animation:water-shimmer 1.4s ease-in-out infinite alternate}
@keyframes water-shimmer{to{opacity:.25;transform:translateX(12px)}}
.waterfall-lines{stroke-width:4;stroke-dasharray:13 12;opacity:.8;animation:waterfall-flow .6s linear infinite}
.fall-second{animation-duration:.75s}
@keyframes waterfall-flow{to{stroke-dashoffset:-25}}
.water-spark{stroke-width:3;transform-box:fill-box;transform-origin:center;animation:water-sparkle 1.2s ease-in-out infinite}
.spark-two{animation-delay:-.6s}
@keyframes water-sparkle{0%,100%{transform:scale(.5);opacity:.2}50%{transform:scale(1.5);opacity:1}}
.town-butterfly{fill:var(--pink);stroke:var(--warm-ink);stroke-width:1}
.butterfly-one{animation:butterfly-trip 4s ease-in-out infinite}
.butterfly-two{fill:var(--blue);animation:butterfly-trip-two 4.8s ease-in-out infinite}
@keyframes butterfly-trip{0%,100%{transform:translate(380px,625px) rotate(-16deg)}50%{transform:translate(436px,568px) rotate(17deg)}}
@keyframes butterfly-trip-two{0%,100%{transform:translate(986px,280px) rotate(20deg)}50%{transform:translate(1036px,233px) rotate(-20deg)}}
#top:not(.is-active) .town-water-overlay *{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.town-water-overlay{display:none}}

.header-brand{display:flex;align-items:center;gap:4px}.mobile-menu-toggle{display:grid;align-content:center;gap:5px;width:22px;height:32px;padding:3px;border:0;background:var(--transparent);color:var(--color-main);cursor:pointer}.mobile-menu-toggle span{height:2px;background:currentColor;border-radius:2px}.column.is-long .page-meter{display:none}
.rail-links .rail-side__page{flex-wrap:wrap;row-gap:6px}.rail-side__name{min-width:0;max-width:100%;overflow-wrap:anywhere}.company-details dt{white-space:nowrap}
.section-message{--color-base:var(--pale-blue)}.section-values{--color-base:var(--pale-green)}.section-invitation{--color-base:var(--pale-peach)}.section-company{--color-base:var(--paper)}.section-jobs{--color-base:var(--pale-blue)}.section-entry{--color-base:var(--pale-green)}
.message-note{background:var(--paper);border:2px solid var(--color-main);border-radius:16px;padding:18px;box-shadow:5px 5px 0 var(--blue-shadow)}.message-note strong,.values-close strong,.invitation-copy strong{background:linear-gradient(var(--transparent) 60%,var(--pink) 60%);font-weight:900}
.support-scene{position:relative;height:clamp(80px,18dvh,155px);flex-shrink:0}.support-classroom{width:100%;height:100%;display:block}.support-teacher,.support-colleague{position:absolute;bottom:2%}.support-teacher{height:64%;left:49%}.support-colleague{left:67%;height:52%;scale:-1 1}.support-colleague .person-body>path:nth-child(5){fill:var(--blue)}
.section-invitation .page__inner{min-height:100dvh;justify-content:center;gap:var(--sp-g)}.section-values .body,.section-invitation .body{font-size:max(13px,.96em)}.classroom-portals{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:5px 0}.classroom-link{position:relative;display:grid;gap:10px;justify-items:center;text-align:center}.classroom-circle{display:block;width:100%;max-width:160px;aspect-ratio:1;border:3px solid var(--color-main);border-radius:50%;overflow:clip;background:var(--paper);box-shadow:4px 5px 0 var(--icon-shadow)}.classroom-circle svg{width:100%;height:100%;display:block}.classroom-label{font-size:14px;font-weight:900;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.portal-arrow{position:absolute;right:0;top:calc(100% - 70px);display:grid;place-items:center;width:32px;height:32px;background:var(--color-main);color:var(--paper);border-radius:50%;font-size:22px}.warm-tree{fill:var(--warm-ink)}.classroom-blossoms,.classroom-leaves{transform-box:fill-box;transform-origin:center bottom;animation:branch-sway 2.8s ease-in-out infinite alternate}@keyframes branch-sway{to{transform:rotate(6deg)}}.values-close{border-top:2px solid var(--color-main);padding-top:16px}.invitation-copy{display:grid;gap:var(--sp-p)}.closing-world{height:clamp(75px,12dvh,115px);display:flex;align-items:center;gap:18px}.closing-world img{height:100%;width:auto;aspect-ratio:1;object-fit:contain}.closing-world-line{height:2px;flex:1;background:var(--color-main)}
.full-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--blue);color:var(--color-main);font:900 16px/1.5 var(--font-body);padding:15px 20px;border:2px solid var(--color-main);border-radius:999px;box-shadow:4px 5px 0 var(--color-main);cursor:pointer;min-height:54px;text-align:left}.full-cta>span{font-size:24px}.full-cta:hover{background:var(--green)}.full-cta:disabled{opacity:.5;cursor:default;box-shadow:none}.section-next{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--color-main);padding:15px 0;font-size:16px;font-weight:900;margin-top:12px}.company-details{border-top:2px solid var(--color-main)}.company-details>div{display:grid;grid-template-columns:112px 1fr;gap:12px;border-bottom:1px solid var(--color-line);padding:18px 0;font-size:15px;font-weight:700}.company-details dt{font-weight:900}.company-details dd{overflow-wrap:anywhere}.address-list{display:grid;gap:16px;margin-top:10px}.address-list>h3{font-size:18px;font-weight:900}.address-card{position:relative;background:var(--pale-green);border:2px solid var(--color-main);border-radius:14px;padding:19px 17px;box-shadow:4px 5px 0 var(--icon-shadow)}.address-card:nth-last-child(-n+2){background:var(--pale-peach);box-shadow:4px 5px 0 var(--pink-shadow)}.address-card h4{font-size:15px;font-weight:900;line-height:1.6;padding-right:36px}.address-card h4 span{display:block;font-size:20px;margin-top:2px}.address-card p{font-size:14px;font-weight:700;line-height:1.7;margin-top:10px}.address-decoration{position:absolute;right:14px;top:17px;width:36px;height:36px}
.job-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.job-tabs button{font:900 16px/1.5 var(--font-body);padding:12px 10px;border:2px solid var(--color-main);border-radius:12px;background:var(--paper);color:var(--color-main);cursor:pointer}.job-tabs button[aria-selected="true"]{background:var(--green);box-shadow:3px 4px 0 var(--color-main)}.job-panel{background:var(--paper);border:2px solid var(--color-main);border-radius:14px;padding:20px;margin-top:10px}.job-panel[hidden]{display:none}.job-panel h3{font-size:18px;margin-bottom:18px}.job-details>div{display:grid;grid-template-columns:105px 1fr;gap:8px;padding:13px 0;border-top:1px solid var(--color-line);font-size:14px;line-height:1.7}.job-details dt{font-weight:900}.job-details dd{font-weight:700}.section-jobs .full-cta{margin-top:10px}
.entry-form{display:grid;gap:22px;margin-top:10px}.entry-field{display:grid;gap:9px}.entry-field label{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:900;flex-wrap:wrap}.entry-field label>span{font-size:13px;line-height:1.4;background:var(--pink);border-radius:4px;padding:2px 6px}.entry-field label>.optional{background:var(--muted)}.entry-field input,.entry-field textarea,.entry-field select{display:block;width:100%;min-width:0;border:2px solid var(--color-main);border-radius:9px;background:var(--paper);color:var(--color-main);font:700 16px/1.6 var(--font-body);padding:11px 12px;box-sizing:border-box}.entry-field textarea{resize:vertical;min-height:120px}.entry-field [aria-invalid="true"]{border-color:var(--color-error)}.field-error{font-size:13px;font-weight:700;color:var(--color-error)}.field-error:empty{display:none}.entry-review{margin-top:12px}.entry-review[hidden],.entry-form[hidden]{display:none}.entry-review h3{font-size:22px;margin-bottom:22px}.entry-review dl>div{padding:16px 0;border-top:1px solid var(--color-line)}.entry-review dt{font-size:14px;font-weight:900;margin-bottom:8px}.entry-review dd{font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}.review-actions{display:grid;gap:20px;margin-top:25px}.review-back{font:900 15px var(--font-body);background:var(--paper);color:var(--color-main);border:2px solid var(--color-main);border-radius:999px;min-height:48px;cursor:pointer}.site-footer{border-top:2px solid var(--color-main);padding-top:24px;margin-top:30px;display:grid;gap:12px}.site-footer>a{font:900 16px var(--font-body);display:flex;align-items:center;justify-content:space-between}.site-footer small{font:700 13px/1.5 var(--font-en)}
.menu-toggle{border:0;border-bottom:1px solid var(--color-main);background:var(--transparent);color:var(--color-main);font:900 14px var(--font-body);padding:16px 0 8px;width:100%;display:flex;justify-content:space-between;cursor:pointer}.full-menu{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:24px;border:2px solid var(--color-main);border-radius:18px;background:var(--paper);color:var(--color-main);overflow:auto}.full-menu::backdrop{background:var(--color-shadow)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.menu-top p{font:800 22px var(--font-en)}.menu-close{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--color-main);border-radius:50%;background:var(--green);color:var(--color-main);font-size:26px;cursor:pointer}.full-menu nav{display:grid}.full-menu nav a{display:flex;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--color-line);font-size:14px;font-weight:900;line-height:1.6}.full-menu nav a>span{font:800 13px var(--font-en)}
@media(max-height:650px){.section-message .page__inner{gap:12px}.message-note{padding:12px}.section-invitation .page__inner{padding-top:calc(var(--header-h) + 24px);padding-bottom:32px;gap:18px}.classroom-circle{max-width:130px}.classroom-label{font-size:13px}.closing-world{height:80px}}
@media(max-width:380px){.header-wordmark{font-size:15px}.company-details>div{grid-template-columns:104px 1fr}.company-details dt{font-size:14px}.job-panel{padding:15px}.job-details>div{grid-template-columns:92px 1fr}}

.page--long>.page__end{position:absolute;bottom:0}
.section-values .page__inner{min-height:0;gap:clamp(8px,1.5dvh,14px)}
.section-values .classroom-portals{flex-shrink:0}
.column:has(#p5.is-active) .page-meter{display:none}
@media(max-height:700px){
 .section-values .page__inner{gap:6px}
 .section-values .body{font-size:13px;line-height:1.5}
 .section-values .chapter-head{gap:6px}
 .section-values .new-title{font-size:22px;line-height:1.35}
 .section-values .title-icon{width:48px;height:48px}
 .section-values .classroom-portals{gap:12px;margin:0}
 .section-values .classroom-circle{max-width:clamp(65px,13dvh,90px)}
 .section-values .classroom-link{gap:4px}
 .section-values .classroom-label{font-size:13px;line-height:1.4}
 .section-values .portal-arrow{width:24px;height:24px;font-size:18px;right:calc(50% - 48px);top:calc(clamp(65px,13dvh,90px) - 20px)}
 .section-values .values-close{padding-top:8px}
}

.town-cutout-layer{position:absolute;z-index:3;left:50%;top:50%;translate:-50% -50%;pointer-events:none}
.town-piece{position:absolute;animation-duration:var(--part-period);animation-delay:var(--part-delay);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused;will-change:transform}
.town-piece img{display:block;width:100%;height:100%;max-width:none}
.town-parts-running .town-piece{animation-play-state:running}
.town-piece[data-kind="tree"]{animation-name:cutout-tree-sway}
@keyframes cutout-tree-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(var(--part-sway))}75%{transform:rotate(calc(-1 * var(--part-sway)))}}
.town-piece[data-kind="standing"]{animation-name:cutout-person-lean}
@keyframes cutout-person-lean{0%,100%{transform:rotate(calc(-.6 * var(--part-sway)))}50%{transform:rotate(var(--part-sway))}}
.town-piece[data-kind="seated"]{animation-name:cutout-seated-nod}
@keyframes cutout-seated-nod{0%,100%{transform:rotate(0)}50%{transform:rotate(calc(.65 * var(--part-sway)))}}
.town-piece[data-kind="slide"]{animation-name:cutout-slide}
@keyframes cutout-slide{0%,100%{transform:translate(0,0)}50%{transform:translate(5%,10%)}}
.town-piece[data-kind="duck"]{animation-name:cutout-duck-swim}
@keyframes cutout-duck-swim{0%,100%{transform:translate(0,0) rotate(-3deg)}50%{transform:translate(17%,-5%) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.town-piece{animation:none;transform:none;will-change:auto}}

.step-leg,.step-arm,.person-hand,.bird-wing{transform-box:view-box}
.step-left{transform-origin:31px 74px;animation:art-step .64s ease-in-out infinite alternate}
.step-right{transform-origin:49px 74px;animation:art-step .64s ease-in-out infinite alternate-reverse}
.step-arm{transform-origin:24px 49px;animation:art-arm .64s ease-in-out infinite alternate-reverse}
.little-person .person-hand{transform-origin:56px 49px;animation:art-greeting 1.4s ease-in-out infinite}
@keyframes art-step{from{transform:rotate(-22deg)}to{transform:rotate(22deg)}}
@keyframes art-arm{from{transform:rotate(-16deg)}to{transform:rotate(18deg)}}
@keyframes art-greeting{0%,100%{transform:rotate(-8deg)}30%{transform:rotate(22deg)}60%{transform:rotate(-14deg)}}
.closing-art .little-arrival{left:0;animation:art-walk-across 8s linear infinite}
@keyframes art-walk-across{0%{left:3%;opacity:0}5%{opacity:1}90%{opacity:1}100%{left:86%;opacity:0}}
.rest-scene .rest-person{left:48%;animation:art-rest-walk 7s linear infinite}
@keyframes art-rest-walk{0%,100%{left:44%}50%{left:74%}}
.rest-scene .rest-person .person-hand{animation:art-greeting 2s ease-in-out infinite}
.lesson-teacher .step-leg{animation:none}
.lesson-turn-page{transform-box:view-box;transform-origin:130px 80px;animation:art-page-turn 3.2s ease-in-out infinite}
@keyframes art-page-turn{0%,15%{transform:scaleX(1)}45%{transform:scaleX(.05)}75%,90%{transform:scaleX(-1)}100%{transform:scaleX(1)}}
.lesson-teacher .person-hand{animation:art-teaching 1.8s ease-in-out infinite}
@keyframes art-teaching{0%,100%{transform:rotate(-12deg)}45%{transform:rotate(22deg)}65%{transform:rotate(12deg)}}
.support-teacher{animation:art-meet-left 7s ease-in-out infinite}
.support-colleague{animation:art-meet-right 7s ease-in-out infinite}
@keyframes art-meet-left{0%,100%{translate:-20px 0}45%,65%{translate:20px 0}}
@keyframes art-meet-right{0%,100%{translate:12px 0}45%,65%{translate:-14px 0}}
.bird-wing{transform-origin:0px 0px;animation:art-wing .18s ease-in-out infinite alternate}
@keyframes art-wing{from{transform:rotate(-40deg)}to{transform:rotate(75deg)}}
.bird-route{animation:art-bird-flight 6s linear infinite}
@keyframes art-bird-flight{0%{transform:translate(28px,30px)}50%{transform:translate(200px,17px)}100%{transform:translate(395px,30px)}}
.support-classroom .bird-route{animation-duration:7s}
.circle-walk-route{animation:art-circle-walk 6s linear infinite}
@keyframes art-circle-walk{0%{transform:translate(52px,148px);opacity:0}8%,92%{opacity:1}100%{transform:translate(124px,148px);opacity:0}}
.classroom-link:nth-child(2) .circle-walk-route{animation-delay:-3s}
.circle-bird-route{animation:art-circle-flight 4.5s linear infinite}
@keyframes art-circle-flight{0%{transform:translate(48px,45px)}50%{transform:translate(100px,36px)}100%{transform:translate(148px,45px)}}
.closing-world{position:relative}
.closing-walker{position:absolute;height:46%;bottom:0;left:40%;animation:art-closing-walk 7s linear infinite}
@keyframes art-closing-walk{0%{left:35%;opacity:0}8%,92%{opacity:1}100%{left:83%;opacity:0}}
.closing-birds{position:absolute;right:0;top:0;width:60%;height:60%;pointer-events:none}
.closing-bird-route{animation:art-closing-flight 5s linear infinite}
@keyframes art-closing-flight{from{transform:translate(15px,25px)}to{transform:translate(200px,15px)}}
.page:not(.is-active) .lesson-turn-page,.page:not(.is-active) .little-person *,.page:not(.is-active) .bird-route,.page:not(.is-active) .bird-wing,.page:not(.is-active) .circle-walk-route,.page:not(.is-active) .circle-bird-route,.page:not(.is-active) .little-arrival,.page:not(.is-active) .support-teacher,.page:not(.is-active) .support-colleague,.page:not(.is-active) .closing-walker,.page:not(.is-active) .closing-bird-route{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.step-leg,.step-arm,.person-hand,.bird-wing,.bird-route,.circle-walk-route,.circle-bird-route,.closing-art .little-arrival,.rest-scene .rest-person,.support-teacher,.support-colleague,.closing-walker,.closing-bird-route,.lesson-turn-page{animation:none}}
