.portfolio>.contact-gallery{background:#21171a;color:#f8e9d2;min-height:600px;isolation:isolate}
.contact-gallery:before{display:none}
.gallery-stage{position:absolute;left:50%;top:50%;width:min(100vw,177.68svh);aspect-ratio:1672/941;transform:translate(-50%,-50%)}
.gallery-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none}
.gallery-heading{position:absolute;z-index:2;top:9%;left:3.3%;right:5%;margin:0}
.gallery-heading h2{font:400 clamp(32px,4.55vw,78px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-1.5px;margin:0 0 18px;color:#fff0d9}
.gallery-heading p{font-size:clamp(13px,1.45vw,24px);line-height:1.5;letter-spacing:.1px;margin:0;color:#e1d4ce}
.gallery-contact{position:absolute;z-index:3;left:72.9%;top:44.3%;width:21.4%;display:flex;flex-direction:column;align-items:stretch}
.gallery-cta{display:flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:20px 16px;border:1px solid #ffebc9;border-radius:100px;background:#fff0d9;color:#241919;font:500 clamp(14px,1.55vw,26px)/1.2 Arial,Helvetica,sans-serif;text-align:center;transition:background .2s,transform .2s;white-space:nowrap}
.gallery-cta:hover{background:#ffe1ad;transform:translateY(-2px)}.gallery-cta span{font-size:1.2em}
.gallery-links{display:flex;justify-content:space-around;gap:24px;margin-top:38px}.gallery-links button,.gallery-links a{color:#e2d7d1;font-size:clamp(13px,1.2vw,20px);padding:0 0 9px;border:0;border-bottom:1px solid #b4a399;background:none;cursor:pointer}.gallery-links a:hover,.gallery-links button:hover{color:#fff1d8;border-color:#fff1d8}
.gallery-exhibit{position:absolute;z-index:2;top:28%;height:56%;width:17%;border-radius:42% 42% 4px 4px;outline-offset:5px;transition:background .2s}.gallery-exhibit:hover{background:#ffe0a808}.gallery-exhibit:focus-visible{outline:2px solid #ffe0a8;background:#ffe0a812}.gallery-exhibit:nth-of-type(1){left:2%}.gallery-exhibit:nth-of-type(2){left:20.2%}.gallery-exhibit:nth-of-type(3){left:38.3%}
.gallery-plaque{position:absolute;left:14%;right:14%;top:71.7%;text-align:center;color:#dbc4a7;font-size:clamp(8px,.84vw,14px);letter-spacing:1px;line-height:1.5;text-shadow:0 1px 3px #000}
.gallery-next-label{position:absolute;left:59.7%;top:66.5%;width:6.6%;color:#dbc4a7;text-align:center;font-size:clamp(8px,.8vw,13px);letter-spacing:.5px;line-height:1.4;pointer-events:none}
.gallery-footer{position:absolute;z-index:4;bottom:25px;left:3.5%;right:3.5%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#c6b5ae}.gallery-footer a{padding:10px 0}.gallery-footer a:hover{color:#fff0d9}
.energy-footer nav{display:flex;align-items:center;gap:10px}.energy-footer .contact-jump{color:#1c3c38;background:#ffffffe0;border:1px solid #ffffffa0;border-radius:22px;padding:11px 14px;font-size:12px}
#contact-dialog{background:#281d22;color:#ffefd7;border-color:#68514a}#contact-dialog h2{font-size:30px}#contact-dialog p{color:#ddc9be}#contact-dialog button{color:#ffefd7}
@media(max-aspect-ratio:6/5){
 .portfolio>.contact-gallery{min-height:720px}
 .gallery-stage{left:0;top:0;width:100%;height:100%;aspect-ratio:auto;transform:none;overflow:hidden}
 .gallery-artwork{position:absolute;top:100px;left:0;width:145%;aspect-ratio:1672/941}
 .gallery-art{position:absolute}
 .gallery-heading{left:6%;right:6%;top:34px}.gallery-heading h2{font-size:clamp(32px,5vw,48px);max-width:620px;margin-bottom:12px;letter-spacing:-1px}.gallery-heading p{font-size:13px;max-width:340px}
 .gallery-contact{left:6%;right:6%;width:auto;top:auto;bottom:90px;align-items:center}.gallery-cta{font-size:18px;min-height:54px;width:min(100%,360px);padding:16px 22px}.gallery-links{margin-top:23px;gap:60px}.gallery-links a,.gallery-links button{font-size:15px}
 .gallery-plaque{font-size:clamp(7px,1.3vw,12px);letter-spacing:.3px}.gallery-next-label{font-size:clamp(7px,1.2vw,11px)}
 .gallery-footer{left:6%;right:6%;bottom:20px;font-size:11px}
}
@media(max-aspect-ratio:6/5) and (min-width:600px){.gallery-artwork{top:40px}.gallery-contact{bottom:100px}}
@media(max-height:600px) and (min-aspect-ratio:6/5){.portfolio>.contact-gallery{min-height:100svh}.gallery-heading h2{font-size:clamp(27px,4vw,48px)}.gallery-heading p{font-size:12px}.gallery-cta{font-size:13px;padding:14px 10px;gap:5px}.gallery-links{margin-top:20px;gap:15px}.gallery-footer{bottom:6px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.gallery-cta,.gallery-exhibit{transition:none}.gallery-cta:hover{transform:none}}
@media(min-aspect-ratio:6/5){.gallery-artwork{position:absolute;inset:0}}
.gallery-plaque{left:24%;right:4%}.gallery-exhibit:nth-of-type(1) .gallery-plaque{top:73.5%}.gallery-exhibit:nth-of-type(3) .gallery-plaque{top:69.5%}
@media(max-aspect-ratio:6/5){.gallery-artwork{top:clamp(110px,calc(50% - 260px),220px)}.gallery-art{mask-image:linear-gradient(transparent,#000 12%,#000 84%,transparent)}}
@media(max-aspect-ratio:6/5) and (min-width:600px){.gallery-artwork{top:40px}}
@media(max-width:420px){.energy-footer nav .energy-back{display:none}}

/* Label coordinates share the image viewBox, so type scales with each brass plaque. */
.gallery-labels{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}.gallery-labels text{fill:#dbc4a7;font:13px Arial,Helvetica,sans-serif;letter-spacing:.8px;text-anchor:middle;dominant-baseline:middle}
