/* Four quiet chapters, each preserving the complete photograph. */
.home-page #studio.studio-experience { padding:clamp(4rem,7vw,7rem) 6%; scroll-margin-top:90px; }
.studio-experience-head { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:2.8rem; }
.home-page #studio .studio-experience-head h2 { font-size:clamp(3rem,4.8vw,5rem); line-height:1.02; margin:0; }
.home-page #studio .studio-experience-head .eyebrow { margin-bottom:1.1rem; font-size:.72rem; letter-spacing:.18em; }
.home-page #studio .studio-experience-intro { max-width:31ch; font-size:.95rem; line-height:1.8; margin:0 0 .3rem; }
.studio-collection { display:grid; grid-template-columns:minmax(230px,.78fr) minmax(0,1.22fr); background:#172017; border-radius:4px; overflow:hidden; position:relative; isolation:isolate; }
.home-page #studio .studio-collection :is(h3,p,a,button) { color:#f3ebdd; }
.studio-editorial { align-self:center; padding:clamp(2rem,4.5vw,5rem); padding-right:clamp(1.5rem,3vw,3rem); }
.home-page #studio .studio-edition { font-family:Manrope,sans-serif; letter-spacing:.22em; font-size:.84rem; margin:0 0 2.6rem; }
.studio-edition span { display:block; font-size:.57rem; letter-spacing:.13em; color:#b9bea9; margin-top:.65rem; }
.studio-large-number { display:block; font-family:var(--font-display,'Cormorant Garamond',serif); font-size:clamp(4.8rem,8vw,8rem); font-weight:400; line-height:.8; color:#baa16c; margin-bottom:1.4rem; }
.home-page #studio h3.studio-scene-title { font-size:clamp(2rem,3.2vw,3.6rem); line-height:1.1; margin:0 0 1rem; overflow-wrap:normal; }
.home-page #studio p.studio-scene-description { color:#d1d4c5; font-size:.9rem; line-height:1.85; max-width:29ch; min-height:5.1em; margin:0; }
.studio-chapters { margin-top:2.4rem; border-top:1px solid #d5c39230; }
.studio-chapter { position:relative; display:flex; align-items:center; gap:1rem; width:100%; padding:1.05rem 0; min-height:58px; border:0; border-bottom:1px solid #d5c39230; border-radius:0; background:transparent; text-align:left; font:inherit; cursor:pointer; }
.studio-chapter::after { content:''; position:absolute; bottom:-1px; height:1px; left:0; width:100%; background:#c5ad77; transform:scaleX(0); transform-origin:left; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.studio-chapter[aria-selected=true]::after { transform:scaleX(1); }
.studio-chapter-number { font-size:.68rem; color:#bdc3ae; font-variant-numeric:tabular-nums; }
.studio-chapter-name { font-size:.85rem; opacity:.65; transition:opacity .3s,transform .3s; }
.studio-chapter[aria-selected=true] .studio-chapter-name { opacity:1; transform:translateX(4px); }
.studio-chapter-mark { margin-left:auto; color:#c5ad77; opacity:0; transition:opacity .3s; }
.studio-chapter[aria-selected=true] .studio-chapter-mark { opacity:1; }
.home-page #studio p.studio-gallery-hint { color:#aeb6a4; font-size:.65rem; line-height:1.7; margin:1.4rem 0 0; max-width:27ch; }
.studio-visual { position:relative; min-width:0; padding:2.3rem 2.3rem 1.6rem; background:radial-gradient(ellipse at 52% 40%,#48503a 0%,#283225 52%,#172017 100%); overflow:hidden; }
.studio-visual::before { content:''; position:absolute; width:95%; aspect-ratio:1; border:1px solid #d4bc7a30; border-radius:50%; left:6%; top:15%; pointer-events:none; }
.studio-scenes { position:relative; width:100%; }
.studio-scene { margin:0; min-width:0; }
.studio-open { display:block; position:relative; width:max-content; max-width:100%; margin:auto; line-height:0; border-radius:2px; box-shadow:0 22px 55px #080e0a66; outline-offset:5px; cursor:zoom-in; }
.studio-open img { display:block; width:auto; height:auto; max-width:100%; max-height:min(76svh,790px); object-fit:contain; border-radius:2px; }
.studio-expand { position:absolute; top:14px; right:14px; width:38px; height:38px; display:grid; place-items:center; border:1px solid #f3ebdd44; border-radius:50%; color:#fffaf0; background:#142016b8; opacity:0; transform:translateY(4px); transition:opacity .25s,transform .25s; pointer-events:none; }
.studio-expand svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.35; }
.studio-open:hover .studio-expand,.studio-open:focus-visible .studio-expand { opacity:1; transform:none; }
.studio-controls { display:flex; justify-content:center; align-items:center; gap:2rem; position:relative; margin:1.3rem auto 0; }
.studio-controls[hidden] { display:none; }
.studio-controls button,.studio-dialog-controls button { width:44px; height:44px; display:grid; place-items:center; padding:0; border:1px solid #d5c39250; border-radius:50%; background:transparent; color:#f3ebdd; font-size:1.25rem; cursor:pointer; transition:background .25s,border-color .25s; }
.studio-controls button:hover,.studio-dialog-controls button:hover { background:#d5c39220; border-color:#d5c392; }
.studio-pagination { font-size:.75rem; letter-spacing:.12em; font-variant-numeric:tabular-nums; color:#f3ebdd; }
.studio-pagination span { color:#aeb6a4; }
.studio-mobile-hint { display:none; }
.studio-collection:not(.is-ready) { grid-template-columns:1fr; }
.studio-collection:not(.is-ready) .studio-chapters,.studio-collection:not(.is-ready) .studio-editorial { display:none; }
.studio-collection:not(.is-ready) .studio-scenes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.studio-collection.is-ready .studio-fallback-caption { display:none; }
.studio-collection.is-ready .studio-scene[hidden] { display:none; }
.home-page #studio .studio-fallback-caption { font-size:.8rem; line-height:1.6; margin:1.2rem 0; }
.studio-experience-foot { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-top:2rem; }
.home-page #studio .studio-experience-foot p { font-size:.8rem; line-height:1.8; margin:0; }
.studio-experience-foot p span { opacity:.7; }
.studio-experience-foot>div { display:flex; align-items:center; gap:2rem; }
.studio-experience-foot .text-link { font-size:.8rem; }
.studio-experience-foot .button { font-size:.8rem; white-space:normal; }
/* Native dialog retains focus containment and Escape support. */
.studio-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:1.2rem clamp(1rem,4vw,4rem); border:0; background:#10170ff5; color:#f3ebdd; overflow:hidden; }
.studio-dialog:not([open]) { display:none; }
.studio-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:.9rem; }
.studio-dialog::backdrop { background:#0a100af0; backdrop-filter:blur(12px); }
.studio-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.home-page #studio .studio-dialog p { color:#f3ebdd; }
.studio-dialog-head p { font-size:.78rem; letter-spacing:.08em; margin:0; }
.studio-dialog-close { display:flex; gap:1rem; align-items:center; border:1px solid #d5c39260; border-radius:30px; background:transparent; color:#f3ebdd; padding:.5rem 1rem; min-height:44px; font-size:1.4rem; cursor:pointer; }
.studio-dialog-close span { font:400 .75rem Manrope,sans-serif; }
.studio-dialog-image { min-width:0; min-height:0; display:flex; align-items:center; justify-content:center; }
.studio-dialog-image img { width:100%; height:100%; object-fit:contain; }
.studio-dialog-controls { display:flex; align-items:center; justify-content:center; gap:2rem; }
.studio-dialog-position { min-width:14ch; text-align:center; font-size:.75rem; margin:0; }
html.studio-dialog-open { overflow:hidden; }
.studio-chapter:focus-visible,.studio-open:focus-visible,.studio-controls button:focus-visible,.studio-dialog button:focus-visible { outline:2px solid #d4bc7a; outline-offset:5px; }
@media (max-width:1000px) and (min-width:761px) {
 .studio-editorial { padding:2.5rem 1.8rem; }
 .studio-visual { padding:1.8rem 1.6rem 1.2rem; align-self:center; }
 .studio-experience-foot>div { gap:1.2rem; }
 .studio-experience-foot { align-items:start; }
}
@media (max-width:760px) {
 .home-page #studio.studio-experience { padding:3.7rem 6% 3.3rem; }
 .studio-experience-head { display:block; margin-bottom:1.8rem; }
 .home-page #studio .studio-experience-head h2 { font-size:clamp(2.7rem,10vw,4rem); }
 .home-page #studio .studio-experience-intro { font-size:.85rem; max-width:36ch; margin-top:1.2rem; }
 .studio-collection { display:flex; flex-direction:column; }
 .studio-editorial { padding:1.4rem 1.1rem 0; width:100%; align-self:stretch; }
 .studio-edition,.studio-large-number,.studio-scene-title,.studio-scene-description,.studio-gallery-hint { display:none!important; }
 .studio-chapters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin:0; border:0; }
 .studio-chapter { display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; padding:.4rem 0 .9rem; min-height:60px; }
 .studio-chapter-name { font-size:.7rem; line-height:1.3; opacity:.65; }
 .studio-chapter-number { font-size:.62rem; }
 .studio-chapter-mark { display:none; }
 .studio-chapter[aria-selected=true] .studio-chapter-name { transform:none; }
 .studio-visual { padding:1.3rem 1.1rem 1rem; }
 .studio-visual::before { display:none; }
 .studio-open { width:100%; }
 .studio-open img { width:100%; max-height:none; height:auto; }
 .studio-expand { width:34px; height:34px; top:10px; right:10px; opacity:1; transform:none; }
 .studio-controls { margin-top:1rem; gap:2rem; }
 .home-page #studio p.studio-mobile-hint { display:block; color:#aeb6a4; font-size:.6rem; text-align:center; line-height:1.6; margin:.8rem 0 0; }
 .studio-experience-foot { display:block; padding-top:1.5rem; }
 .studio-experience-foot>div { margin-top:1.2rem; display:flex; flex-wrap:wrap; gap:1.3rem; }
 .studio-collection:not(.is-ready) .studio-scenes { display:grid; grid-template-columns:1fr; }
 .studio-dialog { padding:.75rem .75rem max(.75rem,env(safe-area-inset-bottom)); }
 .studio-dialog-head p { font-size:.65rem; max-width:24ch; }
 .studio-dialog-close span { display:none; }
 .studio-dialog-close { width:44px; justify-content:center; padding:0; }
}
@media (max-width:480px) {
 .studio-chapters { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.5rem; row-gap:.4rem; }
 .studio-chapter { flex-direction:row; align-items:center; gap:.6rem; min-height:44px; padding:.6rem 0; }
}
@media (prefers-reduced-motion:reduce) {
 .studio-chapter::after,.studio-chapter-name,.studio-chapter-mark,.studio-expand,.studio-controls button,.studio-dialog-controls button { transition:none; }
}
