/* YNL editorial scale with Pangea's calm, rounded explanatory groups. */
:root {
 --color-paper:#f8f7f2; --color-paper-2:#eeede6; --color-paper-3:#e1e6f1;
 --color-ink:#252922; --color-muted:#555b50; --color-accent:#233f8c;
 --color-accent-deep:#172d68; --color-accent-soft:#e5eaf5; --color-accent-ink:#fff;
 --color-focus:#233f8c; --gutter:clamp(20px,4vw,64px); --container:1440px;
 --radius-card:20px; --radius-pill:999px; --mixed-round:28px;
}
body { font-size:17px; }
h1,h2 { line-height:1.02; }
.mast { border:0; padding-block:22px; }
.wordmark { font-size:clamp(2rem,3.1vw,3rem); }
.navlinks { gap:24px; }
.concept { background:var(--color-accent-deep); }
.pill { border:0; padding-inline:24px; min-height:48px; }
.poster { min-height:580px; height:auto; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:40px; margin-top:16px; padding-block:24px 40px; }
.poster-photo { position:relative; inset:auto; grid-column:2; grid-row:1; height:560px; border-radius:var(--mixed-round); z-index:0; }
.poster-photo img { object-position:52% 50%; }
.ticket { grid-column:1; grid-row:1; padding:0; border:0; outline:0; background:transparent; color:var(--color-accent); }
.ticket::before { content:none; }
.ticket h1 { font-size:clamp(4rem,7.7vw,7rem); max-width:10ch; line-height:.97; }
.ticket p { font-size:20px; line-height:1.5; max-width:30ch; margin:28px 0; }
.counter-print { border:0; padding:0; margin-block:80px 100px; }
.print-head { gap:32px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.print-head h2,.workbench h2,.bench-spread h2,.process h2 { font-size:clamp(2.7rem,4.8vw,4.5rem); }
.counter-photo { border-radius:var(--mixed-round) var(--mixed-round) 0 0; margin-top:32px; aspect-ratio:3.2; }
.counter-print ul { border:0; background:var(--color-accent-soft); border-radius:0 0 var(--mixed-round) var(--mixed-round); padding:10px 24px 16px; gap:16px; }
.counter-print li + li { border:0; }
.counter-print li a { justify-items:start; padding:20px 16px; border-radius:16px; }
.counter-print li strong { font-size:clamp(2rem,3.5vw,3rem); text-decoration:none; }
.counter-print li a:hover { background:var(--color-paper); }
.counter-print li span { font-size:16px; }
.workbench { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(28px,6vw,80px); }
.workbench img,.story img { border-radius:var(--mixed-round); aspect-ratio:1.15; }
.workbench p { font-size:18px; line-height:1.65; }
.band { border-radius:var(--mixed-round); margin-block:72px; padding:clamp(28px,4.5vw,64px); }
.band h2 { font-size:clamp(2.4rem,4vw,4rem); max-width:17ch; }
.band > a { padding:12px 24px; min-height:48px; border-radius:999px; background:var(--color-paper); color:var(--color-accent); text-decoration:none; font-weight:600; }
.band > a:hover { background:var(--color-accent-soft); }
.band > a:focus-visible { outline-color:var(--color-paper); }
.foot { border:0; padding-block:40px; flex-wrap:wrap; }
.foot .wordmark { font-size:clamp(2.5rem,5vw,5rem); }
.foot span { font-size:15px; }
.inner-head { padding-block:32px 20px; margin-block:36px; }
.inner-head h1 { font-size:clamp(3.2rem,6.6vw,6.25rem); }
.inner-head:not(.menu-head) { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:end; gap:32px; }
.inner-head .lead { font-size:20px; margin:0; }
.menu-head { gap:40px; }
.menu-head .counter-detail { border-radius:var(--mixed-round); max-height:260px; }
.menu-head .lead { margin-top:20px; }
.shelf-nav { border:0; gap:12px; padding-block:8px; }
.shelf-nav a { border-radius:999px; background:var(--color-accent-soft); padding:10px 24px; font-weight:600; text-decoration:none; }
.shelf-nav a:hover { background:var(--color-accent); color:var(--color-accent-ink); }
.shelf { margin-block:56px; padding:40px; border-radius:var(--mixed-round); background:var(--color-paper-2); gap:40px; }
.shelf:nth-of-type(even) { background:var(--color-accent-soft); }
.goods article,.goods article:first-child { border:0; padding:0 0 26px; }
.goods article + article { padding-top:10px; }
.goods article:last-child { padding-bottom:0; }
.goods h3 { font-size:24px; }
.bake-link { text-underline-offset:.25em; }
.bench-spread { gap:32px; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.bench-spread img { border-radius:var(--mixed-round); aspect-ratio:1.22; }
.bench-spread > div { margin:0; border:0; border-radius:var(--mixed-round); padding:36px; background:var(--color-accent-soft); }
.process { gap:48px; }
.process-notes { background:var(--color-paper-2); padding:32px; border-radius:var(--mixed-round); }
.process-notes section,.process-notes section:first-child { border:0; padding:16px 0; }
.planning-slip,.draft.slip { border:0; border-radius:var(--mixed-round); padding:32px; background:var(--color-accent-soft); }
.planning-slip h2 { font-size:clamp(2.25rem,3.2vw,3.25rem); }
.questions { border:0; }
.questions h2 { padding-top:0; }
.questions details { border:0; background:var(--color-paper-2); margin-bottom:12px; border-radius:18px; padding:8px 20px; }
.questions summary { font-size:18px; line-height:1.4; }
.draft-layout { gap:48px; margin-block:24px 80px; }
.choose { border:0; padding-top:0; }
.choose fieldset .group-choice { border:0; padding-inline:16px; }
.shelf-choice { background:var(--color-paper-2); border-radius:18px; margin-top:12px; padding:4px 8px; }
.amounts { padding:0 16px 16px; }
.qty-line input,.choose select,textarea { border-radius:12px; min-height:48px; background:var(--color-paper); }
.draft.slip { position:sticky; top:24px; }
.choose legend { font-size:clamp(2rem,3vw,3rem); }
.draft.slip h2 { font-size:clamp(2.5rem,4vw,3.8rem); }
.prose { gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.prose section { border:0; padding:28px; border-radius:var(--mixed-round); background:var(--color-paper-2); }
.prose h2 { font-size:clamp(2rem,3vw,3rem); }
.recovery { min-height:160px; }
a,button,summary { touch-action:manipulation; }
@media (prefers-reduced-motion:no-preference) {
 .poster-photo img { animation:mixed-bread 3.6s var(--ease-out) both; }
 .ticket,.inner-head { animation:lift .55s var(--ease-out) both; }
 .counter-print li a,.text-link,.bake-link { transition:background-color .2s ease,transform .2s ease; }
 .counter-print li a:hover { transform:translateY(-3px); }
 @keyframes mixed-bread { from { transform:scale(1.055) translateX(1%); } to { transform:scale(1) translateX(0); } }
}
@media(max-width:950px) {
 .mast > .navlinks { display:none; } .navmenu { display:block; }
 .navmenu .navlinks { position:absolute; inset:100% 0 auto; z-index:8; background:var(--color-paper-2); padding:20px; flex-direction:column; align-items:stretch; border:0; border-radius:20px; gap:4px; }
 .poster { gap:28px; min-height:0; } .poster-photo { height:470px; }
 .ticket h1 { font-size:clamp(3.9rem,8.8vw,5.3rem); }
 .shelf { padding:28px; }
 .prose { grid-template-columns:1fr; }
}
@media(max-width:680px) {
 .mast { padding-block:16px; } .wordmark { font-size:2rem; }
 .poster { display:flex; flex-direction:column; gap:28px; padding:16px 0 0; margin:0; }
 .ticket { order:-1; margin:0; padding:0; width:100%; }
 .ticket h1 { font-size:clamp(3.4rem,14vw,5rem); max-width:11ch; }
 .ticket p { font-size:18px; max-width:33ch; margin:20px 0; }
 .poster-photo { width:100%; height:300px; aspect-ratio:auto; border-radius:20px; }
 .print-head,.workbench,.inner-head:not(.menu-head),.bench-spread,.shelf,.process,.visit-spread { grid-template-columns:1fr; gap:24px; }
 .counter-print,.workbench,.bench-spread,.process,.visit-spread { margin-block:56px; }
 .counter-print ul { gap:0; padding:4px; }
 .counter-print li a { padding:16px 8px; }
 .counter-print li strong { font-size:1.85rem; }
 .counter-print li span { font-size:14px; }
 .counter-photo { aspect-ratio:2.1; margin-top:24px; }
 .workbench img { aspect-ratio:1.35; }
 .inner-head { margin-block:20px 32px; padding:16px 0; }
 .inner-head h1 { font-size:clamp(2.9rem,12vw,4.5rem); }
 .inner-head .lead { font-size:18px; }
 .shelf { margin-block:24px; padding:24px; }
 .shelf h2 { font-size:3rem; }
 .bench-spread > div { margin:0; padding:24px; }
 .process-notes,.planning-slip,.draft.slip { padding:24px; }
 .band { margin-block:56px; }
 .band h2 { font-size:2.8rem; }
 .draft-layout { gap:32px; margin-bottom:48px; }
 .draft.slip { position:static; }
 .foot { gap:12px; padding-block:24px; }
 .foot .wordmark { font-size:3rem; }
}
/* The one-shot observer replaces inherited scroll-linked photo entrances. */
.workbench img,.bench-spread img,.counter-print .print { animation:none; animation-timeline:auto; }
@media(prefers-reduced-motion:no-preference) {
 .has-arrived { animation:mixed-counter .75s var(--ease-out) both; }
 .counter-print li:nth-child(2).has-arrived { animation-delay:70ms; }
 .counter-print li:nth-child(3).has-arrived { animation-delay:140ms; }
 .workbench img.has-arrived,.bench-spread img.has-arrived { animation:mixed-counter-photo 1.2s var(--ease-out) both; }
 @keyframes mixed-counter { from { opacity:.72; transform:translateY(20px); } to { opacity:1; transform:none; } }
 @keyframes mixed-counter-photo { from { transform:translateY(20px) scale(.98); } to { transform:none; } }
}
