/* Photography-led styling, shared across both colour themes. */
header{box-shadow:0 3px 24px #122e5205}.hero{padding:82px 0 88px;background:linear-gradient(135deg,var(--bg) 22%,var(--light-blue));border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:1.08fr 1fr;gap:62px}.hero-photo{position:relative;align-self:stretch;min-height:460px;margin:0 0 22px;border-radius:20px 20px 70px 20px;box-shadow:0 25px 60px #123e7020}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:52% center;border-radius:inherit}.hero-photo:after{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffff40;pointer-events:none}.photo-caption{position:absolute;left:-22px;right:28px;bottom:-23px;padding:21px 22px;display:flex;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:1}.caption-icon{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border-radius:10px;background:var(--light-blue);color:var(--blue);font-size:30px}.photo-caption strong{display:block;font-size:15px;line-height:1.5}.photo-caption div>span{display:block;color:var(--secondary);font-size:12px}.photo-tab{position:absolute;top:22px;left:22px;font-size:10px;letter-spacing:1.6px;font-weight:700;padding:9px 13px;background:#ffffffed;color:#163757;border-radius:5px}.strip{background:var(--surface)}.cards{gap:23px}.cards article{border-radius:15px;box-shadow:0 6px 24px #183e7106;transition:transform .2s,box-shadow .2s,border-color .2s;background:linear-gradient(145deg,var(--surface) 45%,var(--muted))}.cards article:hover{transform:translateY(-5px);box-shadow:0 17px 32px #14396513}.card-number span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--light-blue);font-size:26px}.card-number{font-weight:700;letter-spacing:1px}.cards h3{margin-top:25px}.infrastructure-feature{padding:0 0 95px}.infrastructure-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}.infrastructure-photo{border-radius:18px;overflow:hidden;position:relative;background:#142a43;box-shadow:var(--shadow);height:360px}.infrastructure-photo img{display:block;width:100%;height:100%;object-fit:cover}.infrastructure-copy h2{font-size:34px}.infrastructure-copy>p:not(.eyebrow){color:var(--secondary);max-width:440px}.feature-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.feature-links a{font-size:12px;font-weight:600;padding:8px 13px;border:1px solid var(--line);border-radius:6px;color:var(--blue);background:var(--muted)}.feature-links a:hover{border-color:var(--blue)}.approach{background:linear-gradient(125deg,#102842,#163e6b);color:white;position:relative}.approach h2{color:white}.steps article{padding-bottom:8px}.about-grid{gap:70px;align-items:center}.planning-photo{margin:30px 0 0;overflow:hidden;border-radius:13px;border:1px solid var(--line);height:280px;box-shadow:var(--shadow)}.planning-photo img{display:block;width:100%;height:100%;object-fit:cover}.location{margin-top:24px}.contact{background:linear-gradient(140deg,var(--bg) 40%,var(--light-blue))}.contact-card{background:var(--surface);box-shadow:var(--shadow);border-top:4px solid #1467dc;border-radius:15px}.button{box-shadow:0 5px 13px #1467dc1c}.button:hover{box-shadow:0 8px 20px #1467dc2b}@media(min-width:1400px){.hero-photo{min-height:480px}}@media(max-width:1050px){.hero-grid{gap:36px}.hero-photo{min-height:480px}.photo-caption{left:-12px;right:15px;padding:17px}.infrastructure-grid{gap:35px}.infrastructure-copy h2{font-size:30px}}@media(max-width:760px){.hero{padding:48px 0 65px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-photo{min-height:355px;margin:0 0 15px;border-radius:15px 15px 45px 15px}.photo-caption{left:12px;right:12px;bottom:-22px;padding:16px 14px}.photo-caption strong{font-size:13px}.photo-caption div>span{font-size:11px}.caption-icon{width:37px;height:37px;font-size:25px}.photo-tab{top:16px;left:16px;font-size:9px}.cards{gap:18px}.infrastructure-feature{padding-bottom:60px}.infrastructure-grid{grid-template-columns:1fr;gap:30px}.infrastructure-photo{height:280px}.infrastructure-copy h2{font-size:30px}.about-grid{gap:35px}.planning-photo{height:260px}.contact-card{border-radius:12px}}@media(prefers-reduced-motion:reduce){.cards article{transition:none}.cards article:hover{transform:none}}
