/* Coherent spacing and alternating editorial rows across the full site. */
:root{--section-gap:clamp(48px,6vw,88px);--column-gap:clamp(32px,5vw,80px)}
.header-inner #main-nav a[aria-current="page"]{color:var(--blue)}
.header-inner .header-quote,.header-inner .header-quote[aria-current="page"]{color:#fff;display:inline-flex;flex-shrink:0;white-space:nowrap}
.header-inner .header-quote:hover{color:#fff}
.wrap{max-width:1240px}

/* Separate service cards, with consistent image edges and padded content. */
.services-section .service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border:0;background:transparent}
.services-section .service-card,.services-section .service-card:last-child{padding:0;border:1px solid #d5e0e4;border-radius:6px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #12313f08;min-width:0;align-items:stretch}
.services-section .service-card:hover{background:#fff;border-color:#9fbac6}
.services-section .service-card-photo{width:100%;margin:0;flex-shrink:0}
.services-section .service-card-photo img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.services-section .service-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:28px}
.services-section .service-card h3{font-size:clamp(29px,2.65vw,36px);line-height:1.08;margin-bottom:17px}
.services-section .service-card p{font-size:16px;line-height:1.75;margin-bottom:25px}
.services-section .service-card .text-link{margin-top:auto}

/* Important sections: image and text share a balanced two-column row. */
.feature-section{padding:var(--section-gap) 0;background:#fff}
.feature-soft{background:#f1f5f6}
.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"visual copy";gap:var(--column-gap);align-items:center}
.feature-reverse .feature-row{grid-template-areas:"copy visual"}
.feature-media{grid-area:visual;min-width:0;margin:0;width:100%}
.feature-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:5px;background:#e2e9ec}
.feature-media figcaption{font:400 12px/1.5 var(--sans);color:#61727c;letter-spacing:0;margin-top:12px}
.feature-copy{grid-area:copy;min-width:0;max-width:100%}
.feature-copy h2{font-family:var(--serif);font-size:clamp(34px,3.3vw,48px);font-weight:600;line-height:1.08;letter-spacing:0;max-width:560px;margin:0 0 22px;overflow-wrap:break-word}
.feature-copy>p{font-size:17px;line-height:1.8;color:var(--text);max-width:580px;margin:0 0 18px}
.feature-copy>.text-link{margin:8px 20px 0 0;font-size:15px}
.feature-copy .related-links{margin-top:25px;gap:16px}
.feature-copy .route-cards{grid-template-columns:1fr;gap:12px;margin-top:25px}
.feature-copy .route-card{padding:16px 19px;border:1px solid #cfdee4;border-left:3px solid var(--blue);border-radius:3px;background:#fff}
.feature-copy .route-card h3{font-size:25px;line-height:1.15}
.feature-copy .route-card p{font-size:15px;line-height:1.55;margin:7px 0 9px}
.feature-copy .route-card .card-link{font-size:14px}
.feature-copy .area-links{gap:0 20px;margin-top:22px}
.feature-copy .area-link{font-size:15px;padding:12px 0;line-height:1.5}
.feature-copy .project-facts{grid-template-columns:1fr;gap:0;padding:5px 22px;margin:25px 0 0;background:#f1f5f6;border-left:3px solid var(--blue)}
.feature-copy .project-facts>div{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;padding:15px 0;border-bottom:1px solid #d3dfe4}
.feature-copy .project-facts>div:last-child{border:0}
.feature-copy .project-facts dd{margin:0}

/* Brief supporting sections: a small icon and centered content. */
.support-section{padding:58px 0;background:#f5f8f9;border-top:1px solid #e1e8ec}
.support-content{display:flex;flex-direction:column;align-items:center;text-align:center}
.support-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #c9dce4;border-radius:50%;background:#fff;color:var(--blue);margin-bottom:20px}
.support-icon svg{width:26px;height:26px}
.support-content>h2{font-size:clamp(30px,2.8vw,39px);line-height:1.1;margin:0 0 17px;max-width:780px}
.support-content>p{font-size:16px;line-height:1.75;color:var(--text);max-width:730px;margin:0 auto 21px}
.support-content>.text-link{margin:5px 0 10px}
.support-content .related-links,.support-content .contact-options{justify-content:center;align-items:center;margin-top:6px;gap:18px}
.support-content .related-links{flex-direction:row;flex-wrap:wrap}
.support-content .area-links{width:100%;max-width:1000px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;text-align:left;margin-top:9px}
.support-content .area-link{font-size:15px;line-height:1.5;padding:14px 0}
.support-content .route-cards{width:100%;max-width:1100px;text-align:left;margin-top:10px;gap:24px}
.support-content .route-card{padding:23px;border-top:2px solid var(--blue);border-radius:4px}
.support-content .route-card h3{font-size:28px}
.support-content .route-card p{font-size:15px;line-height:1.65}

/* The inquiry form remains a real form layout alongside its illustration. */
.contact-feature .feature-row{align-items:start}
.contact-feature .feature-media img{aspect-ratio:4/5;object-position:center}
.contact-feature .quote-form{margin-top:26px;padding:26px;background:#f1f5f6;border:1px solid #d6e1e6;border-radius:5px}
.contact-feature .form-grid{gap:18px 16px}
.contact-feature .form-notice{font-size:14px;line-height:1.6;color:var(--text)}
.contact-feature input,.contact-feature select,.contact-feature textarea{border-color:#bdcdd4;border-radius:3px;min-height:48px;padding:11px 12px;background:#fff}
.contact-feature textarea{min-height:130px}
.compact-cta{padding:58px 0}
.compact-cta .contact-grid{display:flex;flex-direction:column;gap:19px;text-align:center}
.compact-cta .contact-grid h2{font-size:clamp(36px,3.4vw,48px)}
.compact-cta .contact-copy{max-width:720px}
.compact-cta .contact-copy>p{font-size:16px;line-height:1.75}
.compact-cta .contact-phone{margin-left:auto;margin-right:auto}

@media(min-width:768px) and (max-width:1100px){
 .wrap{width:calc(100% - 64px)}
 .feature-row{gap:34px}
 .feature-media img{aspect-ratio:1/1}
 .feature-copy h2{font-size:36px}
 .feature-copy>p{font-size:16px;line-height:1.75}
 .feature-copy .route-card{padding:14px 16px}
 .feature-copy .route-card h3{font-size:24px}
 .feature-copy .area-links{grid-template-columns:1fr 1fr;gap:0 14px}
 .feature-copy .area-link{font-size:14px}
 .services-section .service-grid{gap:20px}
 .services-section .service-card-content{padding:23px 21px}
 .services-section .service-card h3{font-size:29px}
 .support-content .area-links{grid-template-columns:repeat(3,minmax(0,1fr))}
 .support-content .route-cards{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .support-content .route-card{padding:20px}
 .contact-feature .form-grid{grid-template-columns:1fr}
 .contact-feature .quote-form{padding:22px}
}
@media(max-width:767px){
 :root{--section-gap:48px}
 .wrap{width:calc(100% - 40px)}
 .feature-row,.feature-reverse .feature-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual" "copy";gap:27px}
 .feature-media img{aspect-ratio:4/3;max-height:none;object-fit:cover}
 .feature-copy h2{font-size:36px;margin-bottom:17px}
 .feature-copy>p{font-size:16px;line-height:1.75}
 .feature-copy .route-cards{gap:14px}
 .feature-copy .area-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 .feature-copy .area-link{font-size:15px}
 .services-section .service-grid{grid-template-columns:1fr;gap:26px}
 .services-section .service-card-content{padding:27px}
 .services-section .service-card h3{font-size:34px}
 .services-section .service-card-photo img{aspect-ratio:1.6}
 .support-section{padding:43px 0}
 .support-content>h2{font-size:33px}
 .support-content .area-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .support-content .route-cards{grid-template-columns:1fr;gap:18px}
 .support-content .route-card{padding:23px}
 .support-content .contact-options{flex-direction:column;gap:18px;max-width:100%}
 .support-content .contact-options a{overflow-wrap:anywhere;max-width:100%}
 .contact-feature .feature-media img{aspect-ratio:4/3;object-position:center 62%}
 .contact-feature .quote-form{padding:22px 19px}
 .contact-feature .form-grid{grid-template-columns:1fr}
 .compact-cta{padding:48px 0}
 .feature-copy .project-facts>div{grid-template-columns:1fr;gap:5px}
}
@media(min-width:768px) and (max-width:1023px){
 .services-section .service-grid{grid-template-columns:1fr;gap:24px}
 .services-section .service-card{display:grid;grid-template-columns:43% 57%;align-items:stretch}
 .services-section .service-card-photo{height:100%}
 .services-section .service-card-photo img{height:100%;min-height:250px;aspect-ratio:auto;object-fit:cover}
 .services-section .service-card-content{padding:28px}
 .services-section .service-card h3{font-size:33px}
}
@media(max-width:360px){
 .header-inner{gap:5px}
 .header-inner .header-quote{font-size:12px;padding:10px 11px}
 .header-inner .menu-toggle{font-size:12px;padding:8px}
 .header-inner .brand img{width:48px;height:48px}
 .feature-copy h2{font-size:32px}
 .feature-copy .area-links,.support-content .area-links{grid-template-columns:1fr}
}
