/* Tëimur: continuous compositions, clear reading, and motion on arrival. */
.onule-scroll .archetype-chapter{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(45px,8vw,125px);min-height:740px;padding:95px 9%;align-items:center}
.onule-scroll .archetype-chapter .crest-trigger{grid-column:1;grid-row:1;align-self:center;max-width:480px;justify-self:center}
.onule-scroll .archetype-content{grid-column:2;grid-row:1;min-width:0;max-width:640px}
.onule-scroll .arch-noan .crest-trigger,.onule-scroll .arch-loman .crest-trigger{grid-column:2}
.onule-scroll .arch-noan .archetype-content,.onule-scroll .arch-loman .archetype-content{grid-column:1}
.onule-scroll .archetype-heading{grid-column:auto;grid-row:auto;margin-bottom:30px}
.onule-scroll .archetype-copy{grid-column:auto;grid-row:auto}
.onule-scroll .archetype-copy p{max-width:none;line-height:1.9}
.onule-scroll .archetype-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.onule-scroll .archetype-copy dl>div:last-child{grid-column:1/-1}
.onule-scroll .crest-trigger img{height:clamp(290px,31vw,460px)}
.onule-scroll .arch-ornan .crest-trigger img{height:clamp(275px,29vw,435px)}
.book-page .prologue-frame{max-width:850px;padding:50px clamp(24px,4vw,60px)}
.book-page .manuscript-quote{text-align:center;margin:35px auto 0;max-width:720px}
.book-page .manuscript-quote p{color:#927137;font-style:italic;font-size:clamp(20px,1.65vw,25px);line-height:1.85;margin:0 0 23px}
.book-page .manuscript-quote p:first-child{margin-bottom:40px}
.book-page .book-reading{height:auto;min-height:0;overflow:visible;padding-block:110px}
.book-page .landscape-ending{background:#fffdf8;mask-image:linear-gradient(transparent 0%,#0003 10%,#000b 25%,#000 40%),linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-composite:intersect;height:clamp(430px,55vw,850px)}
.book-page .landscape-ending .landscape-video{mask-image:none;object-position:50% 50%}
.students-portrait{position:relative;margin:0;padding:19px;isolation:isolate;min-width:0;border:1px solid #b59b634d;background:linear-gradient(135deg,#f3ecda80,transparent 40%,#ddccac26);clip-path:polygon(0 30px,30px 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 30px),calc(100% - 30px) 100%,30px 100%,0 calc(100% - 30px))}
.students-scene .students-portrait img{display:block;border-radius:0;max-height:none;aspect-ratio:1.35;object-fit:cover;object-position:50% 40%;clip-path:polygon(0 20px,20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px));transition:filter .8s,transform 1.2s}
.students-portrait:before,.students-portrait:after{content:'';position:absolute;width:70px;height:70px;border:1px solid #b79a5a;z-index:2;pointer-events:none;transform:rotate(45deg)}
.students-portrait:before{top:-35px;left:-35px}.students-portrait:after{bottom:-35px;right:-35px}
.students-ornament{position:absolute;bottom:1px;left:calc(50% - 12px);font:25px Georgia;color:#a28a51;background:#fffdf8;z-index:3;line-height:1}
.students-scene:hover .students-portrait img{scale:1;filter:saturate(1.07);transform:scale(1.025)}
.arrival-voyager{position:absolute;left:-4%;top:490px;width:67%;height:530px;z-index:3;pointer-events:none}
.arrival-voyager .arrival-ship{position:relative;left:0;top:0;width:100%;height:100%;object-fit:contain;animation:ship-sail 14s ease-in-out infinite;z-index:2}
.js .arrival-voyager:not(.has-arrived){opacity:0}
.arrival-voyager.has-arrived{animation:zolnier-arrive 5.8s cubic-bezier(.15,.65,.2,1) both}
.arrival-vapor{position:absolute;right:1%;top:58%;width:40%;height:65px;border-radius:50%;background:linear-gradient(90deg,transparent,#edf3f1aa,transparent);filter:blur(13px);opacity:0;z-index:1}
.has-arrived .arrival-vapor{animation:zolnier-vapor 5.8s ease-out both}
@keyframes zolnier-arrive{0%{translate:120vw -125px;rotate:7deg;opacity:0}12%{opacity:1}68%{translate:13vw -24px;rotate:-2deg}100%{translate:0 0;rotate:0;opacity:1}}
@keyframes zolnier-vapor{10%,60%{opacity:.75;scale:2 1}100%{opacity:0;scale:1 1}}
.dictionary-spread{display:block;min-height:0;background:transparent;perspective:none;padding:10px 0 20px;opacity:1!important}
#dictionary-flipbook{margin:0 auto;width:100%;position:relative}
.dictionary-leaf{background:#fffdf8;overflow:hidden;border:1px solid #b19b6c33}
.dictionary-leaf img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
.dictionary-leaf .leaf-number{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#8c7a58;font:12px Georgia}
.dictionary-leaf.is-loading:before{content:'…';position:absolute;inset:40% 0 auto;text-align:center;color:#927b46;font:24px Georgia}
.dictionary-spread.is-turning{animation:none}
.dictionary-spread .stf__parent{background:transparent!important}
.dictionary-tools label{font-size:12px;line-height:1.4}
.dictionary-book #dictionary-status,.dictionary-book #dictionary-results{font-size:14px}
@media(max-width:800px){.onule-scroll .archetype-chapter{grid-template-columns:1fr;gap:35px;padding:65px 8%;min-height:0}.onule-scroll .archetype-chapter .archetype-content{grid-column:1;grid-row:1;max-width:none}.onule-scroll .archetype-chapter .crest-trigger{grid-column:1;grid-row:2;width:min(380px,100%)}.onule-scroll .archetype-heading h2{font-size:64px}.onule-scroll .archetype-copy p{font-size:16px}.book-page .book-reading{padding:70px 6%}.book-page .prologue-frame{padding:35px 20px}.students-portrait{padding:13px}.students-scene .students-portrait img{height:auto;aspect-ratio:1.1}.arrival-voyager{top:635px;left:-15%;width:130%;height:320px}.arrival-voyager .arrival-ship{top:0;left:0;width:100%;height:100%}.dictionary-book{padding:15px}.dictionary-tools{gap:15px}.dictionary-tools #dictionary-query{width:min(220px,65vw)}}
@media(prefers-reduced-motion:reduce){.arrival-voyager.has-arrived,.arrival-voyager .arrival-ship,.has-arrived .arrival-vapor{animation:none}.arrival-vapor{display:none}.students-scene:hover .students-portrait img{transform:none}}

html[data-motion="off"] .arrival-voyager.has-arrived,html[data-motion="off"] .arrival-voyager .arrival-ship{animation:none}html[data-motion="off"] .arrival-vapor{display:none}
