:root{--primary:#0a4f8f;--primary-dark:#073a69;--dark:#0d1a26;--dark-2:#1d2c3a;--bg:#f5f6f4;--soft:#e8eef3;--chip:#eef3f7;--text:#15212c;--muted:#46535f;--muted-2:#5b6772;--line:#e1e6ea;--light-blue:#bcd6ee;--sky:#8fb9e0;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Figtree',system-ui,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-0.015em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.container{max-width:1320px;margin:0 auto;padding-left:24px;padding-right:24px}
.section{padding-top:100px;padding-bottom:100px}
.bg-white{background:#fff}.bg-soft{background:var(--soft)}.bg-dark{background:var(--dark);color:#fff}.bg-primary{background:var(--primary);color:#fff}
.eyebrow{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}
.bg-dark .eyebrow{color:var(--sky)}.bg-primary .eyebrow,.hero .eyebrow{color:var(--light-blue)}
.h1{font-size:clamp(38px,5.4vw,68px);line-height:1.04;letter-spacing:-0.02em}
.h1-xl{font-size:clamp(40px,6vw,76px);line-height:1.02;letter-spacing:-0.02em}
.h2{font-size:clamp(28px,3.6vw,46px);line-height:1.1}
.h3{font-size:clamp(24px,2.6vw,32px)}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--muted);max-width:700px}
.bg-dark .lead{color:#c9d4dd}.hero .lead{color:#e6edf3}.bg-primary .lead,.bg-primary p{color:#dce9f5}
.muted{color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:18px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px;align-items:center}
.split.end{align-items:end}.split.start{align-items:start}
.grid{display:grid;gap:20px}
.g-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.g-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.g-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;font-weight:700;font-size:16px;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff}
.btn-white{background:#fff;color:var(--dark)}.btn-white:hover{background:#dbe8f4;color:var(--dark)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-outline{border-color:var(--primary);color:var(--primary);background:#fff}.btn-outline:hover{background:var(--primary);color:#fff}
.link-arrow{font-weight:700;font-size:16px}
/* top bar + header */
.topbar{background:var(--dark);color:#dfe6ec;font-size:14px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.topbar a{color:#dfe6ec}.topbar a.strong{color:#fff;font-weight:600}
.topbar .links{display:flex;gap:22px;flex-wrap:wrap}
.site-head{position:sticky;top:0;z-index:50}
.header{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid #e3e7ea}
.header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px}
.logo img{height:74px;width:auto}
.nav{display:flex;gap:26px;align-items:center;font-size:16px;font-weight:600}
.nav a{color:var(--text)}.nav a.active,.nav a:hover{color:var(--primary)}
.nav .btn{color:#fff}.nav .btn:hover{color:#fff}
.dropdown{position:relative;padding:10px 0}
.dropdown-menu{position:absolute;top:100%;left:-16px;background:#fff;border-radius:16px;box-shadow:0 18px 40px rgba(13,26,38,.14);padding:10px;min-width:240px;display:none;flex-direction:column}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:flex}
.dropdown-menu a{padding:12px 14px;border-radius:10px}.dropdown-menu a:hover{background:var(--chip)}
.menu-toggle{display:none;border:1px solid #d5dbe0;background:#fff;border-radius:999px;padding:10px 18px;font-weight:600;font-size:15px;color:var(--text);cursor:pointer;font-family:inherit}
.mobile-nav{display:none;flex-direction:column;padding:8px 24px 24px;gap:2px;font-size:19px;font-weight:600;border-top:1px solid #e3e7ea;background:#fff}
.mobile-nav a{color:var(--text);padding:11px 0}.mobile-nav a.sub{color:var(--muted);padding:9px 0 9px 18px;font-size:17px}
.mobile-nav .btn{color:#fff;margin-top:10px}
.mobile-nav.open{display:flex}
@media (max-width:1139px){.nav{display:none}.menu-toggle{display:inline-flex}}
@media (min-width:1140px){.mobile-nav.open{display:none}}
/* hero */
.hero{position:relative;min-height:460px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark);color:#fff}
.hero.tall{min-height:640px}
.hero>img,.hero .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .slide{opacity:0;transition:opacity 1s}.hero .slide.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,31,.85) 0%,rgba(9,20,31,.45) 60%,rgba(9,20,31,.12) 100%)}
.hero .container{position:relative;z-index:1;width:100%;padding-top:100px;padding-bottom:64px;display:flex;flex-direction:column;gap:20px}
.hero.tall .container{padding-top:120px;padding-bottom:72px;gap:24px}
.hero .inner{max-width:760px;display:flex;flex-direction:column;gap:22px}
.dots{display:flex;gap:8px;margin-top:40px}
.dots button{width:20px;height:4px;border:0;border-radius:2px;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:all .3s}
.dots button.on{width:48px;background:#fff}
.page-head{background:var(--dark);color:#fff}
.page-head .container{padding-top:90px;padding-bottom:80px;display:flex;flex-direction:column;gap:20px}
.crumbs{display:flex;gap:8px;font-size:14px;color:var(--light-blue);flex-wrap:wrap}.crumbs a{color:var(--light-blue)}.crumbs span:last-child{color:#fff}
/* cards */
.card{background:#fff;border-radius:var(--radius);overflow:hidden;color:var(--text);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
a.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,26,38,.12);color:var(--text)}
.card .media{aspect-ratio:3/2;overflow:hidden;background:#dfe5ea}.card .media img{width:100%;height:100%;object-fit:cover}
.card .body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px}
.card h3{font-size:26px}.card p{font-size:16px;color:var(--muted)}
.card .more{margin-top:6px;font-weight:700;color:var(--primary)}
.row-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));background:#fff;border-radius:24px;overflow:hidden;color:var(--text);transition:box-shadow .25s}
.row-card:hover{box-shadow:0 18px 40px rgba(13,26,38,.12);color:var(--text)}
.row-card .media{min-height:300px;position:relative;background:#dfe5ea}.row-card .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.row-card .body{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:16px;justify-content:center}
.box{background:#fff;border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;gap:10px}
.bg-white .box{background:var(--bg)}
.box h3{font-size:22px}.box p{font-size:16px;color:var(--muted);line-height:1.55}
.label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:#dfe4e8;border-radius:var(--radius);overflow:hidden}
.tiles>div{background:var(--bg);padding:34px 30px;display:flex;flex-direction:column;gap:12px}
.bg-soft .tiles>div,.section:not(.bg-white) .tiles>div{background:#fff}
.bg-white .tiles>div{background:var(--bg)}
.bg-primary .tiles{background:rgba(255,255,255,.2)}.bg-primary .tiles>div{background:var(--primary)}
.tiles .num{font-size:15px;font-weight:700;color:var(--primary)}.bg-primary .tiles .num{color:var(--light-blue)}
.tiles .badge{width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.tiles h3{font-size:21px}.tiles p{font-size:16px;color:var(--muted);line-height:1.55}.bg-primary .tiles p{color:#dce9f5}
.checklist{margin:0;padding:0;list-style:none}
.checklist li{display:flex;gap:14px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line);font-size:18px;line-height:1.4}
.checklist li::before,.dotlist li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);flex:none;transform:translateY(-2px)}
.dotlist{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.dotlist li{display:flex;gap:10px;align-items:baseline;font-size:15px}.dotlist li::before{width:6px;height:6px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:20px}
.steps>div{border-top:2px solid var(--primary);padding-top:22px;display:flex;flex-direction:column;gap:10px}
.steps .num{font-size:15px;font-weight:700;color:var(--sky)}.steps h3{font-size:20px}.steps p{font-size:16px;color:#c9d4dd}
.brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:14px}
.brand{background:#fff;border-radius:18px;height:120px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;transition:box-shadow .25s}
.brand:hover{box-shadow:0 12px 30px rgba(13,26,38,.1)}
.brand strong{font-size:22px;color:#2b3844;line-height:1.1}.brand span{font-size:13px;font-weight:600;color:#6b7782}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{background:#fff;border-radius:999px;padding:10px 18px;font-size:16px;font-weight:600;color:var(--text)}
.box .chip,.bg-white .chip{background:var(--chip);padding:7px 14px;font-size:14px}
.media-box{border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:#dfe5ea}.media-box img{width:100%;height:100%;object-fit:cover}
.quote{margin:0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;gap:14px}
.quote p{font-size:clamp(22px,2.4vw,30px);line-height:1.3;font-weight:700}.quote footer{font-size:16px;color:var(--sky)}
.person{display:flex;align-items:center;gap:16px}.person img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:50% 12%}
.person span{color:var(--sky);font-size:15px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.gallery a{position:relative;display:block;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#dfe5ea}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery a:hover img{transform:scale(1.05)}
.gallery span{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);color:var(--text);font-size:14px;font-weight:700;padding:7px 12px;border-radius:999px}
.tile-link{position:relative;border-radius:24px;overflow:hidden;min-height:380px;display:flex;align-items:flex-end;color:#fff;background:var(--dark-2)}
.tile-link:hover{color:#fff}.tile-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile-link::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,20,31,.85),rgba(9,20,31,.05) 70%)}
.tile-link div{position:relative;z-index:1;padding:36px;display:flex;flex-direction:column;gap:10px}.tile-link .eyebrow{color:var(--light-blue)}.tile-link h3{font-size:30px}
.panel{border-radius:28px;padding:clamp(32px,5vw,64px)}
.faq{max-width:1000px}
.faq details{border-bottom:1px solid var(--line)}.faq-list{border-top:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-size:19px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;background:var(--chip);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:500}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 26px;max-width:780px;font-size:17px;line-height:1.65;color:var(--muted)}
.contact-list{display:flex;flex-direction:column;gap:12px}
.contact-list a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:22px 26px;color:var(--text)}
.contact-list a:hover{color:var(--primary)}.contact-list span{font-size:15px;color:var(--muted-2)}.contact-list strong{font-size:21px}
.map{border-radius:20px;overflow:hidden;background:#dfe5ea;aspect-ratio:16/10}.map iframe{width:100%;height:100%;border:0;display:block}
.form-card{background:#fff;border-radius:28px;padding:clamp(28px,4vw,48px);align-self:start}
.form{display:flex;flex-direction:column;gap:20px}
.form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.form label.field{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600}
.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{border:1.5px solid #d5dbe0;border-radius:12px;padding:14px 16px;font-size:16px;background:#fafbfb;font-family:inherit}
.form input:focus,.form textarea:focus{border-color:var(--primary);outline:none}
.topic{position:relative}.topic input{position:absolute;opacity:0}
.topic span{display:inline-block;border:1.5px solid #d5dbe0;background:#fff;padding:10px 18px;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer}
.topic input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.topic input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted-2)}.consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--primary)}
.thanks{display:none;flex-direction:column;gap:16px;min-height:400px;justify-content:center}.sent .thanks{display:flex}.sent .form{display:none}
.job{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border-radius:20px;padding:28px 32px;color:var(--text)}
.job:hover{box-shadow:0 14px 34px rgba(13,26,38,.1);color:var(--text)}.job h3{font-size:22px}.job span{color:var(--muted-2)}.job b{color:var(--primary)}
/* footer */
.cta-band{padding-bottom:90px}
.cta-band .panel{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.footer{background:var(--dark);color:#c9d4dd}
.footer .container{padding-top:80px;padding-bottom:36px;display:flex;flex-direction:column;gap:56px}
.footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:40px}
.footer .col{display:flex;flex-direction:column;gap:10px;font-size:16px}
.footer .col strong{color:#fff;font-size:15px;letter-spacing:.06em;text-transform:uppercase}.footer .col strong.name{font-size:18px;letter-spacing:0;text-transform:none}
.footer a{color:#c9d4dd}.footer a:hover{color:#fff}
.footer .bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:#8d9aa6}
.footer .bottom a{color:#8d9aa6}.footer .bottom div{display:flex;gap:20px}
.help{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.help-panel{display:none;background:#fff;border-radius:20px;box-shadow:0 20px 50px rgba(13,26,38,.22);padding:20px;width:300px;max-width:calc(100vw - 40px);flex-direction:column;gap:8px}
.help.open .help-panel{display:flex}
.help-panel strong{font-size:18px;padding:4px 6px 8px}
.help-panel a{padding:14px 16px;border-radius:12px;background:var(--chip);color:var(--text);font-weight:600}.help-panel a:hover{background:#dbe8f4;color:var(--text)}
.help-btn{background:var(--primary);color:#fff;border:0;border-radius:999px;padding:16px 22px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(10,79,143,.35);font-family:inherit}
