:root{--navy:#102f42;--navy-2:#173f54;--blue:#087f9c;--blue-dark:#076a83;--cyan:#39b5c5;--ice:#eef9fa;--ice-2:#dff3f5;--text:#476575;--white:#fff;--line:#d7e8eb;--warm:#f59d62;--shadow:0 22px 60px rgba(16,47,66,.12);--radius:24px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:#fff;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.icon{width:1.35em;height:1.35em;display:inline-block;vertical-align:middle;flex:0 0 auto}.skip-link{position:fixed;z-index:9999;top:10px;left:10px;padding:10px 16px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}.topbar{background:var(--navy);color:#d9edf1;font-size:13px}.topbar-inner{height:38px;display:flex;align-items:center;justify-content:space-between}.topbar span,.topbar a{display:flex;align-items:center;gap:7px}.topbar a{color:#fff;font-weight:700}.site-header{position:sticky;z-index:100;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{box-shadow:0 8px 30px rgba(16,47,66,.08);border-color:var(--line)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;line-height:1}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--cyan),var(--blue));box-shadow:0 8px 20px rgba(8,127,156,.2)}.brand-mark .icon{width:24px;height:24px}.brand strong{display:block;font-size:17px;letter-spacing:-.4px}.brand small{display:block;margin-top:6px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:32px}.main-nav>a:not(.button){position:relative;color:#375969;font-size:14px;font-weight:700}.main-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--blue);transition:.25s}.main-nav>a:hover,.main-nav>a.is-active{color:var(--blue)}.main-nav>a:hover:after,.main-nav>a.is-active:after{right:0}.menu-toggle{display:none;border:0;background:transparent;color:var(--navy);padding:8px}.menu-toggle .icon{width:28px;height:28px}.menu-close{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:0 24px;border:1px solid var(--blue);border-radius:14px;background:var(--blue);color:#fff;font-weight:800;font-size:14px;box-shadow:0 12px 24px rgba(8,127,156,.2);transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);background:var(--blue-dark);box-shadow:0 16px 30px rgba(8,127,156,.26)}.button-sm{min-height:44px;padding:0 18px;border-radius:12px}.button-white{background:#fff;border-color:#fff;color:var(--blue);box-shadow:none}.button-white:hover{background:var(--ice);color:var(--blue)}.button-outline-light{background:transparent;border-color:rgba(255,255,255,.55);box-shadow:none}.button-outline-light:hover{background:rgba(255,255,255,.1)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:800}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.eyebrow .icon{width:19px}.eyebrow.light{color:#c8f1f5}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;letter-spacing:-.045em}h1{margin-bottom:24px;font-size:clamp(42px,5.4vw,72px)}h1 em{color:var(--blue);font-style:normal}h2{margin-bottom:19px;font-size:clamp(32px,4vw,48px)}h3{font-size:20px}.lead{max-width:650px;color:var(--text);font-size:18px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.home-hero,.page-hero{position:relative;overflow:hidden;background:linear-gradient(130deg,#f8fcfc 0%,var(--ice) 100%)}.home-hero:before,.page-hero:before{content:"";position:absolute;width:500px;height:500px;left:-250px;bottom:-300px;border-radius:50%;border:80px solid rgba(57,181,197,.07)}.hero-grid,.two-col{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:70px}.hero-copy{position:relative;z-index:1}.hero-points{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:35px;color:#426373;font-size:13px;font-weight:700}.hero-points span{display:flex;align-items:center;gap:6px}.hero-points .icon{color:var(--blue)}.hero-visual,.service-visual{position:relative}.hero-visual>img,.service-visual>img{border-radius:36px;box-shadow:var(--shadow)}.floating-card,.floating-note{position:absolute;display:flex;align-items:center;gap:13px;padding:16px 19px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);border-radius:18px;box-shadow:0 16px 40px rgba(16,47,66,.16)}.floating-card{left:-38px;bottom:44px}.floating-note{left:-25px;bottom:35px}.floating-card>.icon,.floating-note>.icon{width:37px;height:37px;padding:8px;border-radius:11px;color:#fff;background:var(--blue)}.floating-card strong,.floating-card span,.floating-note strong,.floating-note span{display:block}.floating-card span,.floating-note span{font-size:12px;color:var(--text)}.trust-strip{position:relative;z-index:2;margin-top:-1px;border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}.trust-item{display:flex;gap:15px;align-items:center;padding:28px 30px;border-right:1px solid var(--line)}.trust-item:first-child{border-left:1px solid var(--line)}.trust-item>.icon{width:34px;height:34px;color:var(--blue)}.trust-item strong,.trust-item span{display:block}.trust-item span{font-size:13px;color:var(--text)}.section{padding:105px 0}.section-tint{background:var(--ice)}.section-heading{max-width:650px;margin-bottom:48px}.section-heading.center{text-align:center;margin-inline:auto}.section-heading p{color:var(--text)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{position:relative;overflow:hidden;min-height:285px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:.25s}.service-card:after{content:"";position:absolute;width:125px;height:125px;right:-58px;bottom:-64px;border-radius:50%;background:var(--ice-2);transition:.3s}.service-card:hover{transform:translateY(-7px);border-color:#aedce2;box-shadow:var(--shadow)}.service-card:hover:after{transform:scale(1.4)}.service-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:27px;border-radius:17px;color:var(--blue);background:var(--ice)}.service-icon .icon{width:29px;height:29px}.service-card p{color:var(--text);font-size:14px}.card-link{position:absolute;z-index:1;left:30px;bottom:26px;display:flex;align-items:center;gap:8px;color:var(--blue);font-size:13px;font-weight:800}.feature-layout{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:80px}.feature-image{position:relative}.feature-image img{border-radius:30px}.feature-badge{position:absolute;right:-20px;bottom:30px;width:145px;padding:20px;text-align:center;background:var(--navy);color:#fff;border-radius:20px;box-shadow:var(--shadow)}.feature-badge .icon{width:36px;height:36px;color:#75d6e1}.feature-badge strong{display:block;font-size:14px}.feature-list{display:grid;gap:20px;margin-top:30px}.feature-list>div{display:flex;gap:15px}.feature-list .icon{width:25px;height:25px;padding:4px;border-radius:50%;background:var(--ice-2);color:var(--blue)}.feature-list strong{display:block}.feature-list span{color:var(--text);font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.steps article{position:relative;padding:34px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}.steps article>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:15px;background:var(--blue);color:#fff;font-size:13px;font-weight:800}.steps p{margin:0;color:var(--text);font-size:14px}.page-hero .two-col{min-height:590px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;color:#6b8592;font-size:12px}.breadcrumbs a:hover{color:var(--blue)}.service-visual img{width:100%}.content-grid{display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:start}.content-grid p{color:var(--text)}.issue-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:30px}.issue-item{display:flex;align-items:center;gap:11px;padding:14px;background:var(--ice);border-radius:12px;font-size:13px;font-weight:700}.issue-item .icon{width:20px;color:var(--blue)}.contact-card{padding:35px;background:var(--navy);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-icon{display:grid;place-items:center;width:55px;height:55px;margin-bottom:25px;border-radius:17px;background:var(--cyan)}.contact-icon .icon{width:28px}.contact-card p{color:#c5d8df}.contact-card>a{display:block;margin:20px 0 5px;color:#71d3df;font-size:22px;font-weight:800}.contact-card small{color:#a9c1cb}.cta-band{padding:70px 0;background:linear-gradient(120deg,var(--blue-dark),var(--blue),#139cb2);color:#fff}.cta-band-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-band h2{margin-bottom:8px;font-size:36px}.cta-band p{margin:0;color:#d8f1f4}.cta-actions{display:flex;gap:12px;flex-shrink:0}.site-footer{padding-top:75px;background:#0d2938;color:#c2d3da}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;gap:55px;padding-bottom:55px}.brand-footer{color:#fff;margin-bottom:22px}.footer-about p{max-width:330px;font-size:13px}.footer-about .disclaimer{color:#819ba7;font-size:11px}.site-footer h3{color:#fff;font-size:15px;letter-spacing:0;margin-bottom:22px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:10px 0;font-size:13px}.site-footer a:hover{color:#6ed1dc}.footer-contact li{display:flex;gap:10px;align-items:flex-start}.footer-contact .icon{color:#6ed1dc;margin-top:3px}.footer-bottom{display:flex;justify-content:space-between;padding:22px 0;border-top:1px solid rgba(255,255,255,.09);color:#78939f;font-size:11px}.mobile-actions{display:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@media(max-width:960px){.topbar{display:none}.header-inner{height:74px}.menu-toggle{display:block}.main-nav{position:fixed;top:74px;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px 25px 120px;background:#fff;transform:translateX(100%);transition:.3s}.menu-open .main-nav{transform:none}.main-nav>a:not(.button){padding:17px 4px;border-bottom:1px solid var(--line);font-size:17px}.main-nav>a:after{display:none}.header-call{margin-top:25px}.menu-open .menu-open{display:none}.menu-open .menu-close{display:block}.hero-grid,.two-col,.feature-layout{grid-template-columns:1fr;gap:45px}.hero-grid{padding:75px 0}.hero-visual{max-width:650px;margin:auto}.page-hero .two-col{padding:65px 0}.service-visual{max-width:620px;margin:auto}.service-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.contact-card{max-width:500px}.footer-grid{grid-template-columns:1fr 1fr}.cta-band-inner{align-items:flex-start;flex-direction:column}.cta-actions{flex-wrap:wrap}.feature-image{max-width:680px}.feature-badge{right:20px}}
@media(max-width:650px){body{padding-bottom:68px}.container{width:min(calc(100% - 30px),var(--container))}.brand-mark{width:40px;height:40px}.brand strong{font-size:15px}.brand small{font-size:10px}h1{font-size:40px}h2{font-size:31px}.lead{font-size:16px}.home-hero:before,.page-hero:before{display:none}.hero-grid{padding:55px 0;min-height:auto}.page-hero .two-col{padding:45px 0;min-height:auto}.hero-actions{align-items:stretch;flex-direction:column;gap:17px}.hero-actions .button{width:100%}.hero-actions .text-link{justify-content:center}.hero-points{display:grid;gap:10px}.floating-card,.floating-note{left:12px;right:12px;bottom:12px}.trust-grid{grid-template-columns:1fr}.trust-item,.trust-item:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--line);padding:20px 5px}.section{padding:72px 0}.service-grid,.steps,.issue-grid{grid-template-columns:1fr}.service-card{min-height:270px}.feature-layout{gap:50px}.feature-badge{right:10px;bottom:10px}.content-grid{gap:45px}.cta-band{padding:55px 0}.cta-band h2{font-size:31px}.cta-actions{width:100%;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{gap:12px;flex-direction:column}.mobile-actions{position:fixed;z-index:150;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;height:68px;background:#fff;box-shadow:0 -8px 30px rgba(16,47,66,.14)}.mobile-actions a{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--blue);font-size:13px;font-weight:800}.mobile-actions a+ a{background:#169b64}.mobile-actions .icon{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Mobile navigation: keep the menu in its own viewport layer. */
@media(max-width:960px){
  .site-header{z-index:200;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
  .header-inner{position:relative}
  .menu-toggle{position:relative;z-index:202;color:var(--navy);cursor:pointer}
  .main-nav{
    z-index:200;
    top:74px;
    height:calc(100vh - 74px);
    height:calc(100dvh - 74px);
    bottom:auto;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    box-shadow:0 18px 35px rgba(16,47,66,.1);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    -webkit-overflow-scrolling:touch;
    transition:transform .3s ease,opacity .2s ease,visibility 0s linear .3s;
  }
  .menu-open .main-nav{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transition:transform .3s ease,opacity .2s ease;
  }
  .main-nav>a:not(.button){flex:0 0 auto}
  .header-call{flex:0 0 auto;margin-bottom:24px}
}

/* Home hero: a calmer, more readable composition on phones. */
@media(max-width:650px){
  .page-home .home-hero{overflow:hidden}
  .page-home .home-hero .hero-grid{
    gap:30px;
    padding:38px 0 30px;
  }
  .page-home .hero-copy{
    max-width:none;
  }
  .page-home .hero-copy .eyebrow{
    gap:8px;
    margin-bottom:16px;
    font-size:11px;
    line-height:1.45;
    letter-spacing:1.25px;
  }
  .page-home .hero-copy h1{
    max-width:560px;
    margin-bottom:20px;
    font-size:clamp(34px,9.4vw,42px);
    line-height:1.08;
    letter-spacing:-1.5px;
  }
  .page-home .hero-copy h1 br{display:none}
  .page-home .hero-copy h1 em{
    display:block;
    margin-top:4px;
  }
  .page-home .hero-copy .lead{
    max-width:560px;
    margin-bottom:26px;
    font-size:15px;
    line-height:1.75;
  }
  .page-home .hero-actions{
    gap:12px;
    margin-bottom:26px;
  }
  .page-home .hero-actions .button{
    min-height:54px;
    border-radius:16px;
  }
  .page-home .hero-actions .text-link{
    min-height:42px;
    font-size:15px;
  }
  .page-home .hero-points{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:0;
    padding:16px 18px;
    border:1px solid rgba(8,127,156,.12);
    border-radius:18px;
    background:rgba(255,255,255,.62);
  }
  .page-home .hero-points span{
    gap:9px;
    font-size:13px;
    line-height:1.45;
  }
  .page-home .hero-points .icon{
    width:17px;
    height:17px;
  }
}

@media(max-width:380px){
  .page-home .hero-copy h1{
    font-size:32px;
    letter-spacing:-1.1px;
  }
  .page-home .hero-copy .eyebrow{font-size:10px}
}

/* Brand assets */
.brand-logo{
  width:230px;
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
}
.brand-footer .brand-logo{
  width:270px;
  max-height:none;
}

@media(max-width:650px){
  .brand-logo{
    width:185px;
    max-height:56px;
  }
  .brand-footer .brand-logo{
    width:230px;
    max-height:none;
  }
}

@media(max-width:380px){
  .brand-logo{width:170px}
}