/* R6b: two geometry masters, four lighting states. No per-section photography. */
:root{--desk-height:calc(100vw * 2 / 3);--master-photo:url(masters/desk-desktop-1440.webp);--desk-exposure:brightness(1);--master-foreground:url(masters/foreground.webp)}
html[data-theme=dark]{--desk-exposure:brightness(.36) saturate(.72)}
.studio .hero-world,.studio .world-chapter,.studio .reading-world,.studio .world-footer,.studio .work-console{position:relative;isolation:isolate;background-image:none!important;background-color:transparent;overflow:visible}
.studio .hero-world::before,.studio .world-chapter::before,.studio .reading-world::before,.studio .world-footer::before,.studio .work-console::before{content:'';display:block!important;position:absolute;inset:0;z-index:-2;background:var(--master-foreground) center bottom/100% auto repeat-y;filter:var(--desk-exposure);pointer-events:none}
.studio .environment{position:absolute;inset:0 0 auto;height:var(--desk-height);min-height:0;overflow:hidden;z-index:-1;pointer-events:none}
.studio .scene-canvas{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:none!important;background:none!important;isolation:isolate}
.studio .scene-canvas::before,.studio .scene-canvas::after{content:'';position:absolute;inset:0;background-image:var(--master-photo);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;z-index:-1}
.studio .scene-canvas::before{filter:var(--desk-exposure)}
.studio .scene-canvas::after{display:none}
html[data-theme=dark] .studio .scene-canvas::after{display:block;opacity:.16;mask-image:radial-gradient(ellipse at 8% 24%,#000 0%,transparent 56%);-webkit-mask-image:radial-gradient(ellipse at 8% 24%,#000 0%,transparent 56%)}
.studio .scene-desktop{display:block}.studio .scene-mobile{display:none}
.studio .screen-plane{pointer-events:auto}.studio .screen-plane img{object-fit:cover;object-position:center top;max-width:none;max-height:none}
.studio .hero-world{height:max(840px,100svh,var(--desk-height));min-height:0;max-height:none;overflow:hidden}
.desk-labels{position:absolute;left:0;top:0;width:100%;height:var(--desk-height);pointer-events:none}
.scene-label{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:12px;color:var(--ink);text-align:center;gap:15px;line-height:1.2}
.scene-label span{font-size:12px;font-weight:600;letter-spacing:.06em}.scene-label strong{font-size:clamp(24px,3vw,44px);font-weight:600;letter-spacing:-.045em}
.studio .page-title{padding:6px!important}.studio .title-desktop{display:flex}.studio .title-mobile{display:none}
.studio .page-guide{top:calc(var(--desk-height) * .48);left:5%;bottom:auto;width:42%;min-height:calc(var(--desk-height) * .32);transform:none;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:22px}
.studio .world-chapter,.studio .reading-world{display:block;padding:75px 5% 80px;min-height:max(850px,var(--desk-height));scroll-margin-top:62px}
.studio .world-chapter .info-panel,.studio .reading-world .reading-plate{position:relative;z-index:1;margin:0;width:44%;max-width:none;min-height:calc(var(--desk-height) * .80);padding:35px 24px;border-width:28px;border-image-width:28px;transform:none!important;display:flow-root}
.studio .reading-world#services .reading-plate{max-width:none}
.studio .world-chapter .info-panel h2,.studio .reading-plate h2{font-size:clamp(28px,2.7vw,40px)}
.studio .world-chapter .offer-price{font-size:clamp(42px,4vw,58px)}
.studio .form-grid{grid-template-columns:1fr}.studio .form-grid label:last-child{grid-column:auto}
.studio #enquiry-form{position:relative;display:flow-root;float:none;inset:auto;transform:none;margin:0}
.studio #form-status{position:static!important;float:none!important;inset:auto!important;transform:none!important;display:block;width:auto;max-width:100%;margin:0 0 22px;padding:0;border:0;background:none;line-height:1.5;font-size:14px;overflow-wrap:anywhere}
.studio .contact-world form>.key{min-width:0;width:min(100%,260px);padding:18px 35px}
.studio .world-chapter .scene-desktop [data-device=tablet],.studio .reading-world .scene-desktop [data-device=tablet],.studio .page-hero .scene-desktop [data-device=tablet]{display:none}
/* The whole tablet is naturally occluded by the opaque reading plate. No partial screen remains. */
.studio .work-console{padding-top:75px}.studio .world-footer{padding-top:75px}
.studio .exhibit-copy{overflow-wrap:anywhere}.studio .preview-pair{flex:none}.studio .demo-phone img{object-fit:contain;object-position:top}
.studio .info-panel details p{overflow-wrap:anywhere}
@media(max-width:768px){
:root{--desk-height:calc(100vw * 1599 / 984);--master-photo:image-set(url(masters/desk-mobile-390.webp) 1x,url(masters/desk-mobile-780.webp) 2x)}
.studio .scene-desktop{display:none}.studio .scene-mobile{display:block!important;width:100%;left:0;transform:none!important}
.studio .title-desktop{display:none}.studio .title-mobile{display:flex}.studio .title-mobile h1{font-size:24px!important}
.studio .hero-world{height:max(780px,100svh,calc(var(--desk-height) + 210px));max-height:none;min-height:0}
.studio .world-chapter,.studio .reading-world{padding:calc(var(--desk-height) + 28px) 12px 48px;min-height:0}
.studio .world-chapter .info-panel,.studio .reading-world .reading-plate{width:100%;max-width:660px!important;min-height:0;margin:0 auto;padding:28px 12px;border-width:21px;border-image-width:21px;transform:none!important}
.studio .world-chapter .info-panel h2,.studio .reading-plate h2{font-size:30px}.studio .info-panel p{font-size:16px;line-height:1.5}
.studio .info-panel .eyebrow{font-size:12px}.studio .info-panel .small-note{font-size:13px}
.studio .scene-label{padding:6px;gap:8px}.studio .scene-label span{font-size:12px;letter-spacing:0}.studio .scene-label strong{font-size:24px}
.studio .page-hero .page-guide{top:calc(var(--desk-height) * .78);left:14px;bottom:auto;width:calc(100% - 28px);min-height:0;padding:12px 10px}
.studio .page-hero{height:max(780px,100svh,calc(var(--desk-height) + 80px))}
.studio .page-guide .disclosure{font-size:12px}.studio .page-guide p{font-size:16px}
.studio .world-footer,.studio .work-console{padding-top:55px}
}
@media(min-width:769px) and (max-width:900px) and (max-height:500px){
.studio .scene-desktop{display:block!important}.studio .scene-mobile{display:none!important}.studio .title-desktop{display:flex}.studio .title-mobile{display:none}
.studio .hero-world{height:max(780px,calc(var(--desk-height) + 210px))}
.studio .title-desktop h1{font-size:30px!important}.studio .title-desktop .title-kicker{display:none}.studio .title-desktop .title-price{display:block;font-size:16px!important}
.studio .world-chapter,.studio .reading-world{padding:calc(var(--desk-height) + 28px) 12px 48px}
.studio .world-chapter .info-panel,.studio .reading-world .reading-plate{width:min(100%,660px);min-height:0;margin:0 auto}
.studio .world-chapter .scene-desktop [data-device=tablet],.studio .reading-world .scene-desktop [data-device=tablet]{display:block}
.studio .page-hero .page-guide{top:calc(var(--desk-height) + 14px);left:12px;width:calc(100% - 24px);min-height:0}
.studio .page-hero{height:calc(var(--desk-height) + 300px)}
}
@media(prefers-reduced-motion:reduce){.studio .scene-canvas::before,.studio .scene-canvas::after{transition:none}}
/* A short sheet ends above the tablet. A longer sheet covers the WHOLE device, never half a screen. */
.studio .world-chapter .info-panel,.studio .reading-world .reading-plate{min-height:0}
.studio .world-chapter .scene-desktop [data-device=tablet],.studio .reading-world .scene-desktop [data-device=tablet],.studio .page-hero .scene-desktop [data-device=tablet]{display:block}
.studio [data-device=tablet][data-occluded=true]{visibility:hidden!important;pointer-events:none}
.studio .screen-plane img{object-fit:contain;object-position:center top}
.studio .object-dock,.studio .mobile-bar{background-image:none!important;isolation:isolate}
.studio .object-dock::before,.studio .mobile-bar::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--master-foreground) center/cover;filter:var(--desk-exposure)}
.studio .work-intro .info-panel{padding-top:24px;padding-bottom:24px}
@media(max-width:768px){.studio .scene-label span{display:none}}
.studio .demo-exhibit{align-items:flex-start}.studio .demo-exhibit.turning{animation:none!important}
.studio .demo-display img{aspect-ratio:1200/750;object-fit:contain;object-position:top}
.studio .demo-phone img{aspect-ratio:390/844;object-fit:contain;object-position:top}
