:root{
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --navy:#002747; --navy-deep:#00182c; --ink:#00121f;
  --red:#C11516; --cream:#FDF2D1; --slate:#7C94A1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{
  margin:0;background:var(--ink);color:var(--cream);
  font-family:"Geist","Geist Placeholder",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:18px;line-height:1.6;letter-spacing:.005em;
  text-wrap:pretty;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
h1,h2,h3,h4{margin:0;line-height:1.04;letter-spacing:-.022em;font-weight:600}
p{margin:0}
a{color:var(--cream);text-decoration:none}
a:hover{color:#fff}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--cream);outline-offset:3px;border-radius:2px}
::selection{background:var(--red);color:#fff}

/* ---------- motion primitives ---------- */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
[data-wipe]{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s var(--ease)}
[data-wipe].is-in{clip-path:inset(0 0 0 0)}
@keyframes kb{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.16) translate3d(0,-2%,0)}}
[data-kenburns]{animation:kb 30s var(--ease) infinite alternate;will-change:transform}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes wrench{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(14deg)}}
@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)}}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* underline wipe */
[data-ul]{position:relative;display:inline-block}
[data-ul]::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .45s var(--ease)}
[data-ul]:hover::after,[data-ul]:focus-visible::after{transform:scaleX(1)}

/* card hover */
[data-card]{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
[data-card]:hover{transform:translateY(-6px);box-shadow:0 30px 64px rgba(0,0,0,.55);border-color:var(--red)}
[data-zoom]{transition:transform .7s var(--ease)}
[data-card]:hover [data-zoom]{transform:scale(1.06)}
[data-arrow]{transition:transform .3s var(--ease)}
[data-card]:hover [data-arrow]{transform:translateX(4px)}
[data-lift]{transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease)}
[data-lift]:hover{transform:translateY(-3px)}

/* ---------- layout utilities ---------- */
[data-pad]{padding:112px 6vw}
section[id],article[id]{scroll-margin-top:130px}
[data-grid3]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
[data-grid2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
[data-split]{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center}
[data-desk]{display:flex}
@media (max-width:1024px){[data-grid3]{grid-template-columns:repeat(2,minmax(0,1fr))!important}[data-footgrid]{grid-template-columns:1fr 1fr!important}}
@media (max-width:900px){[data-split]{grid-template-columns:1fr!important}[data-statbar]{grid-template-columns:1fr!important;gap:26px!important}}
@media (max-width:700px){
  [data-pad]{padding:72px 22px}
  [data-grid3],[data-grid2]{grid-template-columns:1fr!important}
  [data-footgrid]{grid-template-columns:1fr!important}
}
@media (max-width:768px){[data-desk]{display:none!important}[data-mob]{display:flex!important}}
@media (min-width:769px){[data-mob]{display:none!important}}

/* ---------- fixed overlays ---------- */
#om-grain{position:fixed;inset:-10%;z-index:6;pointer-events:none;opacity:.04;
  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");
  background-repeat:repeat;animation:grainshift 8s steps(4,end) infinite;mix-blend-mode:soft-light}
#om-touch{position:fixed;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.om-glow{position:absolute;width:340px;height:340px;margin:-170px 0 0 -170px;pointer-events:none;
  background:radial-gradient(circle closest-side,rgba(255,215,0,.22),rgba(255,215,0,.10) 45%,rgba(255,215,0,0) 72%);
  filter:blur(14px);opacity:0;transform:scale(.6);transition:opacity .28s var(--ease),transform .45s var(--ease)}
.om-glow[data-on]{opacity:1;transform:scale(1)}
#om-fade{position:fixed;inset:0;z-index:990;pointer-events:none;background:var(--ink);opacity:0;transition:opacity .42s var(--ease)}
#om-fade[data-on]{opacity:1}
#om-loader{position:fixed;inset:0;z-index:995;display:grid;place-items:center;background:var(--ink);transition:opacity .45s var(--ease),visibility .45s}
#om-loader[data-off]{opacity:0;visibility:hidden}
#om-loader .gear{animation:spin 3.4s linear infinite;transform-origin:50% 50%}
#om-loader .wr{animation:wrench 1.15s var(--ease) infinite;transform-origin:76% 76%}

/* ---------- phones and small tablets ---------- */
@media (max-width:768px){
  #hdr{padding:10px 16px!important;gap:12px!important}
  #hdr img{width:58px!important}
  main>section:first-of-type{min-height:auto!important;padding-top:118px!important;padding-bottom:52px!important}
  main>section[data-screen-label]{padding-left:20px!important;padding-right:20px!important}
  main>section:first-of-type h1{font-size:clamp(31px,8.6vw,44px)!important}
  [data-pad]{padding:60px 20px!important}
  [data-parallax]{transform:none!important}
  [data-kenburns]{animation-duration:44s}
  section,article{background-attachment:scroll!important}
  #drawer{background:#001424!important;height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
  #drawer a,#drawer label,#drawer button{color:#FDF2D1}
  blockquote p{font-size:clamp(23px,6.4vw,30px)!important}
  h2{font-size:clamp(26px,7.4vw,36px)!important}
  h3{font-size:clamp(21px,5.6vw,25px)!important}
  iframe{height:320px}
}
@media (max-width:420px){
  #hdr img{width:52px!important}
  [data-pad]{padding:52px 18px!important}
  main>section[data-screen-label]{padding-left:18px!important;padding-right:18px!important}
}

/* header + panels default state */
#drawer,#search,#settings{display:none}
#drawer[data-open],#search[data-open],#settings[data-open]{display:block}
#contactMenu{display:none}
@media (max-width:1100px){[data-editorial]{grid-template-columns:1fr!important}[data-editorial]>p{justify-self:start!important;text-align:left!important;max-width:38ch!important}}
@media (min-width:769px) and (max-width:1240px){
  #hdr nav a{font-size:15px}
  #hdr nav>[data-desk]{gap:14px!important;margin-left:0!important}
  #hdr [data-desk] a[data-i18n="cta"]{padding:11px 15px!important;font-size:15px!important;margin-left:4px!important}
  #hdr [data-wordmark] span:first-child{font-size:14px}
}
@media (min-width:769px) and (max-width:1060px){
  #hdr{padding-left:16px!important;padding-right:16px!important;gap:10px!important}
  #hdr [data-wordmark]{display:none!important}
  #hdr img{width:56px!important}
  #hdr [data-desk]{gap:2px!important}
  #hdr [data-desk]>button{width:38px!important;height:38px!important}
  #hdr nav a{font-size:14px}
  #hdr nav>[data-desk]{gap:12px!important;margin-left:0!important}
  #hdr [data-desk] a[data-i18n="cta"]{padding:10px 12px!important;font-size:14px!important;margin-left:2px!important}
}
@media (max-width:768px){
  #hdr [data-wordmark]{display:block!important}
  #hdr [data-wordmark] span:first-child{font-size:14px}
  #hdr [data-wordmark] span:last-child{font-size:10px;letter-spacing:.2em}
}
@media (max-width:440px){
  #hdr a[aria-label]{gap:9px!important}
  #hdr [data-wordmark]{display:block!important;max-width:150px}
  #hdr [data-wordmark] span:first-child{font-size:12.5px}
  #hdr [data-wordmark] span:last-child{font-size:8.5px;letter-spacing:.16em}
}
[data-navlink][data-current]{color:#fff}
[data-navlink][data-current]::after{transform:scaleX(1);background:var(--red)}

[data-toggle][data-on="1"]{background:rgba(193,21,22,.55);border-color:#C11516}
[data-toggle][data-on="1"] span{transform:translateX(26px)}

/* testimonial / rotator */
[data-slider]{position:relative}
[data-slide]{position:absolute;inset:0;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-slide][data-on]{position:relative;opacity:1;transform:none;pointer-events:auto}
[data-dot]{transition:background .3s var(--ease),width .3s var(--ease)}

/* dyslexia-friendly font */
body[data-dys],body[data-dys] *{font-family:"Lexend","Geist",ui-sans-serif,system-ui,sans-serif!important;letter-spacing:.012em!important}
[data-speaking]{box-shadow:inset 0 -2px 0 var(--red)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  [data-wipe]{clip-path:none!important;transition:none!important}
  [data-kenburns],#om-grain{animation:none!important}
  [data-card]:hover,[data-lift]:hover{transform:none!important}
  [data-zoom],[data-arrow],[data-card],[data-lift],#om-fade{transition:none!important}
  [data-parallax]{transform:none!important}
}

/* hover / focus / pseudo states from the component build */
.st1::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,12,21,.88),rgba(0,12,21,.62));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.st2:hover{background:rgba(124,148,161,.18) !important}
.st3:hover{background:rgba(193,21,22,.22) !important}
.st4:hover{background:rgba(193,21,22,.22) !important}
.st5:hover{background:rgba(193,21,22,.22) !important}
.st6:hover{background:rgba(124,148,161,.18) !important}
.st7:hover{background:rgba(124,148,161,.18) !important}
.st8:hover{background:#d81a1b !important;color:#fff !important}
.st9:hover{background:rgba(124,148,161,.18) !important}
.st10:hover{background:rgba(124,148,161,.18) !important}
.st11:hover{background:rgba(124,148,161,.18) !important}
.st12:hover{border-color:#C11516 !important}
.st13:hover{border-color:#C11516 !important}
.st14:hover{background:#d81a1b !important;color:#fff !important}
.st15:hover{border-color:#FDF2D1 !important;background:rgba(253,242,209,.08) !important}
.st16:hover{background:rgba(0,18,31,.18) !important}
.st17::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,12,21,.88),rgba(0,12,21,.62));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.st18:hover{background:rgba(124,148,161,.18) !important}
.st19:hover{background:rgba(193,21,22,.22) !important}
.st20:hover{background:rgba(193,21,22,.22) !important}
.st21:hover{background:rgba(193,21,22,.22) !important}
.st22:hover{background:rgba(124,148,161,.18) !important}
.st23:hover{background:rgba(124,148,161,.18) !important}
.st24:hover{background:#d81a1b !important;color:#fff !important}
.st25:hover{background:rgba(124,148,161,.18) !important}
.st26:hover{background:rgba(124,148,161,.18) !important}
.st27:hover{background:rgba(124,148,161,.18) !important}
.st28:hover{border-color:#C11516 !important}
.st29:hover{border-color:#C11516 !important}
.st30::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,12,21,.88),rgba(0,12,21,.62));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.st31:hover{background:rgba(124,148,161,.18) !important}
.st32:hover{background:rgba(193,21,22,.22) !important}
.st33:hover{background:rgba(193,21,22,.22) !important}
.st34:hover{background:rgba(193,21,22,.22) !important}
.st35:hover{background:rgba(124,148,161,.18) !important}
.st36:hover{background:rgba(124,148,161,.18) !important}
.st37:hover{background:#d81a1b !important;color:#fff !important}
.st38:hover{background:rgba(124,148,161,.18) !important}
.st39:hover{background:rgba(124,148,161,.18) !important}
.st40:hover{background:rgba(124,148,161,.18) !important}
.st41:hover{border-color:#C11516 !important}
.st42:hover{border-color:#C11516 !important}
.st43:hover{background:#d81a1b !important;color:#fff !important}
.st44:hover{background:#d81a1b !important;color:#fff !important}
.st45:hover{background:#d81a1b !important;color:#fff !important}
.st46:hover{background:#d81a1b !important;color:#fff !important}
.st47:hover{background:#d81a1b !important;color:#fff !important}
.st48:hover{background:#d81a1b !important;color:#fff !important}
.st49:hover{background:#d81a1b !important;color:#fff !important}
.st50::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,12,21,.88),rgba(0,12,21,.62));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.st51:hover{background:rgba(124,148,161,.18) !important}
.st52:hover{background:rgba(193,21,22,.22) !important}
.st53:hover{background:rgba(193,21,22,.22) !important}
.st54:hover{background:rgba(193,21,22,.22) !important}
.st55:hover{background:rgba(124,148,161,.18) !important}
.st56:hover{background:rgba(124,148,161,.18) !important}
.st57:hover{background:#d81a1b !important;color:#fff !important}
.st58:hover{background:rgba(124,148,161,.18) !important}
.st59:hover{background:rgba(124,148,161,.18) !important}
.st60:hover{background:rgba(124,148,161,.18) !important}
.st61:hover{border-color:#C11516 !important}
.st62:hover{border-color:#C11516 !important}
.st63:hover{background:#d81a1b !important;color:#fff !important}
.st64:hover{background:#d81a1b !important;color:#fff !important}
.st65::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,12,21,.88),rgba(0,12,21,.62));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.st66:hover{background:rgba(124,148,161,.18) !important}
.st67:hover{background:rgba(193,21,22,.22) !important}
.st68:hover{background:rgba(193,21,22,.22) !important}
.st69:hover{background:rgba(193,21,22,.22) !important}
.st70:hover{background:rgba(124,148,161,.18) !important}
.st71:hover{background:rgba(124,148,161,.18) !important}
.st72:hover{background:#d81a1b !important;color:#fff !important}
.st73:hover{background:rgba(124,148,161,.18) !important}
.st74:hover{background:rgba(124,148,161,.18) !important}
.st75:hover{background:rgba(124,148,161,.18) !important}
.st76:hover{border-color:#C11516 !important}
.st77:hover{border-color:#C11516 !important}
.st78:hover{background:#d81a1b !important;color:#fff !important}
