/* =============================================================
   DEFENCE PAGE - /defence.html
   1. Hero - reuses .au-hero / .au-breadcrumb / .au-hero__btn
   2. Overview - reuses .au-overview (defence page is single-col;
      we drop the 2-col grid here)
   3. Products list (numbered)
   4. Aftermarket grid
   5. Certifications list
   6. Contact block
   ============================================================= */

/* ── AI-disclosure badge over the ship images ──────────────
   Sits as a small frosted-glass pill in a corner of the hero
   banner and the overview ship image, calling out that the
   imagery is AI-generated. Discreet but legible. */
.def-ai-badge {
  position: absolute;
  z-index: 4;
  bottom: clamp(12px, 1.6vw, 20px);
  left: clamp(12px, 1.6vw, 20px);
  margin: 0;
  padding: 6px 12px;
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-xs);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(10, 8, 9, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  pointer-events: none;
  max-width: calc(100% - 32px);
  white-space: normal;
}
/* Overview image variant: the .au-overview__stage has the image as a
   full-bleed background and a black .au-overview__band covering the
   bottom half. The visible "image" is therefore the TOP portion of
   the stage - so anchor the badge top-right, not bottom-right.
   Also account for the .au-breadcrumb that crosses the top edge of
   the stage at the section seam. */
.def-ai-badge--overview {
  bottom: auto;
  left: auto;
  top: clamp(14px, 2vw, 22px);
  right: clamp(14px, 2vw, 22px);
}
@media (max-width: 767px) {
  .def-ai-badge {
    /* Make sure the pill never crowds the scroll-hint or breadcrumb on
       narrow viewports - drop the font and tighten the corner inset. */
    font-size: 10px;
    padding: 5px 10px;
    bottom: 8px;
    left: 8px;
    max-width: calc(100% - 16px);
  }
  .def-ai-badge--overview {
    bottom: auto;
    left: auto;
    top: 8px;
    right: 8px;
  }
}

/* ── Hero sub-headline (sits below .au-hero__title) ────── */
.def-hero__sub {
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  font-size: var(--fs-m);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  max-width: 60ch;
  margin: 0 0 clamp(20px, 2.4vw, 32px);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

/* ── Overview band: 2-column (stats left, copy right) ──── */
.au-overview__band-right {
  max-width: 80ch;
}

/* ── Stats column (mirrors products page intro layout) ─── */
.au-overview__band-left {
  align-items: center;
  justify-content: flex-start;
}
.pr-stats {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  min-height: 0;
  padding: 0;
  background: transparent;
  display: block;
  overflow: visible;
}
.pr-stats::after { display: none; }
.pr-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(12px, 1.6vw, 24px) clamp(20px, 2.4vw, 36px);
  border-top: none;
  border-bottom: none;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pr-stats .stats__cell {
  border: none;
  background: transparent;
  padding: clamp(12px, 1.4vw, 18px) clamp(8px, 1vw, 14px) clamp(12px, 1.4vw, 18px) 0;
  gap: 4px;
}
.pr-stats .stats__cell::before,
.pr-stats .stats__cell::after { display: none; }
.pr-stats .stats__num {
  font-size: clamp(28px, 3vw, 40px);
}
.pr-stats .pr-stats__num-unit {
  font-size: 1em;
  font-weight: 700;
  margin-left: 2px;
  color: inherit;
}
.pr-stats .stats__label {
  font-size: var(--fs-s);
  color: rgba(255,255,255,0.72);
  max-width: 24ch;
}

@media (max-width: 1023px) {
  .pr-stats__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 599px) {
  .pr-stats__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   1b. CAPABILITIES - "Why Triveni for defence" + marine-platform
       expansion footnote. Light section that breaks up the dark
       rhythm between Overview and Products.
   ═══════════════════════════════════════════════════════════ */
.def-capabilities {
  background: #0A0809;
  padding: clamp(64px, 8vw, 100px) 0;
}
.def-capabilities__inner {
  max-width: var(--container, 1320px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 80px);
}
.def-capabilities__header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: clamp(36px, 4vw, 56px);
  max-width: 70ch;
}
.def-capabilities__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-l);
  font-weight: 700;
  line-height: 1.15;
  color: #FFFFFF;
  margin: 0;
}
.def-capabilities__sub {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.70);
  margin: 0;
}

/* 7-card grid (4-up on desktop, 2-up on tablet, 1-up on mobile) */
.def-cap-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 1.8vw, 24px);
}
.def-cap-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 4px;
  padding: clamp(24px, 2.2vw, 30px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color 220ms ease, transform 220ms ease;
}
.def-cap-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}
[data-theme="light"] .def-cap-card {
  background: var(--paper-elev, #F5F4F1);
  border-color: var(--ink-06);
}
[data-theme="light"] .def-cap-card:hover { border-color: var(--accent); }
.def-cap-card__icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
}
.def-cap-card__icon svg {
  width: 100%;
  height: 100%;
}
.def-cap-card__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 700;
  line-height: 1.3;
  color: #FFFFFF;
  margin: 0;
}
.def-cap-card__body {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-s);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.70);
  margin: 0;
}

/* "Looking ahead" expansion footnote */
.def-expansion {
  margin-top: clamp(56px, 6vw, 88px);
  padding-top: clamp(36px, 4vw, 48px);
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}
.def-expansion__eyebrow {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent, #F58220);
  margin: 0 0 10px;
}
.def-expansion__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 700;
  line-height: 1.25;
  color: #FFFFFF;
  margin: 0 0 10px;
}
.def-expansion__sub {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 20px;
  max-width: 60ch;
}
.def-expansion__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.def-expansion__chip {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-s);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 100px;
  padding: 9px 18px;
  transition: border-color 200ms ease, color 200ms ease, background 200ms ease;
}
.def-expansion__chip:hover {
  border-color: var(--accent, #F58220);
  color: var(--accent, #F58220);
  background: rgba(245, 130, 32, 0.08);
}

/* ═══════════════════════════════════════════════════════════
   2. PRODUCTS - numbered list of equipment families
   ═══════════════════════════════════════════════════════════ */
.def-products {
  background: #0A0809;
  color: #FFFFFF;
  padding: clamp(64px, 8vw, 100px) 0;
  position: relative;
}
.def-products__inner {
  max-width: var(--container, 1320px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 80px);
}

.def-products__header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: clamp(36px, 4vw, 56px);
  max-width: 68ch;
}
.def-products__eyebrow {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent, #F58220);
  margin: 0;
}
.def-products__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-l);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: #FFFFFF;
  margin: 0;
}
.def-products__sub {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.70);
  margin: 0;
}

.def-products__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}
.def-product {
  position: relative;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}
.def-product:hover {
  border-color: rgba(245, 130, 32, 0.40);
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-2px);
}
.def-product__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: linear-gradient(135deg, #1a1416 0%, #0A0809 60%, #231F20 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 2vw, 32px);
}
.def-product__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 600ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.def-product:hover .def-product__media img {
  transform: scale(1.04);
}
.def-product__body {
  padding: clamp(24px, 2.6vw, 32px);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.def-product__num {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: var(--fs-s);
  letter-spacing: 0.04em;
  color: var(--accent, #F58220);
  margin-bottom: 14px;
}
.def-product__name {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 700;
  line-height: 1.25;
  color: #FFFFFF;
  margin: 0 0 12px;
}
.def-product__copy {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.70);
  margin: 0;
}
.def-product__copy--list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.def-product__copy--list li {
  position: relative;
  padding-left: 16px;
}
.def-product__copy--list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent, #F58220);
}

/* ═══════════════════════════════════════════════════════════
   3. AFTERMARKET - service & repair grid
   ═══════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════
   3. AFTERMARKET - dark by default (matches the rest of the
   defence page); light-mode override at the bottom of file.
   Card layout: icon LEFT, title RIGHT - 2 cols on desktop,
   1 col on mobile.  Subtle accent left-edge line on hover.
   ═══════════════════════════════════════════════════════════ */
.def-aftermarket {
  background: #0A0809;
  padding: clamp(64px, 8vw, 100px) 0;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* ── Aurora background - drifting orange + yellow + blue + green gradients
       ported from home Engineering section. ─────────────────────── */
.def-aftermarket__aurora {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.def-aftermarket__aurora-layer {
  position: absolute;
  inset: -20%;
  filter: blur(48px);
  will-change: transform, background-position;
}
.def-aftermarket__aurora-layer--a {
  background:
    repeating-linear-gradient(
      100deg,
      rgba(245,130,32,0.00) 0%,
      rgba(245,130,32,0.00) 7%,
      rgba(245,130,32,0.32) 10%,
      rgba(255,194,14,0.32) 15%,
      rgba(245,130,32,0.00) 20%,
      rgba(245,130,32,0.00) 25%
    ),
    repeating-linear-gradient(
      100deg,
      rgba(35,31,32,0)   0%,
      rgba(35,31,32,0)  10%,
      rgba(35,31,32,0.40) 12%,
      rgba(35,31,32,0)  14%,
      rgba(35,31,32,0)  22%
    );
  background-size: 300% 200%;
  opacity: 0.55;
  mix-blend-mode: screen;
  animation: defAftAuroraDrift 42s linear infinite;
}
.def-aftermarket__aurora-layer--b {
  background:
    repeating-linear-gradient(
      100deg,
      rgba(23,71,158,0.00) 0%,
      rgba(23,71,158,0.00) 12%,
      rgba(23,71,158,0.30) 16%,
      rgba(118,176,67,0.16) 22%,
      rgba(23,71,158,0.00) 28%,
      rgba(23,71,158,0.00) 40%
    );
  background-size: 280% 220%;
  opacity: 0.50;
  mix-blend-mode: screen;
  animation: defAftAuroraDrift 56s linear infinite reverse;
}
@keyframes defAftAuroraDrift {
  0%   { background-position: 0% 0%,   0% 0%; }
  50%  { background-position: 200% 50%, 200% 50%; }
  100% { background-position: 0% 0%,   0% 0%; }
}
@media (prefers-reduced-motion: reduce) {
  .def-aftermarket__aurora-layer { animation: none !important; }
}
.def-aftermarket__inner {
  position: relative;
  z-index: 1;
  max-width: var(--container, 1320px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 80px);
}
.def-aftermarket__header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: clamp(36px, 4vw, 56px);
  max-width: 68ch;
}
.def-aftermarket__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-l);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: #FFFFFF;
  margin: 0;
}
.def-aftermarket__sub {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.70);
  margin: 0;
}

.def-aftermarket__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(14px, 1.6vw, 20px);
}
.def-aft-card {
  position: relative;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 4px;
  padding: clamp(22px, 2.2vw, 30px) clamp(24px, 2.4vw, 32px);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: clamp(20px, 2.2vw, 28px);
  transition: border-color 220ms ease, transform 220ms ease;
  overflow: hidden;
}
.def-aft-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
}
[data-theme="light"] .def-aft-card {
  background: var(--paper-elev, #F5F4F1);
  border-color: var(--ink-06);
}
[data-theme="light"] .def-aft-card:hover { border-color: var(--accent); }
.def-aft-card__icon-wrap {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.def-aft-card__icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: transform 320ms ease;
  /* SVGs ship pre-coloured Triveni orange - no filter needed in either theme. */
}
.def-aft-card:hover .def-aft-card__icon {
  transform: scale(1.05);
}
.def-aft-card__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 600;
  line-height: 1.4;
  color: #FFFFFF;
  margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   4. CERTIFICATIONS - text-based, no images
   ═══════════════════════════════════════════════════════════ */
.def-certs {
  background: #0A0809;
  color: #FFFFFF;
  padding: clamp(64px, 8vw, 100px) 0;
}
.def-certs__inner {
  max-width: var(--container, 1320px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 80px);
}
.def-certs__header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: clamp(32px, 4vw, 48px);
  max-width: 68ch;
}
.def-certs__eyebrow {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent, #F58220);
  margin: 0;
}
.def-certs__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-l);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: #FFFFFF;
  margin: 0;
}
.def-certs__sub {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.70);
  margin: 0;
}

.def-certs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}
.def-cert {
  padding: clamp(18px, 2vw, 24px) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
/* Left column - pad away from the centre divider (symmetric with the right). */
.def-cert:nth-child(2n-1) {
  padding-right: clamp(20px, 3vw, 40px);
}
/* Right column - centre divider + matching inset. No margin: the columns
   sit flush so the row dividers run continuously across and cross the
   vertical line cleanly (the old margin-left broke them mid-row). */
.def-cert:nth-child(2n) {
  padding-left: clamp(20px, 3vw, 40px);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
}
.def-cert__name {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 700;
  color: #FFFFFF;
}
.def-cert__detail {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-s);
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════
   5. CONTACT - copy + people
   ═══════════════════════════════════════════════════════════ */
.def-contact {
  background: #0A0809;
  padding: clamp(64px, 8vw, 100px) 0;
}
.def-contact__inner {
  max-width: var(--container, 1320px);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 80px);
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

.def-contact__eyebrow {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent, #F58220);
  margin: 0 0 12px;
}
.def-contact__title {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-l);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: #FFFFFF;
  margin: 0 0 24px;
}
/* Accent the last word(s) of these section titles in orange. */
.def-aftermarket__title em,
.def-news__title em,
.def-contact__title em {
  font-style: normal;
  color: var(--accent, #F58220);
}
.def-contact__address {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 12px;
}
.def-contact__phone {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 28px;
}
.def-contact__phone a {
  color: #FFFFFF;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 200ms ease, border-color 200ms ease;
}
.def-contact__phone a:hover {
  color: var(--accent, #F58220);
  border-color: currentColor;
}

.def-contact__ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* .def-btn / --primary / --ghost visual rules moved to css/buttons.css
   under canonical .btn--accent and .btn--outline kinds. */

.def-contact__people {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 8px;
}
.def-person {
  padding: 24px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
}
.def-person__name {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 4px;
}
.def-person__role {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-s);
  color: rgba(255, 255, 255, 0.65);
  margin: 0 0 12px;
  line-height: 1.45;
}
.def-person__phone {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-s);
  margin: 0;
}
.def-person__phone a {
  color: #FFFFFF;
  font-weight: 600;
  text-decoration: none;
  transition: color 200ms ease;
}
.def-person__phone a:hover { color: var(--accent, #F58220); }

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE - dark sections (hero, overview, products, certs)
   stay dark. Flip the aftermarket and contact sections only
   slightly; they're already light by default.
   ═══════════════════════════════════════════════════════════ */
[data-theme="light"] .def-capabilities {
  background: #F5F4F1;
}
[data-theme="light"] .def-capabilities__title { color: #231F20; }
[data-theme="light"] .def-capabilities__sub   { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-cap-card {
  background: #FFFFFF;
  border-color: rgba(35, 31, 32, 0.08);
}
[data-theme="light"] .def-cap-card:hover {
  background: #FFFFFF;
  border-color: rgba(245, 130, 32, 0.40);
  box-shadow: 0 10px 28px rgba(35, 31, 32, 0.06);
}
[data-theme="light"] .def-cap-card__title { color: #231F20; }
[data-theme="light"] .def-cap-card__body  { color: rgba(35, 31, 32, 0.8); }

[data-theme="light"] .def-expansion         { border-top-color: rgba(35, 31, 32, 0.10); }
[data-theme="light"] .def-expansion__title  { color: #231F20; }
[data-theme="light"] .def-expansion__sub    { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-expansion__chip {
  color: #231F20;
  background: #FFFFFF;
  border-color: rgba(35, 31, 32, 0.14);
}
[data-theme="light"] .def-expansion__chip:hover {
  background: rgba(245, 130, 32, 0.08);
  color: var(--accent, #F58220);
  border-color: var(--accent, #F58220);
}

[data-theme="light"] .def-products {
  background: #FAFAF8;
}
[data-theme="light"] .def-products__title { color: #231F20; }
[data-theme="light"] .def-products__sub   { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-product {
  background: #FFFFFF;
  border-color: rgba(35, 31, 32, 0.08);
}
[data-theme="light"] .def-product:hover {
  background: #FFFFFF;
  border-color: rgba(245, 130, 32, 0.55);
}
[data-theme="light"] .def-product__media {
  background: #FAFAF8;
}
/* Featured products (first two cards) carry a wider, cinematic media at all sizes. */
.def-product--featured .def-product__media { aspect-ratio: 16 / 10; }
[data-theme="light"] .def-product__name { color: #231F20; }
[data-theme="light"] .def-product__copy { color: rgba(35, 31, 32, 0.8); }

[data-theme="light"] .def-aftermarket {
  background: #F5F4F1;
}
/* Aurora: keep visible on light bg via multiply blend + lower opacity */
[data-theme="light"] .def-aftermarket__aurora-layer {
  mix-blend-mode: multiply;
  opacity: 0.28;
  filter: blur(56px);
}
[data-theme="light"] .def-aftermarket__title { color: #231F20; }
[data-theme="light"] .def-aftermarket__sub   { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-aft-card {
  background: #FFFFFF;
  border-color: rgba(35, 31, 32, 0.08);
}
[data-theme="light"] .def-aft-card:hover {
  background: #FFFFFF;
  border-color: rgba(245, 130, 32, 0.40);
  box-shadow: 0 10px 28px rgba(35, 31, 32, 0.06);
}
[data-theme="light"] .def-aft-card__title { color: #231F20; }

[data-theme="light"] .def-certs {
  background: #F5F4F1;
}
[data-theme="light"] .def-certs__title       { color: #231F20; }
[data-theme="light"] .def-certs__sub         { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-certs__list        { border-top-color: rgba(35, 31, 32, 0.10); }
[data-theme="light"] .def-cert               { border-bottom-color: rgba(35, 31, 32, 0.10); }
[data-theme="light"] .def-cert:nth-child(2n) { border-left-color: rgba(35, 31, 32, 0.10); }
[data-theme="light"] .def-cert__name         { color: #231F20; }
[data-theme="light"] .def-cert__detail       { color: rgba(35, 31, 32, 0.58); }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
/* Featured 2-up products row (desktop): 7 cards laid out as 2 (featured) / 3 / 2 (centred). */
@media (min-width: 1024px) {
  .def-products__list      { grid-template-columns: repeat(6, 1fr); }
  .def-product--featured   { grid-column: span 3; }
  .def-product:nth-child(3),
  .def-product:nth-child(4),
  .def-product:nth-child(5) { grid-column: span 2; }
  .def-product:nth-child(6) { grid-column: 2 / span 2; }
  .def-product:nth-child(7) { grid-column: 4 / span 2; }
  .def-product--featured .def-product__name { font-size: clamp(20px, 1.5vw, 26px); }
}

@media (max-width: 1023px) {
  .def-cap-grid       { grid-template-columns: repeat(2, 1fr); }
  .def-products__list { grid-template-columns: repeat(2, 1fr); }
  /* Flagship card spans full width so the 7-card set has no orphan row. */
  .def-product:first-child { grid-column: 1 / -1; }
  .def-certs__list    { grid-template-columns: 1fr; }
  .def-cert:nth-child(2n) {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
  }
  .def-aftermarket__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .def-contact__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 599px) {
  .def-cap-grid       { grid-template-columns: 1fr; }
  .def-products__list { grid-template-columns: 1fr; }
}

@media (max-width: 599px) {
  .def-products__title,
  .def-aftermarket__title,
  .def-capabilities__title,
  .def-certs__title { font-size: var(--fs-l); }
  .def-aftermarket__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   LIGHT MODE — Contact section: flip to warm paper
   ═══════════════════════════════════════════════════════════ */
[data-theme="light"] .def-contact {
  background: #FFFFFF;
}
[data-theme="light"] .def-contact__title       { color: #231F20; }
[data-theme="light"] .def-contact__address     { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-contact__phone       { color: rgba(35, 31, 32, 0.8); }
[data-theme="light"] .def-contact__phone a     { color: #231F20; }
/* .def-btn--ghost light-mode rules moved to css/buttons.css. */
[data-theme="light"] .def-person {
  background: #FAFAF8;
  border-color: rgba(35, 31, 32, 0.08);
}
[data-theme="light"] .def-person__name  { color: #231F20; }
[data-theme="light"] .def-person__role  { color: rgba(35, 31, 32, 0.58); }
[data-theme="light"] .def-person__phone a { color: #231F20; }

/* Defence overview bullets - orange-dot list under the lead
   paragraph in the .au-overview band. Matches the typographic
   weight of .au-overview__p2 with 7x7 brand-orange dots per the
   site-wide bullet rule. */
.def-overview__bullets {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.def-overview__bullets li {
  font-family: "Raleway", sans-serif;
  font-size: var(--fs-m);
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.80);
  padding-left: 18px;
  position: relative;
}
.def-overview__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent, #F58220);
}
/* No light-mode override here: this band always sits over the dark ship
   image, so the bullets must stay light in both themes. */
