:root{
  --ease:cubic-bezier(0.22, 1, 0.36, 1);
  --bg:#FFFFFF; --s1:#F7F9FC; --s2:#EFF3F9; --bd:#DEE5EF;
  --ink:#111820; --mut:#5A6B7E; --acc:#00719E; --acc2:#145060; --gold:#C79200;
  --ov:0.66;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Geist,"Helvetica Neue",Helvetica,sans-serif;font-size:18px;line-height:1.62;font-weight:400;letter-spacing:-0.005em;text-wrap:pretty;overflow-x:hidden}
body.dys{font-family:Lexend,Geist,sans-serif;letter-spacing:0.01em;line-height:1.8}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-0.03em;line-height:1.06;text-wrap:balance}
p{margin:0}
a{color:var(--acc);text-decoration:none}
a:hover{color:#145060}
button{font-family:inherit;font-size:inherit}
::selection{background:rgba(0,128,184,.2)}
.pad{padding-left:clamp(20px,5vw,84px);padding-right:clamp(20px,5vw,84px)}
.wrap{max-width:1280px;margin:0 auto}
.mono{display:inline-flex;align-items:center;gap:11px;font-family:"Geist Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.mono::before{content:"";flex:0 0 auto;width:24px;height:1px;background:currentColor;opacity:.5}
a[href*="contact.html"],button[type="submit"]{transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease)}
a[href*="contact.html"]:hover,button[type="submit"]:hover{transform:translateY(-2px);filter:saturate(1.08) brightness(1.05)}
#prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--acc);z-index:81;pointer-events:none;opacity:.9}
.actionbar{display:none}
@media(max-width:768px){
  .actionbar{position:fixed;left:0;right:0;bottom:0;z-index:78;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid var(--bd)}
  body{padding-bottom:78px}
}
.chip-trust{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(244,248,253,.32);background:rgba(9,14,22,.42);font-size:14px;letter-spacing:-.01em}
.hero h1{color:#FFFFFF!important;text-shadow:0 2px 22px rgba(4,7,12,.72)}
.hero p{color:#F2F6FC!important;text-shadow:0 1px 14px rgba(4,7,12,.7)}
.hero .mono{color:#BCE4F7!important;text-shadow:0 1px 12px rgba(4,7,12,.8)}
.hero li,.hero span{color:#EDF3FA}
.ovl{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,12,20,.62) 0%,rgba(8,12,20,.56) 45%,rgba(255,255,255,.06) 100%)}
.ovl::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,12,20,.5) 0%,rgba(8,12,20,.26) 46%,rgba(8,12,20,0) 78%)}
.hero{color:#FFFFFF;position:relative;overflow:hidden;padding-top:clamp(140px,19vh,210px);padding-bottom:172px}
.bleed{position:relative;z-index:3;margin-top:-162px;padding-top:186px;background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.6) 52px,rgba(255,255,255,.95) 108px,var(--bg) 160px)}
@keyframes kb{0%{transform:scale(1.02) translate3d(0,0,0)}100%{transform:scale(1.16) translate3d(0,-2%,0)}}
.kb{animation:kb 30s var(--ease) infinite alternate}
@keyframes strikeH{0%{transform:rotate(-19deg)}42%{transform:rotate(0deg)}54%{transform:rotate(-4deg)}100%{transform:rotate(-19deg)}}
@keyframes sinkH{0%,42%{width:48px}52%,100%{width:28px}}
@keyframes tapH{0%,42%{transform:translateX(0) scale(.45);opacity:0}52%{transform:translateX(20px) scale(1);opacity:.55}80%,100%{transform:translateX(20px) scale(2);opacity:0}}
@keyframes ldrspin{to{transform:rotate(360deg)}}
@keyframes ldrbar{0%{transform:scaleX(.04)}55%{transform:scaleX(.72)}100%{transform:scaleX(1)}}
@keyframes headslide{0%,42%{transform:translateX(0)}52%,100%{transform:translateX(20px)}}
@keyframes dustL{0%,42%{transform:translate(0,0) scale(.2);opacity:0}52%{transform:translate(-13px,-15px) scale(1);opacity:.75}78%,100%{transform:translate(-26px,-30px) scale(.4);opacity:0}}
@keyframes dustR{0%,42%{transform:translate(0,0) scale(.2);opacity:0}52%{transform:translate(-11px,13px) scale(1);opacity:.75}78%,100%{transform:translate(-24px,28px) scale(.4);opacity:0}}
@keyframes capcycle{0%,26%{opacity:1;transform:translateY(0)}33%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes grainshift{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-2%,1%,0)}50%{transform:translate3d(1%,-2%,0)}75%{transform:translate3d(-1%,-1%,0)}100%{transform:translate3d(0,0,0)}}
.grain{position:fixed;inset:-12%;z-index:60;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-repeat:repeat;background-size:180px 180px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainshift 7s steps(5) infinite}
.rv{opacity:1}
.clip{clip-path:inset(0 0 0 0)}
.card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.card:hover,.card:focus-visible{transform:translateY(-6px);box-shadow:0 26px 54px -20px rgba(17,24,32,.2);border-color:#145060}
.ph{transition:transform .7s var(--ease)}
.card:hover .ph{transform:scale(1.06)}
.arw{display:inline-block;transition:transform .3s var(--ease)}
.card:hover .arw{transform:translateX(4px)}
.card:hover>span>span.tagpill{background:#FFFFFF}
.card:hover>span>span>span.arw{background:var(--acc);color:#FFFFFF}
.ul{position:relative;display:inline-block}
.ul::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease)}
.ul:hover::after,.ul:focus-visible::after{transform:scaleX(1)}
.ic{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--ink);cursor:pointer;border-radius:12px;min-width:44px;min-height:44px;transition:background .3s var(--ease),color .3s var(--ease)}
.ic:hover{background:rgba(0,128,184,.1);color:var(--acc2)}
.ic:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.cd{position:absolute;top:calc(100% + 10px);right:0;min-width:214px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.cw:hover .cd,.cw:focus-within .cd,.cw[data-open="1"] .cd{opacity:1;visibility:visible;transform:none}
.g3{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.split{display:grid;gap:clamp(32px,5vw,72px);grid-template-columns:1.05fr .95fr;align-items:center}
.only-mob{display:none!important}
.hdrow{min-width:0}
.hdrow>*{min-width:0}
nav.only-desk{min-width:0;flex-wrap:nowrap;overflow:visible}
.callpill:hover{background:rgba(0,128,184,.16);border-color:var(--acc)}
@media(max-width:1240px){.pnum{display:none!important}.callpill{width:44px;padding:0!important;gap:0!important}}
@media(max-width:1180px){.logo{height:78px!important}.navlinks{gap:16px!important;margin-left:18px!important}.navlinks a{font-size:15px!important}}
@media(max-width:1060px){.navlinks{gap:12px!important;margin-left:10px!important}.navlinks a{font-size:14px!important}.ctabtn{padding:0 14px!important;font-size:14px!important;margin-left:2px!important}}
@media(max-width:860px){.navlinks{gap:11px!important;margin-left:8px!important}.navlinks a{font-size:13.5px!important}.ctabtn{display:none!important}}
@media(max-width:1000px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.split{grid-template-columns:1fr}}
@media(max-width:1000px){[data-testimonials]{grid-template-columns:1fr!important;gap:32px!important}}
@media(max-width:700px){[data-award]{grid-template-columns:1fr!important;justify-items:start}}
@media(max-width:820px){.ctarow{grid-template-columns:1fr!important;align-items:start!important}}
@media(max-width:768px){
  .logo{height:58px!important}
  .g3,.g2{grid-template-columns:1fr}
  .only-mob{display:inline-flex!important}
  .only-desk{display:none!important}
  .hero{padding-bottom:150px}
  .bleed{margin-top:-142px;padding-top:164px}
}
.drawer{display:flex;flex-direction:column;align-items:center}
.drawer>*{width:100%;max-width:440px;margin-left:auto;margin-right:auto}
.mobile-menu a,.mobile-menu button{color:var(--ink)}
.mobile-menu .chip{color:var(--acc2);background:#FFFFFF;border:1px solid var(--acc)}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1!important;transform:none!important}
}
img,svg,video{max-width:100%}
@media(max-width:1024px){
  [style*="font-size:13px"],[style*="font-size:13.5px"],[style*="font-size:14px"],[style*="font-size:14.5px"],[style*="font-size:15px"],[style*="font-size:16px"],[style*="font-size:17px"]{font-size:18px!important}
  input,select,textarea,button,option{font-size:18px!important}
  .mono{font-size:18px!important;letter-spacing:.08em!important}
  .mono::before{width:18px}
  a,button,[role="menuitem"],summary{-webkit-tap-highlight-color:rgba(0,113,158,.16)}
  [role="menuitem"],.navlinks a,.footlinks a,.ul{min-height:44px;display:inline-flex;align-items:center}
  .cd{min-width:238px}
}
@media(max-width:768px){
  .drawer>*{max-width:none}
  h1,h2,h3{overflow-wrap:break-word}
  .card,.clip{will-change:auto}
}
@media(max-width:1024px) and (orientation:landscape){
  .hero{padding-top:clamp(112px,16vh,180px)}
}
[hidden]{display:none!important}
.acc-panel[hidden]{display:none!important}
