/* =========================================================
   HelixLoom Technologies — Site Stylesheet
   Theme: Navy / Orange / White — refined premium edition
   ========================================================= */

:root{
  /* Brand palette (names kept: pages reference these in inline styles) */
  --blue-950:#050e1f;
  --blue-900:#0a1628;
  --blue-800:#0d2040;
  --blue-700:#123166;
  --blue-600:#1a4fa3;
  --blue-500:#2563d6;
  --blue-400:#5b8def;
  --blue-100:#e9f0fc;
  --blue-50:#f4f7fd;

  --orange-700:#b5470a;
  --orange-600:#d95d0f;
  --orange-500:#ef6f17;
  --orange-400:#ff9a4d;
  --orange-100:#fff3e8;

  --white:#ffffff;
  --gray-50:#f7f9fc;
  --gray-100:#eef1f6;
  --gray-200:#e3e8f0;
  --gray-300:#cfd7e3;
  --gray-400:#94a0b4;
  --text-dark:#0b1730;
  --text-muted:#56637a;
  --line:rgba(11,23,48,.08);
  --line-dark:rgba(255,255,255,.10);

  --font-head:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;

  --shadow-xs:0 1px 2px rgba(11,23,48,.05);
  --shadow-sm:0 1px 2px rgba(11,23,48,.04),0 4px 14px rgba(11,23,48,.05);
  --shadow-md:0 2px 4px rgba(11,23,48,.04),0 14px 34px rgba(11,23,48,.09);
  --shadow-lg:0 4px 10px rgba(11,23,48,.05),0 28px 60px rgba(11,23,48,.14);

  --ease:cubic-bezier(.22,.8,.26,1);
  --container:1200px;

  --hero-bg:
    radial-gradient(1100px 620px at 78% -10%,rgba(37,99,214,.38),transparent 62%),
    radial-gradient(760px 480px at 0% 110%,rgba(239,111,23,.14),transparent 60%),
    linear-gradient(180deg,#0a1628 0%,#0b1a33 100%);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  color:var(--text-dark);
  background:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5{font-family:var(--font-head);margin:0 0 .5em;line-height:1.18;color:var(--blue-900);letter-spacing:-.02em;font-weight:700;}
h4{letter-spacing:-.01em;}
p{margin:0 0 1em;color:var(--text-muted);}
button{font-family:inherit;cursor:pointer;}
::selection{background:rgba(37,99,214,.18);}

:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px;border-radius:6px;}
.skip-link{
  position:fixed;left:16px;top:-60px;z-index:10000;padding:10px 16px;border-radius:var(--radius-sm);
  background:var(--white);color:var(--blue-900);font-weight:600;font-size:14px;box-shadow:var(--shadow-md);
  transition:top .2s;
}
.skip-link:focus{top:12px;}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
section{padding:112px 0;}
@media (max-width:768px){section{padding:72px 0;}.container{padding:0 16px;}}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange-600);margin-bottom:16px;font-family:var(--font-body);
}
.eyebrow::before{content:"";width:18px;height:1.5px;background:currentColor;display:inline-block;opacity:.8;}

.section-head{max-width:700px;margin-bottom:60px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head h2{font-size:clamp(28px,3.8vw,42px);line-height:1.15;}
.section-head p{font-size:17.5px;line-height:1.7;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:15px;line-height:1.3;
  border:1px solid transparent;letter-spacing:-.005em;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .25s,color .25s,border-color .25s;
  white-space:nowrap;
}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease);}
.btn:hover svg{transform:translateX(3px);}
.btn-primary{background:var(--blue-600);color:var(--white);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 1px 2px rgba(11,23,48,.14),0 8px 20px -6px rgba(26,79,163,.5);}
.btn-primary:hover{background:var(--blue-700);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 2px 4px rgba(11,23,48,.12),0 14px 28px -8px rgba(26,79,163,.55);}
.btn-accent{background:var(--orange-500);color:var(--white);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(11,23,48,.14),0 8px 20px -6px rgba(239,111,23,.55);}
.btn-accent:hover{background:var(--orange-600);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 4px rgba(11,23,48,.12),0 14px 28px -8px rgba(239,111,23,.6);}
.btn-outline{border-color:var(--gray-300);color:var(--blue-900);background:var(--white);box-shadow:var(--shadow-xs);}
.btn-outline:hover{border-color:var(--blue-500);color:var(--blue-600);transform:translateY(-2px);box-shadow:var(--shadow-sm);}
.btn-outline-white{border-color:rgba(255,255,255,.24);color:var(--white);background:rgba(255,255,255,.04);}
.btn-outline-white:hover{background:var(--white);border-color:var(--white);color:var(--blue-900);transform:translateY(-2px);}
.btn-sm{padding:10px 18px;font-size:13.5px;}

/* ---------- Header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:18px 0;
  transition:background-color .35s var(--ease),padding .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
  background:transparent;border-bottom:1px solid transparent;
}
.site-header.scrolled{
  background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);
  padding:10px 0;
  border-bottom-color:var(--line);
  box-shadow:0 6px 24px -12px rgba(11,23,48,.18);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;}
.brand .logo-img{height:34px;width:auto;transition:height .35s var(--ease),opacity .25s;}
.brand:hover .logo-img{opacity:.88;}
.site-header.scrolled .brand .logo-img{height:30px;}
footer .brand .logo-img{height:36px;}

.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav > ul{display:flex;align-items:center;gap:2px;}
.main-nav a.nav-link{
  display:flex;align-items:center;gap:6px;
  padding:9px 14px;border-radius:8px;font-weight:500;font-size:14.5px;
  position:relative;transition:color .25s,background-color .25s;
}
.has-dropdown > .nav-link::after{
  content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);opacity:.55;margin-left:2px;transition:transform .25s var(--ease);
}
.has-dropdown:hover > .nav-link::after{transform:translateY(0) rotate(225deg);}
.site-header.scrolled .nav-link{color:var(--text-dark);}
.site-header:not(.scrolled) .nav-link.on-dark{color:rgba(255,255,255,.86);}
.nav-link:hover,.nav-link.active{background:var(--blue-50);color:var(--blue-600)!important;}
.site-header:not(.scrolled) .nav-link.on-dark:hover,
.site-header:not(.scrolled) .nav-link.on-dark.active{background:rgba(255,255,255,.08);color:var(--white)!important;}

.has-dropdown{position:relative;}
.dropdown{
  position:absolute;top:calc(100% + 12px);left:-8px;min-width:290px;
  background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;
  border:1px solid var(--gray-200);
}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-dark);transition:background-color .2s,color .2s;}
.dropdown a:hover{background:var(--gray-50);color:var(--blue-600);}
.dropdown a .dot{width:6px;height:6px;border-radius:50%;background:var(--gray-300);flex-shrink:0;transition:background-color .2s;}
.dropdown a:hover .dot{background:var(--orange-500);}

/* Dropdown extras: section divider, "view all" links */
.dropdown .dd-sep{display:block;height:1px;background:var(--gray-200);margin:6px 10px;}
.dropdown .dd-label{display:flex!important;align-items:center;gap:8px;}
.dropdown a.dd-all{font-size:13.5px;font-weight:600;color:var(--blue-600);}
.dropdown a.dd-all:hover{color:var(--blue-700);}

/* Services mega menu: two columns + highlighted case-studies row */
.mega-col{min-width:0;}
.dropdown a.mega-feature{
  margin-top:8px;padding:14px 16px;gap:14px;border-radius:12px;
  background:linear-gradient(120deg,var(--blue-50),#fff 60%,var(--orange-100));
  border:1px solid var(--gray-200);
}
.dropdown a.mega-feature:hover{background:linear-gradient(120deg,var(--blue-100),#fff 60%,var(--orange-100));border-color:var(--gray-300);color:var(--text-dark);}
.mega-feature .mf-icon{width:38px;height:38px;border-radius:10px;background:var(--blue-900);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mega-feature .mf-icon svg{width:18px;height:18px;}
.mega-feature .mf-text{display:flex;flex-direction:column;line-height:1.35;min-width:0;}
.mega-feature .mf-text strong{color:var(--blue-900);font-size:14.5px;font-weight:700;}
.mega-feature .mf-text span{color:var(--text-muted);font-size:12.5px;font-weight:400;white-space:normal;}
.mega-feature .mf-arrow{margin-left:auto;color:var(--blue-600);font-size:13px;font-weight:600;white-space:nowrap;transition:transform .25s var(--ease);}
.mega-feature:hover .mf-arrow{transform:translateX(3px);}
@media (min-width:961px){
  .dropdown-mega{min-width:680px;left:50%;transform:translate(-50%,6px);padding:10px;}
  .has-dropdown:hover .dropdown-mega,.has-dropdown:focus-within .dropdown-mega{transform:translate(-50%,0);}
  .mega-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;}
  .mega-col + .mega-col{border-left:1px solid var(--gray-100);padding-left:10px;}
}
@media (max-width:960px){
  .mega-feature .mf-arrow{display:none;}
}

/* UAE flag (pure CSS, 2:1 ratio: red hoist band + green/white/black stripes) */
.flag-ae{
  display:inline-block;flex-shrink:0;width:22px;height:11px;border-radius:2px;vertical-align:-1px;
  background:linear-gradient(90deg,#ef3340 0 26%,transparent 26%),linear-gradient(180deg,#00843d 0 33.34%,#fff 33.34% 66.67%,#000 66.67%);
  box-shadow:0 0 0 1px rgba(11,23,48,.14);
}
.hero .flag-ae,.page-hero .flag-ae,footer .flag-ae,.site-header:not(.scrolled) .nav-link.on-dark .flag-ae{box-shadow:0 0 0 1px rgba(255,255,255,.35);}
.flag-ae.lg{width:28px;height:14px;}
.eyebrow.has-flag::before{display:none;}
footer h5 .flag-ae{margin-right:8px;vertical-align:0;}
.ei-band-tag .flag-ae{margin-right:7px;}

.header-cta{display:flex;align-items:center;gap:14px;}
.nav-toggle{display:none;background:none;border:none;width:42px;height:42px;border-radius:10px;align-items:center;justify-content:center;}
.nav-toggle span{display:block;position:relative;width:20px;height:1.5px;background:currentColor;}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:1.5px;background:currentColor;transition:transform .3s var(--ease);}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.site-header.scrolled .nav-toggle{color:var(--text-dark);}
.site-header:not(.scrolled) .nav-toggle.on-dark{color:var(--white);}

@media (max-width:960px){
  .main-nav{
    position:fixed;top:0;right:-100%;height:100vh;height:100dvh;width:min(340px,86vw);
    background:var(--white);flex-direction:column;align-items:stretch;
    padding:96px 20px 40px;box-shadow:var(--shadow-lg);
    transition:right .45s var(--ease);
    overflow-y:auto;
  }
  .main-nav.open{right:0;}
  .main-nav > ul{flex-direction:column;align-items:stretch;width:100%;gap:2px;}
  .main-nav .nav-link{color:var(--text-dark)!important;width:100%;justify-content:flex-start;gap:10px;font-size:15px;}
  .has-dropdown > .nav-link::after{margin-left:auto;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;margin:4px 0 8px 8px;border:none;background:var(--gray-50);min-width:0;}
  .dropdown::before{display:none;}
  .has-dropdown.open .dropdown{display:block;}
  .has-dropdown.open > .nav-link{background:var(--blue-50);color:var(--blue-600)!important;}
  .has-dropdown.open > .nav-link::after{transform:translateY(0) rotate(225deg);}
  .header-cta .btn-accent{display:none;}
  .nav-toggle{display:flex;position:relative;z-index:2;}
  .nav-toggle.is-open{color:var(--text-dark)!important;}
  .nav-toggle.is-open span{background:transparent;}
  .nav-toggle.is-open span::before{transform:translateY(6px) rotate(45deg);}
  .nav-toggle.is-open span::after{transform:translateY(-6px) rotate(-45deg);}
  .nav-backdrop{position:fixed;inset:0;background:rgba(5,14,31,.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;z-index:998;}
  .nav-backdrop.open{opacity:1;visibility:visible;}
}

/* Scroll progress (created by main.js) */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:1001;pointer-events:none;
  transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--blue-500),var(--orange-500));
}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;
  background:var(--hero-bg);
  overflow:hidden;color:var(--white);padding-top:132px;padding-bottom:96px;
}
.hero::after,.page-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
}
@keyframes heroGradientShift{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:center;}
@media (max-width:960px){.hero .container{grid-template-columns:minmax(0,1fr);text-align:center;}}
.hero-copy .eyebrow{color:var(--orange-400);}
@media (max-width:960px){.hero-copy .eyebrow::before{display:none;}}
.hero h1{color:var(--white);font-size:clamp(36px,5.2vw,60px);line-height:1.08;letter-spacing:-.03em;font-weight:700;}
.hero h1 .grad{background:linear-gradient(100deg,#ffb27a,var(--orange-500) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{color:rgba(255,255,255,.74);font-size:18px;line-height:1.7;max-width:540px;}
@media (max-width:960px){.hero p.lead{margin-inline:auto;}}
.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap;}
@media (max-width:960px){.hero-actions{justify-content:center;}}

.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px;}
.hero-visual::before{
  content:"";position:absolute;width:420px;height:420px;max-width:100%;border-radius:50%;
  background:radial-gradient(circle,rgba(37,99,214,.35),transparent 65%);filter:blur(10px);z-index:0;
}
.hero-visual > *{position:relative;z-index:1;}

.hero-bg-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000,transparent 75%);
  mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000,transparent 75%);
}

/* Hero entrance (on load, not on scroll) */
.js .hero-copy > *{animation:revealUp .9s var(--ease) backwards;}
.js .hero-copy > *:nth-child(2){animation-delay:.08s;}
.js .hero-copy > *:nth-child(3){animation-delay:.16s;}
.js .hero-copy > *:nth-child(4){animation-delay:.24s;}
.js .hero-copy > *:nth-child(n+5){animation-delay:.32s;}
.js .hero-visual > *{animation:revealUp 1s var(--ease) .3s backwards;}
.js .page-hero .container{animation:revealUp .9s var(--ease) backwards;}

/* ---------- Hero: animated dashboard visual ---------- */
.dash-enter{opacity:0;transform:translateY(28px);animation:dashCardIn .7s var(--ease) forwards;}
@keyframes dashCardIn{to{opacity:1;transform:translateY(0);}}
.dash-float{animation:dashFloatBob 7s ease-in-out infinite;}
@keyframes dashFloatBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

.dash-main-wrap{position:relative;z-index:2;}
.dash-main{
  width:300px;max-width:80vw;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.13);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;padding:22px 22px 18px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);text-align:left;
}
.dash-main-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--white);margin-bottom:18px;}
.dash-live-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;flex-shrink:0;animation:dashPulseDot 2.4s ease-out infinite;}
@keyframes dashPulseDot{0%{box-shadow:0 0 0 0 rgba(61,220,132,.55);}70%{box-shadow:0 0 0 8px rgba(61,220,132,0);}100%{box-shadow:0 0 0 0 rgba(61,220,132,0);}}
.dash-bars{display:flex;align-items:flex-end;gap:8px;height:70px;margin-bottom:12px;}
.dash-bars span{flex:1;background:linear-gradient(180deg,var(--blue-400),var(--blue-600));border-radius:4px 4px 2px 2px;height:0;animation:dashBarGrow 1s var(--ease) forwards;animation-delay:calc(.5s + var(--d, 0s));}
.dash-bars span:last-child{background:linear-gradient(180deg,var(--orange-400),var(--orange-600));}
@keyframes dashBarGrow{to{height:var(--h);}}
.dash-main-foot{font-size:12px;color:rgba(255,255,255,.55);}

.dash-chip-wrap{position:absolute;z-index:3;}
.dash-chip-wrap.chip-status{top:-6%;left:-10%;}
.dash-chip-wrap.chip-years{bottom:-8%;left:-6%;}
.dash-chip-wrap.chip-support{top:22%;right:-18%;}
.dash-chip{
  display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;padding:9px 15px;
  font-size:12.5px;font-weight:600;color:var(--white);white-space:nowrap;box-shadow:0 14px 30px rgba(0,0,0,.28);
}

@media (max-width:960px){
  .hero-visual{display:flex;flex-direction:column;gap:14px;align-items:center;}
  .dash-chip-wrap{position:static;top:auto;left:auto;right:auto;bottom:auto;}
}
.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.55);font-size:11px;letter-spacing:.14em;text-transform:uppercase;z-index:2;}
.scroll-cue .line{width:1px;height:34px;background:linear-gradient(var(--orange-400),transparent);animation:scrollLine 2s infinite;}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}50.1%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* Small page hero (non-home) */
.page-hero{
  position:relative;padding:176px 0 100px;color:var(--white);overflow:hidden;
  background:var(--hero-bg);
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 85% 20%,#000,transparent 75%);
  mask-image:radial-gradient(ellipse 60% 70% at 85% 20%,#000,transparent 75%);
}
.page-hero .container{position:relative;z-index:2;max-width:800px;}
.page-hero h1{color:var(--white);font-size:clamp(32px,4.6vw,50px);line-height:1.1;letter-spacing:-.03em;}
.page-hero p{color:rgba(255,255,255,.74);font-size:17.5px;max-width:640px;}
.page-hero .eyebrow{color:var(--orange-400);}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:20px;text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;}
.breadcrumb a{transition:color .2s;}
.breadcrumb a:hover{color:var(--white)!important;}
.breadcrumb span{color:rgba(255,255,255,.3);}
.page-hero .trust-badge{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07)!important;}
.page-hero .trust-badge svg{color:var(--orange-400);}

.hero-split{max-width:1200px!important;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;align-items:center;}
@media (max-width:860px){
  .hero-split{grid-template-columns:minmax(0,1fr);gap:32px;}
  .hero-split .service-visual{max-width:280px;margin:0 auto;aspect-ratio:1/1;}
}

/* ---------- Hero trust row & ERP strip (home) ---------- */
.hero-assure{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;}
@media (max-width:960px){.hero-assure{justify-content:center;}}
.hero-assure li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.72);}
.hero-assure svg{width:16px;height:16px;color:var(--orange-400);flex-shrink:0;}

.erp-strip{padding:36px 0;border-bottom:1px solid var(--line);background:var(--white);}
.erp-strip .container{display:flex;flex-direction:column;align-items:center;gap:18px;}
.erp-strip-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-400);margin:0;text-align:center;}
.erp-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 32px;}
.erp-list li{font-family:var(--font-head);font-weight:700;font-size:16px;letter-spacing:-.01em;color:#8a96aa;transition:color .25s;white-space:nowrap;}
.erp-list li:hover{color:var(--blue-900);}
@media (max-width:640px){.erp-list{gap:10px 20px;}.erp-list li{font-size:14.5px;}}
/* Live: ERP names glide past (main.js duplicates the list so the loop is seamless) */
.erp-marquee{width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.erp-list.is-marquee{flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content;animation:erpMarquee 34s linear infinite;}
.erp-list.is-marquee li{padding:0 26px;}
.erp-marquee:hover .erp-list.is-marquee{animation-play-state:paused;}
@keyframes erpMarquee{to{transform:translateX(-50%);}}

/* ---------- Data-handling commitments (home) ---------- */
.data-promise{
  position:relative;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;
  padding:56px;border-radius:var(--radius-lg);color:#fff;
  background:
    radial-gradient(600px 360px at 100% 0%,rgba(37,99,214,.35),transparent 65%),
    radial-gradient(420px 300px at 0% 100%,rgba(239,111,23,.14),transparent 65%),
    var(--blue-900);
  border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-lg);
}
.data-promise .eyebrow{color:var(--orange-400);}
.data-promise h2{color:#fff;font-size:clamp(26px,3.2vw,36px);}
.data-promise > div > p{color:rgba(255,255,255,.72);font-size:16.5px;}
.data-promise .text-link{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600;font-size:14.5px;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:border-color .25s;}
.data-promise .text-link:hover{border-color:var(--orange-400);}
.promise-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.promise-item{padding:22px 22px 20px;border-radius:var(--radius-md);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);transition:background-color .3s,border-color .3s;}
.promise-item:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);}
.promise-item .p-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(239,111,23,.14);color:var(--orange-400);margin-bottom:14px;}
.promise-item .p-icon svg{width:18px;height:18px;}
.promise-item h4{color:#fff;font-size:15.5px;margin-bottom:6px;}
.promise-item p{color:rgba(255,255,255,.66);font-size:14px;line-height:1.6;margin:0;}
@media (max-width:960px){.data-promise{grid-template-columns:1fr;padding:40px 28px;gap:32px;}}
@media (max-width:560px){.promise-list{grid-template-columns:1fr;}.data-promise{padding:32px 20px;}}

/* ---------- Stats ---------- */
.stats-strip{background:var(--blue-950);color:var(--white);padding:64px 0;position:relative;overflow:hidden;}
.stats-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 240px at 50% 0%,rgba(37,99,214,.22),transparent 70%);pointer-events:none;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center;position:relative;}
.stats-grid > .stat{padding:8px 24px;}
.stats-grid > .stat + .stat{border-left:1px solid var(--line-dark);}
@media (max-width:768px){
  .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:32px;}
  .stats-grid > .stat{padding:4px 12px;}
  .stats-grid > .stat:nth-child(odd){border-left:none;}
}
.stat h3{font-family:var(--font-head);font-size:clamp(30px,4vw,44px);color:var(--white);margin-bottom:6px;letter-spacing:-.03em;}
.stat p{color:rgba(255,255,255,.62);margin:0;font-size:14px;letter-spacing:.03em;text-transform:uppercase;font-weight:600;}

/* ---------- Cards: Services / Industries ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media (max-width:960px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr;}}

.icon-wrap{
  width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100);
  transition:background-color .35s,color .35s,border-color .35s;
}
.icon-wrap svg{width:22px;height:22px;}

.card{
  display:block;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);
  padding:32px 28px;box-shadow:var(--shadow-xs);position:relative;overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue-500),var(--orange-500));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.card:hover::before{transform:scaleX(1);}
.card .icon-wrap{margin-bottom:22px;}
.card .icon-wrap svg{width:22px;height:22px;}
.card:hover .icon-wrap{background:var(--blue-600);border-color:var(--blue-600);color:var(--white);}
.card h3{font-size:19px;margin-bottom:10px;}
.card p{font-size:15px;margin-bottom:0;}
.card .card-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:600;font-size:14px;color:var(--blue-600);}
.card .card-link svg{width:14px;height:14px;transition:transform .3s var(--ease);}
.card:hover .card-link svg{transform:translateX(4px);}
.card.num{font-weight:700;}
.card .idx{position:absolute;top:22px;right:24px;font-family:var(--font-head);font-size:30px;font-weight:700;color:var(--gray-100);transition:color .4s;}
.card:hover .idx{color:var(--blue-100);}

/* Industry card variant */
.industry-card{
  border-radius:var(--radius-md);overflow:hidden;background:var(--white);
  border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.industry-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.industry-card .media{
  height:140px;position:relative;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(260px 160px at 85% 0%,rgba(91,141,239,.45),transparent 70%),linear-gradient(135deg,var(--blue-800),var(--blue-900));overflow:hidden;
}
.industry-card:nth-child(even) .media{background:radial-gradient(260px 160px at 85% 0%,rgba(239,111,23,.38),transparent 70%),linear-gradient(135deg,var(--blue-800),var(--blue-900));}
.industry-card .media svg{width:46px;height:46px;color:#fff;position:relative;z-index:2;opacity:.95;transition:transform .5s var(--ease);}
.industry-card:hover .media svg{transform:scale(1.08);}
.industry-card .media .pattern{position:absolute;inset:0;opacity:.12;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:18px 18px;}
.industry-card .body{padding:26px 26px 30px;}
.industry-card h3{font-size:18px;}
.industry-card p{font-size:14.5px;margin-bottom:16px;}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;}
.tag-row span{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--gray-50);color:var(--blue-700);border:1px solid var(--gray-200);}
.industry-card .card-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:600;font-size:14px;color:var(--blue-600);}
.industry-card .card-link svg{width:14px;height:14px;transition:transform .3s var(--ease);}
.industry-card:hover .card-link svg{transform:translateX(4px);}

/* ---------- Service detail sections ---------- */
.service-tabs{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-bottom:56px;position:sticky;top:84px;z-index:50;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);padding:6px;border-radius:12px;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);}
.service-tabs button{background:none;border:none;padding:9px 16px;border-radius:8px;font-weight:600;font-size:13.5px;color:var(--text-muted);transition:background-color .25s,color .25s;white-space:nowrap;flex-shrink:0;}
.service-tabs button:hover{background:var(--gray-50);color:var(--blue-900);}
.service-tabs button.active{background:var(--blue-900);color:var(--white);}
@media (max-width:760px){
  .service-tabs{
    flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;
    max-width:calc(100% - 32px);top:66px;padding:6px;gap:4px;
    -ms-overflow-style:none;scrollbar-width:none;
  }
  .service-tabs::-webkit-scrollbar{display:none;}
  .service-tabs button{padding:8px 13px;font-size:12.5px;}

  .service-tabs.can-scroll-right{
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent 100%);
    mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent 100%);
  }
  .service-tabs.can-scroll-left{
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 100%);
  }
  .service-tabs.can-scroll-left.can-scroll-right{
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 36px),transparent 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 36px),transparent 100%);
  }
}

.service-block{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:72px 0;border-bottom:1px solid var(--gray-200);}
.service-block:last-child{border-bottom:none;}
.service-block:nth-child(even) .service-visual{order:2;}
@media (max-width:860px){.service-block{grid-template-columns:1fr;gap:32px;}.service-block:nth-child(even) .service-visual{order:0;}}
/* Unified navy visual (overrides older inline orange backgrounds for a calmer, more premium look) */
.service-visual{
  aspect-ratio:4/3;border-radius:var(--radius-lg);
  background:radial-gradient(70% 60% at 85% 10%,rgba(91,141,239,.42),transparent 70%),radial-gradient(60% 50% at 0% 100%,rgba(239,111,23,.22),transparent 70%),linear-gradient(140deg,var(--blue-800),var(--blue-950))!important;
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  border:1px solid rgba(11,23,48,.08);box-shadow:var(--shadow-md);
}
.service-visual::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:32px 32px;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 70%);
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 70%);
}
.service-block:nth-child(even) .service-visual{background:radial-gradient(70% 60% at 15% 10%,rgba(239,111,23,.32),transparent 70%),linear-gradient(140deg,var(--blue-800),var(--blue-950))!important;}
.service-visual svg{position:relative;width:38%;color:#fff;opacity:.95;filter:drop-shadow(0 10px 24px rgba(0,0,0,.3));}
.service-visual .ring{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;}
.service-visual .ring.r1{width:66%;height:66%;}
.service-visual .ring.r2{width:92%;height:92%;border-color:rgba(255,255,255,.08);}
.service-num{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--orange-600);letter-spacing:.14em;margin-bottom:12px;}
.service-copy h2{font-size:clamp(24px,3vw,34px);}
.service-copy ul{margin-top:22px;display:grid;gap:12px;}
.service-copy ul li{display:flex;gap:10px;font-size:15px;color:var(--text-dark);font-weight:500;}
.service-copy ul li svg{width:20px;height:20px;flex-shrink:0;color:var(--blue-500);margin-top:2px;}

/* ---------- Feature / value list ---------- */
.feature-row{display:flex;gap:20px;padding:26px 0;border-bottom:1px solid var(--gray-200);}
.feature-row:last-child{border-bottom:none;}
.feature-row .num{font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:.08em;color:var(--orange-600);min-width:40px;padding-top:3px;transition:color .3s;}
.feature-row:hover .num{color:var(--blue-600);}
.feature-row h4{margin-bottom:6px;font-size:17.5px;}
.feature-row p{margin:0;font-size:15px;}

/* ---------- Values (About) ---------- */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media (max-width:960px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.values-grid{grid-template-columns:1fr;}}
.value-card{text-align:center;padding:32px 20px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-200);transition:background-color .4s,border-color .4s,transform .4s var(--ease),box-shadow .4s;}
.value-card:hover{background:var(--blue-900);border-color:var(--blue-900);transform:translateY(-4px);box-shadow:var(--shadow-md);}
.value-card:hover h4{color:#fff;}
.value-card:hover p{color:rgba(255,255,255,.72);}
.value-card .icon-wrap{margin:0 auto 18px;background:var(--blue-50);}
.value-card:hover .icon-wrap{background:var(--orange-500);border-color:var(--orange-500);color:#fff;}

/* ---------- Engagement model strip ---------- */
.model-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
@media (max-width:960px){.model-strip{grid-template-columns:repeat(3,1fr);}}
@media (max-width:560px){.model-strip{grid-template-columns:repeat(2,1fr);}}
.model-chip{
  padding:24px 14px;text-align:center;border-radius:var(--radius-md);background:var(--white);
  border:1px solid var(--gray-200);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;
}
.model-chip:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.model-chip .icon-wrap{margin:0 auto 14px;width:44px;height:44px;}
.model-chip h4{font-size:13.5px;margin:0;}

/* ---------- Impact / trust tiles ---------- */
.impact-tile{
  background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);
  padding:30px 26px;box-shadow:var(--shadow-xs);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.impact-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.impact-tile .icon-wrap{margin-bottom:20px;}
.impact-tile h4{font-size:17px;margin-bottom:8px;}
.impact-tile p{font-size:14.5px;margin:0;}

/* ---------- Process timeline ---------- */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process-steps::before,.process-steps::after{content:"";position:absolute;top:26px;left:12.5%;right:12.5%;height:1px;z-index:0;}
.process-steps::before{background:var(--gray-200);}
.process-steps::after{background:linear-gradient(90deg,var(--blue-500),var(--orange-500));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .25s;}
.process-steps.is-visible::after,html:not(.js) .process-steps::after{transform:scaleX(1);}
.process-steps-3::before,.process-steps-3::after{left:16.66%;right:16.66%;}
@media (max-width:860px){.process-steps{grid-template-columns:1fr;gap:36px;}.process-steps::before,.process-steps::after{display:none;}}
.process-step{position:relative;z-index:1;text-align:center;padding:0 16px;}
@media (max-width:860px){.process-step{text-align:left;padding:0 0 0 68px;}}
.process-step .step-num{
  width:52px;height:52px;border-radius:50%;background:var(--white);border:1px solid var(--gray-300);color:var(--blue-600);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:16px;
  margin:0 auto 22px;box-shadow:0 0 0 6px var(--white),var(--shadow-sm);transition:background-color .35s,color .35s,border-color .35s;
}
.bg-soft .process-step .step-num{box-shadow:0 0 0 6px var(--gray-50),var(--shadow-sm);}
@media (max-width:860px){.process-step .step-num{position:absolute;left:0;top:0;margin:0;}}
.process-step:hover .step-num{background:var(--blue-900);color:#fff;border-color:var(--blue-900);}
.process-step h4{font-size:17px;margin-bottom:8px;}
.process-step p{font-size:14.5px;margin:0;}

/* ---------- Compare / challenge list ---------- */
.compare-list{display:grid;gap:12px;}
.compare-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:var(--white);border:1px solid var(--gray-200);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;}
.compare-item:hover{transform:translateX(3px);box-shadow:var(--shadow-sm);border-color:var(--gray-300);}
.compare-item .mark{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.compare-item.pain .mark{background:var(--orange-100);color:var(--orange-600);}
.compare-item.win .mark{background:var(--blue-100);color:var(--blue-600);}
.compare-item .mark svg{width:14px;height:14px;}
.compare-item p{margin:0;font-size:15px;color:var(--text-dark);font-weight:500;}

/* ---------- Trust badge row ---------- */
.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.trust-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);font-size:13px;font-weight:600;}
.trust-badge svg{width:15px;height:15px;}

/* ---------- CTA banner ---------- */
.cta-banner{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  max-width:calc(var(--container) - 48px);margin:0 auto;
  background:
    radial-gradient(640px 320px at 100% 0%,rgba(239,111,23,.30),transparent 65%),
    radial-gradient(720px 380px at 0% 100%,rgba(37,99,214,.40),transparent 65%),
    var(--blue-900);
  padding:80px 48px;text-align:center;color:#fff;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-lg);
}
.cta-banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 70%);
  mask-image:radial-gradient(ellipse at center,#000,transparent 70%);
}
.cta-banner > *{position:relative;}
@media (max-width:1248px){.cta-banner{margin:0 24px;}}
@media (max-width:640px){.cta-banner{padding:52px 22px;margin:0 16px;}}
.cta-banner h2{color:#fff;font-size:clamp(26px,3.6vw,40px);max-width:760px;margin-inline:auto;}
.cta-banner p{color:rgba(255,255,255,.76);max-width:580px;margin:0 auto 32px;font-size:17px;}
.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- Careers ---------- */
.job-card{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:26px 28px;border-radius:var(--radius-md);border:1px solid var(--gray-200);
  transition:border-color .3s,box-shadow .3s,transform .3s var(--ease);margin-bottom:14px;background:#fff;
}
.job-card:hover{border-color:var(--blue-400);box-shadow:var(--shadow-md);transform:translateX(3px);}
.job-card h4{margin:0 0 6px;font-size:17px;}
.job-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);font-weight:600;}
.job-meta span{display:flex;align-items:center;gap:5px;}
.job-meta svg{width:15px;height:15px;color:var(--orange-500);}

.perk-card{text-align:center;padding:34px 22px;}
.perk-card .icon-wrap{margin-inline:auto;}

/* ---------- Contact form ---------- */
.form-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:44px;box-shadow:var(--shadow-md);container-type:inline-size;}
@media (max-width:640px){.form-card{padding:26px 20px;}}
@media (min-width:641px) and (max-width:960px){.form-card{padding:32px 26px;}}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
@media (max-width:560px){.form-row{grid-template-columns:1fr;}}
/* Stack paired fields whenever the card itself is narrow (e.g. half-width column on tablets) */
@container (max-width:420px){.form-row{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:13.5px;font-weight:600;color:var(--blue-900);}
.field input,.field textarea,.field select{
  padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--gray-300);font-family:inherit;font-size:15px;color:var(--text-dark);
  background:#fff;transition:border-color .2s,box-shadow .2s;outline:none;box-shadow:var(--shadow-xs);
}
.field input::placeholder,.field textarea::placeholder{color:var(--gray-400);}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--gray-400);}
.field input[type="file"]{padding:10px 12px;font-size:13.5px;cursor:pointer;}
.field input[type="file"]::file-selector-button{
  padding:8px 14px;margin-right:12px;border:none;border-radius:8px;background:var(--blue-50);color:var(--blue-700);
  font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .25s,color .25s;
}
.field input[type="file"]::file-selector-button:hover{background:var(--blue-600);color:#fff;}
.field-hint{display:block;font-size:12.5px;color:var(--text-muted);}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(37,99,214,.14);}
.form-note{font-size:13px;color:var(--text-muted);margin-top:14px;}
.form-success{display:none;align-items:center;gap:10px;background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue-700);padding:14px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;margin-top:16px;}
.form-success.show{display:flex;}
.form-error{display:none;align-items:center;gap:10px;background:var(--orange-100);border:1px solid #ffe0c4;color:var(--orange-700);padding:14px 18px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;margin-top:16px;}
.form-error.show{display:flex;}
.btn[disabled]{opacity:.7;cursor:not-allowed;transform:none!important;}
.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---------- Footer ---------- */
footer{background:var(--blue-950);color:rgba(255,255,255,.66);padding:80px 0 0;position:relative;}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:52px;border-bottom:1px solid var(--line-dark);}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-brand .brand{color:#fff;}
.footer-brand p{margin-top:18px;font-size:14.5px;max-width:300px;color:rgba(255,255,255,.6);}
footer h5{color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;font-family:var(--font-body);}
footer .f-links li{margin-bottom:11px;}
footer .f-links a{font-size:14.5px;transition:color .25s;display:inline-block;}
footer .f-links a:hover{color:#fff;}
.f-contact li{display:flex;gap:10px;margin-bottom:14px;font-size:14.5px;align-items:flex-start;}
.f-contact a:hover{color:#fff;}
.f-contact svg{width:17px;height:17px;color:var(--orange-400);flex-shrink:0;margin-top:3px;}
.social-row{display:flex;gap:10px;margin-top:22px;}
.social-row a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;transition:background-color .3s,border-color .3s,transform .3s var(--ease);}
.social-row a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateY(-2px);}
.social-row svg{width:16px;height:16px;color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:13px;flex-wrap:wrap;gap:10px;color:rgba(255,255,255,.5);}
.footer-bottom a{transition:color .25s;}
.footer-bottom a:hover{color:#fff;}

.back-to-top{
  position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:12px;
  background:var(--blue-900);color:#fff;border:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);
  opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s,visibility .35s,transform .35s var(--ease),background-color .25s;z-index:900;
}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--blue-600);transform:translateY(-3px);}
.back-to-top svg{width:17px;height:17px;}

/* ---------- Reveal-on-scroll ----------
   Hidden state applies only when JS is running (html.js), so content is
   always visible without it. Uses animations with "backwards" fill so the
   elements' own hover transforms keep working once revealed. */
@keyframes revealUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.js .reveal:not(.is-visible),
.js .reveal-stagger:not(.is-visible) > *{opacity:0;}
.js .reveal.is-visible{animation:revealUp .8s var(--ease) backwards;}
.js .reveal-stagger.is-visible > *{animation:revealUp .75s var(--ease) backwards;animation-delay:calc(var(--i,0) * 80ms);}

.bg-soft{background:var(--gray-50);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.text-center{text-align:center;}
.mt-0{margin-top:0;}

/* Preloader removed from pages; kept hidden in case of cached markup */
.preloader{display:none!important;}

/* ---------- Case Studies ---------- */
.cs-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.cs-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:var(--white);font-size:12.5px;font-weight:600;}
.cs-badge.accent{background:rgba(239,111,23,.14);border-color:rgba(239,111,23,.36);color:var(--orange-400);}

.notice-box{display:flex;gap:16px;align-items:flex-start;padding:22px 24px;border-radius:var(--radius-md);background:var(--blue-50);border:1px solid var(--blue-100);margin:0 0 8px;}
.notice-box .icon-wrap{flex-shrink:0;width:38px;height:38px;border-radius:10px;background:var(--white);color:var(--blue-600);display:flex;align-items:center;justify-content:center;}
.notice-box .icon-wrap svg{width:19px;height:19px;}
.notice-box p{margin:0;font-size:14.5px;color:var(--blue-900);line-height:1.7;}
.notice-box strong{color:var(--blue-700);}
.notice-box.compliance{background:var(--orange-100);border-color:#ffe0c4;}
.notice-box.compliance .icon-wrap{color:var(--orange-600);border-color:#ffe0c4;}
.notice-box.compliance p{color:#5a3413;}
.notice-box.compliance strong{color:var(--orange-700);}

.cs-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:860px){.cs-summary-grid{grid-template-columns:1fr;}}
.cs-summary-tile{padding:26px 24px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);}
.cs-summary-tile .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-600);margin-bottom:10px;}
.cs-summary-tile p{margin:0;font-size:15px;color:var(--text-dark);}

.cs-list{margin:0;padding:0;list-style:none;display:grid;gap:12px;}
.cs-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--text-dark);line-height:1.6;}
.cs-list li svg{width:17px;height:17px;flex-shrink:0;margin-top:3px;color:var(--orange-500);}

.table-scroll{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);}
table.cs-table{width:100%;border-collapse:collapse;min-width:560px;background:var(--white);}
table.cs-table th{background:var(--blue-900);color:var(--white);text-align:left;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:14px 18px;white-space:nowrap;}
table.cs-table td{padding:14px 18px;font-size:14.5px;color:var(--text-dark);border-top:1px solid var(--gray-100);vertical-align:top;}
table.cs-table tr:nth-child(even) td{background:var(--gray-50);}

.stack-flow{display:grid;gap:8px;}
.stack-flow .stack-row{padding:16px 20px;border-radius:12px;background:var(--white);border:1px solid var(--gray-200);}
.stack-flow .stack-row .k{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600);margin-bottom:4px;}
.stack-flow .stack-row p{margin:0;font-size:14.5px;color:var(--text-dark);}
.stack-flow .stack-row.accent{background:linear-gradient(135deg,var(--blue-800),var(--blue-950));border-color:transparent;}
.stack-flow .stack-row.accent .k{color:var(--orange-400);}
.stack-flow .stack-row.accent p{color:rgba(255,255,255,.85);}

.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media (max-width:860px){.kpi-strip{grid-template-columns:repeat(2,1fr);}}
.kpi-chip{padding:22px 18px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);text-align:center;min-width:0;}
@media (max-width:480px){.kpi-chip{padding:18px 10px;}}
.kpi-chip .v{display:block;font-family:var(--font-head);font-size:clamp(17px,4.6vw,24px);overflow-wrap:anywhere;font-weight:700;letter-spacing:-.02em;color:var(--blue-700);}
.kpi-chip .l{display:block;font-size:12.5px;color:var(--text-muted);margin-top:4px;}

.case-study-card{display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:hidden;background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;}
.case-study-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.case-study-card .media{position:relative;height:108px;background:radial-gradient(260px 140px at 90% 0%,rgba(91,141,239,.45),transparent 70%),linear-gradient(135deg,var(--blue-800),var(--blue-900));display:flex;align-items:center;padding:0 24px;overflow:hidden;}
.case-study-card:nth-child(3n+2) .media{background:radial-gradient(260px 140px at 90% 0%,rgba(239,111,23,.38),transparent 70%),linear-gradient(135deg,var(--blue-800),var(--blue-900));}
.case-study-card:nth-child(3n) .media{background:radial-gradient(260px 140px at 10% 0%,rgba(91,141,239,.35),transparent 70%),linear-gradient(135deg,var(--blue-900),var(--blue-950));}
.case-study-card .media .pattern{position:absolute;inset:0;opacity:.1;background-image:radial-gradient(circle,#fff 1px,transparent 1px);background-size:16px 16px;}
.case-study-card .media span{position:relative;z-index:2;color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:6px 12px;border-radius:999px;}
.case-study-card .body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1;}
.case-study-card h3{font-size:17.5px;margin-bottom:8px;}
.case-study-card p{font-size:14.5px;color:var(--text-muted);margin-bottom:16px;flex:1;}
.case-study-card .card-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--blue-600);}
.case-study-card .card-link svg{width:14px;height:14px;transition:transform .3s var(--ease);}
.case-study-card:hover .card-link svg{transform:translateX(4px);}

.cs-quicknav{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;margin-bottom:56px;justify-content:center;box-shadow:var(--shadow-xs);}
.cs-quicknav a{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-muted);transition:background-color .25s,color .25s;}
.cs-quicknav a:hover{background:var(--blue-900);color:var(--white);}


/* =========================================================
   E-INVOICING ADDITIONS (Oct 2026)
   ========================================================= */

/* Header: fit seven menu items plus the button on mid-size screens */
.dropdown .dd-label{display:block;padding:8px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-400);}
.nav-mobile-cta{display:none;}
@media (min-width:961px) and (max-width:1260px){
  .main-nav a.nav-link{padding:8px 9px;font-size:13.5px;}
  .header-inner{gap:14px;}
  .header-cta .btn-sm{padding:9px 14px;font-size:12.5px;}
  .brand .logo-img{height:30px;}
}
@media (min-width:961px) and (max-width:1120px){
  .nav-contact{display:none!important;}
}
@media (max-width:960px){
  .nav-mobile-cta{display:block;margin-top:14px;}
  .nav-mobile-cta .btn{width:100%;justify-content:center;}
  .dropdown .dd-label{padding-top:10px;}
}

/* Home hero */
.hero-trust{margin-top:24px;font-size:13px;font-weight:500;letter-spacing:.01em;color:rgba(255,255,255,.6);}
.hero-alt{margin-top:18px;font-size:14.5px;color:rgba(255,255,255,.66);}
.hero-alt a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .25s;}
.hero-alt a:hover{border-bottom-color:var(--orange-400);}
.check-card{
  width:100%;max-width:380px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.13);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;padding:26px 26px 22px;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 80px -20px rgba(0,0,0,.55);text-align:left;color:#fff;
}
.check-card-head{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:600;font-size:15px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;letter-spacing:-.01em;}
.check-card-head::before{content:"";width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.16);flex-shrink:0;}
.check-card ul{display:grid;gap:4px;}
.check-card li{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.88);padding:9px 4px;border-radius:10px;}
.check-card .tick{width:22px;height:22px;border-radius:50%;background:rgba(239,111,23,.16);border:1px solid rgba(239,111,23,.4);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-card .tick svg{width:12px;height:12px;color:var(--orange-400);}
.check-card-foot{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:rgba(255,255,255,.55);}

/* Live: the checklist "scans" row by row on a loop — a soft sweep passes
   each row and its tick flashes, while a progress bar fills in the footer */
.check-card li{position:relative;overflow:hidden;}
.check-card li:nth-child(1){--n:0;}.check-card li:nth-child(2){--n:1;}.check-card li:nth-child(3){--n:2;}
.check-card li:nth-child(4){--n:3;}.check-card li:nth-child(5){--n:4;}.check-card li:nth-child(6){--n:5;}
.check-card li::after{
  content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
  transform:translateX(-100%);animation:rowSweep 7s var(--ease) infinite;animation-delay:calc(1.4s + var(--n) * .4s);
}
@keyframes rowSweep{0%{transform:translateX(-100%);}10%,100%{transform:translateX(100%);}}
.check-card .tick{animation:tickPop .5s var(--ease) backwards,tickFlash 7s ease-out infinite;animation-delay:calc(.5s + var(--n) * .1s),calc(1.6s + var(--n) * .4s);}
@keyframes tickPop{from{transform:scale(0);opacity:0;}}
@keyframes tickFlash{0%,9%,100%{background:rgba(239,111,23,.16);box-shadow:none;}4%{background:var(--orange-500);box-shadow:0 0 0 5px rgba(239,111,23,.18);}}
.check-card .tick svg{transition:color .2s;}
.scan-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.scan-bar .track{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;}
.scan-bar .track span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--blue-400),var(--orange-400));transform-origin:left;transform:scaleX(0);animation:scanFill 7s var(--ease) infinite 1.4s;}
@keyframes scanFill{0%{transform:scaleX(0);opacity:1;}36%{transform:scaleX(1);opacity:1;}85%{transform:scaleX(1);opacity:1;}100%{transform:scaleX(1);opacity:0;}}
.check-card-head::before{animation:livePulse 2.4s ease-out infinite;}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(61,220,132,.5);}70%{box-shadow:0 0 0 7px rgba(61,220,132,0);}100%{box-shadow:0 0 0 0 rgba(61,220,132,0);}}

/* Live: the glow behind the hero card slowly breathes */
.hero-visual::before{animation:glowBreathe 9s ease-in-out infinite alternate;}
@keyframes glowBreathe{from{transform:scale(.9);opacity:.75;}to{transform:scale(1.12);opacity:1;}}
@media (max-width:960px){.hero-visual{margin-top:8px;}.hero-visual::before{width:300px;height:300px;}}

/* Two ways band */
.two-ways{padding:96px 0;}
.two-ways .card{height:100%;padding:40px 36px;}
.two-ways .card h3{font-size:22px;}

/* Deadline tiles (static text, no counters) */
.stats-strip .stat h3{font-size:clamp(26px,3.2vw,38px);}
.stats-strip .stat p{text-transform:none;letter-spacing:0;font-weight:400;font-size:14.5px;line-height:1.55;max-width:240px;margin:0 auto;}
.stats-note{margin-top:36px;margin-bottom:0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.45);position:relative;}

/* Tags, packages, bands */
.tag-row-lg span{font-size:14px;padding:9px 16px;background:var(--white);color:var(--blue-900);font-weight:500;box-shadow:var(--shadow-xs);}
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media (max-width:960px){.pkg-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.pkg-grid{grid-template-columns:1fr;}}
.pkg-card{display:flex;flex-direction:column;padding:28px 24px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;}
.pkg-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue-500),var(--orange-500));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.pkg-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.pkg-card:hover::before{transform:scaleX(1);}
.pkg-card h4{font-size:18px;margin-bottom:6px;}
.pkg-card p{font-size:14.5px;margin:0;}
.pkg-price{font-weight:600;color:var(--orange-600)!important;font-size:12.5px!important;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px!important;}
.small-print{font-size:13px;color:var(--text-muted);margin-top:14px;}
.checklist-band{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:48px 52px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;}
.checklist-band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--orange-500),var(--blue-500));}
.checklist-band h2{font-size:clamp(22px,2.6vw,30px);}
.checklist-band p{margin:0;}
.checklist-band .btn{flex-shrink:0;}
@media (max-width:760px){.checklist-band{flex-direction:column;align-items:flex-start;padding:32px 24px;}}
.cta-alt{margin:24px auto 0!important;font-size:14.5px;}
.cta-alt a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.4);}
.cta-alt a:hover{border-bottom-color:var(--orange-400);}

/* Slim e-invoicing band on technology and industry pages */
.ei-band-wrap{padding:0 0 80px;}
.ei-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-radius:var(--radius-md);background:var(--orange-100);border:1px solid #ffe0c4;}
.ei-band p{margin:0;font-size:15px;color:#5a3413;}
.ei-band strong{color:var(--orange-700);}
.ei-band-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-700);margin-bottom:4px;}
.ei-band-actions{display:flex;gap:10px;flex-shrink:0;}
@media (max-width:760px){.ei-band{flex-direction:column;align-items:flex-start;}.ei-band-actions{flex-wrap:wrap;}}

/* Readiness page */
.pull-quote{margin:0;padding:32px 34px;border-left:3px solid var(--orange-500);background:var(--white);border-radius:0 var(--radius-md) var(--radius-md) 0;box-shadow:var(--shadow-sm);font-family:var(--font-head);font-size:clamp(18px,2vw,22px);line-height:1.5;color:var(--blue-900);letter-spacing:-.01em;}
.process-steps-3{grid-template-columns:repeat(3,1fr);}
@media (max-width:860px){.process-steps-3{grid-template-columns:1fr;}}

/* Services and pricing */
.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media (max-width:860px){.price-grid{grid-template-columns:1fr;}}
.price-card{display:flex;flex-direction:column;padding:34px 32px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);scroll-margin-top:110px;transition:box-shadow .4s var(--ease),border-color .4s;}
.price-card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300);}
.price-card-head{border-bottom:1px solid var(--gray-200);margin-bottom:18px;}
.price-card-head h3{font-size:21px;margin-bottom:6px;}
.price-card-list{display:grid;gap:10px;margin-bottom:24px;flex:1;}
.price-card-list li{font-size:15px;color:var(--text-muted);line-height:1.6;}
.price-card-list strong{color:var(--blue-900);}
.price-card .btn{align-self:flex-start;}
.addon{margin-top:24px;padding:20px 24px;border-radius:var(--radius-md);background:var(--gray-50);border:1px solid var(--gray-200);font-size:15px;color:var(--text-muted);}
.addon strong{color:var(--blue-900);}

/* FAQ */
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:10px;}
.faq-item{border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);box-shadow:var(--shadow-xs);transition:border-color .3s,box-shadow .3s;}
.faq-item:hover{border-color:var(--gray-300);}
.faq-item[open]{box-shadow:var(--shadow-sm);border-color:var(--gray-300);}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 60px 20px 24px;font-family:var(--font-head);font-weight:600;font-size:16.5px;color:var(--blue-900);position:relative;letter-spacing:-.01em;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  background:var(--gray-50);border:1px solid var(--gray-200);font-size:18px;line-height:1;color:var(--blue-600);font-weight:500;
}
.faq-item[open] summary::after{content:"\2212";background:var(--blue-900);border-color:var(--blue-900);color:#fff;}
.faq-body{padding:0 24px 22px;}
.faq-body p{margin:0;font-size:15.5px;}
.faq-body a,.prose a,.form-note a,.small-print a{color:var(--blue-600);font-weight:600;text-decoration:underline;text-decoration-color:rgba(37,99,214,.3);text-underline-offset:3px;}
.faq-body a:hover,.prose a:hover,.form-note a:hover,.small-print a:hover{text-decoration-color:currentColor;}

/* Forms */
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13.5px;color:var(--text-muted);line-height:1.55;cursor:pointer;}
.consent input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--blue-600);}
.field .opt{font-weight:400;color:var(--gray-400);}
.form-card h3{font-size:21px;}
[hidden]{display:none!important;}

/* About: e-invoicing panel */
.ei-panel{margin-top:40px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:44px 48px;border-radius:var(--radius-lg);background:radial-gradient(600px 300px at 100% 0%,rgba(239,111,23,.22),transparent 65%),linear-gradient(120deg,var(--blue-900),var(--blue-800));color:#fff;scroll-margin-top:110px;box-shadow:var(--shadow-md);}
.ei-panel h2{color:#fff;font-size:clamp(22px,2.6vw,30px);}
.ei-panel p{color:rgba(255,255,255,.76);max-width:720px;}
.ei-panel .eyebrow{color:var(--orange-400);}
.ei-panel .btn{flex-shrink:0;}
@media (max-width:860px){.ei-panel{flex-direction:column;align-items:flex-start;padding:32px 24px;}}

/* Privacy notice */
.prose{max-width:760px;}
.prose h2{font-size:22px;margin-top:38px;}
.prose h2:first-child{margin-top:0;}
.prose ul{list-style:disc;padding-left:22px;margin:0 0 1em;color:var(--text-muted);}
.prose li{margin-bottom:6px;}

/* Footer: five columns and disclaimer */
.footer-grid.footer-grid-5{grid-template-columns:1.3fr 1fr 1.1fr .8fr 1.1fr;gap:32px;}
@media (max-width:1060px){.footer-grid.footer-grid-5{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:640px){.footer-grid.footer-grid-5{grid-template-columns:1fr 1fr;}}
@media (max-width:420px){.footer-grid.footer-grid-5{grid-template-columns:1fr;}}
.footer-disclaimer{margin:24px 0 0;font-size:12.5px;color:rgba(255,255,255,.42);max-width:820px;}

/* Grid children that hold wide tables */
.grid-2 > *,.grid-3 > *{min-width:0;}
.main-nav a.nav-link{white-space:nowrap;}
.form-row > *{min-width:0;}
.field input,.field select,.field textarea{width:100%;min-width:0;}
@media (max-width:960px){
  .site-header:not(.scrolled) .main-nav .nav-link.on-dark:hover,
  .site-header:not(.scrolled) .main-nav .nav-link.on-dark.active{background:var(--blue-50);color:var(--blue-600)!important;}
}

/* ---------- Explainer video ---------- */
/* Inline player (E-Invoicing overview) */
.video-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center;}
@media (max-width:960px){.video-split{grid-template-columns:minmax(0,1fr);gap:36px;}}
.video-copy .cs-list{margin-top:20px;}
.video-frame{
  position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;
  background:var(--blue-900);border:1px solid rgba(11,23,48,.08);box-shadow:var(--shadow-lg);
}
.video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:var(--blue-900);}
.video-play{
  position:absolute;inset:0;border:0;padding:0;cursor:pointer;color:#fff;text-align:left;
  display:flex;align-items:flex-end;justify-content:flex-start;
  background:linear-gradient(180deg,rgba(10,22,40,0) 45%,rgba(10,22,40,.72));
  transition:opacity .3s,visibility .3s;
}
.video-play .vp-icon{
  position:absolute;left:24px;bottom:22px;width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--orange-500);
  box-shadow:0 14px 30px rgba(0,0,0,.35);transition:transform .3s var(--ease),background-color .25s;
}
.video-play .vp-icon::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(239,111,23,.5);animation:playPulse 2.4s ease-out infinite;}
.video-play .vp-icon svg{width:26px;height:26px;margin-left:3px;}
.video-play .vp-label{margin:0 0 40px 104px;font-family:var(--font-head);font-weight:600;font-size:16px;letter-spacing:-.01em;}
.video-play .vp-label em{font-style:normal;font-weight:500;margin-left:8px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.14);font-size:12.5px;}
.video-play:hover .vp-icon{transform:scale(1.07);background:var(--orange-600);}
.video-frame.is-playing .video-play{opacity:0;visibility:hidden;}
@keyframes playPulse{0%{box-shadow:0 0 0 0 rgba(239,111,23,.5);}70%{box-shadow:0 0 0 16px rgba(239,111,23,0);}100%{box-shadow:0 0 0 0 rgba(239,111,23,0);}}
@media (max-width:560px){
  .video-play .vp-icon{left:16px;bottom:14px;width:52px;height:52px;}
  .video-play .vp-icon svg{width:22px;height:22px;}
  .video-play .vp-label{margin:0 0 28px 80px;font-size:14px;}
}

/* Home hero "Watch" button */
.watch-link{
  display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:6px 16px 6px 6px;
  border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);
  color:#fff;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;
  transition:background-color .25s,border-color .25s,transform .3s var(--ease);
}
.watch-link:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:translateY(-1px);}
.watch-link .wl-icon{position:relative;width:34px;height:34px;border-radius:50%;background:var(--orange-500);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.watch-link .wl-icon::before{content:"";position:absolute;inset:0;border-radius:50%;animation:playPulse 2.4s ease-out infinite;}
.watch-link .wl-icon svg{width:14px;height:14px;margin-left:2px;}
.watch-link em{font-style:normal;font-weight:500;color:rgba(255,255,255,.6);margin-left:4px;}

/* Pop-up player */
.video-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .3s var(--ease);}
.video-modal.open{opacity:1;}
.vm-backdrop{position:absolute;inset:0;background:rgba(5,14,31,.84);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.vm-dialog{position:relative;width:min(1040px,100%);transform:translateY(12px) scale(.97);transition:transform .35s var(--ease);}
.video-modal.open .vm-dialog{transform:none;}
.vm-frame{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 40px 100px rgba(0,0,0,.55);}
.vm-frame video{display:block;width:100%;height:100%;background:#000;}
.vm-close{position:absolute;top:-52px;right:0;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s;}
.vm-close:hover{background:rgba(255,255,255,.18);}
.vm-close svg{width:18px;height:18px;}
.vm-foot{margin:16px 0 0;text-align:center;color:rgba(255,255,255,.7);font-size:14.5px;}
.vm-foot a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.35);}
.vm-foot a:hover{border-bottom-color:var(--orange-400);}
@media (max-width:640px){.video-modal{padding:16px;}.vm-close{top:-50px;}}

/* ---------- Reduced motion: switch off all non-essential movement ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;}
  .js .reveal:not(.is-visible),.js .reveal-stagger:not(.is-visible) > *{opacity:1;}
  .check-card li::after,.scan-bar{display:none;}
  .erp-list.is-marquee{animation:none;}
}
