/* V11: one visual language for the menu, the film and the course. */
:root{--folio-paper:#eff4f7;--nav-night:#071925}
.menu-toggle{padding:0;min-height:46px;gap:14px}
.menu-toggle>i{width:44px;height:44px;border:1px solid currentColor;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.88;transition:background .3s,transform .45s var(--ease)}
.menu-toggle>i b{width:16px;height:1px}
.menu-toggle>i b+b{width:12px;margin:5px 0 0 4px}
.menu-toggle:hover>i{transform:rotate(90deg)}
.menu-toggle:hover>i b+b{width:16px;margin-left:0}
.navigation-dialog{background:var(--nav-night);color:#eaf2f4;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.navigation-dialog[open]{padding:26px var(--gutter) 28px;animation:menu-unfold .7s cubic-bezier(.2,.8,.2,1)}
.navigation-dialog::backdrop{background:#071522c9}
.nav-top{flex-shrink:0;padding-bottom:22px;border-bottom:1px solid #aac7d523}
.nav-close{font-size:.875rem;min-height:44px;gap:17px}
.nav-close>span{font-size:1.875rem;transition:transform .4s}
.nav-close:hover>span{transform:rotate(90deg)}
.nav-layout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(350px,1.45fr);gap:clamp(44px,9vw,160px);align-items:center;margin:auto 0;padding-block:35px;min-height:0;flex:1}
.nav-preview{position:relative;min-width:0;max-width:500px;align-self:center}
.nav-preview-visual{position:relative;aspect-ratio:.96;max-height:51svh;overflow:hidden;background:#09253a;isolation:isolate}
.nav-preview-visual:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#02111fd9);z-index:2;pointer-events:none}
.nav-preview-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1}
.nav-preview-visual>.nav-preview-ghost{z-index:0}
.nav-preview.is-book [data-nav-image]{object-fit:contain;padding:22px}
.nav-preview.is-book .nav-preview-visual:after{background:none}
.nav-preview-ordinal{position:absolute;left:25px;bottom:13px;z-index:3;color:transparent;-webkit-text-stroke:1px #e1f0f593;font-size:clamp(82px,10vw,170px);font-weight:400;line-height:1;letter-spacing:-.07em}
.nav-preview.is-book .nav-preview-ordinal{opacity:.3}
.nav-preview-cross{position:absolute;z-index:3;right:18px;top:12px;font-size:1.25rem;line-height:1;color:#cee6ef}
.nav-preview figcaption{padding-top:23px}
.nav-preview .eyebrow{color:#9dbccc;font-size:.6875rem;letter-spacing:.13em}
.nav-preview [data-nav-caption]{font-size:clamp(23px,2.35vw,38px);line-height:1.22;letter-spacing:-.035em;margin:10px 0 17px;white-space:pre-line}
.nav-preview-label{display:block;font-size:.6875rem;letter-spacing:.1em;color:#94b3c4}
.nav-links{min-width:0}
.nav-links a{position:relative;display:grid;grid-template-columns:28px 1fr 34px;gap:22px;align-items:center;color:#a9c0cc;font-size:clamp(30px,4.2vw,70px);line-height:1.1;letter-spacing:-.055em;min-height:75px;padding:16px 0;border-color:#aecbd329;transition:color .3s}
.nav-links a:hover{padding-left:0}
.nav-links a>.nav-index{align-self:center;margin:0;font-size:.6875rem;letter-spacing:.05em;color:#8ba7b6}
.nav-links a>b{font-weight:400;display:block;transition:transform .55s var(--ease);padding-block:5px}
.nav-links a>i{font-size:.4em;display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;opacity:.5;transition:transform .45s,opacity .3s}
.nav-links a:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#9ed8f1;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.nav-links a:is(:hover,:focus-visible,.is-selected){color:#fff}
.nav-links a:is(:hover,:focus-visible,.is-selected)>b{transform:translateX(10px)}
.nav-links a:is(:hover,:focus-visible,.is-selected)>i{transform:translate(2px,-2px);opacity:1}
.nav-links a:is(:hover,:focus-visible,.is-selected):after{transform:scaleX(1);transform-origin:left}
.navigation-dialog[open] .nav-links a{animation:menu-line-in .75s var(--ease) both;animation-delay:.1s}
.navigation-dialog[open] .nav-links a:nth-child(2){animation-delay:.145s}
.navigation-dialog[open] .nav-links a:nth-child(3){animation-delay:.19s}
.navigation-dialog[open] .nav-links a:nth-child(4){animation-delay:.235s}
.navigation-dialog[open] .nav-links a:nth-child(5){animation-delay:.28s}
.navigation-dialog[open] .nav-links a:nth-child(6){animation-delay:.325s}
.nav-bottom{max-width:none;flex-shrink:0;gap:12px 28px;color:#abc4d1;font-size:.8125rem;border-top:1px solid #aecbd329;padding-top:13px}
.nav-bottom a,.nav-bottom button{min-height:44px;display:inline-flex;align-items:center;font-size:.8125rem}
.nav-bottom a:hover,.nav-bottom button:hover{color:#fff}
@keyframes menu-unfold{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes menu-line-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* The full-width cinema becomes a framed book portrait before the paper section. */
.film-screen{position:relative}
.immersive .film-stage{background:var(--folio-paper)}
.immersive .film-screen{position:absolute;inset:0;overflow:hidden;background:var(--night);transform:scale(var(--folio-scale,1));transform-origin:50% 42%;border-radius:calc(var(--folio-exit,0) * 4px);isolation:isolate}
.scene .line{perspective:950px}
.scene .line>span{backface-visibility:hidden;transform-origin:50% 85%}
.immersive .transition-caption{gap:20px;top:48%;font-size:clamp(20px,2.5vw,39px);text-shadow:0 2px 28px #001325;pointer-events:none}
.transition-caption>span:first-child{font-family:var(--serif);font-style:italic;font-size:clamp(38px,5vw,75px);letter-spacing:-.07em;min-width:0}
.transition-caption>i{height:1px;width:clamp(34px,5vw,82px);background:#d5e9f6;transform:scaleX(var(--slate-line,1));transform-origin:left}
.transition-caption>span:last-child{letter-spacing:-.025em}
.scene--patterns .language-detail>span{color:#335567}
.scene--patterns .language-detail{border-radius:0;box-shadow:0 15px 60px #4234110a}
.scene-topic{max-width:510px}

/* A visible, working invitation replaces the decorative image affordance. */
.collection-image{display:block;position:relative;background:#052239;isolation:isolate;overflow:hidden}
.collection-image:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#001423bd);pointer-events:none;z-index:1}
.collection-image img{width:100%;height:100%;object-fit:cover}
.collection-image.is-book img{object-fit:contain}
.collection-big-number{top:22px;bottom:auto;left:25px;color:transparent;-webkit-text-stroke:1px #fff9;font-size:clamp(95px,11vw,180px);z-index:2;line-height:1}
.collection-enter{position:absolute;bottom:24px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:white;font-size:.8125rem;z-index:3}
.collection-enter>i{display:flex;align-items:center;justify-content:center;font-style:normal;font-size:1.4rem;width:48px;height:48px;border:1px solid #e5f0f67a;border-radius:50%;transition:background .4s,color .4s,transform .5s var(--ease)}
.collection-image:is(:hover,:focus-visible) .collection-enter>i{background:#e2eff5;color:#102f42;transform:rotate(45deg)}
.collection-image:is(:hover,:focus-visible) img{transform:scale(1.035)}
.collection-image.is-book:is(:hover,:focus-visible) img{transform:none}
.part-list details{position:relative}
.part-list details:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:#1c526f;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}
.part-list details[open]:before{transform:scaleX(1)}
.part-list details[open] h3{color:#1c526f}
.part-list details[open] .part-description{animation:chapter-copy-in .45s var(--ease)}
@keyframes chapter-copy-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.scroll-enhanced .section-intro h2,.scroll-enhanced .method-intro h2,.scroll-enhanced .inside-copy h2,.scroll-enhanced .audio-teaser-copy h2,.scroll-enhanced .contact-copy h2{clip-path:inset(-10% -5% -12% -5%);transition:clip-path 1.1s var(--ease)}
.scroll-enhanced .is-pending h2{clip-path:inset(0 -5% 100% -5%)}
.audio-teaser-card{transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
/* Seven photographic leaves unfold into an atlas, with the same focus behavior. */
.atlas-card[data-atlas="6"] .atlas-image img{object-fit:contain;background:#082438;padding:12px}
.atlas-card[data-atlas="6"] .atlas-image:after{background:none}
@media(min-width:1001px){
 .atlas-dialog{background:#081e2e;color:#e3f0f6;padding:32px var(--gutter) 25px}
 .atlas-top>.eyebrow,.atlas-top .eyebrow{color:#9bc2d7}
 .atlas-top h2{font-size:clamp(37px,4.25vw,65px);margin-top:12px;max-width:none}
 .atlas-top h2 em{color:#a4d4ec}
 .atlas-grid{display:flex;gap:8px;margin:36px 0 25px;min-height:300px;flex:1}
 .atlas-card{flex:1;min-width:0;transition:flex .8s cubic-bezier(.2,.8,.2,1);overflow:hidden;background:#072039}
 .atlas-card.is-featured{flex:3.25}
 .atlas-image{height:100%;min-height:360px;max-height:66svh;aspect-ratio:auto}
 .atlas-image img{filter:saturate(.75) brightness(.78);transition:filter .7s,transform 1.2s var(--ease);object-position:60% 50%;transform:scale(1.025)}
 .atlas-image:after{inset:0;background:linear-gradient(0deg,#001424ed,transparent 67%),linear-gradient(180deg,#0006,transparent 35%)}
 .atlas-image b{top:18px;left:18px;bottom:auto;font-size:1rem;line-height:1.2;letter-spacing:.04em}
 .atlas-title{position:absolute;bottom:24px;left:18px;z-index:2;font-size:clamp(19px,1.8vw,28px);line-height:1.1;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;max-height:80%;margin:0;letter-spacing:-.035em}
 .atlas-level{position:absolute;bottom:23px;left:24px;z-index:2;color:#b7d7e7;font-size:.75rem;margin:0;opacity:0;transition:opacity .3s}
 .atlas-card.is-featured .atlas-image img{filter:saturate(1) brightness(1);transform:scale(1)}
 .atlas-card.is-featured .atlas-title{writing-mode:horizontal-tb;transform:none;white-space:normal;bottom:51px;left:24px;right:24px;line-height:1.2}
 .atlas-card.is-featured .atlas-level{opacity:1;transition-delay:.25s}
 .atlas-card[aria-current] .atlas-title:after{display:none}
 .atlas-card[aria-current] .atlas-image b:after{content:' •';color:#a6e5ff}
 .atlas-card[data-atlas="6"] .atlas-image img{object-fit:contain;padding:25px 25px 100px;object-position:center;background:#062137}
 .atlas-card[data-atlas="6"] .atlas-image:after{background:linear-gradient(0deg,#031b31,transparent 40%)}
 .atlas-bottom{border-color:#b9dcea30;color:#98b8ca;font-size:.8125rem;padding-top:18px}
 .atlas-close{color:#e0eef5}
}
@media(hover:hover) and (pointer:fine){.audio-teaser-card:hover{transform:rotate(0deg) translateY(-7px);box-shadow:0 32px 95px #00152540}}

@media(min-width:761px) and (max-height:760px){
 .navigation-dialog[open]{padding-block:17px}.nav-top{padding-bottom:8px}
 .nav-layout{gap:7vw;padding-block:22px;grid-template-columns:.85fr 1.35fr}
 .nav-preview-visual{max-height:43svh;aspect-ratio:1.2}.nav-preview figcaption{padding-top:14px}
 .nav-preview [data-nav-caption]{font-size:27px;margin:6px 0 10px}.nav-preview-label{font-size:.625rem}
 .nav-links a{font-size:clamp(29px,3.8vw,52px);min-height:60px;padding-block:10px}
 .nav-bottom{padding-top:7px}
}
@media(max-width:1000px) and (min-width:761px){.nav-layout{grid-template-columns:1fr 1.45fr;gap:45px}.nav-links a{gap:12px;font-size:clamp(28px,4vw,44px)}}
@media(max-width:760px){
 .menu-toggle{font-size:.8125rem;gap:11px}.menu-toggle>i{width:40px;height:40px}
 .navigation-dialog[open]{padding:16px 24px max(14px,env(safe-area-inset-bottom))}
 .nav-top{padding-bottom:11px}.nav-layout{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:0;padding:22px 0;flex:none}
 .nav-preview{display:grid;grid-template-columns:100px 1fr;gap:19px;align-items:center;max-width:none;width:100%;margin:0}
 .nav-preview-visual{width:100px;height:105px;aspect-ratio:auto;max-height:none}
 .nav-preview-ordinal{font-size:42px;left:8px;bottom:7px}.nav-preview-cross{display:none}
 .nav-preview figcaption{padding:0}.nav-preview .eyebrow{font-size:.5625rem;line-height:1.5;letter-spacing:.05em;max-width:205px}
 .nav-preview [data-nav-caption]{font-size:23px;line-height:1.18;margin:6px 0 8px}
 .nav-preview-label{font-size:.5625rem;letter-spacing:.04em;line-height:1.5}
 .nav-preview.is-book [data-nav-image]{padding:8px}
 .nav-links a{grid-template-columns:21px 1fr 30px;gap:12px;font-size:clamp(29px,7.7vw,43px);min-height:60px;padding:10px 0;line-height:1.05}
 .nav-links a>b{padding-block:2px}.nav-links a>.nav-index{font-size:.625rem}
 .nav-links a>i{font-size:.5em;width:30px;height:30px}
 .nav-links a:is(:hover,:focus-visible,.is-selected)>b{transform:translateX(5px)}
 .nav-bottom{display:grid;gap:0;justify-content:start;margin-top:auto;padding-top:8px;line-height:1.5}
 .nav-bottom a,.nav-bottom button{font-size:.75rem;padding:9px 0;min-height:40px}
 .immersive .transition-caption{top:44%;gap:13px;font-size:1.375rem}
 .transition-caption>span:first-child{font-size:2.875rem}.transition-caption>i{width:32px}
 .collection-big-number{font-size:6.25rem;top:16px;left:21px}.collection-enter{bottom:18px;left:21px;right:21px}
 .collection-enter>i{width:44px;height:44px}
 .collection-image{aspect-ratio:1.2}
 .atlas-card[data-atlas="6"] .atlas-image img{object-fit:contain;background:#082438;padding:12px}
 .atlas-card[data-atlas="6"] .atlas-image:after{background:none}
 .scene--patterns .language-detail{left:var(--gutter);right:var(--gutter);width:max-content;max-width:calc(100% - var(--gutter)*2)}
 /* Interactive controls remain comfortably tappable even on a short viewport. */
 .case-controls button,.tense-controls button,.conversation-reply{min-height:44px}
 .scene--patterns .language-detail small{font-size:.8125rem}
 .scene--patterns .language-detail>span{font-size:.625rem;color:#3e6070}
 .immersive .scene--patterns .scene-heading{padding-bottom:0}
}
@media(max-width:760px) and (max-height:720px){
 .nav-layout{gap:13px;padding-block:14px}.nav-preview{grid-template-columns:70px 1fr;gap:15px}
 .nav-preview-visual{width:70px;height:74px}.nav-preview-ordinal{font-size:30px}
 .nav-preview [data-nav-caption]{font-size:20px;white-space:normal;max-width:260px;margin:4px 0}
 .nav-preview-label{font-size:.5625rem}.nav-preview .eyebrow{display:none}
 .nav-links a{font-size:clamp(27px,7.2vw,39px);min-height:54px;padding-block:7px}
 .nav-bottom{grid-template-columns:1fr 1fr;gap:16px}.nav-bottom a,.nav-bottom button{font-size:.6875rem;text-align:left}
}
@media(max-width:760px) and (max-height:650px){
 .immersive .scene--patterns .language-detail,.immersive .scene--motion .verb-detail{top:112px}
 .scene--patterns .language-detail{padding:9px 14px}.scene--patterns .language-detail p{font-size:1.625rem;line-height:1.1}
 .scene--patterns .language-detail small{font-size:.75rem}
 .scene--patterns .scene-lead,.scene--motion .scene-lead{font-size:.9375rem;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){
 .navigation-dialog[open],.navigation-dialog[open] .nav-links a,.part-list details[open] .part-description{animation:none}
 .nav-links a>b,.nav-links a:after,.nav-links a>i,.menu-toggle>i,.collection-enter>i,.audio-teaser-card{transition:none}
 .atlas-card{transition:none}
}
.simple-view .film-screen{transform:none;border-radius:0;overflow:visible}
.simple-view .nav-links a>b{transform:none}
