/* ============================================================
   Saideep Automation Solutions — design tokens
   ============================================================ */
:root{
  --ink:#0B1C2C;
  --ink-soft:#3A4C5C;
  --paper:#FFFFFF;
  --surface:#F5F8FB;
  --surface-deep:#EBF1F7;

  --blue-900:#042C53;
  --blue-800:#0C447C;
  --blue-700:#12518F;
  --blue-600:#185FA5;
  --blue-400:#00B0F0;
  --blue-200:#7DDAF8;
  --blue-100:#BDECFB;
  --blue-50:#E8F9FF;

  --amber-800:#8A6A00;
  --amber-600:#9A7800;
  --amber-500:#C5A900;
  --amber-400:#E0C000;
  --amber-300:#F2D400;
  --amber-100:#FFF09A;
  --amber-50:#FFFBE0;

  --radius-sm:4px;
  --radius:10px;
  --radius-lg:18px;

  --shadow-card: 0 1px 2px rgba(4,44,83,.06), 0 6px 20px rgba(4,44,83,.08);
  --container-max: 1200px;
}

/* ============================================================
   Base
   ============================================================ */
html{ scroll-behavior:smooth; }

body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:1rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,.display-font{
  font-family:'Barlow Semi Condensed', 'Inter', sans-serif;
  font-weight:600;
  letter-spacing:.2px;
  color:var(--blue-900);
  line-height:1.15;
}

h1{ font-weight:700; }

p{ color:var(--ink-soft); }

a{ color:var(--blue-600); text-decoration:none; }
a:hover{ color:var(--blue-800); }

.container-xl{
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:1.25rem;
}

section{ padding:5rem 0; }
@media (max-width:767.98px){ section{ padding:3.25rem 0; } }

.kicker{
  font-size:.8125rem;
  font-weight:600;
  color:var(--amber-600);
  text-transform:none;
  letter-spacing:.3px;
  margin-bottom:.5rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.kicker::before{
  content:"";
  width:22px;
  height:2px;
  background:var(--amber-500);
  display:inline-block;
}

.section-head{ max-width:640px; margin-bottom:2.75rem; }
.section-head.centered{ margin-inline:auto; text-align:center; }

.text-amber{ color:var(--amber-500) !important; }
.bg-surface{ background:var(--surface); }
.bg-navy{ background:var(--blue-900); }
.bg-blue-50{ background:var(--blue-50); }

/* Blueprint grid texture — nods to schematic drawings, used sparingly */
.blueprint{
  position:relative;
  background-color:var(--blue-900);
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:34px 34px;
}
.blueprint-light{
  background-color:var(--surface);
  background-image:
    linear-gradient(rgba(4,44,83,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(4,44,83,.05) 1px, transparent 1px);
  background-size:34px 34px;
}

/* ============================================================
   Buttons
   ============================================================ */
.btn{
  font-family:'Inter', sans-serif;
  font-weight:600;
  border-radius:var(--radius-sm);
  padding:.7rem 1.5rem;
  font-size:.95rem;
  border-width:1.5px;
}
.btn-amber{
  background:var(--amber-500);
  border-color:var(--amber-500);
  color:#241300;
}
.btn-amber:hover{
  background:var(--amber-400);
  border-color:var(--amber-400);
  color:#241300;
}
.btn-outline-light-line{
  border-color:rgba(255,255,255,.55);
  color:#fff;
}
.btn-outline-light-line:hover{
  background:rgba(255,255,255,.1);
  border-color:#fff;
  color:#fff;
}
.btn-navy{
  background:var(--blue-800);
  border-color:var(--blue-800);
  color:#fff;
}
.btn-navy:hover{
  background:var(--blue-900);
  border-color:var(--blue-900);
  color:#fff;
}
.btn-outline-navy{
  border-color:var(--blue-700);
  color:var(--blue-800);
}
.btn-outline-navy:hover{
  background:var(--blue-800);
  color:#fff;
}

/* ============================================================
   Navbar
   ============================================================ */
.navbar-sas{
  background:var(--paper);
  padding:.85rem 0;
  border-bottom:1px solid rgba(4,44,83,.08);
  transition:box-shadow .2s ease, padding .2s ease;
}
.navbar-sas.is-scrolled{
  box-shadow:0 4px 20px rgba(4,44,83,.09);
  padding:.55rem 0;
}
.navbar-brand-sas{
  display:flex;
  align-items:center;
  gap:.65rem;
}
.navbar-brand-sas img{ height:42px; width:auto; }
.navbar-brand-sas .brand-text{
  font-family:'Barlow Semi Condensed', sans-serif;
  line-height:1.05;
}
.navbar-brand-sas .brand-text strong{
  display:block;
  font-size:1.2rem;
  font-weight:700;
  color:var(--blue-900);
}
.navbar-brand-sas .brand-text span{
  display:block;
  font-size:.68rem;
  color:var(--amber-600);
  font-weight:600;
  letter-spacing:.3px;
}
.navbar-sas .nav-link{
  font-weight:500;
  color:var(--ink);
  padding:.5rem 1rem !important;
  font-size:.95rem;
}
.navbar-sas .nav-link.active,
.navbar-sas .nav-link:hover{ color:var(--blue-700); }
.navbar-sas .nav-cta{
  margin-left:.5rem;
}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;
  background:var(--blue-900);
  color:#fff;
  overflow:hidden;
  padding:4.5rem 0 5.5rem;
}
.hero::after{
  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:36px 36px;
  pointer-events:none;
}
.hero .row{ position:relative; z-index:1; }
.hero h1{
  color:#fff;
  font-size:clamp(2.1rem, 4vw, 3.4rem);
  max-width:620px;
}
.hero p.lead{
  color:var(--blue-100);
  max-width:520px;
  font-size:1.1rem;
}
.hero-eyebrow{
  color:var(--amber-300);
  font-weight:600;
  font-size:.85rem;
  letter-spacing:.4px;
  margin-bottom:.85rem;
  display:block;
}
.hero-media{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-stats{
  position:relative;
  z-index:2;
  margin-top:-3.25rem;
}
.hero-stats .stat-card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:1.5rem 1rem;
  text-align:center;
}
.hero-stats .stat-card .num{
  font-family:'Barlow Semi Condensed', sans-serif;
  font-size:2.1rem;
  font-weight:700;
  color:var(--blue-800);
  display:block;
}
.hero-stats .stat-card .label{
  font-size:.82rem;
  color:var(--ink-soft);
}

/* Page header (non-home hero) */
.page-header{
  background:var(--blue-900);
  color:#fff;
  padding:3.5rem 0 3rem;
  position:relative;
  overflow:hidden;
}
.page-header::after{
  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:36px 36px;
}
.page-header .container-xl{ position:relative; z-index:1; }
.page-header h1{ color:#fff; margin-bottom:.5rem; }
.page-header p{ color:var(--blue-100); max-width:640px; margin-bottom:0; }
.breadcrumb-sas{
  font-size:.85rem;
  color:var(--blue-200);
  margin-bottom:1rem;
}
.breadcrumb-sas a{ color:var(--blue-200); }
.breadcrumb-sas a:hover{ color:#fff; }

/* ============================================================
   Cards
   ============================================================ */
.service-card{
  background:#fff;
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius);
  padding:1.75rem 1.5rem;
  height:100%;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-card);
  border-color:transparent;
}
.service-card .icon-badge{
  width:52px; height:52px;
  border-radius:var(--radius-sm);
  background:var(--blue-50);
  color:var(--blue-700);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem;
  margin-bottom:1.1rem;
}
.service-card h3{ font-size:1.2rem; margin-bottom:.5rem; }
.service-card p{ font-size:.93rem; margin-bottom:0; }

.project-card{
  background:#fff;
  border-radius:var(--radius);
  border:1px solid rgba(4,44,83,.08);
  padding:1.6rem;
  height:100%;
}
.project-card .platform-tag{
  display:inline-block;
  font-size:.72rem;
  font-weight:600;
  padding:.25rem .6rem;
  border-radius:100px;
  background:var(--amber-50);
  color:var(--amber-600);
  margin-bottom:.75rem;
}
.project-card h3{ font-size:1.05rem; margin-bottom:.4rem; }
.project-card .client{ font-size:.85rem; color:var(--blue-700); font-weight:600; margin-bottom:.5rem; }
.project-card p{ font-size:.9rem; margin-bottom:0; }

.value-card{
  text-align:left;
  padding:1.5rem;
}
.value-card .num{
  font-family:'Barlow Semi Condensed', sans-serif;
  font-size:1.6rem;
  font-weight:700;
  color:var(--amber-500);
}

/* Gallery */
.gallery-item{
  position:relative;
  border-radius:var(--radius-sm);
  overflow:hidden;
  aspect-ratio: 4/3;
  background:var(--surface-deep);
  cursor:zoom-in;
}
.gallery-item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .35s ease;
}
.gallery-item:hover img{ transform:scale(1.06); }
.gallery-item .tag{
  position:absolute; left:.6rem; bottom:.6rem;
  background:rgba(4,28,44,.75);
  color:#fff;
  font-size:.72rem;
  padding:.2rem .55rem;
  border-radius:100px;
}
.filter-pills .btn{
  border-radius:100px;
  font-size:.85rem;
  padding:.4rem 1.1rem;
  font-weight:500;
}

/* Client logo grid */
.client-logo{
  background:#fff;
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center;
  padding:1.1rem;
  height:96px;
}
.client-logo img{
  max-width:100%; max-height:100%;
  object-fit:contain;
  transition:transform .2s ease;
}
.client-logo:hover img{ transform:scale(1.05); }

/* Brand strip */
.brand-strip{
  display:flex; align-items:center; justify-content:center;
  height:60px;
}
.brand-strip img{
  max-height:38px; max-width:100%;
  object-fit:contain;
}

/* Testimonial */
.testimonial-card{
  background:#fff;
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius);
  padding:1.9rem;
  height:100%;
}
.testimonial-card .quote-mark{
  font-family:'Barlow Semi Condensed', sans-serif;
  font-size:2.6rem;
  color:var(--amber-300);
  line-height:1;
  display:block;
  margin-bottom:.25rem;
}
.testimonial-card p.quote{
  font-size:.98rem;
  color:var(--ink);
  margin-bottom:1.1rem;
}
.testimonial-card .who{ font-size:.85rem; }
.testimonial-card .who strong{ display:block; color:var(--blue-900); }
.testimonial-card .who span{ color:var(--ink-soft); }

/* Applications table */
.app-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:.92rem;
}
.app-table th{
  background:var(--blue-900);
  color:#fff;
  font-weight:600;
  padding:.75rem 1rem;
  text-align:left;
  font-family:'Barlow Semi Condensed', sans-serif;
  letter-spacing:.2px;
}
.app-table th:first-child{ border-top-left-radius:var(--radius-sm); }
.app-table th:last-child{ border-top-right-radius:var(--radius-sm); }
.app-table td{
  padding:.65rem 1rem;
  border-bottom:1px solid rgba(4,44,83,.08);
  color:var(--ink-soft);
}
.app-table tr:hover td{ background:var(--blue-50); }

/* CTA banner */
.cta-banner{
  background:var(--blue-800);
  border-radius:var(--radius-lg);
  padding:3rem;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.cta-banner::after{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:30px 30px;
}
.cta-banner *{ position:relative; z-index:1; }
.cta-banner h2{ color:#fff; }
.cta-banner p{ color:var(--blue-100); }

/* Timeline (about) */
.mini-fact{
  border-left:2px solid var(--amber-400);
  padding-left:1rem;
}

/* ============================================================
   Footer
   ============================================================ */
.footer-sas{
  background:var(--blue-900);
  color:var(--blue-100);
  padding:4rem 0 0;
}
.footer-sas h5{
  color:#fff;
  font-size:1rem;
  margin-bottom:1.1rem;
}
.footer-sas a{ color:var(--blue-100); }
.footer-sas a:hover{ color:var(--amber-300); }
.footer-sas ul{ list-style:none; padding:0; margin:0; }
.footer-sas li{ margin-bottom:.6rem; font-size:.92rem; }
.footer-sas .footer-brand{
  display:flex; align-items:center; gap:.65rem; margin-bottom:1rem;
}
.footer-sas .footer-brand img{ height:38px; }
.footer-sas .footer-brand strong{
  font-family:'Barlow Semi Condensed', sans-serif;
  color:#fff; font-size:1.15rem; display:block;
}
.footer-sas .footer-brand span{ font-size:.7rem; color:var(--amber-300); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.5rem;
  padding:1.25rem 0;
  font-size:.82rem;
  color:var(--blue-200);
}
.social-dot{
  width:36px; height:36px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:#fff;
  margin-right:.5rem;
}
.social-dot:hover{ background:var(--amber-500); border-color:var(--amber-500); color:#241300; }

/* ============================================================
   Contact page
   ============================================================ */
.contact-card{
  background:#fff;
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius);
  padding:1.5rem;
  height:100%;
}
.contact-card .icon-badge{
  width:46px; height:46px;
  border-radius:50%;
  background:var(--amber-50);
  color:var(--amber-600);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:.9rem;
  font-size:1.2rem;
}
.form-control, .form-select{
  border-radius:var(--radius-sm);
  border-color:rgba(4,44,83,.18);
  padding:.65rem .9rem;
  font-size:.95rem;
}
.form-control:focus, .form-select:focus{
  border-color:var(--blue-500);
  box-shadow:0 0 0 .2rem rgba(24,95,165,.15);
}
.form-label{ font-size:.88rem; font-weight:600; color:var(--blue-900); }
.map-frame{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(4,44,83,.08);
  height:100%;
  min-height:320px;
}
.map-frame iframe{ width:100%; height:100%; min-height:320px; border:0; display:block; }

/* Lightbox */
.lightbox-overlay{
  position:fixed; inset:0;
  background:rgba(4,20,32,.92);
  display:none;
  align-items:center; justify-content:center;
  z-index:2000;
  padding:2rem;
}
.lightbox-overlay.active{ display:flex; }
.lightbox-overlay img{
  max-width:100%; max-height:88vh;
  border-radius:var(--radius-sm);
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.lightbox-close{
  position:absolute; top:1.5rem; right:1.75rem;
  color:#fff; font-size:2rem; cursor:pointer; line-height:1;
  background:none; border:0;
}

/* Back to top */
.back-to-top{
  position:fixed;
  right:1.25rem; bottom:1.25rem;
  width:44px; height:44px;
  border-radius:50%;
  background:var(--blue-800);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px rgba(4,44,83,.3);
  opacity:0; visibility:hidden;
  transform:translateY(10px);
  transition:all .2s ease;
  z-index:999;
  border:0;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--amber-500); color:#241300; }

/* Utilities */
.divider-amber{
  width:56px; height:3px;
  background:var(--amber-500);
  margin:1rem 0 1.5rem;
}
.text-navy{ color:var(--blue-900) !important; }
.text-soft{ color:var(--ink-soft) !important; }
.fw-600{ font-weight:600; }

/* ============================================================
   Motion system — scroll reveals, marquee, micro-interactions
   ============================================================ */

/* Page fade-in on load — pure CSS so it still works if JS is blocked */
@keyframes pageFadeIn{ from{ opacity:0; } to{ opacity:1; } }
body{ animation:pageFadeIn .5s ease both; }

/* Scroll-reveal (progressive enhancement — only hides content once JS is ready) */
body.js-reveal-ready .reveal-target{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .65s cubic-bezier(.16,.8,.3,1), transform .65s cubic-bezier(.16,.8,.3,1);
  will-change:opacity, transform;
}
body.js-reveal-ready .reveal-target.in-view{
  opacity:1;
  transform:none;
}

/* Keyframes */
@keyframes floatY{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}
@keyframes pulseRing{
  0%{ box-shadow:0 0 0 0 rgba(186,117,23,.45); }
  70%{ box-shadow:0 0 0 14px rgba(186,117,23,0); }
  100%{ box-shadow:0 0 0 0 rgba(186,117,23,0); }
}
@keyframes marqueeScroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}
@keyframes gridDrift{
  0%{ background-position:0 0, 0 0; }
  100%{ background-position:120px 0, 0 120px; }
}
@keyframes fadeScaleIn{
  from{ opacity:0; transform:scale(.94); }
  to{ opacity:1; transform:scale(1); }
}
@keyframes shimmer{
  0%{ background-position:-200% 0; }
  100%{ background-position:200% 0; }
}

/* Hero media gentle float */
.hero-media{ animation:floatY 6s ease-in-out infinite; }

/* Blueprint texture drifts very slowly — subtle "live schematic" feel */
.hero::after, .page-header::after, .cta-banner::after{
  animation:gridDrift 22s linear infinite;
}

/* Hero eyebrow / heading staggered entrance (runs once on load, not scroll-based) */
.hero-eyebrow, .hero h1, .hero p.lead, .hero .d-flex.gap-3{
  opacity:0;
  animation:fadeScaleIn .7s cubic-bezier(.16,.8,.3,1) forwards;
}
.hero-eyebrow{ animation-delay:.05s; }
.hero h1{ animation-delay:.16s; }
.hero p.lead{ animation-delay:.28s; }
.hero .d-flex.gap-3{ animation-delay:.4s; }

/* Primary CTA pulse ring — used sparingly on hero / banner buttons */
.btn-amber.btn-lg.pulse-cta{ animation:pulseRing 2.6s ease-out infinite; }

/* Buttons: subtle lift + shine on hover */
.btn{ position:relative; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease; }
.btn:hover{ transform:translateY(-2px); }
.btn-amber:hover, .btn-navy:hover{ box-shadow:0 10px 24px rgba(4,44,83,.22); }

/* Cards: stronger, springier hover lift */
.service-card, .project-card, .value-card.service-card, .contact-card, .testimonial-card{
  transition:transform .28s cubic-bezier(.16,.8,.3,1), box-shadow .28s ease, border-color .28s ease;
}
.service-card:hover, .project-card:hover, .contact-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 34px rgba(4,44,83,.14);
  border-color:transparent;
}
.service-card .icon-badge{ transition:transform .3s cubic-bezier(.34,1.56,.64,1), background-color .3s ease, color .3s ease; }
.service-card:hover .icon-badge{
  transform:scale(1.12) rotate(-6deg);
  background:var(--amber-500);
  color:#fff;
}
.contact-card .icon-badge{ transition:transform .3s cubic-bezier(.34,1.56,.64,1); }
.contact-card:hover .icon-badge{ transform:scale(1.12) rotate(6deg); }

/* Project card platform tag: gentle pop on card hover */
.project-card .platform-tag{ transition:transform .25s ease, background-color .25s ease, color .25s ease; }
.project-card:hover .platform-tag{ background:var(--amber-500); color:#fff; transform:translateY(-1px); }

/* Stat cards: pop-in handled by reveal-target; add hover tilt */
.stat-card{ transition:transform .25s ease, box-shadow .25s ease; }
.stat-card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(4,44,83,.16); }
.stat-card .num{ font-variant-numeric:tabular-nums; }

/* Gallery: zoom + overlay affordance */
.gallery-item{ transition:box-shadow .25s ease; }
.gallery-item::after{
  content:"\1F50D"; /* magnifying-glass emoji — renders via system font, no icon-font dependency */
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem;
  background:rgba(4,44,83,0);
  opacity:0;
  transition:opacity .25s ease, background-color .25s ease;
  pointer-events:none;
}
.gallery-item:hover::after{ opacity:1; background:rgba(4,20,32,.28); }
.gallery-item:hover{ box-shadow:0 14px 30px rgba(4,44,83,.22); }

/* Client logos: lift + color on hover (kept, refined) */
.client-logo{ transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.client-logo:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(4,44,83,.12); border-color:transparent; }

/* Nav link animated underline */
.navbar-sas .nav-link{ position:relative; }
.navbar-sas .nav-link::after{
  content:"";
  position:absolute; left:1rem; right:1rem; bottom:.25rem;
  height:2px; background:var(--amber-500);
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.navbar-sas .nav-link:hover::after,
.navbar-sas .nav-link.active::after{ transform:scaleX(1); }

/* Logo mark: tiny idle flicker to suggest the "flame" — very subtle, slow */
@keyframes flameFlicker{
  0%,100%{ filter:brightness(1); }
  50%{ filter:brightness(1.08); }
}
.navbar-brand-sas img, .footer-brand img{ animation:flameFlicker 3.2s ease-in-out infinite; }

/* ============================================================
   Marquee (auto-scrolling logo strip)
   ============================================================ */
.marquee{
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{
  display:flex;
  align-items:center;
  gap:3.5rem;
  width:max-content;
  animation:marqueeScroll 32s linear infinite;
}
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track .brand-strip,
.marquee-track .client-logo{ flex:0 0 auto; }
.marquee-track .brand-strip{ width:140px; }
.marquee-track .client-logo{ width:150px; }

/* ============================================================
   Testimonial carousel refinements
   ============================================================ */
.testimonial-carousel .carousel-inner{ padding:.5rem .25rem 2.5rem; }
.testimonial-carousel .carousel-indicators{ bottom:-.5rem; }
.testimonial-carousel .carousel-indicators button{
  width:8px; height:8px; border-radius:50%;
  background-color:var(--blue-200);
  opacity:1; border:0; margin:0 4px;
}
.testimonial-carousel .carousel-indicators button.active{ background-color:var(--amber-500); }
.testimonial-carousel .carousel-control-prev,
.testimonial-carousel .carousel-control-next{
  width:44px; height:44px; top:40%; border-radius:50%;
  background:#fff; box-shadow:var(--shadow-card); opacity:1;
}
.testimonial-carousel .carousel-control-prev{ left:-12px; }
.testimonial-carousel .carousel-control-next{ right:-12px; }
.testimonial-carousel .carousel-control-prev-icon,
.testimonial-carousel .carousel-control-next-icon{ filter:invert(20%) sepia(60%) saturate(900%) hue-rotate(180deg); width:1rem; height:1rem; }

@media (max-width:767.98px){
  .testimonial-carousel .carousel-control-prev,
  .testimonial-carousel .carousel-control-next{ display:none; }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce){
  .hero-media, .hero::after, .page-header::after, .cta-banner::after,
  .hero-eyebrow, .hero h1, .hero p.lead, .hero .d-flex.gap-3,
  .btn-amber.btn-lg.pulse-cta, .marquee-track, .navbar-brand-sas img, .footer-brand img{
    animation:none !important;
  }
  body.js-reveal-ready .reveal-target{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
}

/* ============================================================
   Navbar dropdown (Achievements)
   ============================================================ */
.navbar-sas .dropdown-menu{
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius);
  box-shadow:0 16px 34px rgba(4,44,83,.16);
  padding:.5rem;
  margin-top:.5rem;
}
.navbar-sas .dropdown-item{
  border-radius:6px;
  padding:.55rem .8rem;
  font-size:.92rem;
  color:var(--ink);
  transition:background-color .15s ease, color .15s ease;
}
.navbar-sas .dropdown-item:hover,
.navbar-sas .dropdown-item:focus{
  background:var(--blue-50);
  color:var(--blue-800);
}
.navbar-sas .dropdown-item.active{
  background:var(--blue-800);
  color:#fff;
}
.navbar-sas .dropdown-toggle::after{ vertical-align:.15em; }

/* ============================================================
   Panel-type info sections (Panels / Gallery page)
   ============================================================ */
.panel-type-section:nth-of-type(even){ background:var(--surface); }
.panel-type-head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:1.75rem;
}
.panel-type-head .icon-badge{
  width:56px; height:56px;
  font-size:1.6rem;
  flex-shrink:0;
}
.panel-spec-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:.6rem .5rem;
}
.panel-spec-list li{
  font-size:.9rem;
  color:var(--ink-soft);
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  padding:.4rem .6rem;
  background:#fff;
  border:1px solid rgba(4,44,83,.07);
  border-radius:var(--radius-sm);
}
.panel-type-section:nth-of-type(even) .panel-spec-list li{ background:var(--paper); }
.panel-spec-list li i{ color:var(--amber-500); margin-top:.15rem; }

.no-photo-note{
  border:1.5px dashed var(--blue-200);
  border-radius:var(--radius);
  padding:1.25rem 1.5rem;
  background:var(--blue-50);
  color:var(--blue-800);
  font-size:.92rem;
}

/* ============================================================
   Achievements & Certifications pages
   ============================================================ */
.achievement-stat{
  text-align:center;
  padding:1.75rem 1rem;
  background:#fff;
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius);
  height:100%;
}
.achievement-stat .num{
  font-family:'Barlow Semi Condensed', sans-serif;
  font-size:2.4rem;
  font-weight:700;
  color:var(--blue-800);
  display:block;
}
.achievement-stat .label{ font-size:.88rem; color:var(--ink-soft); }

.cert-card{
  background:#fff;
  border:1px solid rgba(4,44,83,.08);
  border-radius:var(--radius);
  padding:1.6rem;
  height:100%;
}
.cert-card .icon-badge{ width:50px; height:50px; }
.cert-status{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.78rem;
  font-weight:600;
  padding:.25rem .65rem;
  border-radius:100px;
  background:var(--amber-50);
  color:var(--amber-600);
  margin-bottom:.75rem;
}

.client-name{text-align:center;font-size:.78rem;font-weight:600;color:var(--blue-800);line-height:1.25;margin-top:.45rem;min-height:2.1em;}
.clients-grid .client-name{white-space:nowrap;}


/* ============================================================
   Achievements dropdown — open on hover on desktop
   ============================================================ */
@media (min-width: 992px){
  .navbar-sas .nav-item.dropdown{
    position: relative;
  }

  .navbar-sas .nav-item.dropdown:hover > .dropdown-menu,
  .navbar-sas .nav-item.dropdown:focus-within > .dropdown-menu{
    display: block;
    margin-top: 0;
  }

  .navbar-sas .nav-item.dropdown:hover > .dropdown-toggle::after{
    transform: rotate(180deg);
  }
}

/* The dropdown parent should use the same amber hover color as other links. */
.navbar-sas .dropdown-toggle:hover,
.navbar-sas .dropdown-toggle.active:hover{
  color: var(--amber-600) !important;
}

/* ============================================================
   Final Achievements hover dropdown refinement
   ============================================================ */
@media (min-width: 992px){
  .navbar-sas .nav-item.dropdown{
    position: relative;
    isolation: isolate;
  }

  /* Keep the dropdown directly below Achievements and hidden until hover. */
  .navbar-sas .nav-item.dropdown > .dropdown-menu{
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, 8px);
    min-width: 245px;
    margin: 0 !important;
    padding: .45rem;
    background: #fff;
    border: 1px solid rgba(4, 44, 83, .12);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(4, 44, 83, .16);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  }

  .navbar-sas .nav-item.dropdown:hover > .dropdown-menu,
  .navbar-sas .nav-item.dropdown:focus-within > .dropdown-menu{
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
  }

  /* Do not give the dropdown parent a brown background. */
  .navbar-sas .nav-item.dropdown > .dropdown-toggle,
  .navbar-sas .nav-item.dropdown > .dropdown-toggle.active{
    background: transparent !important;
  }

  .navbar-sas .nav-item.dropdown > .dropdown-toggle:hover,
  .navbar-sas .nav-item.dropdown:hover > .dropdown-toggle,
  .navbar-sas .nav-item.dropdown:hover > .dropdown-toggle.active{
    color: #d88916 !important;
  }

  .navbar-sas .dropdown-menu .dropdown-item,
  .navbar-sas .dropdown-menu .dropdown-item.active{
    display: block;
    width: 100%;
    background: transparent !important;
    color: var(--ink) !important;
    border-radius: 6px;
  }

  .navbar-sas .dropdown-menu .dropdown-item:hover,
  .navbar-sas .dropdown-menu .dropdown-item:focus{
    background: #fff7e9 !important;
    color: #c8750d !important;
  }
}

/* ============================================================
   Achievements navigation hover — match Panels styling
   ============================================================ */
.navbar-sas .nav-item.dropdown > .dropdown-toggle:hover,
.navbar-sas .nav-item.dropdown:hover > .dropdown-toggle,
.navbar-sas .nav-item.dropdown:hover > .dropdown-toggle.active,
.navbar-sas .nav-item.dropdown > .dropdown-toggle.active:hover {
  color: var(--blue-700) !important;
  background: transparent !important;
}

.navbar-sas .nav-item.dropdown > .dropdown-toggle:hover::after,
.navbar-sas .nav-item.dropdown:hover > .dropdown-toggle::after,
.navbar-sas .nav-item.dropdown > .dropdown-toggle.active:hover::after {
  transform: scaleX(1) !important;
}

/* Keep the dropdown itself clean and separate from the nav-link hover style. */
@media (min-width: 992px) {
  .navbar-sas .nav-item.dropdown > .dropdown-menu {
    left: 0;
    transform: translateY(8px);
  }

  .navbar-sas .nav-item.dropdown:hover > .dropdown-menu,
  .navbar-sas .nav-item.dropdown:focus-within > .dropdown-menu {
    transform: translateY(0);
  }
}
/* ==========================================================
   MODERN INDUSTRIAL HOMEPAGE REDESIGN
   ========================================================== */
:root{--modern-navy:#081a2b;--modern-blue:#102c43;--modern-orange:#f28c28;--modern-light:#f1f5f8;--modern-ink:#172b3a}
body{font-family:'Inter',sans-serif;color:var(--modern-ink);background:#fff}.navbar-sas{background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.new-hero{margin-top:74px;min-height:650px;padding:90px 0 105px;background:linear-gradient(125deg,#071827 0%,#0b2940 58%,#123b55 100%);color:#fff;position:relative;overflow:hidden}.hero-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 85%)}.new-hero h1{font-size:clamp(3rem,5.3vw,5.4rem);line-height:.98;letter-spacing:-2px;font-weight:800;margin:18px 0 25px}.new-hero h1 em{font-style:normal;color:#f6a04a}.hero-eyebrow,.section-kicker{font-size:.75rem;letter-spacing:2px;font-weight:800;color:var(--modern-orange)}.hero-eyebrow span{display:inline-block;width:28px;height:2px;background:var(--modern-orange);vertical-align:middle;margin-right:8px}.hero-copy{max-width:530px;color:#c4d3df;font-size:1.08rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.hero-text-link,.link-arrow{color:inherit;text-decoration:none;font-weight:700}.hero-text-link:hover,.link-arrow:hover{color:var(--modern-orange)}.hero-trust{margin-top:48px;color:#8fa9ba;font-size:.78rem;display:flex;gap:10px;align-items:center}.hero-trust i{color:var(--modern-orange);font-size:1.2rem}.hero-visual{position:relative;min-height:450px}.visual-frame{position:absolute;right:0;top:0;width:88%;height:410px;border:1px solid rgba(255,255,255,.2);padding:12px;transform:rotate(2deg);background:rgba(255,255,255,.04);box-shadow:0 30px 70px rgba(0,0,0,.35)}.visual-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.visual-tag{position:absolute;bottom:8px;left:0;background:#fff;color:var(--modern-ink);padding:18px 22px;display:flex;gap:14px;align-items:center;box-shadow:0 15px 35px rgba(0,0,0,.25)}.visual-tag i{font-size:1.7rem;color:var(--modern-orange)}.visual-tag strong,.visual-tag small{display:block}.visual-tag small{font-size:.72rem;color:#6a7b87;margin-top:3px}.visual-orbit{position:absolute;width:150px;height:150px;border:1px solid rgba(242,140,40,.55);border-radius:50%;right:-45px;bottom:15px}.stats-ribbon{background:var(--modern-orange);color:#fff}.stat-modern{padding:26px 20px;border-right:1px solid rgba(255,255,255,.25);text-align:center}.stat-modern:last-child{border:0}.stat-modern strong{display:block;font-size:2.2rem;font-weight:800}.stat-modern strong span{font-size:1.3rem}.stat-modern small{font-size:.75rem;letter-spacing:.5px;text-transform:uppercase;opacity:.9}.section-modern{padding:105px 0}.image-stack{height:450px;position:relative}.main-shot{width:78%;height:390px;object-fit:cover}.small-shot{position:absolute;width:45%;height:190px;object-fit:cover;right:0;bottom:0;border:12px solid #fff}.image-label{position:absolute;left:0;bottom:24px;background:var(--modern-navy);color:#fff;padding:12px 18px;font-size:.65rem;letter-spacing:1.5px;font-weight:700}.about-modern h2,.expertise-section h2,.applications-section h2,.cta-modern h2{font-size:clamp(2.1rem,3.6vw,3.5rem);line-height:1.08;font-weight:800;letter-spacing:-1.5px;margin:15px 0 25px}.about-modern p{color:#637480;line-height:1.8}.large-copy{font-size:1.12rem;color:var(--modern-ink)!important}.solutions-section{padding:100px 0;background:var(--modern-navy);color:#fff}.section-kicker.light{color:#f6a04a}.section-heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.solutions-section h2{font-size:clamp(2.1rem,3.5vw,3.4rem);max-width:650px;line-height:1.1;margin-top:15px}.outline-light-link{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:8px}.solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.solution-card{color:#fff;text-decoration:none;padding:28px 24px;min-height:330px;background:linear-gradient(145deg,#12334b,#0d2538);border:1px solid rgba(255,255,255,.1);position:relative;transition:.3s}.solution-card:hover{transform:translateY(-8px);border-color:var(--modern-orange);color:#fff}.solution-feature{background:linear-gradient(145deg,#f28c28,#c9670f)}.solution-number{font-size:.72rem;opacity:.65;position:absolute;top:22px;right:22px}.solution-card i{font-size:2rem;color:#f6a04a;margin-top:35px;display:block}.solution-feature i{color:#fff}.solution-card h3{font-size:1.35rem;margin:25px 0 15px}.solution-card p{color:#a9bfcc;font-size:.88rem;line-height:1.7}.solution-feature p{color:#fff}.solution-card span{position:absolute;bottom:25px;font-size:.75rem;font-weight:700}.solution-card span i{font-size:.9rem;display:inline;margin:0 0 0 5px}.expertise-section{padding:105px 0;background:#fff}.expertise-section h2 span{color:#2f80ed}.expertise-section> .container-xl> .row> .col-lg-5>p{color:#667985;line-height:1.8;max-width:440px}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tech-card{padding:28px;background:var(--modern-light);min-height:220px;border-left:3px solid transparent;transition:.3s}.tech-card:hover{border-color:var(--modern-orange);transform:translateY(-4px)}.tech-card small{float:right;color:#9aabb5}.tech-card i{font-size:1.7rem;color:#2f80ed}.tech-card h3{font-size:1.15rem;margin:20px 0 12px}.tech-card p{font-size:.82rem;line-height:1.7;color:#657783}.applications-section{padding:90px 0;background:#e8eef2}.applications-section p{color:#657783;line-height:1.7}.application-pills{display:flex;flex-wrap:wrap;gap:12px}.application-pills span{background:#fff;padding:17px 22px;font-weight:700;font-size:.85rem;border:1px solid #d9e2e7;transition:.2s}.application-pills span:hover{background:var(--modern-navy);color:#fff;border-color:var(--modern-navy)}.cta-modern{padding:35px 0;background:#e8eef2}.cta-inner{background:linear-gradient(120deg,#0b263b,#123f5a);padding:55px 65px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}.cta-inner:after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(242,140,40,.3);border-radius:50%;right:-100px;top:-130px}.cta-modern h2{margin:12px 0 10px}.cta-modern p{color:#b7cad6;margin:0}.footer-sas{background:#071522;color:#a7bbc7;padding:65px 0 0}.footer-sas h3{color:#fff}.footer-sas strong{color:#fff}.footer-sas p{line-height:1.8;font-size:.85rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding:20px 0;font-size:.75rem}
@media(max-width:991px){.new-hero{padding:65px 0 85px}.hero-visual{min-height:400px}.solution-grid{grid-template-columns:1fr 1fr}.section-heading-row{display:block}.outline-light-link{display:inline-block;margin-top:20px}.navbar-sas .nav-link{padding:.55rem 0!important}.nav-cta{margin-left:0!important;margin-top:10px}.cta-inner{padding:40px 30px;display:block}.cta-inner .btn{margin-top:25px}}@media(max-width:575px){.new-hero h1{font-size:3.1rem}.hero-actions{display:block}.hero-text-link{display:inline-block;margin-top:22px}.hero-visual{min-height:330px}.visual-frame{height:300px;width:92%}.visual-tag{padding:12px;bottom:0}.image-stack{height:350px}.main-shot{height:300px}.small-shot{height:145px}.solution-grid,.tech-grid{grid-template-columns:1fr}.solution-card{min-height:270px}.stat-modern{padding:20px 8px}.stat-modern strong{font-size:1.7rem}.stat-modern small{font-size:.62rem}.cta-inner{padding:32px 22px}}


/* Logo-contrast palette: based on the SAS logo's cyan, yellow and white */
.site-header, header { background:#FFFFFF; }
.site-header .brand img, header .brand img, .navbar-brand img { background:#FFFFFF; }
.hero, .hero-section, .page-hero { background:linear-gradient(135deg,#061B33 0%,#0B3558 65%,#006B91 100%); }
.btn-primary, .button-primary { background:#00B0F0; border-color:#00B0F0; color:#061B33; }
.btn-primary:hover, .button-primary:hover { background:#F2D400; border-color:#F2D400; color:#061B33; }
.section-label, .kicker, .eyebrow { color:#B08C00; }

/* ============================================================
   Final visual refinement — stronger contrast and navigation states
   ============================================================ */
:root{
  --ink:#163047;
  --ink-soft:#536B7D;
  --heading:#062C50;
  --accent-cyan:#00A9E8;
  --accent-yellow:#E3BE00;
}

body{ color:var(--ink); background:#fff; }
h1,h2,h3,h4,h5,h6{ color:var(--heading); }
p{ color:var(--ink-soft); }

/* Make the navigation readable, polished and consistent. */
.navbar-sas .nav-link,
.navbar-sas .dropdown-toggle{
  color:#163047 !important;
  font-weight:600;
  transition:color .2s ease;
}
.navbar-sas .nav-link:hover,
.navbar-sas .nav-link:focus,
.navbar-sas .nav-link.active,
.navbar-sas .dropdown-toggle:hover,
.navbar-sas .dropdown-toggle:focus,
.navbar-sas .dropdown-toggle.active{
  color:#145D95 !important;
}
.navbar-sas .nav-link::after{
  background:#E3BE00;
  height:3px;
  border-radius:3px;
  bottom:.12rem;
}
/* The Achievements parent gets exactly the same active/hover treatment as Projects. */
.navbar-sas .nav-item.dropdown > .dropdown-toggle::after{
  border-top-color:currentColor;
}
.navbar-sas .nav-item.dropdown > .dropdown-toggle::before{
  content:"";
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:.12rem;
  height:3px;
  border-radius:3px;
  background:#E3BE00;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.navbar-sas .nav-item.dropdown > .dropdown-toggle:hover::before,
.navbar-sas .nav-item.dropdown > .dropdown-toggle.active::before,
.navbar-sas .nav-item.dropdown:hover > .dropdown-toggle::before,
.navbar-sas .nav-item.dropdown:focus-within > .dropdown-toggle::before{
  transform:scaleX(1);
}

/* Stronger typography and spacing for inner pages. */
.page-header{
  background:linear-gradient(115deg,#062C50 0%,#0A4778 72%,#087FAE 100%);
  padding:4.6rem 0 3.8rem;
}
.page-header::before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-70px;
  top:-110px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 56px rgba(255,255,255,.025);
}
.page-header h1{
  font-size:clamp(2.5rem,5vw,4.25rem);
  font-weight:700;
  letter-spacing:-.8px;
  text-shadow:0 2px 8px rgba(0,0,0,.16);
}
.page-header p{ color:#E4F6FC; font-size:1.02rem; }
.breadcrumb-sas,.breadcrumb-sas a{ color:#AEEBFA; }

.section-head h2{
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:700;
  letter-spacing:-.35px;
}
.section-head p{ font-size:1rem; color:#5B7181; }

.achievement-stat,
.service-card,
.project-card,
.cert-card,
.testimonial-card{
  box-shadow:0 8px 24px rgba(6,44,80,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.achievement-stat:hover,
.service-card:hover,
.project-card:hover,
.cert-card:hover,
.testimonial-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 34px rgba(6,44,80,.13);
  border-color:rgba(0,169,232,.35);
}
.achievement-stat .num{ color:#0A6DAB; }
.achievement-stat .label{ color:#536B7D; font-weight:500; }

/* Make light-section text less muddy. */
.bg-surface{ background:#F3F8FB; }
.text-soft{ color:#536B7D !important; }

@media (max-width:991.98px){
  .navbar-sas .nav-item.dropdown > .dropdown-toggle::before{ display:none; }
  .navbar-sas .nav-link::after{ left:0; right:auto; width:42px; }
}

/* ============================================================
   Accessibility and contrast refinements
   ============================================================ */
.new-hero h1,
.new-hero h1 strong {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .22);
}
.new-hero h1 em {
  color: #ffd84a !important;
}
.new-hero .hero-copy {
  color: #eef7fc !important;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .2);
}
.new-hero .hero-eyebrow {
  color: #ffd84a !important;
}
.new-hero .hero-trust {
  color: #d9e9f2 !important;
}

/* Lighter cards: maintain contrast without using near-black surfaces */
.solutions-section {
  background: #eaf3f8;
  color: #102c43;
}
.solutions-section h2 {
  color: #0b3557;
}
.solutions-section .section-kicker.light {
  color: #b17b00;
}
.solutions-section .outline-light-link {
  color: #0b4f83;
  border-color: #8aaabd;
}
.solution-card,
.solution-card.solution-feature {
  background: #ffffff;
  color: #12334b;
  border: 1px solid #c8dce7;
  box-shadow: 0 8px 24px rgba(11, 53, 87, .08);
}
.solution-card:hover,
.solution-card.solution-feature:hover {
  background: #f7fcff;
  color: #12334b;
  border-color: #00a9df;
  box-shadow: 0 14px 30px rgba(11, 53, 87, .14);
}
.solution-card.solution-feature {
  background: linear-gradient(145deg, #0b5b89, #087ca8);
  color: #ffffff;
  border-color: #087ca8;
}
.solution-card.solution-feature:hover {
  background: linear-gradient(145deg, #08658f, #0791bd);
  color: #ffffff;
}
.solution-card h3,
.solution-card.solution-feature h3 {
  color: #12334b !important;
}
.solution-card.solution-feature h3 {
  color: #ffffff !important;
}
.solution-card p {
  color: #526b7a !important;
}
.solution-card.solution-feature p {
  color: #eefaff !important;
}
.solution-card i {
  color: #087ca8;
}
.solution-card.solution-feature i,
.solution-card span,
.solution-card.solution-feature span {
  color: inherit;
}
.solution-card span {
  color: #0b5b89;
}
.solution-card.solution-feature span {
  color: #ffffff;
}
.solution-number {
  color: #5f7b8c;
}
.solution-card.solution-feature .solution-number {
  color: rgba(255,255,255,.75);
}

/* Technical-information cards */
.tech-card {
  background: #f4f9fc;
  border: 1px solid #d6e5ed;
  border-left: 3px solid #00a9df;
  box-shadow: 0 6px 18px rgba(11, 53, 87, .06);
}
.tech-card h3 {
  color: #12334b !important;
}
.tech-card p {
  color: #526b7a !important;
}
.tech-card i {
  color: #087ca8;
}


/* ============================================================
   Services page enhancement — animated cards and application panel
   ============================================================ */
.service-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid #dce8f1;
  border-radius:18px;
  padding:2rem 1.65rem 1.65rem;
  box-shadow:0 10px 28px rgba(4,44,83,.06);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.service-card::before{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-55px;
  top:-55px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(0,176,240,.16), rgba(242,212,0,.12));
  z-index:-1;
  transition:transform .5s ease;
}
.service-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--blue-400),var(--amber-400));
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .35s ease;
}
.service-card:hover{
  transform:translateY(-10px) rotateX(1deg);
  box-shadow:0 20px 42px rgba(4,44,83,.14);
  border-color:#a9dced;
}
.service-card:hover::before{ transform:scale(2.1); }
.service-card:hover::after{ transform:scaleY(1); }
.service-card .icon-badge{
  position:relative;
  width:58px;
  height:58px;
  border-radius:16px;
  background:linear-gradient(135deg,#e7f8ff,#fff8d5);
  color:var(--blue-800);
  box-shadow:0 7px 16px rgba(0,120,180,.10);
  transition:transform .35s ease, background .35s ease;
}
.service-card:hover .icon-badge{
  transform:rotate(-8deg) scale(1.08);
  background:linear-gradient(135deg,#c9f2ff,#ffef9b);
}
.service-card h3{ margin-top:.15rem; font-size:1.28rem; }
.service-card p{ line-height:1.75; }
.service-card:nth-child(3n+2){ transform-origin:center; }
.service-card:nth-child(3n+2):hover{ transform:translateY(-10px) rotateX(1deg) rotateZ(.35deg); }

/* Decorative section background */
.bg-surface:has(.service-card){
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f5f9fc 0%,#eef8fc 55%,#fffdf0 100%);
}
.bg-surface:has(.service-card)::before{
  content:"";
  position:absolute;
  width:340px;height:340px;
  border:1px solid rgba(0,176,240,.12);
  border-radius:50%;
  right:-150px;top:40px;
  box-shadow:0 0 0 35px rgba(0,176,240,.035),0 0 0 70px rgba(0,176,240,.025);
  animation:slowOrbit 18s linear infinite;
  pointer-events:none;
}
@keyframes slowOrbit{to{transform:rotate(360deg)}}

/* Application table: framed, decorative, readable */
.application-panel{
  position:relative;
  padding:1.4rem;
  border:1px solid #d6e7f0;
  border-radius:24px;
  background:linear-gradient(145deg,#ffffff,#f3faff);
  box-shadow:0 18px 45px rgba(4,44,83,.09);
  overflow:hidden;
}
.application-panel::before{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,176,240,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,176,240,.045) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:linear-gradient(to bottom,black,transparent 75%);
  pointer-events:none;
}
.application-panel-top,.application-panel-footer{position:relative;z-index:1}
.application-panel-top{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:.3rem .35rem 1.25rem;
}
.application-label{
  display:inline-flex;align-items:center;gap:.5rem;
  color:var(--blue-800);font-size:.75rem;font-weight:800;letter-spacing:1.3px;
}
.application-label i{color:var(--amber-600)}
.application-intro{margin:.35rem 0 0;color:var(--ink-soft);font-size:.9rem}
.application-search{
  min-width:255px;display:flex;align-items:center;gap:.6rem;
  background:#fff;border:1px solid #cfe1ec;border-radius:12px;padding:.6rem .85rem;
  box-shadow:0 5px 15px rgba(4,44,83,.05);
}
.application-search i{color:var(--blue-600)}
.application-search input{border:0;outline:0;width:100%;background:transparent;color:var(--ink);font-size:.9rem}
.app-table{border-collapse:separate;border-spacing:0 7px;font-size:.93rem;position:relative;z-index:1}
.app-table thead th{background:var(--blue-900);padding:1rem 1.1rem;border:0;text-transform:uppercase;font-size:.74rem;letter-spacing:1px}
.app-table thead th:first-child{border-radius:12px 0 0 12px}
.app-table thead th:last-child{border-radius:0 12px 12px 0}
.app-table tbody{counter-reset:application}
.app-table tbody tr{counter-increment:application;transition:transform .25s ease,filter .25s ease}
.app-table tbody tr:hover{transform:translateX(5px)}
.app-table tbody td{background:#fff;border:0;padding:.82rem 1.1rem;color:var(--ink);box-shadow:0 3px 10px rgba(4,44,83,.045)}
.app-table tbody td:first-child{border-radius:12px 0 0 12px;font-weight:600;color:var(--blue-900)}
.app-table tbody td:first-child::before{content:counter(application,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:.7rem;border-radius:8px;background:#e8f8fd;color:var(--blue-700);font-size:.7rem;font-weight:800}
.app-table tbody td:last-child{border-radius:0 12px 12px 0;color:var(--blue-700);font-weight:700}
.app-table tbody td:last-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--amber-400);margin-right:.55rem;vertical-align:middle}
.app-table tbody tr:hover td{background:#f0fbff}
.application-panel-footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.15rem .35rem .1rem;color:var(--ink-soft);font-size:.8rem}
.application-panel-footer i{color:var(--blue-600);margin-right:.3rem}
@media(max-width:767.98px){
  .application-panel-top{align-items:stretch;flex-direction:column}
  .application-search{min-width:0;width:100%}
  .application-panel{padding:.8rem}
  .app-table{min-width:620px}
}
@media(prefers-reduced-motion:reduce){
  .service-card,.service-card::before,.service-card::after,.service-card .icon-badge,.bg-surface:has(.service-card)::before{animation:none!important;transition:none!important}
}

/* Homepage content inspired by the SAS company profile */
.section-intro-light{max-width:650px;color:rgba(255,255,255,.72);margin-top:14px}.activity-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.activity-card{position:relative;display:flex;gap:18px;align-items:flex-start;min-height:245px;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(145deg,#123d62,#0a2948);color:#fff;text-decoration:none;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.activity-card:before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(42,196,220,.18);border-radius:50%;right:-65px;bottom:-75px;transition:transform .5s ease}.activity-card:hover{transform:translateY(-9px);box-shadow:0 22px 45px rgba(0,0,0,.2);border-color:#f3c928;color:#fff}.activity-card:hover:before{transform:scale(1.35)}.activity-wide{grid-column:span 2;min-height:190px}.activity-icon{flex:0 0 54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#f3c928;color:#092b4c;font-size:24px}.activity-label{display:block;color:#f3c928;font-size:11px;letter-spacing:1.5px;font-weight:800;margin-bottom:9px}.activity-card h3{font-size:25px;margin:0 0 10px;font-weight:800}.activity-card p{color:rgba(255,255,255,.75);line-height:1.7;margin:0;max-width:700px}.activity-arrow{position:absolute;right:24px;top:24px;color:#f3c928;font-size:22px}.product-expertise-section{padding:110px 0;background:#f3f8fb}.expertise-mini-list{margin-top:26px;display:grid;gap:13px}.expertise-mini-list div{display:flex;align-items:center;gap:10px;font-weight:700;color:#163957}.expertise-mini-list i{color:#10a8bd;font-size:20px}.product-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.product-tile{position:relative;padding:28px;border-radius:22px;background:#fff;border:1px solid #dceaf0;min-height:220px;box-shadow:0 12px 30px rgba(8,42,70,.06);transition:transform .3s ease,box-shadow .3s ease}.product-tile:hover{transform:translateY(-8px);box-shadow:0 20px 38px rgba(8,42,70,.13)}.product-tile-accent{background:#0c3558;color:#fff;border-color:#0c3558}.product-tile i{font-size:32px;color:#0fa9bd}.product-tile-accent i{color:#f3c928}.product-tile h3{font-size:22px;margin:18px 0 9px}.product-tile p{font-size:14px;line-height:1.65;color:#64798a}.product-tile-accent p{color:rgba(255,255,255,.75)}.product-tile-number{position:absolute;right:20px;top:18px;font-size:12px;font-weight:800;color:#9db4c1}.technology-section{padding:110px 0;background:#fff}.section-intro{max-width:700px;color:#63788a}.technology-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:35px}.technology-brand-card{padding:25px;border:1px solid #dbe8ee;border-radius:20px;background:linear-gradient(180deg,#fff,#f5fafc);min-height:340px;transition:transform .3s ease,box-shadow .3s ease}.technology-brand-card:hover{transform:translateY(-8px);box-shadow:0 18px 35px rgba(8,42,70,.1)}.technology-brand-card>img{width:100%;height:70px;object-fit:contain;object-position:left center;margin-bottom:18px}.technology-brand-card h3{font-size:20px;color:#103554;margin-bottom:12px}.technology-brand-card p{font-size:13px;line-height:1.7;color:#64798a}.tech-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.tech-tags span{font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:800;padding:6px 9px;border-radius:20px;background:#e4f5f7;color:#087d91}.partner-logos{background:#0b3153;color:#fff}.partner-logos h3{color:#fff;margin-top:20px}.partner-logos p{color:rgba(255,255,255,.72)}.partner-logo-row{display:flex;align-items:center;gap:15px;margin-bottom:12px}.partner-logo-row img{width:46%;height:42px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}
@media(max-width:991px){.technology-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-card h3{font-size:22px}}
@media(max-width:575px){.activity-bento,.product-showcase,.technology-layout{grid-template-columns:1fr}.activity-wide{grid-column:span 1}.activity-card{min-height:auto;padding:23px}.technology-brand-card{min-height:auto}}
.technical-visual-section{padding:95px 0;background:linear-gradient(135deg,#f7fbfd,#eaf5f8);position:relative;overflow:hidden}.technical-visual-section:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(15,169,189,.16);border-radius:50%;right:-180px;top:-180px}.technical-visual-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.technical-visual-heading h2{margin:8px 0 10px;color:#103554}.technical-visual-heading p{max-width:650px;color:#64798a;margin:0}.technical-visual-badge{white-space:nowrap;background:#fff;border:1px solid #d5e7ed;border-radius:999px;padding:11px 16px;color:#0a7890;font-size:12px;font-weight:800}.technical-visual-badge i{margin-right:7px}.technical-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.technical-visual-grid figure{margin:0;background:#fff;border:1px solid #dbe9ee;border-radius:22px;padding:12px;box-shadow:0 12px 30px rgba(8,42,70,.07);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}.technical-visual-grid figure:hover{transform:translateY(-9px);box-shadow:0 22px 42px rgba(8,42,70,.14)}.technical-visual-grid img{display:block;width:100%;height:190px;object-fit:cover;object-position:center;border-radius:15px}.technical-visual-grid figcaption{padding:17px 8px 8px;display:flex;flex-direction:column;gap:5px}.technical-visual-grid figcaption strong{font-size:18px;color:#103554}.technical-visual-grid figcaption span{font-size:13px;color:#718695}@media(max-width:767px){.technical-visual-heading{display:block}.technical-visual-badge{display:inline-block;margin-top:20px}.technical-visual-grid{grid-template-columns:1fr}}

/* ============================================================
   Final refinement: aligned activity cards + complete Slide 4 gallery
   ============================================================ */
.activity-bento{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.activity-card{
  min-height:300px;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:30px 28px 28px;
  border-radius:24px;
  background:linear-gradient(145deg,#123f64 0%,#0b2d4d 100%);
  border:1px solid rgba(125,220,239,.22);
  box-shadow:0 14px 30px rgba(0,0,0,.13);
}
.activity-card.activity-wide{grid-column:span 2;min-height:270px;}
.activity-card:nth-child(2){background:linear-gradient(145deg,#155879,#0b3b5b)}
.activity-card:nth-child(3){background:linear-gradient(145deg,#174b68,#10344f)}
.activity-card:nth-child(4){background:linear-gradient(145deg,#164565,#0c2d4c)}
.activity-card:nth-child(5){background:linear-gradient(145deg,#0f4d68,#0a304f)}
.activity-icon{margin-bottom:25px;width:58px;height:58px;flex-basis:58px;border-radius:18px;box-shadow:0 8px 18px rgba(0,0,0,.15);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;}
.activity-card:hover .activity-icon{transform:translateY(-4px) rotate(-7deg) scale(1.08);box-shadow:0 12px 24px rgba(243,201,40,.18)}
.activity-card h3{font-size:clamp(1.25rem,1.7vw,1.65rem);line-height:1.18;margin:0 0 13px;max-width:520px;}
.activity-card p{font-size:.93rem;line-height:1.75;color:rgba(255,255,255,.78);max-width:650px;}
.activity-card>div:nth-child(2){flex:1;}
.activity-arrow{top:25px;right:25px;transition:transform .3s ease,color .3s ease;}
.activity-card:hover .activity-arrow{transform:translate(4px,-4px);color:#fff;}
.activity-card:after{content:"";position:absolute;left:28px;right:28px;bottom:0;height:3px;border-radius:5px;background:linear-gradient(90deg,#f3c928,#20c4d8);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.activity-card:hover:after{transform:scaleX(1);}
.technical-visual-grid-expanded{grid-template-columns:repeat(4,minmax(0,1fr));}
.technical-visual-grid-expanded figure{display:flex;flex-direction:column;height:100%;padding:14px;border-radius:24px;}
.technical-visual-grid-expanded figure:nth-child(5){grid-column:span 2;}
.technical-visual-grid-expanded img{height:175px;object-fit:contain;background:#fff;padding:5px;}
.technical-visual-grid-expanded figcaption{flex:1;}
.technical-visual-grid-expanded figcaption strong{line-height:1.25;}
@media(max-width:991px){
 .activity-bento{grid-template-columns:repeat(2,minmax(0,1fr));}
 .activity-card.activity-wide{grid-column:span 2;}
 .technical-visual-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}
 .technical-visual-grid-expanded figure:nth-child(5){grid-column:span 1;}
}
@media(max-width:575px){
 .activity-bento{grid-template-columns:1fr;}
 .activity-card.activity-wide{grid-column:span 1;}
 .technical-visual-grid-expanded{grid-template-columns:1fr;}
}


/* Homepage gallery preview */
.homepage-gallery-section{padding:6rem 0;background:#f5f9fc;position:relative;overflow:hidden}
.homepage-gallery-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(4,44,83,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(4,44,83,.035) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}
.homepage-gallery-section>.container-xl{position:relative;z-index:1}
.gallery-heading-row{align-items:flex-end;margin-bottom:2rem}
.homepage-gallery-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:220px 220px;gap:1rem}
.home-gallery-card{position:relative;display:block;overflow:hidden;border-radius:22px;min-height:220px;background:#082c4d;box-shadow:0 14px 35px rgba(4,44,83,.12);isolation:isolate}
.home-gallery-card.home-gallery-large{grid-row:span 2}
.home-gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(3,22,38,.85) 100%);z-index:1}
.home-gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.home-gallery-card span{position:absolute;left:1.25rem;right:1.25rem;bottom:1.1rem;color:#fff;z-index:2;display:flex;flex-direction:column;gap:.2rem}
.home-gallery-card strong{font-family:'Barlow Semi Condensed',sans-serif;font-size:1.45rem;letter-spacing:.01em}
.home-gallery-card small{color:#d8ebf7;font-size:.8rem}
.home-gallery-card:hover img{transform:scale(1.08);filter:saturate(1.12)}
.home-gallery-card:hover{box-shadow:0 20px 45px rgba(4,44,83,.22)}
.fire-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.5rem}
.fire-gallery-card{aspect-ratio:4/3;margin:0;cursor:default;background:#eaf3f8;box-shadow:0 12px 30px rgba(4,44,83,.1)}
.fire-gallery-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,rgba(4,25,42,.9));color:#fff;display:flex;flex-direction:column;gap:.15rem}
.fire-gallery-card figcaption strong{font-family:'Barlow Semi Condensed',sans-serif;font-size:1.15rem}
.fire-gallery-card figcaption span{font-size:.75rem;color:#d8ebf7}
@media(max-width:767px){.homepage-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 180px}.home-gallery-card.home-gallery-large{grid-row:span 1;grid-column:span 2}.fire-gallery-grid{grid-template-columns:1fr}}


/* ============================================================
   FINAL QA PASS — contrast, layout and brand consistency
   Everything below is the last stylesheet block on purpose:
   it resolves the conflicts left by the earlier override
   sections. Do not add rules after this block.
   ============================================================ */

/* --- 1. Brand tokens (single source of truth) ------------- */
:root{
  --sas-navy:#08203A;
  --sas-navy-2:#0B2E4F;
  --sas-blue:#0C447C;
  --sas-cyan:#00B0F0;
  --sas-gold:#F2C200;        /* logo yellow — use on DARK only */
  --sas-gold-ink:#9A7800;    /* readable gold — use on LIGHT only */
  --nav-h:74px;
  /* retire the stray orange palette: map it onto the SAS gold */
  --modern-orange:var(--sas-gold);
}

/* --- 2. Kill horizontal scrolling ------------------------- */
html,body{ max-width:100%; overflow-x:hidden; }
*,*::before,*::after{ min-width:0; }
img,svg,video{ max-width:100%; height:auto; }
.container-xl{ width:100%; }
html{ scroll-padding-top:calc(var(--nav-h) + 16px); }

/* --- 3. Navbar: fits on one line, never wraps ------------- */
.navbar-sas{ padding:.7rem 0; }
.navbar-sas.is-scrolled{ padding:.45rem 0; }
.navbar-brand-sas img{ height:40px; }
.navbar-brand-sas .brand-text strong{ font-size:1.12rem; white-space:nowrap; }
.navbar-brand-sas .brand-text span{ font-size:.66rem; white-space:nowrap; }
.navbar-sas .nav-link{
  padding:.5rem .62rem !important;
  font-size:.92rem;
  white-space:nowrap;
}
@media (min-width:1400px){
  .navbar-sas .nav-link{ padding:.5rem .8rem !important; font-size:.95rem; }
}
.navbar-sas .nav-cta{ margin-left:.65rem; }
.navbar-sas .nav-cta .btn{
  white-space:nowrap;
  padding:.55rem 1.05rem;
  font-weight:700;
  border-radius:10px;
}
.navbar-sas .dropdown-menu{ min-width:16rem; }

/* Collapsed (mobile / tablet) menu */
@media (max-width:1199.98px){
  .navbar-sas .navbar-collapse{
    margin-top:.75rem;
    padding:.5rem .25rem 1rem;
    border-top:1px solid rgba(4,44,83,.1);
    max-height:78vh;
    overflow-y:auto;
  }
  .navbar-sas .nav-link{ padding:.6rem .25rem !important; }
  .navbar-sas .nav-cta{ margin:.75rem 0 0; }
  .navbar-sas .nav-cta .btn{ display:block; text-align:center; }
  .navbar-sas .nav-link::after{ display:none; }
}

/* --- 4. Fixed navbar clearance on inner pages ------------- */
.page-header{
  position:relative;
  overflow:hidden;
  padding:calc(var(--nav-h) + 3.6rem) 0 3.8rem;
  color:#fff;
}
.page-header > .container-xl{ position:relative; z-index:1; }
.page-header h1{ color:#fff; }
.breadcrumb-sas{ margin-bottom:.75rem; font-size:.85rem; }
.breadcrumb-sas a:hover{ color:var(--sas-gold); }
.new-hero{ margin-top:var(--nav-h); }

/* --- 5. Headings on dark surfaces -------------------------
   The global h1–h5 rule paints headings dark navy, which made
   several headings invisible on dark cards. Restore them. */
.new-hero h1,.new-hero h2,.new-hero h3,
.hero h1,.hero h2,.hero h3,
.page-header h1,.page-header h2,
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5,
.blueprint h1,.blueprint h2,.blueprint h3,
.activity-card h3,
.product-tile-accent h3,
.partner-logos h3,
.cta-inner h2,.cta-inner h3,
.cta-modern h2,
.home-gallery-card strong,
.solution-card.solution-feature h3,
.footer-sas h3,.footer-sas h4,.footer-sas h5,
.testimonial-card.is-dark h3{
  color:#fff !important;
}
.activity-card p,
.product-tile-accent p,
.partner-logos p,
.cta-inner p,.cta-modern p{ color:rgba(255,255,255,.82) !important; }

/* --- 6. "Our activities" section (light bg, dark cards) --- */
.solutions-section{ background:#EAF2F8; }
.solutions-section h2{ color:var(--sas-navy-2) !important; }
.solutions-section .section-kicker,
.solutions-section .section-kicker.light{ color:var(--sas-gold-ink) !important; }
/* was white text on a light background — unreadable */
.section-intro-light{ color:#4C6377 !important; max-width:660px; }
.solutions-section .outline-light-link{
  color:var(--sas-blue);
  border-bottom-color:rgba(12,68,124,.4);
}
.solutions-section .outline-light-link:hover{ color:var(--sas-gold-ink); }
.activity-card{ color:#fff; }
.activity-card:hover h3{ color:#fff !important; }
.activity-label{ color:var(--sas-gold) !important; }
.activity-arrow{ color:var(--sas-gold); }

/* --- 7. Accent colour: gold, readable on each background -- */
.section-kicker,.kicker{ color:var(--sas-gold-ink); }
.section-kicker.light,.hero-eyebrow{ color:var(--sas-gold); }
.hero-eyebrow span{ background:var(--sas-gold); }
.new-hero h1 em{ color:var(--sas-gold); }
.hero-trust i,.visual-tag i{ color:var(--sas-gold); }
.link-arrow{ color:var(--sas-blue); }
.link-arrow:hover{ color:var(--sas-gold-ink); }
.hero-text-link{ color:#fff; }
.hero-text-link:hover{ color:var(--sas-gold); }
.visual-orbit{ border-color:rgba(242,194,0,.5); }
.image-label{ background:var(--sas-navy); }
.cta-inner:after{ border-color:rgba(242,194,0,.28); }
.tech-card i,.solution-card i{ color:var(--sas-cyan); }

/* --- 8. Stats ribbon: gold band, navy type ---------------- */
.stats-ribbon{
  background:linear-gradient(90deg,#F2C200 0%,#E4B000 100%);
  color:var(--sas-navy);
}
.stat-modern{ border-right:1px solid rgba(8,32,58,.18); }
.stat-modern strong{ color:var(--sas-navy); }
.stat-modern small{ color:rgba(8,32,58,.78); opacity:1; font-weight:600; }
@media (max-width:767.98px){
  .stat-modern:nth-child(2){ border-right:0; }
}

/* --- 9. Product / technology imagery --------------------- */
.technical-visual-grid-expanded img,
.technical-visual-grid img{
  height:172px;
  object-fit:contain;
  background:#fff;
  padding:14px;
  border-radius:16px;
  border:1px solid #EDF3F6;
}
.technical-visual-grid figcaption{ padding:14px 8px 6px; }
.technical-visual-grid figcaption strong{ color:var(--sas-navy-2); }
.technology-brand-card > img{ height:58px; }
.partner-logo-row img{ height:44px; object-fit:contain; background:#fff; }

/* --- 10. Product tiles ----------------------------------- */
.product-tile-accent{ background:linear-gradient(145deg,#0C3558,#0A2740); }
.product-tile-accent i{ color:var(--sas-gold); }
.product-tile-accent .product-tile-number{ color:rgba(255,255,255,.6); }
.product-tile i{ color:var(--sas-cyan); }

/* --- 11. CTA band ---------------------------------------- */
.cta-modern{ padding:0 0 5rem; background:#fff; }
.cta-inner{ border-radius:24px; }
@media (max-width:767.98px){ .cta-inner{ border-radius:18px; } }

/* --- 12. Footer ------------------------------------------ */
.footer-sas{ background:var(--sas-navy); color:#B7C9D6; padding:4.25rem 0 0; }
.footer-sas h5{ color:#fff; font-size:.95rem; letter-spacing:.4px; margin-bottom:1rem; }
.footer-sas p,.footer-sas li{ color:#B7C9D6; }
.footer-sas a{ color:#D3E2ED; }
.footer-sas a:hover{ color:var(--sas-gold); }
.footer-sas .footer-brand span{ color:var(--sas-gold); letter-spacing:.6px; }
.footer-about{ font-size:.92rem; max-width:340px; }
.footer-bottom{ color:#8FA6B6; }
.footer-sas li i{ color:var(--sas-cyan); }

/* --- 13. Buttons ----------------------------------------- */
.btn-amber{ background:var(--sas-gold); border-color:var(--sas-gold); color:#241300; font-weight:700; }
.btn-amber:hover,.btn-amber:focus{ background:#DCB000; border-color:#DCB000; color:#241300; }
.back-to-top{ z-index:1030; }

/* --- 14. Vertical rhythm --------------------------------- */
.section-modern{ padding:3.5rem 0 6rem; }
.product-expertise-section,.technology-section{ padding:6rem 0; }
.technical-visual-section,.homepage-gallery-section{ padding:5.5rem 0; }
.solutions-section{ padding:6rem 0; }
@media (max-width:767.98px){
  .section-modern,.product-expertise-section,.technology-section,
  .technical-visual-section,.homepage-gallery-section,.solutions-section,
  .applications-section{ padding:3.5rem 0 !important; }
  .new-hero{ padding:3.5rem 0 4rem; min-height:0; }
  .image-stack{ height:320px; }
  .section-heading-row,.technical-visual-heading,.gallery-heading-row{ display:block; }
}

/* --- 15. Accessibility ----------------------------------- */
a:focus-visible,button:focus-visible,.nav-link:focus-visible{
  outline:3px solid var(--sas-cyan);
  outline-offset:2px;
  border-radius:4px;
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* --- 16. Grid gap-fills and spacing corrections ---------- */
/* The stats ribbon inherited the global 5rem section padding */
.stats-ribbon{ padding:0 !important; }

/* Last activity card ran as span-2 in a 3-col grid, leaving a hole */
.activity-bento > .activity-card:last-child{ grid-column:1 / -1; min-height:0; }
@media (max-width:991.98px){
  .activity-bento > .activity-card:last-child{ grid-column:1 / -1; }
}

/* Homepage gallery: fill the empty cell in the 3x2 grid */
.homepage-gallery-grid{ grid-auto-rows:220px; }

/* Section heading rows: keep the side link aligned to the heading */
.section-heading-row,.technical-visual-heading,.gallery-heading-row{ gap:2rem; }
.section-heading-row > a,.gallery-heading-row > a{ white-space:nowrap; }

/* --- 17. Activity bento: 3 + 2 with no empty cell -------- */
.activity-bento > .activity-card:last-child{ grid-column:auto; }
.activity-bento > .activity-card:first-child{ grid-column:span 2; }
@media (max-width:991.98px){
  .activity-bento > .activity-card:first-child{ grid-column:span 2; }
}
@media (max-width:575.98px){
  .activity-bento > .activity-card:first-child{ grid-column:span 1; }
}

/* --- 18. Small-screen hero + misc ------------------------ */
@media (max-width:575.98px){
  .hero-actions{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
  }
  .hero-actions .btn{ width:100%; text-align:center; }
  .hero-text-link{ margin-top:0 !important; }
  .new-hero h1{ font-size:2.6rem; letter-spacing:-1px; }
  .visual-tag{ position:static; margin-top:1rem; }
  .hero-visual{ min-height:0; }
  .visual-frame{ position:static; width:100%; height:260px; transform:none; }
  .visual-orbit{ display:none; }
  .homepage-gallery-grid{ grid-template-columns:1fr; grid-auto-rows:200px; }
  .home-gallery-card.home-gallery-large{ grid-row:span 1; grid-column:span 1; }
}
/* Hero image should never crowd the copy on tablets either */
@media (max-width:991.98px){
  .hero-visual{ margin-top:2.5rem; }
}

/* --- 19. Fix: stray blue bar on "Achievements" dropdown ---
   The generic .nav-link::after underline rule was also matching
   .dropdown-toggle, merging with Bootstrap's caret-arrow ::after
   (border-top: .3em solid currentColor). That stretched the caret's
   blue border into a full-width bar, stacking with the gold
   .dropdown-toggle::before underline already used for this item.
   Reset ::after back to a plain small caret; keep the gold bar
   living only on ::before. */
.navbar-sas .dropdown-toggle::after{
  position:static !important;
  left:auto !important; right:auto !important; bottom:auto !important;
  width:auto !important; height:auto !important;
  background:transparent !important;
  transform:none !important;
  display:inline-block;
  margin-left:.4em;
  vertical-align:.15em;
  border-top:.32em solid currentColor;
  border-right:.32em solid transparent;
  border-left:.32em solid transparent;
  border-bottom:0;
  border-radius:0;
  transition:transform .2s ease;
}
.navbar-sas .nav-item.dropdown:hover > .dropdown-toggle::after,
.navbar-sas .nav-item.dropdown:focus-within > .dropdown-toggle::after{
  transform:rotate(180deg);
}

/* ============================================================
   REFERENCE-SITE PATTERNS — 15 Sep 2026
   Structural patterns pulled from client-supplied reference
   sites (industrial B2B peers: Whitelight Autolamp, Continual
   Renewable Energy), not their visuals — colours/type/spacing
   stay SAS's own per the original brief.
   ============================================================ */

/* --- WhatsApp float button --------------------------------- */
.whatsapp-float{
  position:fixed;
  right:1.25rem; bottom:5.5rem;
  width:52px; height:52px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.55rem;
  box-shadow:0 10px 24px rgba(37,211,102,.4);
  z-index:1000;
  transition:transform .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover{
  color:#fff;
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 30px rgba(37,211,102,.5);
}
/* Stack back-to-top above the WhatsApp button instead of overlapping it */
.back-to-top{ bottom:1.25rem; }
@media (max-width:575.98px){
  .whatsapp-float{ right:1rem; bottom:4.75rem; width:48px; height:48px; font-size:1.4rem; }
  .back-to-top{ right:1rem; bottom:1rem; }
}

/* --- Client logo marquee ------------------------------------ */
.logo-marquee-section{ padding:5rem 0 4.5rem; background:#fff; }
.logo-marquee-section .section-heading-row{ margin-bottom:2.25rem; }
.marquee-viewport{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.marquee-track{
  display:flex;
  align-items:center;
  gap:3.25rem;
  width:max-content;
  animation:marqueeScroll 34s linear infinite;
}
.marquee-viewport:hover .marquee-track{ animation-play-state:paused; }
.marquee-logo{
  flex:0 0 auto;
  height:52px;
  display:flex; align-items:center;
}
.marquee-logo img{
  max-height:100%;
  max-width:150px;
  width:auto;
  object-fit:contain;
  transition:transform .25s ease;
}
@keyframes marqueeScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion:reduce){
  .marquee-track{ animation:none; overflow-x:auto; }
}
@media (max-width:767.98px){
  .logo-marquee-section{ padding:3.5rem 0; }
  .marquee-logo{ height:42px; }
  .marquee-logo img{ max-width:120px; }
}

/* --- Numbered service cards (Core services grid only) -------
   Scoped to .row-numbered so the Technical Expertise grid,
   which reuses .service-card for equipment tiles, is untouched. */
.row-numbered{ counter-reset:svcnum; }
.row-numbered .service-card{ position:relative; }
.row-numbered .service-card::before{
  counter-increment:svcnum;
  content:counter(svcnum,decimal-leading-zero);
  position:absolute;
  top:1.1rem; right:1.3rem;
  font-family:'Barlow Semi Condensed',sans-serif;
  font-size:1.6rem;
  font-weight:800;
  color:#D7E4EC;
  z-index:0;
  line-height:1;
}
.row-numbered .service-card > *{ position:relative; z-index:1; }

/* ============================================================
   REFERENCE-SITE MOTION PASS (15 Sep 2026)
   Card + hero animation upgrades modelled on the animation
   language used across the client's reference sites (staggered
   entrance on load, image zoom + icon lift on card hover, a
   light sweep on primary buttons, lift-and-glow on logo/pill
   chips). Purely additive — nothing above this block is edited.
   ============================================================ */

/* --- Hero entrance: headline block rises in on load, staggered --- */
@keyframes heroRise{
  from{ opacity:0; transform:translateY(22px); }
  to{ opacity:1; transform:translateY(0); }
}
.new-hero .hero-eyebrow{ animation:heroRise .7s cubic-bezier(.16,.8,.3,1) both; animation-delay:.05s; }
.new-hero h1{ animation:heroRise .8s cubic-bezier(.16,.8,.3,1) both; animation-delay:.16s; }
.new-hero .hero-copy{ animation:heroRise .8s cubic-bezier(.16,.8,.3,1) both; animation-delay:.28s; }
.new-hero .hero-actions{ animation:heroRise .8s cubic-bezier(.16,.8,.3,1) both; animation-delay:.4s; }
.new-hero .hero-trust{ animation:heroRise .8s cubic-bezier(.16,.8,.3,1) both; animation-delay:.5s; }
.new-hero .hero-visual{ animation:heroRise 1s cubic-bezier(.16,.8,.3,1) both; animation-delay:.3s; }
.new-hero .visual-tag{ animation:heroRise .9s cubic-bezier(.16,.8,.3,1) both; animation-delay:.65s; }

/* Inner-page headers get the same rise, lighter stagger */
.page-header .breadcrumb-sas{ animation:heroRise .6s cubic-bezier(.16,.8,.3,1) both; animation-delay:.04s; }
.page-header h1{ animation:heroRise .7s cubic-bezier(.16,.8,.3,1) both; animation-delay:.14s; }
.page-header p{ animation:heroRise .7s cubic-bezier(.16,.8,.3,1) both; animation-delay:.24s; }

/* --- Buttons: light-sweep on hover, matches reference-site CTAs --- */
.btn-amber, .btn-navy{ position:relative; overflow:hidden; isolation:isolate; }
.btn-amber::before, .btn-navy::before{
  content:"";
  position:absolute; top:0; left:-60%;
  width:45%; height:100%;
  background:linear-gradient(115deg, transparent, rgba(255,255,255,.55), transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
  z-index:1; pointer-events:none;
}
.btn-amber:hover::before, .btn-navy:hover::before{ left:130%; }
.btn-amber > *, .btn-navy > *{ position:relative; z-index:2; }

/* --- Icon badges: gentle pop wherever they appear in a hover card --- */
.icon-badge, .tech-card i, .value-card i, .contact-card .icon-badge{
  transition:transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease;
}

/* --- Technology / product / activity cards: image or icon breathes on hover --- */
.technology-brand-card:hover > img{ transform:scale(1.06); transition:transform .4s ease; }
.technology-brand-card > img{ transition:transform .4s ease; }
.product-tile:hover i{ transform:translateY(-3px) scale(1.12); }
.product-tile i{ transition:transform .35s cubic-bezier(.34,1.56,.64,1); }

/* --- Logo chips (brand strip, marquee, partner rows): lift on hover --- */
.marquee-logo, .partner-logo-row img, .client-logo{
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), filter .3s ease, box-shadow .3s ease;
}
.marquee-logo:hover{ transform:translateY(-4px) scale(1.04); }
.partner-logo-row img:hover{ transform:translateY(-3px) scale(1.06); }

/* --- Application / capability pills: lift + shadow instead of flat color-swap only --- */
.application-pills span{ transition:background .25s ease, color .25s ease, border-color .25s ease, transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease; }
.application-pills span:hover{ transform:translateY(-4px); box-shadow:0 12px 24px rgba(4,44,83,.16); }

/* --- Figures / gallery images across the site: consistent slow-zoom crop --- */
.technical-visual-grid figure:hover img,
.fire-gallery-card:hover img,
.panel-photo-card:hover img{ transform:scale(1.05); }
.technical-visual-grid figure img,
.fire-gallery-card img,
.panel-photo-card img{ transition:transform .5s cubic-bezier(.2,.7,.2,1); }

/* --- Stat numbers: soft pop on hover to invite attention to the counters --- */
.stat-modern{ transition:transform .3s ease; }
.stat-modern:hover{ transform:translateY(-3px); }

/* Respect reduced-motion users: kill load-in animation, keep hover states simple */
@media (prefers-reduced-motion:reduce){
  .new-hero .hero-eyebrow, .new-hero h1, .new-hero .hero-copy, .new-hero .hero-actions,
  .new-hero .hero-trust, .new-hero .hero-visual, .new-hero .visual-tag,
  .page-header .breadcrumb-sas, .page-header h1, .page-header p{
    animation:none; opacity:1; transform:none;
  }
  .btn-amber::before, .btn-navy::before{ display:none; }
}

/* ============================================================
   HERO BACKGROUND VIDEO (15 Sep 2026)
   Muted, looping background video behind the hero copy — the
   pattern used across the reference sites. Falls back to the
   existing photo (poster attribute, and a background-image on
   small screens / no-JS) so the hero never looks broken.
   ============================================================ */
.new-hero{ position:relative; overflow:hidden; }
.hero-video{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
  pointer-events:none;
}
.hero-video-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg,rgba(5,17,29,.72) 0%,rgba(6,22,36,.5) 32%,rgba(6,22,36,.22) 58%,rgba(6,22,36,.1) 100%);
}
.new-hero .hero-grid{ z-index:2; }
.new-hero .container-xl{ z-index:3; }
.new-hero{ min-height:720px; display:flex; align-items:center; padding:130px 0 90px; }
.hero-content-block{ max-width:640px; }
.hero-scroll-cue{
  position:absolute; left:50%; bottom:34px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:rgba(255,255,255,.75); text-decoration:none;
  font-size:.72rem; letter-spacing:2px; text-transform:uppercase; font-weight:700;
}
.hero-scroll-cue:hover{ color:#fff; }
.scroll-cue-line{
  width:1px; height:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0));
  animation:scrollCue 1.8s ease-in-out infinite;
}
@keyframes scrollCue{
  0%{ transform:scaleY(.3); transform-origin:top; opacity:.4; }
  50%{ transform:scaleY(1); transform-origin:top; opacity:1; }
  100%{ transform:scaleY(.3); transform-origin:bottom; opacity:.4; }
}
@media(max-width:767.98px){
  .new-hero{ min-height:0; padding:110px 0 70px; }
  .hero-scroll-cue{ display:none; }
}

/* Small screens: skip the video entirely (save mobile data), show the still instead */
@media (max-width:575.98px){
  .hero-video{ display:none; }
  .new-hero{
    background-image:linear-gradient(125deg,rgba(7,24,39,.92) 0%,rgba(11,41,64,.86) 52%,rgba(18,59,85,.8) 100%),
      url('../assets/img/panels/panel-22.jpeg');
    background-size:cover; background-position:center;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-video{ display:none; }
  .new-hero{
    background-image:linear-gradient(125deg,rgba(7,24,39,.92) 0%,rgba(11,41,64,.86) 52%,rgba(18,59,85,.8) 100%),
      url('../assets/img/panels/panel-22.jpeg');
    background-size:cover; background-position:center;
  }
}

/* ============================================================
   PANEL TYPES — reference info grid (15 Sep 2026)
   ============================================================ */
.panel-type-lead{ color:#082d52; font-weight:800; font-size:1.2rem; margin:6px 0 18px; }
.panel-type-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;
  margin-bottom:40px;
}
.panel-type-card{
  padding:26px 24px; border-radius:20px; background:#fff;
  border:1px solid #dce7ef; box-shadow:0 10px 25px rgba(8,45,82,.06);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.panel-type-card:hover{ transform:translateY(-6px); box-shadow:0 18px 36px rgba(8,45,82,.13); border-color:#19a9d5; }
.panel-type-icon{
  width:48px; height:48px; border-radius:14px; display:grid; place-items:center;
  background:#edf7fb; color:#0a7ea8; font-size:22px; margin-bottom:16px;
  transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.panel-type-card:hover .panel-type-icon{ transform:rotate(-6deg) scale(1.08); }
.panel-type-card h3{ font-size:1.08rem; color:#082d52; margin:0 0 10px; line-height:1.3; }
.panel-type-card h3 span{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.04em; color:#7691a3; text-transform:uppercase; margin-top:3px; }
.panel-type-card p{ font-size:.87rem; line-height:1.7; color:#516475; margin:0 0 14px; }
.panel-type-standard{
  display:inline-flex; align-items:center; gap:6px;
  font-size:.72rem; font-weight:800; letter-spacing:.02em;
  color:#0a7ea8; background:#edf7fb; padding:6px 11px; border-radius:999px;
}
@media(max-width:991px){ .panel-type-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px){ .panel-type-grid{ grid-template-columns:1fr; } }

/* ============================================================
   Premium card motion — inspired by the smooth card interactions
   on the reference sites. Applies across service/project/product
   and image cards without changing the site's visual language.
   ============================================================ */
.interactive-card{
  --card-rotate-x:0deg;
  --card-rotate-y:0deg;
  --card-lift:0px;
  --card-scale:1;
  transform:perspective(1100px) rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y)) translateY(var(--card-lift)) scale(var(--card-scale));
  transform-style:preserve-3d;
  will-change:transform, box-shadow;
}
.interactive-card:not(.in-view){
  transform:translateY(26px);
}
.interactive-card.in-view{
  transition:transform .65s cubic-bezier(.16,.8,.3,1), box-shadow .35s ease, border-color .35s ease;
}
.interactive-card.is-hovered{
  --card-lift:-8px;
  --card-scale:1.012;
  box-shadow:0 22px 48px rgba(4,44,83,.17) !important;
}

/* Subtle moving highlight on cards with no existing pseudo-element */
.project-card.interactive-card,
.value-card.interactive-card,
.contact-card.interactive-card,
.testimonial-card.interactive-card,
.stat-card.interactive-card,
.cert-card.interactive-card,
.technology-brand-card.interactive-card,
.product-tile.interactive-card,
.activity-card.interactive-card,
.panel-type-card.interactive-card{
  overflow:hidden;
}

.project-card.interactive-card::after,
.value-card.interactive-card::after,
.contact-card.interactive-card::after,
.testimonial-card.interactive-card::after,
.stat-card.interactive-card::after,
.cert-card.interactive-card::after,
.technology-brand-card.interactive-card::after,
.product-tile.interactive-card::after,
.activity-card.interactive-card::after,
.panel-type-card.interactive-card::after{
  content:"";
  position:absolute;
  inset:-80% auto auto -35%;
  width:45%;
  height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:rotate(18deg) translateX(-160%);
  transition:transform .7s ease;
  pointer-events:none;
  z-index:5;
}
.project-card.interactive-card:hover::after,
.value-card.interactive-card:hover::after,
.contact-card.interactive-card:hover::after,
.testimonial-card.interactive-card:hover::after,
.stat-card.interactive-card:hover::after,
.cert-card.interactive-card:hover::after,
.technology-brand-card.interactive-card:hover::after,
.product-tile.interactive-card:hover::after,
.activity-card.interactive-card:hover::after,
.panel-type-card.interactive-card:hover::after{
  transform:rotate(18deg) translateX(430%);
}

@media (max-width:767.98px){
  .interactive-card.is-hovered{
    --card-lift:-4px;
    --card-scale:1.005;
  }
}

@media (prefers-reduced-motion:reduce){
  .interactive-card,
  .interactive-card.in-view,
  .interactive-card.is-hovered{
    transform:none !important;
    transition:none !important;
  }
  .project-card.interactive-card::after,
  .value-card.interactive-card::after,
  .contact-card.interactive-card::after,
  .testimonial-card.interactive-card::after,
  .stat-card.interactive-card::after,
  .cert-card.interactive-card::after,
  .technology-brand-card.interactive-card::after,
  .product-tile.interactive-card::after,
  .activity-card.interactive-card::after,
  .panel-type-card.interactive-card::after{ display:none; }
}

/* ============================================================
   Premium site-wide motion layer
   ============================================================ */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-soft:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
body{opacity:1;transition:opacity .45s var(--motion-ease)}
body.page-entering{opacity:0}

/* Hero entrance + visual depth */
.new-hero .hero-copy>*{opacity:0;transform:translateY(28px);animation:heroTextIn .9s var(--motion-ease) forwards}
.new-hero .hero-copy>*:nth-child(1){animation-delay:.08s}
.new-hero .hero-copy>*:nth-child(2){animation-delay:.16s}
.new-hero .hero-copy>*:nth-child(3){animation-delay:.25s}
.new-hero .hero-copy>*:nth-child(4){animation-delay:.34s}
.new-hero .hero-visual{opacity:0;transform:translate3d(35px,15px,0) scale(.97);animation:heroVisualIn 1.15s var(--motion-ease) .18s forwards}
.new-hero .visual-frame{animation:heroFrameFloat 7s ease-in-out 1.2s infinite}
.new-hero .visual-tag{animation:tagFloat 5s ease-in-out 1.6s infinite}
.new-hero .visual-orbit{animation:orbitPulse 5s ease-in-out 1.4s infinite}
@keyframes heroTextIn{to{opacity:1;transform:none}}
@keyframes heroVisualIn{to{opacity:1;transform:none}}
@keyframes heroFrameFloat{0%,100%{transform:rotate(2deg) translateY(0)}50%{transform:rotate(1deg) translateY(-10px)}}
@keyframes tagFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes orbitPulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.08);opacity:1}}

/* Premium section-heading reveal */
.js-reveal-ready .section-heading-row,
.js-reveal-ready .section-kicker,
.js-reveal-ready .about-modern .row>*,
.js-reveal-ready .applications-section .row>*,
.js-reveal-ready .cta-inner{opacity:0;transform:translateY(34px);transition:opacity .85s var(--motion-ease),transform .85s var(--motion-ease)}
.js-reveal-ready .section-heading-row.in-view,
.js-reveal-ready .section-kicker.in-view,
.js-reveal-ready .about-modern .row>*.in-view,
.js-reveal-ready .applications-section .row>*.in-view,
.js-reveal-ready .cta-inner.in-view{opacity:1;transform:none}

/* Image cards: zoom + depth like editorial/industrial showcase sites */
.home-gallery-card img,.visual-frame img,.panel-photo-card img,.gallery-item img{transition:transform 1s var(--motion-soft),filter .7s ease}
.home-gallery-card:hover img,.panel-photo-card:hover img,.gallery-item:hover img{transform:scale(1.075);filter:saturate(1.08)}
.home-gallery-card span{transition:transform .55s var(--motion-ease),opacity .4s ease}
.home-gallery-card:hover span{transform:translateY(-5px)}

/* Solution/technology cards get a soft spotlight that follows the cursor */
.solution-card,.tech-card,.cta-inner{--mx:50%;--my:50%;overflow:hidden}
.solution-card:after,.tech-card:after,.cta-inner:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.13),transparent 34%);opacity:0;transition:opacity .45s ease}
.solution-card:hover:after,.tech-card:hover:after,.cta-inner:hover:before{opacity:1}

/* Buttons: small magnetic-like lift */
.btn,.hero-text-link,.link-arrow{transition:transform .35s var(--motion-ease),box-shadow .35s ease,color .3s ease,background-color .3s ease}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(-1px) scale(.98)}

/* Continuous ambient motion on the client/logo ribbon */
.marquee-logo{transition:transform .35s ease,filter .35s ease}
.marquee-logo:hover{transform:translateY(-5px) scale(1.04);filter:drop-shadow(0 10px 16px rgba(8,45,82,.12))}

/* Floating WhatsApp/back-to-top controls */
.whatsapp-float{animation:floatButton 3.8s ease-in-out infinite}
.back-to-top.show{animation:backTopIn .45s var(--motion-ease) both}
@keyframes floatButton{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes backTopIn{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}

@media(max-width:767.98px){
  .new-hero .hero-visual{animation-duration:.85s}
  .new-hero .visual-frame{animation:none}
  .new-hero .visual-tag{animation:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body,.new-hero .hero-copy>*,.new-hero .hero-visual,.new-hero .visual-frame,.new-hero .visual-tag,.new-hero .visual-orbit{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}
  .whatsapp-float{animation:none!important}
}


/* ============================================================
   HOME STATS SHOWCASE — counting counters
   ============================================================ */
.stats-showcase{
  position:relative; overflow:hidden; background:#fff;
  padding:76px 0 28px; color:var(--sas-navy);
}
.stats-heading{position:relative;z-index:2;margin-bottom:34px}
.stats-heading .section-kicker{color:#e5ae00;font-size:.78rem;letter-spacing:1.8px;font-weight:800}
.stats-heading h2{margin:9px 0 14px;color:#0b3562;font-size:clamp(2rem,3.1vw,3rem);font-weight:800;letter-spacing:-1px}
.stats-heading p{margin:0;color:#607488;font-size:1rem;line-height:1.65}
.stats-heading-lines{display:flex;justify-content:center;gap:12px;margin-top:17px;align-items:center}
.stats-heading-lines span,.stats-heading-lines i{display:block;width:43px;height:3px;border-radius:3px;background:#f2c200}
.stats-heading-lines i{background:#2f80ed}
.stats-grid{position:relative;z-index:2}
.stat-modern-new{padding:0 28px;text-align:center;border:0!important;position:relative}
.stat-modern-new .stat-icon{
  width:82px;height:82px;margin:0 auto 18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff4c9;color:#124a82;font-size:2rem;
  box-shadow:0 10px 25px rgba(8,44,83,.06);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease;
}
.stat-modern-new .stat-icon.blue{background:#dcecff}
.stat-modern-new .stat-icon i{line-height:1}
.stat-modern-new strong{display:flex;justify-content:center;align-items:baseline;color:#1266d4!important;font-size:3.15rem!important;line-height:1;font-weight:800;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.stat-modern-new strong b{font:inherit}
.stat-modern-new strong span{font-size:1.55rem!important;margin-left:3px;color:#1266d4}
.stat-modern-new small{display:block;margin-top:15px;color:#12395f!important;font-size:1rem!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;opacity:1!important}
.stat-modern-new em{display:block;width:50px;height:3px;margin:16px auto 0;border-radius:3px;background:#f2c200}
.stat-modern-new:nth-child(even) em{background:#2f80ed}
.stat-modern-new:hover .stat-icon{transform:translateY(-7px) scale(1.06);box-shadow:0 16px 32px rgba(8,44,83,.13)}
.stats-decor{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.stats-decor-left{width:170px;height:170px;left:-95px;bottom:-40px;background:rgba(47,128,237,.07)}
.stats-decor-right{width:190px;height:190px;right:-110px;top:150px;background:rgba(242,194,0,.09)}
.stats-showcase:before{content:"";position:absolute;left:30px;top:150px;width:78px;height:78px;background-image:radial-gradient(#dbe6f2 2px,transparent 2px);background-size:15px 15px;opacity:.75}
.stats-showcase:after{content:"";position:absolute;right:55px;bottom:95px;width:78px;height:78px;background-image:radial-gradient(#dbe6f2 2px,transparent 2px);background-size:15px 15px;opacity:.75}
@media(max-width:767.98px){
 .stats-showcase{padding:50px 0 18px}
 .stats-heading{margin-bottom:28px}
 .stats-heading h2{font-size:2rem}
 .stat-modern-new{padding:18px 8px 24px}
 .stat-modern-new .stat-icon{width:66px;height:66px;font-size:1.6rem;margin-bottom:13px}
 .stat-modern-new strong{font-size:2.25rem!important}
 .stat-modern-new strong span{font-size:1.15rem!important}
 .stat-modern-new small{font-size:.82rem!important;line-height:1.3}
 .stats-showcase:before,.stats-showcase:after{display:none}
}

/* ============================================================
   SAIDEEP MODERN VISUAL SYSTEM — unified across every page
   ============================================================ */
:root{
  --modern-blue:#1266d4;
  --modern-navy:#103b68;
  --modern-yellow:#f3c400;
  --modern-bg:#f6faff;
  --modern-line:#dce9f6;
  --modern-text:#173b60;
  --modern-muted:#647b93;
  --modern-shadow:0 14px 40px rgba(19,74,130,.09);
}

body{background:#fff;color:var(--modern-text)}
section{position:relative}
.container-xl{max-width:1280px}

/* Header */
.navbar-sas{background:rgba(255,255,255,.97);border-bottom:1px solid #e8eef5;backdrop-filter:blur(12px)}
.navbar-sas.is-scrolled{box-shadow:0 8px 28px rgba(14,62,110,.10)}
.navbar-brand-sas img{height:48px}
.navbar-sas .nav-link{color:#173652;font-weight:600}
.navbar-sas .nav-link.active,.navbar-sas .nav-link:hover{color:var(--modern-blue)}
.navbar-sas .nav-link.active::after{background:var(--modern-yellow)!important;height:3px!important}
.btn-amber{background:var(--modern-yellow);border-color:var(--modern-yellow);color:#12375a;border-radius:12px;font-weight:800;box-shadow:0 8px 18px rgba(243,196,0,.18)}
.btn-amber:hover{background:#ffd72f;border-color:#ffd72f;color:#12375a;transform:translateY(-2px)}
.btn,.nav-link,.service-card,.project-card,.contact-card,.cert-card,.client-logo,.panel-type-card,.activity-card,.product-tile,.technology-brand-card,.technical-visual-grid figure,.home-gallery-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background-color .3s ease}

/* Homepage hero: bright, clean and product-led */
.new-hero{margin-top:var(--nav-h);min-height:650px;padding:92px 0 86px;background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 62%,#fffdf1 100%);color:var(--modern-navy);overflow:hidden}
.new-hero .hero-video{position:absolute;right:4%;top:8%;width:48%;height:84%;object-fit:cover;opacity:.20;border-radius:34px;filter:saturate(.65);box-shadow:0 24px 70px rgba(12,68,124,.14)}
.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#f8fbff 0%,rgba(248,251,255,.93) 42%,rgba(248,251,255,.35) 75%,rgba(255,253,241,.65) 100%)}
.new-hero .hero-grid{opacity:.25;background-image:linear-gradient(rgba(18,102,212,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(18,102,212,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.new-hero .container-xl{z-index:2}
.hero-content-block{max-width:700px}
.new-hero h1{color:var(--modern-navy)!important;font-size:clamp(3rem,5.2vw,5.2rem);letter-spacing:-2.5px;line-height:.98}
.new-hero h1 em{color:var(--modern-blue)}
.hero-eyebrow{color:#c59c00!important}
.hero-copy{color:#5e7690!important;max-width:590px}
.hero-text-link{color:var(--modern-blue)!important}
.hero-trust{color:#6c8297!important}
.hero-trust i{color:var(--modern-yellow)!important}
.hero-scroll-cue{color:var(--modern-blue)!important}

/* Stats sit directly against the next section */
.stats-showcase{padding:72px 0 42px;background:#fff}
.stats-heading h2{color:var(--modern-navy)!important}
.stats-heading p{color:var(--modern-muted)}
.stat-modern-new strong,.stat-modern-new strong span{color:var(--modern-blue)!important}
.stat-modern-new small{color:var(--modern-navy)!important}

/* Unified section headings */
.section-kicker,.kicker{color:#d3a900!important;font-weight:800;letter-spacing:1.5px}
.section-kicker::before,.kicker::before{background:var(--modern-yellow)}
.about-modern,.expertise-section,.technology-section{background:#fff}
.about-modern,.product-expertise-section,.technical-visual-section,.homepage-gallery-section{padding:78px 0}
.about-modern h2,.product-expertise-section h2,.technology-section h2,.technical-visual-heading h2,.section-heading-row h2{color:var(--modern-navy)!important}
.about-modern p,.product-expertise-section p,.section-intro{color:var(--modern-muted)!important}

/* Image treatments */
.image-stack .main-shot,.image-stack .small-shot{border-radius:24px;box-shadow:var(--modern-shadow)}
.image-stack .small-shot{border-width:10px}
.image-label{background:var(--modern-navy);border-radius:0 12px 0 0}

/* Activities / service feature section */
.solutions-section{background:#f4f9ff!important;padding:82px 0}
.activity-bento{gap:20px}
.activity-card{background:#fff!important;color:var(--modern-navy)!important;border:1px solid var(--modern-line)!important;border-radius:24px!important;box-shadow:0 10px 30px rgba(19,74,130,.06);min-height:235px}
.activity-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(19,74,130,.13);border-color:#b9d5f3!important}
.activity-card h3{color:var(--modern-navy)!important}
.activity-card p{color:#647b93!important}
.activity-icon{background:#e6f1ff!important;color:var(--modern-blue)!important;border-radius:18px}
.activity-card:nth-child(2n) .activity-icon{background:#fff5c9!important;color:#a17c00!important}
.activity-label,.activity-arrow{color:var(--modern-blue)!important}
.activity-card:nth-child(2n) .activity-label,.activity-card:nth-child(2n) .activity-arrow{color:#b18a00!important}

/* Product cards */
.product-expertise-section{background:#f7fbff!important}
.product-tile,.technology-brand-card,.tech-card{border:1px solid var(--modern-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 10px 28px rgba(19,74,130,.06)!important}
.product-tile:hover,.technology-brand-card:hover,.tech-card:hover{transform:translateY(-8px);box-shadow:0 22px 42px rgba(19,74,130,.12)!important}
.product-tile-accent{background:linear-gradient(145deg,#103b68,#155b96)!important;border-color:#103b68!important}
.product-tile h3,.technology-brand-card h3,.tech-card h3{color:var(--modern-navy)!important}
.product-tile-accent h3{color:#fff!important}
.product-tile p,.product-tile-accent p,.technology-brand-card p,.tech-card p{color:#667e96!important}
.product-tile-accent p{color:rgba(255,255,255,.78)!important}
.product-tile i,.tech-card i{color:var(--modern-blue)!important}
.product-tile-accent i{color:var(--modern-yellow)!important}

/* Technical/gallery cards */
.technical-visual-section{background:linear-gradient(135deg,#f5faff,#fff)!important}
.technical-visual-grid figure{border-radius:24px!important;background:#fff;box-shadow:var(--modern-shadow)!important}
.technical-visual-grid figure:hover{transform:translateY(-8px)}
.technical-visual-grid img{border-radius:17px}
.homepage-gallery-section{background:#fff}
.home-gallery-card{border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(19,74,130,.08)}
.home-gallery-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(19,74,130,.14)}

/* Inner page hero */
.page-header{background:linear-gradient(135deg,#103b68 0%,#1769b5 100%)!important;padding:calc(var(--nav-h) + 3.2rem) 0 3.3rem!important}
.page-header::before{opacity:.20!important}
.page-header h1{font-size:clamp(2.5rem,4.5vw,4rem);font-weight:800;color:#fff!important}
.page-header p{color:#dceeff!important;font-size:1.05rem}
.breadcrumb-sas,.breadcrumb-sas a{color:#d8ebff!important}
.breadcrumb-sas a:hover{color:var(--modern-yellow)!important}

/* Inner-page content cards */
.service-card,.project-card,.contact-card,.cert-card,.client-logo,.panel-type-card,.achievement-stat,.mini-fact,.activity-card,.application-panel{border-radius:22px!important;border:1px solid var(--modern-line)!important;box-shadow:0 10px 30px rgba(19,74,130,.06)!important;background:#fff}
.service-card:hover,.project-card:hover,.contact-card:hover,.cert-card:hover,.client-logo:hover,.panel-type-card:hover,.achievement-stat:hover,.mini-fact:hover{transform:translateY(-7px);box-shadow:0 20px 40px rgba(19,74,130,.12)!important;border-color:#bdd8f5!important}
.service-card .icon-badge{background:#e6f1ff!important;color:var(--modern-blue)!important;border-radius:18px}
.service-card h3,.project-card h3,.panel-type-card h3{color:var(--modern-navy)!important}
.service-card p,.project-card p,.panel-type-card p{color:var(--modern-muted)!important}
.bg-surface{background:#f6faff!important}

/* Tables / filters / forms */
.app-table,.application-panel{overflow:hidden;border-radius:20px}
.form-control,.form-select{border:1px solid #d7e5f3;border-radius:12px;padding:.75rem 1rem}
.form-control:focus,.form-select:focus{border-color:#7bb0e9;box-shadow:0 0 0 .2rem rgba(18,102,212,.10)}
.filter-pills .btn{border-radius:999px}

/* CTA */
.cta-modern{background:#f4f9ff!important;padding:35px 0 75px}
.cta-inner{border-radius:28px!important;background:linear-gradient(120deg,#103b68,#1769b5)!important;box-shadow:0 22px 50px rgba(16,59,104,.16)}

/* Footer remains strong navy for contrast */
.footer-sas{background:#0b2f52!important;padding:65px 0 0}
.footer-sas a{color:#d4e9ff!important}
.footer-sas a:hover{color:var(--modern-yellow)!important}
.footer-bottom{border-top-color:rgba(255,255,255,.15)}

/* Floating controls */
.whatsapp-float{box-shadow:0 12px 28px rgba(23,183,87,.25)!important}
.back-to-top{background:var(--modern-blue)!important;border-radius:50%!important;box-shadow:0 12px 25px rgba(18,102,212,.25)}
.back-to-top:hover{background:var(--modern-yellow)!important;color:#12375a!important}

/* Motion polish */
@media (prefers-reduced-motion:no-preference){
  .stat-modern-new .stat-icon{animation:statFloat 4s ease-in-out infinite}
  .stat-modern-new:nth-child(2) .stat-icon{animation-delay:.4s}.stat-modern-new:nth-child(3) .stat-icon{animation-delay:.8s}.stat-modern-new:nth-child(4) .stat-icon{animation-delay:1.2s}
  .service-card:hover,.project-card:hover,.contact-card:hover,.cert-card:hover,.client-logo:hover,.panel-type-card:hover{transform:translateY(-8px)}
}
@keyframes statFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

@media(max-width:991.98px){
  .new-hero{min-height:auto;padding:78px 0 70px}.new-hero .hero-video{right:3%;width:55%;opacity:.10}
  .technology-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767.98px){
  .new-hero{padding:58px 0 58px}.new-hero .hero-video{position:absolute;right:0;top:0;width:100%;height:100%;opacity:.06;border-radius:0}.hero-video-overlay{background:rgba(248,251,255,.94)}
  .stats-showcase{padding:55px 0 28px}.about-modern,.product-expertise-section,.technical-visual-section,.homepage-gallery-section,.technology-section,.solutions-section{padding:58px 0}
  .activity-bento,.product-showcase,.technology-layout{grid-template-columns:1fr}.activity-wide{grid-column:auto}
  .page-header{padding:calc(var(--nav-h) + 2.4rem) 0 2.6rem!important}
}


/* ============================================================
   FINAL HERO + HOME FLOW REFINEMENT
   ============================================================ */
.new-hero{
  position:relative;
  min-height:680px;
  padding:110px 0 92px;
  background:#071d31;
  color:#fff;
  overflow:hidden;
}
.new-hero .hero-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  border-radius:0!important;
  filter:saturate(.88) contrast(1.02)!important;
  box-shadow:none!important;
  z-index:0;
}
.new-hero .hero-video-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,
    rgba(4,24,42,.72) 0%,
    rgba(5,29,48,.58) 42%,
    rgba(5,29,48,.38) 72%,
    rgba(4,24,42,.48) 100%);
}
.new-hero .hero-grid{z-index:1;opacity:.10!important;mask-image:linear-gradient(90deg,#000,transparent 88%)}
.new-hero .container-xl{position:relative;z-index:2}
.new-hero h1{color:#fff!important;text-shadow:0 3px 22px rgba(0,0,0,.28)}
.new-hero h1 em{color:#ffd43b!important}
.new-hero .hero-copy{color:rgba(255,255,255,.9)!important;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.new-hero .hero-eyebrow{color:#ffd43b!important}
.new-hero .hero-trust{color:rgba(255,255,255,.82)!important}
.new-hero .hero-trust i{color:#ffd43b!important}
.new-hero .hero-text-link{color:#fff!important}
.new-hero .hero-text-link:hover{color:#ffd43b!important}
.new-hero .hero-scroll-cue{color:#fff!important}

/* Stats flow directly into Services; no blank spacer between them. */
.stats-showcase{padding:64px 0 38px!important}
.stats-showcase + .solutions-section{margin-top:0!important}
.solutions-section{padding-top:70px!important}

@media(max-width:767.98px){
  .new-hero{min-height:620px;padding:82px 0 62px}
  .new-hero .hero-video{opacity:1!important}
  .new-hero .hero-video-overlay{background:linear-gradient(180deg,rgba(4,24,42,.68),rgba(5,29,48,.56))}
  .stats-showcase{padding:48px 0 24px!important}
  .solutions-section{padding-top:56px!important}
}

/* HOME ABOUT VISIBILITY + FLOW FIX */
.about-modern{display:block!important;visibility:visible!important;opacity:1!important;}
.about-modern .row>*,
.about-modern .row>*.reveal-target{visibility:visible!important;opacity:1!important;transform:none!important;}
.about-modern{padding-top:72px!important;padding-bottom:72px!important;}


/* ============================================================
   HOMEPAGE REQUESTED REFINEMENTS — HERO / ABOUT / SERVICE ART /
   TECHNICAL EXPERTISE MAP / INDUSTRY ART
   ============================================================ */
/* Hero text entrance choreography */
@media (prefers-reduced-motion:no-preference){
  .new-hero .hero-eyebrow,.new-hero h1,.new-hero .hero-copy,.new-hero .hero-actions,.new-hero .hero-trust,.new-hero .hero-scroll-cue{
    opacity:0;transform:translateY(24px);animation:heroTextIn .78s cubic-bezier(.2,.75,.25,1) forwards;
  }
  .new-hero .hero-eyebrow{animation-delay:.16s}
  .new-hero h1{animation-delay:.28s}
  .new-hero .hero-copy{animation-delay:.42s}
  .new-hero .hero-actions{animation-delay:.54s}
  .new-hero .hero-trust{animation-delay:.68s}
  .new-hero .hero-scroll-cue{animation:heroCueIn .8s ease .95s forwards}
  .new-hero h1 em{display:inline-block;animation:heroWordPulse 3.8s ease-in-out 1.35s infinite}
}
@keyframes heroTextIn{to{opacity:1;transform:none}}
@keyframes heroCueIn{from{opacity:0;transform:translateY(14px)}to{opacity:.95;transform:none}}
@keyframes heroWordPulse{0%,100%{text-shadow:0 0 0 rgba(246,197,21,0)}50%{text-shadow:0 0 28px rgba(246,197,21,.22)}}

/* About image gets more visual weight on the homepage */
.about-modern .image-stack{min-height:560px;transform:translateX(-6px)}
.about-modern .image-stack .main-shot{width:100%;height:520px;object-fit:cover;display:block;transform:scale(1.035);transform-origin:center}
.about-modern .image-stack .small-shot{width:43%;max-width:260px;bottom:-18px;right:-16px}
.about-modern .image-label{z-index:3}
@media(max-width:991.98px){.about-modern .image-stack{min-height:480px;transform:none}.about-modern .image-stack .main-shot{height:460px}}
@media(max-width:575.98px){.about-modern .image-stack{min-height:390px}.about-modern .image-stack .main-shot{height:370px}.about-modern .image-stack .small-shot{width:45%;right:-5px}}

/* Transparent engineering illustrations inside service cards */
.activity-card{isolation:isolate}
.activity-card::after{content:"";position:absolute;inset:0;z-index:0;background-repeat:no-repeat;background-position:right bottom;background-size:68% auto;opacity:.15;pointer-events:none;transition:transform .6s ease,opacity .35s ease}
.activity-card > *{position:relative;z-index:1}
.activity-card-panel::after,.activity-card-control::after,.activity-card-energy::after,.activity-card-turnkey::after{background-image:url('../assets/img/decor/automation-circuit.svg')}
.activity-card-factory::after{background-image:url('../assets/img/decor/factory-line.svg');background-size:76% auto}
.activity-card:hover::after{transform:scale(1.06) translate(-8px,-4px);opacity:.23}
.activity-card-panel::before{border-color:rgba(11,79,156,.12)!important}

/* Technical expertise becomes a visual system map rather than four plain cards */
.technology-map-section{background:#fff!important;position:relative;overflow:hidden}
.technology-map-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(11,79,156,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(11,79,156,.035) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.technology-map{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:38px}
.tech-map-card{position:relative;min-height:390px;padding:28px;border:1px solid #d9e8f5;border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 16px 38px rgba(19,74,130,.07);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.tech-map-card::after{content:"";position:absolute;width:220px;height:220px;right:-90px;bottom:-105px;border:1px solid rgba(11,79,156,.12);border-radius:50%;box-shadow:0 0 0 24px rgba(11,79,156,.025),0 0 0 48px rgba(11,79,156,.018);pointer-events:none}
.tech-map-card:hover{transform:translateY(-8px);box-shadow:0 24px 52px rgba(19,74,130,.13);border-color:#a9cbed}
.tech-map-top{display:flex;align-items:center;gap:14px;min-height:58px}
.tech-map-top>img{width:145px;height:58px;object-fit:contain;object-position:left center;border-radius:8px}
.tech-map-no{font-size:11px;font-weight:900;color:#7c94aa;letter-spacing:1px}
.tech-map-status{margin-left:auto;padding:6px 9px;border-radius:999px;background:#eaf3ff;color:#0b4f9c;font-size:9px;font-weight:900;letter-spacing:1px;white-space:nowrap}
.tech-map-card h3{margin:20px 0 18px;color:#071b35!important;font-size:24px}
.tech-map-groups{display:grid;gap:12px}
.tech-map-groups>div{padding:13px 14px;border-radius:14px;background:#f6faff;border:1px solid #e4eef8}
.tech-map-groups b{display:block;color:#0b4f9c;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:8px}
.tech-map-groups span{display:inline-flex;margin:3px 4px 3px 0;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #dce9f5;color:#526b82;font-size:11px;font-weight:700}
.tech-map-siemens .tech-map-status{background:#eef7f2;color:#16704b}
.tech-map-schneider .tech-map-status{background:#fff6d6;color:#9a7600}
.tech-map-partners{background:linear-gradient(145deg,#0b3153,#0d4b79);border-color:#0b3153}
.tech-map-partners h3,.tech-map-partners p{color:#fff!important}
.tech-map-partners p{color:rgba(255,255,255,.75)!important;line-height:1.75;max-width:560px}
.tech-map-partners::after{border-color:rgba(246,197,21,.2);box-shadow:0 0 0 24px rgba(246,197,21,.04),0 0 0 48px rgba(246,197,21,.025)}
.partner-mini-logos{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.partner-mini-logos img{width:58px!important;height:40px!important;object-fit:contain!important;background:#fff;padding:4px;border-radius:7px}
.tech-partner-rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tech-partner-rail span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;font-size:11px;font-weight:800}
@media(max-width:767.98px){.technology-map{grid-template-columns:1fr}.tech-map-card{min-height:auto}.tech-map-top{align-items:flex-start;flex-wrap:wrap}.tech-map-status{margin-left:0}.tech-map-top>img{width:125px}}

/* Industry/application strip gets the same transparent technical language */
.applications-section{position:relative;overflow:hidden;background:#eef6ff!important}
.applications-section::before{content:"";position:absolute;inset:0;background-image:url('../assets/img/decor/industry-network.svg');background-repeat:no-repeat;background-position:center 42%;background-size:1100px auto;opacity:.14;pointer-events:none}
.applications-section>.container-xl{position:relative;z-index:1}
.application-pills{position:relative}
.application-pills::after{content:"";position:absolute;inset:-35px -30px;background-image:url('../assets/img/decor/automation-circuit.svg');background-repeat:no-repeat;background-position:right center;background-size:520px auto;opacity:.09;pointer-events:none;z-index:-1}
.application-pills span{position:relative;z-index:1;backdrop-filter:blur(3px);background:rgba(255,255,255,.92)!important;border:1px solid #d8e7f5!important;box-shadow:0 10px 25px rgba(19,74,130,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.application-pills span:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(19,74,130,.11);border-color:#a8cbed!important}


/* ============================================================
   FINAL HOMEPAGE HERO MOTION + FAINT PANEL BACKDROP
   ============================================================ */
.new-hero .hero-content-block{position:relative}
.new-hero .hero-eyebrow,
.new-hero h1 .hero-line,
.new-hero .hero-copy,
.new-hero .hero-actions,
.new-hero .hero-trust,
.new-hero .hero-scroll-cue{
  opacity:0;
  animation-fill-mode:both;
}
.new-hero .hero-eyebrow{animation:heroFadeUp .7s cubic-bezier(.16,.8,.3,1) .12s both}
.new-hero h1 .hero-line{display:block;animation:heroLineIn .9s cubic-bezier(.16,.8,.3,1) both}
.new-hero h1 .hero-line-one{animation-delay:.25s}
.new-hero h1 .hero-line-two{animation-delay:.43s}
.new-hero .hero-copy{animation:heroFadeUp .8s cubic-bezier(.16,.8,.3,1) .62s both}
.new-hero .hero-actions{animation:heroFadeUp .8s cubic-bezier(.16,.8,.3,1) .78s both}
.new-hero .hero-trust{animation:heroFadeUp .8s cubic-bezier(.16,.8,.3,1) .92s both}
.new-hero .hero-scroll-cue{animation:heroCueIn 1s ease 1.12s both}
.new-hero h1 em{display:inline-block;animation:heroGlow 3.4s ease-in-out 1.55s infinite}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroLineIn{from{opacity:0;transform:translateY(42px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes heroCueIn{from{opacity:0;transform:translateY(18px)}to{opacity:.95;transform:translateY(0)}}
@keyframes heroGlow{0%,100%{transform:translateY(0);text-shadow:0 0 0 rgba(246,197,21,0)}50%{transform:translateY(-2px);text-shadow:0 0 30px rgba(246,197,21,.25)}}

/* One real SAS panel photograph, deliberately faint, behind the whole Services section. */
.solutions-section{position:relative;overflow:hidden;background:#eaf4ff!important}
.solutions-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(234,244,255,.96) 0%,rgba(234,244,255,.80) 42%,rgba(234,244,255,.86) 100%),
    url('../assets/img/panels/panel-room-wide.jpeg');
  background-size:cover,cover;
  background-position:center,center 48%;
  background-repeat:no-repeat;
  opacity:1;
  filter:saturate(.65) contrast(.92);
  pointer-events:none;
}
.solutions-section>.container-xl{position:relative;z-index:1}
.activity-card{background:rgba(255,255,255,.90)!important;backdrop-filter:blur(2px)}
@media(max-width:767.98px){
  .solutions-section::before{background-position:center,62% center}
  .activity-card{background:rgba(255,255,255,.94)!important}
}
@media(prefers-reduced-motion:reduce){
  .new-hero .hero-eyebrow,
  .new-hero h1 .hero-line,
  .new-hero .hero-copy,
  .new-hero .hero-actions,
  .new-hero .hero-trust,
  .new-hero .hero-scroll-cue{opacity:1!important;animation:none!important;transform:none!important;filter:none!important}
  .new-hero h1 em{animation:none!important}
}


/* ============================================================
   HERO TEXT — PRONOUNCED INDUSTRIAL REVEAL
   ============================================================ */
.new-hero .hero-content-block{perspective:900px}
.new-hero .hero-eyebrow{opacity:0;transform:translate3d(-34px,0,0);filter:blur(4px);animation:saEyebrow .72s cubic-bezier(.16,1,.3,1) .12s forwards}
.new-hero .hero-eyebrow>span{display:inline-block;transform-origin:left center;animation:saEyebrowLine .7s cubic-bezier(.16,1,.3,1) .12s forwards}
.new-hero h1 .hero-line{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,38px,0) scale(.985);filter:blur(7px);animation:saHeadline .92s cubic-bezier(.16,1,.3,1) forwards}
.new-hero h1 .hero-line-one{animation-delay:.27s}
.new-hero h1 .hero-line-two{animation-delay:.49s}
.new-hero h1 em{display:inline-block;animation:saYellowRise .92s cubic-bezier(.16,1,.3,1) .49s forwards,saYellowPulse 4s ease-in-out 1.7s infinite;opacity:0}
.new-hero .hero-copy{opacity:0;transform:translate3d(0,24px,0);filter:blur(4px);animation:saCopy .78s cubic-bezier(.16,1,.3,1) .72s forwards}
.new-hero .hero-actions{opacity:0;transform:translate3d(0,22px,0) scale(.98);animation:saActions .72s cubic-bezier(.16,1,.3,1) .9s forwards}
.new-hero .hero-actions .btn{animation:saButtonGlow 2.8s ease-in-out 1.85s infinite}
.new-hero .hero-actions .hero-text-link{opacity:0;animation:saLinkIn .6s ease 1.04s forwards}
.new-hero .hero-trust{opacity:0;transform:translate3d(-18px,0,0);animation:saTrust .72s cubic-bezier(.16,1,.3,1) 1.08s forwards}
.new-hero .hero-trust i{animation:saShield 1.1s ease 1.45s both}
.new-hero .hero-scroll-cue{opacity:0;transform:translate3d(0,18px,0);animation:saScrollIn .8s ease 1.25s forwards}
.new-hero .hero-scroll-cue .scroll-cue-line{transform:scaleY(0);transform-origin:top;animation:saCueLine .8s cubic-bezier(.16,1,.3,1) 1.35s forwards}
@keyframes saEyebrow{to{opacity:1;transform:none;filter:none}}
@keyframes saEyebrowLine{0%{transform:scaleX(.2);opacity:.3}100%{transform:scaleX(1);opacity:1}}
@keyframes saHeadline{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,38px,0) scale(.985);filter:blur(7px)}65%{opacity:1;clip-path:inset(0 0 0 0);transform:translate3d(0,-2px,0) scale(1.002);filter:blur(0)}100%{opacity:1;clip-path:inset(0);transform:none;filter:none}}
@keyframes saYellowRise{0%{opacity:0;transform:translate3d(0,28px,0) scale(.97);filter:blur(6px)}70%{opacity:1;transform:translate3d(0,-2px,0) scale(1.01);filter:blur(0)}100%{opacity:1;transform:none}}
@keyframes saYellowPulse{0%,100%{text-shadow:0 0 0 rgba(246,197,21,0)}50%{text-shadow:0 0 24px rgba(246,197,21,.28)}}
@keyframes saCopy{to{opacity:1;transform:none;filter:none}}
@keyframes saActions{to{opacity:1;transform:none}}
@keyframes saLinkIn{to{opacity:1}}
@keyframes saButtonGlow{0%,100%{box-shadow:0 10px 24px rgba(246,197,21,.18)}50%{box-shadow:0 14px 34px rgba(246,197,21,.32)}}
@keyframes saTrust{to{opacity:1;transform:none}}
@keyframes saShield{0%{transform:scale(.5) rotate(-20deg);opacity:0}65%{transform:scale(1.15) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
@keyframes saScrollIn{to{opacity:.95;transform:none}}
@keyframes saCueLine{to{transform:scaleY(1)}}

/* Make the panel photograph clearly present but deliberately very faint. */
.solutions-section::before{
  background-image:
    linear-gradient(90deg,rgba(234,244,255,.975) 0%,rgba(234,244,255,.91) 34%,rgba(234,244,255,.88) 65%,rgba(234,244,255,.94) 100%),
    url('../assets/img/panels/panel-room-wide.jpeg');
  background-position:center,center 48%;
  background-size:cover,cover;
  filter:saturate(.5) contrast(.88);
}
.solutions-section::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(234,244,255,.18));pointer-events:none;z-index:0}
.solutions-section>.container-xl{z-index:1}

@media(max-width:767.98px){
 .new-hero .hero-eyebrow{transform:translate3d(-20px,0,0)}
 .new-hero h1 .hero-line{transform:translate3d(0,26px,0)}
}
@media(prefers-reduced-motion:reduce){
 .new-hero .hero-eyebrow,.new-hero .hero-eyebrow>span,.new-hero h1 .hero-line,.new-hero h1 em,.new-hero .hero-copy,.new-hero .hero-actions,.new-hero .hero-actions .hero-text-link,.new-hero .hero-trust,.new-hero .hero-trust i,.new-hero .hero-scroll-cue,.new-hero .hero-scroll-cue .scroll-cue-line{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important;animation:none!important}
}

/* ============================================================
   HOMEPAGE INDUSTRIES SECTION — faint SAS panel photograph
   Matches the visual treatment used in the Services section.
   ============================================================ */
.applications-section{
  position:relative;
  overflow:hidden;
  background:#eaf4ff!important;
}
.applications-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,
      rgba(234,244,255,.965) 0%,
      rgba(234,244,255,.90) 34%,
      rgba(234,244,255,.91) 68%,
      rgba(234,244,255,.965) 100%),
    url('../assets/img/panels/panel-room-wide.jpeg');
  background-size:cover,cover;
  background-position:center,center 46%;
  background-repeat:no-repeat;
  filter:saturate(.42) contrast(.88);
  pointer-events:none;
  z-index:0;
}
.applications-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(234,244,255,.16)),
    linear-gradient(rgba(18,102,212,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(18,102,212,.025) 1px,transparent 1px);
  background-size:auto,34px 34px,34px 34px;
  pointer-events:none;
  z-index:0;
}
.applications-section>.container-xl{
  position:relative;
  z-index:1;
}
.application-pills span{
  position:relative;
  background:rgba(255,255,255,.91)!important;
  backdrop-filter:blur(2px);
  box-shadow:0 10px 25px rgba(4,44,83,.06);
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease;
}
.application-pills span:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 32px rgba(4,44,83,.12);
}
@media(max-width:767.98px){
  .applications-section::before{background-position:center,center 58%;}
  .application-pills span{background:rgba(255,255,255,.95)!important;}
}

/* ============================================================
   INDUSTRIES — VISIBLE FAINT PANEL PHOTO BACKGROUND
   The panel photograph sits independently behind the content,
   instead of being washed out by the section background.
   ============================================================ */
.applications-section{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background:#eaf4ff!important;
}
.applications-section::before{
  content:"";
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-image:url('../assets/img/panels/panel-room-wide.jpeg')!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  opacity:.20!important;
  filter:saturate(.72) contrast(1.02)!important;
  pointer-events:none!important;
}
.applications-section::after{
  content:"";
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background-image:
    linear-gradient(rgba(234,244,255,.64),rgba(234,244,255,.64)),
    linear-gradient(rgba(18,102,212,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(18,102,212,.035) 1px,transparent 1px)!important;
  background-size:auto,34px 34px,34px 34px!important;
  pointer-events:none!important;
}
.applications-section>.container-xl{position:relative!important;z-index:2!important;}
.applications-section .application-pills{position:relative;z-index:3;}
.applications-section .application-pills span{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(174,205,235,.9)!important;
  box-shadow:0 12px 28px rgba(24,72,120,.10)!important;
}
.applications-section .application-pills span:hover{
  background:#fff!important;
  transform:translateY(-5px)!important;
  box-shadow:0 18px 34px rgba(24,72,120,.16)!important;
}
@media(max-width:767.98px){
  .applications-section::before{
    background-position:center center!important;
    background-size:auto 100%!important;
    opacity:.16!important;
  }
  .applications-section::after{
    background-image:linear-gradient(rgba(234,244,255,.70),rgba(234,244,255,.70)),linear-gradient(rgba(18,102,212,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,102,212,.035) 1px,transparent 1px)!important;
  }
}

/* ============================================================
   HERO — VISIBLE, REPEATING TEXT MOTION
   The hero text gets a clear entrance/replay animation so the
   movement is noticeable even after the page has already loaded.
   ============================================================ */
.new-hero .hero-eyebrow,
.new-hero h1 .hero-line,
.new-hero .hero-copy,
.new-hero .hero-actions,
.new-hero .hero-trust,
.new-hero .hero-scroll-cue{
  opacity:1!important;
  filter:none;
}

.new-hero .hero-eyebrow{
  transform:translate3d(-28px,0,0)!important;
  animation:saHeroKickerCycle 8s cubic-bezier(.22,.8,.25,1) .05s infinite!important;
}
.new-hero h1 .hero-line-one{
  transform:translate3d(0,30px,0)!important;
  animation:saHeroLineCycle 8s cubic-bezier(.18,.85,.25,1) .18s infinite!important;
}
.new-hero h1 .hero-line-two{
  transform:translate3d(0,34px,0)!important;
  animation:saHeroLineCycle 8s cubic-bezier(.18,.85,.25,1) .38s infinite!important;
}
.new-hero h1 em{
  opacity:1!important;
  animation:saHeroYellowCycle 8s cubic-bezier(.18,.85,.25,1) .38s infinite!important;
}
.new-hero .hero-copy{
  transform:translate3d(0,20px,0)!important;
  animation:saHeroCopyCycle 8s cubic-bezier(.2,.8,.25,1) .58s infinite!important;
}
.new-hero .hero-actions{
  transform:translate3d(0,18px,0) scale(.985)!important;
  animation:saHeroActionsCycle 8s cubic-bezier(.2,.8,.25,1) .76s infinite!important;
}
.new-hero .hero-trust{
  transform:translate3d(-14px,0,0)!important;
  animation:saHeroTrustCycle 8s cubic-bezier(.2,.8,.25,1) .94s infinite!important;
}
.new-hero .hero-scroll-cue{
  animation:saHeroCueCycle 8s ease-in-out 1.08s infinite!important;
}

@keyframes saHeroKickerCycle{
  0%{opacity:.25;transform:translate3d(-28px,0,0);letter-spacing:.14em}
  10%{opacity:1;transform:none;letter-spacing:.08em}
  18%,100%{opacity:1;transform:none;letter-spacing:.08em}
}
@keyframes saHeroLineCycle{
  0%{opacity:0;transform:translate3d(0,30px,0);filter:blur(6px);clip-path:inset(0 0 100% 0)}
  12%{opacity:1;transform:translate3d(0,-2px,0);filter:blur(0);clip-path:inset(0)}
  20%,100%{opacity:1;transform:none;filter:none;clip-path:inset(0)}
}
@keyframes saHeroYellowCycle{
  0%{opacity:0;transform:translate3d(0,30px,0) scale(.96);filter:blur(6px);text-shadow:none}
  12%{opacity:1;transform:translate3d(0,-2px,0) scale(1.015);filter:blur(0);text-shadow:0 0 24px rgba(246,197,21,.3)}
  20%{opacity:1;transform:none;filter:none;text-shadow:0 0 8px rgba(246,197,21,.08)}
  27%,100%{opacity:1;transform:none;filter:none;text-shadow:none}
}
@keyframes saHeroCopyCycle{
  0%{opacity:.35;transform:translate3d(0,20px,0);filter:blur(3px)}
  12%{opacity:1;transform:none;filter:none}
  20%,100%{opacity:1;transform:none;filter:none}
}
@keyframes saHeroActionsCycle{
  0%{opacity:.4;transform:translate3d(0,18px,0) scale(.985)}
  12%{opacity:1;transform:translate3d(0,-2px,0) scale(1.01)}
  20%,100%{opacity:1;transform:none}
}
@keyframes saHeroTrustCycle{
  0%{opacity:.35;transform:translate3d(-14px,0,0)}
  13%{opacity:1;transform:none}
  20%,100%{opacity:1;transform:none}
}
@keyframes saHeroCueCycle{
  0%{opacity:.45;transform:translate3d(0,10px,0)}
  14%{opacity:1;transform:none}
  22%{opacity:.78;transform:translateY(-2px)}
  30%,100%{opacity:.95;transform:none}
}

/* Moving highlight across the yellow headline */
.new-hero h1 .hero-line-two{position:relative;overflow:visible}
.new-hero h1 .hero-line-two em{position:relative}
.new-hero h1 .hero-line-two em::after{
  content:"";
  position:absolute;
  left:-4%;top:8%;width:4px;height:84%;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 0 16px rgba(255,255,255,.55);
  opacity:0;
  transform:translateX(0) skewX(-14deg);
  animation:saHeroSweep 8s ease-in-out .75s infinite!important;
}
@keyframes saHeroSweep{
  0%,18%{opacity:0;transform:translateX(0) skewX(-14deg)}
  22%{opacity:.9}
  31%{opacity:0;transform:translateX(900px) skewX(-14deg)}
  32%,100%{opacity:0;transform:translateX(900px) skewX(-14deg)}
}

@media(max-width:767.98px){
  .new-hero h1 .hero-line-one,.new-hero h1 .hero-line-two{transform:translate3d(0,24px,0)!important}
}
@media(prefers-reduced-motion:reduce){
  .new-hero .hero-eyebrow,
  .new-hero h1 .hero-line,
  .new-hero h1 em,
  .new-hero .hero-copy,
  .new-hero .hero-actions,
  .new-hero .hero-trust,
  .new-hero .hero-scroll-cue,
  .new-hero h1 .hero-line-two em::after{
    opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;animation:none!important
  }
}

/* Homepage About image zoom in / zoom out effect */
.about-modern .image-stack{overflow:visible;}
.about-modern .image-stack .main-shot{
  animation: aboutMainZoom 8s ease-in-out infinite alternate;
  transform-origin:center center;
  will-change:transform;
}
.about-modern .image-stack .small-shot{
  animation: aboutSmallZoom 6.5s ease-in-out infinite alternate;
  transform-origin:center center;
  will-change:transform;
}
@keyframes aboutMainZoom{
  0%{transform:scale(1.015);}
  50%{transform:scale(1.055);}
  100%{transform:scale(1.095);}
}
@keyframes aboutSmallZoom{
  0%{transform:scale(1);}
  50%{transform:scale(1.045);}
  100%{transform:scale(1.08);}
}
.about-modern .image-stack .main-shot:hover,
.about-modern .image-stack .small-shot:hover{
  filter:saturate(1.08) contrast(1.03);
}
@media (prefers-reduced-motion: reduce){
  .about-modern .image-stack .main-shot,
  .about-modern .image-stack .small-shot{animation:none;}
}


/* ============================================================
   HOMEPAGE INDUSTRIES — PREMIUM APPLICATION SHOWCASE
   ============================================================ */
.applications-section{
  position:relative!important;
  padding:88px 0 96px!important;
  overflow:hidden!important;
  isolation:isolate;
  background:#eaf4ff!important;
}
.applications-section::before{
  content:"";
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  background:url('../assets/img/panels/panel-room-wide.jpeg') center/cover no-repeat!important;
  opacity:.34!important;
  filter:saturate(.82) contrast(1.04)!important;
  transform:scale(1.03);
}
.applications-section::after{
  content:"";
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background:
    linear-gradient(90deg,rgba(234,244,255,.76) 0%,rgba(234,244,255,.60) 48%,rgba(234,244,255,.76) 100%),
    linear-gradient(rgba(19,103,190,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(19,103,190,.045) 1px,transparent 1px)!important;
  background-size:auto,34px 34px,34px 34px!important;
}
.applications-section>.container-xl{position:relative!important;z-index:3!important;}
.applications-section .section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(18,102,212,.14);
  box-shadow:0 8px 22px rgba(20,75,125,.07);
}
.applications-section .section-kicker::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:#f6c515;
  box-shadow:0 0 0 5px rgba(246,197,21,.13);
}
.applications-section h2{
  max-width:760px;
  margin-top:18px!important;
  margin-bottom:12px!important;
  font-size:clamp(2.2rem,4vw,4rem)!important;
  color:#08345f!important;
  letter-spacing:-1.8px!important;
}
.applications-section .row.align-items-end{margin-bottom:38px!important;}
.applications-section .row.align-items-end p{
  margin:0!important;
  max-width:430px;
  font-size:1rem;
  line-height:1.8;
  color:#526f88!important;
}
.application-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px!important;
  margin-top:26px;
}
.application-grid span{
  position:relative;
  min-height:104px;
  display:flex!important;
  align-items:flex-end;
  padding:24px 24px 20px!important;
  border-radius:18px!important;
  border:1px solid rgba(133,176,216,.46)!important;
  background:rgba(255,255,255,.86)!important;
  color:#173451!important;
  font-size:1rem!important;
  font-weight:750!important;
  letter-spacing:.1px;
  box-shadow:0 12px 28px rgba(19,66,108,.10)!important;
  backdrop-filter:blur(5px);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease,background .35s ease!important;
}
.application-grid span::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:100%;height:4px;
  background:linear-gradient(90deg,#0b5eb7,#f6c515);
  transform:scaleX(.25);
  transform-origin:left;
  transition:transform .35s ease;
}
.application-grid span::after{
  content:"";
  position:absolute;
  right:-18px;top:-18px;
  width:68px;height:68px;
  border-radius:50%;
  border:1px solid rgba(11,79,156,.12);
  box-shadow:inset 0 0 0 10px rgba(11,79,156,.025);
}
.application-grid span:nth-child(1)::after{content:"01"}
.application-grid span:nth-child(2)::after{content:"02"}
.application-grid span:nth-child(3)::after{content:"03"}
.application-grid span:nth-child(4)::after{content:"04"}
.application-grid span:nth-child(5)::after{content:"05"}
.application-grid span:nth-child(6)::after{content:"06"}
.application-grid span:nth-child(7)::after{content:"07"}
.application-grid span:nth-child(8)::after{content:"08"}
.application-grid span:nth-child(9)::after{content:"09"}
.application-grid span::after{
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:800;color:rgba(11,79,156,.26);
}
.application-grid span:hover{
  transform:translateY(-8px)!important;
  border-color:rgba(11,94,183,.45)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 20px 40px rgba(18,72,119,.18)!important;
}
.application-grid span:hover::before{transform:scaleX(1);}
@media(max-width:991.98px){
  .application-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:575.98px){
  .applications-section{padding:68px 0 74px!important;}
  .application-grid{grid-template-columns:1fr;gap:12px!important;}
  .application-grid span{min-height:88px;padding:20px!important;}
  .applications-section::before{opacity:.25!important;background-position:center!important;}
  .applications-section::after{background:linear-gradient(rgba(234,244,255,.80),rgba(234,244,255,.80)),linear-gradient(rgba(19,103,190,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(19,103,190,.04) 1px,transparent 1px)!important;background-size:auto,30px 30px,30px 30px!important;}
}
@media(prefers-reduced-motion:reduce){.application-grid span{transition:none!important}.application-grid span:hover{transform:none!important}}


/* ============================================================
   HOMEPAGE INDUSTRIES — HEADING + COMPACT VERTICAL RHYTHM
   ============================================================ */
.applications-section{padding:64px 0 78px!important;}
.applications-section .industries-heading{position:relative;z-index:4!important;display:block!important;visibility:visible!important;opacity:1!important;margin-bottom:30px!important;}
.applications-section .industries-heading .section-kicker{visibility:visible!important;opacity:1!important;transform:none!important;}
.applications-section .industries-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-top:16px;}
.applications-section .industries-title-wrap{max-width:760px;}
.applications-section .industries-title-wrap h2{margin:0!important;font-size:clamp(2.25rem,4vw,3.65rem)!important;line-height:1.04!important;letter-spacing:-1.8px!important;color:#08345f!important;visibility:visible!important;opacity:1!important;transform:none!important;}
.applications-section .industries-lead{margin:12px 0 0!important;color:#0b5eb7!important;font-weight:700!important;font-size:1.05rem!important;}
.applications-section .industries-description{max-width:460px;margin:0!important;color:#526f88!important;font-size:1rem!important;line-height:1.75!important;visibility:visible!important;opacity:1!important;transform:none!important;}
.applications-section .application-grid{margin-top:0!important;}
@media(max-width:991.98px){
 .applications-section{padding:58px 0 68px!important;}
 .applications-section .industries-heading-row{display:block;}
 .applications-section .industries-description{max-width:700px;margin-top:14px!important;}
}
@media(max-width:575.98px){
 .applications-section{padding:48px 0 58px!important;}
 .applications-section .industries-heading{margin-bottom:22px!important;}
 .applications-section .industries-title-wrap h2{font-size:2.25rem!important;}
 .applications-section .industries-lead{font-size:.96rem!important;}
}

/* ============================================================
   HOME HERO — dual video crossfade
   Two background videos stacked in the same frame; JS toggles
   .is-active between them on a timer to cross-dissolve.
   ============================================================ */
.new-hero video.hero-video.hero-video-a,
.new-hero video.hero-video.hero-video-b{
  transition:opacity 1.8s ease-in-out;
  will-change:opacity;
}
.new-hero video.hero-video.hero-video-a:not(.is-active),
.new-hero video.hero-video.hero-video-b:not(.is-active){
  opacity:0!important;
}
.new-hero video.hero-video.hero-video-a.is-active,
.new-hero video.hero-video.hero-video-b.is-active{
  opacity:1!important;
}
@media(prefers-reduced-motion:reduce){
  .new-hero video.hero-video.hero-video-a,
  .new-hero video.hero-video.hero-video-b{
    transition:none;
  }
}

/* ============================================================
   HOME HERO — two full slides (video + own headline text)
   Text blocks stack and crossfade in sync with their video.
   ============================================================ */
.new-hero .hero-content-stage{
  position:relative;
  min-height:400px;
}
.new-hero .hero-content-stage .hero-content-block{
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  max-width:700px;
  opacity:0;
  transition:opacity 1.8s ease-in-out;
  pointer-events:none;
}
.new-hero .hero-content-stage .hero-content-block.is-active{
  opacity:1!important;
  pointer-events:auto;
}
@media(max-width:767.98px){
  .new-hero .hero-content-stage{min-height:520px}
}
@media(max-width:575.98px){
  .new-hero .hero-content-stage{min-height:560px}
}
@media(prefers-reduced-motion:reduce){
  .new-hero .hero-content-stage .hero-content-block{transition:none}
}
