/* Cinematic presentation layer: a still camera, living atmosphere and dissolves. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.2s ease}.scene video.is-active{opacity:1}.scene:after{z-index:1;pointer-events:none}
.home{transition:filter .85s ease,opacity .85s ease}.masthead{transition:opacity 1.6s ease,filter 1.8s ease,transform 1.8s ease}.featured{transition:opacity 1.6s .22s ease,filter 1.6s .22s ease}.navigation{transition:opacity 1.6s .45s ease}.site-footer{transition:opacity 1.5s .7s ease}.is-arriving .masthead{opacity:0;filter:blur(9px);transform:translateY(6px)}.is-arriving .featured,.is-arriving .navigation,.is-arriving .site-footer{opacity:0;filter:blur(3px)}.is-arriving .scene{filter:brightness(.48)}.scene{transition:filter 2s ease}
.intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#182023 0%,#0c1113 37%,#050809 85%);transition:opacity 1.4s ease,visibility 1.4s ease;overflow:hidden}.intro[hidden]{display:none}.intro.is-leaving{opacity:0;pointer-events:none;visibility:hidden}.intro:before,.intro:after{content:'';position:absolute;inset:24px;pointer-events:none;border:1px solid rgba(190,204,205,.13)}.intro:after{inset:31px;border-color:rgba(190,204,205,.045)}.intro-inner{text-align:center;position:relative;padding:40px 20px}.intro-seal{width:112px;height:112px;fill:none;stroke:#b5c2c6;stroke-width:.6;opacity:.75;overflow:visible}.intro-seal circle:nth-child(2){stroke-dasharray:1 8}.intro-orbit{transform-origin:80px 80px;animation:seal-turn 12s linear infinite;stroke-width:1.2}.intro-wordmark{font-family:var(--serif);font-size:clamp(56px,6vw,90px);letter-spacing:.28em;text-indent:.28em;margin:24px 0 12px;font-weight:400}.intro-title{font-family:var(--serif);font-size:14px;letter-spacing:.26em;text-transform:uppercase;margin:0;color:#9aa8ac}.intro-progress{height:1px;max-width:160px;margin:32px auto;background:#2a3437}.intro-progress span{display:block;width:0;height:100%;background:#b4c2c6;box-shadow:0 0 8px #7b8d94;transition:width .6s ease}.intro-skip{position:absolute;bottom:50px;left:50%;transform:translateX(-50%);padding:14px 20px;font-size:12px;letter-spacing:.13em;color:#9ea9ad;text-transform:uppercase;white-space:nowrap;transition:color .5s}.intro-skip:hover{color:#fff}.intro-skip span{padding-left:10px}@keyframes seal-turn{to{transform:rotate(360deg)}}
.featured{bottom:20%}.featured h2{font-size:clamp(18px,1.25vw,23px);margin-bottom:20px;text-shadow:0 2px 12px #000}.work-actions{gap:30px}.text-link{min-height:52px;transition:color .65s ease,text-shadow .65s ease,opacity .65s ease;letter-spacing:.14em}.text-link:after,.navigation a:after{display:none}.text-link:hover,.text-link:focus-visible{color:#fff;text-shadow:0 0 14px rgba(195,210,212,.75)}.work-actions:has(a:hover) a:not(:hover){opacity:.53}.play-medallion{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(219,226,226,.62);border-radius:50%;position:relative;transition:background .65s ease,border-color .65s ease,box-shadow .65s ease}.play-medallion:before{content:'';position:absolute;inset:-5px;border:1px solid rgba(191,207,211,.16);border-radius:50%;opacity:0;transition:opacity .8s ease}.play-medallion svg{width:14px;height:18px;margin-left:3px}.film-action:hover .play-medallion,.film-action:focus-visible .play-medallion{background:rgba(176,199,204,.13);border-color:#e2ebed;box-shadow:0 0 25px rgba(134,169,178,.17)}.film-action:hover .play-medallion:before,.film-action:focus-visible .play-medallion:before{opacity:1}
.navigation{bottom:8%;gap:10px;left:30px;right:30px}.navigation a,.panel-navigation a{height:52px;min-width:128px;display:grid;place-items:center;padding:0 22px;position:relative;font-family:var(--serif);font-size:15px;letter-spacing:.12em;text-transform:uppercase;isolation:isolate;transition:opacity .7s ease,color .7s ease}.navigation a:before,.panel-navigation a:before{content:'';position:absolute;inset:2px;z-index:-1;background:linear-gradient(100deg,rgba(54,68,73,0),rgba(102,125,132,.24),rgba(41,53,58,.05));opacity:.2;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);transition:opacity .9s ease}.nav-normal{grid-area:1/1;transition:opacity .6s ease,filter .7s ease}.nav-reveal{grid-area:1/1;opacity:0;filter:blur(5px);color:#fff;transition:opacity .7s ease,filter .8s ease;text-shadow:0 0 14px rgba(165,196,205,.5)}.nav-frame{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#b6c5cb;stroke-width:.65;opacity:.3;transition:opacity .8s ease;pointer-events:none}.nav-frame .inner{opacity:.4}.navigation a:hover:before,.panel-navigation a:hover:before,.navigation a:focus-visible:before,.panel-navigation a:focus-visible:before{opacity:1}.navigation a:hover .nav-normal,.panel-navigation a:hover .nav-normal,.navigation a:focus-visible .nav-normal,.panel-navigation a:focus-visible .nav-normal{opacity:0;filter:blur(3px)}.navigation a:hover .nav-reveal,.panel-navigation a:hover .nav-reveal,.navigation a:focus-visible .nav-reveal,.panel-navigation a:focus-visible .nav-reveal{opacity:1;filter:blur(0)}.navigation a:hover .nav-frame,.panel-navigation a:hover .nav-frame,.navigation a:focus-visible .nav-frame,.panel-navigation a:focus-visible .nav-frame{opacity:.95}.navigation:has(a:hover) a:not(:hover),.panel-navigation:has(a:hover) a:not(:hover){opacity:.45}.panel-navigation a[aria-current=page]{color:#fff}.panel-navigation a[aria-current=page] .nav-frame{opacity:.9}.scene-controls{display:flex;gap:24px}.scene-controls button{font-size:12px;letter-spacing:.09em;padding:6px 0;text-transform:uppercase;transition:color .6s,opacity .6s}.scene-controls button:hover{color:#f0f4f4}.site-footer{align-items:center;bottom:2.3%}
/* The open views dissolve over the coast, without a rectangular modal card. */
dialog{width:100%;height:100svh;max-height:none;max-width:none;inset:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none;opacity:0;overflow:hidden;transition:opacity .72s ease,filter .72s ease;filter:blur(5px)}dialog[open]{animation:none}dialog.is-visible{opacity:1;filter:blur(0)}dialog.is-closing{opacity:0;filter:blur(5px)}dialog:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,8,10,.9) 0%,rgba(4,10,13,.8) 40%,rgba(5,11,14,.62) 70%,rgba(4,9,11,.7) 100%)}dialog::backdrop{background:rgba(1,5,7,.15);backdrop-filter:none;transition:background .8s}.panel-head{height:94px;position:absolute;top:0;left:0;right:0;padding:20px 5%;border:0;z-index:2;background:linear-gradient(#071013a1,transparent)}.panel-wordmark{font-size:34px;letter-spacing:.26em}.close-button{width:46px;height:46px;margin:0;position:relative;opacity:.7;transition:opacity .6s,background .6s}.close-button:before{content:'';position:absolute;inset:3px;border:1px solid rgba(173,197,202,.24);transform:rotate(45deg);transition:border-color .6s}.close-button:hover{opacity:1}.close-button:hover:before{border-color:rgba(216,230,234,.7)}#panel-content{position:absolute;inset:94px 4% 116px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#586a72 transparent;opacity:1;filter:blur(0);transition:opacity .38s ease,filter .38s ease}#panel-content.is-switching{opacity:0;filter:blur(5px)}.copy-view{max-width:720px;padding:clamp(30px,7vh,90px) 6% 50px;margin-left:8%;position:relative}.copy-view:before{content:'';position:absolute;top:37px;left:0;width:1px;height:calc(100% - 80px);background:linear-gradient(transparent,#8a9fa650,transparent)}#panel-title{font-size:clamp(42px,5.5vw,78px);margin-bottom:28px;text-shadow:0 2px 25px #000}.copy-view .eyebrow{color:#a4b7c0;margin-bottom:22px}.copy-view p.lede{font-size:34px;margin-top:32px}.copy-view p:not(.eyebrow){font-size:18px;line-height:1.8}.copy-view .inline-link{transition:color .7s,text-shadow .7s,border-color .7s}.copy-view .inline-link:hover{color:#fff;text-shadow:0 0 15px #9fb6c080;border-color:#c9d8dd}.media-view,.gallery-view{padding:28px 5% 35px;max-width:1120px;margin:0 auto}.media-view #panel-title,.gallery-view #panel-title{font-size:clamp(36px,4vw,58px)}.media-still{max-height:43svh;object-fit:contain;object-position:left center;filter:drop-shadow(0 10px 30px #0005)}.gallery-stage{background:transparent;height:clamp(180px,45svh,580px);position:relative}.gallery-stage:before,.gallery-stage:after{content:'';position:absolute;inset:-9px;border-top:1px solid #adbfc038;border-bottom:1px solid #adbfc038;pointer-events:none}.gallery-stage:after{inset:-5px;border-color:#adbfc01c}.gallery-stage img{opacity:1;filter:blur(0);transition:opacity .5s ease,filter .5s ease}.gallery-stage img.is-fading{opacity:0;filter:blur(4px)}.gallery-controls{padding-top:22px}.gallery-arrow{opacity:.6;transition:opacity .6s,text-shadow .6s}.gallery-arrow:hover{opacity:1;text-shadow:0 0 12px #c2d8dd}.gallery-thumbnails button{width:88px;height:54px;transition:opacity .6s,border-color .6s,filter .6s;filter:grayscale(.4)}.gallery-thumbnails button[aria-current=true]{filter:grayscale(0)}.panel-footer{position:absolute;bottom:0;left:0;right:0;min-height:105px;border:0;display:flex;align-items:center;justify-content:center;padding:15px 5% 27px;background:linear-gradient(transparent,rgba(2,7,9,.9))}.panel-navigation{display:flex;gap:8px;justify-content:center}.panel-navigation a{min-width:116px;font-size:14px;padding:0 18px;height:48px}.back-link{position:absolute;left:4%;bottom:43px;font-size:13px;letter-spacing:.07em;text-transform:uppercase;opacity:.65;transition:opacity .6s}.back-link:hover{opacity:1;text-decoration:none}.body-panel-open .masthead,.body-panel-open .featured,.body-panel-open>.home>.navigation,.body-panel-open .site-footer{opacity:0;pointer-events:none;transition-delay:0s}
@media(max-width:1100px){.back-link{position:static;margin-right:24px}.panel-navigation a{min-width:96px;padding:0 12px;font-size:13px}.panel-footer{padding-left:20px;padding-right:20px}.navigation a{min-width:112px;padding:0 15px}}
@media(max-width:760px){.navigation{bottom:8%;gap:5px 8px;max-width:520px}.navigation a{min-width:105px;padding:0 13px;height:48px;font-size:14px}.featured{bottom:29%}.featured h2{font-size:18px}.text-link{font-size:14px;letter-spacing:.1em}.play-medallion{width:40px;height:40px}.scene-controls{gap:16px}.scene-controls button{font-size:12px;letter-spacing:.02em}.site-footer{left:18px;right:18px;bottom:2.5%;font-size:12px;letter-spacing:.03em}.panel-head{height:78px;padding:18px 25px}.panel-wordmark{font-size:29px}.close-button{width:38px;height:38px}#panel-content{inset:82px 5% 154px}.copy-view{margin-left:0;padding:35px 20px 40px}.copy-view:before{display:none}.copy-view p:not(.eyebrow){font-size:17px}.copy-view p.lede{font-size:29px}.media-view,.gallery-view{padding:24px 10px 35px}.media-still{max-height:35svh}.gallery-stage{height:30svh;min-height:170px}.panel-footer{min-height:145px;padding:10px 22px 25px;flex-direction:column;gap:10px}.panel-navigation{flex-wrap:wrap;gap:4px 7px;max-width:460px}.panel-navigation a{min-width:90px;height:40px;font-size:14px;padding:0 12px}.back-link{order:2;margin:0;padding:4px;font-size:12px}.intro-skip{bottom:38px}.intro-seal{width:90px;height:90px}.gallery-thumbnails button{width:74px;height:48px}}
@media(max-aspect-ratio:3/4){.scene{inset:19% 0 auto;height:56.308655vw;mask-image:linear-gradient(to bottom,transparent,black 10%,black 83%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 10%,black 83%,transparent)}.scene img{position:absolute;inset:0;top:0;width:100%;height:100%;object-fit:cover;mask-image:none;-webkit-mask-image:none}.scene:after{display:none}.scene video{inset:0}.featured{bottom:29%}.masthead{top:7%}.navigation{bottom:9%}.gallery-stage{height:27svh}}
@media(max-height:650px) and (min-width:761px){.featured{bottom:22%}.featured h2{margin-bottom:10px}.masthead{top:5%}.navigation{bottom:7%}.navigation a{height:45px}.panel-head{height:70px}#panel-content{inset:74px 4% 95px}.panel-footer{min-height:90px;padding-bottom:15px}.copy-view{padding-top:15px}.copy-view p.lede{margin-top:15px}.media-view,.gallery-view{padding-top:10px}.gallery-stage{height:29svh;min-height:130px}}
@media(prefers-reduced-motion:reduce){.intro{display:none}.is-arriving .masthead,.is-arriving .featured,.is-arriving .navigation,.is-arriving .site-footer{opacity:1;filter:none;transform:none}.is-arriving .scene{filter:none}dialog,.gallery-stage img{filter:none}}

@media(min-aspect-ratio:3/4) and (max-width:760px){.scene video{object-position:48% center}}

/* The story and portrait share a translucent reading frame over the land. */
#panel-content{z-index:1}
.panel-footer{z-index:2}
.project-scene{position:absolute;inset:0;z-index:0;background:#050809;overflow:hidden}
.project-scene[hidden]{display:none}
.project-scene img,.project-scene video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.project-scene video{opacity:0;transition:opacity 1.35s ease}
.project-scene video.is-active{opacity:1}
.project-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,8,.32) 0%,rgba(3,7,9,.2) 34%,rgba(3,7,9,.1) 68%,rgba(2,5,7,.24) 100%),linear-gradient(180deg,rgba(2,6,8,.12),transparent 46%,rgba(2,5,7,.52));pointer-events:none}
dialog[data-view=project]:before{background:linear-gradient(90deg,rgba(3,8,10,.18),rgba(3,8,10,.04))}
.project-view{height:calc(100% - 16px);min-height:0;width:100%;max-width:1560px;margin:8px auto;display:grid;grid-template-columns:minmax(0,650px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:'opening artwork' 'story artwork';align-items:stretch;column-gap:clamp(30px,5vw,96px);row-gap:20px;padding:clamp(20px,3vh,40px) 4%;position:relative;border:1px solid rgba(183,197,206,.16);border-radius:18px;background:linear-gradient(120deg,rgba(9,18,23,.78),rgba(10,18,24,.58) 68%,rgba(9,18,23,.72));box-shadow:0 18px 56px #00000020;overflow:hidden}
.project-opening{grid-area:opening;min-width:0;text-shadow:0 2px 24px #000}
.project-body{display:contents}
.project-story{grid-area:story;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:2px 20px 12px 2px;text-shadow:0 2px 24px #000}
.project-story>.project-text:first-child{margin-bottom:32px}
.project-story:focus-visible,.project-body:focus-visible{outline:1px solid #b7c5ce70;outline-offset:-1px}
.project-opening .eyebrow{margin:0 0 12px;font-size:.875rem;color:#c6d0d2}
#panel-title.project-title{font-family:var(--serif);font-size:clamp(2.875rem,4.6vw,4.875rem);line-height:1.04;letter-spacing:.005em;margin:0 0 26px}
.project-title span{display:block}
.project-title span:last-child{margin-left:0}
.project-text{max-width:650px}
.project-text p{font-size:clamp(1.125rem,1.35vw,1.25rem);line-height:1.65;color:#d5dcdd;margin:0 0 18px}
.project-text .project-intro{color:#eef1ef;margin-bottom:28px}
.project-text p:last-child{margin-bottom:0}
.project-text h3{font-family:var(--serif);font-size:clamp(1.5rem,2vw,1.75rem);font-weight:400;line-height:1.25;letter-spacing:.01em;color:#e9edeb;margin:0 0 20px}
.project-story section+section{margin-top:46px}
.project-quote{max-width:600px;margin:40px 0 16px;padding:0;font-family:var(--serif)}
/* Style the actual text so biography paragraph rules cannot flatten its hierarchy. */
.project-view .project-text .project-quote p{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;line-height:1.25;letter-spacing:.005em;color:#d3c2a2;margin:0;max-width:29ch;text-wrap:balance}
.project-story .inline-link{display:inline-block;margin-top:16px;padding:12px 0;font-size:1rem;border-bottom:1px solid #7c8b8f;transition:color .7s,text-shadow .7s,border-color .7s}
.project-story .inline-link:hover{color:#fff;text-shadow:0 0 15px #9fb6c080;border-color:#c9d8dd}

/* The film keeps its original widescreen composition, framed by the coast. */
dialog[data-view=films] #panel-content{inset:76px 4% 88px}
dialog[data-view=films] .panel-head{height:72px;padding-top:12px;padding-bottom:12px}
dialog[data-view=films] .panel-footer{min-height:76px;padding-top:8px;padding-bottom:12px}
dialog[data-view=films] .back-link{bottom:26px}
.film-view{width:min(100%,max(34rem,calc((100svh - 28rem)*16/9 + 3rem)));max-width:1760px;margin:8px auto;padding:20px 24px 16px;border:1px solid #b7c5ce30;border-radius:18px;background:linear-gradient(150deg,#08101445,#08101466 58%,#081014a6);box-shadow:0 18px 56px #00000020}
.film-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:16px}
.film-heading>div{min-width:0;flex:1}
.film-heading .eyebrow{margin-bottom:6px;color:#c2cccf;font-size:.875rem}
.film-view #panel-title{margin:0;line-height:1.08}
.film-edition{margin:0 0 5px;color:#c2cccf;font-size:.875rem;letter-spacing:.07em;white-space:nowrap}
.film-edition>span:first-child{margin:0 7px}
.film-stage{position:relative;background:#020405;width:100%;aspect-ratio:16/9;min-height:200px;outline:1px solid #bdc9cd1f;outline-offset:0}
.film-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;background:#020405}
.film-youtube{position:absolute;inset:0}
.film-youtube iframe{display:block;border:0;width:100%;height:100%;min-height:200px;background:#000}
.film-poster[hidden],.film-youtube[hidden]{display:none}
.film-start{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:14px;padding:20px 28px;color:#f0f1ed;text-shadow:0 1px 16px #000;font-size:1rem;letter-spacing:.08em;transition:opacity .4s,color .4s}
.film-start[hidden]{display:none}
.film-play-symbol{display:grid;place-items:center;width:64px;height:64px;border:1px solid #e1e7e2b3;border-radius:50%;padding-left:3px;font-size:18px;background:#07101466;transition:background .5s,border-color .5s}
.film-start:hover .film-play-symbol,.film-start:focus-visible .film-play-symbol{background:#071014b3;border-color:#fff}
.film-start:disabled{opacity:.6;cursor:progress}
.film-below{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 24px;padding-top:12px}
.film-message{font-size:.875rem;color:#c6d0d2;line-height:1.5;margin:10px 0 0}
.film-message:empty{display:none}
.film-below .media-destination{padding:0}
.film-below .inline-link,.film-below .external-link{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:10px 0;white-space:nowrap;color:#d4dcdd;font-size:.875rem}
.film-view .media-destination:empty{display:none}
@media(max-width:760px){.film-view{width:100%;margin:0 auto;padding:16px;border-radius:18px}.film-heading{display:block;margin-bottom:16px}.film-edition{margin:10px 0 0;font-size:.875rem}.film-start{gap:8px;padding:12px;font-size:.875rem;white-space:nowrap}.film-play-symbol{width:46px;height:46px;font-size:14px}.film-below{gap:6px 18px}.film-below .inline-link,.film-below .external-link{white-space:normal}dialog[data-view=films] #panel-content{inset:88px 4% 116px}}
@media(prefers-reduced-motion:reduce){.film-start,.film-play-symbol{transition:none}}

/* One manually controlled picture stays alongside the long-form story. */
.project-artwork{grid-area:artwork;position:relative;align-self:stretch;justify-self:end;width:100%;max-width:470px;height:100%;margin:0;min-width:0;min-height:0}
.project-figure{margin:0;height:100%;min-height:0;display:flex;flex-direction:column;align-items:stretch}
.project-image-stage{position:relative;isolation:isolate;width:100%;flex:1 1 0;min-height:0;overflow:hidden;background:transparent}
.project-figure>figcaption,.project-figure>.project-image-choices,.project-figure>.project-portrait-toggle,.project-figure>.project-image-message{flex:none}
.project-still{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .55s ease;pointer-events:none}
.project-still.is-visible{opacity:1}
.project-image,.portrait-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.project-still.is-portrait{mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.92) 69%,transparent 98%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.92) 69%,transparent 98%)}
.portrait-canvas{opacity:0;transition:opacity .6s ease}
.portrait-playing .portrait-canvas{opacity:1}
.portrait-playing .project-image{opacity:0;transition:opacity .6s ease}
.project-image-caption{min-height:3em;margin-top:0;font-size:.875rem;line-height:1.5;color:#c5ced0;text-align:center}
.project-image-caption span{display:block}
.project-image-caption [data-project-image-title]{color:#e5eae8}
.project-image-choices{display:flex;justify-content:center;gap:4px;margin-top:2px}
.project-image-choices button{display:grid;place-items:center;width:44px;height:44px;padding:0}
.project-image-choices button span{display:block;width:9px;height:9px;border:1px solid #9ba7ac;border-radius:50%;background:transparent;transition:background .3s,border-color .3s}
.project-image-choices button[aria-pressed=true] span{background:#e0e7e8;border-color:#e0e7e8}
.project-image-choices button:hover span,.project-image-choices button:focus-visible span{border-color:#fff}
.project-image-choices button:focus-visible{outline:1px solid #b9c8cc;outline-offset:0}
.project-image-message{min-height:3em;margin:0;font-size:.875rem;line-height:1.5;color:#ccd3d5;text-align:center}
.project-image-message:empty{display:none}
.project-portrait-toggle{display:block;margin:0 auto;padding:8px 12px;min-height:40px;font-size:.875rem;color:#acb9bc;transition:color .4s ease}
.project-portrait-toggle[hidden]{display:none}
.project-portrait-toggle:hover{color:#eef1ef}
.project-portrait-toggle:disabled{opacity:.6;cursor:default}
dialog[data-view=project] #panel-content{overflow:hidden}
.project-story,.project-body{--project-scroll-thumb:rgba(164,183,188,.07);scrollbar-width:thin;scrollbar-color:var(--project-scroll-thumb) transparent}
.project-story:hover,.project-body:hover{--project-scroll-thumb:rgba(164,183,188,.25)}
.project-story:focus-within,.project-body:focus-within{--project-scroll-thumb:rgba(164,183,188,.4)}
.project-story::-webkit-scrollbar,.project-body::-webkit-scrollbar{width:4px;background:transparent}
.project-story::-webkit-scrollbar-track,.project-body::-webkit-scrollbar-track{background:transparent}
.project-story::-webkit-scrollbar-thumb,.project-body::-webkit-scrollbar-thumb{background:var(--project-scroll-thumb);border-radius:4px}
.project-story::-webkit-scrollbar-thumb:hover,.project-body::-webkit-scrollbar-thumb:hover{background:rgba(164,183,188,.55)}
.project-story::-webkit-scrollbar-button,.project-body::-webkit-scrollbar-button{display:none;width:0;height:0}
@supports selector(::-webkit-scrollbar){.project-story,.project-body{scrollbar-width:auto;scrollbar-color:auto}}
@media(hover:none){.project-story,.project-body{--project-scroll-thumb:rgba(164,183,188,.22)}}
@media(forced-colors:active){.project-story,.project-body{--project-scroll-thumb:CanvasText;scrollbar-color:auto}}

@media(min-width:761px) and (max-width:1050px){
  .project-view{grid-template-columns:minmax(0,1fr) minmax(190px,29%);column-gap:30px;padding-left:3%;padding-right:3%}
  #panel-title.project-title{font-size:clamp(2.625rem,5vw,3.25rem)}
}

@media(max-width:760px){
  .project-scene img,.project-scene video{height:100%;object-position:68% center}
  .project-scene:after{background:linear-gradient(180deg,rgba(2,6,8,.22),rgba(2,6,8,.3) 35%,rgba(2,6,8,.48))}
  .project-view{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:'opening' 'body';row-gap:16px;min-height:0;margin:8px auto;padding:16px;background:linear-gradient(150deg,rgba(9,18,23,.78),rgba(10,18,24,.7))}
  .project-body{grid-area:body;display:flex;flex-direction:column;gap:28px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:2px 12px 12px 2px}
  .project-story{overflow:visible;scrollbar-gutter:auto;padding:0;flex:none;order:0}
  .project-opening,.project-story{width:100%;max-width:560px}
  .project-opening .eyebrow{margin-bottom:13px}
  #panel-title.project-title{font-size:clamp(2.5rem,12vw,3.875rem);margin-bottom:22px}
  .project-text p{font-size:1.125rem;line-height:1.65;margin-bottom:18px}
  .project-artwork{position:static;width:min(100%,260px);height:auto;margin:0 auto;flex:none;order:1}
  .project-figure{height:auto}
  .project-image-stage{flex:none;aspect-ratio:4/5}
  .project-story section+section{margin-top:38px}
  .project-quote{margin-top:36px}
}
/* Short windows keep all content reachable inside the frame as well. */
@media(max-height:540px){
 .project-view{grid-template-columns:minmax(0,1fr);grid-template-areas:'opening' 'body';padding:10px 16px;row-gap:8px}
 .project-opening .eyebrow{margin:0 0 4px}
 #panel-title.project-title{font-size:1.5rem;line-height:1.1;margin:0}
 .project-title span{display:inline}
 .project-body{grid-area:body;display:flex;flex-direction:column;gap:24px;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:2px 12px 12px 2px}
 .project-story{overflow:visible;scrollbar-gutter:auto;padding:0;flex:none;order:0}
 .project-artwork{width:min(100%,260px);height:auto;margin:0 auto;flex:none;order:1}
 .project-figure{height:auto}
 .project-image-stage{flex:none;aspect-ratio:4/5}
}
@media(prefers-reduced-motion:reduce){.project-scene video{display:none}.project-still,.project-image-choices button span{transition:none}}

/* Shared sound control stays reachable both on the coast and inside a view. */
.panel-head-actions{display:flex;align-items:center;gap:28px}
[data-sound-toggle],[data-atmosphere-toggle]{min-width:88px;min-height:36px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#adb0b0;transition:color .6s ease}
[data-sound-toggle][aria-pressed=true],[data-atmosphere-toggle][aria-pressed=true]{color:#e4ebed}
[data-sound-toggle]:hover,[data-atmosphere-toggle]:hover{color:#fff}
.scene-controls{flex-wrap:wrap;justify-content:flex-end;column-gap:20px;row-gap:0}
@media(max-width:760px){.site-footer{align-items:flex-end}.scene-controls{max-width:calc(100% - 88px);column-gap:15px}.scene-controls button{min-height:30px}.panel-head-actions{gap:12px}[data-sound-toggle],[data-atmosphere-toggle]{letter-spacing:.02em;min-width:72px;font-size:11px}}
