.gallery-entry{text-align:center;background:radial-gradient(ellipse at top,#153247 0,transparent 65%);padding-block:90px}.gallery-entry h2{font-size:clamp(30px,5vw,58px)}.gallery-intro{max-width:650px;margin:20px auto 36px;color:#b9cfdf;line-height:1.8}.gallery-feature{display:grid;grid-template-columns:1.1fr 1fr;max-width:1050px;margin:auto;border:1px solid #41637d;border-radius:28px;overflow:hidden;color:#edf6fc;text-align:start;text-decoration:none;background:#0e2030;box-shadow:0 24px 70px #0005;transition:transform .25s,border-color .25s}.gallery-feature:hover{transform:translateY(-5px);border-color:#88d5ff}.gallery-feature:focus-visible,.gallery-zoom:focus-visible{outline:3px solid #8dd5ff;outline-offset:5px}.gallery-cover{position:relative;min-width:0}.gallery-photo{display:block;position:relative;aspect-ratio:706/942;overflow:hidden;background:#10202d}.gallery-photo img{position:absolute!important;display:block;width:100%!important;height:auto!important;max-width:none!important;top:-31.5287%;left:0;object-fit:initial!important}.gallery-cover .gallery-photo{height:100%;min-height:400px;aspect-ratio:706/942}.gallery-stamp{position:absolute;inset:20px auto auto 20px;padding:9px 13px;background:#06111cdd;border:1px solid #6ab4df55;border-radius:40px;font-size:10px;letter-spacing:2px;color:#dcf2ff}.gallery-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,5vw,65px);gap:22px}.gallery-kicker{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#83cff8;line-height:1.8}.gallery-feature-copy h3{font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.2;margin:0}.gallery-feature-copy p{font-size:15px;line-height:1.9;color:#b6cddd;margin:0}.gallery-open{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #355064;padding-top:22px;font-weight:600;color:#98dcff}.gallery-open b{font-size:28px;font-weight:400}.gallery-page{background:#08131f;color:#edf4fa}.gallery-page main{max-width:1400px;margin:auto}.gallery-heading{padding:70px 6% 65px;text-align:center;background:radial-gradient(ellipse at center,#18364b,transparent 70%)}.gallery-heading>a:first-child{display:block;color:#a1bdd1;font-size:13px;text-decoration:none;margin-bottom:46px}.gallery-heading h1{font-size:clamp(38px,6vw,80px);font-weight:450;line-height:1.1;letter-spacing:-2px;margin:20px auto;max-width:850px}.gallery-heading>p:not(.eyebrow){color:#b7ccdc;line-height:1.8}.gallery-jump{display:inline-block;color:#8ed6ff;text-decoration:none;border-bottom:1px solid #466b83;padding-bottom:8px;margin-top:24px}.gallery-story{margin:0 6%;padding:42px 0 50px;border-top:1px solid #29465b;border-bottom:1px solid #29465b;display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.gallery-story h2{font-size:clamp(28px,3vw,42px);line-height:1.2;margin-top:18px}.gallery-story p{color:#b9ccda;line-height:1.85;font-size:15px;margin:0 0 18px}.gallery-tags{display:flex;flex-wrap:wrap;gap:10px}.gallery-tags span{padding:9px 13px;border-radius:30px;border:1px solid #3c5d70;color:#bde7ff;font-size:12px}.gallery-images{padding:55px 6%;scroll-margin-top:85px}.gallery-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}.gallery-section-title h2{font-size:28px;font-weight:500}.gallery-section-title p{font-size:13px;color:#a4bdce}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 24px}.gallery-item{margin:0;min-width:0}.gallery-item:last-child{max-width:650px;grid-column:1/-1;width:100%;justify-self:center}.gallery-zoom{display:block;position:relative;border:1px solid #36556b;background:#0b1c2a;border-radius:20px;padding:0;width:100%;overflow:hidden;cursor:zoom-in}.gallery-zoom-icon{position:absolute;right:14px;bottom:14px;border:1px solid #9bdcff88;background:#071421dd;color:#e0f4ff;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:24px}.gallery-item figcaption{padding:18px 3px 0}.gallery-status{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#89cdae}.gallery-item h3{font-size:22px;margin:8px 0 0;font-weight:450}.gallery-bottom{text-align:center;padding:55px 6% 140px;background:linear-gradient(0deg,#142e42,transparent)}.gallery-bottom h2{font-size:clamp(28px,4vw,46px);line-height:1.2}.gallery-bottom p{color:#b4cddd;line-height:1.8;margin:22px auto 30px;max-width:550px}.gallery-secondary{color:#9fdfff;display:inline-block;margin:20px;text-underline-offset:6px}.gallery-viewer{border:1px solid #3d5c70;border-radius:24px;padding:50px 14px 16px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:650px;background:#07111c;color:#eef6fc;overflow:auto}.gallery-viewer::backdrop{background:#02070eeb;backdrop-filter:blur(8px)}.gallery-close{position:absolute;top:8px;right:12px;border:1px solid #456179;background:#10283b;border-radius:50%;width:36px;height:36px;color:#eaf7ff;font-size:26px;cursor:pointer}.gallery-viewer .gallery-photo{width:min(100%,calc((100dvh - 205px)*.74946));margin:auto;border-radius:12px}.gallery-viewer-content>p{font-size:15px;text-align:center;margin:15px 0}.gallery-viewer-controls{display:flex;justify-content:center;align-items:center;gap:24px;direction:ltr}.gallery-viewer-controls button{height:38px;width:50px;border:1px solid #456179;border-radius:20px;background:#10283b;color:#c9ebff;cursor:pointer}.gallery-viewer-controls span{font-size:13px;color:#a2c0d5}@media(max-width:650px){.gallery-entry{padding-block:60px}.gallery-feature{grid-template-columns:1fr}.gallery-cover .gallery-photo{min-height:0;height:auto;aspect-ratio:706/942}.gallery-feature-copy{gap:18px;padding:28px}.gallery-story{grid-template-columns:1fr;gap:15px}.gallery-heading{padding-top:40px}.gallery-heading h1{letter-spacing:-1px}.gallery-section-title{display:block}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-item:last-child{grid-column:auto}.gallery-viewer{padding-top:52px}}@media(prefers-reduced-motion:reduce){.gallery-feature{transition:none}}

.comparison-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 44px}.comparison-pair .gallery-item:last-child{grid-column:auto;max-width:none}.comparison-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:#050b11}.comparison-photo img{display:block;width:100%;height:100%;object-fit:contain}.gallery-photo:has(img[data-comparison]){aspect-ratio:auto;max-height:65dvh;width:100%}.gallery-photo img[data-comparison]{position:static!important;max-height:65dvh;height:auto!important;width:auto!important;max-width:100%!important;margin:auto;object-fit:contain!important}@media(max-width:480px){.comparison-pair{gap:10px}.comparison-pair h3{font-size:17px}.comparison-pair .gallery-zoom{border-radius:12px}}
/* Give each comparison the space of a photograph, including on a phone. */
.comparison-pair{padding:24px;border:1px solid #29465b;border-radius:24px;background:#0b1b29}.comparison-pair figcaption{padding:15px 4px 0}.comparison-pair h3{font-size:18px;font-weight:650;letter-spacing:.02em}.comparison-pair .gallery-item:first-child h3{color:#f1c192}.comparison-pair .gallery-item:last-child h3{color:#9cddbf}.comparison-photo{aspect-ratio:4/5}.comparison-photo img{max-height:680px}.gallery-viewer .gallery-photo:has(img[data-comparison]){width:100%;max-height:none}.gallery-viewer .gallery-photo img[data-comparison]{width:100%!important;height:auto!important;max-height:65dvh;object-fit:contain!important}@media(max-width:600px){.comparison-pair{grid-template-columns:1fr;padding:14px;gap:24px}.comparison-pair .gallery-item:last-child{width:100%}.comparison-photo{aspect-ratio:auto;min-height:0}.comparison-photo img{max-height:70vh;width:100%;height:auto}.comparison-pair h3{font-size:18px}}
/* Display only the photograph within supplied phone screenshots, without altering the image. */
.comparison-photo:has(img[data-crop="door"]),.gallery-photo:has(img[data-crop="door"]){--crop-ratio:706/1044;--crop-top:-23.5632%;--crop-width:.676245}
.comparison-photo:has(img[data-crop="pillar"]),.gallery-photo:has(img[data-crop="pillar"]){--crop-ratio:706/1320;--crop-top:-8.18182%;--crop-width:.534848}
.comparison-photo:has(img[data-crop]),.gallery-viewer .gallery-photo:has(img[data-crop]){display:block;position:relative;overflow:hidden;aspect-ratio:var(--crop-ratio);height:auto;min-height:0;max-height:none;width:100%}
.comparison-photo img[data-crop],.gallery-viewer .gallery-photo img[data-crop]{position:absolute!important;left:0!important;top:var(--crop-top)!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:initial!important;margin:0!important}
.gallery-viewer .gallery-photo:has(img[data-crop]){width:min(100%,calc(65dvh * var(--crop-width)))}

/* Keep the gallery header continuous with the page instead of a black strip. */
.gallery-page>header{background:#08131f;border-bottom:1px solid #29465b}

/* Start with a full-height project photograph, then a compact gallery. */
.gallery-heading.gallery-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5vw,70px);padding:38px 6% 48px;text-align:start}
.gallery-hero-copy{min-width:0}
.gallery-back{display:inline-block;color:#a9c3d5;font-size:13px;text-decoration:none;margin-bottom:30px}
.gallery-hero h1{font-size:clamp(36px,4.5vw,62px);line-height:1.12;letter-spacing:-.035em;margin:18px 0 22px;max-width:580px}
.gallery-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:#bbcedc;max-width:480px}
.gallery-hero .gallery-jump{margin-top:16px}
.gallery-hero .gallery-hero-photo{grid-column:auto;width:100%;max-width:480px;margin:0;justify-self:end}
.gallery-hero-photo .gallery-zoom{border-radius:18px}
.gallery-hero-photo figcaption{padding:12px 2px 0}
.gallery-hero-photo figcaption h3{font-size:18px}
.gallery-page .gallery-images{padding-block:34px}
.gallery-page .gallery-section-title{margin-bottom:22px}
.gallery-page .gallery-section-title h2{font-size:clamp(25px,3vw,34px);line-height:1.25;margin:0 0 10px}
.gallery-page .gallery-grid{gap:30px 20px}
.gallery-page .gallery-grid .gallery-item:last-child{max-width:none;grid-column:auto;justify-self:stretch}
.gallery-page .gallery-grid .gallery-item h3{font-size:20px;line-height:1.4}
.gallery-page .gallery-story{margin-top:20px;padding-block:36px}
.gallery-page .gallery-bottom{padding-block:42px}
@media(max-width:750px){
 .gallery-heading.gallery-hero{grid-template-columns:1fr;gap:24px;padding:24px 6% 30px}
 .gallery-back{margin-bottom:24px}
 .gallery-hero .eyebrow{font-size:10px;margin:0}
 .gallery-hero h1{font-size:38px;max-width:410px;margin-block:14px}
 .gallery-hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;margin-bottom:0}
 .gallery-hero .gallery-jump{font-size:14px;margin-top:16px}
 .gallery-hero .gallery-hero-photo{max-width:480px;justify-self:center}
 .gallery-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
 .gallery-page .gallery-grid .gallery-zoom{border-radius:12px}
 .gallery-page .gallery-grid .gallery-zoom-icon{width:34px;height:34px;right:8px;bottom:8px;font-size:21px}
 .gallery-page .gallery-grid .gallery-status{font-size:9px;letter-spacing:.08em;line-height:1.6}
 .gallery-page .gallery-grid .gallery-item h3{font-size:15px;margin-top:6px}
 .gallery-page .gallery-grid figcaption{padding-top:10px}
}
