/* G: an empty DOM claim is the home of the persistent GL surface. */
html.home [data-detail].layout-mapped [data-sheet] {padding:0;transform:none!important;pointer-events:none;}
html.home [data-detail].layout-mapped [data-sheet-body] {display:block;padding:0;height:100svh;overflow:auto;background:transparent;pointer-events:auto;scrollbar-width:none;overscroll-behavior:contain;}
html.home .project-layout-slot {pointer-events:none;}
html.home [data-detail].layout-mapped .case-editorial__visual {display:none;}
html.home [data-detail].layout-mapped .case-editorial__copy {position:relative;z-index:1;min-height:60svh;background:#09090b;color:#f4f1ea;padding:76px 6vw 140px;}
html.home [data-detail].layout-mapped::before {display:none;}
html.home.is-open [data-folio] {text-shadow:0 2px 22px #0009;}

/* The browser owns both compositions; the same surface follows its changing claim. */
.project-layout-stage{position:relative;height:185svh;--layout:0;--image-aspect:1.6;--image-width:min(62vw,calc(72svh * var(--image-aspect)));--image-height:calc(var(--image-width) / var(--image-aspect));}
.project-layout-sticky{position:sticky;top:0;height:100svh;overflow:hidden;}
.project-layout-sticky > [data-project-id]{position:absolute;left:calc(4vw * var(--layout));top:calc(14svh * var(--layout));width:calc(100% * (1 - var(--layout)) + var(--image-width) * var(--layout));height:calc(100svh * (1 - var(--layout)) + var(--image-height) * var(--layout));pointer-events:none;}
.project-layout-title{position:absolute;left:calc(6vw + 64vw * var(--layout));top:calc(82svh - 50svh * var(--layout));width:calc(82vw - 58vw * var(--layout));height:100px;font-size:calc(88px - 38px * var(--layout));pointer-events:none;}
.project-layout-sticky > .case-editorial__copy,html.home [data-detail].layout-mapped .project-layout-sticky > .case-editorial__copy{position:absolute;left:70vw;top:39svh;width:24vw;min-height:0;display:flex;flex-direction:column;gap:24px;padding:0;background:transparent;color:#f4f1ea;opacity:clamp(0,calc((var(--layout) - .7) * 3.333),1);transform:translateY(calc(32px * (1 - var(--layout))));}
.project-layout-sticky .case-editorial__copy h2{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;}
.project-layout-sticky .case-editorial__copy p{margin:0;font-size:clamp(16px,1.3vw,20px);line-height:1.6;}
.project-layout-sticky .case-editorial__copy [data-sheet-kicker]{display:none;}
@media(max-width:700px){.project-layout-stage{height:200svh;--image-width:88vw;}.project-layout-sticky > [data-project-id]{left:calc(6vw * var(--layout));top:calc(13svh * var(--layout));width:calc(100% * (1 - var(--layout)) + var(--image-width) * var(--layout));height:calc(100svh * (1 - var(--layout)) + var(--image-height) * var(--layout));}.project-layout-title{left:6vw;top:calc(82svh - 31svh * var(--layout));width:88vw;height:64px;font-size:calc(44px - 12px * var(--layout));}.project-layout-sticky > .case-editorial__copy,html.home [data-detail].layout-mapped .project-layout-sticky > .case-editorial__copy{left:6vw;top:56svh;width:88vw;gap:12px;}.project-layout-sticky .case-editorial__copy p{font-size:15px;}.project-layout-sticky .case-editorial__copy button,.project-layout-sticky .case-editorial__copy a{min-height:36px;}}

html.home [data-detail].layout-mapped .case-editorial__copy button{min-height:44px;cursor:pointer;}

/* Production audit: restore contrast over bright project captures without replacing media. */
html.home [data-detail].layout-mapped::before{display:block;background:linear-gradient(0deg,#000f 0%,#000b 26%,#0000 66%);opacity:var(--hero-scrim,0);pointer-events:none;}

/* Cursor labels follow the home state, rather than the obsolete is-labeled class. */
html.home .cursor[data-state="open"] .cursor__label,html.home .cursor[data-state="view"] .cursor__label,html.home .cursor[data-state="drag"] .cursor__label{opacity:1;}
