/* The Sovereign Lift Group — shared stylesheet */

:root{
  --red:#E2231A;
  --red-700:#B81910;
  --red-soft:#FCEBEA;
  --ink:#14181D;
  --graphite:#363E48;
  --body:#5A6470;
  --muted:#9AA2AD;
  --line:#E7EAEE;
  --soft:#F6F8FA;
  --soft-2:#EEF1F5;
  --charcoal:#101419;
  --charcoal-2:#171C23;
  --white:#fff;
  --shadow-sm:0 8px 28px rgba(20,24,31,.07);
  --shadow:0 22px 60px rgba(20,24,31,.12);
  --r:16px;
  --r-sm:10px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{ -webkit-font-smoothing:antialiased; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--body);
  background:var(--white);
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.font-display{
  font-family:'Sora',sans-serif;
  color:var(--ink);
  font-weight:700;
  letter-spacing:-.022em;
  line-height:1.12;
}
a{ text-decoration:none; color:inherit; transition:color .25s var(--ease); }
img{ max-width:100%; display:block; }
.container{ max-width:1200px; }
section{ position:relative; }

/* ---------- Type helpers ---------- */
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--red);
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.1rem;
}
.eyebrow::before{
  content:"";
  width:26px;height:2px;
  background:var(--red);
  display:inline-block;
}
.eyebrow.is-center{ justify-content:center; }
.eyebrow.on-dark{ color:#FF7A6E; }
.eyebrow.on-dark::before{ background:#FF7A6E; }
.sec-head{ max-width:760px; }
.sec-head h2{ font-size:clamp(1.85rem,3.4vw,2.85rem); }
.sec-head .lead{ font-size:1.1rem; color:var(--body); margin-top:1rem; }
.lead{ font-size:1.1rem; }
.text-ink{ color:var(--ink)!important; }
.rail{
  width:2px;height:46px;margin:0 auto 1.4rem;
  background:linear-gradient(180deg,transparent,var(--red));
  border-radius:2px;display:none;
}

/* ---------- Buttons ---------- */
.btn-sov,.btn-ghost,.btn-ink,.btn-light-sov{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:.96rem;
  letter-spacing:.005em;
  padding:.92rem 1.7rem;
  border-radius:8px;
  display:inline-flex;align-items:center;gap:.6rem;
  border:1.6px solid transparent;
  transition:all .3s var(--ease);
  cursor:pointer;
  line-height:1;
}
.btn-sov{ background:var(--red); color:#fff; box-shadow:0 12px 26px rgba(226,35,26,.26); }
.btn-sov:hover{ background:var(--red-700); color:#fff; transform:translateY(-3px); box-shadow:0 18px 34px rgba(226,35,26,.32); }
.btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
.btn-ghost:hover{ background:#fff; color:var(--ink); transform:translateY(-3px); }
.btn-ink{ background:var(--ink); color:#fff; }
.btn-ink:hover{ background:#000; color:#fff; transform:translateY(-3px); }
.btn-light-sov{ background:#fff; color:var(--ink); }
.btn-light-sov:hover{ background:var(--red); color:#fff; transform:translateY(-3px); }
.btn-sov i,.btn-ghost i,.btn-ink i,.btn-light-sov i{ transition:transform .3s var(--ease); }
.btn-sov:hover i,.btn-ink:hover i,.btn-light-sov:hover i,.btn-ghost:hover i{ transform:translateX(4px); }

.link-arrow{
  font-family:'Inter',sans-serif;font-weight:600;font-size:.92rem;
  color:var(--ink);display:inline-flex;align-items:center;gap:.45rem;
}
.link-arrow i{ color:var(--red); transition:transform .3s var(--ease); }
.link-arrow:hover{ color:var(--red); }
.link-arrow:hover i{ transform:translateX(4px); }

/* ---------- Top bar ---------- */
.topbar{
  background:var(--charcoal);
  color:rgba(255,255,255,.72);
  font-size:.82rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar a{ color:rgba(255,255,255,.72); }
.topbar a:hover{ color:#fff; }
.topbar .tb-item{ display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 0; }
.topbar .tb-item i{ color:var(--red); font-size:.95rem; }
.tb-socials a{
  width:30px;height:30px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  transition:all .25s var(--ease);
}
.tb-socials a:hover{ background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-2px); }

/* ---------- Navbar ---------- */
.navbar{
  background:#fff;
  padding:.55rem 0;
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease),padding .3s var(--ease);
}
.navbar.scrolled{ box-shadow:0 10px 30px rgba(20,24,31,.08); padding:.3rem 0; border-bottom-color:transparent; }
.navbar-brand img{ height:46px; transition:height .3s var(--ease); }
.navbar.scrolled .navbar-brand img{ height:40px; }
.navbar .nav-link{
  font-weight:600; font-size:.95rem; color:var(--ink);
  padding:.55rem 1rem!important; position:relative;
}
.navbar .nav-link::after{
  content:"";position:absolute;left:1rem;right:1rem;bottom:.32rem;height:2px;
  background:var(--red);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.navbar .nav-link:hover,.navbar .nav-link.active{ color:var(--red); }
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{ transform:scaleX(1); }
.navbar .dropdown-menu{
  border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);
  padding:.5rem;margin-top:.6rem;
}
.navbar .dropdown-item{ font-weight:500;font-size:.92rem;border-radius:8px;padding:.6rem .8rem;color:var(--graphite); }
.navbar .dropdown-item:hover{ background:var(--red-soft);color:var(--red); }
.navbar-toggler{ border:0;padding:.25rem;box-shadow:none!important; }
.navbar-toggler i{ font-size:1.7rem;color:var(--ink); }

/* ---------- Hero ---------- */
.hero{ position:relative; }
.heroSwiper,.hero-slide{ height:clamp(580px,92vh,940px); }
.hero-slide{ position:relative; overflow:hidden; display:flex; align-items:center; }
.hero-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform:scale(1.04);
}
.swiper-slide-active .hero-bg{ animation:kenburns 8s var(--ease) forwards; }
@keyframes kenburns{ from{transform:scale(1.04)} to{transform:scale(1.16)} }
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,rgba(10,13,18,.9) 0%,rgba(10,13,18,.7) 38%,rgba(10,13,18,.25) 72%,rgba(10,13,18,.05) 100%),
    linear-gradient(0deg,rgba(10,13,18,.55) 0%,transparent 38%);
}
.hero-content{ position:relative; z-index:3; max-width:740px; color:#fff; }
.hero-content .eyebrow{ color:#FF8579; }
.hero-content .eyebrow::before{ background:#FF8579; }
.hero-content h1{
  color:#fff; font-weight:800;
  font-size:clamp(2.2rem,5.4vw,4.2rem);
  line-height:1.06; letter-spacing:-.03em; margin-bottom:1.1rem;
}
.hero-content .hero-sub{
  font-size:clamp(1rem,1.5vw,1.22rem); color:rgba(255,255,255,.86);
  max-width:560px; margin-bottom:2rem;
}
.swiper-slide-active .hero-anim{ animation:riseIn .9s var(--ease) both; }
.swiper-slide-active .hero-anim.d1{ animation-delay:.12s; }
.swiper-slide-active .hero-anim.d2{ animation-delay:.24s; }
.swiper-slide-active .hero-anim.d3{ animation-delay:.36s; }
@keyframes riseIn{ from{opacity:0;transform:translateY(34px)} to{opacity:1;transform:translateY(0)} }
.hero-railmark{
  position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:170px; z-index:3;
  background:linear-gradient(180deg,transparent,var(--red),transparent);
  display:none;
}
@media(min-width:992px){ .hero-railmark{ display:block; } }

.heroSwiper .swiper-pagination{ text-align:left; bottom:34px!important; padding-left:max(24px,calc((100vw - 1200px)/2 + 12px)); }
.heroSwiper .swiper-pagination-bullet{
  width:34px;height:4px;border-radius:3px;background:rgba(255,255,255,.4);opacity:1;transition:all .3s var(--ease);
}
.heroSwiper .swiper-pagination-bullet-active{ background:var(--red); width:52px; }
.heroSwiper .swiper-button-next,.heroSwiper .swiper-button-prev{
  width:54px;height:54px;border-radius:50%;
  background:rgba(255,255,255,.1);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.3); color:#fff;
  transition:all .3s var(--ease);
}
.heroSwiper .swiper-button-next:hover,.heroSwiper .swiper-button-prev:hover{ background:var(--red);border-color:var(--red); }
.heroSwiper .swiper-button-next::after,.heroSwiper .swiper-button-prev::after{ font-size:1.1rem;font-weight:700; }
@media(max-width:991px){ .heroSwiper .swiper-button-next,.heroSwiper .swiper-button-prev{ display:none; } }
.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;
  color:rgba(255,255,255,.7);font-size:.7rem;letter-spacing:.2em;
  font-family:'JetBrains Mono',monospace;text-align:center;
}
.scroll-cue i{ display:block;font-size:1.2rem;animation:bob 1.8s infinite; }
@keyframes bob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
@media(max-width:991px){ .scroll-cue{ display:none; } }

/* ---------- Trust strip ---------- */
.trust-wrap{ margin-top:-66px; position:relative; z-index:6; }
.trust-card{
  background:#fff;border-radius:var(--r);box-shadow:var(--shadow);
  border:1px solid var(--line);overflow:hidden;
}
.trust-item{ padding:2rem 1.6rem; display:flex; align-items:center; gap:1.1rem; position:relative; }
.trust-item + .trust-item::before{
  content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:var(--line);
}
.trust-ic{
  width:54px;height:54px;border-radius:12px;flex:0 0 auto;
  background:var(--red-soft);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.trust-item .t-title{ font-family:'Sora';font-weight:700;color:var(--ink);font-size:1.05rem;line-height:1.2; }
.trust-item .t-sub{ font-size:.84rem;color:var(--muted); }
@media(max-width:767px){
  .trust-item + .trust-item::before{ display:none; }
  .trust-item{ border-top:1px solid var(--line); padding:1.4rem; }
  .trust-item:first-child{ border-top:0; }
}

/* ---------- Sections ---------- */
.section{ padding:50px 0; }
.section--tight{ padding:78px 0; }
.section--soft{ background:var(--soft); }
.section--dark{ background:var(--charcoal); color:rgba(255,255,255,.74); }
.section--dark h2,.section--dark h3,.section--dark .stat-num{ color:#fff; }

/* Welcome */
.welcome-lead{ font-size:clamp(1.25rem,2.4vw,1.75rem); color:var(--graphite); font-family:'Sora'; font-weight:600; line-height:1.45; letter-spacing:-.02em; }
.welcome-lead .hl{ color:var(--red); }

/* About */
.about-media{ position:relative; padding-bottom:1.5rem; }
.about-media .img-main{ border-radius:var(--r); box-shadow:var(--shadow); width:100%; height:540px; object-fit:cover; }
.about-media .img-sub{
  position:absolute; right:-6px; bottom:-6px; width:46%; height:230px; object-fit:cover;
  border-radius:14px; border:6px solid #fff; box-shadow:var(--shadow);
}
.about-rail{ position:absolute; left:-14px; top:18px; bottom:60px; width:3px; background:linear-gradient(180deg,var(--red),transparent); border-radius:3px; }
.spec-badge{
  position:absolute; left:18px; top:18px;
  background:rgba(16,20,25,.86); backdrop-filter:blur(4px); color:#fff;
  border-radius:12px; padding:.85rem 1.1rem; box-shadow:var(--shadow-sm);
}
.spec-badge .sb-k{ font-family:'JetBrains Mono';font-size:.62rem;letter-spacing:.18em;color:#FF8579;text-transform:uppercase; }
.spec-badge .sb-v{ font-family:'Sora';font-weight:700;font-size:1.15rem;line-height:1.1; }
.iso-badge{
  position:absolute; left:18px; bottom:34px;
  width:96px;height:96px;border-radius:50%;
  background:var(--red);color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  box-shadow:0 16px 34px rgba(226,35,26,.34); border:4px solid #fff;
}
.iso-badge b{ font-family:'Sora';font-size:1.05rem;line-height:1; }
.iso-badge span{ font-family:'JetBrains Mono';font-size:.52rem;letter-spacing:.12em;margin-top:.2rem; }

.check-list{ list-style:none; padding:0; margin:1.6rem 0 0; }
.check-list li{ display:flex; align-items:flex-start; gap:.7rem; margin-bottom:.85rem; font-weight:500; color:var(--graphite); }
.check-list li i{ color:var(--red); font-size:1.2rem; margin-top:.05rem; }

.exec-quote{
  border-left:3px solid var(--red); padding:.4rem 0 .4rem 1.4rem; margin:2rem 0 1.6rem;
  font-family:'Sora'; font-style:italic; color:var(--graphite); font-size:1.06rem; line-height:1.55;
}
.exec-quote .q-by{ font-style:normal; font-family:'JetBrains Mono'; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:.8rem; }

.hotline{ display:flex; align-items:center; gap:1rem; }
.hotline .h-ic{ width:52px;height:52px;border-radius:50%;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex:0 0 auto; }
.hotline .h-k{ font-size:.82rem;color:var(--muted); }
.hotline .h-v{ font-family:'Sora';font-weight:700;font-size:1.3rem;color:var(--ink); }
.hotline .h-v:hover{ color:var(--red); }

/* Stats band */
.stat-num{ font-family:'Sora'; font-weight:800; font-size:clamp(2.4rem,4.6vw,3.6rem); line-height:1; letter-spacing:-.03em; }
.stat-num .u{ color:var(--red); font-size:.55em; }
.stat-label{ font-family:'JetBrains Mono'; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:.7rem; }
.stat-col{ position:relative; padding:.5rem 0; }
.stat-col + .stat-col::before{ content:""; position:absolute; left:0; top:18%; bottom:18%; width:1px; background:rgba(255,255,255,.12); }
@media(max-width:767px){ .stat-col + .stat-col::before{ display:none; } }
.stats-bg-mark{ position:absolute; inset:0; opacity:.05; display:flex;align-items:center;justify-content:center; pointer-events:none; }
.stats-bg-mark img{ width:380px; }

/* Solution cards */
.sol-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  height:100%; transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.sol-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); border-color:#fff; }
.sol-media{ height:218px; overflow:hidden; position:relative; }
.sol-media img{ width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease); }
.sol-card:hover .sol-media img{ transform:scale(1.08); }
.sol-ic{
  position:absolute; left:18px; bottom:18px; z-index:2;
  width:50px;height:50px;border-radius:12px;background:#fff;color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:var(--shadow-sm);
}
.sol-body{ padding:1.7rem 1.6rem 1.8rem; }
.sol-body h3{ font-size:1.22rem; margin-bottom:.6rem; transition:color .25s var(--ease); }
.sol-card:hover .sol-body h3{ color:var(--red); }
.sol-body p{ font-size:.94rem; margin-bottom:1.1rem; }

/* Sustainability */
.eco-stat{ display:flex; align-items:baseline; gap:.4rem; }
.eco-stat .num{ font-family:'Sora'; font-weight:800; font-size:clamp(3.4rem,7vw,5.2rem); color:var(--red); line-height:.9; letter-spacing:-.03em; }
.eco-stat .pct{ font-family:'Sora'; font-weight:700; font-size:2rem; color:var(--red); }
.eco-stat-label{ font-family:'JetBrains Mono'; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.eco-media{ border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); }
.eco-media img{ width:100%; height:520px; object-fit:cover; }
.tag-mono{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'JetBrains Mono'; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--graphite); background:#fff; border:1px solid var(--line); border-radius:30px; padding:.45rem 1rem;
}
.tag-mono i{ color:var(--red); }

/* Quality steps */
.q-step{ position:relative; padding-top:.5rem; }
.q-num{ font-family:'JetBrains Mono'; font-weight:600; font-size:2.6rem; color:var(--soft-2); line-height:1; }
.q-step h3{ font-size:1.2rem; margin:.7rem 0 .55rem; }
.q-step p{ font-size:.95rem; }
.q-ic{ position:absolute; right:0; top:.4rem; width:48px;height:48px;border-radius:12px;background:var(--red-soft);color:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.35rem; }
.q-line{ height:1px;background:var(--line); position:relative; margin:1.4rem 0; }
.q-line::before{ content:"";position:absolute;left:0;top:-2px;width:46px;height:5px;background:var(--red);border-radius:5px; }

/* AMC plans */
.plan{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2.2rem 2rem;height:100%;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.plan:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.plan.featured{ border-color:transparent; background:var(--charcoal); color:rgba(255,255,255,.78); position:relative; box-shadow:var(--shadow); }
.plan.featured h3,.plan.featured .plan-price{ color:#fff; }
.plan-tag{ font-family:'JetBrains Mono'; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--red); }
.plan.featured .plan-tag{ color:#FF8579; }
.plan h3{ font-size:1.5rem; margin:.4rem 0 .2rem; }
.plan-sub{ font-size:.92rem; margin-bottom:1.3rem; }
.plan.featured .plan-sub{ color:rgba(255,255,255,.6); }
.plan-ribbon{
  position:absolute; top:1.4rem; right:1.4rem;
  background:var(--red); color:#fff; font-family:'JetBrains Mono'; font-size:.66rem; letter-spacing:.12em;
  text-transform:uppercase; padding:.32rem .7rem; border-radius:20px;
}
.plan-list{ list-style:none; padding:0; margin:0 0 1.6rem; }
.plan-list li{ display:flex; gap:.65rem; align-items:flex-start; padding:.5rem 0; font-size:.95rem; font-weight:500; }
.plan-list li i{ color:var(--red); margin-top:.15rem; }
.plan.featured .plan-list li i{ color:#FF8579; }
.modern-strip{
  background:#fff; border:1px solid var(--line); border-left:4px solid var(--red);
  border-radius:var(--r-sm); padding:1.6rem 1.8rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; justify-content:space-between;
}
.modern-strip h4{ font-size:1.15rem; margin:0; }
.modern-strip p{ font-size:.92rem; margin:.25rem 0 0; }

/* Partners */
.partner-strip{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1rem; }
.partner{
  font-family:'Sora'; color:var(--muted); padding:1rem 1.5rem; border:1px solid var(--line); border-radius:12px;
  min-width:165px; text-align:center; transition:all .3s var(--ease); filter:grayscale(1); flex:1 1 160px;
}
.partner:hover{ color:var(--ink); border-color:var(--red); filter:grayscale(0); transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.partner b{ font-weight:800; }
.partner .lo-red{ color:var(--red); }
.partner.p-mono{ font-weight:700; letter-spacing:.02em; }
.partner.p-spaced{ font-weight:700; letter-spacing:.28em; font-size:.95rem; }
.partner.p-italic{ font-style:italic; font-weight:800; letter-spacing:.02em; }

/* CTA band */
.cta-band{ position:relative; overflow:hidden; background:var(--charcoal); }
.cta-band .cta-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; }
.cta-band .cta-overlay{ position:absolute; inset:0; background:linear-gradient(100deg,rgba(226,35,26,.42),rgba(16,20,25,.85)); }
.cta-band .container{ position:relative; z-index:2; }
.cta-band h2{ color:#fff; font-size:clamp(1.9rem,4vw,3rem); }
.cta-band p{ color:rgba(255,255,255,.88); font-size:1.12rem; }

/* Footer */
.footer{ background:var(--charcoal); color:rgba(255,255,255,.6); padding:80px 0 0; }
.footer h5{ color:#fff; font-size:1rem; font-family:'Sora'; font-weight:700; margin-bottom:1.3rem; letter-spacing:.01em; }
.footer a{ color:rgba(255,255,255,.6); }
.footer a:hover{ color:#fff; }
.footer .f-logochip{ background:#fff; border-radius:12px; padding:.7rem .9rem; display:inline-block; margin-bottom:1.3rem; }
.footer .f-logochip img{ height:40px; }
.f-links{ list-style:none; padding:0; margin:0; }
.f-links li{ margin-bottom:.7rem; font-size:.93rem; }
.f-links a{ display:inline-flex; align-items:center; gap:.5rem; }
.f-links a i{ font-size:.7rem; color:var(--red); }
.f-contact li{ display:flex; gap:.75rem; margin-bottom:1rem; font-size:.93rem; align-items:flex-start; }
.f-contact li i{ color:var(--red); font-size:1.05rem; margin-top:.15rem; }
.f-socials{ display:flex; gap:.6rem; margin-top:1.4rem; }
.f-socials a{ width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;transition:all .25s var(--ease); }
.f-socials a:hover{ background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-3px); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:60px; padding:1.6rem 0; font-size:.85rem; }
.footer-bottom a{ color:rgba(255,255,255,.6); }
.footer-bottom .sep{ color:rgba(255,255,255,.25); margin:0 .55rem; }

/* Back to top */
.to-top{
  position:fixed; right:24px; bottom:24px; z-index:60;
  width:48px;height:48px;border-radius:50%; background:var(--red); color:#fff; border:0;
  display:flex;align-items:center;justify-content:center; font-size:1.2rem;
  opacity:0; visibility:hidden; transform:translateY(14px); transition:all .3s var(--ease);
  box-shadow:0 12px 26px rgba(226,35,26,.34);
}
.to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ background:var(--red-700); transform:translateY(-3px); }

/* Focus + motion */
a:focus-visible,button:focus-visible,.btn-sov:focus-visible,.nav-link:focus-visible{ outline:3px solid rgba(226,35,26,.45); outline-offset:3px; border-radius:6px; }
@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  .swiper-slide-active .hero-bg{ animation:none; transform:scale(1.04); }
}

@media(max-width:991px){
  .section{ padding:40px 0; }
  .about-media{ margin-bottom:3.5rem; }
  .about-media .img-main{ height:420px; }
  .eco-media img{ height:360px; }
}

/* ============ MULTI-PAGE COMPONENTS ============ */
.inner-hero{ position:relative; padding:100px 0 104px; background:var(--charcoal); overflow:hidden;text-align: center; }
.inner-hero .ih-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.30; }
.inner-hero .ih-overlay{ position:absolute; inset:0; background:linear-gradient(100deg,rgba(16,20,25,.14),rgba(16,20,25,.16)); }
.inner-hero .container{ position:relative; z-index:2; }
.inner-hero h1{ color:#fff; font-size:clamp(2rem,4.4vw,3.1rem); }
.breadcrumb-sov{ font-family:'JetBrains Mono'; font-size:.76rem; letter-spacing:.08em; }
.breadcrumb-sov a{ color:rgba(255,255,255,.62); }
.breadcrumb-sov a:hover{ color:#fff; }
.breadcrumb-sov .cur{ color:#FF8579; }
.breadcrumb-sov .sep{ color:rgba(255,255,255,.3); margin:0 .55rem; }

/* Generic icon card */
.icard{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:2.1rem 1.9rem; height:100%;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease); }
.icard:hover{ transform:translateY(-7px); box-shadow:var(--shadow); border-color:#fff; }
.icard .ic{ width:60px;height:60px;border-radius:14px;background:var(--red-soft);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:1.2rem; }
.icard h3{ font-size:1.22rem; margin-bottom:.6rem; }
.icard p{ font-size:.95rem; margin:0; }
.spec-list{ list-style:none; padding:0; margin:1rem 0 0; }
.spec-list li{ display:flex; gap:.55rem; align-items:flex-start; font-size:.92rem; padding:.32rem 0; font-weight:500; color:var(--graphite); }
.spec-list li i{ color:var(--red); margin-top:.18rem; }

/* Timeline (process) */
.timeline{ position:relative; }
.timeline::before{ content:""; position:absolute; left:23px; top:6px; bottom:30px; width:2px; background:var(--line); }
.tl-item{ position:relative; padding:0 0 2.3rem 72px; }
.tl-item:last-child{ padding-bottom:0; }
.tl-num{ position:absolute; left:0; top:-2px; width:48px;height:48px;border-radius:50%;
  background:var(--red); color:#fff; display:flex;align-items:center;justify-content:center;
  font-family:'Sora'; font-weight:700; box-shadow:0 8px 20px rgba(226,35,26,.30); z-index:1; }
.tl-item h3{ font-size:1.2rem; margin-bottom:.35rem; }
.tl-item p{ margin:0; font-size:.96rem; }

/* Feature rows (product pages) */
.feature-media img{ border-radius:var(--r); box-shadow:var(--shadow); width:100%; height:480px; object-fit:cover; }
.feature-item{ display:flex; gap:1.1rem; margin-bottom:1.6rem; }
.feature-item:last-child{ margin-bottom:0; }
.feature-item .fi-ic{ width:54px;height:54px;flex:0 0 auto;border-radius:13px;background:var(--red-soft);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.4rem; }
.feature-item h4{ font-size:1.12rem; margin-bottom:.3rem; }
.feature-item p{ margin:0; font-size:.95rem; }

/* Centered feature quote */
.quote-feature{ max-width:880px; margin:0 auto; text-align:center; font-family:'Sora'; font-style:italic; font-weight:600;
  font-size:clamp(1.3rem,2.6vw,1.95rem); color:var(--ink); line-height:1.45; letter-spacing:-.01em; }
.quote-feature .qm{ color:var(--red); font-size:2.4rem; display:block; line-height:1; margin-bottom:.4rem; }
.quote-feature .by{ display:block; font-style:normal; font-family:'JetBrains Mono'; font-size:.8rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin-top:1.4rem; }

/* Partner cards */
.partner-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:2rem 1.6rem; height:100%;
  text-align:center; transition:transform .35s var(--ease),box-shadow .35s var(--ease); }
.partner-card:hover{ transform:translateY(-7px); box-shadow:var(--shadow); }
.partner-card .pc-name{ font-family:'Sora'; font-weight:800; font-size:1.35rem; color:var(--ink); margin-bottom:.5rem; }
.partner-card .pc-name span{ color:var(--red); }
.partner-card p{ font-size:.92rem; margin:0; }

/* Warranty */
.warranty-box{ background:var(--charcoal); color:rgba(255,255,255,.78); border-radius:var(--r); padding:clamp(2rem,4vw,3.4rem); position:relative; overflow:hidden; }
.warranty-box h2{ color:#fff; }
.warranty-badge{ font-family:'Sora'; font-weight:800; font-size:clamp(3.2rem,9vw,6rem); color:#fff; line-height:1; }
.warranty-badge span{ color:#FF8579; font-size:.42em; }
.warranty-shield{ font-size:clamp(3rem,7vw,5rem); color:var(--red); }
.warranty-box .wb-mark{ position:absolute; right:-30px; bottom:-30px; font-size:14rem; color:rgba(255,255,255,.04); }

/* Contact */
.contact-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-sm); padding:clamp(1.6rem,3vw,2.4rem); }
.contact-form .form-label{ font-weight:600; font-size:.86rem; color:var(--ink); margin-bottom:.4rem; }
.contact-form .form-control,.contact-form .form-select{ border:1px solid var(--line); border-radius:10px; padding:.78rem 1rem; font-size:.95rem; color:var(--ink); }
.contact-form .form-control:focus,.contact-form .form-select:focus{ border-color:var(--red); box-shadow:0 0 0 3px rgba(226,35,26,.12); }
.contact-form .form-control::placeholder{ color:var(--muted); }
.contact-info-item{ display:flex; gap:1rem; margin-bottom:1.6rem; align-items:flex-start; }
.contact-info-item .cii-ic{ width:54px;height:54px;flex:0 0 auto;border-radius:14px;background:var(--red-soft);color:var(--red);
  display:flex;align-items:center;justify-content:center;font-size:1.35rem; }
.contact-info-item h4{ font-size:1rem; margin-bottom:.2rem; }
.contact-info-item a,.contact-info-item p{ margin:0; font-size:.95rem; color:var(--body); }
.contact-info-item a:hover{ color:var(--red); }
.map-frame{ border:0; width:100%; height:430px; border-radius:var(--r); filter:grayscale(.15); }
.form-note{ display:none; background:var(--red-soft); color:var(--red-700); border-radius:10px; padding:.85rem 1rem; font-size:.9rem; font-weight:500; margin-top:1rem; }

.sticky-side{ position:sticky; top:120px; }
@media(max-width:991px){
  .feature-media img{ height:360px; }
  .sticky-side{ position:static; }
}

/* ---- Dropdown polish: brand-colored active + caret indicator ---- */
.navbar .dropdown-item.active,
.navbar .dropdown-item:active,
.navbar .dropdown-item:focus{ background:var(--red-soft); color:var(--red); }
.navbar .dropdown-item.active{ font-weight:600; }
.nav-caret{ font-size:.66rem; margin-left:.34rem; opacity:.75; display:inline-block; vertical-align:middle; transition:transform .25s var(--ease); }
.nav-item.dropdown.show .nav-caret{ transform:rotate(180deg); }
.navbar .nav-link.dropdown-toggle.active .nav-caret{ opacity:1; }
@media(max-width:991px){ .nav-caret{ float:right; margin-top:.35rem; } }

/* ============================================================
   Product galleries (Products dropdown — catalogue pages)
   Reuses existing design tokens. Cards mirror .sol-card styling.
   ============================================================ */
.prod-intro{ max-width:760px; }
.prod-subhead{
  font-family:'Sora'; font-weight:700; font-size:1.12rem; letter-spacing:-.01em;
  color:var(--ink); margin:2.6rem 0 1.2rem; padding-bottom:.7rem;
  border-bottom:1px solid var(--line); display:flex; align-items:center; gap:.65rem;
}
.prod-subhead::before{ content:""; width:22px; height:3px; background:var(--red); border-radius:2px; flex:none; }
.prod-grid + .prod-subhead{ margin-top:2.8rem; }
.prod-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden;
  height:100%; transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.prod-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:#fff; }
.prod-media{ aspect-ratio:4/5; overflow:hidden; background:var(--soft); }
.prod-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.prod-card:hover .prod-media img{ transform:scale(1.06); }
.prod-cap{ padding:.72rem .8rem; font-size:.85rem; font-weight:500; color:var(--graphite); text-align:center; line-height:1.35; }

/* Contact form: honeypot field + success / error message states */
.hp{ position:absolute !important; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.form-note.is-ok{ background:#E8F6F0; color:#0E7A5F; }
.form-note.is-err{ background:var(--red-soft); color:var(--red-700); }
