:root{
  --navy:#003462; --blue:#005DAC; --lightblue:#6999D1; --ink:#1A1D1F;
}
*{box-sizing:border-box;}
body{font-family:'Archivo',sans-serif;background:#FFFFFF;color:var(--ink);margin:0;overflow-x:hidden;}
.navy{color:var(--navy);}
.blue{color:var(--blue);}
.bg-blue{background:var(--blue);}
.bg-navy{background:var(--navy);}
.border-blue{border-color:var(--blue);}
::selection{background:var(--blue);color:#fff;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}

/* Fluid type + spacing: scales continuously as the viewport is resized, not just at breakpoints */
.fluid-container{max-width:1400px;margin:0 auto;padding-inline:clamp(1.25rem,4vw,2.5rem);}
.h1-fluid{font-size:clamp(2.1rem,1.2rem + 4vw,4.25rem);line-height:1.02;letter-spacing:-0.02em;}
.h2-fluid{font-size:clamp(1.6rem,1rem + 2vw,2.6rem);letter-spacing:-0.01em;}
.h3-fluid{font-size:clamp(1.2rem,.9rem + 1vw,1.6rem);letter-spacing:-0.01em;}
.lead-fluid{font-size:clamp(0.95rem,0.85rem + 0.3vw,1.05rem);}
.section-pad{padding-block:clamp(2.5rem,3vw + 1.5rem,6rem);}
.hero-pad-top{padding-top:clamp(2.5rem,2vw + 3rem,6.5rem);}
.hero-pad-top-sm{padding-top:clamp(1.75rem,1.5vw + 2rem,3.5rem);}

/* nav */
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:2px solid var(--blue);transition:box-shadow .35s;}
header.scrolled{box-shadow:0 6px 20px -12px rgba(0,52,98,.25);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px;transition:height .35s cubic-bezier(.16,1,.3,1);}
header.scrolled .nav-inner{height:62px;}
.nav-links{display:none;gap:32px;font-size:14px;font-weight:600;color:#4A4F54;}
.nav-links a{position:relative;transition:color .25s;}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--blue);transition:right .3s cubic-bezier(.16,1,.3,1);}
.nav-links a:hover{color:var(--blue);}
.nav-links a:hover::after{right:0;}
.nav-links a.active{color:var(--blue);}
.nav-links a.active::after{right:0;}

.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.menu-btn span{width:22px;height:2px;background:var(--navy);display:block;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s;}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-btn.open span:nth-child(2){opacity:0;}
.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-panel{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1);border-bottom:1px solid #E4E7EA;}
.mobile-panel.open{max-height:420px;}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}

/* service / category card hover */
.svc-card{transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s;background:#fff;border:2px solid #E4E7EA;padding:28px;}
.svc-card:hover{transform:translateY(-6px);border-color:var(--blue);box-shadow:0 16px 32px -18px rgba(0,52,98,.35);}
.svc-icon{transition:transform .35s cubic-bezier(.16,1,.3,1);width:44px;height:44px;background:rgba(0,93,172,.1);border:2px solid var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.svc-card:hover .svc-icon{transform:scale(1.12) rotate(-4deg);}

/* hero image ken burns */
.hero-img{transform:scale(1.06);transition:transform 6s cubic-bezier(.16,1,.3,1);}
.hero-img.zoomed{transform:scale(1);}

.btn-primary{transition:transform .25s cubic-bezier(.16,1,.3,1),filter .25s;display:inline-flex;align-items:center;}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08);}
.btn-primary:active{transform:translateY(0) scale(.98);}

.stat-pop{transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .5s;}

.divide-row > div{border-right:1px solid rgba(255,255,255,.15);}
.divide-row > div:last-child{border-right:none;}

/* USP value cards — interactive hover reveal */
.value-card{position:relative;padding:32px 26px;border:1px solid rgba(255,255,255,.14);overflow:hidden;cursor:default;transition:border-color .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),background .35s;}
.value-card:hover,.value-card:focus-within{border-color:var(--blue);background:rgba(0,93,172,.12);transform:translateY(-6px);}
.value-card .value-num{position:absolute;top:14px;right:18px;font-size:13px;font-weight:900;color:rgba(255,255,255,.18);transition:color .35s;}
.value-card:hover .value-num{color:rgba(105,153,209,.5);}
.value-icon{width:44px;height:44px;border:2px solid var(--lightblue);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .35s;}
.value-card:hover .value-icon{transform:scale(1.14) rotate(-6deg);background:var(--blue);}
.value-card:hover .value-icon i{color:#fff !important;}
.value-desc{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1),opacity .3s,margin-top .4s;margin-top:0;}
.value-card:hover .value-desc,.value-card:focus-within .value-desc{max-height:80px;opacity:1;margin-top:10px;}
.value-bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--lightblue);transition:width .4s cubic-bezier(.16,1,.3,1);}
.value-card:hover .value-bar{width:100%;}

.breadcrumb{font-size:13px;color:#8B9096;}
.breadcrumb a{color:var(--blue);}
.breadcrumb a:hover{text-decoration:underline;}

@media (min-width:860px){
  .nav-links{display:flex;}
  .cta-btn{display:inline-flex !important;}
  .menu-btn{display:none !important;}
}
@media (max-width:859px){
  .menu-btn{display:flex;}
}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .hero-img{transform:none;transition:none;}
}
