/* TSK-90 (05_UX_IA R1), finder pages only (this file loads only on /find/ with the flag on): the sticky header never covers headings, anchors or focus (WCAG 2.2 SC 2.4.11). Moved out of mct-site.css so the rest of the site is unchanged. */
html:has(.mct-core.fv2) { scroll-padding-top: 92px; }
@media (max-width: 1140px) { html:has(.mct-core.fv2) { scroll-padding-top: 80px; } }
@media (min-width: 783px) { html:has(body.admin-bar .mct-core.fv2) { scroll-padding-top: 124px; } }
.mct-core.fv2 .stepper { padding: 0; margin: 0; }
/* TSK-90 finder v2: premium MCT theme (staging, flag mct_core_finder_v2). Loaded only when v2 is enabled.
   Brand tokens (TSK-82): navy #0A1F44 / #06142E, mark orange #F58200 (never under white text),
   action orange #C2410C (buttons, links on light), steel greys, white. Display Archivo, body IBM Plex Sans. */

.mct-core.fv2 {
  --fv2-navy: var(--mct-navy, #0A1F44); --fv2-navy-9: var(--mct-navy-950, #06142E); --fv2-mark: var(--mct-orange, #F58200);
  --fv2-act: var(--mct-orange-action, #C2410C); --fv2-act-h: var(--mct-orange-action-hover, #9A3412); --fv2-tint: var(--mct-orange-tint, #FFF1E0);
  --fv2-ink: var(--mct-charcoal, #17191B); --fv2-s7: #46505E; --fv2-s6: #5B6676; --fv2-s2: #D5DBE3; --fv2-s1: #EDF0F4; --fv2-s0: #F6F7F9;
  --fv2-r: 16px; --fv2-r-lg: 22px; --fv2-sh: 0 1px 2px rgba(6,20,46,.06), 0 8px 24px rgba(6,20,46,.08); --fv2-sh-h: 0 2px 4px rgba(6,20,46,.08), 0 18px 40px rgba(6,20,46,.16);
  background: var(--fv2-s0); color: var(--fv2-ink);
}
.mct-core.fv2 a { color: var(--fv2-act); }
.mct-core.fv2 .fv2-light { background: var(--fv2-s0); }
.mct-core.fv2 .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- hero ---------- */
.mct-core.fv2 .fv2-hero { position: relative; color: #fff; padding: clamp(28px, 5vw, 64px) 0 clamp(36px, 6vw, 80px); background: var(--fv2-navy-9); overflow: hidden; isolation: isolate; }
.mct-core.fv2 .fv2-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--fv2-hero, none) center/cover no-repeat; transform: scale(1.02); }
.mct-core.fv2 .fv2-hero::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(100deg, rgba(6,20,46,.97) 0%, rgba(6,20,46,.90) 38%, rgba(10,31,68,.62) 70%, rgba(10,31,68,.35) 100%), radial-gradient(1200px 400px at 0% 100%, rgba(245,130,0,.18), transparent 60%); }
.mct-core.fv2 .fv2-hero:not([style])::after { background: linear-gradient(120deg, #06142E 0%, #0A1F44 55%, #1F3A68 100%); }
.mct-core.fv2 .fv2-hero .container > * { max-width: 760px; }
.mct-core.fv2 .fv2-hero .crumbs, .mct-core.fv2 .fv2-hero .crumbs a { color: #C9D3E6; }
.mct-core.fv2 .fv2-hero .eyebrow { color: #FFC680; letter-spacing: .16em; }
.mct-core.fv2 .fv2-hero h1 { color: #fff; font-family: var(--font-display); font-size: clamp(32px, 4.4vw, 58px); line-height: 1.06; letter-spacing: -.02em; margin: 10px 0 14px; max-width: 18ch; }
.mct-core.fv2 .fv2-hero--sm h1, .mct-core.fv2 .fv2-hero--guide h1 { font-size: clamp(30px, 3.6vw, 48px); max-width: 22ch; }
.mct-core.fv2 .fv2-hero .lead { color: #DCE3EE; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; max-width: 62ch; }
.mct-core.fv2 .fv2-hero .lead a { color: #FFC680; }
.mct-core.fv2 .fv2-hero-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 28px; padding: 0; margin: 22px 0 0; }
.mct-core.fv2 .fv2-hero-stats li { color: #C9D3E6; font-size: 14px; padding-left: 14px; border-left: 3px solid var(--fv2-mark); }
.mct-core.fv2 .fv2-hero-stats b { display: block; color: #fff; font: 700 26px/1.1 var(--font-display); }
.mct-core.fv2 .fv2-hero-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.mct-core.fv2 .btn-primary { background: var(--fv2-act); border-color: var(--fv2-act); color: #fff; }
.mct-core.fv2 .btn-primary:hover { background: var(--fv2-act-h); border-color: var(--fv2-act-h); }
.mct-core.fv2 .btn-ghost { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: var(--btn-radius, 999px); padding: 10px 18px; font-weight: 600; cursor: pointer; text-decoration: none; }
.mct-core.fv2 .btn-ghost:hover { background: rgba(255,255,255,.16); }
.mct-core.fv2 .mct-icon { width: 18px; height: 18px; vertical-align: -3px; }

/* ---------- tabs + panel ---------- */
.mct-core.fv2 .fv2-tabs { position: relative; z-index: 2; margin: -34px 0 0; display: flex; gap: 6px; overflow-x: auto; padding: 8px; background: #fff; border-radius: 999px; box-shadow: var(--fv2-sh); scrollbar-width: none; }
.mct-core.fv2 .fv2-tabs::-webkit-scrollbar { display: none; }
.mct-core.fv2 .fv2-tabs a { flex: 0 0 auto; padding: 11px 18px; min-height: 44px; display: inline-flex; align-items: center; border-radius: 999px; color: var(--fv2-s7); text-decoration: none; font-weight: 600; font-size: 15px; transition: background .15s, color .15s; }
.mct-core.fv2 .fv2-tabs a:hover { background: var(--fv2-s1); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-tabs a.on { background: var(--fv2-navy); color: #fff; box-shadow: inset 0 -3px 0 var(--fv2-mark); }
.mct-core.fv2 .fv2-tabs a:focus-visible { outline: 3px solid var(--fv2-act); outline-offset: 2px; }
.mct-core.fv2 .fv2-panelwrap { margin-top: 24px; }
.mct-core.fv2 .fv2-head { display: grid; grid-template-columns: 1fr auto; gap: 6px 24px; align-items: end; margin: 8px 0 20px; }
.mct-core.fv2 .fv2-head h2, .mct-core.fv2 .fv2-h2 { grid-column: 1; font-family: var(--font-display); color: var(--fv2-navy); font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -.01em; margin: 0; }
.mct-core.fv2 .fv2-head p { grid-column: 1; margin: 0; color: var(--fv2-s6); max-width: 70ch; }
.mct-core.fv2 .fv2-filter { grid-column: 2; grid-row: 1 / span 2; }
.mct-core.fv2 .fv2-filter input { min-width: 280px; min-height: 46px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--fv2-s2); background: #fff; font-size: 15px; }
.mct-core.fv2 .fv2-filter input:focus { outline: 3px solid rgba(194,65,12,.35); border-color: var(--fv2-act); }
.mct-core.fv2 .fv2-lens { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; background: var(--fv2-tint); border: 1px solid #F7C99A; color: var(--fv2-ink); border-radius: 999px; padding: 8px 16px; margin: 0 0 18px; font-size: 14px; width: fit-content; }
.mct-core.fv2 .fv2-lens a { color: var(--fv2-act); font-weight: 600; }

/* ---------- image cards ---------- */
.mct-core.fv2 .fv2-grid { display: grid; gap: 18px; }
.mct-core.fv2 .fv2-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mct-core.fv2 .fv2-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mct-core.fv2 .fv2-icard { display: flex; flex-direction: column; background: #fff; border-radius: var(--fv2-r); overflow: hidden; box-shadow: var(--fv2-sh); text-decoration: none; color: var(--fv2-ink); transition: transform .18s ease, box-shadow .18s ease; border: 1px solid rgba(6,20,46,.06); }
.mct-core.fv2 .fv2-icard:hover { transform: translateY(-3px); box-shadow: var(--fv2-sh-h); }
.mct-core.fv2 .fv2-icard:focus-visible { outline: 3px solid var(--fv2-act); outline-offset: 3px; }
.mct-core.fv2 .fv2-icard.is-sel { outline: 3px solid var(--fv2-mark); }
.mct-core.fv2 .fv2-icard-media { position: relative; display: block; aspect-ratio: 16 / 10; background: linear-gradient(135deg, #0A1F44, #1F3A68); overflow: hidden; }
.mct-core.fv2 .fv2-icard--sm .fv2-icard-media { aspect-ratio: 16 / 8; }
.mct-core.fv2 .fv2-icard-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mct-core.fv2 .fv2-icard:hover .fv2-icard-media img { transform: scale(1.05); }
.mct-core.fv2 .fv2-icard-media::after { content: ""; position: absolute; inset: auto 0 0 0; height: 45%; background: linear-gradient(to top, rgba(6,20,46,.55), transparent); }
.mct-core.fv2 .fv2-icard-media.is-empty { background: radial-gradient(400px 160px at 100% 0%, rgba(245,130,0,.35), transparent 60%), linear-gradient(135deg, #06142E, #1F3A68); }
.mct-core.fv2 .fv2-icard-media.is-empty::before { content: ""; position: absolute; left: 18px; bottom: 16px; width: 44px; height: 4px; background: var(--fv2-mark); border-radius: 2px; }
.mct-core.fv2 .fv2-icard-kicker { position: absolute; z-index: 1; left: 14px; top: 14px; background: var(--fv2-navy); color: #fff; font: 700 13px var(--font-display); padding: 6px 10px; border-radius: 8px; box-shadow: inset 0 -2px 0 var(--fv2-mark); }
.mct-core.fv2 .fv2-icard-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.mct-core.fv2 .fv2-icard-title { font: 700 18px/1.25 var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-icard--sm .fv2-icard-title { font-size: 16px; }
.mct-core.fv2 .fv2-icard-text { font-size: 14px; line-height: 1.5; color: var(--fv2-s6); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mct-core.fv2 .fv2-icard-meta { margin-top: auto; padding-top: 8px; font: 600 13px var(--font-data, monospace); color: var(--fv2-act); letter-spacing: .02em; }

/* groups */
.mct-core.fv2 .fv2-group { margin: 34px 0 10px; }
.mct-core.fv2 .fv2-group-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 4px 16px; padding: 0 0 12px; margin-bottom: 18px; border-bottom: 1px solid var(--fv2-s2); position: relative; }
.mct-core.fv2 .fv2-group-head::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 64px; height: 3px; background: var(--fv2-mark); border-radius: 2px; }
.mct-core.fv2 .fv2-group-head h3 { margin: 0; font: 700 22px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-group-head p { grid-column: 1; margin: 0; color: var(--fv2-s6); font-size: 15px; }
.mct-core.fv2 .fv2-count { grid-column: 2; grid-row: 1 / span 2; font: 600 13px var(--font-data, monospace); color: var(--fv2-s6); }

/* alt links on problem tab */
.mct-core.fv2 .fv2-alt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 26px 0 8px; }
.mct-core.fv2 .fv2-alt a { background: var(--fv2-navy); color: #DCE3EE; border-radius: var(--fv2-r); padding: 18px 20px; text-decoration: none; font-size: 15px; box-shadow: var(--fv2-sh); border-left: 4px solid var(--fv2-mark); }
.mct-core.fv2 .fv2-alt a b { display: block; color: #fff; font: 700 17px var(--font-display); margin-bottom: 4px; }
.mct-core.fv2 .fv2-alt a:hover { background: #12295A; }
.mct-core.fv2 .finder-brand-note { color: var(--fv2-s6); margin-top: 14px; }

/* persona banner */
.mct-core.fv2 .fv2-persona { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 24px; background: #fff; border-radius: var(--fv2-r-lg); padding: 24px; box-shadow: var(--fv2-sh); margin-bottom: 28px; }
.mct-core.fv2 .fv2-persona h2 { margin: 0 0 10px; font: 700 24px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.mct-core.fv2 .fv2-ticks li { position: relative; padding-left: 26px; line-height: 1.5; }
.mct-core.fv2 .fv2-ticks li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--fv2-tint) no-repeat center/10px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23C2410C' stroke-width='2'/%3E%3C/svg%3E"); }
.mct-core.fv2 .fv2-ticks--x li::before { background: #FDECEC no-repeat center/10px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 3l6 6M9 3l-6 6' fill='none' stroke='%23B42318' stroke-width='2'/%3E%3C/svg%3E"); }

/* stage timeline */
.mct-core.fv2 .fv2-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; counter-reset: none; }
.mct-core.fv2 .fv2-tl { display: grid; grid-template-columns: 260px minmax(0, 1fr); background: #fff; border-radius: var(--fv2-r-lg); overflow: hidden; box-shadow: var(--fv2-sh); }
.mct-core.fv2 .fv2-tl-media { position: relative; background: linear-gradient(135deg, #06142E, #1F3A68); min-height: 180px; }
.mct-core.fv2 .fv2-tl-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mct-core.fv2 .fv2-tl-n { position: absolute; left: 16px; top: 16px; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--fv2-navy); color: #fff; font: 800 20px var(--font-display); box-shadow: 0 0 0 4px rgba(255,255,255,.85), inset 0 -3px 0 var(--fv2-mark); }
.mct-core.fv2 .fv2-tl-body { padding: 20px 24px; }
.mct-core.fv2 .fv2-tl-body h3 { margin: 0 0 6px; font: 700 21px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-tl-body > p { margin: 0 0 10px; color: var(--fv2-s7); }
.mct-core.fv2 .fv2-sub-steps summary { cursor: pointer; font-weight: 700; color: var(--fv2-act); min-height: 36px; display: flex; align-items: center; }
.mct-core.fv2 .fv2-sub-steps ol { margin: 6px 0 4px; padding-left: 20px; display: grid; gap: 10px; }
.mct-core.fv2 .fv2-sub-steps li { line-height: 1.55; color: var(--fv2-s7); }
.mct-core.fv2 .fv2-sub-steps li b { color: var(--fv2-ink); }
.mct-core.fv2 .fv2-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.mct-core.fv2 .fv2-chips .chip { font-size: 12px; text-decoration: none; border-radius: 999px; padding: 4px 10px; }
.mct-core.fv2 .fv2-chips .chip.guide { background: var(--fv2-navy); color: #fff; }
.mct-core.fv2 .fv2-chips .chip.prod { background: var(--fv2-s1); color: var(--fv2-ink); }
.mct-core.fv2 .fv2-tl-g { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 0 0; font-weight: 600; }

/* project page */
.mct-core.fv2 .fv2-two { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.mct-core.fv2 .fv2-panel { position: sticky; top: calc(var(--mct-hdr-h, 76px) + 16px); background: #fff; border-radius: var(--fv2-r-lg); padding: 22px; box-shadow: var(--fv2-sh); }
.mct-core.fv2 .fv2-panel h3 { margin: 0 0 10px; font: 700 17px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-panel h3 + ul + h3 { margin-top: 20px; }
.mct-core.fv2 .fv2-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-weight: 600; }

/* ---------- problem result pages (light tool) ---------- */
.mct-core.fv2 .tool { background: #fff; color: var(--fv2-ink); border-radius: var(--fv2-r-lg); box-shadow: var(--fv2-sh); margin-top: -34px; position: relative; z-index: 2; }
.mct-core.fv2 .tool h2, .mct-core.fv2 .tool-body h2 { color: var(--fv2-navy); }
.mct-core.fv2 .stepper { border-bottom: 1px solid var(--fv2-s1); grid-template-columns: repeat(3, 1fr); }
.mct-core.fv2 .stepper li { color: var(--fv2-s6); border-right: 1px solid var(--fv2-s1); }
.mct-core.fv2 .stepper li b { color: var(--fv2-navy); }
.mct-core.fv2 .stepper li a { color: inherit; text-decoration: none; display: block; }
.mct-core.fv2 .stepper li.done { color: #1A7F4B; }
.mct-core.fv2 .stepper li.on { background: var(--fv2-tint); color: var(--fv2-act); box-shadow: inset 0 -3px 0 var(--fv2-mark); }
.mct-core.fv2 .stepper li.skip b { color: #1A7F4B; font-weight: 500; }
.mct-core.fv2 .opt { background: #fff; border: 1.5px solid var(--fv2-s2); color: var(--fv2-ink); border-radius: 14px; }
.mct-core.fv2 .opt:hover { border-color: var(--fv2-mark); color: var(--fv2-ink); box-shadow: var(--fv2-sh); }
.mct-core.fv2 .opt.sel { background: var(--fv2-tint); border-color: var(--fv2-mark); }
.mct-core.fv2 .opt .dot { border-color: var(--fv2-s2); }
.mct-core.fv2 .opt small { color: var(--fv2-s6); }
.mct-core.fv2 .tool-side { background: var(--fv2-s0); border: 1px solid var(--fv2-s1); color: var(--fv2-ink); }
.mct-core.fv2 .tool-side h4 { color: var(--fv2-navy); }
.mct-core.fv2 .tool-side dt { color: var(--fv2-s6); }
.mct-core.fv2 .tool-side dd { color: var(--fv2-ink); }
.mct-core.fv2 .tool-side .btn-outline-light { color: var(--fv2-navy); border-color: var(--fv2-s2); }
.mct-core.fv2 .tool-side .btn + .btn { margin-top: 8px; }
.mct-core.fv2 .fv2-sub { color: var(--fv2-s6); margin: 0 0 12px; font-size: 14px; }
.mct-core.fv2 .fv2-pguides { padding-top: 32px; }
.mct-core.fv2 .fv2-note { background: var(--fv2-tint); border-left: 4px solid var(--fv2-mark); padding: 10px 14px; border-radius: 8px; max-width: 80ch; }

/* rich result cards (product lists) */
.mct-core.fv2 .fv2-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.mct-core.fv2 .fv2-card { display: grid; grid-template-columns: 128px 1fr; grid-template-rows: 1fr auto; background: #fff; border: 1px solid rgba(6,20,46,.06); border-radius: var(--fv2-r); box-shadow: var(--fv2-sh); overflow: hidden; }
.mct-core.fv2 .fv2-card .p-img { grid-row: 1 / span 2; aspect-ratio: auto; border: 0; border-right: 1px solid var(--fv2-s1); padding: 12px; background: #fff; display: grid; place-items: center; }
.mct-core.fv2 .fv2-card .p-img img { width: 104px; height: 104px; object-fit: contain; }
.mct-core.fv2 .fv2-card .card-body { padding: 16px 18px 8px; }
.mct-core.fv2 .fv2-head { /* card head reuse guard */ }
.mct-core.fv2 .fv2-card .fv2-head { display: flex; gap: 8px 12px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin: 0; }
.mct-core.fv2 .fv2-card h3 { margin: 0; font: 700 18px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-why { margin: 8px 0 6px; font-size: 14.5px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.mct-core.fv2 .fv2-cite { color: var(--fv2-s6); font: 500 11.5px var(--font-data, monospace); }
.mct-core.fv2 .fv2-feat { margin: 0 0 8px; padding: 0; list-style: none; font-size: 13.5px; }
.mct-core.fv2 .fv2-feat li { padding-left: 18px; position: relative; margin: 2px 0; }
.mct-core.fv2 .fv2-feat li::before { content: "✓"; position: absolute; left: 0; color: #1A7F4B; font-weight: 700; }
.mct-core.fv2 .fv2-facts { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 6px 0; font-size: 13.5px; }
.mct-core.fv2 .fv2-facts dt { color: var(--fv2-s6); font-weight: 600; }
.mct-core.fv2 .fv2-facts dd { margin: 0; }
.mct-core.fv2 .fv2-sys { position: relative; z-index: 2; }
.mct-core.fv2 .fv2-limits { font-size: 13px; margin: 4px 0; position: relative; z-index: 2; }
.mct-core.fv2 .fv2-limits summary { cursor: pointer; color: #8A4B00; font-weight: 600; min-height: 32px; display: flex; align-items: center; }
.mct-core.fv2 .fv2-flag { background: #FFF4E5; border: 1px solid #F5C27A; color: #6B3A00; border-radius: 8px; padding: 8px 12px; font-size: 13px; margin: 8px 0; }
.mct-core.fv2 .fv2-card.is-review { opacity: .8; }
.mct-core.fv2 .fv2-nodata { color: var(--fv2-s6); }
.mct-core.fv2 .fv2-actions { display: flex; gap: 8px; justify-content: flex-end; align-items: center; flex-wrap: wrap; padding: 8px 18px 14px; }
.mct-core.fv2 .fv2-actions .btn { position: relative; z-index: 2; min-height: 38px; }
.mct-core.fv2 .p-wa { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: #25D366; color: #0B3B1E; font-weight: 700; text-decoration: none; min-height: 38px; }
.mct-core.fv2 .p-wa:hover { background: #1EBE5A; }
.mct-core.fv2 .p-wa .mct-icon { width: 16px; height: 16px; }
.mct-core.fv2 .fv2-source { color: var(--fv2-s6); margin-top: 18px; max-width: 90ch; }

/* ---------- guide page ---------- */
.mct-core.fv2 .fv2-guide { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; padding-top: 8px; }
.mct-core.fv2 .fv2-symptoms { background: #fff; border-radius: var(--fv2-r-lg); padding: 22px 24px; box-shadow: var(--fv2-sh); margin: 0 0 28px; }
.mct-core.fv2 .fv2-symptoms h2 { margin: 0 0 12px; font: 700 20px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-h2 { margin: 6px 0 18px; }
.mct-core.fv2 .fv2-steps { list-style: none; margin: 0; padding: 0; }
.mct-core.fv2 .fv2-step { display: grid; grid-template-columns: 52px 1fr; gap: 18px; position: relative; padding-bottom: 30px; }
.mct-core.fv2 .fv2-step::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; width: 2px; background: linear-gradient(var(--fv2-s2), var(--fv2-s1)); }
.mct-core.fv2 .fv2-step:last-child::before { display: none; }
.mct-core.fv2 .fv2-step-n { width: 52px; height: 52px; border-radius: 50%; background: var(--fv2-navy); color: #fff; display: grid; place-items: center; font: 800 20px var(--font-display); box-shadow: inset 0 -3px 0 var(--fv2-mark), 0 6px 16px rgba(6,20,46,.2); }
.mct-core.fv2 .fv2-step-body h3 { font: 700 21px var(--font-display); color: var(--fv2-navy); margin: 12px 0 6px; }
.mct-core.fv2 .fv2-step-body > p { margin: 0 0 12px; max-width: 72ch; color: var(--fv2-s7); line-height: 1.6; }
.mct-core.fv2 .fv2-tip { background: var(--fv2-tint); border-radius: 8px; padding: 8px 12px; font-size: 14px; }
.mct-core.fv2 .fv2-gprods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mct-core.fv2 .fv2-gprod { background: #fff; border: 1px solid rgba(6,20,46,.07); border-radius: 14px; padding: 14px 16px; box-shadow: 0 1px 2px rgba(6,20,46,.05); display: flex; flex-direction: column; }
.mct-core.fv2 .fv2-gprod-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.mct-core.fv2 .fv2-gprod-name { font: 700 16px var(--font-display); color: var(--fv2-navy); text-decoration: none; }
.mct-core.fv2 a.fv2-gprod-name:hover { color: var(--fv2-act); }
.mct-core.fv2 .fv2-gprod-why { margin: 8px 0 6px; font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mct-core.fv2 .fv2-gprod-act { display: flex; gap: 12px; align-items: center; justify-content: flex-end; flex-wrap: wrap; margin-top: auto; padding-top: 8px; font-size: 14px; font-weight: 600; }
.mct-core.fv2 .chip { border-radius: 999px; }

/* proposal brief */
.mct-core.fv2 .fv2-proposal { margin: 18px 0 32px; background: #fff; border-radius: var(--fv2-r-lg); box-shadow: var(--fv2-sh); padding: 26px 28px; border-top: 5px solid var(--fv2-navy); position: relative; }
.mct-core.fv2 .fv2-proposal::before { content: ""; position: absolute; top: -5px; left: 0; width: 120px; height: 5px; background: var(--fv2-mark); }
.mct-core.fv2 .fv2-proposal-head h2 { margin: 6px 0 6px; font: 700 26px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-proposal-head p { color: var(--fv2-s6); margin: 0 0 16px; }
.mct-core.fv2 .fv2-proposal h3 { font: 700 17px var(--font-display); color: var(--fv2-navy); margin: 20px 0 10px; }
.mct-core.fv2 .fv2-scope { margin: 0; padding-left: 22px; display: grid; gap: 6px; }
.mct-core.fv2 .fv2-table-wrap { overflow-x: auto; border: 1px solid var(--fv2-s1); border-radius: 12px; }
.mct-core.fv2 .fv2-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mct-core.fv2 .fv2-table th { text-align: left; background: var(--fv2-navy); color: #fff; font: 600 12px var(--font-data, monospace); letter-spacing: .06em; text-transform: uppercase; padding: 10px 12px; }
.mct-core.fv2 .fv2-table td { padding: 10px 12px; border-top: 1px solid var(--fv2-s1); vertical-align: top; }
.mct-core.fv2 .fv2-table tbody tr:nth-child(even) td { background: var(--fv2-s0); }
.mct-core.fv2 .fv2-prop-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mct-core.fv2 .fv2-faqs { margin: 10px 0 20px; }
.mct-core.fv2 .fv2-faqs details { background: #fff; border-radius: 14px; box-shadow: 0 1px 2px rgba(6,20,46,.05); border: 1px solid rgba(6,20,46,.07); margin-bottom: 10px; }
.mct-core.fv2 .fv2-faqs summary { cursor: pointer; padding: 14px 18px; font-weight: 700; color: var(--fv2-navy); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.mct-core.fv2 .fv2-faqs summary::after { content: "+"; color: var(--fv2-act); font-size: 20px; line-height: 1; }
.mct-core.fv2 .fv2-faqs details[open] summary::after { content: "–"; }
.mct-core.fv2 .fv2-faqs details p { margin: 0; padding: 0 18px 16px; color: var(--fv2-s7); line-height: 1.6; }

/* guide side */
.mct-core.fv2 .fv2-guide-side { position: sticky; top: calc(var(--mct-hdr-h, 76px) + 16px); display: grid; gap: 16px; }
.mct-core.fv2 .fv2-guide-side h3 { font: 700 16px var(--font-display); margin: 0 0 8px; color: var(--fv2-navy); }
.mct-core.fv2 .fv2-rules { background: #FFF8EE; border: 1px solid #F5C27A; border-radius: var(--fv2-r); padding: 16px 18px; color: #4A2A00; font-size: 14px; }
.mct-core.fv2 .fv2-rules ul, .mct-core.fv2 .fv2-grel ul, .mct-core.fv2 .fv2-toc ol { margin: 0; padding-left: 18px; }
.mct-core.fv2 .fv2-rules li { margin: 5px 0; }
.mct-core.fv2 .fv2-gcta { background: linear-gradient(135deg, #06142E, #0A1F44 60%, #1F3A68); color: #fff; border-radius: var(--fv2-r); padding: 20px; box-shadow: var(--fv2-sh); position: relative; overflow: hidden; }
.mct-core.fv2 .fv2-gcta::after { content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(rgba(245,130,0,.35), transparent 70%); }
.mct-core.fv2 .fv2-gcta h3 { color: #fff; }
.mct-core.fv2 .fv2-gcta p { color: #C9D3E6; font-size: 14px; margin: 0 0 12px; }
.mct-core.fv2 .fv2-toc, .mct-core.fv2 .fv2-grel { background: #fff; border-radius: var(--fv2-r); padding: 16px 18px; font-size: 14px; box-shadow: 0 1px 2px rgba(6,20,46,.05); border: 1px solid rgba(6,20,46,.06); }
.mct-core.fv2 .fv2-toc li, .mct-core.fv2 .fv2-grel li { margin: 5px 0; }
.mct-core.fv2 .fv2-search { display: flex; gap: 8px; flex-wrap: wrap; }
.mct-core.fv2 .fv2-search input[type=search] { flex: 1 1 260px; min-height: 52px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--fv2-s2); background: #fff; color: var(--fv2-ink); font-size: 16px; box-shadow: var(--fv2-sh); }

/* ---------- responsive ---------- */
@media (max-width: 1100px) { .mct-core.fv2 .fv2-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .mct-core.fv2 .fv2-grid--4, .mct-core.fv2 .fv2-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mct-core.fv2 .fv2-guide, .mct-core.fv2 .fv2-two, .mct-core.fv2 .fv2-persona { grid-template-columns: 1fr; }
  .mct-core.fv2 .fv2-guide-side, .mct-core.fv2 .fv2-panel { position: static; }
  .mct-core.fv2 .fv2-list, .mct-core.fv2 .fv2-gprods, .mct-core.fv2 .fv2-prop-cols, .mct-core.fv2 .fv2-alt { grid-template-columns: 1fr; }
  .mct-core.fv2 .fv2-tl { grid-template-columns: 1fr; }
  .mct-core.fv2 .fv2-tl-media { min-height: 150px; }
  .mct-core.fv2 .fv2-head { grid-template-columns: 1fr; }
  .mct-core.fv2 .fv2-filter { grid-column: 1; grid-row: auto; }
  .mct-core.fv2 .fv2-filter input { min-width: 0; width: 100%; }
}
@media (max-width: 640px) {
  .mct-core.fv2 .fv2-hero { padding: 18px 0 48px; }
  .mct-core.fv2 .fv2-hero .eyebrow { display: none; }
  .mct-core.fv2 .fv2-hero-stats b { font-size: 21px; }
  .mct-core.fv2 .fv2-tabs { border-radius: 16px; }
  .mct-core.fv2 .fv2-tabs a { padding: 9px 13px; font-size: 14px; }
  .mct-core.fv2 .fv2-grid { gap: 12px; }
  .mct-core.fv2 .fv2-grid--4, .mct-core.fv2 .fv2-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mct-core.fv2 .fv2-icard-body { padding: 10px 12px 12px; }
  .mct-core.fv2 .fv2-icard-title { font-size: 15px; }
  .mct-core.fv2 .fv2-icard-text { -webkit-line-clamp: 2; font-size: 13px; }
  .mct-core.fv2 .fv2-step { grid-template-columns: 38px 1fr; gap: 12px; }
  .mct-core.fv2 .fv2-step-n { width: 38px; height: 38px; font-size: 16px; }
  .mct-core.fv2 .fv2-step::before { left: 18px; top: 38px; }
  .mct-core.fv2 .fv2-proposal { padding: 18px; }
  .mct-core.fv2 .fv2-card { grid-template-columns: 64px 1fr; }
  .mct-core.fv2 .fv2-card .p-img img { width: 52px; height: 52px; }
  .mct-core.fv2 .fv2-feat { display: none; }
  .mct-core.fv2 .fv2-why { -webkit-line-clamp: 3; }
  .mct-core.fv2 .stepper li { padding: 10px; font-size: 11px; }
  .mct-core.fv2 .stepper li b { font-size: 13px; }
}

/* ---------- TSK-90 CHG-216: mobile overflow, contrast, touch targets (16_DEFECT_REGISTER) ---------- */
/* Grid tracks never grow past the viewport: every "1fr" track becomes minmax(0, 1fr) so long words cannot force horizontal scroll. */
.mct-core.fv2 .fv2-step { grid-template-columns: 52px minmax(0, 1fr); }
.mct-core.fv2 .fv2-card { grid-template-columns: 128px minmax(0, 1fr); }
.mct-core.fv2 .fv2-facts { grid-template-columns: auto minmax(0, 1fr); }
.mct-core.fv2 .fv2-head, .mct-core.fv2 .fv2-group-head { grid-template-columns: minmax(0, 1fr) auto; }
.mct-core.fv2 .fv2-gprod, .mct-core.fv2 .fv2-icard, .mct-core.fv2 .fv2-tl-body, .mct-core.fv2 .fv2-step-body { min-width: 0; overflow-wrap: anywhere; }
.mct-core.fv2 .chip { white-space: normal; overflow-wrap: anywhere; }
/* Grid items default to min-width:auto and grow to fit wide tables; pin them so the table wrapper scrolls instead of the page. */
.mct-core.fv2 .fv2-guide > *, .mct-core.fv2 .fv2-two > *, .mct-core.fv2 .fv2-persona > *, .mct-core.fv2 .fv2-proposal, .mct-core.fv2 .fv2-prop-cols > * { min-width: 0; }
.mct-core.fv2 .fv2-table-wrap { max-width: 100%; -webkit-overflow-scrolling: touch; }
.mct-core.fv2 .type-chips, .mct-core.fv2 .fv2-gprod-head { display: flex; flex-wrap: wrap; gap: 6px; }
/* The guide side column scrolls with the page: it is taller than small laptop screens. */
.mct-core.fv2 .fv2-guide-side { position: static; }
/* Input borders reach 3:1 against white (WCAG 1.4.11). */
.mct-core.fv2 .fv2-filter input, .mct-core.fv2 .fv2-search input[type=search] { border-color: #7A8594; }
/* Repeated product in a guide: one line pointing to its full card. */
.mct-core.fv2 .fv2-gprod-again { margin: 0; padding: 10px 14px; border: 1px dashed var(--fv2-s2); border-radius: 12px; font-size: 14px; color: var(--fv2-s7); }
.mct-core.fv2 .fv2-gprod-again a { font-weight: 700; color: var(--fv2-act); white-space: nowrap; }
.mct-core.fv2 .fv2-more { margin-top: 16px; }
.mct-core.fv2 .fv2-more summary { cursor: pointer; font-weight: 700; color: var(--fv2-act); min-height: 44px; display: flex; align-items: center; }
.mct-core.fv2 .fv2-more[open] summary { margin-bottom: 14px; }
@media (max-width: 900px) {
  .mct-core.fv2 .fv2-guide, .mct-core.fv2 .fv2-two, .mct-core.fv2 .fv2-persona, .mct-core.fv2 .fv2-head, .mct-core.fv2 .fv2-tl,
  .mct-core.fv2 .fv2-list, .mct-core.fv2 .fv2-gprods, .mct-core.fv2 .fv2-prop-cols, .mct-core.fv2 .fv2-alt { grid-template-columns: minmax(0, 1fr); }
  /* Tab strip scrolls sideways: fade the right edge so the hidden tabs are visible as a cue. */
  .mct-core.fv2 .fv2-tabs { -webkit-mask-image: linear-gradient(to right, #000 85%, transparent); mask-image: linear-gradient(to right, #000 85%, transparent); scroll-padding-inline: 8px; }
}
@media (max-width: 640px) {
  .mct-core.fv2 .fv2-step { grid-template-columns: 38px minmax(0, 1fr); }
  .mct-core.fv2 .fv2-card { grid-template-columns: 64px minmax(0, 1fr); }
  /* Touch targets at least 44px (WCAG 2.5.5 guidance). */
  .mct-core.fv2 .p-wa, .mct-core.fv2 .fv2-actions .btn, .mct-core.fv2 .fv2-gprod-act a, .mct-core.fv2 .fv2-toc a, .mct-core.fv2 .fv2-chips .chip,
  .mct-core.fv2 .type-chips .chip { min-height: 44px; display: inline-flex; align-items: center; }
  .mct-core.fv2 .fv2-limits summary, .mct-core.fv2 .fv2-sub-steps summary, .mct-core.fv2 .fv2-faqs summary, .mct-core.fv2 .opt { min-height: 44px; }
  /* Darker hero overlay on small screens: the text sits over the whole picture, not only the left side. */
  .mct-core.fv2 .fv2-hero[style]::after { background: linear-gradient(180deg, rgba(6,20,46,.94) 0%, rgba(6,20,46,.88) 100%); }
}

/* ---------- TSK-90 DEC-069: premium Problem-tab cards with MCT technical illustrations ---------- */
.mct-core.fv2 .fv2-icard--illus { position: relative; border: 1px solid rgba(10,31,68,.08); box-shadow: 0 1px 2px rgba(6,20,46,.06), 0 8px 24px -12px rgba(6,20,46,.22); transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease; }
.mct-core.fv2 .fv2-icard--illus::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--fv2-mark); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.mct-core.fv2 .fv2-icard--illus:hover, .mct-core.fv2 .fv2-icard--illus:focus-visible { transform: translateY(-5px); border-color: rgba(245,130,0,.35); box-shadow: 0 2px 4px rgba(6,20,46,.08), 0 22px 40px -18px rgba(6,20,46,.45); }
.mct-core.fv2 .fv2-icard--illus:hover::after, .mct-core.fv2 .fv2-icard--illus:focus-visible::after { transform: scaleX(1); }
.mct-core.fv2 .fv2-icard-media.is-illus { background: #06142E; }
.mct-core.fv2 .fv2-icard-media.is-illus::after { display: none; }
.mct-core.fv2 .fv2-icard-media.is-illus img { object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.mct-core.fv2 .fv2-icard--illus:hover .fv2-icard-media.is-illus img { transform: scale(1.045); }
.mct-core.fv2 .fv2-icard--illus .fv2-icard-kicker { left: 10px; top: 10px; padding: 3px 8px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); color: #fff; font: 600 11px/1.4 var(--font-data, ui-monospace, monospace); letter-spacing: .08em; box-shadow: none; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mct-core.fv2 .fv2-icard--illus .fv2-icard-meta span { display: inline-block; transition: transform .3s ease; }
.mct-core.fv2 .fv2-icard--illus:hover .fv2-icard-meta span { transform: translateX(4px); }
/* Release honesty gate: unverified products are never named; one Ask-us card per step */
.mct-core.fv2 .fv2-gprod--ask { background: var(--fv2-s0); border-style: dashed; }
.mct-core.fv2 .fv2-gprod--ask .fv2-gprod-name { color: var(--fv2-s7); }
.mct-core.fv2 .fv2-guidance { margin: -6px 0 18px; }

/* ---------- TSK-90 engineering explainer (guide pages): problem + system build-up + verified legend ---------- */
.mct-core.fv2 .fv2-explain-wrap { padding-bottom: 8px; }
.mct-core.fv2 .fv2-explain { background: #fff; border: 1px solid rgba(10,31,68,.08); border-radius: var(--fv2-r-lg); padding: clamp(18px, 3vw, 32px); box-shadow: 0 8px 24px -16px rgba(6,20,46,.25); }
.mct-core.fv2 .fv2-explain .fv2-h2 { margin: 4px 0 18px; }
.mct-core.fv2 .fv2-explain-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mct-core.fv2 .fv2-explain-fig { margin: 0; border: 1px solid var(--fv2-s1); border-radius: 14px; overflow: hidden; background: #F6F7F9; }
.mct-core.fv2 .fv2-explain-fig img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; }
.mct-core.fv2 .fv2-explain-zoom { display: block; cursor: zoom-in; }
.mct-core.fv2 .fv2-explain-zoom:focus-visible { outline: 3px solid var(--fv2-act); outline-offset: -3px; }
.mct-core.fv2 .fv2-explain-fig figcaption { padding: 10px 14px; font-weight: 600; color: var(--fv2-navy); border-top: 1px solid var(--fv2-s1); background: #fff; }
.mct-core.fv2 .fv2-explain-tag { display: inline-block; font: 700 11px/1 var(--font-data, ui-monospace, monospace); letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; margin-right: 6px; vertical-align: 1px; }
.mct-core.fv2 .fv2-explain-tag.is-problem { background: var(--fv2-mark); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-explain-tag.is-solution { background: var(--fv2-navy); color: #fff; }
.mct-core.fv2 .fv2-explain-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 28px; margin-top: 22px; }
.mct-core.fv2 .fv2-explain h3 { font: 700 18px var(--font-display); color: var(--fv2-navy); margin: 0 0 10px; }
.mct-core.fv2 .fv2-explain-abc { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.mct-core.fv2 .fv2-explain-abc li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: start; color: var(--fv2-s7); }
.mct-core.fv2 .fv2-explain-abc .k { width: 26px; height: 26px; border-radius: 50%; background: var(--fv2-mark); color: var(--fv2-navy); font: 700 13px/26px Arial, sans-serif; text-align: center; }
.mct-core.fv2 .fv2-explain-how { background: var(--fv2-tint); border-left: 4px solid var(--fv2-mark); border-radius: 0 12px 12px 0; padding: 14px 16px; }
.mct-core.fv2 .fv2-explain-how p { margin: 0; color: var(--fv2-ink); }
.mct-core.fv2 .fv2-explain-layers { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.mct-core.fv2 .fv2-explain-layers > li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--fv2-s1); }
.mct-core.fv2 .fv2-explain-layers > li:last-child { border-bottom: 0; padding-bottom: 0; }
.mct-core.fv2 .fv2-explain-layers .n { width: 30px; height: 30px; border-radius: 50%; background: var(--fv2-navy); color: #fff; font: 700 14px/30px Arial, sans-serif; text-align: center; }
.mct-core.fv2 .fv2-explain-layers h4 { margin: 3px 0 6px; font: 700 16px var(--font-display); color: var(--fv2-navy); }
.mct-core.fv2 .fv2-explain-layers p { margin: 0 0 4px; font-size: 14.5px; color: var(--fv2-s7); }
.mct-core.fv2 .fv2-explain-layers p b { color: var(--fv2-ink); }
.mct-core.fv2 .fv2-explain-prods { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.mct-core.fv2 .fv2-explain-prods li { background: var(--fv2-s0); border: 1px solid var(--fv2-s1); border-radius: 10px; padding: 8px 10px; }
.mct-core.fv2 .fv2-explain-prods a, .mct-core.fv2 .fv2-explain-prods b { font-weight: 700; color: var(--fv2-act); }
.mct-core.fv2 .fv2-explain-ev, .mct-core.fv2 .fv2-explain-fact { display: block; margin-top: 3px; font-size: 12.5px; color: var(--fv2-s6); }
.mct-core.fv2 .fv2-explain-fact { color: var(--fv2-ink); }
.mct-core.fv2 .fv2-explain-ask { margin-top: 8px !important; padding: 8px 10px; border: 1px dashed var(--fv2-s2); border-radius: 10px; }
.mct-core.fv2 .fv2-explain-ask a { font-weight: 700; color: var(--fv2-act); }
.mct-core.fv2 .fv2-explain-mistakes { margin-top: 22px; background: #FFF7EC; border: 1px solid #F8D9B4; border-radius: 14px; padding: 14px 18px; }
.mct-core.fv2 .fv2-explain-mistakes ul { margin: 0; padding-left: 18px; color: var(--fv2-ink); display: grid; gap: 6px; }
@media (max-width: 900px) {
  .mct-core.fv2 .fv2-explain-grid, .mct-core.fv2 .fv2-explain-cols { grid-template-columns: minmax(0, 1fr); }
}
@media print { .mct-core.fv2 .fv2-explain { box-shadow: none; border-color: #D5DBE3; } .mct-core.fv2 .fv2-explain-fig, .mct-core.fv2 .fv2-explain-layers > li { break-inside: avoid; } }

/* Page headers with an MCT illustration: text left, framed figure right (no image under the text) */
.mct-core.fv2 .fv2-hero--fig .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); column-gap: clamp(24px, 4vw, 56px); align-items: center; }
.mct-core.fv2 .fv2-hero--fig .container > * { grid-column: 1; }
.mct-core.fv2 .fv2-hero--fig .fv2-hero-fig { grid-column: 2; grid-row: 1 / span 8; align-self: center; max-width: none; margin: 0; padding: 8px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 24px 48px -24px rgba(0,0,0,.6); }
.mct-core.fv2 .fv2-hero--fig .fv2-hero-fig img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; border-radius: 12px; }
@media (max-width: 900px) {
  .mct-core.fv2 .fv2-hero--fig .container { grid-template-columns: minmax(0, 1fr); }
  .mct-core.fv2 .fv2-hero--fig .fv2-hero-fig { grid-column: 1; grid-row: auto; margin-top: 20px; max-width: 520px; }
}
@media print { .mct-core.fv2 .fv2-hero--fig .fv2-hero-fig { border-color: #D5DBE3; box-shadow: none; max-width: 360px; } }
/* Building-stage timeline with illustrations */
.mct-core.fv2 .fv2-tl-media.is-illus { background: #F6F7F9; border-right: 1px solid var(--fv2-s1); }
.mct-core.fv2 .fv2-tl-media.is-illus img { position: static; display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: contain; margin-top: 56px; }
@media (max-width: 900px) { .mct-core.fv2 .fv2-tl-media.is-illus { min-height: 0; border-right: 0; border-bottom: 1px solid var(--fv2-s1); } .mct-core.fv2 .fv2-tl-media.is-illus img { margin-top: 0; } }

/* v1 set (light technical sections): light panel, navy index chip */
.mct-core.fv2 .fv2-icard--illus-v1 .fv2-icard-media.is-illus { background: #F6F7F9; border-bottom: 1px solid var(--fv2-s1); }
.mct-core.fv2 .fv2-icard--illus-v1 .fv2-icard-kicker { background: var(--fv2-navy); border-color: var(--fv2-navy); color: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
@media (prefers-reduced-motion: reduce) { .mct-core.fv2 .fv2-icard--illus, .mct-core.fv2 .fv2-icard--illus::after, .mct-core.fv2 .fv2-icard-media.is-illus img, .mct-core.fv2 .fv2-icard--illus .fv2-icard-meta span { transition: none; } }

/* ---------- print: proposal-ready guide ---------- */
@media print {
  body.mct-site header, body.mct-site footer, .mct-core .header, .mct-core .footer, .mct-core .util, .mct-core .mbar, #mct-staging-badge,
  .mct-core.fv2 .fv2-hero-cta, .mct-core.fv2 .fv2-guide-side .fv2-gcta, .mct-core.fv2 .fv2-toc, .mct-core.fv2 .fv2-grel, .mct-core.fv2 .fv2-gprod-act, .mct-core.fv2 .p-wa { display: none !important; }
  .mct-core.fv2, .mct-core.fv2 .fv2-light { background: #fff !important; }
  .mct-core.fv2 .fv2-hero { color: #000; background: #fff !important; padding: 0 0 12px; border-bottom: 3px solid #0A1F44; }
  .mct-core.fv2 .fv2-hero::before, .mct-core.fv2 .fv2-hero::after { display: none; }
  .mct-core.fv2 .fv2-hero h1, .mct-core.fv2 .fv2-hero .lead, .mct-core.fv2 .fv2-hero-stats b, .mct-core.fv2 .fv2-hero-stats li { color: #0A1F44 !important; }
  .mct-core.fv2 .fv2-guide { grid-template-columns: 1fr; }
  .mct-core.fv2 .fv2-guide-side { position: static; }
  .mct-core.fv2 .fv2-gprods { grid-template-columns: 1fr 1fr; }
  .mct-core.fv2 .fv2-step, .mct-core.fv2 .fv2-gprod, .mct-core.fv2 .fv2-proposal, .mct-core.fv2 .fv2-faqs details { break-inside: avoid; box-shadow: none !important; }
  .mct-core.fv2 .fv2-faqs details { display: block; }
  .mct-core.fv2 .fv2-faqs details > p { display: block; }
  .mct-core.fv2 .fv2-table th { background: #0A1F44 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
.mct-core.fv2 .fv2-hero .crumbs, .mct-core.fv2 .fv2-hero .crumbs * { color: #C9D3E6 !important; }
.mct-core.fv2 .fv2-hero .crumbs [aria-current], .mct-core.fv2 .fv2-hero .crumbs li:last-child, .mct-core.fv2 .fv2-hero .crumbs span:last-child { color: #fff !important; font-weight: 600; }
