/* P0-03 only: desktop rules and all detail pages remain untouched. */
.page .mobile-menu-toggle{display:none}
@media (max-width:900px){
  html{scroll-behavior:auto}
  body{min-width:0}
  .page{--u:1px;--firstview-extra:0px;width:100%;max-width:none;height:auto;overflow:clip;background-size:264px 72px}
  .page .stage2-content,.page .stage3-content,.page .stage4-content{height:auto;margin:0;overflow:visible}
  .page .scene{height:auto;min-height:0;isolation:isolate;scroll-margin-top:18px}
  .page .at{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;height:auto}
  .page main .body{font-size:16px;line-height:1.95;letter-spacing:.02em;max-width:36em;font-feature-settings:'palt'}
  .page main p.body br{display:none}
  .page .scene .button{position:relative;left:auto;top:auto;width:100%;max-width:360px;min-height:54px;height:auto;padding:13px 18px;font-size:16px;line-height:1.55;letter-spacing:.025em;gap:18px;white-space:normal;border-radius:28px;z-index:4}
  .page .scene .button>span{font-size:24px;flex:none}
  .page .handwriting{font-size:24px;line-height:1.15}
  .page .photo{position:relative;left:auto;top:auto;flex:none;margin:0;z-index:2}
  .page .photo>img{left:0;top:0;width:100%;height:100%;object-fit:cover}
  .page .header{height:90px;min-height:90px;padding:17px 16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;align-items:center;gap:10px;z-index:30;overflow:visible}
  .page .header .brand{font-size:clamp(9px,2.5vw,13px);line-height:1.15;letter-spacing:0;gap:6px;z-index:2;min-height:44px}
  .page .header .brand img{width:clamp(28px,8vw,40px);height:auto;flex:none}
  .page .header .nursery-brand{font-size:clamp(9px,2.5vw,13px)}
  .page .header .brand-divider,.page .header>.button{display:none}
  .page .header>.paper{position:absolute;top:0;right:0;left:auto;width:160px;height:110px;object-fit:contain;object-position:top right;z-index:0;pointer-events:none}
  .page .header .mobile-menu-toggle{position:relative;display:flex;grid-column:3;grid-row:1;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:52px;border:0;padding:8px 2px;background:transparent;color:var(--ink);z-index:3;font-family:SchoolSans,sans-serif;font-size:9px;line-height:1.2}
  .mobile-menu-toggle .menu-bars{display:grid;gap:5px;width:23px}
  .mobile-menu-toggle .menu-bars i{display:block;width:23px;height:1.5px;background:currentColor}
  .page .header .top-nav{display:none;position:absolute;top:calc(100% - 1px);left:16px;right:16px;width:auto;height:auto;margin:0;padding:12px 20px;background:var(--paper) url('assets/paper/base-paper.png') repeat;background-size:264px 72px;box-shadow:0 12px 24px #4421371c;border-radius:8px;z-index:10;white-space:normal;font-size:16px;letter-spacing:.03em;max-height:calc(100svh - 115px);overflow-y:auto}
  .page .header.is-menu-open .top-nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .page .header .top-nav a{display:flex;align-items:center;min-height:48px;padding:10px 0;border-bottom:1px solid #44213718}
  .page .header .top-nav a:last-child{border:0}
  .page .hero{display:flex;flex-direction:column;align-items:center;gap:0;padding:30px 22px 52px;overflow:clip}
  .page .hero>h1{order:1;align-self:stretch;position:relative;left:auto;top:auto;width:100%;max-width:650px;height:auto;margin:0 auto;font-size:clamp(36px,9.4vw,56px);line-height:1.32;letter-spacing:0;z-index:3}
  .page .hero>.hero-english{order:2;align-self:stretch;max-width:650px;width:100%;margin:16px auto 0;font-size:22px;line-height:1.08;letter-spacing:.04em}
  .page .hero>.hero-body{order:3;align-self:stretch;max-width:650px;width:100%;margin:23px auto 0}
  .page .hero>.hero-photo{order:4;--frame-w:465;--frame-h:357;align-self:center;width:min(calc(100% + 36px),650px);height:auto;aspect-ratio:465/357;margin:28px -18px 0}
  .page .hero-photo>img{width:calc(var(--iw)*100%/var(--frame-w));height:auto;left:calc(var(--ix)*100%/var(--frame-w));top:calc(var(--iy)*100%/var(--frame-h));object-fit:initial}
  .page .hero>.paper{position:absolute;inset:0 auto 0 -70px;width:105%;height:100%;object-fit:fill;pointer-events:none}
  .page .hero>.paper.foreground{left:auto;right:-20px;top:52%;bottom:auto;width:95px;height:150px;object-fit:contain}
  .page .hero>.paper.foreground:nth-of-type(3){top:66%;right:-30px;width:110px}
  .page .hero>.hello{position:absolute;left:auto;top:auto;bottom:51px;right:22px;width:92px;height:auto;font-size:22px;z-index:4}
  .page .philosophy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 12px;padding:62px 22px 80px}
  .page .philosophy>.copy{grid-column:1/-1;grid-row:1;width:100%;max-width:620px;justify-self:center;text-align:center}
  .page .philosophy .copy h2{height:auto;margin:0 0 25px;font-size:30px}
  .page .philosophy .heading-line{position:relative;left:auto;top:auto;display:block;white-space:nowrap;font-size:clamp(27px,7.4vw,40px);line-height:1.45;letter-spacing:0}
  .page .philosophy .copy>.body{margin:0;text-align:left}
  .page .philosophy>[data-photo="philosophy-left"]{grid-column:1;grid-row:2;width:100%;height:clamp(190px,51vw,310px);align-self:start}
  .page .philosophy>[data-photo="philosophy-right"]{grid-column:2;grid-row:2;width:100%;height:clamp(190px,51vw,310px);margin-top:48px}
  .page .philosophy>[data-photo="philosophy-left"]>img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
  .page .philosophy>[data-photo="philosophy-right"]>img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:31% 50%}
  .page .philosophy>.button{grid-column:1/-1;grid-row:3;justify-self:center;margin-top:4px}
  .page .philosophy>.paper{position:absolute;top:auto;bottom:-25px;left:0;width:100%;height:260px;visibility:hidden}
  .page .philosophy>.play{position:absolute;left:45px;right:auto;top:auto;bottom:150px;width:76px;height:auto;font-size:16px}
  .page .preschool,.page .english{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:60px 22px 72px}
  .page .preschool>.section-brand,.page .english>.section-brand{order:1;position:relative;left:auto;top:auto;width:auto;height:auto;max-width:650px;margin:0 auto 28px;align-self:stretch;gap:10px;z-index:3;font-size:19px;line-height:1.2}
  .page .preschool>.section-brand{font-size:17px}
  .page .section-brand img.face,.page .section-brand img.crown{width:45px;height:auto}
  .page .preschool>[data-photo="preschool-main"],.page .english>[data-photo="english-main"]{order:2;width:min(100%,600px);height:auto;aspect-ratio:1.22;margin:0 auto 28px}
  .page .preschool>[data-photo="preschool-main"]>img,.page .english>[data-photo="english-main"]>img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:54% 50%}
  .page #preschool-title,.page #english-title{order:3;position:relative;left:auto;top:auto;width:100%;max-width:650px;height:auto;margin:0 auto 24px;--canva-pixel:clamp(.245px,.0667vw,.32px);font-size:30px;line-height:1.4}
  .page .canva-heading .canva-line{height:calc(165 * var(--canva-pixel))}
  .page .canva-heading .canva-ink{top:0}
  .page .preschool>.body,.page .english>.body{order:4;left:auto;top:auto;width:100%;height:auto;max-width:650px;align-self:center;margin:0 auto 26px;font-size:16px;line-height:1.95;letter-spacing:.02em}
  .page .preschool>.button,.page .english>.button{order:5;align-self:center;margin:0 auto}
  .page .preschool>[data-photo="preschool-small"],.page .english>[data-photo="english-small"]{order:6;width:min(73%,300px);height:auto;aspect-ratio:1.35;align-self:flex-end;margin:32px 0 0}
  .page .preschool>[data-photo="preschool-small"]>img,.page .english>[data-photo="english-small"]>img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:50% 38%}
  .page .preschool>.accent{position:absolute;left:auto;top:auto;right:28px;bottom:46px;width:38px;height:40px}
  .page .preschool-paper{height:calc(100% + 20px);top:0;z-index:0}
  .page .preschool-paper .paper-top{top:-40px;height:120px}
  .page .preschool-paper .paper-middle{top:70px;height:calc(100% - 130px);background-size:320px 380px}
  .page .preschool-paper .paper-bottom{height:80px;background-size:320px 380px}
  .page .english-paper-space{top:-20px;height:calc(100% + 40px)}
  .page .english-paper-space .intro-paper{height:100px}
  .page .english-paper-space .body-paper{top:95px;height:calc(100% - 95px);background-size:540px 440px}
  .page .english>.paper{position:absolute;inset:0;width:100%;height:100%;visibility:hidden}
  .page .english>.discover{position:absolute;left:27px;right:auto;top:auto;bottom:110px;width:100px;height:auto;font-size:22px}
  .page .learning-story{height:auto}
  .page .learning-story>.photo-story{height:auto;min-height:0;padding:34px 0 0}
  .page .photo-story>[data-photo="photo-band"]{width:100%;height:clamp(245px,62vw,420px)}
  .page .photo-story>[data-photo="photo-band"]>img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:47% 43%}
  .page .photo-story>.joy{position:absolute;left:auto;top:auto;right:22px;bottom:23px;width:135px;height:auto;font-size:25px}
  .page .learning-story>.values{display:flex;flex-direction:column;align-items:stretch;padding:44px 22px 75px;height:auto;gap:25px}
  .page .values>.body{order:2;left:auto;top:auto;width:100%;max-width:650px;height:auto;margin:0 auto;font-size:16px;line-height:1.95}
  .page .values>#values-title{order:1;left:auto;top:auto;width:100%;height:auto;max-width:650px;margin:0 auto;font-size:30px}
  .page #values-title .stage3-line{position:relative;left:auto;top:auto;font-size:clamp(27px,7.3vw,39px);line-height:1.5;white-space:nowrap}
  .page #values-title .v2{margin-left:.55em}
  .page .values>.values-words{order:3;left:auto;top:auto;width:auto;height:auto;align-self:center;display:flex;flex-wrap:wrap;gap:12px 18px;transform:rotate(-5deg);font-size:16px;line-height:1.5;letter-spacing:.1em;margin:4px 0 0}
  .page .values-words span,.page .values-words span:nth-child(2),.page .values-words span:nth-child(3){margin:0;padding:0}
  .page .values-words .dash{top:auto;bottom:-10px;width:180px;left:10px}
  .page .values>.paper{position:absolute;left:0;top:0;width:100%;height:130px;clip-path:inset(0 0 70px 0)}
  .page .story-message-paper{top:25px;height:calc(100% - 5px);z-index:0}
  .page .story-message-paper>span{background-size:682px 160px}
  .page .story-message-paper .lower-paper{height:45px}
  .page .news{display:flex;flex-direction:column;gap:25px;padding:55px 22px 72px;height:auto}
  .page .news>.paper{position:absolute;left:0;top:auto;bottom:-35px;width:100%;height:180px;clip-path:inset(80px 0 0)}
  .page .news-paper-extension{top:0;height:calc(100% - 100px);background:var(--paper) url('assets/paper/base-paper.png') repeat;background-size:264px 72px}
  .page .news-paper-extension::after{display:none}
  .page .news>.news-heading{position:relative;left:auto;top:auto;width:100%;height:auto;margin:0 0 10px}
  .page .news-heading .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.15em;margin:0 0 14px}
  .page .news #news-title{position:relative;left:auto;top:auto;white-space:nowrap;font-size:clamp(26px,7.4vw,36px);line-height:1.35}
  .page .news-heading .dash{display:none}
  .page .news>.news-item{position:relative;left:auto;top:auto;width:100%;height:auto;min-height:150px;padding:0 58px 24px 0;border-bottom:1px solid #44213726}
  .page .news-item .badge{padding:4px 15px;font-size:12px;line-height:1.5;border-radius:16px}
  .page .news-item h3{font-size:21px;line-height:1.5;letter-spacing:0;margin:12px 0 8px}
  .page .news-item h3 a{display:inline-block;min-height:44px;padding:4px 0}
  .page .news-item .body{font-size:15px;line-height:1.85;margin:0}
  .page .news-item .round-arrow{width:44px;height:44px;right:0;top:53px;font-size:23px}
  .page .news>.news-divider{display:none}
  .page .news>.prototype-label{position:relative;left:auto;top:auto;width:100%;height:auto;font-size:12px;line-height:1.75;letter-spacing:0;margin:0}
  .page .contact{display:flex;flex-direction:column;padding:30px 22px 65px;gap:30px;height:auto}
  .page .contact>[data-photo="contact"]{order:1;position:relative;width:calc(100% + 44px);height:clamp(290px,72vw,480px);left:auto;top:auto;margin:0 -22px}
  .page .contact .contact-sky{width:100%;height:100%;left:0;top:0;object-fit:cover}
  .page .contact .contact-real{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:64% 45%}
  .page .contact>.contact-copy{order:2;position:relative;left:auto;top:auto;width:100%;height:auto;max-width:650px;margin:0 auto}
  .page .contact-copy h2{height:auto;margin:0 0 26px}
  .page .contact-copy .stage4-line{position:relative;left:auto;top:auto;display:block;font-size:clamp(24px,6.7vw,36px);line-height:1.5;white-space:nowrap}
  .page .contact-copy .body{position:relative;left:auto;top:auto;height:auto;font-size:16px;line-height:1.95;margin:0 0 28px}
  .page .contact-buttons{position:relative;left:auto;top:auto;width:100%;height:auto;display:grid;justify-items:center;gap:15px}
  .page .contact-buttons .button{height:auto;min-height:56px}
  .page .footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:26px 14px;padding:48px 22px 30px;height:auto}
  .page .footer>.paper{position:absolute;inset:-45px 0 0;width:100%;height:calc(100% + 45px);object-fit:cover}
  .page .footer>.brand{position:relative;left:auto;top:auto;width:auto;height:auto;font-size:12px;line-height:1.15;letter-spacing:0;gap:8px;min-height:44px}
  .page .footer>.brand img{width:35px;height:auto;flex:none}
  .page .footer>.brand-divider{display:none}
  .page .footer>.footer-nav{position:relative;left:auto;top:auto;width:100%;height:auto;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;font-size:14px;line-height:1.5;letter-spacing:0}
  .page .footer-nav a{display:flex;align-items:center;min-height:44px;padding:9px 0}
  .page .footer>.privacy{grid-column:1/-1;position:relative;left:auto;top:auto;width:auto;height:auto;font-size:12px;line-height:1.8;letter-spacing:0;white-space:normal;min-height:44px;display:flex;align-items:center}
  .page .footer>.copyright{grid-column:1/-1;position:relative;left:auto;top:auto;width:auto;height:auto;font-size:12px;line-height:1.8;letter-spacing:0}
  #destination{width:calc(100% - 32px);max-width:480px;max-height:calc(100svh - 40px);padding:40px 24px 28px;overflow-y:auto}
  #destination p{font-size:15px;line-height:1.8}#destination h2{font-size:22px;line-height:1.5;margin:14px 0}
  #destination .close{min-width:44px;min-height:44px;font-size:25px;top:6px;right:8px}
  #destination .return{min-height:48px;padding:10px 24px;font-size:16px}
}
@media (min-width:600px) and (max-width:900px){
  .page .header{padding-left:32px;padding-right:32px;gap:24px}
  .page .hero,.page .preschool,.page .english,.page .learning-story>.values,.page .news,.page .contact{padding-left:44px;padding-right:44px}
  .page .philosophy{padding-left:44px;padding-right:44px;gap:28px 32px}
  .page .philosophy>.copy{grid-column:1/-1}
  .page .philosophy>.photo{max-width:280px;justify-self:center}
  .page .hero>.hero-photo{width:min(calc(100% + 60px),700px);margin-left:-30px;margin-right:-30px}
  .page .preschool>[data-photo="preschool-small"],.page .english>[data-photo="english-small"]{margin-right:30px}
  .page .contact>[data-photo="contact"]{width:calc(100% + 88px);margin-left:-44px;margin-right:-44px}
  .page .news{max-width:none}
  .page .news-item{max-width:650px;align-self:center}
}
