/* Approved architectural brand illustrations; captions distinguish them from project evidence. */
.purely-photo{margin:0;position:relative;background:#142232;color:#fff;min-width:0;overflow:hidden}
.purely-photo-media{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden}
.purely-photo-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.purely-photo-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;background:#142232;font-size:11px;line-height:1.5}
.purely-photo-label{color:#c9d5df;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.purely-photo-title{color:#e7edf2}
.purely-photo--wide .purely-photo-media{aspect-ratio:2.35}
.hero-cinematic{position:relative;isolation:isolate;padding:0;background:#0b1b2b;color:#fff}
.hero-cinematic .hero-grid{position:relative;z-index:2;grid-template-columns:1fr;min-height:690px;padding:72px 0 54px}
.hero-cinematic .hero-copy{max-width:650px;padding:0}
.hero-cinematic .hero-copy .eyebrow{color:#e6edf4;font-size:10px;letter-spacing:.16em}
.hero-cinematic .blue-dot{background:#8ab2ff}
.hero-cinematic h1{font-size:clamp(68px,6.8vw,104px);max-width:650px}
.hero-cinematic h1 .blue{color:#8ab2ff}
.hero-cinematic .hero-description{color:#e0e7ee;max-width:475px;font-size:19px;line-height:1.65}
.hero-cinematic .hero-subline{font-size:15px;color:#f5f7fa}
.hero-cinematic .hero-actions{margin:29px 0}
.hero-cinematic .hero-actions .text-link{color:#fff;display:inline-flex}
.hero-cinematic .hero-actions .text-link:hover{color:#b9d0ff}
.hero-cinematic .hero-caption{color:#d3dce6;font-size:10px;margin-top:27px}
.hero-cinematic .tiny-cross{color:#8ab2ff}
.cinematic-backdrop{position:absolute;inset:0;z-index:0}
.cinematic-backdrop>.purely-photo,.cinematic-backdrop .purely-photo-media{height:100%;aspect-ratio:auto}
.cinematic-backdrop .purely-photo-media img{object-position:center 35%}
.cinematic-backdrop .purely-photo-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,19,31,.96) 0%,rgba(6,19,31,.83) 28%,rgba(6,19,31,.22) 68%,rgba(6,19,31,.08) 100%)}
.cinematic-backdrop .purely-photo-caption{position:absolute;right:max(28px,calc((100vw - 1320px)/2));top:26px;background:rgba(8,23,37,.68);padding:9px 13px}
.cinematic-backdrop .purely-photo-title{display:none}
.hero-cinematic .hero-baseline{position:relative;z-index:2;margin-top:0;padding:23px 0;color:#d6e0e9;border-color:#ffffff3b;font-size:10px}
.hero-cinematic .hero-baseline a{color:#fff}
.environment-panorama{position:relative;margin:0 0 40px;background:#142232;color:white}
.environment-panorama .purely-photo-media{aspect-ratio:2.4}
.environment-panorama .purely-photo-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,31,.86),rgba(7,19,31,.16) 68%)}
.environment-panorama-copy{position:absolute;top:0;bottom:44px;left:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:660px;padding:48px}
.environment-panorama-copy .eyebrow{font-size:9px;color:#c4d5e5;margin-bottom:24px}
.environment-panorama-copy>p:not(.eyebrow){font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.12;letter-spacing:-.045em;margin:0 0 26px}
.environment-panorama-copy .text-link{font-size:12px;color:#fff;border-color:#94a5b5}
.environment-panorama-copy .text-link:hover{color:#c3d6ff}
.directory-category-visual{aspect-ratio:1.65}
.directory-category-visual .purely-photo{height:100%}
.directory-category-visual .purely-photo-media{height:100%;aspect-ratio:auto}
.directory-category-visual .purely-photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(7,19,31,.95));padding-top:34px}
.directory-category-visual .purely-photo-title{display:none}
.service-group-visual .purely-photo{display:flex;flex-direction:column}
.service-group-visual .purely-photo-media{flex:1;aspect-ratio:1.2;min-height:330px}
.service-group-visual .purely-photo--venue img{object-position:65% center}
.service-group-visual .purely-photo--architecture img{object-position:72% center}
.service-group-visual .purely-photo-caption{flex-wrap:wrap;gap:4px 16px}
.service-environment{padding:48px 0 0}
.service-environment .purely-photo-media{max-height:500px}
@media(min-width:1800px){.hero-cinematic .hero-grid{min-height:770px}}
@media(max-width:1100px){.hero-cinematic .hero-grid{min-height:650px}.hero-cinematic h1{font-size:82px}.hero-cinematic .hero-copy{max-width:590px}.cinematic-backdrop .purely-photo-media img{object-position:62% 35%}.environment-panorama-copy{padding:32px}.environment-panorama-copy .eyebrow{margin-bottom:18px}.environment-panorama-copy>p:not(.eyebrow){font-size:34px}}
@media(max-width:900px){.hero-cinematic h1{font-size:76px}.hero-cinematic .hero-copy{max-width:550px}.hero-cinematic .hero-description{font-size:18px;max-width:420px}.cinematic-backdrop .purely-photo-media:after{background:linear-gradient(90deg,rgba(6,19,31,.96),rgba(6,19,31,.72) 48%,rgba(6,19,31,.18))}.service-group-visual .purely-photo-media{min-height:280px;aspect-ratio:1.8}.service-group-visual .purely-photo-caption{flex-wrap:nowrap}.environment-panorama .purely-photo-media{aspect-ratio:1.9}}
@media(max-width:640px){
.purely-photo-caption{padding:12px 16px;flex-wrap:wrap;gap:3px 16px;font-size:10px}.purely-photo-label{font-size:8px}
.hero-cinematic{display:flex;flex-direction:column}.hero-cinematic .hero-grid{min-height:0;padding:42px 0 30px}.hero-cinematic .hero-copy{max-width:none}.hero-cinematic h1{font-size:clamp(51px,13vw,78px);line-height:1.04}.hero-cinematic .hero-copy .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:26px}.hero-cinematic .hero-description{font-size:16px;line-height:1.65;margin:24px 0 15px}.hero-cinematic .hero-subline{font-size:13px}.hero-cinematic .hero-actions{margin:25px 0}.hero-cinematic .hero-actions .text-link{display:none}.hero-cinematic .hero-caption{font-size:9px;margin-top:20px}.cinematic-backdrop{position:relative;inset:auto}.cinematic-backdrop .purely-photo-media{aspect-ratio:3/2;height:auto}.cinematic-backdrop .purely-photo-media img{object-position:center}.cinematic-backdrop .purely-photo-media:after{display:none}.cinematic-backdrop .purely-photo-caption{top:auto;bottom:12px;right:12px;padding:7px 10px}.hero-cinematic .hero-baseline{font-size:9px;padding:20px 0;border-top:0;gap:18px}.hero-cinematic .hero-baseline>span{max-width:190px}
.environment-panorama{margin-bottom:20px}.environment-panorama .purely-photo-media{aspect-ratio:3/2}.environment-panorama .purely-photo-media:after{display:none}.environment-panorama-copy{position:static;padding:26px 22px 30px;max-width:none}.environment-panorama-copy .eyebrow{font-size:8px;margin-bottom:18px}.environment-panorama-copy>p:not(.eyebrow){font-size:30px;margin-bottom:19px}.environment-panorama-copy .text-link{font-size:11px}.environment-panorama .purely-photo-caption{background:#1b2d3e}.environment-panorama .purely-photo-title{display:none}
.service-group-visual .purely-photo-media{min-height:230px;aspect-ratio:3/2}.service-group-visual .purely-photo-caption{flex-wrap:wrap}.directory-category-visual .purely-photo-caption{padding:26px 16px 12px}.service-environment{padding-top:30px}.service-environment .purely-photo-media{aspect-ratio:3/2}.service-environment .purely-photo-title{display:none}
}
@media print{.hero-cinematic{background:#fff;color:#142232}.hero-cinematic .hero-copy{color:#142232}.hero-cinematic .hero-description,.hero-cinematic .hero-subline{color:#142232}.cinematic-backdrop{position:relative}.cinematic-backdrop .purely-photo-media{height:320px}.cinematic-backdrop .purely-photo-media:after{display:none}.purely-photo{break-inside:avoid}.environment-panorama-copy{position:static;color:#142232}.environment-panorama{background:#fff}.environment-panorama-copy .text-link{color:#142232}}
