/* Shared photographic sections for DR Integration service pages. */
.photo-section{position:relative;isolation:isolate;overflow:clip;background:var(--bg,#07050f)}
.section-photo-media{position:absolute;inset:0 0 auto;height:min(100%,960px);z-index:-1;pointer-events:none;overflow:hidden}
.section-photo-media img{position:absolute;inset:0 0 0 auto;display:block;width:86%;height:100%;object-fit:cover;object-position:50% 50%;opacity:.9}
.section-photo-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,5,15,.98) 0%,rgba(7,5,15,.91) 27%,rgba(7,5,15,.67) 52%,rgba(7,5,15,.32) 78%,rgba(7,5,15,.28) 100%),linear-gradient(0deg,#07050f 0%,rgba(7,5,15,.08) 38%,rgba(7,5,15,.12) 78%,#07050f 100%)}
.photo-section>.wrap{position:relative;z-index:1}
.photo-section .installation-head{display:flex;align-items:center;min-height:clamp(260px,22vw,340px);margin-bottom:clamp(30px,3vw,46px);gap:0}
.photo-section .installation-head.compact-photo-head{display:flex;min-height:220px;margin-bottom:28px}
.photo-section .installation-copy{width:72%;max-width:900px;min-width:0}
.photo-section .installation-copy>p{max-width:53ch;color:#d2cedf;font-size:var(--fs-body,18px);line-height:1.8;margin-top:24px}
.photo-section .section-glow::before{opacity:.45}
.photo-section .compact-services{margin-top:0}
.photo-section .compact-services details,.photo-section .flow-step,.photo-section .photo-network-grid .net-item{background:rgba(10,8,22,.76);border:1px solid rgba(255,255,255,.13);box-shadow:0 14px 40px rgba(0,0,0,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.photo-section .compact-services p,.photo-section .flow-step p,.photo-section .photo-network-grid .net-item p{color:#c7c3d7}
.photo-section .flow-step{border-radius:var(--r-md,14px);padding:clamp(20px,2vw,28px)}
.photo-section .flow-step>span{margin-bottom:18px}
.photo-section .compact-summary{color:#c7c3d7}
.photo-section .compact-links a{color:#cbb9ff}
.photo-section-commissioning .section-photo-media img{object-position:50% 48%}
.photo-section-designers .section-photo-media img{object-position:50% 45%}
.photo-section-climate .section-photo-media{height:860px}
.photo-section-climate .section-photo-media img{width:72%;object-position:50% 59%}
.photo-section-light .section-photo-media{height:900px}
.photo-section-light .section-photo-media img{object-position:60% 42%}
.photo-section-security .section-photo-media{height:850px}
.photo-section-security .section-photo-media img{object-position:50% 38%}
.photo-section-network .section-photo-media{height:100%}
.photo-section-network .section-photo-media img{object-position:40% 50%}
.photo-section .net-grid.photo-network-grid{display:block}
.photo-network-grid>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.photo-section .photo-network-grid .net-item{padding:26px;border-radius:var(--r-md,14px)}
.photo-network-grid .net-item:last-child{grid-column:1/-1}
.photo-access-section{padding:clamp(64px,7vw,104px) 0;min-height:380px;display:flex;align-items:center}
.photo-access-section .section-photo-media{height:100%}
.photo-access-section .section-photo-media img{width:100%;object-position:50% 25%}
.photo-access-section .section-photo-media::after{background:linear-gradient(90deg,rgba(7,5,15,.96),rgba(7,5,15,.85) 36%,rgba(7,5,15,.22) 75%),linear-gradient(0deg,#07050f,transparent 35%),linear-gradient(180deg,#07050f,transparent 28%)}
.photo-band-copy{max-width:560px}
.photo-band-copy h2{font-size:var(--fs-2xl,44px);font-weight:800;line-height:1.15;letter-spacing:-.04em;margin:18px 0}
.photo-band-copy p{font-size:var(--fs-body,18px);color:#d2cedf;line-height:1.8;max-width:42ch}
@media(min-width:1600px){.photo-section .installation-head.compact-photo-head{min-height:250px}}
@media(max-width:900px){
 .section-photo-media{height:min(100%,850px)}
 .section-photo-media img{width:100%;object-position:65% 45%;opacity:.75}
 .section-photo-media::after{background:linear-gradient(90deg,rgba(7,5,15,.94),rgba(7,5,15,.77)),linear-gradient(0deg,#07050f,transparent 50%),linear-gradient(180deg,#07050f,transparent 20%)}
 .photo-section .installation-copy{width:100%;max-width:700px}
 .photo-section .installation-head,.photo-section .installation-head.compact-photo-head{min-height:0;margin-bottom:28px}
 .photo-section .installation-copy>p{max-width:58ch}
 .photo-section .compact-services details,.photo-section .flow-step,.photo-section .photo-network-grid .net-item{background:rgba(10,8,22,.84);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
 .photo-section-climate .section-photo-media img{width:100%}
 .photo-network-grid>div{grid-template-columns:1fr;gap:14px}
 .photo-network-grid .net-item:last-child{grid-column:auto}
 .photo-section .photo-network-grid .net-item{padding:22px}
 .photo-section .flow-step{padding:22px}
 .photo-access-section{min-height:320px;padding:64px 0}
 .photo-access-section .section-photo-media img{object-position:62% 25%}
 .photo-access-section .section-photo-media::after{background:linear-gradient(90deg,rgba(7,5,15,.92),rgba(7,5,15,.68)),linear-gradient(0deg,#07050f,transparent 50%),linear-gradient(180deg,#07050f,transparent 25%)}
 .photo-band-copy{max-width:78%}
}
@media(max-width:560px){.photo-band-copy{max-width:100%}.photo-band-copy h2{font-size:32px}.photo-section .flow-step>span{margin-bottom:12px}}
