@font-face{font-family:'EurostileExtended';src:url('fonts/eurostile-extended-black.woff2') format('woff2'),url('fonts/eurostile-extended-black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap;}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --accent:#1B6CA8;--accent-deep:#155a8a;--accent-light:#4A9FD4;
  --navy:#0a1628;--white:#FFFFFF;--off:#F4F7FA;--off2:#EEF2F7;
  --text:#1A1A1A;--sub:rgba(26,26,26,0.65);--faint:rgba(26,26,26,0.32);
  --border:rgba(0,0,0,0.08);--border-blue:rgba(27,108,168,0.14);
  --font-logo:'EurostileExtended','Arial Black',sans-serif;
  --font-site:'Krona One',sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --hh:80px;--hh-sm:58px;--px:48px;
  --sh-sm:0 1px 4px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);
  --sh-md:0 4px 24px rgba(0,0,0,0.08),0 1px 4px rgba(0,0,0,0.04);
  --sh-blue:0 4px 20px rgba(27,108,168,0.22);
  --sh-blue-lg:0 10px 36px rgba(27,108,168,0.36);
  --ease:cubic-bezier(0.22,1,0.36,1);
}

html{scroll-behavior:smooth;}
html,body{width:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;background:var(--white);}
body{font-family:var(--font-site);}

@keyframes pageIn{from{opacity:0;}to{opacity:1;}}
body{animation:pageIn 0.55s ease both;}

/* ── PROGRESS BAR ── */
#scroll-prog{position:fixed;top:0;left:0;z-index:2000;height:2px;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-light));pointer-events:none;transition:width 0.1s linear;}

/* ── REVEAL SYSTEM ── */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 0.75s var(--ease),transform 0.75s var(--ease);}
[data-reveal="left"]{transform:translateX(-30px);}
[data-reveal="right"]{transform:translateX(30px);}
[data-reveal].on{opacity:1;transform:none;}
[data-stagger]>*{opacity:0;transform:translateY(22px);transition:opacity 0.65s var(--ease),transform 0.65s var(--ease);}
[data-stagger].on>*:nth-child(1){transition-delay:0s;}
[data-stagger].on>*:nth-child(2){transition-delay:0.08s;}
[data-stagger].on>*:nth-child(3){transition-delay:0.16s;}
[data-stagger].on>*:nth-child(4){transition-delay:0.24s;}
[data-stagger].on>*:nth-child(5){transition-delay:0.32s;}
[data-stagger].on>*:nth-child(6){transition-delay:0.40s;}
[data-stagger].on>*{opacity:1;transform:none;}

/* ── TYPE UTILS ── */
.eyebrow{display:flex;align-items:center;gap:14px;}
.eyebrow-bar{width:28px;height:1.5px;background:var(--accent);flex-shrink:0;}
.eyebrow-text{font-family:var(--font-body);font-weight:600;font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--accent);}
.sec-title{font-family:var(--font-site);font-size:clamp(26px,3.2vw,44px);text-transform:uppercase;letter-spacing:0.3px;color:var(--text);line-height:1.05;}
.sec-title span{color:var(--accent);}
.sec-sub{font-family:var(--font-body);font-size:15px;line-height:1.8;color:var(--sub);}
.grad{background:linear-gradient(135deg,#1B6CA8 0%,#4A9FD4 52%,#155a8a 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* ── BUTTONS ── */
.btn-primary{font-family:var(--font-site);font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:#fff;background:var(--accent);border:2px solid var(--accent);border-radius:100px;padding:14px 30px;text-decoration:none;display:inline-block;white-space:nowrap;cursor:pointer;transition:background 0.2s,border-color 0.2s,transform 0.15s,box-shadow 0.25s;box-shadow:var(--sh-blue);}
.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-2px);box-shadow:var(--sh-blue-lg);}
@keyframes btnPulse{0%,100%{box-shadow:var(--sh-blue);}60%{box-shadow:0 4px 28px rgba(27,108,168,0.52),0 0 0 8px rgba(27,108,168,0.09);}}
.btn-primary{animation:btnPulse 3s ease-in-out infinite;}
.btn-primary:hover,.btn-primary:focus{animation:none;}
.btn-outline{font-family:var(--font-site);font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);background:transparent;border:1.5px solid var(--accent);border-radius:100px;padding:14px 30px;text-decoration:none;display:inline-block;white-space:nowrap;cursor:pointer;transition:border-color 0.2s,color 0.2s,background 0.2s,transform 0.15s;}
.btn-outline:hover{border-color:var(--accent-deep);color:var(--accent-deep);background:rgba(27,108,168,0.05);transform:translateY(-2px);}
.btn-ghost{font-family:var(--font-site);font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.82);background:transparent;border:1.5px solid rgba(255,255,255,0.30);border-radius:100px;padding:14px 30px;text-decoration:none;display:inline-block;white-space:nowrap;cursor:pointer;transition:border-color 0.2s,color 0.2s,background 0.2s,transform 0.15s;}
.btn-ghost:hover{border-color:rgba(255,255,255,0.82);color:#fff;background:rgba(255,255,255,0.09);transform:translateY(-2px);}
.btn-dl{display:inline-flex;align-items:center;gap:8px;}
.btn-dl svg{width:15px;height:15px;flex-shrink:0;}
.cta-strip .btn-primary{background:#fff;color:var(--accent);border-color:#fff;box-shadow:0 4px 20px rgba(0,0,0,0.15);animation:none;}
.cta-strip .btn-primary:hover{background:rgba(255,255,255,0.93);box-shadow:0 10px 32px rgba(0,0,0,0.20);}
.cta-strip .btn-outline{border-color:rgba(255,255,255,0.38);color:rgba(255,255,255,0.85);}
.cta-strip .btn-outline:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.10);}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px;}

/* ── HEADER ── */
#header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--hh);padding:0 var(--px);display:flex;align-items:center;justify-content:space-between;transition:height 0.35s,background 0.35s,box-shadow 0.35s,backdrop-filter 0.35s;background:transparent;}
#header.light-bg{background:var(--white);border-bottom:1px solid var(--border-blue);}
#header.light-bg.scrolled,#header.scrolled{height:var(--hh-sm);background:rgba(255,255,255,0.97);box-shadow:0 1px 0 var(--border-blue),0 4px 28px rgba(0,0,0,0.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
#header.light-bg.scrolled{border-bottom-color:transparent;}
.h-brand{text-decoration:none;flex-shrink:0;z-index:1;display:flex;flex-direction:column;gap:3px;}
.h-wordmark{font-family:var(--font-logo);font-weight:900;font-size:24px;letter-spacing:3.5px;color:var(--accent);text-transform:uppercase;line-height:1;white-space:nowrap;transition:font-size 0.35s,color 0.35s;}
.h-tagline{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#1B6CA8;line-height:1;transition:color 0.35s,font-size 0.35s;}
a.h-brand:visited .h-tagline,a.h-brand:link .h-tagline{color:#1B6CA8;}
#header.dark-hero .h-wordmark{color:#fff;}
#header.dark-hero .h-tagline{color:rgba(255,255,255,0.45)!important;}
#header.dark-hero.scrolled .h-wordmark{color:var(--accent);}
#header.dark-hero.scrolled .h-tagline{color:#1B6CA8!important;}
#header.scrolled .h-wordmark{font-size:19px;}
#header.scrolled .h-tagline{font-size:7px;}
.h-nav{display:flex;align-items:center;gap:36px;position:absolute;left:50%;transform:translateX(-50%);z-index:1;}
.h-nav a{font-family:var(--font-site);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(26,26,26,0.60);text-decoration:none;position:relative;padding-bottom:3px;transition:color 0.2s;}
#header.dark-hero .h-nav a{color:rgba(255,255,255,0.65);}
#header.dark-hero.scrolled .h-nav a{color:rgba(26,26,26,0.60);}
.h-nav a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.25s;}
.h-nav a:hover,.h-nav a.active{color:#1A1A1A;}
#header.dark-hero .h-nav a:hover,#header.dark-hero .h-nav a.active{color:#fff;}
#header.dark-hero.scrolled .h-nav a:hover,#header.dark-hero.scrolled .h-nav a.active{color:#1A1A1A;}
.h-nav a:hover::after,.h-nav a.active::after{transform:scaleX(1);}
.h-cta{z-index:1;flex-shrink:0;display:flex;align-items:center;gap:0;}
.h-btn-dl{font-family:var(--font-site);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border:1.5px solid rgba(27,108,168,0.32);border-radius:100px;padding:9px 18px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin-right:10px;line-height:1;transition:border-color 0.2s,background 0.2s,transform 0.15s;}
.h-btn-dl svg{width:14px;height:14px;flex-shrink:0;}
.h-btn-dl:hover{border-color:var(--accent);background:rgba(27,108,168,0.06);transform:translateY(-1px);}
#header.dark-hero .h-btn-dl{color:rgba(255,255,255,0.80);border-color:rgba(255,255,255,0.24);}
#header.dark-hero .h-btn-dl:hover{border-color:rgba(255,255,255,0.65);background:rgba(255,255,255,0.08);}
#header.dark-hero.scrolled .h-btn-dl{color:var(--accent);border-color:rgba(27,108,168,0.32);}
.h-btn{font-family:var(--font-site);font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:100px;padding:9px 20px;text-decoration:none;display:inline-block;white-space:nowrap;transition:background 0.2s,transform 0.15s;box-shadow:0 2px 14px rgba(27,108,168,0.24);}
.h-btn:hover{background:var(--accent-deep);transform:translateY(-1px);}
.h-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:1;background:none;border:none;padding:4px;}
.h-burger span{display:block;width:22px;height:1.5px;background:rgba(26,26,26,0.65);transition:all 0.28s;transform-origin:center;}
#header.dark-hero .h-burger span{background:rgba(255,255,255,0.80);}
#header.dark-hero.scrolled .h-burger span{background:rgba(26,26,26,0.65);}
.h-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.h-burger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.h-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-nav{display:block;position:fixed;top:var(--hh);left:0;right:0;background:#fff;border-top:1px solid rgba(27,108,168,0.12);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 0.22s ease,transform 0.22s ease;z-index:999;box-shadow:0 8px 32px rgba(0,0,0,0.12);}
.mobile-nav.open{opacity:1;transform:translateY(0);pointer-events:auto;}
#header.scrolled+.mobile-nav{top:var(--hh-sm);}
.mobile-nav a{display:block;font-family:var(--font-site);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(26,26,26,0.65);text-decoration:none;padding:16px 32px;border-bottom:1px solid rgba(0,0,0,0.06);transition:color 0.2s,background 0.2s;}
.mobile-nav a:hover{color:#1A1A1A;background:rgba(27,108,168,0.03);}
.mobile-nav a.active{color:var(--accent);background:rgba(27,108,168,0.05);border-left:2px solid var(--accent);padding-left:30px;}
.mobile-nav .mob-cta{margin:14px 24px 16px;text-align:center;background:var(--accent);color:#fff !important;border-radius:100px;}

/* ── CTA STRIP ── */
.cta-strip{background:var(--accent);padding:88px var(--px);text-align:center;position:relative;overflow:hidden;}
.cta-strip::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,rgba(74,159,212,0.18),transparent 65%);pointer-events:none;}
.cta-strip h2{font-family:var(--font-site);font-size:clamp(28px,3.5vw,52px);text-transform:uppercase;color:#fff;letter-spacing:0.3px;margin-bottom:16px;position:relative;}
.cta-strip h2 span{color:rgba(255,255,255,0.55);}
.cta-strip p{font-family:var(--font-body);font-size:16px;color:rgba(255,255,255,0.70);margin-bottom:40px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.8;position:relative;}
.cta-strip-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;}

/* ── FOOTER ── */
.footer{background:var(--accent);padding:0 var(--px);}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:52px;padding:72px 0 56px;border-bottom:1px solid rgba(255,255,255,0.12);}
.foot-wm{font-family:var(--font-logo);font-weight:900;font-size:22px;letter-spacing:3.5px;color:#fff;text-transform:uppercase;text-decoration:none;display:block;margin-bottom:16px;}
.foot-desc{font-family:var(--font-body);font-size:13.5px;line-height:1.85;color:rgba(255,255,255,0.58);max-width:300px;margin-bottom:24px;}
.foot-markets{display:flex;flex-wrap:wrap;gap:6px;}
.foot-market{font-family:var(--font-body);font-size:10.5px;color:rgba(255,255,255,0.65);border:1px solid rgba(255,255,255,0.20);border-radius:100px;padding:4px 12px;}
.foot-col-h{font-family:var(--font-body);font-weight:600;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.42);margin-bottom:20px;}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
.foot-links a{font-family:var(--font-body);font-size:14px;color:rgba(255,255,255,0.70);text-decoration:none;transition:color 0.2s;}
.foot-links a:hover{color:#fff;}
.foot-contact-label{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.42);margin-bottom:4px;}
.foot-contact-val{font-family:var(--font-body);font-size:14px;color:rgba(255,255,255,0.70);text-decoration:none;transition:color 0.2s;display:block;margin-bottom:18px;}
.foot-contact-val:hover{color:#fff;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;flex-wrap:wrap;gap:12px;}
.foot-copy{font-family:var(--font-body);font-size:12px;color:rgba(255,255,255,0.40);}
.foot-copy span{color:rgba(255,255,255,0.60);font-weight:500;}
.foot-legal{display:flex;gap:24px;}
.foot-legal a{font-family:var(--font-body);font-size:12px;color:rgba(255,255,255,0.40);text-decoration:none;transition:color 0.2s;}
.foot-legal a:hover{color:rgba(255,255,255,0.85);}

/* ── TECH STACK ── */
.tech-stack{background:var(--off);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px var(--px);}
.tech-stack-inner{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.tech-label{font-family:var(--font-site);font-size:8.5px;letter-spacing:4px;text-transform:uppercase;color:rgba(26,26,26,0.30);white-space:nowrap;flex-shrink:0;}
.tech-sep{width:1px;height:18px;background:rgba(0,0,0,0.10);flex-shrink:0;}
.tech-items{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.tech-badge{font-family:var(--font-body);font-size:12px;color:rgba(26,26,26,0.65);background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:100px;padding:7px 15px;display:flex;align-items:center;gap:7px;transition:border-color 0.22s,color 0.22s,transform 0.22s,box-shadow 0.22s;white-space:nowrap;}
.tech-badge:hover{border-color:rgba(27,108,168,0.35);color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 14px rgba(27,108,168,0.10);}
.tech-badge svg{width:13px;height:13px;flex-shrink:0;}

/* ── DISC TICKER ── */
.disc-ticker{background:transparent;border-top:1px solid rgba(74,159,212,0.12);border-bottom:none;height:48px;display:flex;align-items:center;overflow:hidden;position:relative;z-index:5;}
.disc-ticker-inner{display:flex;gap:0;animation:ticker 22s linear infinite;white-space:nowrap;}
.ticker-item{font-family:var(--font-site);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:#4A9FD4;padding:0 32px;border-right:1px solid rgba(74,159,212,0.15);flex-shrink:0;}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── COOKIE BANNER ── */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--navy);border-top:1px solid rgba(74,159,212,0.18);box-shadow:0 -8px 32px rgba(0,0,0,0.28);transform:translateY(110%);transition:transform 0.45s cubic-bezier(0.22,1,0.36,1);pointer-events:none;}
.cookie-banner.visible{transform:translateY(0);pointer-events:auto;}
.cookie-inner{max-width:1280px;margin:0 auto;padding:18px 48px;display:flex;align-items:center;gap:32px;justify-content:space-between;}
.cookie-text{display:flex;flex-direction:column;gap:5px;}
.cookie-title{font-family:var(--font-site);font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#fff;margin-bottom:2px;}
.cookie-desc{font-family:var(--font-body);font-size:12.5px;color:rgba(255,255,255,0.52);line-height:1.55;max-width:620px;}
.cookie-desc a{color:var(--accent-light);text-decoration:none;border-bottom:1px solid rgba(74,159,212,0.30);}
.cookie-desc a:hover{border-bottom-color:var(--accent-light);}
.cookie-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.cookie-btn-decline{font-family:var(--font-site);font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.60);background:transparent;border:1px solid rgba(255,255,255,0.20);border-radius:100px;padding:9px 20px;cursor:pointer;transition:border-color 0.2s,color 0.2s;white-space:nowrap;}
.cookie-btn-decline:hover{border-color:rgba(255,255,255,0.50);color:#fff;}
.cookie-btn-accept{font-family:var(--font-site);font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:#fff;background:var(--accent);border:none;border-radius:100px;padding:10px 24px;cursor:pointer;transition:background 0.2s,transform 0.15s;white-space:nowrap;}
.cookie-btn-accept:hover{background:var(--accent-deep);transform:translateY(-1px);}

/* ── HEADER ENTRANCE ── */
#header{animation:headerIn 0.6s cubic-bezier(0.22,1,0.36,1) 0.1s both;}
@keyframes headerIn{from{transform:translateY(-100%);opacity:0;}to{transform:translateY(0);opacity:1;}}

/* ── CTA STRIP AMBIENT GLOW ── */
.cta-strip::before{animation:ctaGlow 12s ease-in-out infinite;}
@keyframes ctaGlow{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.35);opacity:0.70;}}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;}
  .disc-ticker-inner{animation:none!important;}
}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  :root{--px:28px;}
  .h-nav,.h-cta{display:none;}
  .h-burger{display:flex;}
  .h-tagline{font-size:9px;letter-spacing:1.5px;color:#1B6CA8;}
  .footer-top{grid-template-columns:1fr 1fr;gap:36px;}
}
@media(max-width:640px){
  :root{--px:20px;--hh:60px;--hh-sm:52px;}
  .h-wordmark{font-size:18px;letter-spacing:2px;}
  .h-tagline{font-size:8px;letter-spacing:1.5px;color:#1B6CA8;}
  .footer-top{grid-template-columns:1fr;padding:48px 0 36px;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
  .tech-label,.tech-sep{display:none;}
  .tech-stack{padding:16px var(--px);}
  .cookie-inner{flex-direction:column;align-items:flex-start;padding:16px 20px;gap:14px;}
  .cookie-actions{width:100%;justify-content:flex-end;}
}
