/* Studio 06: styles belong exclusively to the book page. */
.bosco-v5 .interior{background:var(--paper);padding-left:0;padding-right:0;padding-bottom:78px;border-top:1px solid var(--line)}
.bosco-v5 .interior .section-heading{padding:0 24px}
.book-gallery{max-width:1104px;padding:0 24px;margin:auto;text-align:left}
.gallery-track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:0 0 24px}
.gallery-track:focus-visible{outline:2px solid var(--night);outline-offset:-3px}
.bosco-v5 .interior .gallery-slide{flex:0 0 100%;max-width:none;margin:0;scroll-snap-align:start;min-width:0}
.photo-enlarge{display:block;position:relative;text-decoration:none;background:var(--paper)}
.bosco-v5 .interior img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain}
.enlarge-mark{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;font-size:20px;background:var(--paper);transition:background .2s}
.photo-enlarge:hover .enlarge-mark{background:var(--ivory)}
.bosco-v5 .interior figcaption{display:flex;justify-content:space-between;gap:18px;padding:16px 12px 0;margin:0;border-top:1px solid var(--line);font:italic 21px/1.35 var(--serif);color:var(--night)}
.bosco-v5 .interior figcaption small{font:10px/1.5 var(--sans);font-style:normal;white-space:nowrap;padding-top:5px;color:var(--slate)}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 0;font-size:11px;color:var(--slate)}
.gallery-controls>div{display:flex;align-items:center;gap:17px;flex-shrink:0}
.gallery-controls button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--night);font-size:22px}
.gallery-controls button:hover:not(:disabled){background:var(--ivory)}
.gallery-controls [data-gallery-count]{min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
.bosco-v5 .friends{padding-top:76px;border-top:1px solid var(--line)}
.friend-motion-note{display:flex;align-items:center;justify-content:center;gap:24px;max-width:1000px;margin:34px auto 0;font-size:11px;color:var(--slate)}
.friend-motion-note .motion-toggle{flex-shrink:0}
.bosco-v5 .greeting-portrait{padding:0;position:relative}
.greeting-trigger{position:relative;display:grid;place-items:end center;width:100%;height:100%;border:0;padding:0;background:var(--paper);color:var(--night)}
.greeting-visual{position:relative;display:block;height:100%;aspect-ratio:1;max-width:100%;overflow:hidden}
.bosco-v5 .greeting-visual>img,.bosco-v5 .greeting-visual>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center bottom;border-radius:0;transform:none}
.bosco-v5 .greeting-visual>video{opacity:0;transition:opacity .22s ease-out}
.greeting-trigger.video-visible video{opacity:1}
.greeting-visual>img{opacity:1;transition:opacity .22s ease-out}
.greeting-trigger.video-visible .greeting-visual>img{opacity:0}
.greeting-cue{position:absolute;right:6px;bottom:3px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:12px;line-height:1}
.greeting-status{display:block;font-size:10px;line-height:1.6;min-height:3.2em;color:var(--slate);margin-top:7px}
.greeting-trigger:disabled{opacity:1;cursor:default}
.story-path{border-top:1px solid #f5e9d033}
.story-path:last-child{border-bottom:1px solid #f5e9d033}
.story-path summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0;cursor:pointer}
.story-path summary::-webkit-details-marker{display:none}
.story-path summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.path-heading{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:35px;flex:1}
.path-title{font:32px/1.15 var(--serif);letter-spacing:-.035em}
.path-description{font:13px/1.6 var(--sans);max-width:34ch}
.path-invitation{display:flex;align-items:center;gap:18px;flex-shrink:0;font-size:10px;color:var(--ivory)}
.path-sign{font:28px/1 var(--serif);color:var(--gold);transition:transform .3s}
.story-path[open] .path-sign{transform:rotate(45deg)}
.story-panel{padding:0 0 30px}
.story-panel ul{list-style:none;margin:0;padding:10px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}
.story-panel li{font:20px/1.4 var(--serif);padding:12px 0;border-bottom:1px solid #f5e9d018;break-inside:avoid}
.edition-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;max-width:1200px;margin:auto}
.edition-intro .eyebrow{margin-bottom:22px}.edition-intro h2{margin-bottom:25px}
.edition-intro p:not(.eyebrow){font-size:14px;max-width:44ch}
.edition-intro .edition-subtle{font-size:12px!important;line-height:1.8;color:var(--slate)}
.edition-intro img{width:100%;height:auto}
.edition-intro figcaption{font:italic 14px/1.4 var(--serif);text-align:center;margin-top:6px}
.edition-choices{display:flex;justify-content:center;gap:8px;border-top:1px solid var(--line);margin:50px auto 30px;padding-top:30px;max-width:1200px}
.edition-choices button{border:1px solid var(--line);padding:12px 20px;background:none;color:var(--night);font-size:12px}
.edition-choices button[aria-pressed=true]{background:var(--night);color:var(--paper);border-color:var(--night)}
.edition-panel{max-width:1200px;margin:35px auto 0}
.edition-panel-title{font-size:25px;margin:25px 0;text-align:center}
.editions-enhanced .edition-panel-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
.edition-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.edition-pair img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.edition-pair figcaption{text-align:center;font:23px var(--serif);border-top:1px solid var(--line);padding:18px 0 0}
.edition-photo-note{font-size:10px;color:var(--slate);max-width:none;text-align:center;margin:30px auto 0}
.edition-links{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;margin-top:28px}
.bosco-v5 .book-close{background:#ece7dc}
.photo-dialog{padding:0;border:1px solid var(--line);background:var(--paper);color:var(--night);width:min(1400px,96vw);max-width:96vw;max-height:94dvh;overflow:hidden}
.photo-dialog::backdrop{background:#13202ddd}
.photo-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-bottom:1px solid var(--line)}
.photo-dialog-bar p{font-size:12px;line-height:1.4}.photo-dialog-bar button{background:none;border:1px solid var(--line);padding:8px 14px;min-height:44px;white-space:nowrap;color:inherit;font-size:12px}
.photo-dialog-scroll{overflow:auto;max-height:calc(94dvh - 85px);overscroll-behavior:contain}
.photo-dialog-scroll img{width:100%;height:auto;max-width:none}
.photo-dialog.photo-zoomed .photo-dialog-scroll img{width:1600px;min-width:100%;max-width:none}
.photo-dialog-bar p{margin-right:auto}
html.photo-open{overflow:hidden}
@media(min-width:1100px){.story-panel ul{max-width:950px;padding-left:0}}
@media(max-width:1000px){.path-heading{grid-template-columns:1fr;gap:10px}.path-title{font-size:29px}.edition-intro{gap:25px}.edition-intro h2{font-size:42px}}
@media(max-width:680px){
 .bosco-v5 .interior{padding-bottom:54px}.gallery-track{padding-bottom:18px}
 .bosco-v5 .interior figcaption{display:block;padding:14px 2px 0;font-size:18px}.bosco-v5 .interior figcaption small{display:block;margin-top:7px;font-size:10px}
 .gallery-controls{padding-top:18px;gap:12px}.gallery-controls>p{max-width:13ch;line-height:1.5}.gallery-instruction{display:none}.enlarge-mark{right:6px;bottom:6px;width:30px;height:30px;font-size:17px}
 .friend-motion-note{align-items:flex-start;gap:16px;font-size:10px}.friend-motion-note .motion-toggle{margin-top:0}
 .story-path summary{gap:16px;padding:25px 0;align-items:flex-start}.path-title{font-size:28px}.path-description{font-size:12px}.path-invitation{font-size:0;gap:0;padding-top:3px}.path-sign{font-size:28px}
 .story-panel{padding-bottom:24px}.story-panel ul{grid-template-columns:1fr;padding-top:0}.story-panel li{font-size:19px;padding:11px 0}
 .edition-intro{grid-template-columns:1fr;gap:28px}.edition-intro h2{font-size:39px}.edition-intro p:not(.eyebrow){font-size:13px}
 .edition-choices{gap:5px;margin-top:36px;padding-top:24px;justify-content:space-between}.edition-choices button{font-size:10px;padding:11px 7px;flex:1}
 .edition-pair{gap:12px}.edition-pair figcaption{font-size:18px;line-height:1.2;padding-top:12px}.edition-pair .enlarge-mark{width:25px;height:25px;font-size:14px}
 .edition-links{gap:16px 28px}.edition-links a{font-size:11px;gap:12px}.edition-photo-note{font-size:9px;line-height:1.6}
 .photo-dialog-bar{padding:10px 12px;gap:10px;flex-wrap:wrap}.photo-dialog-bar p{font-size:10px;flex-basis:100%;max-width:none}.photo-dialog-bar button{font-size:11px}.photo-dialog-scroll{max-height:calc(90dvh - 120px)}
}
