/* ============================================================
   VIGOR GROUP — Business Verticals  (v3 · SOVEREIGN)
   Navy + ivory + champagne gold, heritage-red spark.
   Built on shared tokens/components; gold/red accents only.
   ============================================================ */

/* ---------- Page intro impact band (dark) ---------- */
.biz-intro { position: relative; overflow: hidden; }
.biz-intro__grid {
  display: grid; grid-template-columns: 1fr; gap: clamp(32px, 5vw, 64px);
  align-items: end;
}
@media (min-width: 880px) { .biz-intro__grid { grid-template-columns: 1.2fr .8fr; } }

.biz-intro__title { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h2); letter-spacing: var(--tracking-display); line-height: var(--lh-snug); }
.biz-intro__lede .lead { margin-top: var(--s-4); }

/* stats row */
.biz-intro__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); }
@media (max-width: 620px) { .biz-intro__stats { grid-template-columns: 1fr; gap: var(--s-4); } }

/* marquee band */
.biz-marquee { margin-top: clamp(40px, 5vw, 72px); border-top: 1px solid var(--d-line); border-bottom: 1px solid var(--d-line); padding-block: clamp(16px, 2vw, 24px); }

/* ---------- Sector sections ---------- */
.sector { position: relative; }

/* Editorial sector head: big italic index + eyebrow + title */
.sector-head { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: start; margin-bottom: clamp(28px, 3vw, 44px); }
.sector-head .section-index {
  grid-row: 1 / span 2; align-self: start; padding-right: 6px;
  font-family: var(--font-display); font-style: italic; color: var(--red-500);
  font-size: clamp(2rem, 1.5rem + 2vw, 3.2rem); line-height: 1;
}
.sector-head .eyebrow { grid-column: 2; }
.sector-head .section-title { grid-column: 2; text-wrap: balance; }

/* ---------- Sector banner image ---------- */
.sector-banner { position: relative; border-radius: var(--r-lg); overflow: hidden; margin-bottom: clamp(28px, 3vw, 40px); box-shadow: var(--sh); aspect-ratio: 21/9; }
.sector-banner img { width: 100%; height: 100%; object-fit: cover; }
.sector-banner::after {
  content: ""; position: absolute; inset: 0; border-radius: var(--r-lg);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); pointer-events: none;
}
/* icon-only banner for sectors without a photo */
.sector-banner--brand { background: var(--grad-brand); display: grid; place-items: center; aspect-ratio: 21/6; overflow: hidden; }
.sector-banner--brand::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 30%, rgba(194,162,94,.20), transparent 60%);
}
.sector-banner__icon svg { width: 54px; height: 54px; color: var(--gold-300); position: relative; z-index: 1; }

/* ---------- Accordion polish (scoped to sectors) ---------- */
.sector .accordion { border-top: none; margin-top: 0; }
.sector .acc-trigger { gap: 18px; }
.sector .acc-trigger em { font-style: normal; color: var(--muted); font-weight: 500; }
.section--alt .acc-trigger { color: var(--ink); }

/* open state: subtle gold wash + brand seam on the left */
.sector .acc-item:has(.acc-trigger[aria-expanded="true"]) {
  background: rgba(194,162,94,.08);
  box-shadow: inset 3px 0 0 var(--gold-500);
}
.sector .acc-trigger[aria-expanded="true"] { color: var(--gold-700); }

/* core-service lists inside panels (e.g. V-Diesel) */
.acc-list-head { font-weight: 700; color: var(--ink); margin-top: 6px; }
.acc-list { display: grid; gap: 8px; margin-top: 10px; }
.acc-list li { position: relative; padding-left: 20px; color: var(--slate); }
.acc-list li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--gold-500); }

/* ---------- responsive ---------- */
@media (max-width: 620px) {
  .sector-head { grid-template-columns: 1fr; }
  .sector-head .section-index { grid-row: auto; }
}

/* ---------- CTA band (mirrors house pattern) ---------- */
.cta-band {
  position: relative; border-radius: var(--r-2xl); overflow: hidden; isolation: isolate;
  background: var(--grad-navy); color: #fff;
  padding: clamp(48px, 6vw, 88px) clamp(28px, 5vw, 80px);
  text-align: center;
}
.cta-band::before {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: .14;
  background: url("../../img/waves-top.svg") top center/cover no-repeat;
}
.cta-band h2 { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h2); max-width: 20ch; margin: 14px auto 0; letter-spacing: var(--tracking-display); line-height: 1.06; text-wrap: balance; }
.cta-band .lead { color: rgba(241,236,225,.85); max-width: 54ch; margin: 18px auto 0; }
.cta-band .btn-row { margin-top: 32px; }
