/* Vector symbols keep their shape and colour across mobile platforms. */
.lm-inline-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.label-symbol .lm-inline-icon{width:1em;height:1em}.lm-space-arrow .lm-inline-icon{vertical-align:middle}.faq-question-arrow .lm-inline-icon{display:block}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 /* Fill the actual Safari viewport, including after its toolbars collapse. */
 .film-scene{height:100dvh;min-height:100dvh}.film-white .pillars-scene{height:100%;min-height:100%;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.journey-video{width:100%;height:100%;object-fit:cover}.film-white{bottom:0}
 .method-scene,.book-entering .method-scene{height:100dvh}
 .levels-scene{height:100dvh;min-height:100dvh}.levels-video{height:100%;width:100%;object-fit:cover}.levels-footer{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 /* All four visuals use the same image column; numbers keep their own gutter. */
 .method-visual,.method-book{left:16%;width:78%;right:auto}.method-number{left:5%!important;width:8%!important}.method-copy{left:16%!important;width:78%!important}
 /* A shorter mobile sequence, with the layers placed below the real heading. */
 .school-layers{height:210svh}.school-layers-scene{height:68svh;min-height:0}.school-layers-heading,.school-layers-heading.school-heading-early{top:12svh}.school-layers-stack{top:var(--mobile-layer-top,62%)}
 .next-step{margin-top:-12svh}.next-step-intro{height:185svh}.next-step-scene{height:88svh;min-height:0;align-items:flex-start}.next-step-composition{padding-top:100px;padding-bottom:20px}
}
@media(max-width:700px){.mp-v2{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.lm-inline-icon{font-variant-emoji:text}}

@media(max-width:700px){
 /* Each figure reads as a centred caption above its own image. */
 .school-layers-stack{left:50%;width:78vw;max-width:330px}
 .school-layer h3{left:50%;top:auto;bottom:calc(100% + 10px);transform:translateX(-50%);width:max-content;max-width:92vw;text-align:center;font-size:14px;line-height:1.35}
 .school-layer h3 strong{display:inline;font-size:inherit}
 .faq-stage{touch-action:pan-y;user-select:none}
 .faq-swipe-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:40px 0 0;color:#a1aa91;font-size:10px}
 .faq-swipe-controls button{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;background:#1c2117;border:1px solid #3b432f;color:#d6f269;border-radius:50%;cursor:pointer}
 .faq-swipe-controls button svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .faq-swipe-controls span{text-align:center;line-height:1.7}.faq-swipe-controls b{font-weight:500;color:#d6f269}
 .call-invitation{padding-left:3%;padding-right:3%}.call-invitation-inner{max-width:none}.call-link{width:100%}.call-phrase{font-size:14vw}
}
@media(min-width:701px){.faq-swipe-controls{display:none}}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .school-layers{height:calc(max(78svh,650px) + 130svh)}.school-layers-scene{height:max(78svh,650px)}.school-layers-heading,.school-layers-heading.school-heading-early{top:7svh}
 .next-step{margin-top:0}.next-step-composition{padding-top:70px}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.school-layers-stack{width:78vw;margin:0 auto}.school-layer{margin-top:55px}.school-layer h3{left:50%;width:max-content;max-width:90vw}}
