.gallery-masthead,.gallery-archive{max-width:1600px;padding-left:var(--gutter);padding-right:var(--gutter);margin:auto}.gallery-masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.gallery-masthead h1{font:700 clamp(68px,8.4vw,128px)/.86 var(--display);letter-spacing:-.025em;margin:19px 0 0}.gallery-intro{padding-bottom:3px;flex-shrink:0}.gallery-intro p{font:400 15px/1.5 var(--body);color:var(--muted);margin:0 0 18px;max-width:24ch}.gallery-intro a{display:flex;align-items:center;gap:16px;font:500 13px/1.3 var(--body);letter-spacing:.04em;color:#d6d1c8;min-height:44px;transition:color .18s}.gallery-intro a:hover,.gallery-intro a:focus-visible{color:var(--paper)}.gallery-intro a>span{font-size:26px;color:var(--red)}
.gallery-feature{margin:0 var(--gutter);position:relative;background:#1b1b19}.hero-frame{display:block;width:100%;height:min(72vw,720px);max-height:76dvh;padding:0;position:relative;text-align:left;overflow:hidden}.hero-frame>img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transition:transform 1.1s cubic-bezier(.2,.65,.3,1)}.hero-frame:hover>img{transform:scale(1.018)}.hero-frame:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b);pointer-events:none}.hero-frame .hero-label{position:absolute;bottom:36px;left:39px;z-index:1;color:#fff}.hero-label .eyebrow{color:#dedbd4;font-size:11px}.hero-label strong{display:block;font:600 clamp(40px,5vw,76px)/1 var(--display);margin-top:8px}.hero-open{position:absolute;bottom:38px;right:40px;z-index:1;border:1px solid #ffffff90;background:#0003;backdrop-filter:blur(8px);width:58px;height:58px;display:grid;place-items:center;font-size:30px;color:#fff}.hero-frame:hover .hero-open{background:var(--paper);color:var(--ink)}.gallery-loading{padding:30px;color:var(--muted)}
.gallery-archive{padding-top:25px;scroll-margin-top:118px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:75px;border-bottom:1px solid var(--line);margin-bottom:37px}.gallery-filters{display:flex;gap:28px;overflow:auto;scrollbar-width:none}.gallery-filters button{position:relative;padding:25px 0;white-space:nowrap;font-size:14px;color:var(--muted)}.gallery-filters button.selected{color:var(--paper)}.gallery-filters button.selected:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red)}.gallery-tools{display:flex;align-items:center;gap:24px;flex-shrink:0}.gallery-tools>span{font-size:11px;color:#a9a59b}.gallery-tools button{display:flex;align-items:center;gap:9px;padding:10px 0;font-size:12px}.gallery-tools button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1}.gallery-tools button[aria-pressed=true]{color:#f27869}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:36px 25px;align-items:end}.gallery-frame{grid-column:span var(--frame-span,4);margin:0;min-width:0}.gallery-frame.wide{grid-column:span var(--frame-span,8)}.frame-button{display:block;width:100%;padding:0;position:relative;overflow:hidden;background:#191918}.frame-button img{width:100%;height:auto;display:block;transition:transform .65s cubic-bezier(.2,.7,.3,1),filter .65s}.frame-button:hover img{transform:scale(1.025);filter:brightness(1.04)}.frame-button .frame-open{position:absolute;bottom:16px;right:16px;background:#0d0d0cc2;border:1px solid #fffa;color:#fff;width:34px;height:34px;display:grid;place-items:center;font-size:22px;opacity:0;transform:translateY(8px);transition:.25s}.frame-button:hover .frame-open,.frame-button:focus-visible .frame-open{opacity:1;transform:none}.gallery-frame figcaption{display:flex;justify-content:space-between;gap:12px;padding:13px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a8a398}.gallery-frame figcaption span:first-child{color:#db786a}.gallery-grid.contact-sheet{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:25px 20px}.gallery-grid.contact-sheet .gallery-frame{grid-column:auto}.gallery-grid.contact-sheet .frame-button{height:230px;display:grid;place-items:center;background:#191917;padding:12px}.gallery-grid.contact-sheet img{width:100%;height:100%;object-fit:contain;min-height:0}.gallery-grid.contact-sheet figcaption{letter-spacing:.02em;font-size:10px}.gallery-end{margin:70px 0 15px;padding:52px 0 25px;border-top:1px solid #39352e;text-align:center}.gallery-end h2{font:700 clamp(38px,4.4vw,64px)/.95 var(--display);letter-spacing:-.02em;text-transform:uppercase;margin:16px 0 28px}.gallery-end h2 i{font-style:normal;color:inherit}.gallery-end .primary-button{display:inline-flex;gap:45px}.gallery-body .room-footer{max-width:1600px;margin:40px auto 0}
#gallery-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0 clamp(15px,3vw,50px) 14px;background:#080808;color:var(--paper);border:0;overflow:auto}#gallery-viewer[open]{display:flex;flex-direction:column}#gallery-viewer::backdrop{background:#080808}.viewer-top{height:70px;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.viewer-top .eyebrow{font-size:11px}.viewer-top button{padding:12px 0 12px 20px;font-size:13px;display:flex;gap:25px;align-items:center}.viewer-top button>span{font-size:32px;font-weight:400}.viewer-stage{position:relative;min-height:100px;flex:1;display:flex;align-items:center;justify-content:center;padding:0 60px;overflow:hidden}.viewer-stage>img{width:100%;height:100%;max-height:calc(100dvh - 270px);object-fit:contain}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:52px;font-size:28px;background:#101010cf;border:1px solid #5b564e;z-index:2}.viewer-arrow:hover{background:var(--paper);color:#111}.viewer-arrow.previous{left:0}.viewer-arrow.next{right:0}.viewer-bottom{min-height:67px;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:13px}.viewer-bottom p{font-size:13px;margin:4px 0 12px;color:#b1ac9f}.viewer-bottom .eyebrow{font-size:10px;color:#e38072}.viewer-bottom>button{white-space:nowrap;padding:12px 0;font-size:12px}.viewer-thumbnails{position:relative;display:flex;gap:9px;padding:12px 0;flex-shrink:0;overflow:auto}.viewer-thumbnails button{padding:0;border:1px solid #ffffff22;width:70px;height:53px;flex-shrink:0;transition:border-color .18s}.viewer-thumbnails button img{width:100%;height:100%;object-fit:contain}.viewer-thumbnails button[aria-current=true]{border-color:var(--red,#e6382c)}.viewer-thumbnails button:hover{border-color:#ffffff88}#viewer-status{margin:0;font-size:12px;color:#dba18d;min-height:18px}#viewer-error{position:absolute;background:#151411ed;padding:24px;max-width:85%;font-size:14px}#viewer-error a{text-decoration:underline}#viewer-share-fallback{font-size:12px;padding:12px 0}#frame-link{display:block;width:100%;padding:8px;border:1px solid #5b564e;color:var(--paper);background:#171715;margin-top:6px}
@media(min-width:1700px){.gallery-feature{max-width:1448px;margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.gallery-masthead h1{font-size:9vw}.gallery-intro p{font-size:14px}.gallery-intro a{gap:13px}.gallery-tools{gap:13px}.gallery-filters{gap:22px}.gallery-grid{gap:28px 18px}.gallery-grid.contact-sheet{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-grid.contact-sheet .frame-button{height:210px}}
@media(max-width:700px){.gallery-masthead{padding-top:30px;padding-bottom:28px;display:block}.gallery-masthead .eyebrow{font-size:10px;letter-spacing:.12em}.gallery-masthead h1{font-size:clamp(50px,12vw,83px);margin-top:17px}.gallery-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:26px}.gallery-intro p{font-size:14px;line-height:1.45;margin:0}.gallery-intro a{max-width:128px;font-size:11px}.gallery-feature{margin:0}.hero-frame{height:79vw;max-height:none}.hero-frame>img{object-position:50% 50%}.hero-frame .hero-label{left:20px;bottom:23px}.hero-label strong{font-size:39px}.hero-label .eyebrow{font-size:9px}.hero-open{width:40px;height:40px;bottom:24px;right:20px;font-size:24px}.gallery-archive{padding-top:6px;scroll-margin-top:64px}.gallery-toolbar{display:block;min-height:0;margin-bottom:24px}.gallery-filters{justify-content:space-between;gap:22px}.gallery-filters button{font-size:12px;padding:23px 0 18px}.gallery-tools{justify-content:space-between;padding:4px 0}.gallery-tools>span{font-size:10px}.gallery-tools button{font-size:11px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-frame{grid-column:span 1}.gallery-frame.wide{grid-column:span 2}.gallery-frame figcaption{font-size:9px;letter-spacing:.05em;padding-top:10px}.frame-button .frame-open{opacity:1;transform:none;bottom:10px;right:10px;width:26px;height:26px;font-size:18px}.gallery-grid.contact-sheet{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 10px}.gallery-grid.contact-sheet .frame-button{height:140px;padding:5px}.gallery-grid.contact-sheet figcaption{font-size:8px;letter-spacing:0}.gallery-end{margin-top:45px;padding-top:35px}.gallery-body .room-footer{padding-bottom:35px}.viewer-top{height:59px;min-height:59px}.viewer-top .eyebrow{font-size:8px;letter-spacing:.08em;max-width:155px}.viewer-top button{font-size:12px;gap:16px}.viewer-stage{padding:0;min-height:100px}.viewer-stage>img{max-height:calc(100dvh - 260px)}.viewer-arrow{width:35px;height:43px;font-size:24px;border-color:#ffffff40;background:#0008}.viewer-bottom{gap:12px;min-height:85px}.viewer-bottom p{font-size:12px;max-width:235px}.viewer-bottom>button{font-size:10px}.viewer-thumbnails button{width:55px;height:43px}.viewer-thumbnails{gap:7px}.viewer-bottom .eyebrow{font-size:9px}.gallery-grid.contact-sheet .gallery-frame{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.hero-frame>img,.frame-button img,.frame-open{transition:none!important}.hero-frame:hover>img,.frame-button:hover img{transform:none}}

/* polish-2 (2026-09-27): hero brand eyebrow removed (gallery.js); heading all white with a red period like Film and Music; intro and closing in the display/body faces, no serif. */

/* polish-4 (2026-09-27): title set by arfom-polish.css; "THE ROOM." and the right-hand filler are gone from the markup; the Explore link stays. */

/* 2026-09-27: phone wordmark 112px like Film/Music (room-evolution.css pins 108 after room.css; this sheet loads after both) */
@media(max-width:900px){.shell-brand{width:112px}.shell-brand img{width:112px;height:auto}}
