/* Excel Printing & Packaging – brand layer for the Invena theme.
   Loaded after style.css. Only overrides colour variables / primary-colour rules
   and sizes the logo inside the existing logo containers. */
:root {
  --excel-blue: #61ABE8;        /* sampled from logo (97,171,232) – accents only */
  --excel-blue-btn: #1D78C4;    /* same hue, darker: white text 4.63:1 (AA) */
  --excel-blue-dark: #17609C;   /* hover/darker shade: white text 6.58:1 */
  --color-primary: var(--excel-blue-btn);
}

/* Logo: native aspect ratio (width:auto). Header logo is sized in the header block below. */
.header-main-one-wrapper .thumbnail a img,
.logo_footer img,
.side-bar .logo-1 img.logo {
  height: 70px;
  width: auto;
  max-width: none;
}

/* Keep the theme's dark mobile-menu text and dark card surfaces; blue on hover only */
.mobile-menu nav ul li a.main { color: #20282D; }
.mobile-menu nav ul li a.main:hover { color: var(--excel-blue-btn); }
.single-case-studies-four .inner,
.business-solution-area-left-thumbnail .success-rate-area { background: #20282D; }

/* Primary buttons (incl. Get a Quote) */
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary:hover { color: var(--excel-blue-dark); } */
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary.btn-white:hover, */
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary.btn-white::before { background: var(--excel-blue-btn); } */
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary:focus-visible { outline: 3px solid var(--excel-blue); outline-offset: 2px; } */

/* ===== Hero slider (Index Four) – Excel banners, left-aligned content ===== */
.banner-four-area-main-wrapper .banner-four-bg {
  background-image: url(../images/banner/excel-banner-01.webp);
  background-position: center center;
  position: relative;
  justify-content: flex-start;
}
.banner-four-area-main-wrapper .banner-four-bg.two { background-image: url(../images/banner/excel-banner-02.webp); }
.banner-four-area-main-wrapper .banner-four-bg.three { background-image: url(../images/banner/excel-banner-03.webp); }
/* left-to-right readability gradient (stronger on banner 1, whose left side is busy/light) */
.banner-four-area-main-wrapper .banner-four-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,20,34,.55) 0%, rgba(10,20,34,.25) 38%, rgba(10,20,34,0) 55%);
  pointer-events: none;
}
.banner-four-area-main-wrapper .banner-four-bg:not(.two):not(.three)::before {
  background: linear-gradient(90deg, rgba(10,20,34,.88) 0%, rgba(10,20,34,.72) 30%, rgba(10,20,34,.25) 48%, rgba(10,20,34,0) 60%);
}
.banner-four-area-main-wrapper .banner-four-bg > .container { position: relative; z-index: 1; }

.banner-four-area-main-wrapper .inner-content-wrapper-four-banner {
  max-width: 640px;
  text-align: left;
}
.banner-four-area-main-wrapper .banner-four-bg .inner-content-wrapper-four-banner span.pre {
  justify-content: flex-start;
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.22em;
  color: var(--excel-blue);
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title {
  font-size: 64px;
  font-weight: 800;
  line-height: 1.1;
  text-align: left;
  margin: 18px 0 22px;
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title span.in { -webkit-text-stroke-color: #fff; }
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner p.disc {
  max-width: 520px;
  margin: 0 0 36px;
  text-align: left;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255,255,255,.92);
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper {
  justify-content: flex-start;
  gap: 16px;
}
@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner { max-width: 560px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title { font-size: 50px; margin: 14px 0 18px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner p.disc { margin-bottom: 30px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner p.disc { font-size: 17px; max-width: 480px; }
}
@media only screen and (max-width: 1199px) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner { max-width: 460px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title { font-size: 46px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner p.disc { font-size: 16px; max-width: 440px; margin-bottom: 30px; }
}
/* tablet & mobile: image is narrow – full-width overlay, subjects kept right of centre */
@media only screen and (max-width: 991px) {
  .banner-four-area-main-wrapper .banner-four-bg { background-position: 70% center; }
  .banner-four-area-main-wrapper .banner-four-bg::before,
  .banner-four-area-main-wrapper .banner-four-bg:not(.two):not(.three)::before {
    background: linear-gradient(90deg, rgba(10,20,34,.82) 0%, rgba(10,20,34,.6) 60%, rgba(10,20,34,.35) 100%);
  }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title { font-size: 40px; }
}
@media only screen and (max-width: 575px) {
  .banner-four-area-main-wrapper .banner-four-bg { background-position: 75% center; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .pre { font-size: 12px; letter-spacing: 0.16em; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title { font-size: 34px; margin: 14px 0 16px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner p.disc { font-size: 15px; margin-bottom: 26px; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper { gap: 12px; }
}

/* ===== Header refinement (top bar + main row) – scoped to header.header-one ===== */
/* Top bar: compact light strip, icons + subtle separators */
header.header-one .header-top-area-wrapper {
  background: #EEF3F8;
  border-bottom: 1px solid #E1E8F0;
}
header.header-one .header-top-one-wrapper { min-height: 40px; }
header.header-one .header-top-one-wrapper .right p { font-size: 13px; line-height: 1; display: flex; align-items: center; }
header.header-one .header-top-one-wrapper .right p::before {           /* clock before the hours */
  content: "\f017"; font-family: "Font Awesome 6 Pro"; font-weight: 400;
  margin-right: 8px; font-size: 13px;
}
header.header-one .header-top-one-wrapper .right p a {                 /* separator + WhatsApp icon */
  display: inline-flex; align-items: center; gap: 6px;
  margin-left: 16px; padding-left: 16px; border-left: 1px solid #C9D4E0; line-height: 14px;
}
header.header-one .header-top-one-wrapper .right p a::before {
  content: "\f232"; font-family: "Font Awesome 6 Brands"; font-weight: 400;
  font-size: 15px; color: #25D366 !important;
}
header.header-one .header-top-one-wrapper .left .mail a { padding: 0; line-height: 40px; font-size: 13px; margin-right: 32px; }
header.header-one .header-top-one-wrapper .left .mail a::after { bottom: 11px; }
header.header-one .header-top-one-wrapper .left .mail::after { background: #C9D4E0; right: 16px; }
header.header-one .header-top-one-wrapper .left .mail:last-child a { margin-right: 0; }
header.header-one .header-top-one-wrapper .left .mail:last-child::after { display: none; }

/* Main row: white, tighter, subtle separator */
header.header-one .header-main { background: #fff; border-bottom: 1px solid #E6ECF2; margin-top: 15px; }
header.header-one .header-main-one-wrapper .thumbnail a img { height: 58px; }
header.header-one .nav-area ul li.main-nav { padding: 30px 0; }
header.header-one.header--sticky.sticky .nav-area ul li.main-nav { padding: 22px 0; }
header.header-one .header-main .quote-btn { height: 48px; padding: 0 26px; border-radius: 12px; }
header.header-one .header-main #menu-btn { height: 48px; min-width: 48px; border-radius: 12px; background: #EEF3F8; }
@media only screen and (max-width: 1199px) {
  header.header-one .header-main-one-wrapper { padding: 12px 0; }
}
@media only screen and (max-width: 575px) {
  header.header-one .header-main-one-wrapper .thumbnail a img { height: 50px; }
}

/* ===== About: "Watch Our Story" video button (scoped to .thumbnail-about-right-4) ===== */
.thumbnail-about-right-4 .video-area {
  right: -60px;
  top: 46%;
  z-index: 10;
}
.thumbnail-about-right-4 .video-area > img { display: none; }          /* theme's dark square (kept in markup) */
.thumbnail-about-right-4 .video-area .vedio-icone {
  display: flex;
  align-items: center;
}
.thumbnail-about-right-4 .video-area .vedio-icone .video-play-button {   /* white circle */
  position: relative;
  opacity: 1;
  top: auto; left: auto;
  transform: none;
  box-sizing: border-box;
  width: 84px; height: 84px;
  padding: 0;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(7,133,232, .14), 0 12px 32px rgba(7,133,232, .35);
  z-index: 2;
  transition: box-shadow .3s, transform .3s;
}
.thumbnail-about-right-4 .video-area .vedio-icone .video-play-button::before {  /* theme pulse, as blue glow */
  left: -23px; top: -23px;
  width: 130px; height: 130px;
  border: 1px solid rgba(7,133,232, .45);
  background: rgba(7,133,232, .06);
}
.thumbnail-about-right-4 .video-area .vedio-icone .video-play-button::after {   /* blue rounded rect (YouTube-style) */
  width: 38px; height: 27px;
  border-radius: 8px;
  background: var(--excel-blue-btn);
}
.thumbnail-about-right-4 .video-area .vedio-icone .video-play-button span {     /* white triangle */
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-40%, -50%);
  border-left: 11px solid #fff;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}
.thumbnail-about-right-4 .video-area .vedio-icone::after {                       /* navy label */
  content: "Watch Our Story";
  order: 2;
  margin-left: -14px;
  padding: 12px 18px 12px 28px;
  background: #1C2539;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  border-radius: 0 8px 8px 0;
  box-shadow: 0 8px 24px rgba(28, 37, 57, .25);
  pointer-events: none;
  z-index: 1;
}
.thumbnail-about-right-4 .video-area .vedio-icone .video-play-button:hover {
  box-shadow: 0 0 0 12px rgba(7,133,232, .2), 0 14px 36px rgba(7,133,232, .45);
}
.thumbnail-about-right-4 .video-area .vedio-icone .video-play-button:hover::after { background: var(--excel-blue-dark); }
@media only screen and (min-width: 1600px) {
  .thumbnail-about-right-4 .video-area { right: -165px; }
}
@media only screen and (max-width: 1199px) {
  .thumbnail-about-right-4 .video-area { right: 0; }
}
@media only screen and (max-width: 575px) {
  .thumbnail-about-right-4 .video-area { right: 8px; }
  .thumbnail-about-right-4 .video-area .vedio-icone .video-play-button { width: 64px; height: 64px; box-shadow: 0 0 0 7px rgba(7,133,232,.14), 0 8px 22px rgba(7,133,232,.35); }
  .thumbnail-about-right-4 .video-area .vedio-icone .video-play-button::before { left: -18px; top: -18px; width: 100px; height: 100px; }
  .thumbnail-about-right-4 .video-area .vedio-icone .video-play-button::after { width: 30px; height: 21px; border-radius: 6px; }
  .thumbnail-about-right-4 .video-area .vedio-icone::after { font-size: 13px; padding: 9px 14px 9px 22px; }
}

/* ==========================================================================
   certs-v1: Certifications & Accreditations (replaces Quality & Capability)
   Scoped to .excel-certs only.
   ========================================================================== */
.excel-certs { position: relative; overflow: hidden; }
.excel-certs .container { position: relative; z-index: 1; }
.excel-certs__shapes span { position: absolute; display: block; pointer-events: none;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: rgba(7,133,232,.05); }
.excel-certs__shapes span:nth-child(1) { width: 260px; height: 300px; top: 30px; left: -90px; }
.excel-certs__shapes span:nth-child(2) { width: 120px; height: 138px; bottom: 140px; left: 38%; background: rgba(97,171,232,.08); }
.excel-certs__shapes span:nth-child(3) { width: 340px; height: 392px; top: -60px; right: -120px; background: rgba(28,37,57,.035); }
.excel-certs__shapes span:nth-child(4) { width: 90px; height: 104px; bottom: 40px; right: 6%; background: rgba(7,133,232,.06); }
.excel-certs .title-style-four .title span { white-space: nowrap; }
.excel-certs__lead { position: relative; padding-left: 62px; margin: 24px 0 34px; color: #5D666F; max-width: 520px; }
.excel-certs__lead::before { content: ""; position: absolute; left: 0; top: 12px; width: 42px; height: 2px; background: var(--excel-blue-btn); }
.excel-certs__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.excel-certs__card { background: #fff; border: 1px solid #E4EBF2; border-radius: 8px; padding: 18px 10px 16px; text-align: center;
  box-shadow: 0 8px 24px rgba(28,37,57,.06); transition: transform .3s ease, box-shadow .3s ease; }
.excel-certs__card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(7,133,232,.14); }
.excel-certs__logo { height: 78px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.excel-certs__logo img { max-width: 100%; max-height: 78px; width: auto; height: auto; object-fit: contain; }
.excel-certs__name { font-size: 15px; line-height: 1.3; margin: 0 0 4px; color: var(--excel-ink); }
.excel-certs__sub { display: block; font-size: 13px; line-height: 1.35; color: var(--excel-blue-btn); }
.excel-certs__note { margin: 30px 0 0; color: #5D666F; max-width: 600px; }
.excel-certs__visual { position: relative; width: 100%; max-width: 560px; margin-left: auto; aspect-ratio: 560 / 600; }
.excel-certs__hex-main, .excel-certs__hex-small, .excel-certs__badge { position: absolute;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.excel-certs__hex-main { right: 0; top: 0; width: 86%; aspect-ratio: 0.866; }
.excel-certs__hex-main img, .excel-certs__hex-small img { width: 100%; height: 100%; object-fit: cover; display: block; }
.excel-certs__hex-small { left: 0; bottom: 0; width: 40%; aspect-ratio: 0.866; background: #1C2539; padding: 7px; }
.excel-certs__hex-small img { clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.excel-certs__badge { right: -4px; top: 6%; width: 28%; aspect-ratio: 0.866; background: #1C2539; color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 12px; }
.excel-certs__badge i { font-size: 34px; color: #61ABE8; margin-bottom: 10px; }
.excel-certs__badge span { font-weight: 700; font-size: 15px; line-height: 1.3; color: #fff; }
.excel-certs__badge span::after { content: ""; display: block; width: 30px; height: 2px; background: var(--excel-blue-btn); margin: 8px auto 0; }
@media (max-width: 1399px) {
  .excel-certs__grid { gap: 12px; }
  .excel-certs__name { font-size: 14px; }
  .excel-certs__badge i { font-size: 28px; }
  .excel-certs__badge span { font-size: 13px; }
}
@media (max-width: 1199px) {
  .excel-certs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 991px) {
  .excel-certs__visual { margin: 60px auto 0; }
  .excel-certs__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 767px) {
  .excel-certs__grid { grid-template-columns: repeat(2, 1fr); }
  .excel-certs__lead { padding-left: 52px; }
  .excel-certs__visual { max-width: 400px; margin-top: 44px; }
  .excel-certs__badge { right: 0; padding: 0 8px; }
  .excel-certs__badge i { font-size: 22px; margin-bottom: 6px; }
  .excel-certs__badge span { font-size: 11px; }
  .excel-certs__badge span::after { width: 22px; margin-top: 5px; }
  .excel-certs__shapes span:nth-child(3) { width: 200px; height: 230px; right: -90px; }
}
@media (max-width: 575px) {
  .excel-certs .title-style-four .title span { white-space: normal; }
  .excel-certs__logo { height: 64px; }
  .excel-certs__logo img { max-height: 64px; }
}

/* ==========================================================================
   counters-v1: counters row after Certifications. Scoped to .excel-counters.
   ========================================================================== */
.excel-counters { position: relative; overflow: hidden; }
.excel-counters .container { position: relative; z-index: 1; }
.excel-counters__shapes span { position: absolute; display: block; pointer-events: none;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); background: rgba(97,171,232,.10); }
.excel-counters__shapes span:nth-child(1) { width: 90px; height: 104px; left: 2%; top: 22%; }
.excel-counters__shapes span:nth-child(2) { width: 46px; height: 53px; left: 7%; top: 62%; background: rgba(97,171,232,.07); }
.excel-counters__shapes span:nth-child(3) { width: 80px; height: 92px; right: 3%; top: 12%; }
.excel-counters__shapes span:nth-child(4) { width: 100px; height: 115px; right: 0; top: 50%; background: rgba(97,171,232,.07); }
.excel-counters__row { display: grid; grid-template-columns: repeat(4, 1fr); }
.excel-counters__item { text-align: center; padding: 10px 20px; border-left: 1px solid #E4EBF2; }
.excel-counters__item:first-child { border-left: 0; }
.excel-counters__icon { display: block; width: 188px; height: 120px; object-fit: contain; object-position: center; margin: 0 auto 14px; }   /* counter-icons-v2: landscape artwork (~1.38:1), same height as before */
.excel-counters__num { font-size: 50px; line-height: 1; font-weight: 700; color: var(--excel-blue-btn); margin: 0 0 10px; font-variant-numeric: tabular-nums; }
.excel-counters__label { display: block; font-size: 18px; line-height: 1.35; font-weight: 600; color: var(--excel-ink); }
.excel-counters__nowrap { white-space: nowrap; }
@media (max-width: 1199px) {
  .excel-counters__icon { width: 162px; height: 117px; }
  .excel-counters__num { font-size: 50px; }
  .excel-counters__label { font-size: 16px; }
}
@media (max-width: 991px) {
  .excel-counters__row { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .excel-counters__item:nth-child(odd) { border-left: 0; }
}
@media (max-width: 575px) {
  .excel-counters__row { row-gap: 28px; }
  .excel-counters__item { padding: 4px 8px; }
  .excel-counters__icon { width: 130px; height: 94px; margin-bottom: 10px; }
  .excel-counters__num { font-size: 38px; margin-bottom: 6px; }
  .excel-counters__label { font-size: 14px; }
  .excel-counters__shapes span:nth-child(1), .excel-counters__shapes span:nth-child(3) { width: 60px; height: 69px; }
}

/* ==========================================================================
   faq-v2: FAQ section redesign. Scoped to .excel-faq (theme bg faq/bg.webp kept).
   ========================================================================== */
.excel-faq { position: relative; overflow: hidden; }
.excel-faq .title-style-four .pre { color: #61ABE8; }
.excel-faq .title-style-four .title { margin-top: 14px; }
.excel-faq .title-style-four .title span { -webkit-text-stroke-color: #fff; }
.excel-faq__subtitle { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.6; max-width: 470px; margin: 18px 0 0; }
.excel-faq .accordion.mt--40 { margin-top: 34px !important; }
.excel-faq .faq-main-wrapper-content-inner-four .accordion .accordion-item { margin-bottom: 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.18); border-radius: 6px; overflow: hidden; }
.excel-faq .faq-main-wrapper-content-inner-four .accordion .accordion-item .accordion-button { padding: 18px 26px; font-size: 17px; line-height: 1.4; }
.excel-faq .faq-main-wrapper-content-inner-four .accordion .accordion-item .accordion-collapse .accordion-body { padding: 0 26px 24px 70px; }
.excel-faq__num { color: #61ABE8; font-weight: 700; display: inline-block; min-width: 44px; flex: 0 0 auto; }
.excel-faq .accordion-button[aria-expanded=true] .excel-faq__num { color: var(--excel-blue-btn); }
.excel-faq__visual { position: relative; width: 100%; max-width: 600px; margin-left: auto; aspect-ratio: 600 / 640; }
.excel-faq__hex { position: absolute; left: 12%; top: 3%; width: 80%; aspect-ratio: 0.866; z-index: 2;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.excel-faq__hex img { width: 100%; height: 100%; object-fit: cover; display: block; }
.excel-faq__shape { position: absolute; height: auto; pointer-events: none; }
/* faq-v3: dotted hexagon removed from markup (kept in HTML comment); rule retired:
   .excel-faq__shape--dots { width: 34%; left: -2%; bottom: 0; z-index: 1; opacity: .7; } */
.excel-faq__shape--outline1 { width: 22%; right: -4%; top: 0; z-index: 1; opacity: .8; }
.excel-faq__shape--outline2 { width: 12%; right: 15%; top: -3%; z-index: 1; opacity: .45; }
.excel-faq__shape--double { width: 30%; right: -7%; bottom: 3%; z-index: 1; opacity: .85; } /* faq-v3: behind photo */
.excel-faq__shape--gradient { width: 18%; left: 2%; top: 20%; z-index: 3; }
.excel-faq__shape--solid { width: 12%; right: -3%; top: 40%; z-index: 1; } /* faq-v3: behind photo */
@media (max-width: 991px) {
  .excel-faq__visual { margin: 50px auto 0; max-width: 520px; }
}
@media (max-width: 575px) {
  .excel-faq__subtitle { font-size: 15px; }
  .excel-faq .faq-main-wrapper-content-inner-four .title-style-four { margin-right: 0; }
  .excel-faq .faq-main-wrapper-content-inner-four .accordion .accordion-item .accordion-button { padding: 15px 16px; font-size: 15px; align-items: flex-start; }
  .excel-faq .faq-main-wrapper-content-inner-four .accordion .accordion-item .accordion-collapse .accordion-body { padding: 0 16px 18px 16px; font-size: 15px; }
  .excel-faq__num { min-width: 34px; }
  .excel-faq__visual { max-width: 360px; margin-top: 40px; }
  .excel-faq__shape--outline2 { display: none; }
}

/* ===== header-v2: Invena Home Four header – centred 7-item nav + Excel-blue CTA (scoped to header.header-one) ===== */
header.header-one .header-main-one-wrapper .thumbnail { flex: 0 0 auto; }
header.header-one .header-main-one-wrapper .main-header { flex: 1 1 auto; justify-content: space-between; margin-left: 40px; }
header.header-one .header-main-one-wrapper .nav-area { margin: 0 auto; }
header.header-one .nav-area > ul { gap: 38px; }
header.header-one .nav-area > ul > li.main-nav > a { white-space: nowrap; font-size: 16px; }
header.header-one .header-main .button-area { flex: 0 0 auto; margin-left: auto; }
/* php-v1: desktop dropdowns removed per client, so the chevron spacing rule is retired:
   header.header-one .nav-area > ul > li.main-nav.has-dropdown { margin-right: 22px; } */
header.header-one .nav-area > ul > li.main-nav > a::after { content: none; }   /* php-v1: safety – no caret on plain top links */
/* SUPERSEDED (polish-buttons-v1): header.header-one .header-main .excel-quote-btn { background: var(--excel-blue-btn); border-color: var(--excel-blue-btn); color: #fff; white-space: nowrap; font-weight: 600; } */
/* SUPERSEDED (polish-buttons-v1): header.header-one .header-main .excel-quote-btn:hover, */
/* SUPERSEDED (polish-buttons-v1): header.header-one .header-main .excel-quote-btn:focus-visible { background: var(--excel-blue-dark); border-color: var(--excel-blue-dark); color: #fff; } */
header.header-one .header-main #menu-btn { width: 48px; min-width: 48px; padding: 0; display: inline-flex; align-items: center; justify-content: center; margin-left: 14px; }
@media only screen and (min-width: 1200px) and (max-width: 1439px) {
  header.header-one .header-main-one-wrapper .main-header { margin-left: 24px; }
  header.header-one .nav-area > ul { gap: 20px; }   /* nav-center-v1: was 28px; keeps >=30px clear of the CTA once centred */
  header.header-one .nav-area > ul > li.main-nav > a { font-size: 15px; }
  header.header-one .header-main .quote-btn { padding: 0 18px; }
  header.header-one .header-main-one-wrapper .thumbnail a img { height: 50px; }
}
/* nav-center-v1: on desktop (>=1200px) centre the nav on the container (= viewport centre); logo stays left, CTA + toggle stay right */
@media only screen and (min-width: 1200px) {
  header.header-one .header-main-one-wrapper { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: 24px; }
  header.header-one .header-main-one-wrapper .main-header { display: contents; }   /* nav + buttons become grid cells; .loader-wrapper is position:fixed so it takes no cell */
  header.header-one .header-main-one-wrapper .thumbnail { grid-column: 1; justify-self: start; }
  header.header-one .header-main-one-wrapper .nav-area { grid-column: 2; margin: 0; }
  header.header-one .header-main .button-area { grid-column: 3; justify-self: end; margin-left: 0; }
}
/* ===== /header-v2 ===== */
/* ===== products-cards-v2: premium navy product cards (scoped to #products .single-why-choose-four) =====
   Markup unchanged; images/text/links untouched. Section title + background untouched. */
#products .row.g-5 > [class*="col-"] { display: flex; }
#products .single-why-choose-four {
  display: flex; flex-direction: column; width: 100%; height: 100%;
  border-radius: 12px; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #13243B 0%, #0E1B2E 60%, #0B1626 100%);
  border: 1px solid rgba(97, 171, 232, 0.22);
  box-shadow: 0 18px 40px -18px rgba(8, 20, 38, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
#products .single-why-choose-four::before {            /* subtle blue light from the top */
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit;
  background: radial-gradient(120% 55% at 50% -8%, rgba(97, 171, 232, 0.22) 0%, rgba(97, 171, 232, 0) 60%);
}
#products .single-why-choose-four .thumbnail { border-radius: 0; flex: 0 0 auto; }
#products .single-why-choose-four .thumbnail img {
  display: block; width: 100%; height: auto; aspect-ratio: 615 / 630; object-fit: cover;
  transition: transform .6s ease;
}
/* SUPERSEDED (product-shade-v1): navy bottom overlay
#products .single-why-choose-four .thumbnail::after {  [ soft dark gradient into the content area ]
  border-radius: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(11, 22, 38, 0) 62%, rgba(11, 22, 38, 0.75) 86%, #0E1B2E 100%);
}
*/
#products .single-why-choose-four .inner-content {
  position: relative; left: auto; bottom: auto; transform: none; min-width: 0;   /* in flow, below the product image */
  margin-top: -56px; flex: 1 1 auto;                                              /* tucks into the image's bottom gradient */
  text-align: left; padding: 0 30px 28px; z-index: 5;
  display: flex; flex-direction: column; align-items: flex-start;
}
#products .single-why-choose-four .inner-content .title {
  font-size: 26px; line-height: 1.25; font-weight: 600; color: #fff; margin: 0 0 10px;
}
#products .single-why-choose-four .inner-content p.disc {
  max-width: 300px; margin: 0 0 18px; font-size: 15px; line-height: 1.55; font-weight: 400;
  color: rgba(226, 234, 244, 0.86);
}
#products .single-why-choose-four .inner-content .read-more {
  display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600;
  margin-top: auto;                                                               /* links line up at the card bottom */
  color: #61ABE8; transition: color .25s ease, gap .25s ease;
}
#products .single-why-choose-four .inner-content .read-more i { color: inherit; font-size: 14px; }
#products .single-why-choose-four .inner-content .read-more:hover,
#products .single-why-choose-four .inner-content .read-more:focus-visible { color: #fff; gap: 12px; }
#products .single-why-choose-four .inner-content a:hover .title { color: #61ABE8; }
#products .single-why-choose-four:hover {
  transform: translateY(-6px);
  border-color: rgba(97, 171, 232, 0.5);
  box-shadow: 0 26px 50px -20px rgba(7,133,232, 0.55), 0 0 0 1px rgba(97, 171, 232, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
#products .single-why-choose-four:hover .thumbnail img { transform: scale(1.03); }
@media only screen and (max-width: 1199px) {
  #products .single-why-choose-four .inner-content { padding: 0 24px 24px; }
  #products .single-why-choose-four .inner-content .title { font-size: 23px; }
}
@media only screen and (max-width: 575px) {
  #products .single-why-choose-four .inner-content { padding: 0 22px 22px; }
  #products .single-why-choose-four .inner-content .title { font-size: 22px; }
  #products .single-why-choose-four .inner-content p.disc { font-size: 14.5px; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #products .single-why-choose-four, #products .single-why-choose-four .thumbnail img { transition: none; }
  #products .single-why-choose-four:hover, #products .single-why-choose-four:hover .thumbnail img { transform: none; }
}
/* ===== /products-cards-v2 ===== */

/* insights-v1: RETIRED by insights-v2 (overlay gradient removed)
[ insights-v1: dark bottom gradient so white card text stays legible over the new
   (lighter) insight photos; the theme demo images had this shading baked in. ]
.rts-blog-area .single-blog-area-four a.thumbnail { position: relative; }
.rts-blog-area .single-blog-area-four a.thumbnail::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(10,20,40,0) 25%, rgba(10,20,40,.85) 100%);
}
.rts-blog-area .single-blog-area-four .inner-content { z-index: 1; right: 30px; }
.rts-blog-area .single-blog-area-four .inner-content .tag-area-wrapper { flex-wrap: wrap; row-gap: 6px; column-gap: 20px; }
.rts-blog-area .single-blog-area-four .inner-content .tag-area-wrapper .single p { white-space: nowrap; }
*/

/* insights-v2: premium white article cards, scoped to .excel-insights */
.excel-insights .title-style-four .pre { display:inline-flex; align-items:center; gap:14px; color:var(--excel-blue-btn); }
.excel-insights .title-style-four .pre::before,
.excel-insights .title-style-four .pre::after { content:""; width:40px; height:1px; background:var(--excel-blue-btn); }
.excel-insights .excel-insights-sub { max-width:720px; margin:14px auto 0; color:#5D666F; font-size:17px; line-height:1.65; }
.excel-insights .row.g-4 > [class*="col-"] { display:flex; }
.excel-insights .excel-insight-card { display:flex; flex-direction:column; width:100%; background:#fff; border:1px solid #E3EAF2; border-radius:16px; overflow:hidden; box-shadow:0 6px 24px rgba(28,37,57,.06); transition:transform .35s ease, box-shadow .35s ease; }
.excel-insights .excel-insight-card:hover { transform:translateY(-6px); box-shadow:0 18px 44px rgba(28,37,57,.13); }
.excel-insights .excel-insight-card a.thumbnail { border-radius:16px 16px 0 0; aspect-ratio:16/9.5; }
.excel-insights .excel-insight-card a.thumbnail img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.excel-insights .excel-insight-card:hover a.thumbnail img { transform:scale(1.05); }
.excel-insights .excel-insight-card .inner-content { position:static; display:flex; flex-direction:column; flex:1; padding:22px 26px 26px; }
.excel-insights .excel-insight-card .inner-content * { color:inherit; }
.excel-insights .excel-insight-card .tag-area-wrapper { margin-bottom:14px; }
.excel-insights .excel-insight-badge { background:#EAF3FC; color:var(--excel-blue-btn); border-radius:999px; padding:5px 12px; gap:7px !important; }
.excel-insights .excel-insight-badge i, .excel-insights .excel-insight-badge p { color:var(--excel-blue-btn) !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.4px; line-height:1.4; }
.excel-insights .excel-insight-card .title { color:var(--excel-ink); font-size:20px; font-weight:700; line-height:1.35; margin:0 0 10px; transition:color .3s; }
.excel-insights .excel-insight-card a:hover .title { color:var(--excel-blue-btn); }
.excel-insights .excel-insight-desc { color:#5D666F; font-size:15.5px; line-height:1.65; margin:0 0 22px; }
.excel-insights .excel-insight-cta { margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:14px; background:var(--excel-blue-btn); color:#fff !important; border-radius:999px; padding:6px 6px 6px 24px; font-size:15px; font-weight:600; letter-spacing:.2px; transition:background .3s ease, box-shadow .3s ease; box-shadow:0 6px 16px rgba(7,133,232,.25); }
.excel-insights .excel-insight-cta span { color:#fff; }
.excel-insights .excel-insight-cta i { width:34px; height:34px; border-radius:50%; background:#fff; color:var(--excel-blue-btn) !important; display:inline-flex; align-items:center; justify-content:center; font-size:14px; transition:transform .3s ease; }
/* SUPERSEDED (polish-buttons-v1): .excel-insights .excel-insight-cta:hover { background:var(--excel-blue-dark); } */
/* SUPERSEDED (polish-buttons-v1): .excel-insights .excel-insight-cta:hover i { transform:translateX(4px); color:var(--excel-blue-dark) !important; } */
@media (max-width:767px) { .excel-insights .excel-insight-card .title { font-size:20px; } .excel-insights .excel-insights-sub { font-size:15.5px; } }
@media (prefers-reduced-motion:reduce) { .excel-insights .excel-insight-card, .excel-insights .excel-insight-card a.thumbnail img, .excel-insights .excel-insight-cta, .excel-insights .excel-insight-cta i { transition:none; } .excel-insights .excel-insight-card:hover, .excel-insights .excel-insight-card:hover a.thumbnail img, .excel-insights .excel-insight-cta:hover i { transform:none; } }

/* footer-v2: redesigned light-blue footer, scoped to .excel-footer */
.excel-footer { position: relative; font-family: inherit; }
.excel-footer-main { position: relative; overflow: hidden; padding: 90px 0 calc(min(34vw, 350px) * .412 + 20px);
  background: url(../images/footer/footer-world-dots.svg) no-repeat right 4% top 20px / 560px auto,
              url(../images/footer/footer-waves.svg) no-repeat center bottom / 100% 70%,
              linear-gradient(180deg, #F2F8FE 0%, #E4F0FB 100%); }
.excel-footer .container { position: relative; z-index: 2; }
.excel-footer-grid { display: grid; grid-template-columns: 1.35fr .9fr 1.15fr 1.3fr 1.3fr; gap: 40px; }
.excel-footer-logo img { width: 110px; height: auto; }
.excel-footer-tagline { display: block; margin-top: 4px; color: var(--excel-ink); font-size: 19px; font-weight: 500; }
.excel-footer-disc { margin: 16px 0 24px; color: #4A5565; font-size: 15px; line-height: 1.7; }
.excel-footer-social { display: flex; gap: 10px; padding: 0; margin: 0; list-style: none; }
.excel-footer-social li { margin: 0; }
.excel-footer-social a { width: 40px; height: 40px; border-radius: 8px; background: #fff; color: var(--excel-ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(28,37,57,.06); transition: background .3s, color .3s; }
.excel-footer-social a:hover { background: var(--excel-blue-btn); color: #fff; }
.excel-footer-title { color: var(--excel-ink); font-size: 19px; font-weight: 700; margin: 8px 0 30px; position: relative; padding-bottom: 12px; }
.excel-footer-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 30px; height: 2px; background: var(--excel-blue-btn); }
.excel-footer-links { list-style: none; padding: 0; margin: 0; }
.excel-footer-links li { margin: 0 0 12px; }
.excel-footer-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #2C3A4F; font-size: 15px; transition: color .3s; }
.excel-footer-links a i { font-size: 11px; color: #4A5565; transition: transform .3s; }
.excel-footer-links a:hover { color: var(--excel-blue-btn); }
.excel-footer-links a:hover i { transform: translateX(3px); color: var(--excel-blue-btn); }
.excel-footer-contact { list-style: none; padding: 0; margin: 0; }
.excel-footer-contact li { display: flex; gap: 16px; margin: 0 0 22px; align-items: flex-start; }
.excel-footer-contact .ic { flex: 0 0 42px; height: 42px; border-radius: 50%; background: #fff; color: var(--excel-blue-btn); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(28,37,57,.08); }
.excel-footer-contact span { display: block; color: #4A5565; font-size: 15px; }
.excel-footer-contact strong, .excel-footer-contact strong a { color: var(--excel-ink); font-weight: 700; font-size: 15px; }
.excel-footer-contact strong a:hover { color: var(--excel-blue-btn); }
.excel-footer-updates p { color: #4A5565; font-size: 15px; line-height: 1.65; margin: 0 0 20px; }
.excel-footer-form { display: flex; background: #fff; border: 1px solid #DCE6F0; border-radius: 6px; overflow: hidden; margin-bottom: 10px; }
.excel-footer-form input { flex: 1; min-width: 0; border: 0; height: 50px; padding: 0 14px; font-size: 14px; background: transparent; }
.excel-footer-form button { flex: 0 0 52px; border: 0; background: var(--excel-blue-btn); color: #fff; transition: background .3s; }
.excel-footer-form button:hover { background: var(--excel-blue-dark); }
.excel-footer .excel-footer-note { font-size: 14px; margin: 0; }
.excel-footer-note span { color: var(--excel-blue-btn); font-weight: 600; }
.excel-footer-pack { position: absolute; right: 2%; bottom: 0; width: 34%; max-width: 500px; height: auto; z-index: 1; pointer-events: none; }
.excel-footer-bar { background: linear-gradient(90deg, #0E2A5A 0%, #123A78 60%, #0E2A5A 100%); }
.excel-footer-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; }
.excel-footer-bar p { margin: 0; color: #fff; font-size: 15px; }
.excel-footer-bar-right { display: flex; align-items: center; gap: 28px; }
.excel-footer-legal { display: flex; list-style: none; padding: 0; margin: 0; }
.excel-footer-legal li { margin: 0; }
.excel-footer-legal li + li::before { content: "|"; color: rgba(255,255,255,.5); margin: 0 14px; }
.excel-footer-legal a { color: #fff; font-size: 15px; }
.excel-footer-legal a:hover { color: #9CC8F0; }
.excel-footer-top { width: 50px; height: 50px; border-radius: 50%; border: 2px solid #fff; color: #fff; display: flex; align-items: center; justify-content: center; transition: background .3s, color .3s; }
.excel-footer-top:hover { background: #fff; color: #123A78; }
.progress-wrap.excel-footer-hide { opacity: 0 !important; visibility: hidden !important; }
@media (max-width: 1399px) { .excel-footer-grid { gap: 28px; } .excel-footer-pack { width: 30%; } }
@media (max-width: 1199px) { .excel-footer-grid { grid-template-columns: repeat(3, 1fr); row-gap: 44px; } .excel-footer-main { padding-bottom: 0; }
  .excel-footer-pack { position: relative; display: block; right: auto; width: 70%; max-width: 560px; margin: 30px 0 0 auto; } }
@media (max-width: 991px) { .excel-footer-bar-inner { flex-direction: column; text-align: center; } .excel-footer-bar-right { gap: 20px; } .excel-footer-legal a { white-space: nowrap; } }
@media (max-width: 767px) { .excel-footer-grid { grid-template-columns: 1fr 1fr; } .excel-footer-brand { grid-column: 1 / -1; }
  .excel-footer-bar-right { flex-direction: column; gap: 14px; } }
@media (max-width: 575px) { .excel-footer-grid { grid-template-columns: 1fr; } .excel-footer-main { padding-top: 60px; background-size: 320px auto, 100% 50%, auto; }
  .excel-footer-pack { width: 92%; margin: 20px auto 0; } .excel-footer-legal li + li::before { margin: 0 8px; } }

/* responsive-v1: hero height tied to the viewport on desktop/laptop.
   Root cause: theme sets .banner-four-bg { height: 824px } (fixed), so on short laptop
   viewports (e.g. 1366x~650 in Chrome on Windows) the CTAs/dots fell below the fold.
   Now: viewport height minus the 2-row header (~128px), clamped 480-824px. Fonts unchanged. */
@media only screen and (min-width: 992px) {
  .banner-four-area-main-wrapper .banner-four-bg {
    height: clamp(480px, calc(100vh - 128px), 824px);
    height: clamp(480px, calc(100svh - 128px), 824px);
    background-size: cover;
  }
}

/* insights-v4: descriptions hidden per client; balanced badge -> title -> CTA spacing,
   CTA pinned to card bottom so buttons align across a row. */
.excel-insights .excel-insight-card .inner-content { padding: 22px 26px 26px; }
.excel-insights .excel-insight-card .title { margin: 0 0 24px; }
.excel-insights .excel-insight-cta { margin-top: auto; }

/* contact-fit-v1: Request a Quote + map section fits laptop viewports.
   Root causes: (1) theme stacks Name/Email at 1200-1599px with width:100% inside a wrapping
   flex row, so the 20px flex gap stacks on top of the 20px field margin (odd 40px gap);
   (2) fixed 83px inner padding + 160px textarea make the form ~860px tall; (3) map iframe is
   a fixed 778px inline element, leaving a gap below it. Fonts/colours unchanged. */
@media only screen and (min-width: 992px) {
  /* capabilities-v1: map restored, original contact-fit-v1 sizing rule back */
  #contact .row.g-0 > .col-lg-5 iframe { display: block; width: 100%; height: 100%; min-height: 420px; }
  #contact .appoinment-area-four-wrapper { height: 100%; }
}
@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  /* Name + Email side by side, as the theme already shows at >=1600px */
  #contact .appoinment-area-four-wrapper form .input-group { flex-wrap: nowrap; }
  #contact .appoinment-area-four-wrapper form .input-group .single-input { width: 50%; }
}
@media only screen and (min-width: 992px) and (max-height: 960px) {
  /* vertical budget scales with viewport height; reaches theme values on tall screens */
  #contact .appoinment-area-four-wrapper .inner { padding-top: clamp(28px, calc((100vh - 512px) * .25), 83px); padding-bottom: clamp(28px, calc((100vh - 512px) * .25), 83px); }
  #contact .appoinment-area-four-wrapper form textarea { height: clamp(84px, calc((100vh - 512px) * .5), 160px); margin-bottom: clamp(14px, 2.5vh, 25px); }
  #contact .appoinment-area-four-wrapper form .single-input { margin-bottom: clamp(12px, 2vh, 20px); }
  #contact .appoinment-area-four-wrapper .title-style-four { margin-bottom: clamp(16px, 3vh, 40px); }
}

/* footer-v3: Get Updates column hidden; rebalance remaining 4 footer columns (brand, Quick Links,
   Products, Contact) with even gutters so nothing overlaps the bottom-right packaging image. */
.excel-footer-grid { grid-template-columns: 1.4fr 1fr 1.1fr 1.3fr; gap: 48px; }
@media (max-width: 1399px) { .excel-footer-grid { gap: 36px; } }
@media (min-width: 992px) and (max-width: 1199px) { .excel-footer-grid { grid-template-columns: 1.3fr 1fr 1.1fr 1.3fr; gap: 28px; } }
@media (min-width: 576px) and (max-width: 991px) { .excel-footer-grid { grid-template-columns: 1fr 1fr; row-gap: 40px; } .excel-footer-brand { grid-column: auto; } }
@media (max-width: 575px) { .excel-footer-grid { grid-template-columns: 1fr; } }

/* footer-weight-v1: stronger, more legible footer text (per client). Weights/colours only; sizes and layout unchanged. */
.excel-footer-title { font-weight: 800; color: var(--excel-ink); letter-spacing: .1px; }
.excel-footer-title::after { width: 36px; height: 3px; border-radius: 2px; }
.excel-footer-links a { font-weight: 600; color: var(--excel-ink); }
.excel-footer-links a i { color: var(--excel-blue-btn); font-weight: 600; }
.excel-footer-links a:hover { color: var(--excel-blue-btn); }
.excel-footer-disc { font-weight: 500; color: #3A4656; }
.excel-footer-contact span { font-weight: 500; }
.excel-footer-contact strong, .excel-footer-contact strong a { font-weight: 800; color: var(--excel-ink); }
.excel-footer-contact strong a:hover { color: var(--excel-blue-btn); }

/* footer-icons-v1: chevrons sit just before each link label instead of floating at the column edge (per client). Markup unchanged. */
.excel-footer-links a { justify-content: flex-start; gap: 10px; }
.excel-footer-links a i { order: -1; flex: 0 0 auto; width: 10px; font-size: 11px; line-height: 1; }

/* HIDDEN (capabilities-v1, per client): map restored in #contact; capabilities moved to the full-width .excel-capabilities section
[ contact-caps-v1: #contact left column - map hidden, replaced by "Our Capabilities" panel
   (heading reuses .title-style-four; six icon+title cards in a 3x2 grid). Light gradient + dot
   pattern + SVG waves (assets/images/contact/capabilities-wave-bg.svg). Form markup/behaviour unchanged. ]
#contact .excel-caps-col { position: relative; overflow: hidden;
  background:
    url("../images/contact/capabilities-wave-bg.svg") center bottom / 100% 100% no-repeat,
    radial-gradient(rgba(7,133,232,.16) 1.2px, transparent 1.6px) 0 0 / 16px 16px,
    linear-gradient(160deg, #ffffff 0%, #f1f7fd 45%, #dcebf9 100%);
  background-blend-mode: normal; }
#contact .excel-caps-col::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  [ fade the dot pattern so it only shows softly at top-left and bottom-right ]
  background: radial-gradient(ellipse 60% 50% at 75% 35%, rgba(246,250,254,.92), rgba(246,250,254,0) 70%),
              radial-gradient(ellipse 50% 40% at 20% 85%, rgba(236,244,252,.85), rgba(236,244,252,0) 70%); }
#contact .excel-caps { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; justify-content: center;
  padding: clamp(28px, 5vh, 64px) clamp(24px, 4vw, 64px); }
#contact .excel-caps .title-style-four { margin-bottom: clamp(22px, 4vh, 40px); }
#contact .excel-caps .title-style-four .pre { color: var(--excel-blue-btn); }
#contact .excel-caps .title-style-four .title { color: var(--excel-ink); text-transform: none; font-size: clamp(32px, 3vw, 48px); line-height: 1.15; }
#contact .excel-caps .title-style-four .title span { color: var(--excel-blue-btn); -webkit-text-stroke: 0; -webkit-text-fill-color: var(--excel-blue-btn); font-weight: inherit; letter-spacing: normal; font-family: inherit; }
#contact .excel-caps .title-style-four .title br { display: inline; }
#contact .excel-caps-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.2vw, 18px); grid-auto-rows: 1fr; }
#contact .excel-caps-card { margin: 0; background: #fff; border: 1px solid rgba(7,133,232,.12); border-radius: 14px;
  box-shadow: 0 10px 28px -12px rgba(14,35,65,.16); padding: clamp(18px, 2.6vh, 28px) 14px; min-height: clamp(104px, 16vh, 150px);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 14px;
  transition: transform .3s ease, box-shadow .3s ease; }
#contact .excel-caps-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px -14px rgba(7,133,232,.35); }
#contact .excel-caps-ic { width: 54px; height: 54px; border-radius: 12px; background: #E8F2FC; color: var(--excel-blue-btn);
  display: inline-flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
#contact .excel-caps-title { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 700; color: var(--excel-ink); }
@media only screen and (min-width: 1200px) {
  #contact > .container-full > .row.g-0 > .excel-caps-col { flex: 0 0 auto; width: 55%; }
  #contact > .container-full > .row.g-0 > .col-lg-7 { flex: 0 0 auto; width: 45%; }
  #contact .appoinment-area-four-wrapper .inner { padding-left: clamp(40px, 4.5vw, 96px); padding-right: clamp(40px, 4.5vw, 96px); }
  #contact .appoinment-area-four-wrapper form { max-width: 100%; }
}
@media only screen and (max-width: 991px) {
  #contact .excel-caps { padding: 56px 24px; }
}
@media only screen and (max-width: 575px) {
  #contact .excel-caps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #contact .excel-caps-title { font-size: 15px; }
}
END HIDDEN (capabilities-v1) */

/* certs-v2: Certifications section redesign (reference: certifications-reference.png).
   Lead/note paragraphs hidden in markup. 4 existing cards -> spacious 2x2 grid, logo left +
   name/sub right with a short blue accent line. Logos reused as-is (object-fit: contain, aspect kept).
   Overrides certs-v1 grid/card/logo rules only; visual (hex image + badge) untouched. */
.excel-certs .title-style-four { margin-bottom: 40px; }
.excel-certs .title-style-four .pre { display: inline-flex; align-items: center; gap: 14px; }
.excel-certs .title-style-four .pre::after { content: ""; width: 28px; height: 2px; background: var(--excel-blue-btn); flex-shrink: 0; }
.excel-certs .excel-certs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.excel-certs .excel-certs__card { display: grid; grid-template-columns: 118px minmax(0, 1fr); grid-template-rows: 1fr auto 1fr;
  column-gap: 20px; align-items: center; text-align: left; padding: 24px 20px; min-height: 138px;
  border: 1px solid #E4EBF2; border-radius: 14px; box-shadow: 0 10px 30px -14px rgba(14,35,65,.18); }
.excel-certs .excel-certs__logo { grid-column: 1; grid-row: 1 / 4; height: 88px; margin: 0; }
.excel-certs .excel-certs__logo img { max-width: 132px; max-height: 100px; width: auto; height: auto; object-fit: contain; }
.excel-certs .excel-certs__name { grid-column: 2; grid-row: 1; align-self: end; font-size: 16px; margin: 0 0 6px; }
.excel-certs .excel-certs__sub { grid-column: 2; grid-row: 2; color: #5D666F; font-size: 13.5px; }
.excel-certs .excel-certs__sub::after { content: ""; display: block; width: 26px; height: 2px; background: var(--excel-blue-btn); margin-top: 12px; }
@media (min-width: 1200px) {
  .excel-certs > .container > .row > .col-lg-6:first-child { width: 54%; }
  .excel-certs > .container > .row > .col-lg-6:last-child { width: 46%; }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .excel-certs .excel-certs__grid { gap: 18px; }
  .excel-certs .excel-certs__card { grid-template-columns: 100px minmax(0, 1fr); padding: 20px 16px; column-gap: 16px; }
  .excel-certs .excel-certs__logo img { max-width: 100px; max-height: 80px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .excel-certs .excel-certs__grid { gap: 14px; }
  .excel-certs .excel-certs__card { grid-template-columns: 76px minmax(0, 1fr); padding: 16px 12px; column-gap: 12px; min-height: 116px; }
  .excel-certs .excel-certs__logo { height: 66px; }
  .excel-certs .excel-certs__logo img { max-width: 76px; max-height: 66px; }
  .excel-certs .excel-certs__name { font-size: 14px; }
}
@media (max-width: 991px) { .excel-certs .excel-certs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) {
  .excel-certs .excel-certs__grid { grid-template-columns: 1fr; gap: 14px; }
  .excel-certs .excel-certs__card { grid-template-columns: 96px minmax(0, 1fr); min-height: 118px; padding: 18px 16px; }
  .excel-certs .excel-certs__logo { height: 76px; }
  .excel-certs .excel-certs__logo img { max-width: 96px; max-height: 76px; }
}

/* HIDDEN (capabilities-v1, per client): map restored in #contact; capabilities moved to the full-width .excel-capabilities section
[ ===== caps-lead-v1: supporting line under "Facilities & Expertise" (client copy) ===== ]
#contact .excel-caps .title-style-four .excel-caps-lead { margin: 16px 0 0; max-width: 540px; font-size: 17px; line-height: 1.65; font-weight: 500; color: #3A4A63; }
@media (max-width: 1599px) { #contact .excel-caps .title-style-four .excel-caps-lead { font-size: 16px; margin-top: 12px; max-width: 500px; } }
@media (max-width: 1399px) and (max-height: 820px) { #contact .excel-caps .title-style-four .excel-caps-lead { line-height: 1.55; } }
@media (max-width: 575px) { #contact .excel-caps .title-style-four .excel-caps-lead { font-size: 15px; max-width: none; } }
@media (min-width: 992px) and (max-height: 860px) {
  [ keep the whole #contact section within one laptop screen now that the lead line is added ]
  #contact .excel-caps { padding-top: 24px; padding-bottom: 24px; }
  #contact .excel-caps .title-style-four { margin-bottom: 20px; }
  #contact .excel-caps .title-style-four .title { font-size: clamp(30px, 2.6vw, 40px); }
  #contact .excel-caps .title-style-four .excel-caps-lead { margin-top: 10px; line-height: 1.5; }
  #contact .excel-caps-card { padding: 14px 12px; min-height: 112px; gap: 10px; }
  #contact .excel-caps-ic { width: 46px; height: 46px; font-size: 21px; }
}
[ ===== end caps-lead-v1 ===== ]
END HIDDEN (capabilities-v1) */

/* HIDDEN (capabilities-v1, per client): map restored in #contact; capabilities moved to the full-width .excel-capabilities section
[ ===== caps-align-v1: top-align "Our Capabilities" with "Request a Quote" (same top padding as the form panel) ===== ]
@media (min-width: 992px) {
  #contact .excel-caps { justify-content: flex-start; padding-top: 83px; }
}
@media (min-width: 992px) and (max-height: 960px) {
  #contact .excel-caps { padding-top: clamp(28px, calc((100vh - 512px) * .25), 83px); }
}
[ ===== end caps-align-v1 ===== ]
END HIDDEN (capabilities-v1) */

/* mobile-fix-v1: (a) About hexagon composition (.thumbnail-about-right-4) - theme keeps desktop
   absolute offsets (small hex left:-140px / left:0, fixed 219px) on small screens, so at <=991px the
   small hex lands off-screen (768) or on top of the large hex (390). Re-proportion at <=991px:
   large hex 72% right-aligned, small hex 42% bottom-left with reserved space below. Desktop unchanged.
   (b) Gallery strip (.gallery-area-main-wrapper-4) is a 5-item no-wrap flex row -> 74px thumbs at 390.
   Grid at <=991px: 3+2 on tablet, 2+2+1 on mobile, object-fit cover. Lightbox markup unchanged. */
@media only screen and (max-width: 991px) {
  .thumbnail-about-right-4 { max-width: 520px; margin: 40px auto 0; padding-bottom: 26%; }
  .thumbnail-about-right-4 .large-iamge { width: 72%; max-width: none; margin-left: auto; }
  .thumbnail-about-right-4 .large-iamge img { width: 100%; }
  .thumbnail-about-right-4 .small-image { left: 0; bottom: 0; width: 42%; max-width: none; }
  .thumbnail-about-right-4 .small-image img { width: 100%; }
  .thumbnail-about-right-4 .poligon-shape { left: -1.6%; bottom: -2.4%; width: 45.2%; max-width: none; }
  .thumbnail-about-right-4 .poligon-shape img { width: 100%; }
  .thumbnail-about-right-4 .video-area { right: 4%; top: 34%; }

  .gallery-area-main-wrapper-4 { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
  .gallery-area-main-wrapper-4 .single-gallery { grid-column: span 2; }
  .gallery-area-main-wrapper-4 .single-gallery:nth-child(n+4) { grid-column: span 3; }
  .gallery-area-main-wrapper-4 .single-gallery .thumbnail { display: block; }
  .gallery-area-main-wrapper-4 .single-gallery .thumbnail img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
  .gallery-area-main-wrapper-4 .single-gallery:nth-child(n+4) .thumbnail img { aspect-ratio: 3 / 2; }
}
@media only screen and (max-width: 575px) {
  .gallery-area-main-wrapper-4 { grid-template-columns: repeat(2, 1fr); }
  .gallery-area-main-wrapper-4 .single-gallery, .gallery-area-main-wrapper-4 .single-gallery:nth-child(n+4) { grid-column: span 1; }
  .gallery-area-main-wrapper-4 .single-gallery:nth-child(n+4) .thumbnail img { aspect-ratio: 1 / 1; }
  .gallery-area-main-wrapper-4 .single-gallery:nth-child(5) { grid-column: 1 / -1; }
  .gallery-area-main-wrapper-4 .single-gallery:nth-child(5) .thumbnail img { aspect-ratio: 2 / 1; }
}

/* mobile-fix-v2: About hexagons on tablet/mobile - tighten spacing and move "Watch Our Story" off faces.
   Gap sources (<=991px): 25px last progress margin + 40px top margin from mobile-fix-v1 above;
   #about padding-bottom (60-80px) + #products margin-top 60px below. Desktop unchanged. */
@media only screen and (max-width: 991px) {
  .thumbnail-about-right-4 { margin-top: 10px; margin-bottom: -24px; }
  #about.rts-about-area { padding-bottom: 0; }
  /* play button straddles the large hexagon's left edge, below the faces */
  .thumbnail-about-right-4 .video-area { right: auto; left: 22%; top: 48%; }
}

/* footer-phone-v1: contact column now has 4 rows (Email, Phone, WhatsApp, Business Hours). At >=1400px the
   packaging image (34vw, max 640px, ratio .412) is taller than the reserved bottom padding, so reserve its
   full height there to keep the contact rows clear of it. Below 1400px the existing padding already fits. */
@media (min-width: 1400px) { .excel-footer-main { padding-bottom: calc(min(34vw, 640px) * .412); } }

/* ==========================================================================
   final-review-v1: counters rebalanced to 3 columns at every breakpoint
   (Working Days counter hidden) + neutral "Multi-Sector" industries value.
   ========================================================================== */
.excel-counters__row { grid-template-columns: repeat(3, 1fr); }
.excel-counters__num--word { font-size: 34px; line-height: 50px; letter-spacing: -.01em; }
@media (max-width: 991px) {
  .excel-counters__row { grid-template-columns: repeat(3, 1fr); row-gap: 0; }
  .excel-counters__item:nth-child(odd) { border-left: 1px solid #E4EBF2; }
  .excel-counters__item:first-child { border-left: 0; }
  .excel-counters__icon { width: 140px; height: 100px; }
  .excel-counters__num--word { font-size: 28px; }
}
@media (max-width: 575px) {
  .excel-counters__item { padding: 4px 6px; }
  .excel-counters__icon { width: 96px; height: 70px; }
  .excel-counters__num { font-size: 30px; }
  .excel-counters__num--word { font-size: 16px; line-height: 30px; }
  .excel-counters__label { font-size: 13px; }
}

/* final-review-v1: product-card "Get a Quote" link next to Explore More */
.single-why-choose-four .excel-quote-link { margin-left: 22px; }

/* HIDDEN (quote-premium-v1, per client): final-review-v1 modal styles, replaced by the quote-premium-v1 block at the end of this file.
[ ==========================================================================
   final-review-v1: Get a Quote modal. Scoped to .excel-quote.
   White dialog, var(--excel-blue-btn) accents; two columns on desktop, stacked on mobile.
   ========================================================================== ]
html.excel-quote-open, html.excel-quote-open body { overflow: hidden !important; }
.excel-quote { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.excel-quote[hidden] { display: none; }
.excel-quote__backdrop { position: absolute; inset: 0; background: rgba(12, 22, 40, .55); backdrop-filter: blur(3px); opacity: 0; transition: opacity .25s ease; }
.excel-quote__dialog { position: relative; width: 100%; max-width: 1180px; max-height: 90vh; max-height: 90dvh; background: #fff; border-radius: 16px; box-shadow: 0 30px 80px rgba(12,22,40,.35); display: flex; flex-direction: column; overflow: hidden; outline: 0; transform: translateY(16px); opacity: 0; transition: transform .25s ease, opacity .25s ease; font-family: inherit; color: var(--excel-ink); }
.excel-quote.is-open .excel-quote__backdrop { opacity: 1; }
.excel-quote.is-open .excel-quote__dialog { transform: none; opacity: 1; }
.excel-quote__form { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; margin: 0; }
.excel-quote__head { display: flex; align-items: center; gap: 24px; padding: 22px 28px; border-bottom: 1px solid #E4EBF2; flex: 0 0 auto; }
.excel-quote__heading { flex: 1 1 0; min-width: 0; }
.excel-quote__title { font-size: 30px; line-height: 1.15; margin: 0 0 4px; color: var(--excel-ink); }
.excel-quote__sub { margin: 0; font-size: 15px; color: #5D666F; }
.excel-quote__steps { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.excel-quote__step { display: flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; font-size: 14px; color: #5D666F; white-space: nowrap; margin: 0; }
.excel-quote__step + .excel-quote__step::before { content: "\2192"; color: #A9B4C0; margin-right: 6px; }
.excel-quote__step-n { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #EEF2F6; color: #5D666F; font-weight: 600; font-size: 13px; }
.excel-quote__step.is-active { background: #EAF3FC; color: var(--excel-blue-btn); font-weight: 600; }
.excel-quote__step.is-active .excel-quote__step-n, .excel-quote__step.is-done .excel-quote__step-n { background: var(--excel-blue-btn); color: #fff; }
.excel-quote__close { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #E4EBF2; background: #fff; color: var(--excel-ink); font-size: 18px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s; }
.excel-quote__close:hover { background: #EAF3FC; color: var(--excel-blue-btn); }
.excel-quote__body { display: grid; grid-template-columns: 1fr 1fr; min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.excel-quote__col { padding: 22px 28px; min-width: 0; }
.excel-quote__col--right { border-left: 1px solid #E4EBF2; background: #FBFCFE; }
.excel-quote__products { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.excel-quote__label, .excel-quote__products legend { font-size: 15px; font-weight: 600; color: var(--excel-ink); margin-bottom: 10px; padding: 0; float: none; width: auto; }
.excel-quote .req { color: #D93025; }
.excel-quote__product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.excel-quote__product { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 10px 8px 12px; border: 1.5px solid #E4EBF2; border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .2s, box-shadow .2s; text-align: center; margin: 0; }
.excel-quote__product:hover { border-color: #9CC4E8; }
.excel-quote__product input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.excel-quote__product-img { width: 100%; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #F3F7FB; display: flex; align-items: center; justify-content: center; }
.excel-quote__product-img img { width: 100%; height: 100%; object-fit: cover; }
.excel-quote__product-img i { font-size: 34px; color: var(--excel-blue-btn); }
.excel-quote__product-name { font-size: 13px; font-weight: 600; line-height: 1.25; color: var(--excel-ink); }
.excel-quote__tick { position: absolute; top: -8px; right: -8px; width: 24px; height: 24px; border-radius: 50%; background: var(--excel-blue-btn); color: #fff; font-size: 11px; display: none; align-items: center; justify-content: center; box-shadow: 0 0 0 3px #fff; }
.excel-quote__product:has(input:checked) { border-color: var(--excel-blue-btn); box-shadow: 0 0 0 3px rgba(7,133,232,.15); }
.excel-quote__product:has(input:checked) .excel-quote__tick { display: inline-flex; }
.excel-quote__product:has(input:focus-visible) { outline: 2px dashed #6B7682; outline-offset: 3px; }   [ final-review-v1b: keyboard focus ring is grey/dashed so it never looks like the blue "selected" state ]
.excel-quote__dialog:focus { outline: 0; }
.excel-quote__products.has-error .excel-quote__product { border-color: #E8A39D; }
.excel-quote__panel { border: 1px solid #E4EBF2; border-radius: 12px; background: #fff; overflow: hidden; }
.excel-quote__panel-head { display: flex; gap: 12px; padding: 14px 18px; background: #F3F7FB; border-bottom: 1px solid #E4EBF2; }
.excel-quote__panel-n { font-size: 12px; font-weight: 600; color: var(--excel-blue-btn); padding-top: 4px; }
.excel-quote__panel-head h3 { font-size: 17px; margin: 0 0 2px; color: var(--excel-ink); }
.excel-quote__panel-head p { font-size: 13px; margin: 0; color: #5D666F; }
.excel-quote__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; padding: 18px; }
.excel-quote__spec .excel-quote__grid { padding: 4px 18px 18px; }
.excel-quote__field { display: flex; flex-direction: column; min-width: 0; margin: 0; border: 0; padding: 0; }
.excel-quote__field--full { grid-column: 1 / -1; }
.excel-quote__field label, .excel-quote__flabel, .excel-quote__field legend { font-size: 14px; font-weight: 600; margin: 0 0 6px; color: var(--excel-ink); padding: 0; float: none; width: auto; }
.excel-quote input[type="text"], .excel-quote input[type="email"], .excel-quote input[type="tel"], .excel-quote select, .excel-quote textarea {
  width: 100%; height: 44px; border: 1px solid #D6DEE7; border-radius: 8px; background: #fff; padding: 0 12px; font-size: 14px; color: var(--excel-ink); box-shadow: none; margin: 0; transition: border-color .2s, box-shadow .2s; }
.excel-quote textarea { height: auto; min-height: 96px; padding: 10px 12px; resize: vertical; }
.excel-quote select { appearance: auto; -webkit-appearance: menulist; cursor: pointer; }
.excel-quote input:focus, .excel-quote select:focus, .excel-quote textarea:focus { border-color: var(--excel-blue-btn); box-shadow: 0 0 0 3px rgba(7,133,232,.15); outline: 0; }
.excel-quote [aria-invalid="true"] { border-color: #D93025 !important; }
.excel-quote__phone { display: flex; gap: 8px; }
.excel-quote__phone input#q-dial { flex: 0 0 72px; width: 72px; background: #F3F7FB; text-align: center; padding: 0 6px; }
.excel-quote__size { display: flex; align-items: center; gap: 6px; }
.excel-quote__size input { flex: 1 1 0; min-width: 0; }
.excel-quote__size select { flex: 0 0 68px; width: 68px; padding: 0 6px; }
.excel-quote__hint { font-size: 12px; color: #6B7682; margin: 6px 0 0; line-height: 1.4; }
.excel-quote__error { font-size: 12px; color: #D93025; margin: 4px 0 0; min-height: 0; line-height: 1.35; }
.excel-quote__error:empty { display: none; }
.excel-quote__other { padding-top: 10px; }
.excel-quote__products .excel-quote__other { padding-top: 12px; }
.excel-quote__other[hidden] { display: none; }
.excel-quote__spec[hidden], .excel-quote__spec-empty[hidden] { display: none; }
.excel-quote__spec-title { margin: 16px 18px 6px; padding: 10px 14px; background: #EAF3FC; border-left: 3px solid var(--excel-blue-btn); border-radius: 4px; font-weight: 600; font-size: 15px; color: var(--excel-ink); }
.excel-quote__spec-desc { margin: 0 18px 8px; font-size: 13px; color: #5D666F; }
.excel-quote__spec-empty { margin: 0; padding: 28px 18px; text-align: center; color: #6B7682; font-size: 14px; }
.excel-quote__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.excel-quote__chip { display: inline-flex !important; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid #D6DEE7; border-radius: 999px; font-size: 13px !important; font-weight: 500 !important; cursor: pointer; margin: 0 !important; background: #fff; }
.excel-quote__chip input { width: 14px; height: 14px; margin: 0; accent-color: var(--excel-blue-btn); }
.excel-quote__chip:has(input:checked) { border-color: var(--excel-blue-btn); background: #EAF3FC; color: var(--excel-blue-btn); }
.excel-quote__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.excel-quote__foot { display: flex; align-items: center; gap: 16px; padding: 16px 28px; border-top: 1px solid #E4EBF2; background: #F7F9FC; flex: 0 0 auto; flex-wrap: wrap; }
.excel-quote__help { margin: 0; font-size: 14px; color: #5D666F; flex: 1 1 260px; }
.excel-quote__help i { color: var(--excel-blue-btn); margin-right: 6px; }
.excel-quote__status { font-size: 14px; flex: 1 1 100%; order: -1; }
.excel-quote__status:empty { display: none; }
.excel-quote__status.is-error { color: #B3261E; background: #FDECEA; border: 1px solid #F5C2BD; padding: 8px 12px; border-radius: 8px; }
.excel-quote__status.is-success { color: #146C2E; background: #E7F5EC; border: 1px solid #B7E0C3; padding: 8px 12px; border-radius: 8px; }
.excel-quote__actions { display: flex; gap: 12px; margin-left: auto; }
.excel-quote__btn { height: 48px; padding: 0 26px; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background .2s, border-color .2s; }
.excel-quote__btn--ghost { background: #fff; border: 1px solid #D6DEE7; color: var(--excel-blue-btn); }
.excel-quote__btn--ghost:hover { border-color: var(--excel-blue-btn); }
.excel-quote__btn--primary { background: var(--excel-blue-btn); border: 1px solid var(--excel-blue-btn); color: #fff; min-width: 180px; justify-content: center; }
.excel-quote__btn--primary:hover { background: #17629f; }
.excel-quote__btn[disabled] { opacity: .65; cursor: progress; }
@media (max-width: 1199px) {
  .excel-quote__head { flex-wrap: wrap; row-gap: 12px; }
  .excel-quote__steps { order: 3; flex: 1 1 100%; }
}
@media (max-width: 991px) {
  .excel-quote__body { grid-template-columns: 1fr; }
  .excel-quote__col--right { border-left: 0; border-top: 1px solid #E4EBF2; }
}
@media (max-width: 575px) {
  .excel-quote { padding: 8px; }
  .excel-quote__dialog { border-radius: 12px; }
  .excel-quote__head { padding: 14px 16px; gap: 10px; }
  .excel-quote__title { font-size: 22px; }
  .excel-quote__sub { font-size: 13px; }
  .excel-quote__steps { gap: 2px; }
  .excel-quote__step { padding: 4px 6px; font-size: 11px; gap: 4px; white-space: normal; line-height: 1.2; }
  .excel-quote__step + .excel-quote__step::before { margin-right: 2px; }
  .excel-quote__step-n { width: 20px; height: 20px; font-size: 11px; flex: 0 0 20px; }
  .excel-quote__col { padding: 16px; }
  .excel-quote__product-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .excel-quote__grid { grid-template-columns: 1fr; padding: 14px; }
  .excel-quote__spec .excel-quote__grid { padding: 4px 14px 14px; }
  .excel-quote__spec-title { margin: 14px 14px 6px; }
  .excel-quote__spec-desc { margin: 0 14px 8px; }
  .excel-quote__foot { padding: 12px 16px; gap: 10px; }
  .excel-quote__help { font-size: 12px; flex-basis: 100%; }
  .excel-quote__actions { width: 100%; }
  .excel-quote__btn { flex: 1 1 0; padding: 0 12px; height: 46px; justify-content: center; }
  .excel-quote__btn--primary { min-width: 0; }
}

END HIDDEN (quote-premium-v1) */

/* HIDDEN (testimonials-v1, per client): custom testimonial cards replaced by the theme "testimonials 8" layout (style.css .testimonails-8-mian-wrapper)
[ final-review-v1: testimonials cards (section renders only when includes/testimonials.php has entries) ]
.excel-testimonials__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin-top: 40px; }
.excel-testimonials__card { margin: 0; padding: 30px; background: #fff; border: 1px solid #E4EBF2; border-radius: 14px; box-shadow: 0 10px 30px rgba(28,37,57,.06); display: flex; flex-direction: column; gap: 16px; }
.excel-testimonials__icon { font-size: 28px; color: var(--excel-blue-btn); }
.excel-testimonials__quote { margin: 0; font-size: 16px; line-height: 1.6; color: var(--excel-ink); }
.excel-testimonials__by { display: flex; flex-direction: column; gap: 2px; margin-top: auto; }
.excel-testimonials__logo { max-height: 36px; width: auto; margin-bottom: 8px; align-self: flex-start; }
.excel-testimonials__name { font-weight: 700; color: var(--excel-ink); }
.excel-testimonials__meta, .excel-testimonials__product { font-size: 14px; color: #5D666F; }
.excel-testimonials__product { color: var(--excel-blue-btn); }
END HIDDEN (testimonials-v1) */

/* ==========================================================================
   quote-premium-v1: Get a Quote modal, premium configurator UI + performance.
   Scoped to .excel-quote. Brand var(--excel-blue-btn) + navy #1C2539. No blur, no page-wide
   style changes on open; opening = 180ms opacity/transform keyframes only.
   ========================================================================== */
.excel-quote { --xq-blue: var(--excel-blue-btn); --xq-blue-d: var(--excel-blue-dark); --xq-navy: #1C2539; --xq-ink: #3B4656; --xq-muted: #6B7682; --xq-line: #D5DDE6; --xq-line-2: #E6ECF2; --xq-hover: #A9BCCF; --xq-tint: #F2F7FC; --xq-panel: #F7F9FB; --xq-err: #C4321F;
  position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px;
  contain: layout style paint; isolation: isolate; font-family: inherit; color: var(--xq-navy); }
/* Closed state stays laid out but invisible (visibility removes it from paint, hit-testing,
   focus and the accessibility tree). Opening is then a style/paint change only, instead of
   building layout for the whole dialog (≈1,000 boxes) inside the click. */
.excel-quote[hidden] { display: flex !important; visibility: hidden; pointer-events: none; }
.excel-quote__backdrop { position: absolute; inset: 0; background: rgba(15, 24, 40, .58); }
.excel-quote__dialog { position: relative; width: 100%; max-width: 1180px; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); background: #fff; border-radius: 14px;
  box-shadow: 0 1px 2px rgba(15,24,40,.08), 0 18px 48px -12px rgba(15,24,40,.28); display: flex; flex-direction: column; overflow: hidden; outline: 0; }
.excel-quote__dialog:focus { outline: 0; }
.excel-quote.is-open .excel-quote__backdrop { animation: xqFade .18s ease-out both; }
.excel-quote.is-open .excel-quote__dialog { animation: xqRise .18s cubic-bezier(.2,.7,.3,1) both; }
@keyframes xqFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes xqRise { from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .excel-quote.is-open .excel-quote__backdrop, .excel-quote.is-open .excel-quote__dialog { animation: none; } }
.excel-quote .xq-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.excel-quote .xq-req::after { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--xq-blue); margin-left: 5px; vertical-align: 2px; }
.excel-quote__form { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; margin: 0; }

/* head + stepper */
.excel-quote__head { display: flex; align-items: center; gap: 28px; padding: 20px 28px 18px; border-bottom: 1px solid var(--xq-line-2); flex: 0 0 auto; }
.excel-quote__heading { flex: 1 1 0; min-width: 0; }
.excel-quote .xq-eyebrow { display: block; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--xq-blue); margin-bottom: 4px; }
.excel-quote__title { font-size: 26px; line-height: 1.15; margin: 0 0 4px; color: var(--xq-navy); font-weight: 700; letter-spacing: -.01em; }
.excel-quote__sub { margin: 0; font-size: 14px; line-height: 1.45; color: var(--xq-muted); }
.excel-quote__steps { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; counter-reset: none; }
.excel-quote__step { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--xq-muted); white-space: nowrap; margin: 0; }
.excel-quote__step + .excel-quote__step::before { content: ""; width: 28px; height: 1px; background: var(--xq-line); margin: 0 12px 0 4px; }
.excel-quote__step-n { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--xq-line); background: #fff; color: var(--xq-muted); font-weight: 600; font-size: 12px; }
.excel-quote__step.is-active { color: var(--xq-navy); font-weight: 600; }
.excel-quote__step.is-active .excel-quote__step-n { background: var(--xq-blue); border-color: var(--xq-blue); color: #fff; box-shadow: 0 0 0 3px rgba(7,133,232,.14); }
.excel-quote__step.is-done { color: var(--xq-ink); }
.excel-quote__step.is-done .excel-quote__step-n { background: #EAF3FC; border-color: #BFD8EF; color: var(--xq-blue); }
.excel-quote__step.is-done + .excel-quote__step::before { background: #9CC4E8; }
.excel-quote__close { flex: 0 0 auto; align-self: flex-start; width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--xq-line-2); background: #fff; color: var(--xq-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s, border-color .15s, color .15s; padding: 0; }
.excel-quote__close:hover { background: var(--xq-tint); border-color: #BFD8EF; color: var(--xq-blue); }
.excel-quote__close:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(7,133,232,.25); border-color: var(--xq-blue); }

/* body */
.excel-quote__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.excel-quote__col { padding: 24px 28px 28px; min-width: 0; }
.excel-quote__col--right { border-left: 1px solid var(--xq-line-2); background: var(--xq-panel); }
.excel-quote .xq-section-title { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: var(--xq-navy); margin: 0 0 4px; padding: 0; float: none; width: auto; letter-spacing: -.005em; }
.excel-quote .xq-num { font-size: 11px; font-weight: 700; color: var(--xq-blue); background: #EAF3FC; border-radius: 6px; padding: 3px 6px; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
.excel-quote__products { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.excel-quote__products legend.xq-section-title { margin-bottom: 12px; }

/* product cards (real radios) */
.excel-quote__product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.excel-quote__product { position: relative; display: flex; flex-direction: column; gap: 0; padding: 6px; border: 1px solid var(--xq-line); border-radius: 12px; background: #fff; cursor: pointer; margin: 0; text-align: left;
  transition: border-color .15s, box-shadow .15s, transform .15s; }
.excel-quote__product:hover { border-color: var(--xq-hover); transform: translateY(-1px); box-shadow: 0 4px 12px -6px rgba(15,24,40,.18); }
.excel-quote__product input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.excel-quote__product-img { width: 100%; aspect-ratio: 1 / 1; border-radius: 8px; overflow: hidden; background: #EEF2F6; display: flex; align-items: center; justify-content: center; color: var(--xq-blue); }
.excel-quote__product-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.excel-quote__product-name { display: block; padding: 9px 4px 4px; font-size: 13px; font-weight: 600; line-height: 1.25; color: var(--xq-navy); }
.excel-quote__tick { position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%; background: var(--xq-blue); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff; opacity: 0; transform: scale(.6); transition: opacity .15s, transform .15s; }
.excel-quote__tick .xq-ico { width: 13px; height: 13px; }
.excel-quote__product:has(input:checked) { border-color: var(--xq-blue); box-shadow: 0 0 0 3px rgba(7,133,232,.16); transform: none; }
.excel-quote__product:has(input:checked) .excel-quote__product-name { color: var(--xq-blue); }
.excel-quote__product:has(input:checked) .excel-quote__tick { opacity: 1; transform: none; }
.excel-quote__product:has(input:focus-visible) { outline: 2px dashed #6B7682; outline-offset: 3px; }
.excel-quote__products.has-error .excel-quote__product { border-color: #E6A39A; }

/* panels */
.excel-quote__panel { border: 0; background: transparent; }
.excel-quote__panel-head { padding: 0 0 14px; margin-bottom: 16px; border-bottom: 1px solid var(--xq-line-2); }
.excel-quote__panel-head p { font-size: 13px; margin: 0; color: var(--xq-muted); line-height: 1.45; }
.excel-quote__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 18px; padding: 0; }

/* fields */
.excel-quote__field { display: flex; flex-direction: column; min-width: 0; margin: 0; border: 0; padding: 0; }
.excel-quote__field--full { grid-column: 1 / -1; }
.excel-quote__field > label, .excel-quote__flabel, .excel-quote__field > legend { font-size: 13px; font-weight: 600; line-height: 1.3; margin: 0 0 7px; color: var(--xq-navy); padding: 0; float: none; width: auto; }
.excel-quote input[type="text"], .excel-quote input[type="email"], .excel-quote input[type="tel"], .excel-quote select, .excel-quote textarea {
  width: 100%; height: 46px; border: 1px solid var(--xq-line); border-radius: 10px; background: #fff; padding: 0 14px; font-size: 14px; line-height: 1.4; color: var(--xq-navy); margin: 0;
  box-shadow: 0 1px 1px rgba(15,24,40,.03); transition: border-color .15s, box-shadow .15s, background-color .15s; }
.excel-quote input::placeholder, .excel-quote textarea::placeholder { color: #98A3B0; opacity: 1; }
.excel-quote input:hover, .excel-quote select:hover, .excel-quote textarea:hover { border-color: var(--xq-hover); }
.excel-quote input:focus, .excel-quote select:focus, .excel-quote textarea:focus { border-color: var(--xq-blue); box-shadow: 0 0 0 3px rgba(7,133,232,.15); outline: 0; }
.excel-quote textarea { height: auto; min-height: 104px; padding: 12px 14px; resize: vertical; }
.excel-quote select { -webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 38px;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%236B7682' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center / 12px; }
.excel-quote [aria-invalid="true"] { border-color: var(--xq-err) !important; }
.excel-quote [aria-invalid="true"]:focus { box-shadow: 0 0 0 3px rgba(196,50,31,.14) !important; }
.excel-quote__hint { font-size: 12px; color: var(--xq-muted); margin: 6px 0 0; line-height: 1.45; }
.excel-quote__error { display: flex; align-items: flex-start; gap: 6px; font-size: 12px; font-weight: 500; color: var(--xq-err); margin: 6px 0 0; line-height: 1.4; }
.excel-quote__error::before { content: "!"; flex: 0 0 14px; height: 14px; margin-top: 1px; border-radius: 50%; background: var(--xq-err); color: #fff; font-size: 10px; font-weight: 700; line-height: 14px; text-align: center; }
.excel-quote__error:empty { display: none; }

/* input groups: phone (dial + number), size (L x W + unit) */
.excel-quote .xq-group { display: flex; align-items: stretch; height: 46px; border: 1px solid var(--xq-line); border-radius: 10px; background: #fff; box-shadow: 0 1px 1px rgba(15,24,40,.03); overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.excel-quote .xq-group:hover { border-color: var(--xq-hover); }
.excel-quote .xq-group:focus-within { border-color: var(--xq-blue); box-shadow: 0 0 0 3px rgba(7,133,232,.15); }
.excel-quote .xq-group:has([aria-invalid="true"]) { border-color: var(--xq-err); }
.excel-quote .xq-group > input, .excel-quote .xq-group > select { height: 100%; border: 0 !important; border-radius: 0; box-shadow: none !important; background-color: transparent; min-width: 0; }
.excel-quote .xq-group--phone #q-dial { flex: 0 0 68px; width: 68px; padding: 0 8px; text-align: center; background: var(--xq-panel); border-right: 1px solid var(--xq-line-2) !important; color: var(--xq-ink); font-weight: 600; font-variant-numeric: tabular-nums; cursor: default; }
.excel-quote .xq-group--phone #q-phone { flex: 1 1 auto; }
.excel-quote .xq-group--size > input { flex: 1 1 0; text-align: center; padding: 0 8px; }
.excel-quote .xq-group__x { display: flex; align-items: center; padding: 0 2px; color: #98A3B0; font-size: 14px; }
.excel-quote .xq-group--size > select { flex: 0 0 72px; width: 72px; border-left: 1px solid var(--xq-line-2) !important; background-color: var(--xq-panel); padding: 0 26px 0 12px; background-position: right 9px center; font-weight: 600; color: var(--xq-ink); }

/* configurator (right column) */
.excel-quote__config { min-width: 0; }
.excel-quote .xq-strip { display: flex; align-items: center; gap: 14px; padding: 12px 14px; margin: 0 0 18px; background: #fff; border: 1px solid var(--xq-line-2); border-left: 3px solid var(--xq-blue); border-radius: 10px; }
.excel-quote .xq-strip[hidden] { display: none; }
.excel-quote .xq-strip__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.excel-quote .xq-strip__name { font-size: 15px; font-weight: 700; color: var(--xq-navy); }
.excel-quote .xq-strip__desc { font-size: 12.5px; color: var(--xq-muted); line-height: 1.4; }
.excel-quote .xq-strip__count { flex: 0 0 auto; font-size: 11.5px; font-weight: 600; color: var(--xq-blue); background: #EAF3FC; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.excel-quote__spec[hidden], .excel-quote__spec-empty[hidden], .excel-quote__other[hidden] { display: none; }
.excel-quote .xq-group-sec { background: #fff; border: 1px solid var(--xq-line-2); border-radius: 12px; padding: 16px 16px 18px; }
.excel-quote .xq-group-sec + .xq-group-sec { margin-top: 12px; }
.excel-quote .xq-group-title { display: flex; align-items: baseline; gap: 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--xq-ink); margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--xq-line-2); }
.excel-quote .xq-group-note { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--xq-muted); }
.excel-quote__spec-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 0; padding: 40px 18px; text-align: center; color: var(--xq-muted); font-size: 14px; background: #fff; border: 1px dashed var(--xq-line); border-radius: 12px; }
.excel-quote__spec-empty svg { color: #A9BCCF; }
.excel-quote__spec-empty p { margin: 0; }
.excel-quote__other { padding-top: 14px; }

/* chips (real checkbox / radio underneath) */
.excel-quote__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.excel-quote__chip { position: relative; display: inline-flex !important; align-items: center; gap: 8px; height: 36px; padding: 0 14px 0 10px; border: 1px solid var(--xq-line); border-radius: 999px; background: #fff;
  font-size: 13px !important; font-weight: 500 !important; color: var(--xq-ink); cursor: pointer; margin: 0 !important; user-select: none; transition: border-color .15s, background-color .15s, color .15s, box-shadow .15s; }
.excel-quote__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.excel-quote .xq-chip__box { width: 16px; height: 16px; flex: 0 0 16px; border: 1px solid #B8C4D1; border-radius: 5px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: transparent; transition: background-color .15s, border-color .15s; }
.excel-quote .xq-chip--radio .xq-chip__box { border-radius: 50%; }
.excel-quote .xq-chip__box .xq-ico { width: 11px; height: 11px; }
.excel-quote__chip:hover { border-color: #9CC4E8; background: var(--xq-tint); }
.excel-quote__chip:has(input:checked) { border-color: var(--xq-blue); background: #EAF3FC; color: var(--xq-blue-d); font-weight: 600 !important; }
.excel-quote__chip:has(input:checked) .xq-chip__box { background: var(--xq-blue); border-color: var(--xq-blue); color: #fff; }
.excel-quote__chip:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(7,133,232,.25); border-color: var(--xq-blue); }
.excel-quote__chip:has(input:disabled) { opacity: .5; cursor: not-allowed; }
.excel-quote__field:has([aria-invalid="true"]) .excel-quote__chip { border-color: #E6A39A; }

.excel-quote__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* sticky footer */
.excel-quote__foot { display: flex; align-items: center; gap: 16px; padding: 14px 28px; border-top: 1px solid var(--xq-line-2); background: #fff; flex: 0 0 auto; flex-wrap: wrap; }
.excel-quote__help { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; color: var(--xq-muted); flex: 1 1 260px; }
.excel-quote__help svg { flex: 0 0 16px; color: var(--xq-blue); }
.excel-quote__status { font-size: 13.5px; flex: 1 1 100%; order: -1; border-radius: 10px; padding: 10px 14px; }
.excel-quote__status:empty { display: none; }
.excel-quote__status.is-error { color: #9E2414; background: #FDF1EF; border: 1px solid #F3C9C2; }
.excel-quote__status.is-success { color: #11612A; background: #EDF7F0; border: 1px solid #BFE2CB; }
.excel-quote__actions { display: flex; gap: 10px; margin-left: auto; }
.excel-quote__btn { height: 44px; padding: 0 20px; border-radius: 10px; font-size: 14px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s; line-height: 1; }
.excel-quote__btn:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(7,133,232,.28); }
.excel-quote__btn--ghost { background: transparent; border: 1px solid transparent; color: var(--xq-ink); }
.excel-quote__btn--ghost:hover { background: var(--xq-panel); border-color: var(--xq-line-2); color: var(--xq-navy); }
/* SUPERSEDED (polish-buttons-v1): .excel-quote__btn--primary { background: var(--xq-blue); border: 1px solid var(--xq-blue); color: #fff; min-width: 172px; box-shadow: 0 1px 2px rgba(15,24,40,.12); } */
/* SUPERSEDED (polish-buttons-v1): .excel-quote__btn--primary:hover { background: var(--xq-blue-d); border-color: var(--xq-blue-d); } */
.excel-quote__btn[disabled] { opacity: .75; cursor: progress; }
.excel-quote .xq-spinner { display: none; width: 15px; height: 15px; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: xqSpin .7s linear infinite; }
.excel-quote__btn[aria-busy="true"] .xq-spinner { display: inline-block; }
.excel-quote__btn[aria-busy="true"] .xq-send { display: none; }
@keyframes xqSpin { to { transform: rotate(360deg); } }

@media (max-width: 1199px) {
  .excel-quote__head { flex-wrap: wrap; row-gap: 14px; }
  .excel-quote__steps { order: 3; flex: 1 1 100%; }
}
@media (max-width: 991px) {
  .excel-quote { padding: 16px; }
  .excel-quote__dialog { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }
  .excel-quote__body { grid-template-columns: minmax(0, 1fr); }
  .excel-quote__col--right { border-left: 0; border-top: 1px solid var(--xq-line-2); }
}
@media (max-width: 575px) {
  .excel-quote { padding: 10px 0 0; align-items: stretch; }   /* bottom sheet; 10px backdrop strip stays tappable */
  .excel-quote__dialog { max-height: none; height: 100%; border-radius: 14px 14px 0 0; }
  .excel-quote__head { padding: 14px 16px 12px; gap: 10px; }
  .excel-quote .xq-eyebrow { display: none; }
  .excel-quote__head { padding-right: 60px; position: relative; }
  .excel-quote__close { position: absolute; top: 12px; right: 12px; }
  .excel-quote__product-img { aspect-ratio: 16 / 11; }
  .excel-quote__product-name { padding: 8px 4px 3px; }
  .excel-quote__title { font-size: 21px; }
  .excel-quote__sub { font-size: 13px; }
  .excel-quote__step { font-size: 11.5px; gap: 5px; white-space: normal; line-height: 1.2; }
  .excel-quote__step + .excel-quote__step::before { width: 10px; margin: 0 6px 0 2px; flex: 0 0 10px; }
  .excel-quote__step-n { width: 20px; height: 20px; font-size: 11px; flex: 0 0 20px; }
  .excel-quote__col { padding: 18px 16px 20px; }
  .excel-quote__product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .excel-quote__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .excel-quote input[type="text"], .excel-quote input[type="email"], .excel-quote input[type="tel"], .excel-quote select, .excel-quote textarea { font-size: 16px; }
  .excel-quote .xq-group-sec { padding: 14px 14px 16px; }
  .excel-quote__foot { padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); gap: 8px; }
  .excel-quote__help { display: none; }
  .excel-quote__actions { width: 100%; }
  .excel-quote__btn { flex: 1 1 0; width: auto; padding: 0 12px; height: 46px; }
  .excel-quote__btn--ghost { flex: 0 0 auto; width: auto; padding: 0 18px; border-color: var(--xq-line-2); }
  .excel-quote__btn--primary { min-width: 0; }
}

/* ==========================================================================
   counters-v2: four counters (Years / Industries / Product Lines / Projects).
   Restyles the existing .excel-counters markup; overrides the final-review-v1
   3-column rules. Dividers only between items on the same row.
   ========================================================================== */
.excel-counters { padding-top: 10px; }
.excel-counters__row.excel-counters__row--v2 { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 0; }
.excel-counters__row--v2 .excel-counters__item { display: flex; flex-direction: column; align-items: center; padding: 8px 28px 6px; border-left: 1px solid #E4EBF2; }
.excel-counters__row--v2 .excel-counters__item:first-child { border-left: 0; }
.excel-counters__row--v2 .excel-counters__icon { width: 165px; height: 120px; margin: 0 auto 18px; object-fit: contain; }
.excel-counters__row--v2 .excel-counters__icon--halo { padding: 24px 40px 20px;
  background: radial-gradient(circle closest-side at 50% 54%, rgba(222,236,250,.95) 0, rgba(232,242,252,.9) 78%, rgba(232,242,252,0) 100%); }   /* soft circular halo like the other three icons (theirs is baked into the artwork) */
.excel-counters__row--v2 .excel-counters__num { font-size: 40px; line-height: 56px; height: 56px; margin: 0 0 10px; color: var(--excel-blue-btn); font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.excel-counters__row--v2 .excel-counters__num--word { font-size: 36px; }
.excel-counters__row--v2 .excel-counters__label { font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--excel-ink); }
.excel-counters__row--v2 .excel-counters__label::after { content: ""; display: block; width: 36px; height: 2px; border-radius: 2px; background: var(--excel-blue-btn); opacity: .55; margin: 16px auto 14px; }
.excel-counters__desc { margin: 0 auto; max-width: 230px; font-size: 15px; line-height: 1.5; color: #6B7682; text-align: center; }
@media (max-width: 1399px) {
  .excel-counters__row--v2 .excel-counters__item { padding: 8px 18px 6px; }
  .excel-counters__row--v2 .excel-counters__num { font-size: 46px; }
  .excel-counters__row--v2 .excel-counters__num--word { font-size: 30px; }
  .excel-counters__row--v2 .excel-counters__label { font-size: 18px; }
}
@media (max-width: 991px) {
  .excel-counters__row.excel-counters__row--v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  .excel-counters__row--v2 .excel-counters__item:nth-child(odd) { border-left: 0; }
  .excel-counters__row--v2 .excel-counters__item:nth-child(even) { border-left: 1px solid #E4EBF2; }
}
@media (max-width: 575px) {
  .excel-counters__row.excel-counters__row--v2 { row-gap: 30px; }
  .excel-counters__row--v2 .excel-counters__item { padding: 4px 10px; }
  .excel-counters__row--v2 .excel-counters__icon { width: 124px; height: 90px; margin-bottom: 12px; }
  .excel-counters__row--v2 .excel-counters__icon--halo { padding: 16px 28px 13px; }
  .excel-counters__row--v2 .excel-counters__num { font-size: 34px; line-height: 40px; height: 40px; margin-bottom: 6px; }
  .excel-counters__row--v2 .excel-counters__num--word { font-size: 21px; }
  .excel-counters__row--v2 .excel-counters__label { font-size: 15px; }
  .excel-counters__row--v2 .excel-counters__label::after { width: 28px; margin: 10px auto 9px; }
  .excel-counters__desc { font-size: 12.5px; line-height: 1.45; }
}

/* HIDDEN (testimonials-v2, per client): replaced by the testimonials-v2 block at the end of this file
[ testimonials-v1: theme "testimonials 8" has no pagination styles (its demo had pagination disabled);
   minimal rules so the dots sit below the author line instead of over it. ]
.mySwiper-testimonisl-8 { padding-bottom: 44px; }
.mySwiper-testimonisl-8 .swiper-pagination { bottom: 0; }
.mySwiper-testimonisl-8 .swiper-pagination-bullet { background: #fff; opacity: .45; width: 10px; height: 10px; }
.mySwiper-testimonisl-8 .swiper-pagination-bullet-active { opacity: 1; }
END HIDDEN (testimonials-v2) */

/* logo-v3: new wide "Excel CARDS | Printing & Packaging" logo (761x274, ~2.78:1), sized by height, width auto.
   Footer background is light (#F2F8FE -> #E4F0FB), so the logo sits directly on it (no plate needed). */
header.header-one .header-main-one-wrapper .thumbnail a img { height: 78px; width: auto; max-width: none; }
header.header-one.header--sticky.sticky .header-main-one-wrapper .thumbnail a img { height: 78px; margin: 10px 0 10px 0; }
.side-bar .logo-1 img.logo { height: 48px; width: auto; }
.excel-footer-logo img { width: auto; height: 80px; max-width: 100%; }
@media only screen and (max-width: 1399px) {
  header.header-one .header-main-one-wrapper .thumbnail a img { height: 70px; }
}
@media only screen and (max-width: 1199px) {
  header.header-one .header-main-one-wrapper .thumbnail a img,
  header.header-one.header--sticky.sticky .header-main-one-wrapper .thumbnail a img { height: 44px; }
}
@media only screen and (max-width: 575px) {
  header.header-one .header-main-one-wrapper .thumbnail a img,
  header.header-one.header--sticky.sticky .header-main-one-wrapper .thumbnail a img { height: 40px; }
  .side-bar .logo-1 img.logo { height: 42px; }
  .excel-footer-logo img { height: 54px; }
}

/* quote-perf-v2: infinite theme animations (hidden preloader spinner, video "waves" ring) kept the
   page repainting behind the open quote modal. Paused only while the modal is open. */
html.excel-quote-active .loader::after,
html.excel-quote-active .video-play-button::before,
html.excel-quote-active .video-play-button::after { animation-play-state: paused; }

/* ==========================================================================
   testimonials-v2: premium polish for the theme "testimonials 8" section.
   Blue panel = --color-primary (var(--excel-blue-btn)); all text on it is pure white (4.63:1, AA).
   Slides share one height (Swiper stretches every slide to the tallest), so
   switching slides never shifts the page. No shadows, no new dependencies.
   ========================================================================== */
.excel-tm .title-style-one { position: relative; }
.excel-tm__badge { display: inline-block; margin-top: 12px; padding: 4px 12px; border-radius: 999px; border: 1px solid #F0C98F; background: #FFF6E8; color: #7A4300; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .02em; }
.excel-tm .testimonails-8-mian-wrapper { padding: 64px 72px; border-radius: 24px; }
.excel-tm .circle-text { display: flex; justify-content: center; }
.excel-tm .circle-text img { width: 100%; max-width: 230px; height: auto; }
/* equal-height slides: author row always sits at the bottom of the panel */
.excel-tm .mySwiper-testimonisl-8 .swiper-slide { height: auto; display: flex; }
.excel-tm .testimonails-8-mian-wrapper .testimonails-inner-content { max-width: 100%; margin: 0; display: flex; flex-direction: column; width: 100%; }
.excel-tm .testimonails-inner-content blockquote { margin: 0 0 32px; padding: 0; border: 0; flex: 1 1 auto; background: none; font-style: normal; }
.excel-tm .testimonails-inner-content blockquote::before, .excel-tm .testimonails-inner-content blockquote::after { content: none; }
.excel-tm .testimonails-8-mian-wrapper .testimonails-inner-content p.disc { margin: 0; font-size: 25px; line-height: 1.55; font-weight: 400; letter-spacing: -.005em; color: #fff; font-style: normal; }
.excel-tm .testimonails-8-mian-wrapper .testimonails-inner-content .author-area { flex-direction: row; align-items: center; gap: 16px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.28); }
.excel-tm .excel-tm__initials { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; background: #fff; color: var(--excel-blue-btn); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; letter-spacing: .04em; line-height: 1; }
.excel-tm .author-area .avatar img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: #fff; }
.excel-tm .testimonails-8-mian-wrapper .author-area .content { min-width: 0; }
.excel-tm .testimonails-8-mian-wrapper .author-area .content .title { margin: 0 0 3px; font-size: 19px; font-weight: 700; line-height: 1.3; color: #fff; }
.excel-tm .testimonails-8-mian-wrapper .author-area .content p { margin: 0; font-size: 14px; line-height: 1.45; color: #fff; }
.excel-tm .testimonails-8-mian-wrapper .author-area .content p span { font-weight: 600; color: #fff; }
.excel-tm .testimonails-8-mian-wrapper .author-area .content p.excel-tm__meta { margin-top: 2px; font-size: 13px; font-weight: 400; letter-spacing: .02em; }
/* controls: prev | dots | next */
.excel-tm__controls { display: flex; align-items: center; gap: 12px; margin-top: 32px; padding: 2px; }
.excel-tm__nav { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); background: transparent; color: #fff; display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.excel-tm__nav:hover { background: #fff; color: var(--excel-blue-btn); border-color: #fff; }
.excel-tm__nav:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.excel-tm .mySwiper-testimonisl-8 .swiper-pagination { position: static; width: auto !important; bottom: auto !important; transform: none; display: flex; align-items: center; gap: 2px; }
.excel-tm .mySwiper-testimonisl-8 .swiper-pagination-bullet { width: 24px; height: 24px; margin: 0 !important; border: 8px solid transparent; border-radius: 999px; background: rgba(255,255,255,.5) content-box; opacity: 1; transition: width .25s, background-color .25s; }
.excel-tm .mySwiper-testimonisl-8 .swiper-pagination-bullet:hover { background-color: rgba(255,255,255,.8); }
.excel-tm .mySwiper-testimonisl-8 .swiper-pagination-bullet-active { width: 44px; background-color: #fff; }
.excel-tm .mySwiper-testimonisl-8 .swiper-pagination-bullet:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
@media (prefers-reduced-motion: reduce) {
  .excel-tm__nav, .excel-tm .mySwiper-testimonisl-8 .swiper-pagination-bullet { transition: none; }
}
@media only screen and (max-width: 1199px) {
  .excel-tm .testimonails-8-mian-wrapper { padding: 52px 48px; }
  .excel-tm .testimonails-8-mian-wrapper .testimonails-inner-content p.disc { font-size: 22px; }
}
/* tablet + mobile: graphic stacks above the quote */
@media only screen and (max-width: 991px) {
  .excel-tm .circle-text { justify-content: flex-start; margin-bottom: 28px; }
  .excel-tm .circle-text img { max-width: 140px; }
}
@media only screen and (max-width: 575px) {
  .excel-tm .testimonails-8-mian-wrapper { padding: 28px 22px; border-radius: 18px; }
  .excel-tm .circle-text img { max-width: 104px; }
  .excel-tm .testimonails-8-mian-wrapper .testimonails-inner-content p.disc { font-size: 17px; line-height: 1.6; }
  .excel-tm .testimonails-inner-content blockquote { margin-bottom: 24px; }
  .excel-tm .testimonails-8-mian-wrapper .testimonails-inner-content .author-area { flex-direction: row; align-items: center; gap: 14px; padding-top: 20px; }
  .excel-tm .excel-tm__initials { flex-basis: 48px; width: 48px; height: 48px; font-size: 16px; }
  .excel-tm .testimonails-8-mian-wrapper .author-area .content .title { font-size: 17px; }
  .excel-tm__controls { margin-top: 24px; justify-content: space-between; gap: 6px; }
}

/* ==========================================================================
   capabilities-v1: full-width "Our Capabilities" section (replaces the homepage FAQ).
   Reference: client screenshot 2. Soft blue background with flowing shapes
   (assets/images/contact/capabilities-wave-bg.svg, already in the project) + CSS dot pattern.
   3 columns desktop, 2 tablet, 1 mobile. Titles only.
   ========================================================================== */
.excel-capabilities { position: relative; overflow: hidden;
  background:
    url("../images/contact/capabilities-wave-bg.svg") center bottom / 100% 100% no-repeat,
    linear-gradient(170deg, #FFFFFF 0%, #F3F8FD 45%, #E3EFFA 100%); }
.excel-capabilities::before, .excel-capabilities::after { content: ""; position: absolute; pointer-events: none; width: 420px; height: 300px;
  background: radial-gradient(rgba(7,133,232,.16) 1.3px, transparent 1.7px) 0 0 / 16px 16px;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 72%); mask-image: radial-gradient(ellipse at center, #000 30%, transparent 72%); }
.excel-capabilities::before { top: 24px; right: 2%; }
.excel-capabilities::after { bottom: 24px; left: 1%; }
.excel-capabilities > .container { position: relative; z-index: 1; }
.excel-capabilities__head { max-width: 760px; margin: 0 auto 56px; text-align: center; }
.excel-capabilities__pill { display: inline-block; padding: 8px 20px; border-radius: 999px; background: #E3EFFB; color: var(--excel-blue-btn); font-size: 15px; font-weight: 600; line-height: 1.4; margin-bottom: 20px; }
.excel-capabilities__title { margin: 0 0 16px; font-size: 48px; line-height: 1.18; font-weight: 700; color: var(--excel-ink); text-transform: none; }
.excel-capabilities__title span { color: var(--excel-blue-btn); }
.excel-capabilities__lead { margin: 0 auto; max-width: 640px; font-size: 18px; line-height: 1.6; color: #4A5568; }
.excel-capabilities__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 28px; }
.excel-capabilities__card { margin: 0; padding: 30px 28px; min-height: 168px; background: #fff; border: 1px solid rgba(7,133,232,.14); border-radius: 16px;
  box-shadow: 0 12px 30px -18px rgba(14,35,65,.22); display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 22px; text-align: left;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.excel-capabilities__card:hover { transform: translateY(-3px); border-color: rgba(7,133,232,.28); box-shadow: 0 18px 36px -18px rgba(7,133,232,.35); }
.excel-capabilities__icon { width: 56px; height: 56px; border-radius: 14px; background: #E8F2FC; color: var(--excel-blue-btn); display: inline-flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; }
.excel-capabilities__name { margin: 0; font-size: 20px; line-height: 1.35; font-weight: 700; color: var(--excel-ink); }
@media (prefers-reduced-motion: reduce) { .excel-capabilities__card { transition: none; } .excel-capabilities__card:hover { transform: none; } }
@media only screen and (max-width: 1199px) {
  .excel-capabilities__title { font-size: 40px; }
  .excel-capabilities__grid { gap: 22px; }
}
@media only screen and (max-width: 991px) {
  .excel-capabilities__head { margin-bottom: 40px; }
  .excel-capabilities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .excel-capabilities::before, .excel-capabilities::after { width: 260px; height: 200px; }
}
@media only screen and (max-width: 575px) {
  .excel-capabilities__title { font-size: 30px; }
  .excel-capabilities__lead { font-size: 16px; }
  .excel-capabilities__grid { grid-template-columns: 1fr; gap: 14px; }
  .excel-capabilities__card { flex-direction: row; align-items: center; gap: 16px; min-height: 0; padding: 20px; }
  .excel-capabilities__icon { width: 50px; height: 50px; font-size: 21px; }
  .excel-capabilities__name { font-size: 18px; }
}

/* ===== capabilities-v2 (per client): short description under each capability title ===== */
.excel-capabilities__card { gap:0; }
.excel-capabilities__icon { margin-bottom:22px; }
.excel-capabilities__name { margin-bottom:10px; }
.excel-capabilities__desc { margin:0; font-size:15px; line-height:1.6; color:#5D666F; }
@media (max-width:575px){
  .excel-capabilities__card { flex-direction:column; align-items:flex-start; }
  .excel-capabilities__icon { margin-bottom:16px; }
}
/* ===== end capabilities-v2 ===== */

/* ===== trackrecord-v1 (per client): "Our Track Record" heading above the counters ===== */
/* HIDDEN (tweaks-v1, per client): superseded by the theme's title-style-four heading (same as "Our Products")
.excel-counters__heading { margin-bottom: 40px; }
.excel-counters__heading .title { color: var(--excel-ink); }
.excel-counters__heading .title span { color: var(--excel-blue-btn); -webkit-text-stroke: 0; -webkit-text-fill-color: var(--excel-blue-btn); }
@media (max-width: 767px) { .excel-counters__heading { margin-bottom: 28px; } }
*/
/* ===== end trackrecord-v1 ===== */

/* ===== quote-carousel-v1 (per client): "01 Select product" as a scroll-snap carousel =====
   Cards stay real radio inputs (whole card is the <label>). 4 cards per view inside the
   two-column modal, 2 on tablet / phones >=360px, 1 below 360px. */
.excel-quote__products legend.xq-section-title { margin-bottom: 2px; }
.excel-quote__products-sub { margin: 0 0 14px; font-size: 13px; line-height: 1.45; color: var(--xq-muted); }
.xq-carousel { position: relative; padding: 0 18px; --xq-per: 4; --xq-gap: 12px; }
.xq-carousel__viewport.excel-quote__product-grid { position: relative; display: flex; gap: var(--xq-gap); overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 4px 2px 6px; margin: -4px -2px -6px; }
.xq-carousel__viewport::-webkit-scrollbar { display: none; }
.xq-carousel .excel-quote__product { flex: 0 0 calc((100% - (var(--xq-per) - 1) * var(--xq-gap)) / var(--xq-per)); min-width: 0; scroll-snap-align: start; box-shadow: 0 2px 8px -4px rgba(15,24,40,.12); }
.xq-carousel .excel-quote__product:hover { transform: none; box-shadow: 0 6px 16px -8px rgba(15,24,40,.22); }
.xq-carousel .excel-quote__product-img { aspect-ratio: 6 / 5; background: linear-gradient(160deg, #EEF5FC 0%, #DCEAF8 100%); }
.xq-carousel .excel-quote__product-name { padding: 9px 4px 4px; text-align: center; min-height: calc(2 * 1.25em + 13px); display: flex; align-items: center; justify-content: center; overflow-wrap: anywhere; }
.xq-carousel .excel-quote__product:has(input:checked) { background: #F2F8FE; }
.xq-carousel .excel-quote__product-name { font-size: 12.5px; }
.excel-quote__product--other .xq-other-ico { width: 46%; height: auto; max-width: 64px; color: var(--xq-blue); }
.xq-carousel__arrow { position: absolute; top: 38%; transform: translateY(-50%); z-index: 2; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--xq-line); background: #fff; color: var(--xq-navy); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; box-shadow: 0 4px 12px -4px rgba(15,24,40,.25); transition: color .15s, border-color .15s, opacity .15s; }
.xq-carousel__arrow--prev { left: -16px; }
.xq-carousel__arrow--next { right: -16px; }
.xq-carousel__arrow:hover:not(:disabled) { color: var(--xq-blue); border-color: var(--xq-hover); }
.xq-carousel__arrow:focus-visible { outline: 2px dashed #6B7682; outline-offset: 2px; }
.xq-carousel__arrow:disabled { opacity: .35; cursor: default; box-shadow: none; }
.xq-carousel__dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; min-height: 8px; }
.xq-carousel__dot { width: 7px; height: 7px; border-radius: 4px; background: #CFDAE6; cursor: pointer; transition: width .2s, background-color .2s; }
.xq-carousel__dot.is-active { width: 18px; background: var(--xq-blue); }
.excel-quote__products .excel-quote__other textarea { min-height: 84px; resize: vertical; }
@media (max-width: 991px) {
  .xq-carousel { --xq-per: 2; }
  .xq-carousel .excel-quote__product-img { aspect-ratio: 16 / 10; }
  .xq-carousel .excel-quote__product-name { font-size: 13px; }
}
@media (max-width: 575px) {
  .xq-carousel { --xq-gap: 10px; }
  .xq-carousel .excel-quote__product-img { aspect-ratio: 6 / 5; }
}
@media (max-width: 359px) { .xq-carousel { --xq-per: 1; } }
@media (prefers-reduced-motion: reduce) {
  .xq-carousel .excel-quote__product, .xq-carousel__arrow, .xq-carousel__dot { transition: none; }
}
/* ===== end quote-carousel-v1 ===== */

/* ==========================================================================
   address-v1: keep the two-line address split on mobile
   (theme style.css hides every <br> at small widths)
   ========================================================================== */
.excel-addr br { display: inline; }
/* offcanvas "Get In Touch": keep line 2 aligned with line 1 (not under the icon) */
.single > .excel-addr { display: inline-block; vertical-align: top; }

/* ===== tweaks-v1 (per client): "Our Track Record" uses the theme heading; match the
   "Our Products" heading-to-content gap (30px) ===== */
.excel-counters__title { margin-bottom: 10px; }
/* "Custom Request" card: single-line label */
.xq-carousel .excel-quote__product--other .excel-quote__product-name { white-space: nowrap; overflow-wrap: normal; letter-spacing: -0.1px; }
/* ===== end tweaks-v1 ===== */

/* ===== footer-v2 compact (t62u, per client): footer fits one desktop viewport; packaging image removed,
   contact column widened, rows separated by thin dividers. Scoped to .excel-footer--compact ===== */
.excel-footer--compact .excel-footer-main { padding: 58px 0 40px; }
@media (min-width: 1200px) { .excel-footer--compact .excel-footer-grid { grid-template-columns: 1.2fr .75fr .95fr 1.55fr; gap: 40px; align-items: start; } }
.excel-footer--compact .excel-footer-logo img { height: 66px; }
.excel-footer--compact .excel-footer-disc { margin: 14px 0 20px; font-size: 14.5px; line-height: 1.65; }
.excel-footer--compact .excel-footer-title { margin: 4px 0 20px; }
.excel-footer--compact .excel-footer-links li { margin: 0 0 11px; }
.excel-footer--compact .excel-footer-links a { font-size: 14.5px; }
.excel-footer--compact .excel-footer-contact li { gap: 14px; margin: 0; padding: 9px 0; align-items: center; border-bottom: 1px solid rgba(7,133,232,.13); }
.excel-footer--compact .excel-footer-contact li:first-child { padding-top: 0; }
.excel-footer--compact .excel-footer-contact li:last-child { border-bottom: 0; padding-bottom: 0; }
.excel-footer--compact .excel-footer-contact .ic { flex: 0 0 38px; width: 38px; height: 38px; font-size: 14px; }
.excel-footer--compact .excel-footer-contact span { font-size: 13.5px; line-height: 1.35; }
.excel-footer--compact .excel-footer-contact strong, .excel-footer--compact .excel-footer-contact strong a { font-size: 14.5px; line-height: 1.45; }
.excel-footer--compact .excel-footer-contact strong span { display: inline; color: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; }
.excel-footer--compact .excel-footer-sep { margin: 0 6px; color: #8FA3BC !important; font-weight: 400 !important; }
.excel-footer--compact .excel-footer-nw, .excel-footer--compact .excel-footer-nk { white-space: nowrap; }
.excel-footer--compact .excel-footer-bar-inner { padding: 18px 0; }
.excel-footer--compact .excel-footer-top { width: 44px; height: 44px; }
@media (min-width: 1400px) { .excel-footer--compact .excel-footer-main { padding-bottom: 44px; } }
@media (min-width: 992px) and (max-width: 1199px) { .excel-footer--compact .excel-footer-grid { grid-template-columns: 1fr .8fr 1fr; row-gap: 36px; }
  .excel-footer--compact .excel-footer-grid > .excel-footer-col:last-of-type { grid-column: 1 / -1; max-width: 520px; } }
@media (max-width: 991px) { .excel-footer--compact .excel-footer-main { padding: 56px 0 40px; } }
@media (max-width: 575px) { .excel-footer--compact .excel-footer-main { padding: 48px 0 36px; }
  .excel-footer--compact .excel-footer-grid { grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 32px; }
  .excel-footer--compact .excel-footer-brand, .excel-footer--compact .excel-footer-grid > .excel-footer-col:last-of-type { grid-column: 1 / -1; }
  .excel-footer--compact .excel-footer-nw { white-space: normal; } }
/* ===== end footer-v2 compact ===== */

/* ==== perf-v1: faster, smoother preloader exit ==== */
.loaded .loader-wrapper { transition: transform 0s linear .3s, visibility 0s linear .3s !important; } /* was: all .3s 1s (sections fade 0.3s, then wrapper leaves) */
.loaded .loader-wrapper .loader-section,
.loaded .loader-wrapper .loader { transition-delay: 0s !important; transition-duration: .3s !important; }
@media (prefers-reduced-motion: reduce) {
  .loader-wrapper, .loader-wrapper * { transition: none !important; animation: none !important; }
  .loaded .loader-wrapper { display: none !important; }
}

/* ==== logo-marquee-v1: gallery strip (#portfolio) as a continuous right-to-left loop ====
   Overrides the theme flex row and the mobile-fix-v1 grid for this strip only. Items share one height
   (--excel-mq-h, set by excel-marquee.js from the visible count: 5 / 4 / 3 / 2) and keep their natural
   aspect ratio (width:auto). Theme spacing (30px gap, 5px <=767px) and hover icon kept. */
.gallery-area-main-wrapper-4.excel-marquee { display: block; overflow: hidden; touch-action: pan-y; cursor: grab; user-select: none; -webkit-user-select: none; }
.gallery-area-main-wrapper-4.excel-marquee.is-dragging { cursor: grabbing; }
.excel-marquee .excel-marquee__track { display: flex; flex-wrap: nowrap; align-items: center; gap: 30px; width: max-content; will-change: transform; --excel-mq-h: calc((100vw - 120px) / 5); }
.gallery-area-main-wrapper-4.excel-marquee .single-gallery,
.gallery-area-main-wrapper-4.excel-marquee .single-gallery:nth-child(n) { flex: 0 0 auto; grid-column: auto; }
.gallery-area-main-wrapper-4.excel-marquee .single-gallery .thumbnail { display: block; }
.gallery-area-main-wrapper-4.excel-marquee .single-gallery .thumbnail img,
.gallery-area-main-wrapper-4.excel-marquee .single-gallery:nth-child(n) .thumbnail img { display: block; height: var(--excel-mq-h); width: auto; max-width: none; aspect-ratio: auto; object-fit: contain; -webkit-user-drag: none; }
@media only screen and (max-width: 1199px) { .excel-marquee .excel-marquee__track { --excel-mq-h: calc((100vw - 90px) / 4); } }
@media only screen and (max-width: 991px)  { .excel-marquee .excel-marquee__track { --excel-mq-h: calc((100vw - 60px) / 3); } }
@media only screen and (max-width: 767px)  { .excel-marquee .excel-marquee__track { gap: 5px; --excel-mq-h: calc((100vw - 10px) / 3); } }
@media only screen and (max-width: 575px)  { .excel-marquee .excel-marquee__track { --excel-mq-h: calc((100vw - 5px) / 2); } }

/* ==== header-btn-hover-v1: header "Request a Quote" hover text was invisible ====
   Root cause: theme .rts-btn.btn-primary:hover sweeps a #F2F2F2 ::before circle over the button (and
   sets a #F2F2F2 background) expecting dark text, but our header override (excel-quote-btn:hover) keeps
   color #fff -> white text on light grey. Keep the theme sweep animation, recolour it to Excel dark blue. */
/* SUPERSEDED (polish-buttons-v1): header.header-one .header-main .excel-quote-btn::before { background: var(--excel-blue-dark); } */
/* SUPERSEDED (polish-buttons-v1): header.header-one .header-main .excel-quote-btn:hover, */
/* SUPERSEDED (polish-buttons-v1): header.header-one .header-main .excel-quote-btn:focus-visible { background: var(--excel-blue-dark); color: #fff; } */

/* ==== footer-products-v1: 12 official products in the footer Products column, as two sub-columns (6 + 6)
   so the footer height stays as before. Column ratios rebalanced at >=1200px to give Products room. ==== */
.excel-footer-links.excel-footer-links--2col { display: grid; grid-template-columns: repeat(2, max-content); grid-template-rows: repeat(6, auto); grid-auto-flow: column; column-gap: 24px; }
.excel-footer-links--2col a { white-space: nowrap; }
@media (min-width: 1200px) { .excel-footer--compact .excel-footer-grid { grid-template-columns: minmax(220px, 1fr) max-content max-content minmax(345px, 1.25fr); gap: 32px; } }
@media (min-width: 992px) and (max-width: 1199px) { .excel-footer--compact .excel-footer-grid { grid-template-columns: 1fr .7fr 1.3fr; } }
@media (max-width: 575px) {
  .excel-footer-links.excel-footer-links--2col { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; } /* sits beside Quick Links as before: one column */
  .excel-footer-links--2col a { white-space: normal; }
}

/* ==== footer-products-v2: Products heading + underline centred over the 6+6 list, and the Products block
   centred between Quick Links and Contact Information (equal gaps) at >=1200px. Tablet/mobile stay left-aligned. ==== */
@media (min-width: 1200px) {
  .excel-footer--compact .excel-footer-grid { grid-template-columns: minmax(200px, 1fr) max-content minmax(max-content, 1fr) minmax(345px, 1.25fr); }
  .excel-footer--compact .excel-footer-grid > .excel-footer-col--products { padding: 0 8px; }
  .excel-footer-col--products { display: flex; flex-direction: column; align-items: center; }
  .excel-footer-col--products .excel-footer-title { text-align: center; }
  .excel-footer-col--products .excel-footer-title::after { left: 50%; transform: translateX(-50%); }
}

/* ==== footer-products-v3 (per client mockup): wider Products block, heading left-aligned like the other
   columns (overrides footer-products-v2 centring), 6+6 grid with a generous sub-column gap, subtle hover.
   Quick Links stays content-width; Contact keeps its 345px minimum so its text wraps as before. ==== */
.excel-footer-links--2col a { transition: color .25s ease; }
.excel-footer-links--2col a i { color: var(--excel-blue-btn); font-size: 10px; transition: transform .25s ease, color .25s ease; }
.excel-footer-links--2col a:hover, .excel-footer-links--2col a:focus-visible { color: var(--excel-blue-btn); }
.excel-footer-links--2col a:hover i, .excel-footer-links--2col a:focus-visible i { transform: translateX(3px); }
@media (min-width: 1200px) {
  .excel-footer--compact .excel-footer-grid { grid-template-columns: minmax(225px, 1fr) max-content minmax(max-content, 1.45fr) minmax(345px, 1.15fr); gap: 32px; }
  .excel-footer--compact .excel-footer-grid > .excel-footer-col--products { display: block; padding: 0 0 0 clamp(0px, calc(4vw - 50px), 40px); }
  .excel-footer-col--products .excel-footer-title { text-align: left; }
  .excel-footer-col--products .excel-footer-title::after { left: 0; transform: none; }
  .excel-footer-links.excel-footer-links--2col { grid-template-columns: repeat(2, max-content); column-gap: clamp(36px, 3.4vw, 72px); }
}
@media (min-width: 576px) and (max-width: 1199px) {
  .excel-footer-links.excel-footer-links--2col { column-gap: 36px; }
}

/* logo-v3 (per client): same sizing rules now apply to excel-printing-packaging-logo-v3 (1200x312, ~3.84:1, narrower than v2).
   ==== logo-v2: new "Excel | Printing & Packaging / By Excel Cards (Pvt) Ltd." logo (1200x276, ~4.35:1).
   Heights unchanged (header 75px / 70px <=1399px, sticky 70px, footer 66px); width follows the new ratio.
   Footer brand column is only 225px wide at 1200-1399px, narrower than the 287px logo: the box keeps 66px
   height (footer height unchanged) and the image scales down inside it without distortion. ==== */
.excel-footer--compact .excel-footer-logo img { max-width: 100%; object-fit: contain; object-position: left center; }

/* ==== logo-align-v1: put the logo's "Printing & Packaging" line on the same horizontal axis as the nav
   labels / Request a Quote button (measured: wordmark cap-centre sat 7.3px (70px logo) / 7.8px (75px logo)
   below the nav label centre). Visual shift only (transform), so logo and header heights are unchanged;
   at 75px the shift is capped at 6px so the logo stays inside the header bar. Plus a little breathing room
   between the logo and "Home". Desktop only. ==== */
@media (min-width: 1200px) {
  header.header-one .header-main-one-wrapper .thumbnail a img { transform: translateY(-7px); }
  header.header-one .header-main-one-wrapper .thumbnail { margin-right: 16px; }
}
@media (min-width: 1400px) {
  header.header-one .header-main-one-wrapper .thumbnail a img { transform: translateY(-11px); }
}

/* =====================================================================
   brand-colour-v1 (per client): official colours Blue #0785E8 / White #FFFFFF / Black #111111,
   supporting Deep Navy #102F59 only on surfaces that were already dark navy.
   Refinement only: no layout, content, image or JS changes.
   Earlier hard-coded #1D78C4 / #17609C / #17629F / rgba(29,120,196,a) in this file now read the
   tokens below (var(--excel-blue-btn) / var(--excel-blue-dark) / rgba(7,133,232,a)), and heading
   text colours #1C2539 / #0E2341 / #14203A read var(--excel-ink). Old values: see the :root block at the top.
   Contrast (WCAG): #0785E8 on/with white 3.80:1 (AA large text + UI only); hover #0568B5 5.75:1;
   small blue text on white uses --excel-blue-text #0670C4 5.09:1; #111111 on white 18.9:1; white on #102F59 13.4:1.
   ===================================================================== */
:root {
  --excel-blue-btn: #0785E8;      /* Primary Excel Blue: buttons, icons, highlights, active states */
  --excel-blue-dark: #0568B5;     /* hover / pressed shade of the same hue (white text 5.75:1) */
  --excel-blue-text: #0670C4;     /* same hue for small blue TEXT on white (5.09:1, AA) */
  --excel-ink: #111111;           /* Black: headings and readable text */
  --excel-ink-soft: #3D4249;      /* secondary captions only (10.1:1 on white) */
  --excel-navy: #102F59;          /* Deep Navy: existing dark surfaces */
  --excel-radius: 14px;
  --excel-shadow: 0 8px 24px -12px rgba(16,47,89,.18);
  --excel-shadow-hover: 0 14px 30px -14px rgba(7,133,232,.32);
  /* theme variables (style.css) remapped so theme components follow the brand */
  --color-primary: var(--excel-blue-btn);
  --color-heading-1: var(--excel-ink);
  --color-title: var(--excel-ink);
  --color-heading-dark: var(--excel-ink);
  --color-body: var(--excel-ink);
}

/* Global: section headings (pre-label + two-tone h2) */
.title-style-four .pre,
.title-style-one .pre,
.excel-insights .title-style-four .pre { color: var(--excel-blue-text); letter-spacing: .18em; }
.title-style-four .title,
.excel-tm .title-style-one .title { color: var(--excel-ink); }
/* second line was a thin 1px outline that read as light grey -> solid Excel Blue (same pattern as Track Record / Capabilities) */
.title-style-four .title span,
.rts-call-to-action-area .title span,
.bg_call-toaction-4 .cta-four-wrapper .left .title span,
.excel-tm .title-style-one .title span { -webkit-text-stroke: 0; -webkit-text-fill-color: var(--excel-blue-btn); color: var(--excel-blue-btn); }
.excel-tm .title-style-one .title span { font-weight: inherit; }
/* dark panels keep white headings; accent line in light brand blue */
.appoinment-area-four-wrapper .inner .title-style-four .pre { color: #fff; }
.appoinment-area-four-wrapper .inner .title-style-four .title span,
.excel-faq .title-style-four .title span { -webkit-text-fill-color: #61ABE8; color: #61ABE8; }
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .title span.in { -webkit-text-fill-color: transparent; }

/* Buttons: Excel Blue, darker hover, bolder label for readability on 3.8:1 */
.rts-btn.btn-primary { font-weight: 700; }
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary:not(.btn-white):not(.btn-border):hover { color: #fff; } */
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary:not(.btn-white):not(.btn-border)::before { background: var(--excel-blue-dark); } */
/* SUPERSEDED (polish-buttons-v1): .rts-btn.btn-primary:focus-visible { outline-color: var(--excel-blue-btn); } */

/* Header: nav typography, current (Home) + hover state, quote button */
.header-top-one-wrapper p,
.header-top-one-wrapper .mail a, .header-top-one-wrapper .mail a i { color: var(--excel-ink); }
.header-top-one-wrapper p a[href*="wa.me"], .header-top-one-wrapper p a[href*="wa.me"] i { color: var(--excel-blue-text); }
header.header-one .nav-area .main-nav > a { color: var(--excel-ink) !important; font-weight: 600; letter-spacing: .01em; transition: color .2s ease;
  background: linear-gradient(var(--excel-blue-btn), var(--excel-blue-btn)) no-repeat center bottom 0 / 0 2px; padding-bottom: 5px; transition: color .2s ease, background-size .25s ease; }
header.header-one .nav-area .main-nav > a:hover,
header.header-one .nav-area .main-nav:first-child > a { color: var(--excel-blue-btn) !important; background-size: calc(100% - 4px) 2px; }
/* SUPERSEDED (polish-buttons-v1): .excel-quote-btn::before { background: var(--excel-blue-dark); } */

/* Hero: unchanged imagery/overlay/position; light button label in Black */
/* SUPERSEDED (polish-buttons-v1): .banner-four-area-main-wrapper .button-wrapper .rts-btn.btn-white { color: var(--excel-ink); } */
/* SUPERSEDED (polish-buttons-v1): .banner-four-area-main-wrapper .button-wrapper .rts-btn.btn-white:hover { color: #fff; } */

/* About */
.about-content-four .disc, #about .disc { color: var(--excel-ink); }
#about .single-progress-area-incomeing .title, #about .progress-wrapper .title { color: var(--excel-ink); }

/* Our Products: navy cards on the official Deep Navy, centred imagery, subtle hover */
/* SUPERSEDED (product-shade-v1): #products .single-why-choose-four { background: var(--excel-navy); } */
/* SUPERSEDED (product-shade-v1): #products .single-why-choose-four .thumbnail::after { background: linear-gradient(180deg, rgba(16,47,89,0) 62%, rgba(16,47,89,.78) 86%, var(--excel-navy) 100%); } */
#products .single-why-choose-four .inner-content p.disc { color: rgba(255,255,255,.9); }
#products .single-why-choose-four:hover { transform: translateY(-3px); }

/* Industries: card caption on navy, refined carousel controls */
.single-case-studies-four .inner { background: var(--excel-navy); }
.mySwiper-case-studies-5 .swiper-button-next,
.mySwiper-case-studies-5 .swiper-button-prev { border: 1px solid #E1E9F2; box-shadow: var(--excel-shadow); transition: background-color .2s ease, border-color .2s ease; }
.mySwiper-case-studies-5 .swiper-button-next:hover,
.mySwiper-case-studies-5 .swiper-button-prev:hover { background: var(--excel-blue-btn); border-color: var(--excel-blue-btn); }
.mySwiper-case-studies-5 .swiper-button-next:hover i,
.mySwiper-case-studies-5 .swiper-button-prev:hover i { color: #fff; }
.mySwiper-case-studies-5 .swiper-pagination-total { color: var(--excel-ink); }
.mySwiper-case-studies-5 .swiper-pagination-current { color: var(--excel-blue-text); }

/* Certifications: claims untouched; readable cards, navy badge, restrained hover */
.excel-certs__card { border-color: #E1E9F2; border-radius: var(--excel-radius); box-shadow: var(--excel-shadow); }
.excel-certs__card:hover { transform: translateY(-2px); box-shadow: var(--excel-shadow-hover); }
.excel-certs__name { color: var(--excel-ink); }
.excel-certs__sub { color: var(--excel-ink-soft); }
.excel-certs__hex-small, .excel-certs__badge { background: var(--excel-navy); }

/* Track Record */
.excel-counters__num, .excel-counters__num .excel-count { color: var(--excel-blue-btn); }
.excel-counters__desc { color: var(--excel-ink-soft); }

/* Capabilities: light blue background kept; ink text, consistent blue icons, gentler hover */
.excel-capabilities__lead, .excel-capabilities__desc { color: var(--excel-ink-soft); }
.excel-capabilities__lead { color: var(--excel-ink); }
.excel-capabilities__pill { color: var(--excel-blue-text); }
.excel-capabilities__card { border-radius: var(--excel-radius); box-shadow: var(--excel-shadow); }
.excel-capabilities__card:hover { transform: translateY(-2px); box-shadow: var(--excel-shadow-hover); }
.excel-capabilities__card i { color: var(--excel-blue-btn); }

/* Testimonials: blue card kept, deepening to the hover shade behind the text for readability */
.excel-tm .testimonails-8-mian-wrapper { background: linear-gradient(135deg, var(--excel-blue-btn) 0%, var(--excel-blue-dark) 100%); }
.excel-tm .testimonails-8-mian-wrapper .disc { color: #fff; line-height: 1.55; }

/* Packaging Insights */
.excel-insights .excel-insight-badge p, .excel-insights .excel-insight-badge i { color: var(--excel-blue-text) !important; } /* 12px text: darker same-hue blue for AA */
.excel-insights .excel-insights-sub { color: var(--excel-ink-soft); }
.excel-insights .excel-insight-card { border-color: #E1E9F2; border-radius: var(--excel-radius); box-shadow: var(--excel-shadow); transition: box-shadow .25s ease, border-color .25s ease; }
.excel-insights .excel-insight-card:hover { border-color: rgba(7,133,232,.35); box-shadow: var(--excel-shadow-hover); }
.excel-insights .excel-insight-card:hover .title { color: var(--excel-blue-text); }
/* SUPERSEDED (polish-buttons-v1): .excel-insights .excel-insight-cta:hover { background: var(--excel-blue-dark); } */

/* Contact: map kept; dark form panel tinted to Deep Navy, clearer inputs, brand button */
.appoinment-area-four-wrapper { position: relative; }
.appoinment-area-four-wrapper::before { content: ""; position: absolute; inset: 0; background: rgba(16,47,89,.86); pointer-events: none; }
.appoinment-area-four-wrapper .inner { position: relative; z-index: 1; }
.appoinment-area-four-wrapper form input,
.appoinment-area-four-wrapper form textarea { color: var(--excel-ink); border: 1px solid transparent; border-radius: 8px; transition: border-color .2s ease, box-shadow .2s ease; }
.appoinment-area-four-wrapper form input::placeholder,
.appoinment-area-four-wrapper form textarea::placeholder { color: #5A6068; opacity: 1; }
.appoinment-area-four-wrapper form input:focus,
.appoinment-area-four-wrapper form textarea:focus { border-color: var(--excel-blue-btn); box-shadow: 0 0 0 3px rgba(7,133,232,.35); outline: 0; }
/* SUPERSEDED (polish-buttons-v1): .appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white { background: var(--excel-blue-btn); color: #fff; } */
/* SUPERSEDED (polish-buttons-v1): .appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white::before { background: var(--excel-blue-dark); } */
/* SUPERSEDED (polish-buttons-v1): .appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white:hover { color: #fff; } */

/* Footer: layout/logo/heights untouched; ink headings + links, blue icons, Deep Navy copyright bar */
.excel-footer-title, .excel-footer-links a, .excel-footer-tagline,
.excel-footer-contact strong, .excel-footer-contact strong a, .excel-footer-nk, .excel-footer-nw, .excel-addr { color: var(--excel-ink); }
.excel-footer-disc, .excel-footer-contact span:not([class]) { color: var(--excel-ink-soft); }
.excel-footer-links a:hover { color: var(--excel-blue-text); }
.excel-footer-social a { color: var(--excel-blue-btn); }
.excel-footer-social a:hover { background: var(--excel-blue-btn); color: #fff; }
.excel-footer-bar { background: var(--excel-navy); }
.excel-footer-top:hover { color: var(--excel-navy); }
/* ===================== /brand-colour-v1 ===================== */

/* =====================================================================
   polish-buttons-v1 (per client): one button system for every homepage button + small-text readability.
   Default  = Excel Blue gradient 135deg #0785E8 -> #0756B8, white text (3.80:1 at #0785E8, 6.9:1 at #0756B8).
   Hover    = charcoal gradient 135deg #111111 -> #303030, white text (18.9:1 / 12.6:1), 280ms cross-fade,
              max translateY(-2px). Gradients can't transition, so the charcoal layer is the theme's own
              ::before (its #F2F2F2 "sweep" circle is neutralised: full-size, opacity 0 -> 1) or a new ::before.
   Replaces: theme sweep hover, header-btn-hover-v1 and brand-colour-v1 button hovers (marked SUPERSEDED above).
   ===================================================================== */
:root {
  --excel-btn-grad: linear-gradient(135deg, #0785E8 0%, #0756B8 100%);
  --excel-btn-hover: linear-gradient(135deg, #111111 0%, #303030 100%);
  --excel-btn-shadow: 0 6px 16px -8px rgba(7,86,184,.55);
  --excel-btn-shadow-hover: 0 10px 22px -10px rgba(17,17,17,.55);
  --excel-btn-ease: .28s ease;
  --excel-ink-soft: #2B2F35;          /* small text a step darker (13.5:1, was #3D4249 10.1:1) */
}
.excel-footer { --excel-ink-soft: #3D4249; }   /* footer kept exactly as approved */

/* --- Tier 1: theme .rts-btn.btn-primary (header quote, hero, View All Products, CTA, contact submit) --- */
.rts-btn.btn-primary,
.rts-btn.btn-primary.btn-white,
.appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white,
header.header-one .header-main .excel-quote-btn {
  background: var(--excel-btn-grad); color: #fff; border: 0; font-weight: 700; white-space: nowrap;
  box-shadow: var(--excel-btn-shadow); isolation: isolate;
  transition: transform var(--excel-btn-ease), box-shadow var(--excel-btn-ease), color var(--excel-btn-ease), border-color var(--excel-btn-ease);
}
/* SUPERSEDED (hero-buttons-v1): .banner-four-area-main-wrapper .button-wrapper .rts-btn.btn-white { color: #fff; } */
/* secondary (outline) keeps its hierarchy: transparent + white border on the dark hero */
.rts-btn.btn-primary.btn-border { background: transparent; border: 1.5px solid rgba(255,255,255,.85); color: #fff; box-shadow: none; }
/* theme ::before sweep -> static full-size charcoal layer that fades in */
.rts-btn.btn-primary::before,
.rts-btn.btn-primary.btn-white::before,
.appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white::before,
header.header-one .header-main .excel-quote-btn::before {
  top: 0; left: 0; width: 100%; height: 100%; transform: none; border-radius: inherit;
  background: var(--excel-btn-hover); opacity: 0; transition: opacity var(--excel-btn-ease); z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .rts-btn.btn-primary:hover,
  .rts-btn.btn-primary.btn-white:hover,
  .appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white:hover,
  header.header-one .header-main .excel-quote-btn:hover {
    background: var(--excel-btn-grad); color: #fff; transform: translateY(-2px); box-shadow: var(--excel-btn-shadow-hover);
  }
  .rts-btn.btn-primary.btn-border:hover { background: transparent; border-color: #303030; }
  .rts-btn.btn-primary:hover::before,
  .rts-btn.btn-primary.btn-white:hover::before,
  .appoinment-area-four-wrapper form .rts-btn.btn-primary.btn-white:hover::before,
  header.header-one .header-main .excel-quote-btn:hover::before { top: 0; opacity: 1; }
}

/* --- Tier 2: Packaging Insights "Read Article" pill (white arrow disc kept) --- */
.excel-insights .excel-insight-cta { position: relative; isolation: isolate; overflow: hidden; background: var(--excel-btn-grad); box-shadow: var(--excel-btn-shadow);
  transition: transform var(--excel-btn-ease), box-shadow var(--excel-btn-ease); }
.excel-insights .excel-insight-cta::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--excel-btn-hover); opacity: 0; transition: opacity var(--excel-btn-ease); z-index: -1; }
.excel-insights .excel-insight-cta i { transition: transform var(--excel-btn-ease), color var(--excel-btn-ease); }
@media (hover: hover) and (pointer: fine) {
  .excel-insights .excel-insight-cta:hover { background: var(--excel-btn-grad); transform: translateY(-2px); box-shadow: var(--excel-btn-shadow-hover); }
  .excel-insights .excel-insight-cta:hover::before { opacity: 1; }
  .excel-insights .excel-insight-cta:hover i { transform: translateX(3px); color: #111 !important; }
}

/* --- Tier 3: Get a Quote modal buttons (primary / ghost "Back") + search submit --- */
.excel-quote .excel-quote__btn--primary,
.search-input-area .input-div button { position: relative; isolation: isolate; overflow: hidden; background: var(--excel-btn-grad); border-color: transparent; color: #fff; box-shadow: var(--excel-btn-shadow);
  transition: transform var(--excel-btn-ease), box-shadow var(--excel-btn-ease), color var(--excel-btn-ease), border-color var(--excel-btn-ease); }
.excel-quote .excel-quote__btn--ghost { position: relative; isolation: isolate; overflow: hidden; transition: color var(--excel-btn-ease), border-color var(--excel-btn-ease), transform var(--excel-btn-ease); }
.excel-quote .excel-quote__btn--primary::before,
.excel-quote .excel-quote__btn--ghost::before,
.search-input-area .input-div button::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--excel-btn-hover); opacity: 0; transition: opacity var(--excel-btn-ease); z-index: -1; }
@media (hover: hover) and (pointer: fine) {
  .excel-quote .excel-quote__btn--primary:not([disabled]):hover,
  .search-input-area .input-div button:hover { background: var(--excel-btn-grad); border-color: transparent; color: #fff; transform: translateY(-1px); box-shadow: var(--excel-btn-shadow-hover); }
  .excel-quote .excel-quote__btn--ghost:not([disabled]):hover { background: transparent; border-color: transparent; color: #fff; transform: translateY(-1px); }
  .excel-quote .excel-quote__btn--primary:not([disabled]):hover::before,
  .excel-quote .excel-quote__btn--ghost:not([disabled]):hover::before,
  .search-input-area .input-div button:hover::before { opacity: 1; }
}

/* --- shared states --- */
.rts-btn.btn-primary:focus-visible,
.excel-insights .excel-insight-cta:focus-visible,
.excel-quote .excel-quote__btn:focus-visible,
.search-input-area .input-div button:focus-visible { outline: 2px solid #0785E8; outline-offset: 3px; }
.banner-four-area-main-wrapper .rts-btn:focus-visible,
.appoinment-area-four-wrapper .rts-btn:focus-visible { outline-color: #fff; }   /* white ring on dark panels */
.rts-btn.btn-primary:active,
.excel-insights .excel-insight-cta:active,
.excel-quote .excel-quote__btn:not([disabled]):active,
.search-input-area .input-div button:active { transform: translateY(0); box-shadow: 0 3px 8px -6px rgba(17,17,17,.5); }
.rts-btn.btn-primary:disabled, .rts-btn.btn-primary[aria-disabled="true"],
.excel-quote .excel-quote__btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.excel-quote .excel-quote__btn[aria-busy="true"] { cursor: progress; }
.rts-btn.btn-primary:disabled::before, .excel-quote .excel-quote__btn[disabled]::before { opacity: 0 !important; }
@media (max-width: 575px) { .rts-btn.btn-primary { min-height: 47px; } .excel-quote .excel-quote__btn { min-height: 46px; } }
@media (prefers-reduced-motion: reduce) {
  .rts-btn.btn-primary, .rts-btn.btn-primary::before, .excel-insights .excel-insight-cta, .excel-insights .excel-insight-cta::before,
  .excel-quote .excel-quote__btn, .excel-quote .excel-quote__btn::before { transition: none; }
  .rts-btn.btn-primary:hover, .excel-insights .excel-insight-cta:hover, .excel-quote .excel-quote__btn:hover { transform: none; }
}

.excel-quote .excel-quote__btn--primary { border: 1px solid transparent; min-width: 172px; }   /* layout kept from superseded line */
.excel-quote .excel-quote__btn--primary::before { inset: -1px; }   /* cover the 1px border too */
/* --- small-text readability (About, Certifications, Capabilities, Track Record, Insights) --- */
.excel-certs .excel-certs__sub { color: var(--excel-ink-soft); }   /* was #5D666F (5.9:1); size kept at 13.5px so heights don't move */
.excel-insights .excel-insight-desc { color: var(--excel-ink-soft); }   /* was #5D666F (5.9:1) */
/* ===================== /polish-buttons-v1 ===================== */

/* =====================================================================
   hero-buttons-v1 (per client): hero banner buttons only (all 3 slides), per client reference image.
   Explore Products: Excel Blue gradient -> white face, navy #10243D text on hover.
   Get a Quote: frosted glass + thin white border -> white face, navy text on hover.
   Focus/active: white face, navy text, 2px #0785E8 ring (offset 3px) with a soft glow.
   The polish-buttons-v1 ::before layer is reused here as a WHITE layer (opacity fade, 250ms),
   so the charcoal hover never paints on these two buttons. Size, padding, spacing unchanged.
   ===================================================================== */
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary {
  border-radius: 12px; color: #fff;
  transition: color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-white {
  background: linear-gradient(135deg, #0785E8 0%, #0756B8 100%); border: 0;
  box-shadow: 0 8px 20px -10px rgba(7,133,232,.65);
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border {
  background: rgba(255,255,255,.08);       /* fallback without backdrop-filter */
  border: 1px solid rgba(255,255,255,.8); box-shadow: 0 8px 20px -12px rgba(0,0,0,.45);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border {
    background: rgba(255,255,255,.12); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  }
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary::before {
  top: 0; left: 0; width: 100%; height: 100%; transform: none; border-radius: inherit;
  background: #fff; opacity: 0; transition: opacity .25s ease; z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:hover {
    color: #10243D; transform: translateY(-1px); box-shadow: 0 10px 24px -12px rgba(0,0,0,.55);
  }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-white:hover {
    background: linear-gradient(135deg, #0785E8 0%, #0756B8 100%);
  }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:hover { border-color: #fff; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:hover::before { opacity: 1; }
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:focus-visible,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:active {
  color: #10243D; outline: 2px solid #0785E8; outline-offset: 3px; box-shadow: 0 0 0 6px rgba(7,133,232,.22);
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:active { transform: translateY(0); }
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:focus-visible,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:active { border-color: #fff; }
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:focus-visible::before,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:active::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary,
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary::before { transition: none; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:hover { transform: none; }
}
/* ===================== /hero-buttons-v1 ===================== */

/* =====================================================================
   hero-buttons-v2 (per client): hero "Get a Quote" (secondary) only. Explore Products unchanged from v1.
   Hover: black-to-blue gradient 135deg #111111 -> #0756B8, white text (white on #0756B8 = 6.9:1).
   Focus / focus-visible / active (also mouse click): white face, #10243D text, 2px #0785E8 ring (border+outline) + soft blue glow.
   Uses the same ::before layer (no sweep): gradient on hover, white on focus.
   ===================================================================== */
/* SUPERSEDED (hero-buttons-v3, per client: black-to-blue hover removed; v1 white hover applies again)
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border::before {
  top: -1px; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px); transform: none;
  background: linear-gradient(135deg, #111111 0%, #0756B8 100%); opacity: 0; transition: opacity .25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:hover { color: #fff; border-color: #0756B8; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:hover::before { opacity: 1; }
}
*/
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:focus,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:focus-visible,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:active {
  background: #fff; color: #10243D; border: 1px solid #0785E8; outline: 1px solid #0785E8; outline-offset: 0;   /* 1px border + 1px outline = 2px ring, no size change */
  box-shadow: 0 0 0 4px rgba(7,133,232,.28), 0 8px 22px -10px rgba(7,133,232,.6);
}
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:focus::before,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:focus-visible::before,
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:active::before { background: #fff; opacity: 1; top: 0; left: 0; width: 100%; height: 100%; }
/* ===================== /hero-buttons-v2 ===================== */


/* ===== hero-buttons-v3 (per client): approved reference. Both hero buttons hover to solid white + #10243D;
   the v2 black-to-blue hover is superseded above. Focus/active ring from v1/v2 kept (no size change). ===== */
.banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary::before { background: #fff; }
@media (hover: hover) and (pointer: fine) {
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary:hover { color: #10243D; }
  .banner-four-area-main-wrapper .inner-content-wrapper-four-banner .button-wrapper .rts-btn.btn-primary.btn-border:hover { border-color: #fff; box-shadow: 0 10px 24px -12px rgba(0,0,0,.55); }
}
/* ===================== /hero-buttons-v3 ===================== */

/* ===== products-expand-v1 (per client): round chevron toggle under the first product row + collapsible second row.
   Rows: row 1 -> 40px -> toggle -> (open) 40px -> row 2 -> existing 50px -> View All Products. ===== */
#products .excel-products-toggle { display: flex; justify-content: center; margin-top: 40px; }
#products .excel-products-toggle__btn {
  width: 52px; height: 52px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; color: #fff;
  background: linear-gradient(135deg, #0785E8 0%, #0756B8 100%);
  box-shadow: 0 8px 20px -8px rgba(7,86,184,.6);
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}
#products .excel-products-toggle__btn svg { transition: transform .4s ease; }
#products .excel-products-toggle__btn[aria-expanded="true"] svg { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) {
  #products .excel-products-toggle__btn:hover { filter: brightness(.88); transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(7,86,184,.7); }
}
#products .excel-products-toggle__btn:active { transform: translateY(0); }
#products .excel-products-toggle__btn:focus-visible { outline: 2px solid #0785E8; outline-offset: 3px; }
#products .excel-products-more { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .4s ease, opacity .4s ease, margin-bottom .4s ease; }
#products .excel-products-more.is-open { grid-template-rows: 1fr; opacity: 1; }
#products .excel-products-more__inner { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear .4s; }
#products .excel-products-more.is-open .excel-products-more__inner { visibility: visible; transition-delay: 0s; }
#products .excel-products-more__pad { padding: 40px 0 60px; }        /* 60px keeps the card shadow / hover glow unclipped */
#products .excel-products-more.is-open { margin-bottom: -36px; }     /* net 24px extra above View All */
@media only screen and (max-width: 767px) {
  #products .excel-products-toggle__btn { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  #products .excel-products-more, #products .excel-products-toggle__btn, #products .excel-products-toggle__btn svg { transition: none; }
  #products .excel-products-more__inner { transition: none; }
}
/* ===================== /products-expand-v1 ===================== */

/* ===== product-shade-v1 (per client): black-to-charcoal shade on the lower content area of ALL #products cards
   (first row + products-expand-v1 row). Replaces the navy card base + navy thumbnail::after fade (marked SUPERSEDED).
   Image stays clear; text white; Explore More keeps #61ABE8 (contrast on #111 7.6:1, AA). ===== */
#products .single-why-choose-four { background: #111111; }
#products .single-why-choose-four .thumbnail::after {  /* shade only the lower band of the image, behind title/description; ends at #111 = card base */
  top: auto; bottom: -1px; left: 0; right: 0; height: 40%; z-index: 1; border-radius: 0;
  background: linear-gradient(to bottom, rgba(17,17,17,0.05) 0%, rgba(17,17,17,0.88) 55%, #111111 100%);
}
/* ===================== /product-shade-v1 ===================== */
