*{box-sizing:border-box}html{background:#211914;color:#e0cba9}body{margin:0;font-family:Georgia,'Times New Roman',serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #e9c985;outline-offset:7px;border-radius:3px}.room-scene{position:relative;isolation:isolate;min-height:100svh;padding:0 5vw 72px;overflow:hidden}.wall-base,.wall-light{position:absolute;inset:0;z-index:-3;background:url('/portfolio-wall-v1/wall.webp') center top/cover no-repeat;pointer-events:none}.wall-base{filter:brightness(.62) saturate(.78)}.wall-light{z-index:-2;filter:brightness(1.12) saturate(.84);opacity:.68;transition:opacity 850ms ease;mask-image:radial-gradient(ellipse var(--rx,235px) var(--ry,240px) at var(--x,30%) var(--y,280px),#fff 0%,#fff9 32%,#0000 100%);-webkit-mask-image:radial-gradient(ellipse var(--rx,235px) var(--ry,240px) at var(--x,30%) var(--y,280px),#fff 0%,#fff9 32%,#0000 100%)}.light-hero{--x:76%}.room-nav{position:relative;z-index:3;max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:66px;font:14px/1.2 system-ui;color:#eadac1}.room-nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:10px 12px;text-shadow:0 2px 3px #000}.room-nav a:hover{text-decoration:underline}.locale-links{display:flex;gap:4px}.locale-links a[aria-current]{color:#ffdfa3;text-decoration:underline;text-underline-offset:6px}.room-heading{position:relative;z-index:2;text-align:center;margin:0 auto;pointer-events:none}.metal-plaque{position:relative;display:block;width:max-content;max-width:100%;color:#dfbc83;background:linear-gradient(110deg,#252824c9,#151713e8 48%,#34332cde),url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22180%22 height=%22180%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 opacity=%22.22%22 filter=%22url(%23n)%22/%3E%3C/svg%3E') center/180px;border:2px solid #846641;border-radius:5px;box-shadow:inset 0 0 0 2px #302719,inset 0 2px 4px #ccab7055,0 5px 5px #0008,3px 8px 12px #0005;text-shadow:0 1px 1px #000;padding:15px 35px}.metal-plaque::before,.metal-plaque::after{content:'';position:absolute;top:8px;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#dbb66e,#59401f 55%,#18130c 70%);box-shadow:0 1px 2px #000,0 39px 0 #493820}.metal-plaque::before{left:7px}.metal-plaque::after{right:7px}h1.metal-plaque{margin:0 auto;font-size:clamp(23px,2.4vw,36px);font-weight:400;letter-spacing:.12em;text-transform:uppercase;padding:13px 40px}.exhibition{position:relative;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:clamp(50px,7vw,110px);max-width:1200px;margin:-35px auto 0;align-items:start}.exhibit{position:relative;min-width:0;text-align:center;--lamp-level:1}.exhibit-santa{padding-top:0}.exhibit-hero{padding-top:10px}.fixture{position:relative;width:126px;height:126px;margin:0 auto 32px;filter:drop-shadow(3px 5px 3px #0007);pointer-events:none}.lamp-image{width:100%;height:100%;filter:brightness(.67);transition:filter 850ms ease}.bulb{position:absolute;left:38%;top:82%;width:24%;height:15%;background:#fff9da;border-radius:0 0 50% 50%;box-shadow:0 0 5px #fff8d6,0 0 15px #ffd589;opacity:.92;transition:opacity 850ms ease}.bulb-halo{position:absolute;inset:65% -25% -45%;background:radial-gradient(ellipse at 50% 35%,#ffdf9c44,#eabf7918 35%,transparent 67%);opacity:.9;transition:opacity 850ms ease}.exhibit-action{display:block;appearance:none;width:100%;border:0;padding:0;background:none;text-decoration:none;color:inherit;cursor:pointer}.painting{position:relative;display:block;width:100%;filter:drop-shadow(4px 9px 4px #0008);line-height:0}.artwork{display:block;width:100%;height:auto}.ambient-art{filter:brightness(.7) saturate(.87)}.lit-art{position:absolute;inset:0;filter:brightness(1.03) saturate(.92);mask-image:linear-gradient(#fff 0%,#fff 12%,#fffa 40%,#fff2 82%);opacity:.86;transition:opacity 850ms ease}.project-plaque{margin:24px auto 0;padding:14px 24px;min-width:270px;max-width:96%;line-height:1.4}.project-type{display:block;text-transform:uppercase;letter-spacing:.105em;font-size:17px}.project-action{display:block;margin-top:5px;font-size:16px;letter-spacing:.04em}.exhibit.is-on .lamp-image{filter:brightness(.94)}.exhibit.is-on.is-emphasized .lit-art{opacity:1}.exhibit.is-on.is-emphasized .bulb-halo{opacity:1}.exhibit.is-on.is-emphasized .lamp-image{filter:brightness(1.07)}.exhibit.is-settled .lit-art,.exhibit.is-settled .lamp-image,.exhibit.is-settled .bulb-halo,.wall-light.is-settled{transition-duration:300ms}.wall-light.is-emphasized{opacity:.9}.lights-ready .exhibit:not(.is-on) .lit-art,.lights-ready .exhibit:not(.is-on) .bulb,.lights-ready .exhibit:not(.is-on) .bulb-halo,.lights-ready .wall-light:not(.is-on){opacity:0}.lights-ready .exhibit:not(.is-on) .lamp-image{filter:brightness(.45)}
@media(min-width:1500px){.room-scene{padding-bottom:100px}.exhibition{margin-top:-15px}}@media(max-width:700px){.room-scene{padding:0 18px 50px}.room-nav{min-height:62px}.room-nav a{padding:10px}.room-heading{margin-top:6px}h1.metal-plaque{font-size:24px;padding:13px 30px}.exhibition{display:flex;flex-direction:column;gap:44px;margin:16px auto 0;max-width:430px}.exhibit{width:100%;padding:0}.fixture{width:108px;height:108px;margin-bottom:22px}.exhibit-hero .painting{width:84%;margin:auto}.project-plaque{margin-top:20px;padding:13px 20px;min-width:260px}.project-type{font-size:16px;letter-spacing:.07em}.project-action{font-size:16px}.wall-base,.wall-light{background-size:auto 100%}.room-nav{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.lights-ready .exhibit .lit-art{opacity:.86!important}.lights-ready .exhibit .bulb{opacity:.92!important}.lights-ready .exhibit .bulb-halo{opacity:.9!important}.lights-ready .wall-light{opacity:.68!important}}

/* Prevent a lit-to-dark flash before the decorative script initializes. */
.lighting-init .exhibit:not(.is-on) .lit-art,.lighting-init .exhibit:not(.is-on) .bulb,.lighting-init .exhibit:not(.is-on) .bulb-halo,.lighting-init .wall-light:not(.is-on),.lights-ready .exhibit:not(.is-on) .lit-art,.lights-ready .exhibit:not(.is-on) .bulb,.lights-ready .exhibit:not(.is-on) .bulb-halo,.lights-ready .wall-light:not(.is-on){opacity:0;transition:none}
.lighting-init .exhibit:not(.is-on) .lamp-image{filter:brightness(.45);transition:none}

/* Static I AM HERO exhibit retains painting geometry and decorative lighting. */
.hero-display{cursor:default}

:root{color-scheme:only light}
