@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap");


:root{
  --font-body:"Plus Jakarta Sans","Segoe UI",Arial,sans-serif;
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --navy:#020b16;
  --navy-2:#071628;
  --gold:#cfa96a;
  --gold-2:#f0c878;
  --text:#f7f2ea;
  --muted:#b8c0c9;
  --line:rgba(207,169,106,.35);
  --card:rgba(6,19,34,.78);
  --teal:#19bbb5;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--navy);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.5;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}

.lp-header{
  position:fixed;
  z-index:1000;
  inset-inline:0;
  top:0;
  padding:18px 0;
  background:rgba(2,11,22,.18);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(207,169,106,.06);
}
.lp-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.brand img{width:110px;height:auto}
.menu{
  display:flex;
  gap:34px;
  align-items:center;
  font-size:14px;
  font-weight:600;
  letter-spacing:.2px;
}
.menu a{opacity:.92;position:relative}
.menu a.active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-10px;
  margin:auto;
  width:34px;height:2px;
  background:var(--gold);
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:48px;
  padding:0 28px;
  border-radius:4px;
  border:1px solid var(--line);
  color:var(--text);
  font-weight:700;
  font-size:14px;
  transition:.25s ease;
}
.btn.gold{
  color:#08111f;
  background:linear-gradient(135deg,#f1ca79,#b98b43);
  border-color:transparent;
}
.btn.outline{background:rgba(2,11,22,.34)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.28)}
.header-cta{
  min-height:42px;
  padding:0 24px;
  color:var(--gold-2);
  border-color:rgba(207,169,106,.75);
  background:rgba(2,11,22,.32);
}

.hero{
  position:relative;
  min-height:760px;
  overflow:hidden;
  background:#061426;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(2,10,20,.94) 0%,rgba(2,10,20,.72) 35%,rgba(2,10,20,.26) 68%,rgba(2,10,20,.45) 100%),
    linear-gradient(180deg,rgba(2,10,20,.42) 0%,rgba(2,10,20,.04) 44%,rgba(2,10,20,.9) 100%);
}
.hero-inner{
  position:relative;
  z-index:2;
  min-height:760px;
  display:grid;
  grid-template-columns: 48% 52%;
  align-items:center;
  padding-top:92px;
}
.hero-copy{
  max-width:620px;
}
.hero-copy h1{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(48px,5vw,78px);
  line-height:1.06;
  letter-spacing:-1px;
  font-weight:500;
}
.hero-copy h1 span{color:var(--gold)}
.hero-copy .bar{
  width:90px;height:2px;background:var(--gold);
  margin:34px 0;
}
.hero-copy p{
  max-width:540px;
  margin:0 0 34px;
  color:#e7e9ec;
  font-size:20px;
  line-height:1.65;
}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap}
.logo-stage{
  position:relative;
  min-height:520px;
}
.logo-frame,.logo-still{
  position:absolute;
  top:50%;
  right:0;
  width:min(520px,80%);
  transform:translateY(-50%);
  mix-blend-mode:screen;
  filter:brightness(1.15) saturate(1.1);
}
.logo-still{display:none}
.trust-row{
  position:absolute;
  z-index:3;
  left:0;right:0;
  bottom:0;
  border-top:1px solid rgba(207,169,106,.22);
  border-bottom:1px solid rgba(207,169,106,.22);
  background:rgba(3,14,27,.72);
  backdrop-filter:blur(12px);
}
.trust-grid{
  min-height:88px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  gap:0;
}
.trust-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 24px;
  border-right:1px solid rgba(207,169,106,.22);
}
.trust-item:last-child{border-right:none}
.icon{
  color:var(--gold);
  font-size:26px;
}
.trust-item strong{display:block;color:var(--gold-2);font-size:16px}
.trust-item small{color:#d9dde2}

section{position:relative}
.section-pad{padding:78px 0}
.dark-section{
  background:
    radial-gradient(circle at 70% 20%,rgba(31,178,170,.08),transparent 32%),
    linear-gradient(180deg,#061426 0%,#02101e 100%);
}
.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:4px;
  font-weight:800;
  font-size:12px;
}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(34px,3.8vw,54px);
  line-height:1.12;
  margin:10px 0 20px;
  font-weight:500;
}
.coverage-grid{
  display:grid;
  grid-template-columns:36% 64%;
  align-items:center;
  gap:40px;
}
.coverage-copy p{color:var(--muted);max-width:420px}
.map-card{
  min-height:310px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:var(--card);
  box-shadow:0 18px 60px rgba(0,0,0,.22);
}
.map-card img{width:100%;height:100%;object-fit:cover;opacity:.92}

.stats{
  margin-top:28px;
  border:1px solid var(--line);
  border-radius:12px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:rgba(3,15,29,.72);
}
.stat{
  text-align:center;
  padding:22px 14px;
  border-right:1px solid rgba(207,169,106,.22);
}
.stat:last-child{border-right:none}
.stat b{display:block;color:var(--gold-2);font-size:34px;font-weight:700}
.stat span{font-size:13px;color:#d9dde2}

.products{text-align:center}
.products .eyebrow{display:block}
.product-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.product-card{
  text-align:left;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:rgba(5,18,33,.82);
  transition:.25s ease;
}
.product-card:hover{transform:translateY(-6px);border-color:rgba(240,200,120,.72)}
.product-card img{height:132px;width:100%;object-fit:cover}
.product-card .body{padding:18px}
.product-card h3{
  margin:0 0 8px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:22px;
}
.product-card p{margin:0 0 16px;color:#d6dbe2;font-size:14px}
.link{color:var(--gold-2);font-size:13px;font-weight:800}

.partners{
  text-align:center;
  padding:18px 0 38px;
}
.partner-row{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:18px;
}
.partner-logo{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(207,169,106,.24);
  border-radius:7px;
  background:rgba(5,18,33,.72);
  color:#fff;
  font-size:22px;
  letter-spacing:2px;
  font-weight:800;
}
.partner-logo small{display:block;font-size:9px;letter-spacing:4px;color:#d3d9e0}

.features{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:28px;
  background:rgba(5,18,33,.65);
}
.feature{
  text-align:center;
  padding:6px 10px;
}
.feature .icon{font-size:36px}
.feature h4{margin:12px 0 6px;color:var(--gold-2)}
.feature p{font-size:13px;color:#cfd5dd;margin:0}

.contact{
  padding:62px 0 0;
  background:#061321;
}
.contact-grid{
  display:grid;
  grid-template-columns:32% 40% 28%;
  gap:28px;
  align-items:stretch;
}
.checks{padding:0;margin:22px 0 0;list-style:none}
.checks li{margin:8px 0;color:#e6e8eb}
.checks li::before{content:"✓";color:var(--gold-2);margin-right:10px}
.form{
  border:1px solid var(--line);
  border-radius:9px;
  padding:22px;
  background:rgba(4,16,29,.78);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.form input,.form textarea{
  width:100%;
  background:#061426;
  border:1px solid rgba(207,169,106,.22);
  color:#fff;
  border-radius:4px;
  min-height:44px;
  padding:0 14px;
  outline:none;
}
.form textarea{
  grid-column:1/-1;
  min-height:110px;
  padding-top:14px;
  resize:vertical;
}
.form .btn{width:100%;margin-top:14px}
.office{
  border-radius:6px;
  overflow:hidden;
  border:1px solid rgba(207,169,106,.22);
}
.office img{width:100%;height:100%;object-fit:cover}
.footer{
  padding:28px 0 22px;
  border-top:1px solid rgba(207,169,106,.18);
  background:#03101e;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr repeat(4,1fr);
  gap:26px;
}
.footer-logo{width:88px;margin-bottom:12px}
.footer p,.footer a{font-size:13px;color:#aeb8c4}
.footer h5{margin:0 0 12px;color:#fff}
.footer ul{padding:0;margin:0;list-style:none}
.footer li{margin:7px 0}
.copyright{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  color:#8994a2;
  font-size:12px;
}
.mobile-toggle{display:none}

@media (max-width:980px){
  .mobile-toggle{display:flex}
  .menu,.header-cta{display:none}
  .hero-inner{grid-template-columns:1fr;align-items:end;padding-bottom:120px}
  .logo-stage{display:none}
  .hero-copy p{font-size:17px}
  .trust-grid,.stats,.product-grid,.partner-row,.features,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .trust-item,.stat{border-right:none;border-bottom:1px solid rgba(207,169,106,.18)}
  .coverage-grid{grid-template-columns:1fr}
}


/* ================================
   Premium Motion Layer - V4
================================ */
html{scroll-padding-top:90px}
body::before{
  content:"";
  position:fixed;
  inset:auto auto 0 0;
  width:420px;
  height:420px;
  pointer-events:none;
  z-index:999;
  opacity:.18;
  transform:translate3d(calc(var(--mx, 50vw) - 50%), calc(var(--my, 50vh) - 50%),0);
  background:radial-gradient(circle, rgba(207,169,106,.28), rgba(25,187,181,.08) 38%, transparent 70%);
  filter:blur(18px);
  transition:opacity .35s ease;
}

.lp-header{
  transition:background .35s ease, backdrop-filter .35s ease, padding .35s ease, border-color .35s ease;
}
.lp-header.is-scrolled{
  background:rgba(2,11,22,.84);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(207,169,106,.18);
  padding:10px 0;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
}
@keyframes headerDrop{
  from{transform:translateY(-16px);opacity:.7}
  to{transform:translateY(0);opacity:1}
}

.menu a{
  transition:color .28s ease, opacity .28s ease;
}
.menu a::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-12px;
  width:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--gold-2), transparent);
  transform:translateX(-50%);
  transition:width .35s cubic-bezier(.2,.8,.2,1);
}
.menu a:hover,
.menu a.is-active{color:var(--gold-2);opacity:1}
.menu a:hover::before,
.menu a.is-active::before,
.menu a.active::before{width:42px}
.menu a.active::after{display:none}

.hero-bg{
  transform:scale(1.04) translate3d(calc(var(--parallax-x,0px) * -1), calc(var(--parallax-y,0px) * -1), 0);
  transition:transform .16s linear;
}
.hero-copy{
  animation:heroContentIn 1.15s cubic-bezier(.18,.8,.18,1) .2s both;
}
.logo-stage{
  animation:heroLogoIn 1.2s cubic-bezier(.18,.8,.18,1) .45s both;
}
@keyframes heroContentIn{
  from{opacity:0;transform:translateY(38px);filter:blur(12px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes heroLogoIn{
  from{opacity:0;transform:translateX(48px) scale(.96);filter:blur(14px)}
  to{opacity:1;transform:translateX(0) scale(1);filter:blur(0)}
}

.btn{
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-80%;
  width:70%;
  height:200%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  transform:rotate(18deg);
  transition:left .55s cubic-bezier(.2,.8,.2,1);
}
.btn:hover::before{left:125%}

.reveal{
  opacity:0;
  transform:translateY(44px);
  filter:blur(10px);
  transition:
    opacity .9s cubic-bezier(.2,.8,.2,1),
    transform .9s cubic-bezier(.2,.8,.2,1),
    filter .9s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--delay,0ms);
  will-change:opacity,transform,filter;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
.reveal-left{transform:translateX(-44px)}
.reveal-right{transform:translateX(44px)}
.reveal-scale{transform:scale(.94)}
.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-scale.is-visible{transform:translateX(0) scale(1)}

.section-focus{
  position:relative;
}
.section-focus::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:18px;
  border:1px solid rgba(240,200,120,.28);
  box-shadow:0 0 70px rgba(207,169,106,.16);
  opacity:0;
  pointer-events:none;
  animation:focusPulse 1.6s cubic-bezier(.2,.8,.2,1);
}
@keyframes focusPulse{
  0%{opacity:0;transform:scale(.985)}
  28%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(1.012)}
}

.product-card,
.partner-logo,
.feature,
.map-card,
.form,
.office,
.stat,
.trust-item{
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.product-card{
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(0);
}
.product-card:hover{
  box-shadow:0 24px 70px rgba(0,0,0,.36), 0 0 0 1px rgba(240,200,120,.26) inset;
}
.product-card::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:radial-gradient(circle at var(--lx,50%) var(--ly,50%), rgba(240,200,120,.18), transparent 38%);
  transition:opacity .25s ease;
  pointer-events:none;
}
.product-card:hover::after{opacity:1}

.partner-logo{
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.partner-logo:hover{
  transform:translateY(-7px) scale(1.025);
  border-color:rgba(240,200,120,.7);
  box-shadow:0 20px 45px rgba(0,0,0,.3), 0 0 38px rgba(207,169,106,.14);
}
.partner-row.is-visible .partner-logo{
  animation:partnerFloat 4.8s ease-in-out infinite;
  animation-delay:var(--delay,0ms);
}
@keyframes partnerFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}

.stat b{
  text-shadow:0 0 22px rgba(207,169,106,.28);
}
.features .feature{
  transition:transform .32s ease, background .32s ease, box-shadow .32s ease;
  border-radius:12px;
}
.features .feature:hover{
  transform:translateY(-8px);
  background:rgba(207,169,106,.055);
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.icon{
  transition:transform .35s cubic-bezier(.2,.8,.2,1), color .35s ease;
}
.feature:hover .icon,
.trust-item:hover .icon{
  transform:translateY(-4px) scale(1.12);
  color:var(--gold-2);
}
.map-card img,
.office img{
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter 1.2s ease;
}
.map-card:hover img,
.office:hover img{
  transform:scale(1.055);
  filter:saturate(1.12) contrast(1.05);
}
.form input:focus,
.form textarea:focus{
  border-color:rgba(240,200,120,.72);
  box-shadow:0 0 0 4px rgba(207,169,106,.08);
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .reveal{opacity:1;transform:none;filter:none}
}


/* ================================
   Full Viewport Sections + Elite Motion - V6
================================ */
html{
  scroll-padding-top:0;
  scroll-snap-type:y proximity;
}
body{
  overflow-x:hidden;
}
.snap-section{
  min-height:100vh;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:flex;
  align-items:center;
}
.hero.snap-section{
  height:100vh;
  min-height:760px;
  display:block;
}
.hero-inner{
  min-height:100vh;
}
.trust-row{
  bottom:0;
}
.dark-section.section-pad.snap-section{
  padding:110px 0 80px;
}
.products.snap-section{
  justify-content:center;
}
.partners.snap-section{
  min-height:100vh;
  display:flex;
  align-items:center;
}
.contact.snap-section{
  min-height:100vh;
  align-items:center;
  padding:110px 0 0;
}

/* deeper content entrance, similar high-end agency page motion */
.reveal{
  transform:translateY(70px) scale(.985);
  clip-path:inset(0 0 18% 0);
}
.reveal.is-visible{
  clip-path:inset(0 0 0 0);
}
.section-title{
  overflow:hidden;
}
.is-visible .section-title,
.section-title.reveal.is-visible{
  animation:titleShine 1.4s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes titleShine{
  from{text-shadow:0 0 0 rgba(207,169,106,0)}
  45%{text-shadow:0 0 28px rgba(207,169,106,.26)}
  to{text-shadow:0 0 0 rgba(207,169,106,0)}
}
.product-card,
.partner-logo,
.feature,
.stat{
  position:relative;
}
.product-card::before,
.partner-logo::before,
.feature::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(240,200,120,.22), transparent 38%, rgba(25,187,181,.12));
  opacity:0;
  transition:opacity .35s ease;
}
.product-card:hover::before,
.partner-logo:hover::before,
.feature:hover::before{
  opacity:1;
}
.coverage-grid,
.product-grid,
.partner-row,
.features,
.contact-grid{
  perspective:1200px;
}
.map-card.is-visible,
.product-card.is-visible,
.partner-logo.is-visible,
.feature.is-visible,
.contact-grid > *.is-visible{
  animation:premiumRise .95s cubic-bezier(.18,.86,.22,1) both;
  animation-delay:var(--delay,0ms);
}
@keyframes premiumRise{
  0%{opacity:0;transform:translateY(80px) rotateX(10deg) scale(.965);filter:blur(12px)}
  100%{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:blur(0)}
}

/* show a clear focus state after nav click */
.section-focus::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 18%, rgba(207,169,106,.11), transparent 42%);
  animation:sectionGlowIn 1.8s ease both;
}
@keyframes sectionGlowIn{
  0%{opacity:0}
  25%{opacity:1}
  100%{opacity:0}
}

@media (max-height:820px) and (min-width:981px){
  .hero.copy-compact .hero-copy h1,
  .hero-copy h1{font-size:clamp(42px,4.2vw,62px)}
  .hero-copy p{font-size:17px}
  .trust-grid{min-height:76px}
  .dark-section.section-pad.snap-section{padding:88px 0 58px}
}
@media (max-width:980px){
  html{scroll-snap-type:none}
  .snap-section,
  .hero.snap-section{
    min-height:auto;
    height:auto;
    scroll-snap-align:none;
  }
  .hero-inner{min-height:760px}
}


/* ================================
   Back To Top + Active Header State - V7
================================ */
.back-to-top{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:1200;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(240,200,120,.65);
  background:linear-gradient(135deg,rgba(207,169,106,.95),rgba(142,101,43,.95));
  color:#061321;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.92);
  box-shadow:0 18px 45px rgba(0,0,0,.35), 0 0 26px rgba(207,169,106,.22);
  transition:opacity .35s ease, visibility .35s ease, transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.back-to-top:hover{
  transform:translateY(-5px) scale(1.06);
  box-shadow:0 22px 54px rgba(0,0,0,.42), 0 0 38px rgba(240,200,120,.36);
}
.menu a.selected,
.menu a.is-active{
  color:var(--gold-2);
  opacity:1;
}
.menu a.selected::before,
.menu a.is-active::before{
  width:46px;
}
.menu a.selected{
  text-shadow:0 0 18px rgba(207,169,106,.22);
}

@media (max-width:980px){
  .back-to-top{
    right:18px;
    bottom:18px;
    width:46px;
    height:46px;
    font-size:21px;
  }
}


/* ================================
   Header Links Order + Reliable Back Top - V8
================================ */
.back-to-top{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0) scale(1)!important;
}
.back-to-top.is-hidden{
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(18px) scale(.92)!important;
}
.menu a[href$=".html"]{
  opacity:.72;
}
.menu a[href$=".html"]::before{
  background:linear-gradient(90deg, transparent, rgba(207,169,106,.45), transparent);
}
.menu a.selected,
.menu a.is-active{
  color:var(--gold-2)!important;
  opacity:1!important;
}
.menu a.selected::before,
.menu a.is-active::before{
  width:46px!important;
}


/* ================================
   About Us / Vision / Message - V9
================================ */
.about-section{
  background:
    radial-gradient(circle at 18% 20%, rgba(207,169,106,.10), transparent 30%),
    radial-gradient(circle at 82% 78%, rgba(25,187,181,.09), transparent 34%),
    linear-gradient(180deg,#061426 0%,#020d19 100%);
  overflow:hidden;
}
.about-section > .container{
  width:min(1220px,calc(100% - 48px));
}
.about-head{
  max-width:820px;
  margin:0 auto 34px;
  text-align:center;
}
.about-head p{
  margin:0 auto;
  max-width:760px;
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.about-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.about-card{
  position:relative;
  overflow:hidden;
  min-height:520px;
  border:1px solid rgba(207,169,106,.28);
  border-radius:16px;
  background:rgba(4,17,31,.74);
  box-shadow:0 22px 60px rgba(0,0,0,.24);
  transition:transform .42s cubic-bezier(.2,.8,.2,1), border-color .42s ease, box-shadow .42s ease;
}
.about-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,10,20,.02) 0%, rgba(2,10,20,.18) 34%, rgba(2,10,20,.92) 100%),
    radial-gradient(circle at 50% 30%, rgba(240,200,120,.13), transparent 42%);
}
.about-card::after{
  content:"";
  position:absolute;
  inset:14px;
  z-index:3;
  pointer-events:none;
  border:1px solid rgba(240,200,120,.18);
  border-radius:12px;
  opacity:.7;
}
.about-card:hover{
  transform:translateY(-10px);
  border-color:rgba(240,200,120,.72);
  box-shadow:0 30px 85px rgba(0,0,0,.34), 0 0 55px rgba(207,169,106,.11);
}
.about-image{
  position:absolute;
  inset:0;
}
.about-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  filter:saturate(1.04) contrast(1.05) brightness(.82);
  transition:transform 1.35s cubic-bezier(.2,.8,.2,1), filter 1.35s ease;
}
.about-card:hover .about-image img{
  transform:scale(1.12);
  filter:saturate(1.12) contrast(1.1) brightness(.92);
}
.about-body{
  position:absolute;
  z-index:4;
  left:26px;
  right:26px;
  bottom:28px;
}
.about-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:16px;
  border-radius:50%;
  background:rgba(207,169,106,.12);
  border:1px solid rgba(240,200,120,.42);
  color:var(--gold-2);
  font-weight:900;
}
.about-body h3{
  margin:0 0 12px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:32px;
  font-weight:500;
}
.about-body p{
  margin:0;
  color:#e1e6ec;
  font-size:15px;
  line-height:1.72;
}
.about-card.is-visible{
  animation:premiumRise .95s cubic-bezier(.18,.86,.22,1) both;
  animation-delay:var(--delay,0ms);
}

@media (max-height:820px) and (min-width:981px){
  .about-head{margin-bottom:22px}
  .about-card{min-height:440px}
  .about-body h3{font-size:27px}
  .about-body p{font-size:13.5px;line-height:1.6}
}
@media (max-width:980px){
  .about-section{padding:96px 0 60px}
  .about-cards{grid-template-columns:1fr}
  .about-card{min-height:460px}
}

/* ================================
   About Section - Why Choose Style - V10
================================ */
.about-section-v10{
  background:
    radial-gradient(circle at 12% 16%, rgba(207,169,106,.12), transparent 30%),
    radial-gradient(circle at 92% 62%, rgba(25,187,181,.08), transparent 32%),
    linear-gradient(180deg,#071426 0%,#020d19 100%);
  overflow:hidden;
}
.about-v10-layout{
  display:grid;
  grid-template-columns:38% 62%;
  gap:52px;
  align-items:center;
  width:min(1220px,calc(100% - 48px));
}
.about-v10-intro{
  position:sticky;
  top:118px;
  align-self:start;
}
.about-v10-intro p{
  color:var(--muted);
  font-size:17px;
  line-height:1.8;
  margin:0 0 28px;
}
.about-v10-list{
  position:relative;
  display:grid;
  gap:22px;
}
.about-v10-list::before{
  content:"";
  position:absolute;
  left:46px;
  top:38px;
  bottom:38px;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(240,200,120,.48), rgba(25,187,181,.25), transparent);
}
.about-v10-item{
  position:relative;
  display:grid;
  grid-template-columns:132px 1fr;
  gap:24px;
  align-items:center;
  min-height:178px;
  padding:22px;
  border:1px solid rgba(207,169,106,.26);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
    rgba(4,17,31,.72);
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  overflow:hidden;
  backdrop-filter:blur(10px);
  transition:transform .42s cubic-bezier(.2,.8,.2,1), border-color .42s ease, box-shadow .42s ease;
}
.about-v10-item:nth-child(2){
  margin-left:38px;
}
.about-v10-item:nth-child(3){
  margin-left:76px;
}
.about-v10-item::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 20%, rgba(240,200,120,.18), transparent 34%);
  opacity:.65;
  pointer-events:none;
}
.about-v10-item::after{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(240,200,120,.11);
  border-radius:14px;
  pointer-events:none;
}
.about-v10-item:hover{
  transform:translateY(-8px) translateX(-4px);
  border-color:rgba(240,200,120,.72);
  box-shadow:0 30px 86px rgba(0,0,0,.34), 0 0 55px rgba(207,169,106,.12);
}
.about-v10-media{
  position:relative;
  z-index:2;
  width:112px;
  height:112px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(240,200,120,.38);
  box-shadow:0 16px 44px rgba(0,0,0,.25), 0 0 28px rgba(207,169,106,.12);
}
.about-v10-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.08) contrast(1.08) brightness(.86);
  transform:scale(1.05);
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1), filter 1.1s ease;
}
.about-v10-item:hover .about-v10-media img{
  transform:scale(1.16);
  filter:saturate(1.14) contrast(1.1) brightness(.96);
}
.about-v10-content{
  position:relative;
  z-index:2;
}
.about-v10-number{
  display:inline-flex;
  margin-bottom:8px;
  color:var(--gold-2);
  font-weight:900;
  letter-spacing:3px;
  font-size:13px;
}
.about-v10-content h3{
  margin:0 0 8px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:30px;
  font-weight:500;
}
.about-v10-content p{
  margin:0;
  color:#dfe6ed;
  font-size:15px;
  line-height:1.68;
}
.about-v10-item.is-visible{
  animation:premiumRise .95s cubic-bezier(.18,.86,.22,1) both;
  animation-delay:var(--delay,0ms);
}

@media (max-height:820px) and (min-width:981px){
  .about-v10-layout{gap:34px}
  .about-v10-item{min-height:150px;padding:17px;grid-template-columns:110px 1fr}
  .about-v10-media{width:94px;height:94px;border-radius:20px}
  .about-v10-content h3{font-size:25px}
  .about-v10-content p{font-size:13.4px;line-height:1.55}
}
@media (max-width:980px){
  .about-v10-layout{grid-template-columns:1fr;gap:30px}
  .about-v10-intro{position:relative;top:auto}
  .about-v10-item,
  .about-v10-item:nth-child(2),
  .about-v10-item:nth-child(3){margin-left:0}
  .about-v10-list::before{display:none}
}
@media (max-width:640px){
  .about-v10-item{grid-template-columns:1fr}
  .about-v10-media{width:100%;height:180px}
}


/* ================================
   Premium Typography - V11
================================ */
body{
  font-feature-settings:"kern" 1, "liga" 1;
  text-rendering:optimizeLegibility;
  letter-spacing:-0.01em;
}
.menu,
.btn,
.eyebrow,
.trust-item,
.stat span,
.product-card p,
.feature p,
.footer p,
.footer a,
.form input,
.form textarea{
  font-family:var(--font-body);
}
.section-title,
.hero-copy h1,
.product-card h3,
.about-v10-content h3,
.about-body h3{
  font-family:var(--font-display);
  letter-spacing:-0.035em;
}
.hero-copy h1{
  font-weight:600;
}
.section-title{
  font-weight:600;
}
.menu{
  font-weight:700;
  letter-spacing:.01em;
}
.eyebrow{
  font-weight:800;
  letter-spacing:.18em;
}
p{
  letter-spacing:-0.006em;
}


/* ================================
   Dynamic Products Slider - V12
================================ */
.products-v12{
  text-align:left;
  background:
    radial-gradient(circle at 12% 20%, rgba(207,169,106,.12), transparent 32%),
    radial-gradient(circle at 80% 82%, rgba(25,187,181,.09), transparent 34%),
    linear-gradient(180deg,#061426 0%,#020d19 100%);
  overflow:hidden;
}
.products-v12-shell{
  width:min(1240px,calc(100% - 48px));
}
.products-v12-head{
  max-width:880px;
  margin:0 auto 28px;
  text-align:center;
}
.products-v12-head p{
  margin:0 auto;
  max-width:760px;
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
}
.products-v12-dashboard{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:24px;
  min-height:560px;
}
.product-category-tabs{
  display:grid;
  gap:10px;
  align-content:start;
  padding:14px;
  border:1px solid rgba(207,169,106,.22);
  border-radius:20px;
  background:rgba(4,17,31,.68);
  backdrop-filter:blur(14px);
  box-shadow:0 24px 70px rgba(0,0,0,.25);
}
.product-tab{
  position:relative;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:center;
  width:100%;
  min-height:74px;
  padding:13px 14px;
  border:1px solid rgba(207,169,106,.14);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), border-color .32s ease, background .32s ease, box-shadow .32s ease;
}
.product-tab::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(240,200,120,.16),transparent 48%,rgba(25,187,181,.10));
  opacity:0;
  transition:opacity .32s ease;
}
.product-tab span{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid rgba(240,200,120,.3);
  color:var(--gold-2);
  font-weight:900;
  font-size:12px;
}
.product-tab strong,
.product-tab small{
  position:relative;
  z-index:1;
  display:block;
}
.product-tab strong{
  color:#fff;
  font-size:14px;
}
.product-tab small{
  color:#aeb8c4;
  font-size:12px;
  margin-top:2px;
}
.product-tab:hover,
.product-tab.active{
  transform:translateX(7px);
  border-color:rgba(240,200,120,.65);
  background:rgba(207,169,106,.08);
  box-shadow:0 14px 38px rgba(0,0,0,.24);
}
.product-tab:hover::before,
.product-tab.active::before{opacity:1}

.product-slider-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid rgba(207,169,106,.25);
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),
    rgba(4,17,31,.72);
  box-shadow:0 28px 90px rgba(0,0,0,.3);
  overflow:hidden;
}
.product-slider-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 16%, rgba(240,200,120,.16), transparent 34%),
    linear-gradient(90deg,transparent,rgba(25,187,181,.05));
  pointer-events:none;
}
.product-slider-toolbar{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding:26px 28px 18px;
}
.product-category-label{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
}
.product-slider-toolbar h3{
  margin:0 0 8px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:34px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.product-slider-toolbar p{
  margin:0;
  color:#ccd5df;
  max-width:680px;
  line-height:1.65;
}
.product-slider-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}
.product-arrow{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(240,200,120,.5);
  background:rgba(2,11,22,.42);
  color:var(--gold-2);
  font-size:30px;
  cursor:pointer;
  transition:.3s ease;
}
.product-arrow:hover{
  transform:translateY(-4px);
  background:rgba(207,169,106,.16);
  box-shadow:0 18px 40px rgba(0,0,0,.24);
}
.product-slider-viewport{
  position:relative;
  z-index:2;
  flex:1;
  min-height:360px;
  padding:0 28px 22px;
}
.product-track{
  position:absolute;
  inset:0 28px 22px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  opacity:0;
  pointer-events:none;
  transform:translateX(40px) scale(.985);
  filter:blur(10px);
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1), filter .55s ease;
}
.product-track.active{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) scale(1);
  filter:blur(0);
}
.product-v12-card{
  position:relative;
  overflow:hidden;
  min-height:340px;
  border:1px solid rgba(207,169,106,.2);
  border-radius:18px;
  background:rgba(2,11,22,.56);
  box-shadow:0 16px 42px rgba(0,0,0,.2);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
}
.product-v12-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(2,10,20,.26) 34%,rgba(2,10,20,.96) 100%);
}
.product-v12-card:hover{
  transform:translateY(-9px);
  border-color:rgba(240,200,120,.7);
  box-shadow:0 26px 74px rgba(0,0,0,.35),0 0 48px rgba(207,169,106,.12);
}
.product-v12-img{
  position:absolute;
  inset:0;
}
.product-v12-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
  filter:saturate(1.08) contrast(1.08) brightness(.78);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1), filter 1.2s ease;
}
.product-v12-card:hover .product-v12-img img{
  transform:scale(1.14);
  filter:saturate(1.16) contrast(1.12) brightness(.92);
}
.product-v12-info{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  bottom:18px;
}
.product-v12-info span{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 9px;
  border:1px solid rgba(240,200,120,.34);
  border-radius:999px;
  color:var(--gold-2);
  background:rgba(2,11,22,.42);
  font-size:11px;
  font-weight:900;
}
.product-v12-info h4{
  margin:0 0 8px;
  color:#fff;
  font-family:var(--font-display);
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.product-v12-info p{
  margin:0 0 12px;
  color:#dce3eb;
  font-size:13px;
  line-height:1.55;
}
.product-v12-info em{
  font-style:normal;
  color:var(--gold-2);
  font-size:12px;
  font-weight:900;
}
.product-slider-footer{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 28px 24px;
}
.product-progress{
  flex:1;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.product-progress span{
  display:block;
  width:16.66%;
  height:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.product-slider-footer p{
  width:350px;
  margin:0;
  color:#aeb8c4;
  font-size:12px;
}

@media (max-height:820px) and (min-width:981px){
  .products-v12-head{margin-bottom:18px}
  .products-v12-dashboard{min-height:480px}
  .product-tab{min-height:60px;padding:10px}
  .product-slider-viewport{min-height:300px}
  .product-v12-card{min-height:285px}
  .product-v12-info h4{font-size:20px}
  .product-v12-info p{font-size:12px}
}
@media (max-width:1100px){
  .products-v12-dashboard{grid-template-columns:1fr}
  .product-category-tabs{grid-template-columns:repeat(3,1fr)}
  .product-tab:hover,.product-tab.active{transform:translateY(-4px)}
}
@media (max-width:980px){
  .product-track{position:relative;inset:auto;grid-template-columns:1fr 1fr}
  .product-track:not(.active){display:none}
  .product-slider-viewport{min-height:auto}
}
@media (max-width:640px){
  .product-category-tabs{grid-template-columns:1fr}
  .product-track{grid-template-columns:1fr}
  .product-slider-toolbar{flex-direction:column}
  .product-slider-footer{flex-direction:column;align-items:stretch}
  .product-slider-footer p{width:auto}
}

/* ================================
   Products Visibility Fix - V13
================================ */
.products-v12.snap-section{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  min-height:100vh;
  padding:118px 0 54px !important;
  overflow:visible;
}
.products-v12 .products-v12-shell{
  position:relative;
  z-index:2;
  width:min(1240px,calc(100% - 48px));
}
.products-v12 .reveal,
.products-v12 .products-v12-head,
.products-v12 .products-v12-dashboard,
.products-v12 .product-v12-card{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
  clip-path:none !important;
}
.products-v12-dashboard{
  min-height:520px;
}
.product-slider-panel{
  min-height:520px;
}
.product-slider-viewport{
  min-height:330px;
}
.product-track{
  min-height:330px;
}
.product-track.active{
  display:grid;
}
.product-v12-card{
  min-height:315px;
}
.products-v12 .product-v12-card{
  animation:productCardIn .75s cubic-bezier(.2,.8,.2,1) both;
}
.products-v12 .product-v12-card:nth-child(1){animation-delay:.05s}
.products-v12 .product-v12-card:nth-child(2){animation-delay:.12s}
.products-v12 .product-v12-card:nth-child(3){animation-delay:.19s}
.products-v12 .product-v12-card:nth-child(4){animation-delay:.26s}
@keyframes productCardIn{
  from{opacity:0;transform:translateY(30px) scale(.98);filter:blur(8px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@media (max-height:820px) and (min-width:981px){
  .products-v12.snap-section{
    padding:96px 0 36px !important;
  }
  .products-v12-head{
    margin-bottom:16px;
  }
  .products-v12-head .section-title{
    font-size:42px;
  }
  .products-v12-head p{
    font-size:14px;
    line-height:1.55;
  }
  .products-v12-dashboard{
    min-height:450px;
  }
  .product-slider-panel{
    min-height:450px;
  }
  .product-slider-toolbar{
    padding:20px 22px 14px;
  }
  .product-slider-toolbar h3{
    font-size:28px;
  }
  .product-slider-toolbar p{
    font-size:13px;
  }
  .product-slider-viewport,
  .product-track{
    min-height:280px;
  }
  .product-v12-card{
    min-height:275px;
  }
  .product-tab{
    min-height:56px;
  }
}

/* ================================
   Product Slider Links + Image Fit - V14
================================ */
.product-category-title-link{
  display:inline-flex;
  align-items:flex-end;
  gap:14px;
  width:fit-content;
  color:var(--gold-2);
  transition:color .25s ease, transform .25s ease;
}
.product-category-title-link span{
  display:block;
  font-family:var(--font-display);
  font-size:34px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.product-category-title-link i{
  font-style:normal;
  margin-bottom:5px;
  font-family:var(--font-body);
  font-size:13px;
  font-weight:800;
  color:rgba(240,200,120,.78);
  white-space:nowrap;
}
.product-category-title-link:hover{
  color:#fff;
  transform:translateX(4px);
}
.product-v12-img{
  background:#071426;
}
.product-v12-img img{
  object-fit:cover !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
  transform:scale(1.02) !important;
}
.product-v12-card:hover .product-v12-img img{
  transform:scale(1.08) !important;
}
.product-category-link{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border:1px solid rgba(240,200,120,.34);
  border-radius:999px;
  color:var(--gold-2);
  background:rgba(2,11,22,.48);
  font-size:11px;
  font-weight:900;
  transition:.25s ease;
}
.product-category-link:hover{
  background:rgba(207,169,106,.18);
  border-color:rgba(240,200,120,.75);
  color:#fff;
}
.product-v12-info h4 a{
  color:#fff;
  transition:color .25s ease;
}
.product-v12-info h4 a:hover{
  color:var(--gold-2);
}
.product-v12-info > span{
  display:none;
}
.product-v12-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
}
.product-details-link{
  color:var(--gold-2);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  transition:.25s ease;
}
.product-details-link:hover{
  color:#fff;
  transform:translateX(3px);
}
.product-progress span{
  width:16.666%;
}
.product-progress span.is-auto{
  animation:productAutoProgress 6.5s linear infinite;
  transform:none !important;
}
.product-slider-panel:hover .product-progress span.is-auto{
  animation-play-state:paused;
}
@keyframes productAutoProgress{
  from{width:0}
  to{width:100%}
}
.product-track.active .product-v12-card{
  animation:productCardIn .72s cubic-bezier(.2,.8,.2,1) both;
}
@media (max-height:820px) and (min-width:981px){
  .product-category-title-link span{font-size:28px}
  .product-category-title-link i{font-size:12px}
  .product-v12-links{align-items:flex-start;flex-direction:column;gap:6px}
}

/* ================================
   Products Progress Full Width - V15
================================ */
.product-slider-footer{
  display:block !important;
  padding:0 28px 26px !important;
}
.product-slider-footer p{
  display:none !important;
}
.product-progress{
  width:100% !important;
  flex:none !important;
  height:4px !important;
}
.product-progress span{
  display:block;
  height:100%;
  border-radius:999px;
}

/* ================================
   Product Image Refinement - V16
================================ */
.product-v12-card{
  min-height:315px;
  background:
    radial-gradient(circle at 50% 24%, rgba(207,169,106,.12), transparent 36%),
    rgba(2,11,22,.72);
}
.product-v12-card::before{
  background:
    linear-gradient(180deg, rgba(2,10,20,.08) 0%, rgba(2,10,20,.28) 48%, rgba(2,10,20,.96) 100%);
}
.product-v12-img{
  position:absolute;
  top:18px;
  left:18px;
  right:18px;
  height:142px;
  border-radius:16px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%, rgba(240,200,120,.12), transparent 55%),
    rgba(255,255,255,.035);
  border:1px solid rgba(240,200,120,.16);
  box-shadow:inset 0 0 35px rgba(0,0,0,.26);
}
.product-v12-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 38%,rgba(207,169,106,.10));
  opacity:.45;
  transition:opacity .35s ease;
}
.product-v12-img img{
  object-fit:cover !important;
  object-position:center center !important;
  width:100% !important;
  height:100% !important;
  transform:scale(.92) !important;
  filter:saturate(1.05) contrast(1.04) brightness(.86);
  transition:
    transform .85s cubic-bezier(.2,.8,.2,1),
    filter .85s ease;
}
.product-v12-card:hover .product-v12-img::after{
  opacity:.75;
}
.product-v12-card:hover .product-v12-img img{
  transform:scale(1.03) rotate(.6deg) !important;
  filter:saturate(1.2) contrast(1.12) brightness(1);
}
.product-v12-info{
  bottom:20px;
}
.product-v12-info h4{
  font-size:22px;
}
.product-v12-card:hover{
  transform:translateY(-9px);
}
.product-v12-card:hover .product-v12-img{
  border-color:rgba(240,200,120,.55);
  box-shadow:
    inset 0 0 40px rgba(0,0,0,.22),
    0 16px 38px rgba(0,0,0,.28),
    0 0 34px rgba(207,169,106,.16);
}

@media (max-height:820px) and (min-width:981px){
  .product-v12-img{
    top:14px;
    left:14px;
    right:14px;
    height:116px;
  }
  .product-v12-info h4{
    font-size:19px;
  }
}

/* ================================
   Full Product Background Cards - V17
================================ */
.product-v12-card{
  min-height:315px;
  background:rgba(2,11,22,.72);
}
.product-v12-card::before{
  z-index:2;
  background:
    linear-gradient(180deg, rgba(2,10,20,.05) 0%, rgba(2,10,20,.20) 38%, rgba(2,10,20,.92) 100%),
    radial-gradient(circle at 50% 15%, rgba(240,200,120,.12), transparent 42%);
}
.product-v12-img{
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  border-radius:0 !important;
  border:0 !important;
  overflow:hidden;
  background:#071426;
  box-shadow:none !important;
}
.product-v12-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.10), transparent 36%, rgba(207,169,106,.12)),
    radial-gradient(circle at 50% 20%, rgba(240,200,120,.18), transparent 44%);
  opacity:.35;
  transition:opacity .45s ease;
}
.product-v12-img img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:scale(1.02) !important;
  filter:saturate(1.04) contrast(1.04) brightness(.83);
  transition:
    transform 1.05s cubic-bezier(.2,.8,.2,1),
    filter 1.05s ease;
}
.product-v12-card:hover .product-v12-img::after{
  opacity:.62;
}
.product-v12-card:hover .product-v12-img img{
  transform:scale(1.085) !important;
  filter:saturate(1.18) contrast(1.12) brightness(.98);
}
.product-v12-info{
  bottom:20px;
}
.product-v12-info h4{
  font-size:22px;
}
.product-v12-card:hover{
  transform:translateY(-9px);
  box-shadow:
    0 28px 76px rgba(0,0,0,.36),
    0 0 48px rgba(207,169,106,.13);
}

@media (max-height:820px) and (min-width:981px){
  .product-v12-card{
    min-height:275px;
  }
  .product-v12-info h4{
    font-size:19px;
  }
}

/* ================================
   Partners Logo Slider - V18
================================ */
.partners-v18{
  text-align:left;
  background:
    radial-gradient(circle at 18% 26%, rgba(207,169,106,.12), transparent 34%),
    radial-gradient(circle at 84% 70%, rgba(25,187,181,.08), transparent 32%),
    linear-gradient(180deg,#061426 0%,#020d19 100%);
  overflow:hidden;
}
.partners-v18-shell{
  width:min(1240px,calc(100% - 48px));
}
.partners-v18-head{
  max-width:840px;
  margin:0 auto 30px;
  text-align:center;
}
.partners-v18-head p{
  max-width:700px;
  margin:0 auto;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}
.partners-slider{
  position:relative;
  border:1px solid rgba(207,169,106,.25);
  border-radius:26px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),
    rgba(4,17,31,.74);
  box-shadow:0 28px 88px rgba(0,0,0,.32);
  overflow:hidden;
  backdrop-filter:blur(12px);
}
.partners-slider::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 20%, rgba(240,200,120,.14), transparent 30%),
    radial-gradient(circle at 88% 78%, rgba(25,187,181,.08), transparent 34%);
  pointer-events:none;
}
.partners-slider-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding:28px 30px 14px;
}
.partner-slider-label{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
}
.partners-slider-top h3{
  margin:0;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:36px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.partners-slider-actions{
  display:flex;
  gap:10px;
}
.partner-arrow{
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(240,200,120,.5);
  background:rgba(2,11,22,.45);
  color:var(--gold-2);
  font-size:30px;
  cursor:pointer;
  transition:.3s ease;
}
.partner-arrow:hover{
  transform:translateY(-4px);
  background:rgba(207,169,106,.16);
  box-shadow:0 18px 40px rgba(0,0,0,.26);
}
.partners-viewport{
  position:relative;
  z-index:2;
  overflow:hidden;
  padding:16px 30px 26px;
}
.partners-track{
  display:flex;
  gap:18px;
  transition:transform .65s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}
.partner-slide{
  flex:0 0 calc((100% - 54px) / 4);
  min-height:310px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  border:1px solid rgba(207,169,106,.22);
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)),
    rgba(2,11,22,.58);
  color:#fff;
  position:relative;
  overflow:hidden;
  transition:transform .42s cubic-bezier(.2,.8,.2,1), border-color .42s ease, box-shadow .42s ease;
}
.partner-slide::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 18%, rgba(240,200,120,.16), transparent 42%),
    linear-gradient(135deg,rgba(25,187,181,.08),transparent 42%);
  opacity:.5;
  transition:opacity .35s ease;
  pointer-events:none;
}
.partner-slide:hover{
  transform:translateY(-10px);
  border-color:rgba(240,200,120,.72);
  box-shadow:0 28px 80px rgba(0,0,0,.36),0 0 54px rgba(207,169,106,.13);
}
.partner-slide:hover::before{
  opacity:.95;
}
.partner-logo-frame{
  position:relative;
  z-index:2;
  min-height:135px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  margin-bottom:20px;
  border-radius:18px;
  background:rgba(3,13,25,.55);
  border:1px solid rgba(240,200,120,.18);
  overflow:hidden;
}
.partner-logo-frame::after{
  content:"";
  position:absolute;
  top:-80%;
  left:-60%;
  width:46%;
  height:260%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transform:rotate(18deg);
  transition:left .75s cubic-bezier(.2,.8,.2,1);
}
.partner-slide:hover .partner-logo-frame::after{
  left:120%;
}
.partner-logo-frame img{
  max-width:100%;
  max-height:110px;
  object-fit:contain;
  filter:brightness(.92) saturate(.96);
  opacity:.86;
  transform:scale(.96);
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .55s ease, opacity .55s ease;
}
.partner-slide:hover .partner-logo-frame img{
  transform:scale(1.05);
  filter:brightness(1.16) saturate(1.08) drop-shadow(0 0 18px rgba(240,200,120,.24));
  opacity:1;
}
.partner-slide strong,
.partner-slide small,
.partner-slide span{
  position:relative;
  z-index:2;
}
.partner-slide strong{
  display:block;
  margin-bottom:8px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:25px;
  letter-spacing:-.03em;
}
.partner-slide small{
  min-height:48px;
  color:#cfd8e2;
  line-height:1.55;
}
.partner-slide span{
  display:inline-flex;
  margin-top:18px;
  color:var(--gold-2);
  font-size:13px;
  font-weight:900;
  transition:.25s ease;
}
.partner-slide:hover span{
  transform:translateX(4px);
  color:#fff;
}
.partners-slider-footer{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:0 30px 28px;
}
.partner-dots{
  display:flex;
  gap:8px;
}
.partner-dot{
  width:34px;
  height:4px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  cursor:pointer;
  transition:.3s ease;
}
.partner-dot.active{
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  box-shadow:0 0 18px rgba(207,169,106,.24);
}

@media (max-height:820px) and (min-width:981px){
  .partners-v18-head{margin-bottom:18px}
  .partner-slide{min-height:250px;padding:18px}
  .partner-logo-frame{min-height:102px;margin-bottom:14px}
  .partner-logo-frame img{max-height:82px}
  .partner-slide strong{font-size:21px}
  .partner-slide small{font-size:12px}
}
@media (max-width:1100px){
  .partner-slide{flex-basis:calc((100% - 18px) / 2)}
}
@media (max-width:640px){
  .partners-slider-top,
  .partners-slider-footer{flex-direction:column;align-items:flex-start}
  .partner-slide{flex-basis:100%}
}

/* ================================
   Partners Visibility Fix - V19
================================ */
.partners-v18.snap-section{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  padding:118px 0 54px !important;
  overflow:visible;
}
.partners-v18 .partners-v18-shell{
  position:relative;
  z-index:2;
  width:min(1240px,calc(100% - 48px));
}
.partners-v18 .reveal,
.partners-v18 .partners-v18-head,
.partners-v18 .partners-slider,
.partners-v18 .partner-slide{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
  clip-path:none !important;
}
.partners-slider{
  min-height:430px;
}
.partners-viewport{
  min-height:310px;
}
.partners-track{
  min-height:310px;
}
.partner-slide{
  min-height:300px;
}
.partners-v18 .partner-slide{
  animation:partnerCardIn .75s cubic-bezier(.2,.8,.2,1) both;
}
.partners-v18 .partner-slide:nth-child(1){animation-delay:.05s}
.partners-v18 .partner-slide:nth-child(2){animation-delay:.12s}
.partners-v18 .partner-slide:nth-child(3){animation-delay:.19s}
.partners-v18 .partner-slide:nth-child(4){animation-delay:.26s}
@keyframes partnerCardIn{
  from{opacity:0;transform:translateY(30px) scale(.98);filter:blur(8px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@media (max-height:820px) and (min-width:981px){
  .partners-v18.snap-section{
    padding:96px 0 36px !important;
  }
  .partners-v18-head{
    margin-bottom:18px;
  }
  .partners-v18-head .section-title{
    font-size:42px;
  }
  .partners-v18-head p{
    font-size:14px;
    line-height:1.55;
  }
  .partners-slider{
    min-height:365px;
  }
  .partners-viewport,
  .partners-track{
    min-height:245px;
  }
  .partner-slide{
    min-height:245px;
  }
}

/* ================================
   Partners Slider Movement Fix - V20
================================ */
.partners-track{
  transform:translateX(0);
}
.partner-slide{
  flex:0 0 calc((100% - 54px) / 4);
}
.partner-dot{
  width:26px;
}
.partners-v18 .partner-slide:nth-child(n){
  animation-delay:0s;
}
.partners-v18 .partner-slide:nth-child(1){animation-delay:.05s}
.partners-v18 .partner-slide:nth-child(2){animation-delay:.10s}
.partners-v18 .partner-slide:nth-child(3){animation-delay:.15s}
.partners-v18 .partner-slide:nth-child(4){animation-delay:.20s}
.partners-v18 .partner-slide:nth-child(5){animation-delay:.25s}
.partners-v18 .partner-slide:nth-child(6){animation-delay:.30s}
.partners-v18 .partner-slide:nth-child(7){animation-delay:.35s}
.partners-v18 .partner-slide:nth-child(8){animation-delay:.40s}
@media (max-width:1100px){
  .partner-slide{flex-basis:calc((100% - 18px) / 2)}
}
@media (max-width:640px){
  .partner-slide{flex-basis:100%}
}

/* ================================
   Partners Full Width Progress - V21
================================ */
.partner-progress{
  position:relative;
  z-index:3;
  width:calc(100% - 60px);
  height:4px;
  margin:0 30px 22px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.10);
}
.partner-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  box-shadow:0 0 22px rgba(207,169,106,.28);
}
.partner-progress span.is-running{
  animation:partnerProgressRun 3.5s linear both;
}
.partners-slider:hover .partner-progress span.is-running{
  animation-play-state:paused;
}
@keyframes partnerProgressRun{
  from{width:0}
  to{width:100%}
}
.partners-slider-footer{
  padding-top:0 !important;
}
@media (max-width:640px){
  .partner-progress{
    width:calc(100% - 40px);
    margin:0 20px 18px;
  }
}

/* ================================
   Services Section - V22
================================ */
.services-section{
  background:
    radial-gradient(circle at 20% 22%, rgba(207,169,106,.13), transparent 30%),
    radial-gradient(circle at 82% 76%, rgba(25,187,181,.09), transparent 34%),
    linear-gradient(180deg,#061426 0%,#020d19 100%);
  overflow:hidden;
}
.services-shell{
  width:min(1240px,calc(100% - 48px));
  display:grid;
  grid-template-columns:36% 64%;
  gap:54px;
  align-items:center;
}
.services-intro p{
  color:var(--muted);
  font-size:17px;
  line-height:1.8;
  margin:0 0 28px;
}
.services-orbit{
  position:relative;
  min-height:560px;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:24px;
  align-items:center;
}
.services-orbit::before{
  content:"";
  position:absolute;
  inset:28px;
  border:1px solid rgba(207,169,106,.15);
  border-radius:50%;
  transform:rotate(-8deg);
  pointer-events:none;
}
.services-orbit::after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:22%;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(207,169,106,.16), rgba(25,187,181,.08) 45%, transparent 72%);
  filter:blur(12px);
  pointer-events:none;
}
.service-main-card,
.service-mini-card{
  position:relative;
  z-index:2;
  border:1px solid rgba(207,169,106,.25);
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018)),
    rgba(4,17,31,.72);
  color:#fff;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  transition:transform .42s cubic-bezier(.2,.8,.2,1), border-color .42s ease, box-shadow .42s ease;
}
.service-main-card::before,
.service-mini-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 25% 18%, rgba(240,200,120,.16), transparent 34%),
    linear-gradient(135deg,rgba(25,187,181,.08),transparent 45%);
  opacity:.65;
  pointer-events:none;
  transition:opacity .35s ease;
}
.service-main-card:hover,
.service-mini-card:hover{
  transform:translateY(-8px);
  border-color:rgba(240,200,120,.72);
  box-shadow:0 30px 86px rgba(0,0,0,.34),0 0 55px rgba(207,169,106,.13);
}
.service-main-card:hover::before,
.service-mini-card:hover::before{
  opacity:1;
}
.service-main-card{
  min-height:430px;
  border-radius:28px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.service-main-card::after{
  content:"";
  position:absolute;
  top:34px;
  right:34px;
  width:150px;
  height:150px;
  border-radius:50%;
  border:1px solid rgba(240,200,120,.28);
  background:
    radial-gradient(circle, rgba(240,200,120,.16), transparent 58%),
    linear-gradient(135deg,rgba(255,255,255,.08),transparent);
}
.service-kicker{
  position:relative;
  z-index:2;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  font-weight:900;
  margin-bottom:14px;
}
.service-main-card h3{
  position:relative;
  z-index:2;
  margin:0 0 14px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:42px;
  line-height:1.08;
  letter-spacing:-.04em;
}
.service-main-card p{
  position:relative;
  z-index:2;
  color:#dce3eb;
  line-height:1.7;
  margin:0 0 20px;
}
.service-main-card strong{
  position:relative;
  z-index:2;
  color:var(--gold-2);
}
.service-mini-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.service-mini-card{
  min-height:210px;
  border-radius:20px;
  padding:24px;
}
.service-mini-card:nth-child(2),
.service-mini-card:nth-child(4){
  transform:translateY(34px);
}
.service-mini-card:nth-child(2):hover,
.service-mini-card:nth-child(4):hover{
  transform:translateY(24px);
}
.service-icon{
  position:relative;
  z-index:2;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  border-radius:16px;
  color:var(--gold-2);
  border:1px solid rgba(240,200,120,.38);
  background:rgba(207,169,106,.10);
  font-size:22px;
}
.service-mini-card h4{
  position:relative;
  z-index:2;
  margin:0 0 10px;
  color:var(--gold-2);
  font-family:var(--font-display);
  font-size:24px;
  letter-spacing:-.03em;
}
.service-mini-card p{
  position:relative;
  z-index:2;
  margin:0;
  color:#d5dde6;
  font-size:14px;
  line-height:1.62;
}
.services-section .reveal,
.services-section .services-intro,
.services-section .services-orbit,
.services-section .service-main-card,
.services-section .service-mini-card{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  clip-path:none !important;
}

@media (max-height:820px) and (min-width:981px){
  .services-shell{gap:36px}
  .services-orbit{min-height:450px}
  .service-main-card{min-height:350px;padding:26px}
  .service-main-card h3{font-size:34px}
  .service-main-card p{font-size:14px}
  .service-mini-card{min-height:165px;padding:19px}
  .service-mini-card h4{font-size:20px}
  .service-mini-card p{font-size:12.5px}
}
@media (max-width:980px){
  .services-shell{
    grid-template-columns:1fr;
    gap:30px;
  }
  .services-orbit{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .service-mini-grid{
    grid-template-columns:1fr;
  }
  .service-mini-card:nth-child(2),
  .service-mini-card:nth-child(4),
  .service-mini-card:nth-child(2):hover,
  .service-mini-card:nth-child(4):hover{
    transform:none;
  }
}

/* ================================
   Services Entrance Motion - V23
================================ */
.services-section .services-motion-item,
.services-section .service-main-card,
.services-section .service-mini-card{
  will-change:transform, opacity, filter;
}

.services-section.prepare-services-motion .services-motion-item,
.services-section.prepare-services-motion .service-main-card,
.services-section.prepare-services-motion .service-mini-card{
  opacity:0 !important;
  filter:blur(12px) !important;
}

.services-section.prepare-services-motion .services-motion-item:nth-child(1){
  transform:translateX(-70px) !important;
}
.services-section.prepare-services-motion .services-motion-item:nth-child(2){
  transform:translateX(-88px) !important;
}
.services-section.prepare-services-motion .services-motion-item:nth-child(3){
  transform:translateX(-104px) !important;
}
.services-section.prepare-services-motion .services-motion-item:nth-child(4){
  transform:translateX(-120px) !important;
}

.services-section.prepare-services-motion .service-main-card{
  transform:translateY(90px) scale(.94) rotateX(8deg) !important;
}
.services-section.prepare-services-motion .service-mini-card:nth-child(1){
  transform:translateX(100px) translateY(-45px) scale(.94) !important;
}
.services-section.prepare-services-motion .service-mini-card:nth-child(2){
  transform:translateX(100px) translateY(80px) scale(.94) !important;
}
.services-section.prepare-services-motion .service-mini-card:nth-child(3){
  transform:translateX(-70px) translateY(70px) scale(.94) !important;
}
.services-section.prepare-services-motion .service-mini-card:nth-child(4){
  transform:translateX(90px) translateY(110px) scale(.94) !important;
}

.services-section.play-services-motion .services-motion-item{
  animation:servicesTextIn .9s cubic-bezier(.18,.86,.22,1) both;
}
.services-section.play-services-motion .services-motion-item:nth-child(1){animation-delay:.08s}
.services-section.play-services-motion .services-motion-item:nth-child(2){animation-delay:.18s}
.services-section.play-services-motion .services-motion-item:nth-child(3){animation-delay:.30s}
.services-section.play-services-motion .services-motion-item:nth-child(4){animation-delay:.44s}

.services-section.play-services-motion .service-main-card{
  animation:serviceMainIn 1s cubic-bezier(.18,.86,.22,1) .18s both;
}
.services-section.play-services-motion .service-mini-card{
  animation:serviceBlockIn .92s cubic-bezier(.18,.86,.22,1) both;
}
.services-section.play-services-motion .service-mini-card:nth-child(1){animation-delay:.34s}
.services-section.play-services-motion .service-mini-card:nth-child(2){animation-delay:.46s}
.services-section.play-services-motion .service-mini-card:nth-child(3){animation-delay:.58s}
.services-section.play-services-motion .service-mini-card:nth-child(4){animation-delay:.70s}

@keyframes servicesTextIn{
  from{opacity:0;transform:translateX(-90px);filter:blur(14px)}
  to{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes serviceMainIn{
  from{opacity:0;transform:translateY(95px) scale(.94) rotateX(8deg);filter:blur(14px)}
  to{opacity:1;transform:translateY(0) scale(1) rotateX(0);filter:blur(0)}
}
@keyframes serviceBlockIn{
  from{opacity:0;transform:translate(var(--sx,70px), var(--sy,50px)) scale(.94);filter:blur(14px)}
  to{opacity:1;transform:translate(0,0) scale(1);filter:blur(0)}
}

.services-section.play-services-motion .service-mini-card:nth-child(1){--sx:90px;--sy:-55px}
.services-section.play-services-motion .service-mini-card:nth-child(2){--sx:95px;--sy:70px}
.services-section.play-services-motion .service-mini-card:nth-child(3){--sx:-70px;--sy:70px}
.services-section.play-services-motion .service-mini-card:nth-child(4){--sx:80px;--sy:105px}

.services-section.services-focus::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 55% 34%, rgba(207,169,106,.13), transparent 44%);
  animation:servicesFocusGlow 1.8s ease both;
}
@keyframes servicesFocusGlow{
  0%{opacity:0}
  30%{opacity:1}
  100%{opacity:0}
}

/* ================================
   Header Centered Logo Layout - V51
   Coverage Map: locked and untouched.
================================ */
.lp-header{
  min-height:108px !important;
}

.lp-nav-centered{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:34px !important;
  min-height:108px !important;
}

.lp-nav-centered .menu{
  display:flex !important;
  align-items:center !important;
  gap:34px !important;
  margin:0 !important;
}

.lp-nav-centered .menu-left{
  justify-content:flex-end !important;
}

.lp-nav-centered .menu-right{
  justify-content:flex-start !important;
}

.lp-nav-centered .brand-center{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:158px !important;
  height:158px !important;
  margin:0 12px -44px !important;
  z-index:30 !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 50% 28%, rgba(207,169,106,.22), transparent 56%),
    linear-gradient(180deg, rgba(8,22,38,.98), rgba(3,11,22,.72)) !important;
  border:1px solid rgba(207,169,106,.22) !important;
  box-shadow:
    0 22px 52px rgba(0,0,0,.34),
    0 0 44px rgba(207,169,106,.14) !important;
}

.lp-nav-centered .brand-center::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:27px;
  border:1px solid rgba(207,169,106,.13);
  pointer-events:none;
}

.lp-nav-centered .brand-center img{
  width:124px !important;
  height:auto !important;
  max-height:124px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 16px rgba(207,169,106,.24));
}

/* Removed by request */
.lp-nav-centered .header-cta,
.lp-nav-centered a[href="solutions.html"],
.lp-nav-centered a[href="resources.html"]{
  display:none !important;
}

@media (max-width:1100px){
  .lp-nav-centered{
    gap:22px !important;
  }

  .lp-nav-centered .menu{
    gap:22px !important;
  }

  .lp-nav-centered .brand-center{
    width:126px !important;
    height:126px !important;
    margin:0 6px -28px !important;
    border-radius:28px !important;
  }

  .lp-nav-centered .brand-center img{
    width:100px !important;
    max-height:100px !important;
  }
}

@media (max-width:820px){
  .lp-header{
    min-height:auto !important;
  }

  .lp-nav-centered{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }

  .lp-nav-centered .brand-center{
    order:1;
    width:120px !important;
    height:120px !important;
    margin:0 !important;
  }

  .lp-nav-centered .menu-left{
    order:2;
  }

  .lp-nav-centered .menu-right{
    order:3;
  }

  .lp-nav-centered .menu{
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:18px !important;
  }
}

/* ================================
   Premium Section Motion - V52
   Coverage Map itself remains untouched.
================================ */
html{
  scroll-behavior:auto !important;
}

.snap-section{
  position:relative;
  isolation:isolate;
  scroll-margin-top:96px;
}

.snap-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 50% 38%, rgba(207,169,106,.12), transparent 42%),
    linear-gradient(90deg, transparent, rgba(240,200,120,.05), transparent);
  transform:scaleX(.74);
  filter:blur(10px);
}

.snap-section.section-active::after{
  animation:sectionLightSweep 1.15s cubic-bezier(.19,1,.22,1) both;
}

@keyframes sectionLightSweep{
  0%{
    opacity:0;
    transform:translateY(18px) scaleX(.72);
    filter:blur(18px);
  }
  35%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translateY(0) scaleX(1);
    filter:blur(0);
  }
}

.section-motion-item{
  opacity:0;
  transform:
    translate3d(var(--motion-x, 0), var(--motion-y, 34px), 0)
    scale(.985);
  filter:blur(12px);
  will-change:transform, opacity, filter;
}

.section-active .section-motion-item{
  animation:premiumSectionIn .95s cubic-bezier(.16,1,.3,1) both;
  animation-delay:var(--motion-delay, 0ms);
}

@keyframes premiumSectionIn{
  0%{
    opacity:0;
    transform:
      translate3d(var(--motion-x, 0), var(--motion-y, 34px), 0)
      scale(.985);
    filter:blur(14px);
  }
  62%{
    opacity:1;
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

.section-leaving .section-motion-item{
  animation:premiumSectionOut .38s cubic-bezier(.4,0,.2,1) both;
}

@keyframes premiumSectionOut{
  from{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
  to{
    opacity:.36;
    transform:translate3d(0,-18px,0) scale(.992);
    filter:blur(6px);
  }
}

body.section-scroll-active .lp-header{
  box-shadow:0 20px 50px rgba(0,0,0,.26);
  border-bottom-color:rgba(207,169,106,.18);
  background:rgba(2,11,22,.72);
}

.menu a{
  transition:color .28s ease, opacity .28s ease, transform .28s ease;
}

.menu a.is-active,
.menu a.selected,
.menu a.active{
  color:#f0c878;
  opacity:1;
  transform:translateY(-1px);
}

.menu a.is-active::after,
.menu a.selected::after,
.menu a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-10px;
  margin:auto;
  width:34px;
  height:2px;
  background:var(--gold);
  box-shadow:0 0 16px rgba(240,200,120,.5);
}

@media (prefers-reduced-motion: reduce){
  .section-motion-item,
  .section-active .section-motion-item,
  .section-leaving .section-motion-item{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    animation:none !important;
  }

  .snap-section::after{
    display:none !important;
  }
}

/* ================================
   Header Logo Partner-Style Shine - V53
   Coverage Map: locked and untouched.
================================ */
.lp-nav-centered .brand-center{
  overflow:hidden !important;
}

.lp-nav-centered .brand-center::after{
  content:"";
  position:absolute;
  top:-45%;
  left:-95%;
  width:58%;
  height:190%;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      105deg,
      transparent 0%,
      rgba(255,255,255,.06) 28%,
      rgba(240,200,120,.42) 48%,
      rgba(255,255,255,.16) 56%,
      transparent 76%
    );
  transform:rotate(18deg);
  opacity:.85;
  animation:headerLogoShine 4.2s cubic-bezier(.2,.8,.2,1) infinite;
}

.lp-nav-centered .brand-center img{
  position:relative;
  z-index:3;
}

.lp-nav-centered .brand-center:hover::after{
  animation-duration:1.25s;
}

.lp-nav-centered .brand-center:hover{
  box-shadow:
    0 24px 58px rgba(0,0,0,.36),
    0 0 54px rgba(207,169,106,.22) !important;
}

@keyframes headerLogoShine{
  0%, 38%{
    left:-95%;
    opacity:0;
  }
  48%{
    opacity:.9;
  }
  68%{
    left:138%;
    opacity:.75;
  }
  100%{
    left:138%;
    opacity:0;
  }
}

/* ================================
   Replay Motion For All Sections - V54
   Coverage Map: locked and untouched.
================================ */
.v54-motion-item{
  opacity:0;
  transform:
    translate3d(var(--v54-x, 0), var(--v54-y, 44px), 0)
    scale(.965)
    rotateX(var(--v54-rx, 0deg));
  filter:blur(14px);
  will-change:opacity, transform, filter;
}

.v54-section-play .v54-motion-item{
  animation:v54SectionItemIn .95s cubic-bezier(.16,1,.3,1) both;
  animation-delay:var(--v54-delay, 0ms);
}

@keyframes v54SectionItemIn{
  0%{
    opacity:0;
    transform:
      translate3d(var(--v54-x, 0), var(--v54-y, 44px), 0)
      scale(.965)
      rotateX(var(--v54-rx, 0deg));
    filter:blur(14px);
  }
  58%{
    opacity:1;
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1) rotateX(0deg);
    filter:blur(0);
  }
}

.v54-section-play::before{
  content:"";
  position:absolute;
  inset:10px;
  z-index:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 50% 38%, rgba(207,169,106,.15), transparent 42%),
    linear-gradient(90deg, transparent, rgba(240,200,120,.055), transparent);
  animation:v54SectionGlow 1.15s cubic-bezier(.16,1,.3,1) both;
}

@keyframes v54SectionGlow{
  0%{opacity:0;transform:translateY(20px) scale(.92);filter:blur(18px)}
  42%{opacity:1}
  100%{opacity:0;transform:translateY(0) scale(1);filter:blur(0)}
}

.snap-section,
section[id]{
  position:relative;
  isolation:isolate;
}

@media (prefers-reduced-motion: reduce){
  .v54-motion-item,
  .v54-section-play .v54-motion-item{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    animation:none !important;
  }
  .v54-section-play::before{
    display:none !important;
  }
}

/* ================================
   Contact ISO Banner Card - V55
   Coverage Map: locked and untouched.
================================ */
.iso-banner-card{
  position:relative;
  display:flex;
  min-height:100%;
  border-radius:24px !important;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 16%, rgba(240,200,120,.18), transparent 32%),
    radial-gradient(circle at 82% 76%, rgba(44,124,176,.16), transparent 30%),
    linear-gradient(180deg, rgba(7,20,36,.96), rgba(4,13,24,.98)) !important;
  border:1px solid rgba(207,169,106,.26) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 18px 48px rgba(0,0,0,.26);
}

.iso-banner-card::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:18px;
  border:1px solid rgba(207,169,106,.12);
  pointer-events:none;
}

.iso-banner-card::after{
  content:"";
  position:absolute;
  inset:auto -22% 12% auto;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(240,200,120,.16), transparent 65%);
  filter:blur(10px);
  pointer-events:none;
}

.iso-banner-inner{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:16px;
  padding:28px 24px;
  width:100%;
}

.iso-eyebrow{
  display:inline-flex;
  width:max-content;
  padding:7px 12px;
  border-radius:999px;
  color:var(--gold-2);
  background:rgba(207,169,106,.10);
  border:1px solid rgba(207,169,106,.22);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.iso-seal{
  position:relative;
  width:118px;
  height:118px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,246,214,.34), rgba(255,246,214,.06) 46%, transparent 47%),
    conic-gradient(from 90deg, #f4d696, #cda35e, #f8e1b2, #c9964d, #f4d696);
  box-shadow:
    0 0 0 7px rgba(207,169,106,.10),
    0 18px 34px rgba(0,0,0,.28);
}

.iso-seal::before{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  border:1px dashed rgba(255,244,214,.36);
}

.iso-seal-core{
  width:84px;
  height:84px;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(7,18,34,.94), rgba(4,12,22,.98));
  border:1px solid rgba(248,225,178,.32);
  text-align:center;
}

.iso-seal-core strong{
  color:#f5d79b;
  font-size:28px;
  line-height:1;
  letter-spacing:.08em;
}

.iso-seal-core small{
  margin-top:4px;
  color:#d6dde6;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.iso-banner-card h3{
  margin:0;
  font-size:28px;
  line-height:1.16;
  color:#fff;
}

.iso-banner-card p{
  margin:0;
  color:#cfd8e2;
  line-height:1.7;
  font-size:14px;
}

.iso-standard-box{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(207,169,106,.18);
}

.iso-standard-box span{
  color:#9fb2c6;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.iso-standard-box strong{
  color:#f3d28e;
  font-size:24px;
  line-height:1.1;
}

.iso-standard-box small{
  color:#c7d0da;
  font-size:12px;
}

.iso-points{
  list-style:none;
  padding:0;
  margin:2px 0 0;
  display:grid;
  gap:10px;
}

.iso-points li{
  position:relative;
  padding-left:24px;
  color:#e1e7ee;
  font-size:13px;
}

.iso-points li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--gold-2);
  font-weight:700;
}

@media (max-width:980px){
  .iso-banner-inner{
    padding:24px 20px;
  }

  .iso-banner-card h3{
    font-size:24px;
  }

  .iso-seal{
    width:104px;
    height:104px;
  }

  .iso-seal-core{
    width:74px;
    height:74px;
  }

  .iso-seal-core strong{
    font-size:24px;
  }
}

/* ================================
   Premium Back To Top Button - V57
   Coverage Map: locked and untouched.
================================ */
.premium-back-to-top{
  position:fixed !important;
  right:26px !important;
  bottom:26px !important;
  width:58px !important;
  height:58px !important;
  border-radius:50% !important;
  border:1px solid rgba(240,200,120,.38) !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(240,200,120,.20), transparent 46%),
    linear-gradient(180deg, rgba(7,22,39,.94), rgba(2,10,20,.98)) !important;
  color:#f4d38e !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  z-index:1200 !important;
  box-shadow:
    0 18px 38px rgba(0,0,0,.34),
    0 0 0 8px rgba(207,169,106,.045),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
  opacity:0;
  visibility:hidden;
  transform:translateY(16px) scale(.92);
  transition:
    opacity .35s ease,
    visibility .35s ease,
    transform .35s cubic-bezier(.16,1,.3,1),
    box-shadow .35s ease,
    border-color .35s ease !important;
}

.premium-back-to-top.show,
.premium-back-to-top.visible,
.premium-back-to-top.is-visible{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) scale(1) !important;
}

.premium-back-to-top::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  background:conic-gradient(from 180deg, transparent, rgba(240,200,120,.34), transparent 38%);
  opacity:.72;
  animation:backTopOrbit 4.8s linear infinite;
  z-index:-1;
}

.premium-back-to-top::after{
  content:"";
  position:absolute;
  inset:9px;
  border-radius:inherit;
  border:1px solid rgba(240,200,120,.14);
  pointer-events:none;
}

.back-to-top-ring{
  position:absolute;
  inset:0;
  border-radius:inherit;
  overflow:hidden;
}

.back-to-top-ring::before{
  content:"";
  position:absolute;
  top:-60%;
  left:-90%;
  width:58%;
  height:220%;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.10), rgba(240,200,120,.42), transparent);
  transform:rotate(20deg);
  animation:backTopShine 3.8s cubic-bezier(.2,.8,.2,1) infinite;
}

.back-to-top-arrow{
  position:relative;
  z-index:2;
  font-size:24px;
  line-height:1;
  font-weight:800;
  transform:translateY(-1px);
  text-shadow:0 0 18px rgba(240,200,120,.48);
}

.premium-back-to-top:hover{
  transform:translateY(-4px) scale(1.04) !important;
  border-color:rgba(240,200,120,.68) !important;
  box-shadow:
    0 24px 48px rgba(0,0,0,.42),
    0 0 0 10px rgba(207,169,106,.07),
    0 0 34px rgba(240,200,120,.16),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.premium-back-to-top:active{
  transform:translateY(-1px) scale(.98) !important;
}

@keyframes backTopOrbit{
  to{transform:rotate(360deg)}
}

@keyframes backTopShine{
  0%, 42%{left:-90%;opacity:0}
  52%{opacity:.9}
  72%{left:130%;opacity:.75}
  100%{left:130%;opacity:0}
}

@media (max-width:720px){
  .premium-back-to-top{
    right:18px !important;
    bottom:18px !important;
    width:52px !important;
    height:52px !important;
  }

  .back-to-top-arrow{
    font-size:22px;
  }
}

/* ================================
   Healthcare Institution Identity - V58
   Coverage Map: locked and untouched.
================================ */
:root{
  --navy:#020c18;
  --navy-2:#071d32;
  --gold:#bfa56a;
  --gold-2:#e6c47d;
  --teal:#18b7b5;
  --medical-blue:#0c6fa4;
  --hospital-cyan:#4ad4d1;
  --text:#f7fbff;
  --muted:#b9c8d6;
  --line:rgba(120,191,212,.25);
  --card:rgba(6,24,42,.82);
}

body{
  background:
    radial-gradient(circle at 12% 16%, rgba(24,183,181,.08), transparent 28%),
    radial-gradient(circle at 82% 8%, rgba(12,111,164,.10), transparent 30%),
    var(--navy);
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(2,12,24,.84), rgba(2,12,24,.50) 48%, rgba(2,12,24,.74)),
    radial-gradient(circle at 72% 46%, rgba(24,183,181,.13), transparent 34%);
}

.hero-copy{
  position:relative;
  z-index:2;
}

.hero-copy h1 span{
  color:#eaf8ff;
}

.bar{
  background:linear-gradient(90deg, var(--hospital-cyan), var(--gold-2)) !important;
  box-shadow:0 0 28px rgba(74,212,209,.28);
}

.btn.gold{
  background:linear-gradient(135deg, #0c6fa4, #18b7b5) !important;
  border-color:rgba(74,212,209,.46) !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(12,111,164,.20);
}

.btn.outline{
  border-color:rgba(120,191,212,.36) !important;
}

.trust-item .icon{
  color:var(--hospital-cyan) !important;
}

.eyebrow,
.section-eyebrow{
  color:var(--hospital-cyan) !important;
}

.section-title{
  color:#f7fbff;
}

.product-tab.active,
.product-v12-card,
.service-main-card,
.service-mini-card,
.about-v10-item,
.form,
.iso-banner-card{
  border-color:rgba(120,191,212,.22) !important;
}

.product-tab.active{
  background:
    linear-gradient(135deg, rgba(12,111,164,.22), rgba(24,183,181,.10)),
    rgba(6,24,42,.78) !important;
}

.product-category-title-link,
.product-category-link,
.service-kicker,
.service-icon{
  color:var(--hospital-cyan) !important;
}

.iso-seal{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.28), rgba(74,212,209,.08) 46%, transparent 47%),
    conic-gradient(from 90deg, #dfefff, #18b7b5, #e6c47d, #0c6fa4, #dfefff) !important;
}

.footer{
  background:#020b16 !important;
}

/* ================================
   Hero CTA Smooth Section Motion - V59
   Coverage Map: locked and untouched.
================================ */
.hero-actions .btn,
.btn[data-cta-motion="true"]{
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
}

.hero-actions .btn::after,
.btn[data-cta-motion="true"]::after{
  content:"";
  position:absolute;
  inset:auto;
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.34), rgba(240,200,120,.26), transparent 68%);
  transform:translate(-50%,-50%) scale(0);
  opacity:0;
  pointer-events:none;
}

.hero-actions .btn.cta-route-active::after,
.btn[data-cta-motion="true"].cta-route-active::after{
  animation:ctaRouteRipple .72s cubic-bezier(.16,1,.3,1) both;
}

.hero-actions .btn.cta-route-active,
.btn[data-cta-motion="true"].cta-route-active{
  animation:ctaRoutePress .52s cubic-bezier(.16,1,.3,1) both;
}

@keyframes ctaRouteRipple{
  0%{opacity:0;transform:translate(-50%,-50%) scale(0)}
  28%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-50%) scale(34)}
}

@keyframes ctaRoutePress{
  0%{transform:translateY(0) scale(1)}
  38%{transform:translateY(-3px) scale(1.025)}
  100%{transform:translateY(0) scale(1)}
}

.cta-target-focus{
  position:relative;
}

.cta-target-focus::before{
  content:"";
  position:absolute;
  inset:18px;
  z-index:0;
  pointer-events:none;
  border-radius:26px;
  border:1px solid rgba(74,212,209,.28);
  box-shadow:
    0 0 80px rgba(74,212,209,.12),
    inset 0 0 50px rgba(230,196,125,.045);
  animation:ctaTargetFocus 1.25s cubic-bezier(.16,1,.3,1) both;
}

@keyframes ctaTargetFocus{
  0%{opacity:0;transform:scale(.965);filter:blur(12px)}
  35%{opacity:1}
  100%{opacity:0;transform:scale(1.015);filter:blur(0)}
}

body.cta-section-traveling .lp-header{
  background:rgba(2,11,22,.78);
  border-bottom-color:rgba(74,212,209,.22);
  box-shadow:0 20px 54px rgba(0,0,0,.28);
}

/* ================================
   Section Spacing + Header Offset - V61
   Coverage Map content remains locked and untouched.
================================ */
:root{
  --lp-header-clearance: 138px;
  --lp-section-gap: clamp(34px, 4.2vw, 76px);
}

html{
  scroll-padding-top: var(--lp-header-clearance) !important;
}

/* Add visual breathing space between all sections except the hero */
main > section:not(#home){
  margin-top: var(--lp-section-gap) !important;
  scroll-margin-top: var(--lp-header-clearance) !important;
}

/* When opening direct hashes like #contact, keep the section safely below the fixed header */
section[id]:not(#home),
.snap-section:not(#home){
  scroll-margin-top: var(--lp-header-clearance) !important;
}

/* Do not add extra gap before the first hero section */
#home{
  margin-top: 0 !important;
  scroll-margin-top: 0 !important;
}

/* Extra safety for contact because its content is tall and close to the sticky header */
#contact{
  scroll-margin-top: calc(var(--lp-header-clearance) + 18px) !important;
}

@media (max-width: 860px){
  :root{
    --lp-header-clearance: 172px;
    --lp-section-gap: 42px;
  }
}

/* ================================
   Final Section Clearance + Healthcare Copy Pass - V62
   Header untouched. Coverage Map untouched.
================================ */
:root{
  --lp-header-clearance: 248px;
  --lp-section-gap: clamp(56px, 6vw, 96px);
}

html{
  scroll-padding-top: var(--lp-header-clearance) !important;
}

/* Space between sections, excluding Hero */
main > section:not(#home){
  margin-top: var(--lp-section-gap) !important;
  scroll-margin-top: var(--lp-header-clearance) !important;
}

/* Keep section content clear from the centered logo/header when navigating by hash */
section[id]:not(#home),
.snap-section:not(#home){
  scroll-margin-top: var(--lp-header-clearance) !important;
}

/* Extra breathing room for the first content row inside non-hero sections */
main > section:not(#home) > .container{
  padding-top: clamp(20px, 2.3vw, 42px);
}

#home{
  margin-top: 0 !important;
  scroll-margin-top: 0 !important;
}

@media (max-width: 860px){
  :root{
    --lp-header-clearance: 210px;
    --lp-section-gap: 48px;
  }

  main > section:not(#home) > .container{
    padding-top: 20px;
  }
}

/* ================================
   Balanced Section Clearance - V63
   Header untouched. Coverage Map untouched.
================================ */
:root{
  --lp-header-clearance: 205px;
  --lp-section-gap: clamp(28px, 3.4vw, 56px);
}

html{
  scroll-padding-top: var(--lp-header-clearance) !important;
}

/* Moderate visual spacing only. No oversized blank area. */
main > section:not(#home){
  margin-top: var(--lp-section-gap) !important;
  scroll-margin-top: var(--lp-header-clearance) !important;
}

/* Remove the extra visual padding that pushed content too far down. */
main > section:not(#home) > .container{
  padding-top: 0 !important;
}

#home{
  margin-top: 0 !important;
  scroll-margin-top: 0 !important;
}

/* Keep full-viewport layout, but align content naturally after navigation */
.snap-section:not(#home){
  scroll-margin-top: var(--lp-header-clearance) !important;
}

@media (max-width: 860px){
  :root{
    --lp-header-clearance: 190px;
    --lp-section-gap: 34px;
  }
}

/* ================================
   Product Category Sidebar Text Fix - V64
   Header untouched. Coverage Map untouched.
================================ */
.product-tab{
  display:grid !important;
  grid-template-columns:44px minmax(0, 1fr) !important;
  align-items:center !important;
  column-gap:14px !important;
  row-gap:0 !important;
  min-height:88px !important;
  padding:16px 18px !important;
}

.product-tab .product-tab-index,
.product-tab > span:first-child{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  align-self:center !important;
  justify-self:center !important;
  flex:0 0 auto !important;
}

.product-tab strong,
.product-tab h4,
.product-tab .product-tab-title{
  grid-column:2 !important;
  display:block !important;
  width:100% !important;
  margin:0 0 4px !important;
  white-space:normal !important;
  overflow:visible !important;
  line-height:1.18 !important;
  font-size:15px !important;
}

.product-tab small,
.product-tab p,
.product-tab .product-tab-desc{
  grid-column:2 !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.35 !important;
  font-size:12px !important;
  color:rgba(218,228,238,.82) !important;
}

.product-tab br{
  display:none !important;
}

@media (max-width:980px){
  .product-tab{
    min-height:76px !important;
    grid-template-columns:40px minmax(0, 1fr) !important;
  }

  .product-tab small,
  .product-tab p,
  .product-tab .product-tab-desc{
    white-space:normal !important;
  }
}

/* ================================
   Premium Footer With Socials - V65
   Header untouched. Coverage Map untouched.
================================ */
.footer-premium{
  position:relative;
  overflow:hidden;
  padding:0 0 26px !important;
  border-top:1px solid rgba(74,212,209,.16) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(74,212,209,.10), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(230,196,125,.10), transparent 34%),
    linear-gradient(180deg, #041423 0%, #020a14 100%) !important;
}

.footer-premium::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.025), transparent),
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 120px);
  opacity:.32;
}

.footer-cta-panel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
  padding:28px 32px;
  margin-top:34px;
  margin-bottom:34px;
  border:1px solid rgba(74,212,209,.22);
  border-radius:24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(74,212,209,.12), transparent 40%),
    linear-gradient(135deg, rgba(6,24,42,.92), rgba(2,12,24,.96));
  box-shadow:
    0 22px 60px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.footer-eyebrow{
  display:inline-block;
  color:var(--hospital-cyan, #4ad4d1);
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.footer-cta-panel h3{
  margin:0 0 8px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(26px, 2.4vw, 38px);
  line-height:1.12;
  font-weight:500;
}

.footer-cta-panel p{
  margin:0;
  color:#b9c8d6;
  max-width:680px;
  line-height:1.7;
}

.footer-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:50px;
  padding:0 22px;
  border-radius:14px;
  color:#061321;
  font-weight:900;
  white-space:nowrap;
  background:linear-gradient(135deg, #e6c47d, #bfa56a);
  box-shadow:0 18px 34px rgba(191,165,106,.16);
  transition:transform .28s ease, box-shadow .28s ease;
}

.footer-cta-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 46px rgba(191,165,106,.24);
}

.footer-main{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.45fr .78fr .95fr 1fr 1.12fr;
  gap:34px;
  padding:34px 0 30px;
}

.footer-brand-col p{
  margin:16px 0 20px;
  color:#b9c8d6;
  line-height:1.75;
  max-width:330px;
}

.footer-brand{
  display:inline-flex;
  width:106px;
  height:106px;
  align-items:center;
  justify-content:center;
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 28%, rgba(230,196,125,.18), transparent 58%),
    rgba(6,24,42,.66);
  border:1px solid rgba(230,196,125,.18);
  box-shadow:0 18px 42px rgba(0,0,0,.24);
  overflow:hidden;
  position:relative;
}

.footer-brand::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-90%;
  width:48%;
  height:180%;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.10), rgba(230,196,125,.34), transparent);
  transform:rotate(18deg);
  animation:footerLogoShine 4.8s ease-in-out infinite;
}

.footer-logo{
  width:82px !important;
  margin:0 !important;
  position:relative;
  z-index:2;
}

.footer-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.footer-socials a{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#e6c47d;
  border:1px solid rgba(230,196,125,.24);
  background:rgba(255,255,255,.035);
  box-shadow:0 10px 22px rgba(0,0,0,.16);
  transition:transform .28s ease, border-color .28s ease, background .28s ease, color .28s ease;
}

.footer-socials a:hover{
  transform:translateY(-4px);
  color:#061321;
  border-color:rgba(74,212,209,.50);
  background:linear-gradient(135deg, #4ad4d1, #e6c47d);
}

.footer-socials span{
  font-size:15px;
  font-weight:900;
}

.footer-main h5{
  margin:0 0 16px !important;
  color:#fff !important;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.footer-main ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}

.footer-main li,
.footer-main a{
  color:#aebdcb !important;
  font-size:14px !important;
}

.footer-main a{
  position:relative;
  transition:color .24s ease, transform .24s ease;
}

.footer-links-col a:hover,
.footer-contact-col a:hover{
  color:#4ad4d1 !important;
  transform:translateX(3px);
}

.footer-contact-list li{
  display:grid;
  gap:3px;
}

.footer-contact-list span{
  color:#e6c47d;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.footer-cert{
  margin-top:18px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(74,212,209,.20);
  background:rgba(74,212,209,.055);
}

.footer-cert strong{
  display:block;
  color:#e6c47d;
  font-size:20px;
  line-height:1.1;
}

.footer-cert small{
  display:block;
  color:#b9c8d6;
  margin-top:5px;
  line-height:1.5;
}

.footer-bottom{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8998a8;
  font-size:13px;
}

.footer-bottom div{
  display:flex;
  gap:18px;
}

.footer-bottom a{
  color:#aebdcb;
  transition:color .24s ease;
}

.footer-bottom a:hover{
  color:#4ad4d1;
}

@keyframes footerLogoShine{
  0%, 42%{left:-90%;opacity:0}
  52%{opacity:.9}
  72%{left:130%;opacity:.75}
  100%{left:130%;opacity:0}
}

@media (max-width:1100px){
  .footer-main{
    grid-template-columns:1.3fr 1fr 1fr;
  }
}

@media (max-width:760px){
  .footer-cta-panel{
    grid-template-columns:1fr;
    padding:24px 20px;
  }

  .footer-main{
    grid-template-columns:1fr;
    gap:26px;
  }

  .footer-bottom{
    flex-direction:column;
  }
}

/* ================================
   Footer Links + Social Tooltips - V66
   Header untouched. Coverage Map untouched.
================================ */

/* Social icons hover: black text/icons */
.footer-socials a:hover,
.footer-socials a:hover span{
  color:#020a14 !important;
}

/* Professional black tooltip for social links */
.footer-socials a{
  position:relative !important;
}

.footer-socials a[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 12px);
  transform:translateX(-50%) translateY(6px);
  padding:7px 10px;
  border-radius:999px;
  background:#05070b;
  color:#ffffff;
  border:1px solid rgba(230,196,125,.28);
  box-shadow:0 14px 30px rgba(0,0,0,.42);
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
  z-index:20;
}

.footer-socials a[data-tooltip]::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  transform:translateX(-50%) translateY(6px) rotate(45deg);
  width:8px;
  height:8px;
  background:#05070b;
  border-right:1px solid rgba(230,196,125,.22);
  border-bottom:1px solid rgba(230,196,125,.22);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
  z-index:19;
}

.footer-socials a[data-tooltip]:hover::after,
.footer-socials a[data-tooltip]:hover::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

.footer-socials a[data-tooltip]:hover::before{
  transform:translateX(-50%) translateY(0) rotate(45deg);
}

/* Small arrow beside every footer text link */
.footer-links-col a,
.footer-contact-col a,
.footer-bottom a{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
}

.footer-links-col a::after,
.footer-contact-col a::after,
.footer-bottom a::after{
  content:"›";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#e6c47d;
  font-size:16px;
  line-height:1;
  transform:translateX(0);
  transition:transform .24s ease, color .24s ease;
}

.footer-links-col a:hover::after,
.footer-contact-col a:hover::after,
.footer-bottom a:hover::after{
  transform:translateX(4px);
  color:#4ad4d1;
}

/* CTA arrow already exists, keep it clean */
.footer-cta-btn::after{
  content:none !important;
}

.footer-brand::after,
.footer-socials a::after{
  text-decoration:none !important;
}

/* ================================
   Premium Contact Form - V67
   Header untouched. Coverage Map untouched.
================================ */
.contact-pro-form{
  position:relative;
  overflow:hidden;
  border-radius:26px !important;
  padding:26px !important;
  border:1px solid rgba(74,212,209,.24) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(74,212,209,.13), transparent 35%),
    radial-gradient(circle at 90% 100%, rgba(230,196,125,.10), transparent 34%),
    linear-gradient(180deg, rgba(7,24,42,.96), rgba(3,13,24,.96)) !important;
  box-shadow:
    0 24px 64px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.contact-pro-form::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.055);
  pointer-events:none;
}

.contact-pro-form::after{
  content:"";
  position:absolute;
  top:-35%;
  left:-50%;
  width:40%;
  height:170%;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.06), rgba(74,212,209,.12), transparent);
  transform:rotate(18deg);
  animation:contactFormShine 6.5s ease-in-out infinite;
  pointer-events:none;
}

.contact-form-head{
  position:relative;
  z-index:2;
  margin-bottom:20px;
}

.contact-form-head span{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  color:#4ad4d1;
  background:rgba(74,212,209,.08);
  border:1px solid rgba(74,212,209,.20);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:12px;
}

.contact-form-head h3{
  margin:0 0 8px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(24px, 2vw, 34px);
  line-height:1.12;
  font-weight:500;
}

.contact-form-head p{
  margin:0;
  color:#b9c8d6;
  line-height:1.65;
  font-size:14px;
}

.contact-pro-grid{
  position:relative;
  z-index:2;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

.field-control{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.field-control span{
  color:#e6c47d;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.field-control input,
.field-control select,
.field-control textarea{
  width:100% !important;
  min-height:52px !important;
  border-radius:14px !important;
  padding:0 15px !important;
  color:#f7fbff !important;
  background:
    linear-gradient(180deg, rgba(3,14,26,.84), rgba(5,20,36,.88)) !important;
  border:1px solid rgba(120,191,212,.20) !important;
  outline:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color .24s ease, box-shadow .24s ease, background .24s ease, transform .24s ease;
}

.field-control select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #e6c47d 50%),
    linear-gradient(135deg, #e6c47d 50%, transparent 50%),
    linear-gradient(180deg, rgba(3,14,26,.84), rgba(5,20,36,.88)) !important;
  background-position:
    calc(100% - 19px) 50%,
    calc(100% - 13px) 50%,
    0 0 !important;
  background-size:6px 6px, 6px 6px, 100% 100% !important;
  background-repeat:no-repeat !important;
}

.field-control textarea{
  min-height:126px !important;
  padding-top:15px !important;
  resize:vertical;
}

.field-full{
  grid-column:1 / -1;
}

.field-control input::placeholder,
.field-control textarea::placeholder{
  color:rgba(185,200,214,.58);
}

.field-control:focus-within input,
.field-control:focus-within select,
.field-control:focus-within textarea{
  border-color:rgba(74,212,209,.72) !important;
  box-shadow:
    0 0 0 4px rgba(74,212,209,.08),
    0 10px 24px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.055) !important;
  transform:translateY(-1px);
}

.form-support-note{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:16px 0 0;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(230,196,125,.18);
  background:rgba(230,196,125,.055);
}

.form-support-note strong{
  color:#e6c47d;
  white-space:nowrap;
  font-size:15px;
}

.form-support-note span{
  color:#c2d0dc;
  font-size:12px;
  line-height:1.5;
}

.contact-submit-btn{
  position:relative;
  z-index:2;
  height:54px;
  border-radius:14px !important;
  margin-top:16px !important;
  overflow:hidden;
}

.contact-submit-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.22), transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.contact-submit-btn:hover::before{
  transform:translateX(120%);
}

@keyframes contactFormShine{
  0%, 48%{left:-60%;opacity:0}
  58%{opacity:1}
  76%{left:120%;opacity:.65}
  100%{left:120%;opacity:0}
}

@media (max-width:980px){
  .contact-pro-grid{
    grid-template-columns:1fr !important;
  }

  .contact-pro-form{
    padding:22px !important;
  }

  .form-support-note{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ================================
   Contact Form Text Cleanup - V68
   Header untouched. Coverage Map untouched.
================================ */
.contact-form-head{
  margin-bottom:16px !important;
}

.contact-form-head h3{
  max-width:420px;
}

.contact-form-head p{
  max-width:430px;
}

.form-support-note{
  display:none !important;
}

/* ================================
   Social Tooltip Transparency Only - V70
   Header untouched. Coverage Map untouched.
================================ */
.footer-socials a[data-tooltip]::after{
  background:rgba(4,7,12,.72) !important;
  color:#fff !important;
  border:1px solid rgba(230,196,125,.22) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.28) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.footer-socials a[data-tooltip]::before{
  background:rgba(4,7,12,.72) !important;
  border-right:1px solid rgba(230,196,125,.18) !important;
  border-bottom:1px solid rgba(230,196,125,.18) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* Keep social icon text black on hover */
.footer-socials a:hover,
.footer-socials a:hover span{
  color:#020a14 !important;
}

/* ================================
   Footer CTA Button Text Color - V71
   Header untouched. Coverage Map untouched.
================================ */
.footer-cta-panel .footer-cta-btn,
.footer-cta-panel .footer-cta-btn span{
  color:#020a14 !important;
}

.footer-cta-panel .footer-cta-btn:hover,
.footer-cta-panel .footer-cta-btn:hover span{
  color:#020a14 !important;
}

/* ================================
   Non-Hero Section Gap Fix - V76
   Fixes the oversized blank space before sections.
   Header untouched. Coverage Map files untouched.
================================ */
:root{
  --lp-header-clearance: 188px;
  --lp-section-gap: 26px;
}

html{
  scroll-padding-top: var(--lp-header-clearance) !important;
}

/* Reduce vertical gap between sections without affecting Hero */
main > section:not(#home){
  margin-top: var(--lp-section-gap) !important;
  scroll-margin-top: var(--lp-header-clearance) !important;
}

/* Stop non-hero sections from vertically centering content and creating a big blank area */
.dark-section.section-pad.snap-section:not(.coverage-section),
.products.snap-section,
.partners.snap-section,
.services-section.snap-section,
.contact.snap-section{
  min-height:auto !important;
  align-items:flex-start !important;
}

/* Products was the most affected section */
.products.products-v12.snap-section{
  padding-top:44px !important;
  padding-bottom:70px !important;
  justify-content:flex-start !important;
}

/* Keep other sections visually balanced */
.about-section.snap-section,
.services-section.snap-section{
  padding-top:54px !important;
  padding-bottom:72px !important;
}

.partners.partners-v18.snap-section{
  padding-top:50px !important;
  padding-bottom:70px !important;
}

.contact.snap-section{
  padding-top:58px !important;
  padding-bottom:70px !important;
}

/* Keep first content row directly under the intended section top */
main > section:not(#home) > .container{
  padding-top:0 !important;
}

#home{
  margin-top:0 !important;
  scroll-margin-top:0 !important;
}

@media (max-width:860px){
  :root{
    --lp-header-clearance: 170px;
    --lp-section-gap: 24px;
  }

  .products.products-v12.snap-section,
  .about-section.snap-section,
  .services-section.snap-section,
  .partners.partners-v18.snap-section,
  .contact.snap-section{
    padding-top:40px !important;
  }
}

/* ================================
   Contact Google Map Card - V77
   Header untouched. Coverage Map files untouched.
================================ */
.contact-grid{
  grid-template-columns:34% 39% 27% !important;
  align-items:start !important;
}

.contact-map-card{
  margin-top:22px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(74,212,209,.22);
  background:
    radial-gradient(circle at 18% 0%, rgba(74,212,209,.10), transparent 38%),
    linear-gradient(180deg, rgba(7,24,42,.92), rgba(3,13,24,.96));
  box-shadow:0 22px 55px rgba(0,0,0,.24);
}

.contact-map-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid rgba(230,196,125,.16);
}

.contact-map-head span{
  color:#4ad4d1;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.contact-map-head strong{
  color:#e6c47d;
  font-size:13px;
  white-space:nowrap;
}

.contact-map-card iframe{
  display:block;
  width:100%;
  height:230px;
  border:0;
  filter:saturate(.9) contrast(1.05) brightness(.82);
}

@media (max-width:1100px){
  .contact-grid{
    grid-template-columns:1fr !important;
  }

  .contact-map-card iframe{
    height:260px;
  }
}

/* ================================
   Contact Google Map Visible Under Checklist - V78
   Header untouched. Coverage Map files untouched.
================================ */
.contact-map-card{
  display:block !important;
  width:100% !important;
  margin-top:22px !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(74,212,209,.24) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(74,212,209,.10), transparent 38%),
    linear-gradient(180deg, rgba(7,24,42,.92), rgba(3,13,24,.96)) !important;
  box-shadow:0 22px 55px rgba(0,0,0,.24) !important;
}

.contact-map-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:14px 16px !important;
  border-bottom:1px solid rgba(230,196,125,.16) !important;
}

.contact-map-head span{
  color:#4ad4d1 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.contact-map-head strong{
  color:#e6c47d !important;
  font-size:13px !important;
  white-space:nowrap !important;
}

.contact-map-card iframe{
  display:block !important;
  width:100% !important;
  height:210px !important;
  border:0 !important;
  filter:saturate(.9) contrast(1.05) brightness(.82);
}

@media (max-width:1100px){
  .contact-map-card iframe{
    height:260px !important;
  }
}

/* ================================
   Footer Newsletter Form - V79
   Header untouched. Coverage Map files untouched.
================================ */
.footer-newsletter-panel{
  grid-template-columns:1fr minmax(360px, 480px) !important;
}

.footer-newsletter-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:8px;
  border-radius:18px;
  border:1px solid rgba(230,196,125,.22);
  background:rgba(2,10,22,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}

.footer-newsletter-form input{
  width:100%;
  min-height:48px;
  border:0;
  outline:0;
  border-radius:13px;
  padding:0 15px;
  color:#f7fbff;
  background:rgba(255,255,255,.055);
}

.footer-newsletter-form input::placeholder{
  color:rgba(185,200,214,.68);
}

.footer-newsletter-form input:focus{
  box-shadow:0 0 0 3px rgba(74,212,209,.12);
  background:rgba(255,255,255,.075);
}

.footer-newsletter-form button{
  min-height:48px;
  border:0;
  border-radius:13px;
  padding:0 18px;
  cursor:pointer;
  color:#020a14;
  font-weight:900;
  white-space:nowrap;
  background:linear-gradient(135deg, #e6c47d, #bfa56a);
  transition:transform .25s ease, box-shadow .25s ease;
}

.footer-newsletter-form button span{
  color:#020a14;
}

.footer-newsletter-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(191,165,106,.22);
}

.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width:900px){
  .footer-newsletter-panel{
    grid-template-columns:1fr !important;
  }

  .footer-newsletter-form{
    grid-template-columns:1fr;
  }

  .footer-newsletter-form button{
    width:100%;
  }
}

/* ================================
   Newsletter Subscribe Button Like Contact Form - V80
   Header untouched. Coverage Map files untouched.
================================ */
.footer-newsletter-form button{
  position:relative !important;
  overflow:hidden !important;
  min-height:48px !important;
  border:0 !important;
  border-radius:13px !important;
  padding:0 20px !important;
  cursor:pointer !important;
  color:#ffffff !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  background:linear-gradient(135deg, #1285b7, #1fb9b8) !important;
  box-shadow:0 14px 30px rgba(31,185,184,.22) !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

.footer-newsletter-form button span{
  position:relative;
  z-index:2;
  color:#ffffff !important;
}

.footer-newsletter-form button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.24), transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
  z-index:1;
}

.footer-newsletter-form button:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 38px rgba(31,185,184,.32) !important;
  filter:saturate(1.08);
}

.footer-newsletter-form button:hover::before{
  transform:translateX(120%);
}

.footer-newsletter-form button:active{
  transform:translateY(0) !important;
}

/* ================================
   Branded Contact Location Card - V81
   Replaces external Google iframe visual with a design-matched location card.
   Header untouched. Coverage Map files untouched.
================================ */
.contact-map-card{
  display:none !important;
}

.contact-location-card{
  position:relative;
  display:block;
  width:100%;
  margin-top:22px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(74,212,209,.24);
  background:
    radial-gradient(circle at 18% 0%, rgba(74,212,209,.12), transparent 38%),
    radial-gradient(circle at 82% 100%, rgba(230,196,125,.10), transparent 36%),
    linear-gradient(180deg, rgba(7,24,42,.94), rgba(3,13,24,.97));
  box-shadow:
    0 22px 55px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.045);
}

.contact-location-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, transparent, rgba(255,255,255,.035), transparent);
  transform:translateX(-115%);
  animation:locationCardShine 7s ease-in-out infinite;
  pointer-events:none;
}

.location-card-top{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  border-bottom:1px solid rgba(230,196,125,.16);
}

.location-card-top span,
.location-card-bottom span{
  color:#4ad4d1;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.location-card-top strong{
  color:#e6c47d;
  font-size:13px;
  white-space:nowrap;
}

.location-visual{
  position:relative;
  height:220px;
  overflow:hidden;
  background:
    radial-gradient(circle at 54% 48%, rgba(74,212,209,.15), transparent 14%),
    radial-gradient(circle at 54% 48%, rgba(230,196,125,.16), transparent 28%),
    linear-gradient(135deg, rgba(5,20,36,.96), rgba(2,10,20,.98));
}

.location-grid{
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(circle at 54% 48%, #000 0 48%, transparent 78%);
  opacity:.72;
}

.location-radar{
  position:absolute;
  left:54%;
  top:48%;
  width:128px;
  height:128px;
  transform:translate(-50%, -50%);
  border-radius:50%;
  border:1px solid rgba(74,212,209,.35);
  box-shadow:
    0 0 0 18px rgba(74,212,209,.055),
    0 0 0 38px rgba(230,196,125,.045),
    0 0 42px rgba(74,212,209,.18);
  animation:locationPulse 2.8s ease-in-out infinite;
}

.location-route{
  position:absolute;
  height:1px;
  border-top:1px dashed rgba(230,196,125,.28);
  transform-origin:left center;
}

.route-a{
  width:62%;
  left:9%;
  top:36%;
  transform:rotate(11deg);
}

.route-b{
  width:54%;
  left:25%;
  top:69%;
  transform:rotate(-17deg);
}

.location-route::before,
.location-route::after{
  content:"";
  position:absolute;
  top:-4px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#e6c47d;
  box-shadow:0 0 16px rgba(230,196,125,.75);
}

.location-route::before{ left:0; }
.location-route::after{ right:0; }

.location-pin-core{
  position:absolute;
  left:54%;
  top:48%;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  transform:translate(-50%, -50%);
  border-radius:50%;
  background:rgba(5,20,36,.72);
  border:1px solid rgba(230,196,125,.45);
  box-shadow:0 18px 34px rgba(0,0,0,.32);
}

.location-pin-core span{
  width:15px;
  height:15px;
  display:block;
  border-radius:50%;
  background:#4ad4d1;
  border:3px solid rgba(255,255,255,.88);
  box-shadow:
    0 0 0 8px rgba(74,212,209,.20),
    0 0 26px rgba(74,212,209,.95);
}

.location-label{
  position:absolute;
  left:calc(54% + 28px);
  top:calc(48% - 36px);
  min-width:124px;
  padding:9px 11px;
  border-radius:14px;
  background:rgba(2,10,22,.74);
  border:1px solid rgba(230,196,125,.22);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 32px rgba(0,0,0,.28);
}

.location-label small{
  display:block;
  color:#4ad4d1;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:3px;
}

.location-label b{
  color:#fff;
  font-size:18px;
  font-family:var(--font-display);
  font-weight:500;
}

.location-card-bottom{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:15px 16px 16px;
  border-top:1px solid rgba(255,255,255,.06);
}

.location-card-bottom strong{
  display:block;
  margin-top:3px;
  color:#dce8f2;
  font-size:13px;
  line-height:1.35;
}

.location-card-bottom a{
  color:#e6c47d;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  transition:color .24s ease, transform .24s ease;
}

.location-card-bottom a:hover{
  color:#4ad4d1;
  transform:translateX(3px);
}

@keyframes locationPulse{
  0%,100%{ transform:translate(-50%, -50%) scale(.92); opacity:.72; }
  50%{ transform:translate(-50%, -50%) scale(1.08); opacity:1; }
}

@keyframes locationCardShine{
  0%,46%{ transform:translateX(-115%); opacity:0; }
  58%{ opacity:.8; }
  78%{ transform:translateX(115%); opacity:.45; }
  100%{ transform:translateX(115%); opacity:0; }
}

@media (max-width:1100px){
  .location-visual{
    height:240px;
  }
}

@media (max-width:560px){
  .location-card-top,
  .location-card-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .location-label{
    left:50%;
    top:calc(48% + 34px);
    transform:translateX(-50%);
  }
}

/* ================================
   Contact Intro Copy Cleanup - V82
   Header untouched. Coverage Map files untouched.
================================ */
.contact .checks{
  gap:10px !important;
}

.contact .checks li{
  line-height:1.35 !important;
}

.contact .contact-intro p,
.contact .section-text p{
  max-width:470px;
}

/* ================================
   Footer ISO Shine Effect - V83
   Header untouched. Coverage Map files untouched.
================================ */
.footer-cert{
  position:relative !important;
  overflow:hidden !important;
}

.footer-cert::after{
  content:"";
  position:absolute;
  top:-45%;
  left:-95%;
  width:52%;
  height:190%;
  background:
    linear-gradient(
      105deg,
      transparent 0%,
      rgba(255,255,255,.06) 28%,
      rgba(230,196,125,.38) 48%,
      rgba(74,212,209,.12) 58%,
      transparent 76%
    );
  transform:rotate(18deg);
  opacity:.85;
  pointer-events:none;
  animation:footerIsoShine 4.8s ease-in-out infinite;
}

.footer-cert:hover::after{
  animation-duration:1.25s;
}

.footer-cert strong,
.footer-cert small{
  position:relative;
  z-index:2;
}

@keyframes footerIsoShine{
  0%, 42%{
    left:-95%;
    opacity:0;
  }
  52%{
    opacity:.9;
  }
  72%{
    left:135%;
    opacity:.72;
  }
  100%{
    left:135%;
    opacity:0;
  }
}

/* ================================
   Global Premium Select Styling - V84
   Applies to current and future select fields.
   Header untouched. Coverage Map files untouched.
================================ */

/* Native fallback if JS is disabled */
select{
  color:#f7fbff !important;
  background:
    linear-gradient(180deg, rgba(3,14,26,.92), rgba(5,20,36,.96)) !important;
  border:1px solid rgba(74,212,209,.22) !important;
  border-radius:14px !important;
}

select option,
select optgroup{
  background:#061426 !important;
  color:#f7fbff !important;
}

select option:checked{
  background:#123a4a !important;
  color:#ffffff !important;
}

/* Enhanced custom select */
select.select-enhanced{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

.custom-select{
  position:relative;
  width:100%;
  z-index:10;
}

.custom-select.is-open{
  z-index:9999;
}

.custom-select-trigger{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-radius:14px;
  padding:0 15px;
  cursor:pointer;
  color:#f7fbff;
  background:
    linear-gradient(180deg, rgba(3,14,26,.92), rgba(5,20,36,.96));
  border:1px solid rgba(74,212,209,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color .24s ease, box-shadow .24s ease, transform .24s ease, background .24s ease;
}

.custom-select-placeholder{
  color:rgba(185,200,214,.68);
}

.custom-select-trigger::after{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid #e6c47d;
  border-bottom:2px solid #e6c47d;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .24s ease;
  flex:0 0 auto;
}

.custom-select.is-open .custom-select-trigger::after{
  transform:rotate(225deg) translateY(-2px);
}

.custom-select.is-open .custom-select-trigger,
.custom-select-trigger:focus{
  outline:0;
  border-color:rgba(74,212,209,.72);
  box-shadow:
    0 0 0 4px rgba(74,212,209,.08),
    0 10px 24px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.055);
  transform:translateY(-1px);
}

.custom-select-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  max-height:220px;
  overflow:auto;
  padding:7px;
  border-radius:16px;
  background:rgba(4,13,25,.96);
  border:1px solid rgba(74,212,209,.25);
  box-shadow:
    0 22px 48px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.custom-select.is-open .custom-select-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.custom-select-option{
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 11px;
  border-radius:11px;
  color:#dce8f2;
  font-size:13px;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}

.custom-select-option:hover,
.custom-select-option.is-focused{
  background:rgba(74,212,209,.12);
  color:#ffffff;
  transform:translateX(3px);
}

.custom-select-option.is-selected{
  background:linear-gradient(135deg, rgba(18,133,183,.48), rgba(31,185,184,.34));
  color:#ffffff;
  box-shadow:inset 0 0 0 1px rgba(74,212,209,.20);
}

.custom-select-option.is-disabled{
  opacity:.44;
  cursor:not-allowed;
  transform:none !important;
}

/* Cleaner scrollbar inside dropdown */
.custom-select-menu::-webkit-scrollbar{
  width:7px;
}

.custom-select-menu::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.custom-select-menu::-webkit-scrollbar-thumb{
  background:rgba(230,196,125,.38);
  border-radius:999px;
}

@media (max-width:720px){
  .custom-select-menu{
    max-height:190px;
  }
}

/* ================================
   Clean Text-Only Select Dropdown - V85
   Makes custom select options text-only and same width as the select.
   Header untouched. Coverage Map files untouched.
================================ */
.custom-select{
  width:100% !important;
}

.custom-select-menu{
  left:0 !important;
  right:auto !important;
  width:100% !important;
  min-width:100% !important;
  box-sizing:border-box !important;
  padding:8px 10px !important;
  background:rgba(4,13,25,.88) !important;
}

.custom-select-option{
  width:100% !important;
  justify-content:flex-start !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
  padding:8px 4px !important;
  min-height:34px !important;
  color:#cbd8e4 !important;
  text-align:left !important;
}

.custom-select-option:hover,
.custom-select-option.is-focused{
  background:transparent !important;
  box-shadow:none !important;
  color:#ffffff !important;
  transform:translateX(3px);
}

.custom-select-option.is-selected{
  background:transparent !important;
  box-shadow:none !important;
  color:#4ad4d1 !important;
}

.custom-select-option.is-disabled{
  background:transparent !important;
  color:rgba(203,216,228,.38) !important;
  opacity:1 !important;
}

/* ================================
   Select Dropdown Above Form Button - V86
   Makes select menu appear above Request Institutional Support button.
   Header untouched. Coverage Map files untouched.
================================ */
.contact-pro-form,
.contact-pro-grid,
.form-grid.contact-pro-grid,
.field-control{
  overflow:visible !important;
}

.contact-pro-form{
  z-index:20 !important;
}

.field-control{
  position:relative !important;
  z-index:30 !important;
}

.field-control:focus-within{
  z-index:10020 !important;
}

.field-control:has(.custom-select.is-open){
  z-index:10050 !important;
}

.custom-select.is-open{
  z-index:10060 !important;
}

.custom-select.is-open .custom-select-menu{
  z-index:10070 !important;
}

.contact-submit-btn{
  position:relative !important;
  z-index:5 !important;
}

/* ================================
   Contact Select Menu Above Submit Button - V87
   Ensures dropdown option buttons layer above Request Institutional Support button.
   Header untouched. Coverage Map files untouched.
================================ */
.contact-pro-form{
  overflow:visible !important;
  isolation:auto !important;
}

.contact-pro-grid,
.form-grid.contact-pro-grid{
  position:relative !important;
  z-index:100 !important;
  overflow:visible !important;
}

.contact-pro-form .field-control{
  position:relative !important;
  overflow:visible !important;
  z-index:120 !important;
}

/* When any select is open, lift the whole grid above everything inside the form */
.contact-pro-form:has(.custom-select.is-open) .contact-pro-grid,
.contact-pro-form:has(.custom-select.is-open) .field-control:has(.custom-select.is-open){
  z-index:99990 !important;
}

.contact-pro-form .custom-select.is-open{
  position:relative !important;
  z-index:99999 !important;
}

.contact-pro-form .custom-select.is-open .custom-select-menu{
  z-index:100000 !important;
  pointer-events:auto !important;
}

/* Keep the form button visually behind the open dropdown */
.contact-pro-form:has(.custom-select.is-open) .contact-submit-btn{
  z-index:1 !important;
  pointer-events:none !important;
}

.contact-pro-form:has(.custom-select.is-open) .contact-submit-btn::before{
  display:none !important;
}

.contact-submit-btn{
  z-index:2 !important;
}
