/* Shared navigation, editorial pages and category-specific project requests. */
@media(max-width:760px){.services .coverflow{display:block!important;height:445px!important;overflow:hidden!important;margin:0!important;padding:0!important;perspective:1000px!important;touch-action:pan-y!important;background:transparent!important;border:0!important;box-shadow:none!important}.services .coverflow[data-index] .service-card[data-position]{position:absolute!important;left:50%!important;top:15px!important;width:min(72vw,300px)!important;height:370px!important;flex:none!important;min-width:0!important;margin:0!important;border-radius:24px!important;opacity:.38!important;filter:brightness(.8)!important;z-index:1;transition:transform .65s ease,opacity .65s ease!important;transform:translateX(calc(-50% - 60vw)) rotateY(27deg) scale(.8)!important;pointer-events:none!important}.services .coverflow[data-index] .service-card[data-position="center"]{transform:translateX(-50%) scale(1)!important;opacity:1!important;filter:none!important;z-index:3;pointer-events:auto!important;box-shadow:0 12px 28px #08243d20!important}.services .coverflow[data-index] .service-card[data-position="left"]{transform:translateX(calc(-50% - 54vw)) rotateY(27deg) scale(.8)!important}.services .coverflow[data-index] .service-card[data-position="right"]{transform:translateX(calc(-50% + 54vw)) rotateY(-27deg) scale(.8)!important}.services .coverflow .coverflow-controls{display:flex!important;bottom:0!important;left:50%;transform:translateX(-50%);white-space:nowrap;gap:14px}.services .coverflow .coverflow-controls button{font-size:11px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.services .coverflow .service-card{transition:none!important}}
/* One typographic scale shared by every public page. */
:root{--heading-hero:clamp(42px,5vw,64px);--heading-section:clamp(28px,3.2vw,40px)}
main h1{font-size:var(--heading-hero)!important;line-height:1.06!important;letter-spacing:-2.5px!important}main h2{font-size:var(--heading-section)!important;line-height:1.14!important;letter-spacing:-1.5px!important}main h3{font-size:20px!important;line-height:1.35!important}main :is(.hero,.subhero) p:not(.eyebrow){font-size:16px!important;line-height:1.75!important}main .page-section p:not(.kicker):not(.eyebrow):not(.source-note){font-size:15px!important;line-height:1.75!important}main .page-section .page-lead{font-size:17px!important}main .glass-pack-card p{font-size:14px!important;line-height:1.7!important}main .glass-pack .glass-pack-heading h2{font-size:32px!important}main :is(.eyebrow,.kicker){font-size:11px!important;line-height:1.6!important}main .faq h2{font-size:28px!important}main .faq summary{font-size:14px!important;line-height:1.5}main .faq details p{font-size:13px!important;line-height:1.7}.button{font-size:14px}.page-cta p{font-size:15px}.quote-dialog h2{font-size:26px!important;line-height:1.2!important}.quote-dialog legend{font-size:20px}
@media(max-width:760px){:root{--heading-hero:42px;--heading-section:30px}main h1{letter-spacing:-1.8px!important}main h2{letter-spacing:-1px!important}main h3{font-size:18px!important}main .glass-pack .glass-pack-heading h2{font-size:30px!important}main .page-section .page-lead{font-size:16px!important}main .faq h2{font-size:25px!important}.quote-dialog h2{font-size:23px!important}}
.expertise-menu{position:relative}.expertise-toggle{font:600 14px 'DM Sans',sans-serif;color:#072a5c;border:0;padding:0;background:none;cursor:pointer;white-space:nowrap;text-align:left}.site-links .expertise-toggle{font-size:13px;font-weight:700}.expertise-panel{position:absolute;top:calc(100% + 16px);left:-17px;z-index:100;min-width:245px;padding:9px;background:#fffffff5;border:1px solid #e0e9ec;box-shadow:0 12px 35px #072a5c1c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.expertise-panel[hidden]{display:none}.nav .expertise-panel a{display:block;white-space:nowrap;padding:12px 10px;font-size:13px;line-height:1.4;font-weight:600;text-decoration:none;color:#072a5c}.nav .expertise-panel a:hover,.nav .expertise-panel a:focus-visible{background:#eaf4f6;color:#087fbe}.expertise-toggle:focus-visible{outline:2px solid #087fbe;outline-offset:5px}
@media(min-width:761px) and (max-width:1050px){.expertise-toggle{font-size:12px}}
@media(max-width:760px){.expertise-menu{width:100%}.expertise-toggle,.site-links .expertise-toggle{width:100%;padding:13px 9px;font-size:14px}.expertise-panel{position:static;min-width:0;width:100%;padding:0 0 6px 14px;border:0;box-shadow:none;background:transparent;backdrop-filter:none}.nav .expertise-panel a{padding:10px 8px;font-size:13px}.editorial-page .nav .expertise-panel a{padding:10px 8px}}
.glass-pack{display:grid;grid-template-columns:minmax(175px,.65fr) minmax(0,2.35fr);gap:32px;align-items:start;position:relative;isolation:isolate}.glass-pack:before{content:"";position:absolute;inset:35px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 60% 30%,#8bdae526,transparent 62%),radial-gradient(ellipse at 93% 80%,#ffc67b1c,transparent 48%)}.glass-pack .glass-pack-heading h2{font-size:clamp(28px,2.7vw,38px);line-height:1.12;letter-spacing:-1.5px;margin-top:14px}.glass-pack-heading .kicker{font-size:10px;line-height:1.7;letter-spacing:1.2px}.glass-pack-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;min-width:0;padding:4px 0 20px}.glass-pack-card{min-width:0;min-height:450px;padding:25px 22px;border:1px solid #ffffffeb;border-radius:18px;background:linear-gradient(135deg,#ffffff91,#ffffff38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 #fff,0 8px 24px #21475c09}.glass-pack-card .glass-pack-number{display:block;color:#548c9f;font:600 11px 'DM Sans',sans-serif;letter-spacing:1.5px;margin-bottom:27px}.glass-pack-card h3{font-size:18px;min-height:70px;line-height:1.3;margin:0 0 18px}.glass-pack-card p{font-size:13px;line-height:1.75;margin:0 0 15px}.glass-pack-card p:last-child{margin-bottom:0}.glass-pack-cards:focus-visible{outline:2px solid #087fbe;outline-offset:5px}
@media(min-width:761px) and (max-width:1050px){.glass-pack{grid-template-columns:1fr;gap:16px}.glass-pack .glass-pack-heading h2 br{display:none}.glass-pack-card{padding:24px}.glass-pack-card h3{min-height:50px}}
@media(max-width:760px){.page-section.glass-pack{display:block;width:100%;padding:45px 0}.glass-pack-heading{padding:0 20px}.glass-pack .glass-pack-heading h2{font-size:32px;margin-bottom:24px}.glass-pack-heading h2 br{display:none}.glass-pack-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(84vw,340px);grid-template-rows:1fr;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:20px;gap:14px;padding:4px 20px 22px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#85b8c8 transparent}.glass-pack-card{scroll-snap-align:start;min-height:450px;padding:25px 24px}.glass-pack-card h3{font-size:20px;min-height:54px}.glass-pack-card p{font-size:14px;line-height:1.7}}
@media(min-width:761px){header.nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}header.nav>a{justify-self:start}header.nav>nav{justify-self:center;margin:0!important}header.nav>.header-actions{justify-self:end;margin-left:0}}
.nav{gap:20px}.nav nav{margin-left:28px;gap:20px}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}.header-actions a,.header-actions>span{width:30px;height:36px;display:grid;place-items:center;color:#072a5c}.header-actions svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}.header-actions img{display:block;width:19px!important;height:19px;object-fit:contain}.header-actions a:focus-visible{outline:2px solid #087fbe;outline-offset:3px}.site-menu-toggle{display:none}
.editorial-page{--paper:#f7f8f7}.subhero{position:relative;isolation:isolate;min-height:660px;display:flex;align-items:center;color:white;padding:90px max(24px,calc((100% - 1180px)/2));overflow:hidden}.subhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.subhero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,36,.88),rgba(3,22,36,.12));z-index:-1}.subhero h1{font:800 clamp(44px,6.8vw,90px)/1.03 Manrope,sans-serif;letter-spacing:-4px;margin:20px 0;max-width:850px}.subhero .eyebrow{color:#b4e9ee}.subhero p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:600px;color:#e0edf0}.subhero .hero-links{display:flex;gap:15px;align-items:center;margin-top:28px;flex-wrap:wrap}.subhero a{color:white}.subhero .text-link{text-underline-offset:5px;font-size:13px}.subhero .button{min-height:50px;text-decoration:none}.subhero--pool img{object-position:center 60%}.subhero--build img{object-position:center 40%}
.page-section{width:min(1180px,calc(100% - 48px));margin:auto;padding:95px 0}.page-section h2{font:800 clamp(30px,4vw,52px)/1.12 Manrope,sans-serif;letter-spacing:-2px;margin:12px 0 25px;max-width:800px}.page-section h3{font:700 22px/1.3 Manrope,sans-serif;letter-spacing:-.5px;margin:0 0 12px}.page-section p{font-size:16px;line-height:1.8;color:#526d7d}.page-lead{max-width:800px;font-size:19px!important}.page-index{display:flex;gap:22px;flex-wrap:wrap;padding:25px 0;border-bottom:1px solid #d8e2e5;font-size:12px}.page-index a{color:#426a7d;text-decoration:none}.editorial-row{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding:38px 0;border-top:1px solid #d8e2e5}.editorial-row .number{color:#1684a5;display:block;margin-bottom:12px;font-size:12px}.editorial-row p{margin:0 0 14px}.editorial-row ul,.text-columns ul{padding-left:18px;color:#526d7d;font-size:14px;line-height:1.9}.wide-illustration{margin:0;width:100%;height:clamp(300px,45vw,610px);overflow:hidden}.wide-illustration img{width:100%;height:100%;object-fit:cover}.split-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split-story img{width:100%;height:520px;object-fit:cover;display:block}.text-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.text-columns>div{border-top:1px solid #d8e2e5;padding-top:26px}.page-faq details{padding:0;border-bottom:1px solid #d8e2e5}.page-faq summary{font:600 15px Manrope,sans-serif;padding:22px 0;cursor:pointer;color:#072a5c}.page-faq details p{max-width:850px;font-size:14px;padding-bottom:22px}.page-cta{background:#072a5c;color:white;padding:70px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:30px;align-items:center}.page-cta h2{font:700 clamp(30px,4vw,48px)/1.12 Manrope,sans-serif;color:white;letter-spacing:-1.5px;margin:0}.page-cta p{color:#c0dae5;max-width:650px;line-height:1.7}.page-cta .button{flex-shrink:0;min-height:50px}.quote-trigger{border:0;cursor:pointer}.mobile-quote{display:none}.source-note{font-size:12px!important;color:#708792!important}.source-note a{color:inherit}
.quote-dialog{width:min(850px,calc(100% - 24px));max-height:92svh;border:0;padding:0;background:#f9fbfb;color:#072a5c;box-shadow:0 20px 90px #021d3f55}.quote-dialog::backdrop{background:#041a30aa;backdrop-filter:blur(4px)}.quote-dialog header{position:sticky;top:0;z-index:2;background:#f9fbfb;padding:25px 32px 18px;border-bottom:1px solid #dce6e8;display:flex;align-items:start;justify-content:space-between;gap:20px}.quote-dialog h2{font:700 28px/1.15 Manrope,sans-serif;letter-spacing:-1px;margin:8px 0}.quote-dialog .eyebrow{margin:0;font-size:10px}.quote-close{border:0;background:transparent;color:#072a5c;font-size:28px;cursor:pointer;min-width:40px;min-height:40px}.quote-dialog form{padding:26px 32px}.quote-dialog fieldset{border:0;padding:0;margin:0}.quote-dialog fieldset[hidden]{display:none}.quote-dialog legend{font:700 21px Manrope;margin-bottom:20px}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#34576e}.quote-fields input,.quote-fields select,.quote-fields textarea{font:400 16px 'DM Sans',Arial;padding:12px;border:1px solid #cbdce1;background:white;width:100%;min-height:46px;color:#193e57;border-radius:4px}.quote-fields textarea{min-height:100px;resize:vertical}.quote-fields .full{grid-column:1/-1}.quote-fields label.consent{flex-direction:row;align-items:start;font-size:12px;line-height:1.5}.consent input{width:17px;height:17px;min-height:0;margin:2px 6px 0 0}.quote-steps{display:flex;gap:16px;font-size:11px;color:#718998;margin:0 0 26px;list-style:none;padding:0}.quote-steps .active{color:#087fbe;font-weight:700}.quote-steps .done{color:#387d62}.quote-actions{display:flex;justify-content:space-between;gap:15px;margin-top:28px}.quote-actions .button{min-height:47px}.quote-help{font-size:12px;line-height:1.6;color:#6c8391;margin:20px 0 0}.quote-result{padding:28px 32px}.quote-result[hidden]{display:none}.quote-result textarea{width:100%;height:240px;padding:15px;border:1px solid #cadce2;font:13px/1.7 'DM Sans',Arial;resize:vertical}.quote-result p{font-size:14px;line-height:1.7}.quote-result a{color:#087fbe}.quote-dialog .button{font:600 13px 'DM Sans',sans-serif;text-decoration:none}.quote-lock{overflow:hidden}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.login-photo{width:100%;height:100%;object-fit:cover}.login-content{padding:70px max(25px,7vw);display:flex;flex-direction:column;justify-content:center}.login-content h1{font:800 46px/1.08 Manrope;letter-spacing:-2px;margin:18px 0}.login-content p{font-size:15px;line-height:1.8;color:#526d7d}.login-tabs{display:flex;gap:20px;border-bottom:1px solid #d8e2e5;margin:20px 0}.login-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 0;color:#526d7d;font:600 13px 'DM Sans';cursor:pointer}.login-tabs button[aria-selected=true]{color:#087fbe;border-color:#087fbe}.login-content .button{margin-top:15px}.login-status{padding:18px 0;border-bottom:1px solid #d8e2e5}
@media(max-width:1050px) and (min-width:761px){.nav{width:calc(100% - 40px);gap:12px}.nav .brand img,.nav>a>img{width:105px}.nav nav{gap:14px;margin-left:0}.nav nav a{font-size:12px}.header-actions{gap:5px}}
@media(max-width:760px){.header-actions{gap:5px}.header-actions a,.header-actions>span{width:28px}.nav{gap:10px}.nav nav{margin:0}.site-menu-toggle{display:grid;border:0;width:40px;height:40px;background:transparent;place-content:center;gap:6px}.site-menu-toggle i{width:19px;border-top:2px solid #072a5c}.editorial-page .nav{position:relative;z-index:10}.editorial-page .nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:14px;box-shadow:0 15px 30px #072a5c22;flex-direction:column;gap:0}.editorial-page .nav nav.open{display:flex}.editorial-page .nav nav a{padding:12px;color:#072a5c}.subhero{min-height:610px;padding:50px 22px}.subhero h1{font-size:45px;letter-spacing:-2px}.subhero p:not(.eyebrow){font-size:16px}.subhero .button{width:100%}.subhero>img{object-position:62% center}.page-section{width:calc(100% - 40px);padding:56px 0}.page-section h2{font-size:34px;letter-spacing:-1.5px}.page-section p{font-size:14px}.page-lead{font-size:17px!important}.editorial-row,.split-story,.text-columns{grid-template-columns:1fr;gap:18px}.editorial-row{padding:28px 0}.editorial-row h3{font-size:22px}.split-story img{height:360px}.page-index{gap:15px}.wide-illustration{height:360px}.page-cta{display:block;padding:48px 22px}.page-cta .button{width:100%;margin-top:20px}.quote-dialog header{padding:20px}.quote-dialog h2{font-size:24px}.quote-dialog form,.quote-result{padding:22px 20px}.quote-fields{grid-template-columns:1fr;gap:17px}.quote-actions .button{padding:14px 16px}.quote-steps{gap:12px;font-size:10px}.login-layout{grid-template-columns:1fr}.login-photo{height:250px}.login-content{padding:40px 24px}.login-content h1{font-size:38px}}
