/* MIL website change log - round 1 (see CHANGES.md). Loaded after site.css. */
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/roboto-700.woff2") format("woff2"); }
:root { --section-space: 5rem; --num: "Roboto", "Lato", sans-serif; }
@media (max-width: 74.9375rem) { :root { --section-space: 4.25rem; } }
@media (max-width: 47.5rem) { :root { --section-space: 3rem; } }

/* ---------- O2 typography: bolder, consistent ---------- */
.lead { font-size: 1.125rem; line-height: 1.6; }
.mf-nav-trigger, .mf-nav-item { font-weight: 700; }
:is(.feat-card, .bz-why li, .bz-card, .kpi, .chan, .award-card, .dir-card, .lead-card, .news-card, .post-card, .press-row, .bz-steps li) h3,
:is(.feat-card, .bz-why li, .bz-card, .chan) h4 { font-family: "Lato", sans-serif !important; font-weight: 700 !important; letter-spacing: 0 !important; font-size: 1.1875rem !important; line-height: 1.3 !important; min-height: 0 !important; text-box-trim: none; }
:is(.feat-card, .bz-why li, .bz-card) p { color: var(--body); font-size: 1rem; line-height: 1.55; }

/* ---------- H3 numbers in Roboto Bold ---------- */
.fstat strong, .inv-stats strong, .kpi strong, .ev .yr, .era-head small, .bz-n, .stage small, .timeline small, .num, .chan .num, dd { font-family: var(--num) !important; font-weight: 700 !important; letter-spacing: -.01em !important; }
.kpi strong { color: var(--ink) !important; font-size: 2.5rem !important; }

/* ---------- O1 red only for small labels and section headers ---------- */
.red-sq { background: #fff; color: var(--red); border: 1px solid var(--line); width: 3.5rem; height: 3.5rem; }
.section:not(.cream) .red-sq { background: var(--cream); border-color: transparent; }
.red-sq svg { width: 1.75rem !important; height: 1.75rem !important; }

/* NC2 pre-footer: dark card on white, not a full red band */
.enquiry { background: #fff !important; background-image: none !important; color: var(--ink); padding-block: var(--section-space) !important; }
.enquiry::before, .enquiry::after { display: none !important; }
.enquiry > .mf-inner { background: var(--footer); color: #fff; border-radius: 1.5rem; padding: 3.5rem 4rem; position: relative; overflow: hidden; }
.enquiry > .mf-inner::after { content: ''; position: absolute; right: -4rem; top: -4rem; width: 18rem; height: 18rem; border-radius: 50%; border: 1px solid #ffffff1f; box-shadow: 0 0 0 3rem #ffffff08, 0 0 0 6rem #ffffff05; pointer-events: none; }
.enquiry h2 { color: #fff; }
.enquiry .lead, .enquiry p { color: #ffffffc2; }
.section.cream + .enquiry, .bz.cream + .enquiry { background: var(--cream) !important; }
@media (max-width: 47.5rem) { .enquiry > .mf-inner { padding: 2.25rem 1.5rem; border-radius: 1.125rem; width: calc(100% - 2rem); } }

/* ---------- B5 remove eyebrow labels and decorative eyebrow images ---------- */
.hero-label, .bz-kicker, .growth-eyebrow, .mm-label, .mm-kicker { display: none !important; }
.dots-top { background-image: none !important; }
.dots-top::before, .dots-top::after { display: none !important; }

/* ---------- H2 smaller logo ---------- */
.mf-logo-wrap { width: 7.75rem !important; margin-top: 0 !important; }
.mf-logo { width: 7.75rem !important; height: 4.5rem !important; object-position: left center !important; }
@media (max-width: 74.9375rem) { .mf-logo-wrap, .mf-logo { width: 6.5rem !important; } .mf-logo { height: 3.75rem !important; } }
@media (max-width: 47.5rem) { .mf-logo-wrap, .mf-logo { width: 5.25rem !important; } .mf-logo { height: 3rem !important; } }

/* ---------- NC3 curated business menu (no photos) ---------- */
.mega-panel .mm-body { padding: 2.25rem 2.5rem !important; background: var(--cream); }
.mega-panel .mm-prev.mm-cur { display: flex; flex-direction: column; width: 100%; }
.mega-panel .mm-prev[hidden] { display: none !important; }
.mm-head strong { display: block; font: 400 2.25rem/1.1 'Bauer Bodoni Std 1', serif; letter-spacing: -.02em; max-width: 34rem; }
.mm-head p { color: var(--body); margin-top: .875rem; max-width: 32rem; font-size: 1rem; line-height: 1.55; }
.mega-panel .mm-links { list-style: none; margin: 1.75rem 0 1.75rem; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; border-top: 1px solid var(--line); }
.mega-panel .mm-links a { display: flex !important; justify-content: space-between; align-items: center; padding: .875rem 0 !important; border-bottom: 1px solid var(--line); font-weight: 700; transition: color .2s, padding .25s; }
.mega-panel .mm-links a span { color: var(--red); opacity: .5; display: grid; transition: opacity .2s, transform .2s; }
.mega-panel .mm-links a span svg { width: .875rem; height: .875rem; }
.mega-panel .mm-links a:hover { color: var(--red); padding-left: .375rem !important; }
.mega-panel .mm-links a:hover span { opacity: 1; transform: translateX(3px); }
.mega-panel .mm-prev .mf-pill { display: inline-flex !important; align-self: flex-start; margin-top: auto; padding: .625rem .625rem .625rem 1.375rem !important; border-radius: 5rem !important; }
.mega-panel .mm-hero-image { display: none !important; }

/* ---------- H5/H6 brands: compact running strip ---------- */
#brands .brand-head { margin-bottom: 2rem; }
.brand-marquee { display: flex !important; gap: 1rem !important; width: max-content; padding: .5rem 0 !important; margin: 0 !important; overflow: visible !important; grid-template-columns: none !important; animation: brandRun 38s linear infinite; }
#brands .brand-run { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.brand-marquee:hover { animation-play-state: paused; }
@keyframes brandRun { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.brand-marquee .brand-card { width: 21rem; flex: none; grid-template-columns: 6.5rem 1fr 2.25rem !important; gap: 1rem !important; padding: .625rem 1rem .625rem .625rem !important; border-radius: 1rem; }
.brand-marquee .brand-logo { height: 5rem !important; }
.brand-marquee .brand-logo .ph.contain > img { padding: .625rem !important; }
.brand-marquee .brand-card h3 { font-size: 1.25rem !important; }
.brand-marquee .brand-card p { font-size: .875rem; color: var(--body); }
.brand-marquee .red-arrow { width: 2.25rem; height: 2.25rem; }
@media (prefers-reduced-motion: reduce) { .brand-marquee { animation: none; } #brands .brand-run { overflow-x: auto; } }
@media (max-width: 47.5rem) { .brand-marquee .brand-card { width: 16.5rem; grid-template-columns: 4.75rem 1fr !important; } .brand-marquee .red-arrow { display: none; } .brand-marquee .brand-logo { height: 4rem !important; } }

/* ---------- H7/H8/O5 horizontal scrollers ---------- */
.view-all .va-actions, .filter-row { display: flex; align-items: center; gap: 1rem; }
.filter-row { justify-content: space-between; margin-bottom: 1.5rem; }
.filter-row .filters { margin: 0 !important; }
.car-btns { display: flex; gap: .5rem; }
.car-btn { width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.car-btn:hover { background: var(--footer); color: #fff; border-color: var(--footer); }
.car-btn svg { width: 1rem; height: 1rem; }
.car-btn.prev svg { transform: rotate(180deg); }
.media-scroll, .post-scroll, .news-scroll { display: flex !important; gap: 1.25rem !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .25rem; grid-template-columns: none !important; }
.media-scroll::-webkit-scrollbar, .post-scroll::-webkit-scrollbar, .news-scroll::-webkit-scrollbar { display: none; }
.media-scroll .press-list { display: contents !important; }
.media-scroll > *, .media-scroll .press-row, .post-scroll > *, .news-scroll > * { flex: 0 0 calc((100% - 2.5rem) / 3) !important; scroll-snap-align: start; min-width: 0; }
.media-scroll .press-feature { min-height: 0 !important; height: auto; flex-direction: column; align-items: stretch; color: var(--ink); background: var(--cream); }
.media-scroll .press-feature::after { display: none !important; }
.media-scroll .press-feature > .ph { position: relative !important; inset: auto !important; z-index: 0 !important; aspect-ratio: 4 / 3; height: auto !important; }
.media-scroll .press-feature .pf-body { padding: 1.25rem 1.375rem 1.5rem; }
.media-scroll .press-feature .pf-body p { display: none; }
.media-scroll .press-feature h3, .media-scroll .press-row h4 { font: 700 1.125rem/1.35 'Lato', sans-serif !important; color: var(--ink); margin: .5rem 0 0; }
.media-scroll .press-row { display: flex !important; flex-direction: column; gap: 0 !important; background: var(--cream); border-radius: 1.25rem; overflow: hidden; padding: 0 !important; border: 0 !important; }
.media-scroll .press-row > .ph { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; border-radius: 0 !important; flex: none !important; }
.media-scroll .press-row > div:not(.ph) { padding: 1.25rem 1.375rem 1.5rem; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: .5rem; }
.media-scroll .press-row .meta, .media-scroll .press-feature .meta { color: var(--body); }
.media-scroll .press-row h4 { margin: 0; }
.media-scroll .ph img, .post-scroll .ph img, .news-scroll .ph img { object-position: center 30%; }
@media (max-width: 74.9375rem) { .media-scroll > *, .media-scroll .press-row, .post-scroll > *, .news-scroll > * { flex-basis: calc((100% - 1.25rem) / 2) !important; } }
@media (max-width: 47.5rem) { .media-scroll > *, .media-scroll .press-row, .post-scroll > *, .news-scroll > * { flex-basis: 84% !important; } .view-all .car-btns, .filter-row .car-btns { display: none; } .filter-row { display: block; } }
.mcar:has(.media-scroll, .post-scroll, .news-scroll) .mcar-btn { display: none !important; }

/* ---------- H9/O7 investors corner in white ---------- */
.inv-card { background: #fff !important; background-image: none !important; color: var(--ink) !important; border: 1px solid var(--line); padding: 3rem 3.5rem !important; gap: 3rem !important; }
.inv-card h2 { color: var(--ink); }
.inv-card p.lead { color: var(--body) !important; font-size: 1rem !important; margin: 1rem 0 1.75rem !important; }
.inv-stats > div { border-color: var(--line) !important; }
.inv-stats span { color: var(--red) !important; font-size: .75rem; letter-spacing: .1em; }
.inv-stats strong { color: var(--ink) !important; font-size: 2rem !important; line-height: 1.1; }
.inv-stats small { color: var(--body) !important; }
@media (max-width: 47.5rem) { .inv-card { padding: 1.75rem 1.25rem !important; } .inv-stats strong { font-size: 1.5rem !important; } }

/* ---------- About ---------- */
#about .copy p, #about .copy .lead { font-size: 1.0625rem !important; line-height: 1.65 !important; color: var(--body) !important; }
#about .copy p + p { margin-top: 1rem; }
.feat-grid { gap: 1rem !important; }
.feat-card { padding: 1.75rem 1.75rem 2rem !important; gap: 1rem !important; }
.feat-card p { margin: 0; }
/* A6 channels: one row, no illustrations */
#channels .chan-list { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
#channels .chan { display: block !important; padding: 2rem !important; grid-template-columns: none !important; transform: none !important; opacity: 1 !important; }
#channels .chan h3 { margin: 1.25rem 0 .5rem !important; }
#channels .chan p { color: var(--body); font-size: 1rem; line-height: 1.5; min-height: 3em; }
#channels .chan .chips { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.chan-ic, .fact-ic { width: 3.25rem; height: 3.25rem; border-radius: .875rem; background: #fff; color: var(--red); display: grid; place-items: center; flex: none; }
.chan-ic svg, .fact-ic svg { width: 1.625rem; height: 1.625rem; }
@media (max-width: 74.9375rem) { #channels .chan-list { grid-template-columns: 1fr; } #channels .chan p { min-height: 0; } }

/* ---------- History: HI2 portrait framing ---------- */
.era-img .portrait-fit { background: var(--cream); }
.era-img .portrait-fit img { object-fit: cover; object-position: center 18% !important; }
#revival .era-img { height: 22rem !important; max-width: 40rem; }
@media (max-width: 47.5rem) { #revival .era-img { height: 20rem !important; } }

/* ---------- Business pages ---------- */
/* B1 overview: one balanced block */
.bz-ov { grid-template-columns: 1fr !important; gap: 1.25rem !important; max-width: 56rem; }
.bz-statement { font-size: 2.25rem !important; line-height: 1.2 !important; }
.bz-ov-body p { font-size: 1.125rem !important; color: var(--body) !important; max-width: 46rem; }
.bz-facts.bz-facts-ic { margin-top: 3rem !important; border-top: 0 !important; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.bz-facts.bz-facts-ic li { padding: 1.5rem !important; border: 0 !important; border-radius: 1.125rem; background: var(--cream); display: flex; flex-direction: column; gap: .5rem; }
.bz-facts.bz-facts-ic .fact-ic { margin-bottom: .75rem; }
.bz-facts.bz-facts-ic small { color: var(--red); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; }
.bz-facts.bz-facts-ic span:not(.fact-ic) { font-weight: 700; font-size: 1.0625rem; line-height: 1.35; }
@media (max-width: 74.9375rem) { .bz-facts.bz-facts-ic { grid-template-columns: repeat(2, 1fr) !important; } .bz-statement { font-size: 1.875rem !important; } }
@media (max-width: 47.5rem) { .bz-facts.bz-facts-ic { grid-template-columns: 1fr 1fr !important; gap: .625rem; } .bz-facts.bz-facts-ic li { padding: 1rem !important; } .bz-statement { font-size: 1.5rem !important; } .bz-ov-body p { font-size: 1rem !important; } }
/* B2 larger icons */
.bz-ic { width: 3.5rem !important; height: 3.5rem !important; border-radius: .875rem !important; }
.bz-ic svg { width: 1.75rem !important; height: 1.75rem !important; }
.bz-why li { padding: 1.75rem !important; }
/* B4 equal image depth */
.bz-cimg { aspect-ratio: 4 / 3 !important; height: auto !important; }
.bz-cimg .ph { height: 100% !important; }
.bz-media { aspect-ratio: 4 / 3.4; height: auto !important; }
.bz-media .ph { height: 100% !important; }
.bz-cimg img, .bz-media img { object-fit: cover; object-position: center 35%; }
/* U3 Uniforms categories: red headings, bold subtext */
[data-page="uniforms"] #categories .bz-card h3 { color: var(--red) !important; }
[data-page="uniforms"] #categories .bz-card p { font-weight: 700; color: var(--ink); }
/* Health & Hygiene brand logos instead of eyebrows */
.bz-brandlogo { display: block; height: 2.75rem; width: auto; max-width: 11rem; object-fit: contain; object-position: left center; margin-bottom: 1.25rem; }
/* HF1/HF2 */
.shop-strip { margin-top: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; padding: 1.5rem 1.75rem; border-radius: 1.25rem; background: var(--cream); }
.shop-strip h3 { font: 700 1.1875rem/1.2 'Lato', sans-serif !important; margin: 0 0 .25rem !important; }
.shop-strip p { color: var(--body); margin: 0; }
.shop-strip .marketplace-logos { margin: 0 !important; }
.b2b-points { list-style: none; padding: 0; margin: 1.75rem 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.b2b-points li { display: flex; gap: .875rem; align-items: flex-start; }
.b2b-points .fact-ic { width: 2.75rem; height: 2.75rem; }
.b2b-points .fact-ic svg { width: 1.375rem; height: 1.375rem; }
.b2b-points b { display: block; font-size: 1rem; }
.b2b-points span:not(.fact-ic) { color: var(--body); font-size: .9375rem; line-height: 1.4; }
.section.cream .b2b-points .fact-ic { background: #fff; }
@media (max-width: 47.5rem) { .b2b-points { grid-template-columns: 1fr; } .shop-strip { padding: 1.25rem; } }
/* TE3 Technologies left-aligned */
[data-page="technologies"] .center-head, [data-page="technologies"] .bz-head { text-align: left !important; justify-items: start !important; }
[data-page="technologies"] .hero h1 { max-width: 62rem !important; }

/* ---------- BD2 Board: 3 x 3 grids ---------- */
[data-page="board"] .lead-grid, [data-page="board"] .dir-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1.25rem !important; justify-content: stretch !important; }
[data-page="board"] .dir-grid > *, [data-page="board"] .lead-grid > * { width: auto !important; max-width: none !important; }
@media (max-width: 74.9375rem) { [data-page="board"] .lead-grid, [data-page="board"] .dir-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 30rem) { [data-page="board"] .lead-grid, [data-page="board"] .dir-grid { grid-template-columns: 1fr !important; } }

/* ---------- I3 investor highlights ---------- */
[data-page="investors"] #highlights .section-head { grid-template-columns: 1fr !important; gap: 1rem !important; max-width: 52rem; }
[data-page="investors"] #highlights .section-head .lead { max-width: 46rem; color: var(--body); }
.kpi { min-height: 0 !important; padding: 1.75rem !important; }
.kpi span { color: var(--red); font-size: .75rem; letter-spacing: .1em; font-weight: 700; display: block; margin: .75rem 0 .5rem; }
.kpi p { color: var(--body); font-size: .9375rem; }

/* ---------- O8 Sustainability text spacing ---------- */
[data-page="sustainability"] p { line-height: 1.65; }
[data-page="sustainability"] li { line-height: 1.5; margin-bottom: .5rem; }
[data-page="sustainability"] h3 + p, [data-page="sustainability"] h2 + p { margin-top: .875rem; }

/* ---------- C4 Awards page ---------- */
.award-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.award-card { margin: 0; background: var(--cream); border-radius: 1.25rem; overflow: hidden; }
.section.cream .award-card { background: #fff; }
.award-card .ph { aspect-ratio: 3 / 2; height: auto !important; }
.award-card img { object-fit: cover; object-position: center 40%; filter: grayscale(.15); }
.award-card figcaption { padding: 1.25rem 1.5rem 1.5rem; }
.award-card figcaption b { display: block; font-size: 1.125rem; line-height: 1.35; }
.award-card figcaption span { display: block; color: var(--body); margin-top: .375rem; line-height: 1.45; }
@media (max-width: 47.5rem) { .award-grid { grid-template-columns: 1fr; } }

/* ---------- H1 responsiveness: shared mobile and tablet fixes ---------- */
img { max-width: 100%; }
@media (max-width: 74.9375rem) {
  .mf-inner { padding-inline: 2rem; }
  .section-head { gap: 1rem !important; }
}
@media (max-width: 47.5rem) {
  .mf-inner { padding-inline: 1rem; }
  h2 { font-size: 2rem !important; line-height: 1.12 !important; }
  .hero.hero-concise h1, .hero h1 { font-size: 2.375rem !important; line-height: 1.08 !important; }
  .lead { font-size: 1rem; }
  .view-all { align-items: flex-end; gap: 1rem; }
  .feat-card { padding: 1.375rem !important; }
  .inv-card h2 { font-size: 2rem !important; }
  .enquiry h2 { font-size: 1.75rem !important; }
}
.car-btn:disabled { opacity: .35; cursor: default; background: #fff !important; color: var(--ink) !important; border-color: var(--line) !important; }

.media-scroll .meta b, .media-scroll .meta span, .media-scroll .meta { color: var(--body) !important; }
.media-scroll .meta b { color: var(--red) !important; }
.enquiry { padding-top: 2.5rem !important; }
/* round-1 QA fixes */
.today { background: var(--footer) !important; }
[data-page="board"] .lead-grid, [data-page="board"] .dir-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
[data-page="board"] .lead-card { display: flex !important; flex-direction: column; }
[data-page="board"] .lead-card .ph, [data-page="board"] .dir-card .ph { width: 100% !important; height: auto !important; aspect-ratio: 5 / 4; }
[data-page="board"] .lead-card .ph img, [data-page="board"] .dir-card .ph img { object-position: center 15% !important; }
[data-page="board"] .lead-card .lc-body { padding: 1.25rem .75rem .75rem; justify-content: flex-start; gap: .75rem; }
[data-page="board"] .lead-card h3 { margin-bottom: .25rem; }
[data-page="board"] .dir-card img[src*="logo.png"] { object-fit: contain !important; padding: 3rem; }
@media (max-width: 74.9375rem) { [data-page="board"] .lead-grid, [data-page="board"] .dir-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 30rem) { [data-page="board"] .lead-grid, [data-page="board"] .dir-grid { grid-template-columns: minmax(0, 1fr) !important; } }
#revival .era-img { width: 100%; }
#brands .brand-marquee .brand-card { display: grid !important; grid-template-columns: 6.5rem minmax(0, 1fr) 2.25rem !important; grid-template-rows: none !important; align-items: center !important; text-align: left !important; }
#brands .brand-marquee .brand-logo { width: auto !important; }
@media (max-width: 47.5rem) { #brands .brand-marquee .brand-card { width: 15.5rem !important; grid-template-columns: 4.5rem minmax(0, 1fr) !important; gap: .75rem !important; } #brands .brand-marquee .brand-card h3 { font-size: 1.0625rem !important; } }
#careers-menu { min-width: 17rem; }
#careers-menu a { white-space: nowrap; }
[data-page="investors"] #highlights .section-head > * { grid-column: 1 / -1 !important; margin-left: 0 !important; padding-left: 0 !important; justify-self: start !important; }
/* face-safe framing (visual QA) */
.era-img img { object-position: center 18% !important; }
.news-scroll .ph img, .news-card .ph img { object-position: center 15% !important; }
.award-card img[src*="arch-10"] { object-position: center 0% !important; }
img[src*="home-blog3"] { object-position: left center !important; }
img[src*="soha"], img[src*="darshan"], img[src*="Darshan"] { object-position: center 12% !important; }
.news-scroll img[src*="news-5"], .media-scroll img[src*="news-5"] { object-position: center 45% !important; }
.mega-panel .mm-prev .mf-pill { background: var(--red); color: #fff; } .mega-panel .mm-prev .mf-pill:hover { background: var(--red-dark); color: #fff; }
