/* Signature 2.0: photos always retain their complete natural frame. */
:root{--logo-width:190px;--logo-mobile-width:150px}
.site-header,.home .site-header{position:relative;inset:auto;width:100%;background:var(--dark)}
.header-inner{min-height:0;padding:12px 0;gap:28px}
.brand-image{display:block;width:var(--logo-width);max-width:40vw;flex:none;min-width:0;line-height:0}
.brand-image img.cn-image{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:6px}
.brand-wordmark{font-size:23px;font-weight:700;line-height:1.25;max-width:250px;white-space:normal}
.site-nav{min-width:0}.nav-list>li>a{padding:28px 0}.sub-menu{top:100%}.btn{white-space:normal}.nav-cta{max-width:190px}
.cn-image{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.media-frame{margin:0;min-width:0;border-radius:12px;border:1px solid #d8e5e6;overflow:hidden;background:#f2f6f6}
.media-frame img.cn-image{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;transform:none}
.hero{padding:66px 0 74px;min-height:0;overflow:visible;background:var(--navy)}
.hero-grid,.subhero-grid,.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:52px}
.hero-grid:not(.has-media),.subhero-grid:not(.has-media),.cta-grid:not(.has-media),.about-grid:not(.has-media){grid-template-columns:minmax(0,1fr)}
.hero-content{padding:0;min-width:0}.hero h1{font-size:clamp(38px,3.8vw,57px);line-height:1.13;letter-spacing:-1.9px;margin:21px 0 23px;max-width:650px}
.hero-description{max-width:580px;font-size:16px}.hero-actions{gap:12px;align-items:center}.hero-note{margin-top:30px}.hero-media{border-color:#88c0c52e;box-shadow:0 24px 65px #031b2533;background:#12313d}
.home-services{padding-top:65px;background:#f3f7f7}.home-services .section-heading{margin-bottom:31px}
.service-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-items:stretch;gap:24px}
.service-card{display:flex;flex-direction:column;min-height:0;grid-template-columns:none;background:var(--navy)}
.service-image{display:block;height:auto;min-height:0;width:100%;overflow:visible;line-height:0}
.service-image img.cn-image{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;transform:none}
.service-image:hover img{transform:none}.service-copy{padding:27px;min-width:0}.service-copy .service-number{position:static;display:block;align-self:flex-start;padding:0;margin:0 0 16px;background:none;border:0;color:#69d4dc}
.service-copy h2{font-size:23px}.service-copy p{font-size:14px;line-height:1.8}.service-copy .text-link{padding-top:12px}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:55px}.about-image img.cn-image{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.cn-figure-caption{display:flex;flex-direction:column;gap:9px;padding:24px 27px;background:var(--navy);color:#fff}.cn-figure-caption small{font-size:10px;letter-spacing:2px;color:#55d0d3}.cn-figure-caption strong{font-size:19px;line-height:1.5;letter-spacing:-.3px}
.connection-strip span{overflow-wrap:anywhere}.approach-grid article{min-width:0}.home-contact{overflow:visible;background:var(--navy);padding:76px 0}
.cta-grid>div{min-width:0}.cta-grid h2{font-size:clamp(31px,3.2vw,43px);line-height:1.2;letter-spacing:-1.4px;margin:15px 0 23px;color:#fff}.cta-grid p:not(.section-kicker){font-size:16px;line-height:1.85;color:#ccdee3;margin:0 0 25px}.cta-grid .section-kicker{color:#50d1d1}.contact-media{border-color:#88c0c52e;background:#13343e}
.subhero{display:block;min-height:0;padding:64px 0;background:var(--navy);overflow:visible}.subhero-content{padding:0;min-width:0}.subhero h1{font-size:clamp(32px,3.4vw,49px);letter-spacing:-1.6px;line-height:1.15;max-width:750px}.subhero .banner-description{font-size:15px}.subhero-media{background:#12313d;border-color:#88c0c52e}
.post-image{height:auto;overflow:visible}.post-image img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}.post-cover img{height:auto;max-height:none;object-fit:contain}
.footer-brand .brand-image{width:175px;max-width:100%}.site-footer{background:var(--dark)}.footer-link{display:inline-flex;align-items:center;gap:8px}.footer-link>span,.footer-contact>span{font-size:10px;opacity:.65}
.footer-grid a,.footer-grid p{overflow-wrap:anywhere}.footer-contact{display:inline-flex;align-items:center;gap:12px}.detail-cta{background:var(--navy)}.detail-cta .hero-actions{flex-shrink:0;max-width:360px}.detail-cta .cta-inner>div:first-child{max-width:750px}
.btn-primary{background:var(--teal)}.btn-primary:hover{background:var(--teal);filter:brightness(.88);color:#fff}.btn-dark{background:var(--navy)}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.admin-bar.home .site-header{top:0}
@media(max-width:1200px){.hero-grid,.subhero-grid,.cta-grid{gap:36px}.hero h1{font-size:49px}.hero-description{font-size:15px}.hero-actions .btn{padding:0 18px;font-size:12px}.about-grid{gap:37px}.service-copy{padding:24px}.nav-list{gap:16px}}
@media(max-width:960px){.header-inner{padding:10px 0}.site-nav{top:100%;inset-inline:0}.nav-list>li>a{padding:16px 4px}.brand-image{max-width:50vw}.hero-grid,.subhero-grid,.cta-grid{gap:27px}.hero h1{font-size:43px}.hero-actions .btn{padding:0 16px}.hero-content .hero-note{font-size:10px}.service-copy h2{font-size:22px}.service-copy p{font-size:13px}.subhero h1{font-size:38px}.subhero .banner-description{font-size:14px}.hero{padding:52px 0 60px}.nav-cta{max-width:none}}
@media(max-width:760px){.brand-image{width:var(--logo-mobile-width);max-width:60vw}.hero-grid,.subhero-grid,.cta-grid,.about-grid{grid-template-columns:minmax(0,1fr);gap:31px}.hero{padding:40px 0 46px}.hero-content{padding:0}.hero h1{font-size:42px;letter-spacing:-1.5px}.hero-description{font-size:15px;max-width:none}.hero-actions .btn{min-height:48px;padding:0 18px;font-size:12px}.hero-media{width:100%}.service-grid{grid-template-columns:minmax(0,1fr);gap:25px}.service-card{display:flex;min-height:0}.service-image{height:auto;min-height:0}.service-image img.cn-image{height:auto;object-fit:contain}.service-copy{padding:27px}.service-copy h2{font-size:25px}.service-copy p{font-size:15px}.service-copy .service-tagline{font-size:13px}.home-services{padding-top:50px}.about-image img.cn-image{height:auto;max-height:none}.cn-figure-caption{padding:22px}.home-contact{padding:57px 0}.cta-grid h2{font-size:36px}.cta-grid p:not(.section-kicker){font-size:15px}.subhero{padding:44px 0 48px}.subhero-content{padding:0}.subhero h1{font-size:39px}.subhero .banner-description{font-size:15px}.subhero .breadcrumbs{margin-top:26px}.post-image img{height:auto;max-height:none}.footer-brand .brand-image{width:160px}.detail-cta .cta-inner{align-items:flex-start}.detail-cta .hero-actions{max-width:none}}
@media(max-width:480px){.hero h1{font-size:37px;line-height:1.16;letter-spacing:-1.25px}.hero-description{font-size:14px}.hero-actions{gap:10px}.hero-actions .btn{font-size:11px;padding:0 14px;min-height:45px}.hero-note{font-size:10px}.service-copy h2{font-size:23px}.service-copy p{font-size:14px}.about-copy h2{font-size:33px}.cta-grid h2{font-size:33px}.subhero h1{font-size:35px}.subhero .banner-description{font-size:14px}.cn-figure-caption strong{font-size:18px}.footer-grid{column-gap:22px}.footer-bottom{line-height:1.7}}
@media(max-width:782px){body.admin-bar.home .site-header{top:0}}
