@import url('../assets/brand.css');

:root{--paper:#f3efe5;--ink:#302b25;--muted:#62574b;--line:#bfb5a4;--room-back:#d9cdb6;--room-side:#b5a489;--room-floor:#c6b79d;--room-light:#ffe3aa;--wash:#e5be96;--light-x:15%;--shadow-x:18px;color-scheme:light;font-family:Inter,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}body[data-light=noon]{--room-back:#e7e1cf;--room-side:#c8c1aa;--room-floor:#d7ceba;--room-light:#fff8db;--wash:#e9debd}body[data-light=dusk]{--room-back:#c7c5d2;--room-side:#9396aa;--room-floor:#a3a7bc;--room-light:#dfc3af;--wash:#b1a4c0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{border-radius:0}button:disabled{opacity:.45;cursor:wait}button:hover:not(:disabled),a:hover{color:#714c2d}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #7e3b25;outline-offset:5px}::selection{background:#a34028;color:#fff9ef}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#88765f;border:3px solid var(--paper)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:300;line-height:1.03;letter-spacing:-.04em;text-wrap:balance}em{font-weight:300}svg{fill:none;stroke:currentColor;stroke-width:1.5;width:22px;height:22px;flex:none}img{display:block;max-width:100%}.skip-link{position:fixed;z-index:20;left:20px;top:12px;transform:translateY(-150%);padding:12px 20px;background:var(--ink);color:var(--paper)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 3.2%;border-bottom:1px solid var(--line);min-height:83px}.brand{display:inline-flex;align-items:center;gap:14px;font-family:Fraunces,Georgia,serif;font-size:27px;line-height:1;letter-spacing:-.025em;text-decoration:none}.brand img{width:33px;height:33px}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px}.site-header nav a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.study-link{gap:12px}.chamber{isolation:isolate;position:relative;overflow:hidden;height:calc(100svh - 214px);min-height:580px;max-height:820px;background:var(--room-back)}.room{position:absolute;inset:0;overflow:hidden}.css-room,.webgl-room{position:absolute;inset:0}.webgl-room{visibility:hidden}body[data-renderer=webgl] .webgl-room{visibility:visible}.webgl-room canvas{display:block;width:100%;height:100%}body[data-renderer=webgl] .css-room{visibility:hidden}.room-back{position:absolute;inset:0 13% 25%;background:var(--room-back);box-shadow:inset 30px 10px 100px #6c55451a}.room-left{position:absolute;inset:0;background:var(--room-side);clip-path:polygon(0 0,13% 12%,13% 75%,0 100%)}.room-right{position:absolute;inset:0;background:var(--room-side);clip-path:polygon(100% 0,87% 12%,87% 75%,100% 100%)}.room-floor{position:absolute;inset:0;background:var(--room-floor);clip-path:polygon(13% 75%,87% 75%,100% 100%,0 100%)}.room-floor:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 38px,#685a4226 39px 40px);transform:perspective(140px) rotateX(35deg);transform-origin:bottom}.room-ceiling{position:absolute;inset:0;background:#b6aa94;clip-path:polygon(0 0,100% 0,87% 12%,13% 12%)}.room-aperture{position:absolute;width:31%;height:11%;left:25%;top:-2%;background:#fff5d4;transform:skewX(-27deg);box-shadow:0 14px 24px #56412124}.room-door{position:absolute;right:15%;top:29%;width:7%;height:46%;background:#6b6050;box-shadow:inset 12px 4px 14px #33271955}.room-light{position:absolute;left:var(--light-x);top:10%;width:40%;height:90%;background:var(--room-light);opacity:.42;clip-path:polygon(6% 0,42% 0,100% 100%,0 100%);transform:skewX(-17deg);mix-blend-mode:soft-light}.chamber-heading{position:absolute;z-index:2;left:3.2%;top:32px;pointer-events:none}.chamber-heading h1{font-size:clamp(54px,6.1vw,88px)}.chamber-heading p{font-size:14px;line-height:1.55;margin-top:19px;max-width:22ch}.hanging-work{position:absolute;z-index:2;left:52%;top:51%;width:min(43%,640px);transform:translate(-50%,-43%)}.photograph-mount{padding:12px;background:#f9f5eb;box-shadow:var(--shadow-x) 25px 35px #3827143b,2px 3px 5px #38271426}.photograph-mount img{width:100%;height:auto;aspect-ratio:1600/1067;object-fit:contain;filter:none;opacity:1;mix-blend-mode:normal}.hanging-work figcaption{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:14px;padding-top:18px}.hanging-work figcaption span:first-child{font-family:Fraunces,Georgia,serif;font-size:23px;line-height:1.2;letter-spacing:-.02em}.hanging-work figcaption span:last-child{font-size:14px;max-width:40ch}.room-note{position:absolute;bottom:28px;left:3.2%;display:flex;align-items:center;gap:9px;font-size:14px}.light-indicator{display:block;width:9px;height:9px;background:var(--ink);border-radius:50%}.work-navigation{display:flex;align-items:center;gap:16px;position:absolute;right:3.2%;bottom:16px}.arrow-button{border:1px solid #5c514c70;background:var(--paper);width:48px;height:48px;display:grid;place-items:center}.arrow-button:hover{background:#fff8e9}#work-position{font-size:14px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums}.chamber-console{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:21px 3.2%;border-bottom:1px solid var(--line)}fieldset{border:0;margin:0;padding:0;min-width:0}.light-presets legend{font-size:14px;margin:0 0 8px;padding:0;color:var(--muted)}.preset-buttons{display:flex;gap:0}.preset-buttons button{border:1px solid var(--line);background:none;padding:10px 19px;min-height:44px;font-size:14px}.preset-buttons button+button{border-left:0}.preset-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.preset-buttons button:hover:not([aria-pressed=true]){background:#e8dfcf}.direction-control{width:260px}.direction-control label{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;margin-bottom:4px}.direction-control output{font-size:14px;color:var(--muted)}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:44px;background:transparent;margin:0;cursor:pointer;accent-color:#4e483c}input[type=range]::-webkit-slider-runnable-track{height:2px;background:#aa9e8c}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:21px;background:var(--ink);border:3px solid var(--paper);outline:1px solid var(--ink);margin-top:-10px}input[type=range]::-moz-range-track{height:2px;background:#aa9e8c}input[type=range]::-moz-range-thumb{border-radius:0;width:9px;height:15px;border:3px solid var(--paper);outline:1px solid var(--ink);background:var(--ink)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;border:0;background:none;border-bottom:1px solid currentColor;padding:10px 0;min-height:44px;text-decoration:none;font-size:14px}.display-note{padding:13px 3.2%;font-size:14px;color:var(--muted)}.collection{padding:110px 8% 80px}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:65px}.section-intro h2,.about-chamber h2{font-size:clamp(42px,4.7vw,68px)}.section-intro>p{font-size:14px;line-height:1.7;max-width:38ch}.work-entry{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:8%;padding:44px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.work-entry:nth-child(even){grid-template-columns:1fr 1.15fr}.work-entry:nth-child(even) .work-photo{order:2}.work-photo{background:#e7e0d3;padding:20px}.work-photo img{width:100%;height:auto;aspect-ratio:1600/1067;object-fit:contain}.work-copy h3{font-size:clamp(32px,3vw,47px);margin-bottom:18px}.work-copy p{font-size:15px;max-width:44ch;line-height:1.7}.work-copy .work-medium{font-size:14px;line-height:1.7;margin-bottom:25px;color:var(--muted)}.work-purchase{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:31px;padding-top:20px;border-top:1px solid var(--line)}.work-purchase>span{font-size:17px;white-space:nowrap}.work-purchase>span span{display:block;font-size:14px;color:var(--muted)}.work-purchase .text-link{font-size:14px}.about-chamber{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:95px 8% 110px;background:#e4d7be}.about-chamber p{max-width:65ch;font-size:15px;line-height:1.8;margin-bottom:22px}.about-chamber .text-link{margin-top:6px}footer{padding:38px 3.2%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px}footer .brand{font-size:25px}footer nav{display:flex;flex-wrap:wrap;gap:25px;font-size:14px}footer nav a{min-height:44px;display:flex;align-items:center}footer p{font-size:14px;color:var(--muted)}
@media(min-width:1700px){.chamber-heading{left:5%}.hanging-work{width:40%}}
@media(max-width:1050px){.chamber{min-height:560px}.chamber-heading h1{font-size:60px}.hanging-work{width:49%;left:56%;top:53%}.chamber-console{gap:25px}.direction-control{width:230px}.section-intro{gap:25px}.collection{padding-left:6%;padding-right:6%}.work-entry{gap:6%}.work-purchase{align-items:flex-start;gap:10px}.work-purchase .text-link{font-size:14px}.work-entry:nth-child(even){grid-template-columns:1fr 1.15fr}.about-chamber{padding-left:6%;padding-right:6%;gap:7%}}
@media(max-width:760px){.site-header{padding:14px 5%;min-height:75px;gap:15px}.brand{font-size:25px;gap:10px}.brand img{width:29px;height:29px}.site-header nav{gap:18px;font-size:14px}.site-header nav a:nth-child(2),.site-header nav .study-link{display:none}.chamber{height:620px;min-height:0;max-height:none}.chamber-heading{top:25px;left:6%;display:flex;align-items:flex-start;justify-content:space-between;width:88%;gap:20px}.chamber-heading h1{font-size:57px}.chamber-heading p{font-size:14px;line-height:1.6;margin-top:10px;text-align:right}.hanging-work{width:72%;left:50%;top:50%;max-width:480px;transform:translate(-50%,-30%)}.photograph-mount{padding:8px;box-shadow:var(--shadow-x) 20px 28px #38271440,2px 3px 5px #38271426}.hanging-work figcaption{padding-top:15px;gap:5px}.hanging-work figcaption span:first-child{font-size:24px}.hanging-work figcaption span:last-child{font-size:14px;max-width:29ch}.room-note{left:6%;bottom:26px;font-size:14px}.work-navigation{right:6%;bottom:15px;gap:11px}.arrow-button{width:46px;height:46px}.room-door{right:9%;width:9%}.room-back{inset:0 8% 25%}.room-left{clip-path:polygon(0 0,8% 12%,8% 75%,0 100%)}.room-right{clip-path:polygon(100% 0,92% 12%,92% 75%,100% 100%)}.room-floor{clip-path:polygon(8% 75%,92% 75%,100% 100%,0 100%)}.chamber-console{display:grid;grid-template-columns:1fr 1fr;padding:22px 6%;gap:20px}.light-presets{grid-column:1/-1}.light-presets legend{margin-bottom:8px;font-size:14px}.preset-buttons button{flex:1;padding:10px 20px}.direction-control{width:100%;grid-column:1/-1}.work-details-link{justify-self:start;grid-column:1/-1}.display-note{font-size:14px;line-height:1.6;padding:15px 6% 0;max-width:62ch}.collection{padding:80px 6% 55px}.section-intro{display:block;margin-bottom:36px}.section-intro h2,.about-chamber h2{font-size:45px;line-height:1.05}.section-intro p{margin-top:25px;font-size:14px}.work-entry,.work-entry:nth-child(even){display:block;padding:28px 0 38px}.work-photo{padding:13px}.work-entry:nth-child(even) .work-photo{order:initial}.work-copy{padding-top:26px}.work-copy h3{font-size:36px;margin-bottom:15px}.work-copy p{font-size:14px;max-width:65ch}.work-copy .work-medium{font-size:14px;margin-bottom:19px}.work-purchase{margin-top:24px;align-items:center}.work-purchase .text-link{font-size:14px}.about-chamber{display:block;padding:60px 6% 65px}.about-chamber h2{margin-bottom:33px}.about-chamber p{font-size:14px;line-height:1.8}footer{padding:30px 6%;display:block}footer nav{margin:21px 0 13px;gap:24px}footer p{font-size:14px}}
@media(max-width:420px){.chamber{height:540px}.chamber-heading h1{font-size:50px}.chamber-heading p{max-width:15ch;font-size:14px}.hanging-work{width:78%;top:49%}.hanging-work figcaption span:first-child{font-size:23px}.room-note{font-size:14px;bottom:28px;gap:7px}.work-navigation{gap:8px}.arrow-button{width:44px;height:44px}.room-note .light-indicator{width:7px;height:7px}.section-intro h2,.about-chamber h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Active preset retains its light text on the dark ground when hovered. */
.preset-buttons button[aria-pressed="true"]:hover{color:#fbf6e8}
/* Gallery signage has a fixed paper ground; room light must not reduce text contrast. */
.chamber-heading{background:#fbf6e8;color:#203953;padding:18px 22px;width:310px}.chamber-heading h1{font-size:56px}.chamber-heading p{margin-top:15px}.chamber-heading :focus-visible{outline:2px solid #7e3b25;outline-offset:4px}@media(max-width:760px){.chamber-heading{padding:14px 16px;gap:16px;width:88%;max-width:480px}.chamber-heading h1{font-size:42px}.chamber-heading p{font-size:14px;max-width:15ch;margin-top:3px}}@media(max-width:360px){.chamber-heading h1{font-size:36px}.chamber-heading p{max-width:13ch}}
