/* ============================================================
   SANFORCE INTERNATIONAL — Design Tokens
   Palette derived from the brand mark:
     - Cross blue        -> corporate authority
     - Stethoscope green -> the "pulse" signature thread
     - Tagline orange    -> warmth / call to action
   ============================================================ */
:root{
  --color-primary:       #1C6EA4;
  --color-primary-dark:  #0B3A57;
  --color-primary-tint:  #EAF3F9;
  --color-green:         #5FA13B;
  --color-orange:        #E2622F;
  --color-ink:           #12181D;
  --color-ink-soft:      #4A555D;
  --color-paper:         #FFFFFF;
  --color-mist:          #F5F7F8;
  --color-line:          #E2E7EA;

  /* gradients lifted from the logo mark: glossy radial cross-blue,
     stethoscope green, and the warm orange tagline */
  --grad-blue:   linear-gradient(135deg, #4FB3E8 0%, #1C6EA4 52%, #0A3450 100%);
  --grad-blue-soft: linear-gradient(135deg, #63BEEE 0%, #1C6EA4 100%);
  --grad-blue-text: linear-gradient(120deg, #12669E 0%, #4FB3E8 55%, #1C6EA4 100%);
  --grad-green:  linear-gradient(135deg, #8FD15C 0%, #5FA13B 100%);
  --grad-warm:   linear-gradient(135deg, #F4A25C 0%, #E2622F 100%);
  --grad-multi:  linear-gradient(120deg, #4FB3E8 0%, #5FA13B 55%, #E2622F 100%);

  --font-display: 'Outfit', sans-serif;
  --font-body:    'Plus Jakarta Sans', sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  --container: 1240px;
  --radius-lg: 22px;
  --radius-md: 14px;
  --radius-sm: 8px;
}

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

/* Author rules like .btn{display:inline-flex} otherwise beat the browser's
   default [hidden]{display:none}, so toggled elements (e.g. the two
   sidebar buttons on group-details.html) end up stacked/visible together.
   This restores hidden as an always-wins state. */
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink);
  background:var(--color-paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }

.wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}
section{ position:relative; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--color-green);
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  width:22px; height:2px;
  border-radius:2px;
  background:var(--grad-multi);
}
.eyebrow.c-blue,
.eyebrow.c-orange{ color:var(--color-green); }

h1,h2,h3,h4{
  font-family:var(--font-display);
  line-height:1.08;
  margin:0;
  letter-spacing:-0.01em;
  color:var(--color-ink);
}
h2{ font-size:clamp(28px,3.4vw,44px); }
h3{ font-size:20px; }
p{ line-height:1.7; color:var(--color-ink-soft); margin:0; }

.section-head{
  max-width:640px;
  margin-bottom:56px;
}
.section-head p{ margin-top:16px; font-size:16.5px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* section titles — always the blue gradient, subtitle (eyebrow) stays green */
.section-head .eyebrow + h2{
  background:var(--grad-blue-text);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* subtle infinite gradient motion for small icons & button accents */
@keyframes gradientFlow{
  0%,100%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
}
@keyframes ringPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(79,179,232,.35); }
  50%{ box-shadow:0 0 0 3px rgba(79,179,232,0); }
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 26px;
  border-radius:100px;
  font-size:14.5px;
  font-weight:600;
  border:1px solid transparent;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{
  background:var(--grad-blue-soft); background-size:220% 220%;
  color:#fff; box-shadow:0 10px 24px -10px rgba(28,110,164,.55);
  animation:gradientFlow 6s ease-in-out infinite;
}
.btn-primary:hover{ background:var(--grad-blue); box-shadow:0 14px 28px -10px rgba(28,110,164,.65); }
.btn-ghost{
  position:relative;
  background:
    linear-gradient(#fff,#fff) padding-box,
    var(--grad-multi) border-box;
  background-size:100% 100%, 220% 220%;
  border:1.5px solid transparent;
  color:var(--color-ink);
  animation:gradientFlow 7s ease-in-out infinite;
}
.btn-ghost:hover{ transform:translateY(-2px); }
.btn-on-dark{ border-color:rgba(255,255,255,.3); color:#fff; }
.btn-on-dark:hover{ border-color:#fff; background:rgba(255,255,255,.08); }

/* ---------------- NAV ---------------- */
.nav{
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  padding:20px 0;
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.nav.solid{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--color-line);
  padding:14px 0;
}
.nav .wrap{ max-width:1360px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.nav-brand{ display:flex; align-items:center; gap:10px; flex:none; }
.nav-brand img{ height:54px; width:auto; transition:height .3s ease, opacity .2s ease; }
.nav.solid .nav-brand img{ height:53px; }
.nav-brand .logo-white{ display:none; }
.nav-links{ display:flex; align-items:center; gap:clamp(12px,1.6vw,26px); flex-wrap:nowrap; }
.nav-links a{
  font-size:13.5px; font-weight:500; color:var(--color-ink);
  position:relative; padding:4px 0; white-space:nowrap;
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--grad-warm); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.nav-links a:hover::after{ transform:scaleX(1); }
.nav-links a.active{ color:var(--color-primary); }
.nav-links a.active::after{ transform:scaleX(1); background:var(--grad-blue-soft); }
.nav-cta{ display:flex; align-items:center; gap:14px; flex:none; }
.nav-cta .btn{ white-space:nowrap; }
.nav-tel{ font-family:var(--font-mono); font-size:13.5px; color:var(--color-ink-soft); display:none; }
.nav-toggle{ display:none; background:none; border:0; padding:6px; width:34px; height:34px; align-items:center; justify-content:center; flex:none; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
  content:""; display:block; width:20px; height:2px; background:var(--color-ink); position:relative; transition:.25s;
}
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }
.nav-toggle.active span{ background:transparent; }
.nav-toggle.active span::before{ top:0; transform:rotate(45deg); background:var(--color-ink); }
.nav-toggle.active span::after{ top:0; transform:rotate(-45deg); background:var(--color-ink); }

/* ---------------- NAV ON DARK (transparent header over video banner) ---------------- */
.nav-on-dark .nav-brand{
  background:transparent;
  padding:0;
  transition:background .35s ease, padding .35s ease;
}
/* logo swap: white mark on the dark hero, regular colour mark once the nav solidifies */
.nav-on-dark .logo-regular{ display:none; }
.nav-on-dark .logo-white{ display:block; }
.nav-on-dark.solid .logo-white{ display:none; }
.nav-on-dark.solid .logo-regular{ display:block; }
.nav-on-dark .nav-links a{ color:#fff; transition:color .3s ease; }
.nav-on-dark .nav-links a.active{ color:#8FD15C; }
.nav-on-dark .nav-links a.active::after{ background:linear-gradient(120deg,#8FD15C,#4FB3E8); }
.nav-on-dark .nav-tel{ color:rgba(255,255,255,.85); }
.nav-on-dark .nav-toggle span{ background:#fff; }
.nav-on-dark .nav-toggle span::before,
.nav-on-dark .nav-toggle span::after{ background:#fff; }
.nav-on-dark .nav-toggle.active span::before,
.nav-on-dark .nav-toggle.active span::after{ background:#fff; }

.nav-on-dark.solid .nav-brand{ background:transparent; padding:0; backdrop-filter:none; }
.nav-on-dark.solid .nav-links a{ color:var(--color-ink); }
.nav-on-dark.solid .nav-links a.active{ color:var(--color-primary); }
.nav-on-dark.solid .nav-links a.active::after{ background:var(--grad-blue-soft); }
.nav-on-dark.solid .nav-tel{ color:var(--color-ink-soft); }
.nav-on-dark.solid .nav-toggle span,
.nav-on-dark.solid .nav-toggle span::before,
.nav-on-dark.solid .nav-toggle span::after{ background:var(--grad-multi); }
.nav-on-dark.solid .nav-toggle.active span::before,
.nav-on-dark.solid .nav-toggle.active span::after{ background:var(--grad-multi); }

/* ---------------- MOBILE SIDEBAR ---------------- */
.sidebar-overlay{
  position:fixed; inset:0; background:rgba(9,16,21,.5); z-index:180;
  opacity:0; visibility:hidden; transition:opacity .35s ease;
}
.sidebar-overlay.open{ opacity:1; visibility:visible; }

.mobile-sidebar{
  position:fixed; top:0; right:0; bottom:0;
  width:min(320px,84vw);
  background:#fff; z-index:200;
  padding:24px 26px 28px;
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.16,.8,.24,1);
  box-shadow:-24px 0 60px -20px rgba(8,20,30,.3);
  overflow-y:auto;
}
.mobile-sidebar.open{ transform:translateX(0); }
.mobile-sidebar-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
.mobile-sidebar-head img{ height:42px; width:auto; }
.sidebar-close{
  background:var(--color-mist); border:0; width:34px; height:34px; border-radius:50%;
  font-size:20px; line-height:1; color:var(--color-ink); display:flex; align-items:center; justify-content:center;
}
.mobile-links{ display:flex; flex-direction:column; margin-bottom:22px; }
.mobile-links a{
  padding:15px 2px; font-family:var(--font-display); font-weight:600; font-size:16.5px;
  color:var(--color-ink); border-bottom:1px solid var(--color-line);
}
.mobile-links a.active{ color:var(--color-primary); }
.mobile-sidebar-foot{ margin-top:auto; display:flex; flex-direction:column; gap:12px; padding-top:20px; border-top:1px solid var(--color-line); }
.mobile-sidebar-foot .btn{ width:100%; justify-content:center; }
.mobile-contact{ font-family:var(--font-mono); font-size:12px; color:var(--color-ink-soft); text-align:center; }
body.sidebar-open{ overflow:hidden; }
@media (min-width:1181px){ .mobile-sidebar, .sidebar-overlay{ display:none; } }

/* ---------------- HERO ---------------- */
.hero{
  padding:168px 0 110px;
  background:
    radial-gradient(60% 55% at 8% 15%, rgba(79,179,232,.10), transparent 60%),
    radial-gradient(50% 50% at 100% 0%, rgba(95,161,59,.08), transparent 60%),
    linear-gradient(180deg,#FBFCFD 0%, #FFFFFF 60%);
  overflow:hidden;
}
.hero .wrap{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.hero-copy h1{ font-size:clamp(36px,4.6vw,60px); margin-bottom:22px; }
.hero-copy h1 em{
  font-style:normal; position:relative;
  background:var(--grad-blue-text); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-copy p{ font-size:17.5px; max-width:490px; margin-bottom:34px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:8px; }

/* ---------------- HERO VIDEO BANNER (header + banner = 100vh) ---------------- */
.hero--video{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:0;
  background:var(--color-primary-dark);
  overflow:hidden;
}
.hero--video .wrap{ display:block; width:100%; max-width:1360px; margin:0 auto; }
.hero-video-wrap{
  position:absolute; inset:0;
  overflow:hidden;
  z-index:0;
  background:var(--color-primary-dark);
  pointer-events:none;
}
.hero-video-frame{
  position:absolute; top:50%; left:50%;
  width:100%; height:100%;
  min-width:100%; min-height:100%;
  object-fit:cover;                    /* self-hosted video: fills the banner, no iframe UI to hide */
  transform:translate(-50%,-50%);
  border:none;
  pointer-events:none;
  opacity:0;
  animation:heroVideoFadeIn .8s ease forwards;
  animation-delay:.5s;
}
@keyframes heroVideoFadeIn{ to{ opacity:1; } }
.hero-video-overlay{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(115deg, transparent 30%, rgba(255,209,102,.16) 48%, transparent 66%),
    linear-gradient(120deg, rgba(9,42,64,.82) 0%, rgba(28,110,164,.5) 48%, rgba(8,38,58,.85) 100%);
  pointer-events:auto; /* sits above the iframe so mouse never reaches YouTube's hover UI (prev/next, title bar) */
}
.hero-video-content{ position:relative; z-index:2; max-width:640px; text-align:left; padding-top:80px; }
.hero-video-content h1{
  color:#fff; font-size:clamp(34px,4.6vw,56px); margin-bottom:20px; line-height:1.14;
}
.hero-video-content h1 em{
  font-style:normal;
  background:var(--grad-green);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-video-content p{
  color:rgba(255,255,255,.86); font-size:18.5px; line-height:1.65; max-width:560px; margin-bottom:32px;
}

/* ---------------- HERO TRUST STRIP (under the banner CTAs) ---------------- */
.hero-trust-strip{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:36px; padding-top:26px;
  border-top:1px solid rgba(255,255,255,.2);
}
.hero-trust-strip .trust-avatars{ align-self:center; }
.hero-trust-strip .trust-text{ align-self:center; }
.hero-trust-strip .trust-avatar{ border-color:var(--color-primary-dark); }
.trust-avatar.client-logo-avatar{ background:#fff; padding:0; overflow:hidden; }
.trust-avatar.client-logo-avatar img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; }
.hero-trust-strip .trust-text{ color:rgba(255,255,255,.82); max-width:440px; }
.hero-trust-strip .trust-text strong{ color:#fff; }

.hero-visual{ position:relative; }
.hero-card{
  position:relative;
  background:var(--grad-blue);
  border-radius:var(--radius-lg);
  padding:34px;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.hero-card::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(120% 100% at 100% 0%, rgba(95,161,59,.35), transparent 55%),
             linear-gradient(180deg, rgba(6,26,40,.15) 0%, rgba(6,26,40,.4) 100%);
  z-index:-1;
}
.hero-card-top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:26px; }
.hero-card-top span{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:#fff; opacity:.92; }
.pulse-badge{
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em;
  background:rgba(255,255,255,.14); padding:6px 12px; border-radius:100px;
  border:1px solid transparent;
  animation:ringPulse 3s ease-in-out infinite;
}
.pulse-dot{ width:7px; height:7px; border-radius:50%; background:var(--grad-green); box-shadow:0 0 0 0 rgba(143,209,92,.7); animation:pulseDot 1.8s infinite; }
@keyframes pulseDot{
  0%{ box-shadow:0 0 0 0 rgba(95,161,59,.55); }
  70%{ box-shadow:0 0 0 8px rgba(95,161,59,0); }
  100%{ box-shadow:0 0 0 0 rgba(95,161,59,0); }
}
.hero-card svg{ width:100%; height:auto; display:block; }
.hero-card-list{ margin-top:22px; display:grid; gap:0; }
.hero-card-list li{
  display:flex; justify-content:space-between; gap:14px; font-family:var(--font-mono); font-size:12.5px;
  padding:12px 0; border-top:1px solid rgba(255,255,255,.22); color:#fff;
}
.hero-card-list li span:first-child{ font-weight:500; }
.hero-card-list li span:last-child{ color:rgba(255,255,255,.75); text-align:right; }

/* ---------------- SIGNATURE PULSE DIVIDER ---------------- */
.pulse-divider{
  padding:64px 0 60px;
  display:flex; justify-content:center;
}
.pulse-divider svg{
  width:100%; max-width:960px; height:64px; overflow:visible;
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.8s cubic-bezier(.65,0,.35,1);
}
.pulse-divider.in-view svg{ clip-path:inset(0 0 0 0); }
.pulse-divider path{
  fill:none; stroke-width:2.5;
  stroke-linecap:round; stroke-linejoin:round;
}

/* ---------------- ABOUT / OVERVIEW ---------------- */
.about{ padding:20px 0 110px; }
.about .wrap{ display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center; }
.about-visual{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:1113/1280; }
.about-visual img{ width:100%; height:100%; object-fit:cover; display:block; }
.about-content{ display:flex; flex-direction:column; justify-content:center; }
.about-content .eyebrow{ margin-bottom:14px; }
.about-content h2{
  font-size:clamp(26px,2.6vw,34px); margin-bottom:16px;
  background:var(--grad-blue-text); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.about-lede{ font-family:var(--font-display); font-size:19px; line-height:1.45; color:var(--color-ink-soft); margin-bottom:22px; }
.about-body p + p{ margin-top:16px; }
.about-trust{
  display:flex; align-items:center; gap:16px;
  margin-top:28px; padding-top:24px; border-top:1px solid var(--color-line);
}
.about-trust-icon{
  flex:none; width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--grad-warm);
}
.about-trust-text{ display:flex; flex-direction:column; gap:4px; }
.about-trust-text strong{ font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--color-ink); }
.about-trust-text span{ font-size:14px; line-height:1.5; color:var(--color-ink-soft); max-width:440px; }

/* ---------------- TRUST STRIP (avatars + stat, under About) ---------------- */
.trust-strip{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:32px; padding-top:28px; border-top:1px solid var(--color-line);
}
.trust-avatars{ display:flex; flex:none; }
.trust-avatar{
  width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:3px solid var(--color-paper);
  margin-left:-14px;
  box-shadow:0 4px 10px -4px rgba(18,24,29,.3);
}
.trust-avatar:first-child{ margin-left:0; }
.trust-avatar svg{ width:20px; height:20px; }
.trust-avatar.grad-a{ background:var(--grad-blue-soft); }
.trust-avatar.grad-b{ background:var(--grad-green); }
.trust-avatar.grad-c{ background:var(--grad-warm); }
.trust-avatar.grad-d{ background:var(--grad-blue); }
.trust-text{ font-size:15.5px; line-height:1.5; color:var(--color-ink-soft); max-width:420px; }
.trust-text strong{
  font-family:var(--font-display); font-weight:700; font-size:22px;
  color:var(--color-ink); margin-right:8px;
}

/* ---------------- STATS TICKER ---------------- */
.ticker{
  overflow:hidden;
  background:var(--color-mist);
  border-top:1px solid var(--color-line);
  border-bottom:1px solid var(--color-line);
  padding:20px 0;
}
.ticker-track{ display:flex; width:max-content; animation:tickerScroll 28s linear infinite; }
.ticker-track:hover{ animation-play-state:paused; }
.ticker-set{ display:flex; align-items:center; flex:none; }
.ticker-item{ display:flex; align-items:baseline; gap:9px; padding:0 30px; white-space:nowrap; }
.ticker-item strong{
  font-family:var(--font-display); font-weight:700; font-size:21px;
  background:var(--grad-blue-text); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ticker-item span{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--color-ink-soft);
}
.ticker-dot{ width:5px; height:5px; border-radius:50%; background:var(--color-line); flex:none; }
@keyframes tickerScroll{
  from{ transform:translateX(-50%); }
  to{ transform:translateX(0%); }
}

/* ---------------- GROUP SERVICES ---------------- */
.services{ padding:20px 0 110px; }
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card{
  position:relative;
  background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-md);
  padding:26px 22px; transition:box-shadow .3s ease, transform .3s ease;
}
.service-card:hover{ box-shadow:0 20px 40px -20px rgba(11,58,87,.22); transform:translateY(-4px); }
.service-card-live{ border-color:rgba(28,110,164,.35); background:var(--color-primary-tint); }
.service-tag-pill{
  position:absolute; top:18px; right:18px;
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--color-ink-soft); background:var(--color-mist); border:1px solid var(--color-line);
  padding:3px 8px; border-radius:100px;
}
.service-badge{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%; margin-bottom:18px;
  font-family:var(--font-display); font-weight:700; font-size:14px; color:#fff;
  background-size:220% 220%; animation:gradientFlow 6s ease-in-out infinite;
}
.grad-1{ background:var(--grad-blue-soft); }
.grad-2{ background:var(--grad-green); }
.grad-3{ background:var(--grad-warm); }
.grad-4{ background:var(--grad-blue); }
.service-card h3{ font-size:16px; margin-bottom:6px; }
.service-tag{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--color-green); display:block; margin-bottom:12px;
}
.service-card p{ font-size:13.5px; }
.service-link{ display:inline-block; margin-top:14px; font-size:13px; font-weight:600; color:var(--color-primary); }

/* ---------------- OUR SERVICES (offerings) ---------------- */
.offerings{ padding:20px 0 110px; }
.offering-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.offering-card{
  position:relative;
  background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-md);
  padding:28px 24px; transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.offering-card:hover{ box-shadow:0 20px 40px -20px rgba(11,58,87,.22); transform:translateY(-4px); border-color:transparent; }
.offering-card-live{ border-color:rgba(28,110,164,.35); background:var(--color-primary-tint); }
.offering-badge{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%; margin-bottom:16px;
  font-family:var(--font-display); font-weight:700; font-size:14px; color:#fff;
}
.offering-tag{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--color-green); display:block; margin-bottom:10px;
}
.offering-card h3{ font-size:16.5px; margin-bottom:8px; }
.offering-card p{ font-size:13.5px; color:var(--color-ink-soft); }
.offering-link{ display:inline-block; margin-top:14px; font-size:13px; font-weight:600; color:var(--color-primary); transition:color .2s ease; }
.offering-link:hover{ color:var(--color-primary-dark); }

/* ---------------- MEMBERSHIPS & CERTIFICATIONS ---------------- */
.certs{ padding:20px 0 110px; }
.certs-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cert-card{
  position:relative;
  background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-md);
  padding:26px 22px; transition:box-shadow .3s ease, transform .3s ease;
}
.cert-card:hover{ box-shadow:0 20px 40px -20px rgba(11,58,87,.22); transform:translateY(-4px); }
.cert-tag-pill{
  position:absolute; top:18px; right:18px;
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--color-ink-soft); background:var(--color-mist); border:1px solid var(--color-line);
  padding:3px 8px; border-radius:100px;
}
.cert-icon{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:14px; margin-bottom:18px;
  background-size:220% 220%; animation:gradientFlow 6s ease-in-out infinite;
}
.cert-card h3{ font-size:15px; margin-bottom:6px; line-height:1.3; }
.cert-tag{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--color-green); display:block; margin-bottom:12px;
}
.cert-card p{ font-size:13px; }
.certs-note{
  margin-top:30px; padding:18px 22px; background:var(--color-mist); border:1px solid var(--color-line);
  border-radius:var(--radius-sm); font-size:13.5px; color:var(--color-ink-soft);
}
.eyebrow-inline{ font-family:var(--font-mono); font-size:12px; color:var(--color-primary); text-transform:uppercase; letter-spacing:.04em; }


.strengths{ padding:90px 0; background:var(--color-mist); }
.strengths-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--color-line); border:1px solid var(--color-line); border-radius:var(--radius-lg); overflow:hidden; }
.strength-card{ background:var(--color-paper); padding:34px 28px; }
.strength-num{
  font-family:var(--font-mono); font-weight:500; font-size:13px; color:#fff;
  margin-bottom:22px; display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; background:var(--grad-blue-soft);
  background-size:220% 220%; animation:gradientFlow 5s ease-in-out infinite;
}
.strength-card:nth-child(2) .strength-num{ background:var(--grad-green); background-size:220% 220%; animation:gradientFlow 5.6s ease-in-out infinite; }
.strength-card:nth-child(3) .strength-num{ background:var(--grad-warm); background-size:220% 220%; animation:gradientFlow 6.2s ease-in-out infinite; }
.strength-card:nth-child(4) .strength-num{ background:var(--grad-blue); background-size:220% 220%; animation:gradientFlow 6.8s ease-in-out infinite; }
.strength-card h3{ margin-bottom:10px; }
.strength-card p{ font-size:14.5px; }

/* ---------------- PRODUCT CATEGORIES ---------------- */
.categories{ padding:110px 0; }
.cat-tabs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px; }
.cat-tab{
  font-family:var(--font-mono); font-size:12.5px; letter-spacing:.03em;
  padding:10px 18px; border-radius:100px; border:1px solid var(--color-line);
  background:var(--color-paper); color:var(--color-ink-soft); transition:.2s;
}
.cat-tab:hover{ border-color:var(--color-primary); color:var(--color-primary); background:var(--color-primary-tint); }
.cat-tab.active{
  border-color:transparent; color:#fff; background:var(--grad-blue-soft);
  background-size:220% 220%; animation:gradientFlow 5s ease-in-out infinite;
  box-shadow:0 8px 18px -8px rgba(28,110,164,.5);
}

.cat-panel{ display:none; }
.cat-panel.active{ display:block; animation:fadeUp .5s ease both; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }

.cat-panel-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px; gap:20px; flex-wrap:wrap; }
.cat-panel-head p{ max-width:520px; }

.product-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.product-card{
  background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-md);
  overflow:hidden; transition:box-shadow .3s ease, transform .3s ease;
}
.product-card{ position:relative; }
.product-card::after{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--grad-multi); transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.product-card:hover::after{ transform:scaleX(1); }
.product-card:hover{ box-shadow:0 20px 40px -18px rgba(11,58,87,.25); transform:translateY(-4px); }
.product-media{ aspect-ratio:1/1; background:var(--color-mist); display:flex; align-items:center; justify-content:center; padding:18px; }
.product-media img{ max-height:100%; object-fit:contain; mix-blend-mode:multiply; }
.product-body{ padding:18px 18px 20px; }
.product-body h4{ font-size:15px; font-family:var(--font-display); margin-bottom:8px; }
.product-specs{ font-family:var(--font-mono); font-size:11.5px; color:var(--color-ink-soft); display:grid; gap:3px; }
.product-specs b{ color:var(--color-ink); font-weight:600; }

/* ---------------- TEAM ---------------- */
.team{ padding:110px 0; }
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.team-card{
  background:var(--color-paper); border-radius:var(--radius-md); overflow:hidden;
  border:1px solid var(--color-line); transition:box-shadow .3s ease, transform .3s ease;
}
.team-card:hover{ box-shadow:0 24px 46px -22px rgba(11,58,87,.28); transform:translateY(-5px); }
.team-photo-wrap{
  position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--color-mist);
}
.team-photo-wrap img{
  width:100%; height:100%; object-fit:cover; object-position:50% 18%;
  display:block; transition:transform .5s ease;
}
.team-card:hover .team-photo-wrap img{ transform:scale(1.06); }
.team-photo-wrap::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(6,22,34,.88) 0%, rgba(6,22,34,.15) 55%, transparent 75%);
}
.team-overlay{ position:absolute; left:0; right:0; bottom:0; padding:18px 18px 16px; z-index:1; }
.team-overlay h3{ color:#fff; font-size:14px; line-height:1.25; margin-bottom:4px; }
.team-role{
  font-family:var(--font-mono); font-size:9.5px; color:#fff; opacity:.85;
  text-transform:uppercase; letter-spacing:.04em; display:block;
}
.team-contact{
  display:flex; flex-direction:column; gap:6px; padding:14px 16px;
  border-top:1px solid var(--color-line);
}
.team-contact a{ font-family:var(--font-mono); font-size:11px; color:var(--color-ink-soft); transition:color .2s ease; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.team-contact a:hover{ color:var(--color-primary); }
.team-info-placeholder{ padding:14px 16px 0; }
.team-info-placeholder h3{ font-size:14px; color:var(--color-ink); margin-bottom:4px; }
.team-info-placeholder .team-role{ color:var(--color-ink-soft); }
.team-photo-wrap.placeholder{ display:flex; align-items:center; justify-content:center; background:var(--color-mist); }
.team-photo-wrap.placeholder svg{ opacity:.35; }
.team-photo-wrap .cert-tag-pill{ z-index:2; }
.team-contact-placeholder{ font-size:11px; font-style:italic; color:#9AA5AC; padding:14px 16px; border-top:1px solid var(--color-line); }

/* ---------------- CLIENTS ---------------- */
.clients{ padding:100px 0; }
.client-marquee{
  border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line);
  padding:44px 0; display:grid; grid-template-columns:repeat(5,1fr); gap:0;
}
.client-logo{ display:flex; align-items:center; justify-content:center; padding:22px 26px; }
.client-logo img{ max-height:68px; width:auto; filter:grayscale(1) contrast(1.05); opacity:.7; transition:.3s; }
.clients-view-all{ display:flex; justify-content:center; margin-top:30px; }
.client-logo:hover img{ filter:none; opacity:1; transform:scale(1.05); }

/* ---------------- MEDIA COVERAGE ---------------- */
.media-coverage{ padding:0 0 100px; }
.media-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.media-card{
  display:flex; align-items:center; gap:18px;
  background:var(--color-paper); border:1px solid var(--color-line); border-radius:var(--radius-md);
  padding:20px 24px; transition:box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.media-card:hover{ box-shadow:0 20px 40px -20px rgba(11,58,87,.22); transform:translateY(-4px); border-color:transparent; }
.media-card-logo{
  flex:none; width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--color-mist); border:1px solid var(--color-line);
  color:var(--color-ink-soft); transition:.3s; overflow:hidden;
}
.media-card:hover .media-card-logo{ background:var(--grad-blue-soft); color:#fff; border-color:transparent; }
.media-card-logo svg{ width:28px; height:28px; }
.media-card-logo img{ width:100%; height:100%; object-fit:contain; padding:10px; }
.media-card-copy{ display:flex; flex-direction:column; gap:3px; text-align:left; min-width:0; }
.media-card-copy strong{ font-family:var(--font-display); font-size:14.5px; color:var(--color-ink); font-weight:600; }
.media-card-copy span{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--color-ink-soft); }
.media-coverage-note{
  margin-top:24px; font-size:13px; color:var(--color-ink-soft); text-align:center;
}
@media (max-width:980px){
  .media-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px){
  .media-grid{ grid-template-columns:1fr; }
  .media-card{ padding:18px 20px; }
  .media-card-logo{ width:56px; height:56px; }
}

/* ---------------- CTA ---------------- */
.cta{ padding:100px 0; }
.cta-box{
  background:var(--grad-blue); border-radius:var(--radius-lg);
  padding:64px; color:#fff; display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center;
  position:relative; overflow:hidden; isolation:isolate;
}
.cta-box::before{ content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(90% 140% at 0% 100%, rgba(226,98,47,.3), transparent 55%); }
.cta-box h2{ color:#fff; margin-bottom:16px; }
.cta-box p{ color:rgba(255,255,255,.75); max-width:440px; margin-bottom:30px; }
.cta-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-start; }
.cta-form{
  background:#fff; border:1px solid rgba(255,255,255,.5); border-radius:var(--radius-lg);
  padding:30px; box-shadow:0 30px 60px -20px rgba(5,20,32,.45);
}
.cta-form-head{ margin-bottom:18px; }
.cta-form-head span{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--color-green);
}
.cta-form-head h3{ font-size:18px; margin-top:4px; color:var(--color-ink); }
.cta-form label{ font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--color-ink-soft); display:block; margin-bottom:6px; }
.cta-form input, .cta-form select, .cta-form textarea{
  width:100%; background:var(--color-mist); border:1.5px solid var(--color-line); border-radius:10px;
  padding:12px 13px; color:var(--color-ink); font-family:var(--font-body); font-size:14px; margin-bottom:16px;
  transition:border-color .2s ease, background .2s ease;
}
.cta-form textarea{ resize:vertical; min-height:80px; line-height:1.5; }
.cta-form input:focus, .cta-form select:focus, .cta-form textarea:focus{
  outline:none; border-color:var(--color-primary); background:#fff;
}
.cta-form input::placeholder, .cta-form textarea::placeholder{ color:#9AA5AC; }
.cta-form button{ width:100%; }

/* -------- Quote request modal (global, opens from any "Request Quotation" trigger) -------- */
body.modal-open{ overflow:hidden; }
.quote-modal{
  position:fixed; inset:0; z-index:300;
  background:rgba(10,20,26,.72); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:24px;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.quote-modal.open{ opacity:1; pointer-events:auto; }
.quote-modal-box{
  position:relative; width:100%; max-width:460px; max-height:90vh; overflow-y:auto;
  border-radius:var(--radius-lg);
  transform:scale(.94) translateY(10px); transition:transform .3s cubic-bezier(.2,.9,.25,1);
}
.quote-modal.open .quote-modal-box{ transform:scale(1) translateY(0); }
.quote-modal-box .cta-form{ margin:0; border-radius:var(--radius-lg); }
.quote-modal-close{
  position:absolute; top:14px; right:14px; z-index:2;
  width:32px; height:32px; border-radius:50%; border:1px solid var(--color-line);
  display:flex; align-items:center; justify-content:center; color:var(--color-ink-soft);
  background:var(--color-paper); font-size:18px; line-height:1; transition:.2s;
}
.quote-modal-close:hover{ background:var(--color-mist); color:var(--color-ink); }
@media (max-width:480px){
  .quote-modal{ padding:16px; }
  .quote-modal-box .cta-form{ padding:24px 20px; }
}

/* ---------------- FOOTER ---------------- */
.site-footer{ background:var(--color-ink); color:rgba(255,255,255,.62); }

/* newsletter strip */
.footer-cta-strip{ background:var(--grad-blue); padding:40px 0; }
.footer-cta-strip .wrap{ display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.footer-cta-strip h3{ color:#fff; font-size:21px; margin-bottom:6px; }
.footer-cta-strip p{ color:rgba(255,255,255,.78); font-size:13.5px; }
.footer-newsletter{ display:flex; gap:10px; flex-wrap:wrap; }
.footer-newsletter input{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); border-radius:100px;
  padding:13px 20px; color:#fff; font-family:var(--font-body); font-size:14px; min-width:260px;
}
.footer-newsletter input::placeholder{ color:rgba(255,255,255,.65); }
.footer-newsletter .btn-primary{ animation:none; background:#fff; color:var(--color-primary-dark); box-shadow:none; }
.footer-newsletter .btn-primary:hover{ background:rgba(255,255,255,.9); }

/* main grid */
.footer-main{ padding:70px 0 50px; display:grid; grid-template-columns:1.3fr .9fr .9fr 1fr 1fr; gap:32px; }
.footer-brand img{ height:46px; margin-bottom:18px; }
.footer-brand p{ color:rgba(255,255,255,.55); font-size:13.5px; max-width:270px; margin-bottom:20px; }
.footer-badges{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.footer-badges span{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase;
  color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.18); padding:5px 11px; border-radius:100px;
}
.footer-social{ display:flex; gap:12px; }
.footer-social a{
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff;
  transition:transform .2s ease, filter .2s ease;
}
.footer-social a:hover{ transform:translateY(-3px); filter:brightness(1.1); }
.footer-social .fb{ background:#1877F2; animation:ringPulseFb 3s ease-in-out infinite; }
.footer-social .li{ background:#0A66C2; animation:ringPulseLi 3s ease-in-out .3s infinite; }
.footer-social .wa{ background:#25D366; animation:ringPulseWa 3s ease-in-out .6s infinite; }
@keyframes ringPulseFb{ 0%,100%{ box-shadow:0 0 0 0 rgba(24,119,242,.5); } 50%{ box-shadow:0 0 0 5px rgba(24,119,242,0); } }
@keyframes ringPulseLi{ 0%,100%{ box-shadow:0 0 0 0 rgba(10,102,194,.5); } 50%{ box-shadow:0 0 0 5px rgba(10,102,194,0); } }
@keyframes ringPulseWa{ 0%,100%{ box-shadow:0 0 0 0 rgba(37,211,102,.5); } 50%{ box-shadow:0 0 0 5px rgba(37,211,102,0); } }

.footer-col h4{
  color:#fff; font-size:12.5px; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.06em;
  margin-bottom:20px; padding-bottom:12px; position:relative;
}
.footer-col h4::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--grad-multi); border-radius:2px; }
.footer-col ul li{ margin-bottom:12px; font-size:13.5px; }
.footer-col ul li a{ color:rgba(255,255,255,.6); transition:color .2s ease, padding .2s ease; }
.footer-col ul li a:hover{ color:#fff; padding-left:3px; }
.footer-col address{ font-style:normal; font-size:13px; line-height:1.85; color:rgba(255,255,255,.55); margin-bottom:18px; }
.footer-contact-list li a{ font-family:var(--font-mono); font-size:13px; }

/* bottom bar */
.footer-divider{ border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:12.5px; flex-wrap:wrap; gap:14px; }
.footer-bottom span{ color:rgba(255,255,255,.5); }
.footer-bottom span .footer-dev-credit{ color:#4FB3E8; font-weight:600; }
.footer-bottom span .footer-dev-credit:hover{ text-decoration:underline; }
.footer-bottom span a:not(.footer-dev-credit){ color:rgba(255,255,255,.5); }
.footer-bottom span a:not(.footer-dev-credit):hover{ color:#fff; }
.footer-bottom-links{ display:flex; gap:22px; }
.footer-bottom-links a{ color:rgba(255,255,255,.5); }
.footer-bottom-links a:hover{ color:#fff; }
.back-to-top{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center; color:#fff; flex:none; transition:.25s;
  animation:floatUpDown 2.4s ease-in-out infinite;
}
@keyframes floatUpDown{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-3px); } }
.back-to-top:hover{ background:var(--grad-blue-soft); border-color:transparent; transform:translateY(-3px); }

/* ---------------- reveal-on-scroll ---------------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view{ opacity:1; transform:none; }

/* ---------------- responsive ---------------- */
@media (max-width:980px){
  .hero .wrap{ grid-template-columns:1fr; }
  .about .wrap{ grid-template-columns:1fr; align-items:stretch; }
  .services-grid{ grid-template-columns:repeat(2,1fr); }
  .certs-grid{ grid-template-columns:repeat(2,1fr); }
  .strengths-grid{ grid-template-columns:repeat(2,1fr); }
  .offering-grid{ grid-template-columns:repeat(2,1fr); }
  .product-grid{ grid-template-columns:repeat(2,1fr); }
  .team-grid{ grid-template-columns:repeat(3,1fr); }
  .client-marquee{ grid-template-columns:repeat(3,1fr); }
  .cta-box{ grid-template-columns:1fr; padding:44px 30px; }
  .footer-main{ grid-template-columns:1fr 1fr; }
  .footer-main .footer-brand{ grid-column:1 / -1; }
}
@media (max-width:1180px){
  .nav-links{ display:none; }
  .nav-cta .btn-primary{ display:none; }
  .nav-toggle{ display:flex; }
}
@media (max-width:640px){
  .wrap{ padding:0 20px; }
  .hero:not(.hero--video){ padding:120px 0 60px; }
  .hero--video{ height:auto; min-height:0; padding:104px 0 48px; }
  .hero-video-content{ padding-top:0; }
  .hero-video-content h1{ font-size:clamp(28px,7vw,38px); }
  .hero-video-content p{ font-size:15.5px; }
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn{ justify-content:center; width:100%; }
  .hero--video .hero-actions{ flex-direction:row; flex-wrap:nowrap; gap:10px; }
  .hero--video .hero-actions .btn{ width:auto; flex:1 1 0; padding:13px 10px; font-size:12.5px; gap:6px; white-space:nowrap; }
  .hero-trust-strip{ margin-top:26px; padding-top:20px; }
  .hero-card{ padding:24px; }
  .section-head{ margin-bottom:36px; }
  .about{ padding:10px 0 70px; }
  .about-lede{ font-size:20px; }
  .trust-strip{ margin-top:24px; padding-top:22px; }
  .services{ padding:10px 0 60px; }
  .services-grid{ grid-template-columns:1fr; }
  .certs-grid{ grid-template-columns:1fr 1fr; }
  .offerings{ padding:10px 0 60px; }
  .offering-grid{ grid-template-columns:1fr; }
  .strengths{ padding:60px 0; }
  .strengths-grid{ grid-template-columns:1fr; }
  .categories{ padding:70px 0; }
  .cat-tabs{ gap:8px; }
  .cat-tab{ padding:9px 14px; font-size:11.5px; }
  .product-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
  .team{ padding:70px 0; }
  .team-grid{ grid-template-columns:1fr 1fr; }
  .team-contact{ padding:14px 16px; }
  .clients{ padding:60px 0; }
  .client-marquee{ grid-template-columns:repeat(2,1fr); padding:24px 0; }
  .cta{ padding:60px 0; }
  .cta-box{ padding:32px 22px; border-radius:var(--radius-md); }
  .cta-actions{ flex-direction:column; align-items:stretch; }
  .cta-actions .btn{ justify-content:center; width:100%; }
  .footer-cta-strip .wrap{ flex-direction:column; align-items:flex-start; }
  .footer-newsletter{ width:100%; }
  .footer-newsletter input{ min-width:0; flex:1; }
  .footer-main{ grid-template-columns:1fr 1fr; gap:30px; padding:48px 20px 28px; }
  .footer-brand{ grid-column:1 / -1; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; padding:22px 0; }
  .back-to-top{ align-self:flex-end; margin-top:6px; }
  .cat-panel-head{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:420px){
  .product-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .certs-grid{ grid-template-columns:1fr; }
  .team-grid{ grid-template-columns:repeat(2,1fr); }
  .hero--video .hero-actions{ gap:8px; }
  .hero--video .hero-actions .btn{ padding:12px 6px; font-size:11.5px; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
