@import url("enhanced.css");

/* Shared adaptive shell */
html { scroll-padding-top: 130px; }
body { overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
.site-header { min-height: 82px; }
.main-nav { display: flex; align-items: center; gap: clamp(.8rem, 2vw, 1.7rem); margin-left: auto; }
.main-nav a { color: inherit; text-decoration: none; white-space: nowrap; font-size: .9rem; }
.main-nav a[aria-current="page"],
.main-nav a[aria-current="location"] { text-decoration: underline; text-underline-offset: .45rem; text-decoration-thickness: 2px; }
.menu-toggle { display: none; width: 46px; height: 44px; padding: 10px; border: 1px solid var(--line); background: transparent; color: inherit; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: currentColor; }
.control-label { display: block; margin-bottom: .35rem; font-weight: 700; }
.status-banner, .catalogue-note { display: grid; grid-template-columns: .45fr 1.55fr; gap: 2rem; border-block: 1px solid var(--line); background: var(--surface); }
.status-banner strong, .catalogue-note strong { font-size: 1.3rem; }
.status-banner p, .catalogue-note p { margin: 0; color: var(--muted); }
.prototype-note { margin: .7rem 0; color: var(--muted); font-size: .8rem; text-align: center; }
.form-boundary { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--line); background: var(--surface); font-size: .85rem; }
.form-boundary span { color: var(--muted); }
.breadcrumbs { display: flex; gap: .55rem; align-items: center; max-width: var(--max); margin: 0 auto; padding: 2rem 1.5rem 0; color: var(--muted); font-size: .82rem; }
.breadcrumbs a { color: inherit; }
.practice-label { padding: .38rem .55rem; border: 1px solid currentColor; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.practice-bridge { position: sticky; z-index: 48; top: 124px; display: flex; justify-content: space-between; gap: 1rem; min-height: 38px; padding: .55rem max(1rem, calc((100vw - var(--max)) / 2)); background: #08111f; color: #a9e9ff; border-bottom: 1px solid #234459; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.practice-bridge a { color: inherit; }

/* YPT editorial practice */
.ypt-home-hero { min-height: calc(100vh - 124px); }
.founder-portrait { position: relative; align-self: stretch; min-height: 590px; margin: 0; overflow: hidden; background: #2a2b28; border-radius: 1rem 1rem 8rem 1rem; }
.founder-portrait img { width: 100%; height: 100%; min-height: 590px; object-fit: cover; object-position: center 24%; filter: grayscale(1) contrast(1.03); }
.founder-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 58%, rgba(15,16,14,.88)); pointer-events: none; }
.founder-portrait figcaption { position: absolute; z-index: 1; inset: auto 1.5rem 1.3rem; display: flex; justify-content: space-between; gap: 1rem; color: #fff; }
.founder-portrait figcaption span { color: #d8d9d4; }
.principle-stack { min-height: 440px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #4a4f45; border-radius: 1rem; background: linear-gradient(145deg, #22251f, #10120f); }
.principle-stack span { display: grid; grid-template-columns: 54px 1fr; gap: 1rem; padding: 1.1rem 0; border-top: 1px solid #4a4f45; color: #e6e9df; font-size: 1.08rem; }
.principle-stack b { color: var(--accent); font-size: .72rem; letter-spacing: .12em; }
.digital-nav-link::after { content: " ↗"; color: var(--accent-ink); }
.service-grid article { display: flex; flex-direction: column; }
.service-grid article a { margin-top: auto; color: var(--accent-ink); font-weight: 700; text-underline-offset: .25rem; }
.digital-threshold { max-width: none; min-height: 560px; display: grid; grid-template-columns: 1.12fr .88fr; gap: 4rem; align-items: center; padding: clamp(4rem, 9vw, 8rem) max(1.5rem, calc((100vw - var(--max)) / 2)); background: radial-gradient(circle at 78% 30%, #123a53 0, #08111f 42%, #050a11 100%); color: #f1f8fc; }
.digital-threshold h2 { max-width: 11ch; margin: .6rem 0 1.2rem; font-size: clamp(3.4rem, 7vw, 7rem); line-height: .92; letter-spacing: -.05em; }
.digital-threshold p:not(.kicker) { max-width: 42rem; color: #adbfca; }
.digital-threshold .primary-button { background: #61d7ff; color: #04111a; }
.threshold-index { display: grid; gap: 0; border-top: 1px solid #315064; }
.threshold-index span, .threshold-index a { padding: 1rem 0; border-bottom: 1px solid #315064; color: #cbe8f2; text-decoration: none; font-size: .9rem; letter-spacing: .08em; }
.threshold-index a { margin-top: 1rem; padding: 1rem; border: 1px solid #61d7ff; color: #61d7ff; }
.compact-threshold { min-height: 380px; grid-template-columns: 1fr auto; }
.compact-threshold h2 { max-width: 15ch; }
.service-index { border-top: 1px solid var(--line); }
.service-index > a { display: grid; grid-template-columns: 70px 1fr auto; gap: 2rem; padding: 2rem .2rem; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.service-index > a:hover { background: var(--surface); }
.service-index span { color: var(--accent-ink); font-size: .8rem; }
.service-index h2 { margin: 0; font: 400 clamp(2rem, 4vw, 3.8rem)/1 Georgia, serif; }
.service-index p { max-width: 55rem; margin: .6rem 0 0; color: var(--muted); }
.service-index b { font-size: 1.5rem; font-weight: 400; }
.service-hero .button-row { margin-top: 2rem; }
.process-five { grid-template-columns: repeat(5, 1fr); }
.next-service { text-align: center; border-top: 1px solid var(--line); }
.next-service h2 { max-width: 14ch; margin: .5rem auto 1rem; font: 400 clamp(3rem, 6vw, 5.8rem)/.95 Georgia, serif; }
.next-service > p:not(.kicker) { max-width: 50rem; margin: 0 auto 2rem; color: var(--muted); }
.pathway-band { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; }
.pathway-band h2 { font: 400 clamp(2.8rem, 5vw, 5rem)/.95 Georgia, serif; }

/* YPT digital shell */
body[data-brand="ypt"][data-shell="digital"] { --bg: #07101b; --surface: #0c1826; --ink: #eef8fd; --muted: #9fb3c2; --accent: #61d7ff; --accent-ink: #61d7ff; --line: #24384a; --dark: #050a11; --dark-ink: #effaff; --footer: #03070c; --footer-ink: #d7e8f2; --focus: #ffe28a; background: var(--bg); color: var(--ink); }
body[data-brand="ypt"][data-shell="digital"] .site-header { background: rgba(7,16,27,.94); color: var(--ink); border-bottom-color: var(--line); }
body[data-brand="ypt"][data-shell="digital"] .ypt-mark { color: var(--ink); }
body[data-brand="ypt"][data-shell="digital"] .header-action { background: var(--accent); color: #04111a; }
body[data-brand="ypt"][data-shell="digital"] .primary-button { color: #04111a; }
body[data-brand="ypt"][data-shell="digital"] .site-footer { background: var(--footer); color: var(--footer-ink); }
.digital-page { background: var(--bg); }
.digital-hero { min-height: calc(100vh - 162px); display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; max-width: var(--max); margin: 0 auto; padding: clamp(4rem, 9vw, 8rem) 1.5rem; }
.digital-hero h1 { margin: .6rem 0 1.5rem; font-size: clamp(4.5rem, 9vw, 9rem); line-height: .82; letter-spacing: -.065em; }
.digital-hero h1 em { color: var(--accent); font-style: normal; }
.digital-hero > div:first-child > p:not(.kicker) { max-width: 46rem; color: var(--muted); font-size: 1.16rem; }
.digital-hero .text-link { color: var(--accent); }
.risk-radar { position: relative; aspect-ratio: 1; max-width: 600px; margin: auto; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: radial-gradient(circle, rgba(97,215,255,.12), transparent 54%); }
.risk-radar::before, .risk-radar::after { content: ""; position: absolute; inset: 16%; border: 1px solid var(--line); border-radius: 50%; }
.risk-radar::after { inset: 32%; }
.risk-radar strong { z-index: 1; text-align: center; color: var(--accent); font-size: 1.2rem; }
.risk-radar span { position: absolute; padding: .4rem .6rem; background: var(--bg); border: 1px solid var(--line); font-size: .72rem; letter-spacing: .11em; }
.risk-radar span:nth-child(1) { top: 9%; left: 43%; }
.risk-radar span:nth-child(2) { right: -3%; top: 46%; }
.risk-radar span:nth-child(3) { bottom: 8%; left: 39%; }
.risk-radar span:nth-child(4) { left: -2%; top: 46%; }
.digital-area-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); max-width: none; padding: 1px; }
.digital-area-grid a { min-height: 430px; display: flex; flex-direction: column; padding: clamp(2rem, 5vw, 4.5rem); background: var(--surface); color: inherit; text-decoration: none; }
.digital-area-grid a:hover { background: #102236; }
.digital-area-grid span { color: var(--accent); font-size: .76rem; letter-spacing: .15em; }
.digital-area-grid h2 { max-width: 12ch; margin: auto 0 1rem; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .9; letter-spacing: -.04em; }
.digital-area-grid p { max-width: 42rem; color: var(--muted); }
.digital-area-grid b { margin-top: 1rem; color: var(--accent); }
.boundary-panel { max-width: none; padding-inline: max(1.5rem, calc((100vw - var(--max)) / 2)); border-block: 1px solid var(--line); background: #060d16; }
.boundary-panel h2 { max-width: 15ch; font-size: clamp(3rem, 6vw, 6rem); line-height: .92; }
.boundary-panel p:not(.kicker) { max-width: 55rem; color: var(--muted); font-size: 1.1rem; }
.product-lab-card { display: grid; grid-template-columns: .8fr 1.2fr; gap: 4rem; align-items: center; }
.product-lab-card h2 { font-size: clamp(3rem, 6vw, 5.8rem); line-height: .9; }
.product-lab-card img { max-height: 600px; object-fit: cover; object-position: top; border: 1px solid var(--line); box-shadow: 0 25px 70px rgba(0,0,0,.38); }
.digital-detail-hero { min-height: 720px; display: grid; grid-template-columns: .45fr 1.55fr; gap: 3rem; align-items: center; max-width: var(--max); margin: 0 auto; padding: 5rem 1.5rem; }
.giant-index { color: transparent; -webkit-text-stroke: 1px var(--line); font-size: clamp(9rem, 23vw, 22rem); line-height: .7; }
.digital-detail-hero h1 { max-width: 13ch; font-size: clamp(4rem, 8vw, 8rem); line-height: .86; letter-spacing: -.06em; }
.digital-detail-hero p:not(.kicker) { max-width: 50rem; color: var(--muted); }
.digital-principles { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; border-block: 1px solid var(--line); }
.digital-principles h2 { font-size: clamp(3rem, 6vw, 6rem); line-height: .9; }
.digital-principles ol { margin: 0; padding: 0; list-style: none; counter-reset: principle; }
.digital-principles li { counter-increment: principle; position: relative; padding: 1.3rem 1rem 1.3rem 4rem; border-top: 1px solid var(--line); font-size: 1.2rem; }
.digital-principles li::before { content: "0" counter(principle); position: absolute; left: 0; color: var(--accent); font-size: .75rem; }
.method-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 2rem; background: var(--line); }
.method-track article { min-height: 280px; padding: 1.5rem; background: var(--surface); }
.method-track span { color: var(--accent); }
.method-track h2 { margin-top: 4rem; font-size: 2rem; }
.method-track p { color: var(--muted); }

/* Enyalius */
.enyalius-hero { min-height: calc(100vh - 162px); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; max-width: var(--max); margin: auto; padding: clamp(3rem, 7vw, 6rem) 1.5rem; }
.enyalius-hero h1 { margin: .4rem 0 1.3rem; font-size: clamp(5rem, 10vw, 10rem); line-height: .78; letter-spacing: -.07em; }
.enyalius-hero h1 em { color: var(--accent); font-style: normal; }
.enyalius-hero > div:first-child > p:not(.kicker,.product-status) { max-width: 43rem; color: var(--muted); font-size: 1.12rem; }
.product-status { display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .75rem; border: 1px solid var(--line); border-radius: 999px; color: #d8eaf4; font-size: .78rem; }
.product-status span { width: 9px; height: 9px; border-radius: 50%; background: #f0c85e; box-shadow: 0 0 18px #f0c85e; }
.enyalius-screen { position: relative; height: min(68vh, 700px); overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: #050907; box-shadow: 0 35px 90px rgba(0,0,0,.45); }
.enyalius-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.enyalius-screen span { position: absolute; inset: auto 1rem 1rem auto; padding: .45rem .65rem; background: rgba(3,7,12,.88); border: 1px solid var(--line); color: #d2e2eb; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.enyalius-principles { grid-template-columns: repeat(3, 1fr); }
.enyalius-principles article { min-height: 340px; display: flex; flex-direction: column; background: var(--surface); }
.enyalius-principles article span { color: var(--accent); }
.enyalius-principles article h2 { margin: auto 0 1rem; font-size: 2rem; }
.enyalius-demo { display: grid; grid-template-columns: .75fr 1.25fr; gap: 4rem; align-items: start; }
.demo-copy { position: sticky; top: 180px; }
.demo-copy h2 { font-size: clamp(3rem, 6vw, 5.8rem); line-height: .9; }
.demo-copy > p:not(.kicker) { color: var(--muted); }
.demo-tabs { display: grid; margin-top: 2rem; }
.demo-tabs button { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1rem .2rem; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.demo-tabs button[aria-selected="true"] { color: var(--ink); }
.demo-tabs button span { color: var(--accent); }
.enyalius-demo figure { margin: 0; }
.enyalius-demo figure button { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: zoom-in; }
.enyalius-demo figure img { width: 100%; max-height: 920px; object-fit: cover; object-position: top; border: 1px solid var(--line); }
.enyalius-demo figure button span { display: inline-block; margin-top: .6rem; color: var(--accent); text-decoration: underline; }
.enyalius-demo figcaption { margin-top: .8rem; color: var(--muted); font-size: .8rem; }
.development-map { display: grid; grid-template-columns: .75fr 1.25fr; gap: 5rem; border-top: 1px solid var(--line); }
.development-map h2 { font-size: clamp(3rem, 6vw, 5.8rem); line-height: .9; }
.development-map h3 { margin-top: 0; color: var(--accent); }
.development-map ul { margin: 0 0 2.5rem; padding: 0; list-style: none; }
.development-map li { padding: .8rem 0; border-top: 1px solid var(--line); color: var(--muted); }
.mobile-product-view { width: min(260px, 100%); margin: 2rem 0 0; }
.mobile-product-view img { width: 100%; max-height: 420px; object-fit: cover; object-position: top; border: 1px solid var(--line); border-radius: .75rem; }
.mobile-product-view figcaption { margin-top: .5rem; color: var(--muted); font-size: .76rem; }

/* YPT supporting pages */
.profile-hero { min-height: 720px; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); max-width: var(--max); margin: auto; padding: clamp(4rem, 8vw, 7rem) 1.5rem; }
.profile-hero figure { height: 650px; margin: 0; overflow: hidden; border-radius: 1rem 1rem 7rem 1rem; }
.profile-hero img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; filter: grayscale(1); }
.profile-hero h1 { margin: .6rem 0 1.4rem; font: 400 clamp(4rem, 7vw, 7rem)/.9 Georgia, serif; }
.profile-hero > div > p:not(.kicker) { max-width: 47rem; color: var(--muted); font-size: 1.12rem; }
.profile-facts { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.6rem 0 2rem; }
.profile-facts span { padding: .6rem .75rem; border: 1px solid var(--line); background: var(--surface); font-size: .82rem; }
.policy-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); padding: 1px; }
.policy-grid article { min-height: 300px; display: flex; flex-direction: column; padding: 2rem; background: var(--surface); }
.policy-grid article > span { color: var(--accent-ink); font-size: .75rem; text-transform: uppercase; letter-spacing: .09em; }
.policy-grid h2 { margin: auto 0 1rem; font-size: clamp(2rem, 4vw, 3.3rem); line-height: .95; }
.policy-grid p { color: var(--muted); }
.policy-grid button { align-self: flex-start; padding: .55rem .75rem; border: 1px solid var(--line); background: transparent; color: var(--muted); }
.academy-path, .commission-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); padding: 1px; }
.academy-path > div, .commission-steps article { min-height: 360px; display: flex; flex-direction: column; padding: 2rem; background: var(--surface); }
.academy-path span, .commission-steps span { color: var(--accent-ink); }
.academy-path h2, .commission-steps h2 { margin: auto 0 1rem; font-size: 2.2rem; }
.academy-path p, .commission-steps p { color: var(--muted); }
.insight-placeholder { opacity: .68; }
.article-page { max-width: 1150px; margin: auto; padding: clamp(4rem, 8vw, 7rem) 1.5rem; }
.article-page header { max-width: 950px; padding-bottom: 3rem; border-bottom: 1px solid var(--line); }
.article-page header h1 { font: 400 clamp(3.6rem, 7vw, 7rem)/.92 Georgia, serif; letter-spacing: -.045em; }
.article-deck { max-width: 750px; font-size: 1.25rem; color: var(--muted); }
.article-page header > span { font-size: .78rem; color: var(--muted); }
.article-body { display: grid; grid-template-columns: 240px 1fr; gap: 5rem; padding-top: 4rem; }
.article-body aside { position: sticky; top: 150px; align-self: start; display: grid; gap: .7rem; }
.article-body aside a { color: var(--muted); }
.article-body h2 { margin-top: 0; padding-top: 1.5rem; font: 400 2.4rem/1 Georgia, serif; }
.article-body p { color: #474b45; font-size: 1.12rem; line-height: 1.8; }
.article-callout { margin-top: 3rem; padding: 2rem; border-left: 5px solid var(--accent); background: var(--surface); }
.article-callout p { margin-bottom: 0; font: 400 1.7rem/1.2 Georgia, serif; }

/* Warfighter adaptive site */
.wm-actions { display: flex; align-items: center; gap: .6rem; margin-left: auto; }
.basket-toggle span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; margin-left: .25rem; border-radius: 50%; background: var(--accent); color: var(--accent-ink); }
body[data-brand="wm"][data-theme="light"] .wm-cinematic { background: radial-gradient(circle at 76% 30%, #dfe5d9 0, #f0f0e9 48%); }
body[data-brand="wm"][data-theme="light"] .wm-cinematic figure::after { box-shadow: inset 0 0 75px #f0f0e9; }
body[data-brand="wm"][data-theme="light"] .wm-hero .hero-frame::before { background: rgba(240,240,233,.92); color: #18231a; }
.wm-featured h2 { font: 700 clamp(3rem, 6vw, 6.2rem)/.84 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.wm-page-hero { min-height: 430px; display: flex; flex-direction: column; justify-content: center; max-width: var(--max); margin: auto; padding: clamp(4rem, 8vw, 7rem) 1.5rem; }
.wm-page-hero > p:not(.kicker) { max-width: 48rem; color: var(--muted); }
.vietnam-feature { min-height: 610px; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; padding: clamp(4rem, 8vw, 7rem) max(1.5rem, calc((100vw - var(--max)) / 2)); background: #2a321f; color: #f2efe5; }
.vietnam-feature h2 { max-width: 12ch; margin: .6rem 0 1rem; font: 700 clamp(4rem, 7vw, 7.5rem)/.8 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.vietnam-feature p:not(.kicker) { max-width: 40rem; color: #c7cdbd; }
.map-grid { position: relative; aspect-ratio: 1.25; display: grid; grid-template-columns: 1fr 1fr; align-content: space-between; padding: 2rem; border: 1px solid #697458; background-image: linear-gradient(#46503b 1px, transparent 1px), linear-gradient(90deg, #46503b 1px, transparent 1px); background-size: 34px 34px; }
.map-grid::before { content: ""; position: absolute; inset: 21% 19%; border: 1px solid #d7a640; transform: rotate(-13deg); }
.map-grid span { font-size: .8rem; letter-spacing: .16em; }
.map-grid span:nth-child(2) { justify-self: end; }
.map-grid b { grid-column: 1/-1; align-self: end; font: 700 clamp(5rem, 10vw, 9rem)/.75 StudioCondensed, Impact, sans-serif; color: #d7a640; }
.format-explainer { display: grid; grid-template-columns: 1.1fr .95fr .95fr; gap: 1px; background: var(--line); padding: 1px; }
.format-explainer > * { padding: clamp(1.5rem, 4vw, 3rem); background: var(--surface); }
.format-explainer h2 { font: 700 clamp(3rem, 6vw, 5.8rem)/.84 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.format-explainer article span { display: inline-block; padding: .35rem .5rem; background: var(--accent); color: var(--accent-ink); font-size: .7rem; letter-spacing: .1em; }
.format-explainer article h3 { margin-top: 5rem; font: 700 2.2rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.format-explainer article p { color: var(--muted); }
.format-explainer article a { color: inherit; font-weight: 700; }
.story-links { display: grid; }
.story-links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); color: inherit; text-decoration: none; font-size: 1.1rem; }
.product-no-image { min-height: 280px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.3rem; background: repeating-linear-gradient(135deg, var(--surface), var(--surface) 22px, color-mix(in srgb, var(--line) 45%, var(--surface)) 22px, color-mix(in srgb, var(--line) 45%, var(--surface)) 44px); border-bottom: 1px solid var(--line); }
.product-no-image span { align-self: flex-start; padding: .3rem .55rem; background: var(--bg); color: var(--ink); font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; }
.product-no-image strong { font: 700 clamp(3rem, 6vw, 6rem)/.78 StudioCondensed, Impact, sans-serif; color: var(--muted); }
.product-no-image-large { min-height: 620px; border: 1px solid var(--line); }
.product-no-image-large p { max-width: 25rem; color: var(--muted); }
.catalogue-controls select { min-height: 48px; padding: .7rem 2.3rem .7rem .8rem; border: 1px solid var(--line); background: var(--surface); color: var(--ink); }
.catalogue-note { margin-bottom: 4rem; }
.collection-hero { min-height: 720px; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; max-width: var(--max); margin: auto; padding: clamp(4rem, 7vw, 6rem) 1.5rem; }
.collection-hero h1 { margin: .6rem 0 1rem; font: 700 clamp(5rem, 9vw, 9rem)/.78 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.collection-hero > div > p:not(.kicker) { color: var(--muted); }
.collection-hero figure { margin: 0; }
.collection-hero img { width: 100%; max-height: 620px; object-fit: cover; }
.collection-hero figcaption { margin-top: .6rem; color: var(--muted); font-size: .75rem; }
.collection-manifest { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; border-block: 1px solid var(--line); }
.collection-manifest h2 { font: 700 clamp(3rem, 6vw, 6rem)/.85 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.collection-manifest > div:last-child { align-self: end; color: var(--muted); }
.format-notice { display: flex; flex-direction: column; gap: .3rem; margin: 1rem 0; padding: 1rem; border-left: 4px solid var(--accent); background: var(--surface); }
.format-notice span { color: var(--muted); font-size: .85rem; }
.delivery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); padding: 1px; }
.delivery-grid article { min-height: 520px; padding: clamp(2rem, 5vw, 4rem); background: var(--surface); }
.delivery-grid article > span { display: inline-block; padding: .35rem .55rem; background: var(--accent); color: var(--accent-ink); font-size: .72rem; letter-spacing: .1em; }
.delivery-grid h2 { margin-top: 5rem; font: 700 clamp(3rem, 6vw, 5.5rem)/.85 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.delivery-grid p, .delivery-grid li { color: var(--muted); }
.delivery-grid li { padding: .5rem 0; }
.licence-warning { border-top: 1px solid var(--line); }
.licence-warning h2 { max-width: 15ch; font: 700 clamp(3rem, 6vw, 6rem)/.85 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.licence-warning p:not(.kicker) { max-width: 55rem; color: var(--muted); }
.studio-grid, .news-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); padding: 1px; }
.studio-grid > *, .news-grid article { min-height: 360px; display: flex; flex-direction: column; padding: 2rem; background: var(--surface); color: inherit; text-decoration: none; }
.studio-grid span, .news-grid span { color: var(--accent); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.studio-grid h2, .news-grid h2 { margin: auto 0 1rem; font: 700 3rem/.9 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.studio-grid p, .news-grid p, .news-grid small { color: var(--muted); }
.gallery-placeholder { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.gallery-placeholder div { aspect-ratio: 1.35; display: flex; flex-direction: column; justify-content: space-between; padding: 1.5rem; border: 1px dashed var(--line); background: repeating-linear-gradient(45deg, var(--surface), var(--surface) 18px, var(--bg) 18px, var(--bg) 36px); }
.gallery-placeholder span { color: var(--accent); }
.gallery-placeholder p { margin: 0; font: 700 2rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.wm-enquiry aside { background: var(--surface); color: var(--ink); border: 1px solid var(--line); }
.wm-enquiry aside p { color: var(--muted); }
.mini-product-mark { width: 78px; height: 66px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--accent); font: 700 2rem/1 StudioCondensed, Impact, sans-serif; }

/* Basket/modal refinements */
.basket[aria-hidden="false"]::before { content: ""; position: fixed; inset: 0; right: min(520px, 100%); background: rgba(0,0,0,.48); }
.basket .empty-state .primary-button { display: inline-block; margin-top: 1rem; }
.image-dialog { overscroll-behavior: contain; }
.image-dialog .dialog-close { position: sticky; top: 0; z-index: 1; background: #0e100d; }

/* Responsive */
@media (max-width: 1100px) {
  .site-header { flex-wrap: wrap; }
  .main-nav { order: 3; width: 100%; justify-content: center; padding-top: .65rem; border-top: 1px solid var(--line); }
  .practice-bridge { top: 164px; }
  .process-five { grid-template-columns: repeat(3, 1fr); }
  .format-explainer { grid-template-columns: 1fr 1fr; }
  .format-explainer > div { grid-column: 1/-1; }
  .digital-hero, .enyalius-hero { grid-template-columns: 1fr; }
  .risk-radar { width: min(80vw, 540px); }
  .enyalius-screen { height: 620px; }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 100px; }
  .site-header { min-height: 72px; flex-wrap: nowrap; }
  .menu-toggle { display: block; margin-left: auto; }
  .site-header .main-nav { position: absolute; z-index: 100; inset: 100% 0 auto; width: auto; max-height: 0; display: grid; justify-content: stretch; gap: 0; overflow: hidden; padding: 0 1rem; border: 0; background: var(--bg); transition: max-height .25s ease, padding .25s ease; }
  .site-header .main-nav.is-open { max-height: 80vh; overflow: auto; padding-block: .6rem 1rem; border-bottom: 1px solid var(--line); }
  .main-nav a { padding: .85rem 0; border-bottom: 1px solid var(--line); }
  .header-action { display: none; }
  .practice-label { display: none; }
  .practice-bridge { top: 114px; }
  .digital-threshold, .pathway-band, .digital-detail-hero, .digital-principles, .product-lab-card, .enyalius-demo, .development-map, .profile-hero, .collection-hero, .collection-manifest, .status-banner, .catalogue-note { grid-template-columns: 1fr; }
  .digital-threshold { gap: 2rem; }
  .digital-threshold h2 { font-size: 4rem; }
  .process-five { grid-template-columns: 1fr 1fr; }
  .digital-area-grid, .policy-grid, .delivery-grid { grid-template-columns: 1fr; }
  .method-track, .academy-path, .commission-steps { grid-template-columns: 1fr 1fr; }
  .enyalius-principles { grid-template-columns: 1fr; }
  .demo-copy, .article-body aside { position: static; }
  .article-body { grid-template-columns: 1fr; gap: 2rem; }
  .article-body aside { display: flex; flex-wrap: wrap; }
  .founder-portrait { min-height: 520px; }
  .founder-portrait img { min-height: 520px; }
  .founder-portrait figcaption { flex-direction: column; gap: .2rem; }
  .vietnam-feature { grid-template-columns: 1fr; }
  .wm-actions { margin-left: 0; }
  .display-toggle span { display: none; }
  .gallery-placeholder { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .site-header { top: 42px; }
  .practice-bridge { top: 114px; padding-inline: .8rem; }
  .practice-bridge span { display: none; }
  .wm-actions { gap: .3rem; }
  .wm-page-hero { min-height: 360px; padding-inline: 1rem; }
  .display-toggle button { min-width: 40px; padding-inline: .35rem; font-size: .72rem; }
  .basket-toggle { font-size: .72rem; }
  .founder-portrait { min-height: 440px; border-radius: .8rem .8rem 4rem .8rem; }
  .founder-portrait img { min-height: 440px; }
  .service-index > a { grid-template-columns: 42px 1fr; gap: 1rem; }
  .service-index > a b { display: none; }
  .process-five, .method-track, .academy-path, .commission-steps, .format-explainer, .studio-grid, .news-grid { grid-template-columns: 1fr; }
  .format-explainer > div { grid-column: auto; }
  .digital-hero, .enyalius-hero, .digital-detail-hero { padding-inline: 1rem; }
  .digital-hero h1 { font-size: 4.6rem; }
  .digital-detail-hero { min-height: auto; }
  .giant-index { font-size: 10rem; }
  .enyalius-hero h1 { font-size: 5rem; }
  .enyalius-screen { height: 450px; }
  .risk-radar { width: min(90vw, 420px); }
  .digital-area-grid a { min-height: 360px; padding: 1.5rem; }
  .profile-hero figure { height: 480px; }
  .profile-hero h1 { font-size: 3.8rem; }
  .wm-mark span { display: none; }
  .collection-hero h1 { font-size: 5rem; }
  .vietnam-feature h2 { font-size: 4rem; }
  .product-no-image-large { min-height: 430px; }
  .form-boundary { flex-direction: column; }
}

@media (max-width: 380px) {
  .review-inner .concept-note { display: none; }
  .site-header { padding-inline: .65rem; }
  .ypt-mark { min-width: 76px; }
  .wm-mark span { display: none; }
  .display-toggle button { min-width: 36px; }
  .founder-portrait { min-height: 390px; }
  .founder-portrait img { min-height: 390px; }
  .digital-threshold h2, .digital-hero h1 { font-size: 3.8rem; }
  .enyalius-hero h1 { font-size: 4.4rem; }
  .risk-radar span { font-size: .62rem; }
  .profile-hero h1 { font-size: 3.3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .main-nav { transition: none; }
}

/* Stronger YPT parent-brand and Enyalius endorsed identity */
body[data-brand="ypt"][data-shell="advisory"] { --ypt-accent-text: #72531e; }
.ypt-header { border-bottom-width: 3px; border-bottom-color: color-mix(in srgb, var(--accent) 72%, var(--line)); }
.ypt-logo-mark { position: relative; flex: 0 0 auto; width: 148px; min-width: 148px; height: 54px; display: block; overflow: hidden; border: 1px solid #2b3338; background: #0b1116; }
.ypt-logo-mark img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.ypt-header .practice-label { color: var(--muted); border-color: var(--line); }
body[data-brand="ypt"][data-shell="advisory"] .ypt-home-hero h1 em,
body[data-brand="ypt"][data-shell="advisory"] .service-index span { color: var(--ypt-accent-text); }
body[data-brand="ypt"][data-shell="advisory"] .page-hero { position: relative; }
body[data-brand="ypt"][data-shell="advisory"] .page-hero::before { content: "YOUR PEOPLE TEAM"; position: absolute; top: 1.4rem; left: 1.5rem; padding-left: .8rem; border-left: 3px solid var(--accent); color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .16em; }
.footer-brand img { width: 156px; height: 58px; object-fit: cover; object-position: 50% 50%; margin-bottom: .65rem; border: 1px solid color-mix(in srgb, currentColor 25%, transparent); background: #0b1116; }

.endorsed-brand { display: flex; align-items: center; gap: .8rem; flex: 0 0 auto; }
.endorsed-brand .ypt-logo-mark { width: 112px; min-width: 112px; height: 48px; }
.brand-divider { width: 1px; height: 42px; background: var(--line); }
.enyalius-nav-mark { display: flex; align-items: center; gap: .55rem; color: inherit; text-decoration: none; line-height: 1; }
.enyalius-nav-mark > span:last-child { display: flex; flex-direction: column; }
.enyalius-nav-mark strong { font-size: .92rem; letter-spacing: .12em; }
.enyalius-nav-mark small { margin-top: .3rem; color: var(--muted); font-size: .62rem; letter-spacing: .04em; }
.enyalius-glyph { width: 38px; height: 38px; display: inline-grid; place-items: center; flex: 0 0 auto; border: 1px solid #6ee3ff; background: linear-gradient(145deg, #62dcff, #776dff); color: #06101a; font-weight: 900; box-shadow: 0 0 24px rgba(98,220,255,.28); }

body[data-brand="ypt"][data-identity="enyalius"] { --bg: #070910; --surface: #0d1220; --ink: #f3f7ff; --muted: #a5b2c7; --accent: #6ee3ff; --accent-ink: #071019; --line: #29344e; --dark: #04060a; --dark-ink: #f4f7ff; --footer: #03050a; --footer-ink: #dce7f5; --focus: #ffd970; background: var(--bg); color: var(--ink); }
body[data-brand="ypt"][data-identity="enyalius"] .site-header { background: rgba(7,9,16,.95); }
body[data-brand="ypt"][data-identity="enyalius"] .header-action { border-color: #6ee3ff; background: linear-gradient(110deg, #6ee3ff, #8b83ff); color: #071019; }
body[data-brand="ypt"][data-identity="enyalius"] .practice-bridge { background: #060913; border-bottom-color: #33415f; color: #bcecff; }
.enyalius-bridge b { color: #fff; letter-spacing: .18em; }
.enyalius-page { position: relative; overflow: hidden; background: var(--bg); }
.enyalius-page::before { content: ""; position: absolute; z-index: 0; inset: 0 0 auto; height: 920px; pointer-events: none; background: radial-gradient(circle at 74% 15%, rgba(111,91,255,.22), transparent 36%), radial-gradient(circle at 24% 34%, rgba(80,223,255,.11), transparent 31%), linear-gradient(rgba(110,227,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(110,227,255,.035) 1px, transparent 1px); background-size: auto, auto, 46px 46px, 46px 46px; }
.enyalius-page > * { position: relative; z-index: 1; }
.enyalius-brand-lockup { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.5rem; }
.enyalius-brand-lockup .enyalius-glyph { width: 54px; height: 54px; font-size: 1.35rem; }
.enyalius-brand-lockup > span:last-child { display: flex; flex-direction: column; }
.enyalius-brand-lockup strong { font-size: 1.45rem; letter-spacing: .2em; }
.enyalius-brand-lockup small { margin-top: .35rem; color: var(--muted); font-size: .76rem; letter-spacing: .08em; }
.enyalius-page .enyalius-hero h1,
.enyalius-page .enyalius-principles h2,
.enyalius-page .enyalius-demo h2,
.enyalius-page .development-map h2,
.enyalius-page .next-service h2 { font-family: StudioSans, Arial, sans-serif; font-weight: 700; }
.enyalius-page .enyalius-hero h1 em { background: linear-gradient(90deg, #6ee3ff, #9b8cff); color: transparent; -webkit-background-clip: text; background-clip: text; }
.enyalius-screen { padding-top: 54px; border-color: #344361; border-radius: .45rem; background: #05070d; box-shadow: 0 38px 110px rgba(0,0,0,.58), 0 0 70px rgba(98,220,255,.08); }
.enyalius-screen img { height: calc(100% - 54px); }
.enyalius-screen-brand { position: absolute; z-index: 2; inset: 0 0 auto; height: 54px; display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; border-bottom: 1px solid #29344e; background: #080c15; }
.enyalius-screen-brand .enyalius-glyph { width: 30px; height: 30px; font-size: .8rem; }
.enyalius-screen-brand strong { letter-spacing: .12em; font-size: .78rem; }
.enyalius-screen-brand small { margin-left: auto; color: #93a4ba; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.enyalius-screen > span { z-index: 3; }
.enyalius-brand-rail { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); background: #080c15; }
.enyalius-brand-rail span { padding: 1rem clamp(1rem, 3vw, 2.5rem); border-right: 1px solid var(--line); color: #b9c8dc; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.enyalius-brand-rail span:last-child { border-right: 0; }
.enyalius-page .enyalius-principles article { background: linear-gradient(155deg, #11182a, #0a0e17); }
.enyalius-page .enyalius-principles article span { background: transparent; border: 1px solid #6ee3ff; color: #6ee3ff; }
#enyalius-stage-panel { min-height: 190px; }

/* Blue Light Miniatures: a distinct night-response collection */
.blue-light-page { --blue-hot: #79dcff; --blue: #087cff; --blue-deep: #061a45; --blue-surface: #0d1117; --blue-line: #263444; background: #05070a; color: #f4f7fb; }
.blue-light-hero { position: relative; min-height: calc(100vh - 124px); display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; overflow: hidden; padding: clamp(4rem, 8vw, 7rem) max(1.5rem, calc((100vw - var(--max)) / 2)); background: radial-gradient(circle at 92% 18%, rgba(0,113,255,.2), transparent 28%), linear-gradient(120deg, #05070a 0 46%, #090d13 72%, #05070a 100%); isolation: isolate; }
.blue-light-beam { position: absolute; z-index: -1; top: -15rem; right: -16vw; width: 108vw; height: 26rem; transform: rotate(-13deg); background: linear-gradient(180deg, transparent 0 22%, rgba(0,97,255,.04) 28%, rgba(0,116,255,.42) 46%, rgba(121,220,255,.92) 49%, rgba(255,255,255,.96) 50%, rgba(52,153,255,.75) 51%, rgba(0,93,255,.18) 58%, transparent 72%); filter: blur(18px); opacity: .9; pointer-events: none; }
.blue-light-copy { position: relative; z-index: 2; }
.blue-light-lockup { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.blue-light-lockup img { width: 82px; height: 82px; object-fit: cover; border: 1px solid rgba(121,220,255,.5); box-shadow: 0 0 45px rgba(8,124,255,.22); }
.blue-light-lockup > span { display: flex; flex-direction: column; line-height: .9; }
.blue-light-lockup small { margin-bottom: .45rem; color: #99a9b9; font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.blue-light-lockup strong { color: #fff; font: 700 1.35rem/1 StudioCondensed, Impact, sans-serif; letter-spacing: .12em; }
.blue-light-lockup b { margin-top: .25rem; color: var(--blue-hot); font-size: .72rem; letter-spacing: .21em; }
.blue-light-hero .kicker { color: var(--blue-hot); }
.blue-light-hero h1 { margin: .7rem 0 1.4rem; color: #fff; font: 700 clamp(5rem, 9vw, 9rem)/.75 StudioCondensed, Impact, sans-serif; letter-spacing: -.025em; text-transform: uppercase; text-shadow: 0 12px 50px rgba(0,0,0,.55); }
.blue-light-hero h1 em { color: var(--blue-hot); font-style: normal; }
.blue-light-hero .blue-light-copy > p:not(.kicker) { max-width: 44rem; color: #bcc8d3; font-size: 1.08rem; }
.blue-light-hero .primary-button { border-color: var(--blue-hot); background: var(--blue-hot); color: #04101c; }
.blue-light-hero .text-link { color: #d9efff; }
.blue-light-scene { position: relative; z-index: 1; margin: 0; border: 1px solid #23384f; background: #030507; box-shadow: 0 40px 110px rgba(0,0,0,.62), 0 0 90px rgba(0,102,255,.15); }
.blue-light-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, rgba(5,7,10,.45), transparent 43%, rgba(0,104,255,.12)); }
.blue-light-scene img { width: 100%; min-height: 560px; object-fit: cover; object-position: 56% center; }
.blue-light-scene figcaption { position: absolute; z-index: 2; inset: auto 1rem 1rem; padding: .45rem .65rem; border-left: 3px solid var(--blue-hot); background: rgba(4,7,11,.84); color: #dcecff; font-size: .72rem; letter-spacing: .06em; }
.blue-light-lanes { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid #263444; background: #090d13; }
.blue-light-lanes a { min-height: 190px; display: flex; flex-direction: column; padding: 1.3rem clamp(1rem, 3vw, 2.2rem); border-right: 1px solid #263444; color: #f1f6fb; text-decoration: none; }
.blue-light-lanes a:last-child { border-right: 0; }
.blue-light-lanes span { color: var(--blue-hot); font-size: .7rem; letter-spacing: .12em; }
.blue-light-lanes strong { margin-top: auto; font: 700 2.1rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.blue-light-lanes small { margin-top: .5rem; color: #98a8b8; font-size: .82rem; }
.blue-light-lanes a:hover, .blue-light-lanes a:focus-visible { background: linear-gradient(145deg, #0c1420, #0a2347); }
.blue-light-manifest { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); border-bottom: 1px solid var(--blue-line); }
.blue-light-manifest h2,
.blue-light-products h2,
.blue-light-formats h2 { margin: 0; font: 700 clamp(3rem, 6vw, 6rem)/.84 StudioCondensed, Impact, sans-serif; letter-spacing: -.02em; text-transform: uppercase; }
.blue-light-manifest > div:last-child { color: #aab7c3; font-size: 1.08rem; }
.blue-light-products .section-heading { align-items: end; }
.blue-light-products .section-heading .text-link { color: var(--blue-hot); }
.blue-light-products .product-grid { grid-template-columns: repeat(3, 1fr); }
.blue-light-products .product-card { border-color: var(--blue-line); background: var(--blue-surface); }
.blue-light-products .product-image span { background: rgba(4,8,13,.88); color: #dcecff; }
.blue-light-products .product-card-copy .kicker,
.blue-light-products .product-card-copy > strong { color: var(--blue-hot); }
.blue-light-products .product-card-copy > p:not(.kicker) { color: #9baab8; }
.blue-light-story { display: grid; grid-template-columns: 1.12fr .88fr; align-items: stretch; min-height: 720px; background: #080b10; border-block: 1px solid #243344; }
.blue-light-story figure { position: relative; margin: 0; overflow: hidden; }
.blue-light-story figure::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 52%, #080b10 100%), linear-gradient(0deg, rgba(0,80,210,.14), transparent 45%); }
.blue-light-story img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.blue-light-story figcaption { position: absolute; z-index: 2; inset: auto auto 1rem 1rem; max-width: calc(100% - 2rem); padding: .5rem .7rem; background: rgba(5,8,12,.86); color: #bdcad6; font-size: .72rem; }
.blue-light-story > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(3rem, 7vw, 7rem); }
.blue-light-story h2 { max-width: 10ch; margin: .5rem 0 1rem; color: #fff; font: 700 clamp(4rem, 7vw, 7rem)/.8 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.blue-light-story p:not(.kicker) { max-width: 38rem; color: #aab7c3; }
.blue-light-story .primary-button { align-self: flex-start; margin-top: 1rem; border-color: var(--blue-hot); background: transparent; color: var(--blue-hot); }
.blue-light-formats { display: grid; grid-template-columns: 1fr .7fr .7fr; gap: 1px; background: var(--blue-line); padding-inline: max(1px, calc((100vw - var(--max)) / 2)); }
.blue-light-formats > div,
.blue-light-formats article { padding: clamp(2rem, 5vw, 4rem); background: #0b1017; }
.blue-light-formats article span { color: var(--blue-hot); font-size: .72rem; font-weight: 700; letter-spacing: .16em; }
.blue-light-formats article h3 { margin: 2.8rem 0 .7rem; font: 700 2.3rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.blue-light-formats article p { color: #9cabb9; }

body[data-theme="light"] .blue-light-page { background: #edf1f6; color: #111821; }
body[data-theme="light"] .blue-light-manifest { border-bottom-color: #b6c4d2; }
body[data-theme="light"] .blue-light-manifest > div:last-child { color: #4b5b6b; }
body[data-theme="light"] .blue-light-products .product-card { border-color: #b8c5d2; background: #fff; }
body[data-theme="light"] .blue-light-products .product-card-copy > p:not(.kicker) { color: #526170; }
body[data-theme="light"] .blue-light-products .product-card-copy .kicker,
body[data-theme="light"] .blue-light-products .product-card-copy > strong,
body[data-theme="light"] .blue-light-products .section-heading .text-link { color: #005dc6; }
body[data-theme="light"] .blue-light-formats { color: #f4f7fb; }
body[data-theme="light"] .blue-light-formats h2,
body[data-theme="light"] .blue-light-formats h3 { color: #f4f7fb; }

@media (max-width: 1100px) {
  .endorsed-brand { max-width: 360px; }
  .blue-light-hero { grid-template-columns: 1fr; }
  .blue-light-scene img { min-height: 520px; }
  .blue-light-story { grid-template-columns: 1fr; }
  .blue-light-story figure { max-height: 620px; }
  .blue-light-story figure::after { background: linear-gradient(0deg, #080b10 0, transparent 32%); }
}

@media (max-width: 820px) {
  .ypt-logo-mark { width: 128px; min-width: 128px; height: 48px; }
  .endorsed-brand .ypt-logo-mark { display: none; }
  .endorsed-brand .brand-divider { display: none; }
  .enyalius-nav-mark small { display: block; }
  .enyalius-brand-rail,
  .blue-light-lanes { grid-template-columns: 1fr 1fr; }
  .enyalius-brand-rail span:nth-child(2) { border-right: 0; }
  .enyalius-brand-rail span { border-bottom: 1px solid var(--line); }
  .blue-light-lanes a:nth-child(2) { border-right: 0; }
  .blue-light-lanes a { border-bottom: 1px solid #263444; }
  .blue-light-manifest,
  .blue-light-formats { grid-template-columns: 1fr; }
  .blue-light-products .product-grid { grid-template-columns: 1fr; }
  .blue-light-formats { padding-inline: 1px; }
}

@media (max-width: 620px) {
  body[data-brand="ypt"][data-shell="advisory"] .page-hero::before { left: 1rem; }
  .ypt-logo-mark { width: 112px; min-width: 112px; height: 44px; }
  .enyalius-nav-mark .enyalius-glyph { width: 34px; height: 34px; }
  .enyalius-nav-mark strong { font-size: .8rem; }
  .enyalius-nav-mark small { font-size: .56rem; }
  .enyalius-screen-brand small { display: none; }
  .enyalius-brand-rail { grid-template-columns: 1fr; }
  .enyalius-brand-rail span { border-right: 0; }
  .blue-light-hero { padding-inline: 1rem; }
  .blue-light-hero h1 { font-size: 5rem; }
  .blue-light-lockup img { width: 66px; height: 66px; }
  .blue-light-lanes { grid-template-columns: 1fr; }
  .blue-light-lanes a { min-height: 150px; border-right: 0; }
  .blue-light-scene img { min-height: 410px; }
  .blue-light-story { min-height: auto; }
  .blue-light-story figure { min-height: 440px; }
}

.range-directory { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #343a31; }
.range-directory > a { display: grid; grid-template-rows: auto auto 1fr; min-height: 100%; overflow: hidden; background: #141713; color: #f4f4ed; text-decoration: none; }
.range-directory img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; filter: saturate(.82) contrast(1.08); }
.range-directory span { padding: 1.4rem 1.4rem .45rem; color: #d2a855; font: 700 clamp(1.7rem, 3vw, 2.5rem)/.95 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.range-directory p { margin: 0; padding: 0 1.4rem 1.6rem; color: #aeb7aa; }
.range-directory > a:hover img { filter: saturate(1) contrast(1.12); }
.range-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.range-gallery figure { margin: 0; overflow: hidden; border: 1px solid #30372e; background: #10130f; }
.range-gallery button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; color: #fff; cursor: zoom-in; }
.range-gallery img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.range-gallery button span { position: absolute; right: 1rem; bottom: 1rem; padding: .45rem .7rem; background: rgba(5,7,5,.84); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.range-gallery figcaption { padding: 1rem 1.2rem 1.2rem; color: #afb8ab; }

body[data-theme="light"] .range-directory { background: #c9cec4; }
body[data-theme="light"] .range-directory > a,
body[data-theme="light"] .range-gallery figure { border-color: #c9cec4; background: #fff; color: #141713; }
body[data-theme="light"] .range-directory p,
body[data-theme="light"] .range-gallery figcaption { color: #535c50; }
body[data-theme="light"] .range-directory span { color: #785a1d; }

@media (max-width: 900px) {
  .range-directory { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .range-directory,
  .range-gallery { grid-template-columns: 1fr; }
}

/* Warfighter Battlelab: a planning-table face of the same Warfighter system */
body[data-brand="wm"] .wm-header { top: 0; }

body[data-brand="wm"][data-face="battlelab"][data-theme="dark"] {
  --bg: #0b100e;
  --surface: #121a16;
  --ink: #f2f1e9;
  --muted: #aeb9af;
  --accent: #e2b34e;
  --accent-ink: #171208;
  --line: #33433a;
  --footer: #070a08;
  --footer-ink: #dce2d9;
  --focus: #78d9d0;
}

body[data-brand="wm"][data-face="battlelab"][data-theme="light"] {
  --bg: #edf0ea;
  --surface: #fafbf7;
  --ink: #17211c;
  --muted: #58665e;
  --accent: #315f51;
  --accent-ink: #fff;
  --line: #b8c3bb;
  --footer: #17211c;
  --footer-ink: #edf3ee;
  --focus: #9b5b12;
}

.face-link {
  padding: .4rem .62rem;
  border: 1px solid var(--line);
}

.face-link--battlelab {
  border-color: color-mix(in srgb, var(--accent) 72%, var(--line));
}

.face-link.is-face-active:not([aria-current="page"]) {
  border-color: var(--accent);
  box-shadow: inset 0 -2px 0 var(--accent);
}

.face-link[aria-current="page"] {
  background: var(--accent);
  color: var(--accent-ink);
  text-decoration: none;
}

.battlelab-page {
  --bl-signal: #e2b34e;
  --bl-cyan: #78d9d0;
  --bl-grid: rgba(120, 217, 208, .095);
  position: relative;
  overflow: hidden;
  background: var(--bg);
}

.battlelab-hero {
  position: relative;
  min-height: min(920px, calc(100vh - 82px));
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(400px, .88fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(4rem, 8vw, 7.5rem) max(1.5rem, calc((100vw - var(--max)) / 2));
  isolation: isolate;
  background:
    radial-gradient(circle at 78% 22%, rgba(226, 179, 78, .13), transparent 28%),
    linear-gradient(var(--bl-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--bl-grid) 1px, transparent 1px),
    linear-gradient(128deg, #0b100e 0 54%, #0f1713 100%);
  background-size: auto, 42px 42px, 42px 42px, auto;
  color: #f2f1e9;
}

.battlelab-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% -8% auto auto;
  width: min(46vw, 720px);
  aspect-ratio: 1;
  border: 1px solid rgba(120, 217, 208, .22);
  border-radius: 50%;
  box-shadow: inset 0 0 0 72px rgba(120, 217, 208, .018), inset 0 0 0 144px rgba(120, 217, 208, .018);
}

.battlelab-hero-copy {
  position: relative;
  z-index: 1;
}

.battlelab-lockup {
  width: min(100%, 440px);
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  gap: .2rem 1rem;
  margin-bottom: 2.2rem;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(120, 217, 208, .45);
  border-left: 6px solid var(--bl-signal);
  background: rgba(6, 11, 8, .72);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.battlelab-lockup span {
  grid-row: 1 / 3;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: #a9b9af;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .22em;
}

.battlelab-lockup strong {
  font: 700 clamp(2rem, 4vw, 3.4rem)/.8 StudioCondensed, Impact, sans-serif;
  letter-spacing: .08em;
}

.battlelab-lockup small {
  color: var(--bl-cyan);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.battlelab-hero .kicker { color: var(--bl-cyan); }

.battlelab-hero h1 {
  max-width: 11ch;
  margin: .7rem 0 1.5rem;
  font: 700 clamp(4.25rem, 7.7vw, 8.25rem)/.78 StudioCondensed, Impact, sans-serif;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.battlelab-hero h1 em {
  color: var(--bl-signal);
  font-style: normal;
}

.battlelab-hero-copy > p:not(.kicker, .battlelab-boundary) {
  max-width: 48rem;
  color: #b9c5bc;
  font-size: 1.12rem;
}

.battlelab-hero .primary-button {
  background: var(--bl-signal);
  border-color: var(--bl-signal);
  color: #171208;
}

.battlelab-hero .text-link { color: #eaf2eb; }

.battlelab-boundary {
  max-width: 48rem;
  margin: 2rem 0 0;
  padding: 1rem 1.1rem;
  border-left: 4px solid var(--bl-cyan);
  background: rgba(120, 217, 208, .075);
  color: #aebdb3;
  font-size: .88rem;
}

.battlelab-boundary strong { color: #f5f3e9; }

.battlelab-board {
  position: relative;
  min-height: 540px;
  display: flex;
  flex-direction: column;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid #40574b;
  background: rgba(6, 11, 8, .9);
  box-shadow: 0 38px 100px rgba(0, 0, 0, .48), 0 0 65px rgba(120, 217, 208, .05);
  overflow: hidden;
}

.battlelab-board::before,
.battlelab-board::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.battlelab-board::before {
  left: 50%;
  top: 43%;
  width: min(82%, 430px);
  aspect-ratio: 1;
  border: 1px solid rgba(120, 217, 208, .3);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(120, 217, 208, .16) 50%, transparent calc(50% + .5px)),
    linear-gradient(transparent calc(50% - .5px), rgba(120, 217, 208, .16) 50%, transparent calc(50% + .5px)),
    repeating-radial-gradient(circle, transparent 0 19%, rgba(120, 217, 208, .16) 19.3% 19.7%, transparent 20% 39%),
    conic-gradient(from 218deg, transparent 0 59%, rgba(120, 217, 208, .17) 64%, transparent 70% 100%);
  transform: translate(-50%, -50%) rotate(-8deg);
  animation: battlelab-sweep 18s linear infinite;
}

.battlelab-board::after {
  right: 19%;
  top: 27%;
  width: 16px;
  height: 16px;
  border: 2px solid var(--bl-cyan);
  border-radius: 50%;
  box-shadow: 0 0 28px rgba(120, 217, 208, .8);
}

.board-grid {
  position: absolute;
  inset: 0;
  opacity: .72;
  background:
    linear-gradient(rgba(120, 217, 208, .075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 217, 208, .075) 1px, transparent 1px);
  background-size: 34px 34px;
}

.battlelab-board > p {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 9rem;
}

.battlelab-board > p span,
.battlelab-board > p small {
  color: var(--bl-cyan);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.battlelab-board > p strong {
  margin: .45rem 0;
  max-width: 9ch;
  font: 700 clamp(2.65rem, 4.2vw, 4.5rem)/.84 StudioCondensed, Impact, sans-serif;
  letter-spacing: .04em;
}

.battlelab-board ol,
.battlelab-method ol,
.battlelab-layers ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.battlelab-board ol {
  position: relative;
  z-index: 1;
  margin-top: auto;
  border-top: 1px solid #40574b;
}

.battlelab-board li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px solid #28372f;
}

.battlelab-board li > span { color: var(--bl-signal); font-size: .72rem; }
.battlelab-board li div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.battlelab-board li strong { text-transform: uppercase; letter-spacing: .08em; }
.battlelab-board li small { max-width: 26rem; color: #91a198; }

@keyframes battlelab-sweep {
  to { transform: translate(-50%, -50%) rotate(352deg); }
}

@media (prefers-reduced-motion: reduce) {
  .battlelab-board::before { animation: none; }
}

.battlelab-who h2,
.battlelab-economy h2,
.battlelab-opposition h2,
.battlelab-method h2,
.battlelab-campaign h2,
.battlelab-programmes h2,
.battlelab-future h2,
.battlelab-layers h2,
.battlelab-bridge h2 {
  margin: .5rem 0 1rem;
  font: 700 clamp(3rem, 6vw, 6rem)/.82 StudioCondensed, Impact, sans-serif;
  letter-spacing: -.015em;
  text-transform: uppercase;
}

.battlelab-who {
  max-width: var(--max);
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: clamp(3rem, 8vw, 8rem);
  margin: 0 auto;
  padding: clamp(5rem, 9vw, 8rem) 1.5rem;
}

.battlelab-who > div:last-child {
  align-self: end;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-left: 6px solid var(--bl-signal);
  background: color-mix(in srgb, var(--surface) 82%, var(--bg));
  box-shadow: 24px 24px 0 color-mix(in srgb, var(--bl-cyan) 8%, transparent);
}

.battlelab-who > div:last-child > p {
  color: var(--muted);
  font-size: 1.06rem;
}

.battlelab-discipline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 2rem;
  padding: 1px;
  background: var(--line);
}

.battlelab-discipline span {
  min-height: 92px;
  display: flex;
  align-items: end;
  padding: 1rem;
  background: var(--bg);
  color: var(--ink);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.battlelab-economy {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(3rem, 8vw, 8rem);
  padding: clamp(5rem, 9vw, 8rem) max(1.5rem, calc((100vw - var(--max)) / 2));
  overflow: hidden;
  border-block: 1px solid #2a4035;
  background:
    linear-gradient(rgba(120, 217, 208, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 217, 208, .06) 1px, transparent 1px),
    linear-gradient(125deg, #0b100e, #12231b);
  background-size: 48px 48px, 48px 48px, auto;
  color: #f1f3ed;
}

.battlelab-economy::after {
  content: "COST / ACCESS / REPETITION";
  position: absolute;
  right: 1.25rem;
  bottom: 1.2rem;
  color: rgba(120, 217, 208, .42);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.battlelab-economy .kicker { color: var(--bl-cyan); }
.battlelab-economy h2 { max-width: 10ch; color: #f5f3e9; }
.battlelab-economy > div > p { max-width: 48rem; color: #b8c5bd; }
.battlelab-economy > div > strong { display: block; margin-top: 2rem; color: var(--bl-signal); font: 700 1.75rem/1 StudioCondensed, Impact, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.battlelab-economy ol { margin: 0; padding: 0; border-top: 1px solid #40574b; list-style: none; }
.battlelab-economy li { display: grid; grid-template-columns: 54px 1fr; gap: 1rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid #40574b; }
.battlelab-economy li span { color: var(--bl-signal); font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.battlelab-economy li p { margin: 0; color: #d5ddd7; }

.battlelab-opposition,
.battlelab-future {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(5rem, 9vw, 8rem) 1.5rem;
}

.battlelab-opposition header,
.battlelab-future header,
.battlelab-programmes header {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: 1rem 5rem;
  align-items: end;
  margin-bottom: 3rem;
}

.battlelab-opposition header .kicker,
.battlelab-future header .kicker,
.battlelab-programmes header .kicker { grid-column: 1 / -1; }
.battlelab-opposition header h2,
.battlelab-future header h2,
.battlelab-programmes header h2 { margin-bottom: 0; }
.battlelab-opposition header > p:not(.kicker),
.battlelab-future header > p:not(.kicker),
.battlelab-programmes header > p:not(.kicker) { margin-bottom: .4rem; color: var(--muted); font-size: 1.05rem; }

.battlelab-opposition > div,
.battlelab-future > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding: 1px;
  background: var(--line);
}

.battlelab-opposition article,
.battlelab-future article {
  min-height: 310px;
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.3rem);
  background: var(--surface);
}

.battlelab-opposition article > span,
.battlelab-future article > span,
.battlelab-programmes article > span { color: var(--accent); font-size: .8rem; font-weight: 800; letter-spacing: .16em; }
.battlelab-opposition h3,
.battlelab-future h3 { margin: auto 0 1rem; font: 700 2.25rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.battlelab-opposition article p,
.battlelab-future article p { color: var(--muted); }

.opposition-note,
.future-boundary {
  margin: 1px 0 0;
  padding: 1.2rem 1.4rem;
  border-left: 5px solid var(--bl-cyan);
  background: color-mix(in srgb, var(--surface) 82%, var(--bl-cyan));
  color: var(--muted);
}

.opposition-note strong { color: var(--ink); }

.battlelab-method {
  max-width: var(--max);
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(3rem, 8vw, 8rem);
  margin: 0 auto;
  padding: clamp(5rem, 10vw, 9rem) 1.5rem;
  border-top: 1px solid var(--line);
}

.battlelab-method > div > p:not(.kicker),
.battlelab-programmes header > p:not(.kicker),
.battlelab-layers > div > p:not(.kicker) { color: var(--muted); font-size: 1.05rem; }

.battlelab-method ol { margin: 0; padding: 0; list-style: none; }

.battlelab-method li {
  display: grid;
  grid-template-columns: 54px .45fr 1fr;
  gap: 1.2rem;
  align-items: baseline;
  margin-left: calc(var(--method-step) * 2.25rem);
  padding: 1.35rem 1.5rem;
  border: 1px solid var(--line);
  border-left: 6px solid color-mix(in srgb, var(--bl-cyan) calc(100% - var(--method-step) * 14%), var(--bl-signal));
  background: var(--surface);
  box-shadow: 14px 14px 0 color-mix(in srgb, var(--bl-cyan) 5%, transparent);
}

.battlelab-method li + li { margin-top: .75rem; }
.battlelab-method li span { color: var(--accent); font-size: .82rem; font-weight: 800; letter-spacing: .12em; }
.battlelab-method li h3 { margin: 0; font: 700 1.7rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.battlelab-method li p { margin: 0; color: var(--muted); }

.method-return {
  grid-column: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
  margin-left: 6.75rem;
  padding-top: 1.5rem;
  color: var(--muted);
  text-align: center;
}

.method-return span { padding: .9rem 1rem; border: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 80%, var(--bg)); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.method-return b { color: var(--accent); font-size: .78rem; text-transform: uppercase; }

.battlelab-campaign {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: clamp(3rem, 8vw, 8rem);
  padding: clamp(5rem, 9vw, 8rem) max(1.5rem, calc((100vw - var(--max)) / 2));
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(226, 179, 78, .11), transparent 28%),
    linear-gradient(rgba(120, 217, 208, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 217, 208, .05) 1px, transparent 1px),
    #0c120f;
  background-size: auto, 42px 42px, 42px 42px, auto;
  color: #f1f3ed;
}

.battlelab-campaign::after {
  content: "T+01 → T+02 → T+03";
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  color: rgba(226, 179, 78, .55);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.battlelab-campaign .kicker { color: var(--bl-cyan); }
.battlelab-campaign h2 { max-width: 10ch; color: #f5f3e9; }
.battlelab-campaign > div > p { color: #b8c5bd; }
.battlelab-campaign ol { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; padding: 1px; background: #31483c; list-style: none; }
.battlelab-campaign li { min-height: 145px; display: grid; grid-template-columns: 38px 1fr; align-content: center; gap: .25rem 1rem; padding: 1.3rem; background: rgba(10, 18, 14, .96); }
.battlelab-campaign li > span { grid-row: 1 / 3; color: var(--bl-signal); font-size: .78rem; font-weight: 800; }
.battlelab-campaign li strong { font: 700 1.45rem/1 StudioCondensed, Impact, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.battlelab-campaign li small { color: #9caf9f; font-size: .82rem; }

.battlelab-programmes {
  padding: clamp(5rem, 9vw, 8rem) max(1.5rem, calc((100vw - var(--max)) / 2));
  border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 74%, var(--bg));
}

.battlelab-programmes > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding: 1px;
  background: var(--line);
}

.battlelab-programmes article {
  position: relative;
  min-height: 510px;
  display: flex;
  flex-direction: column;
  padding: clamp(1.6rem, 3vw, 2.4rem);
  background: var(--bg);
}

.battlelab-programmes article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--bl-signal), var(--bl-cyan));
}

.battlelab-programmes article > small {
  margin: 1.5rem 0 auto;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.battlelab-programmes h3 {
  max-width: 12ch;
  margin: 1rem 0;
  font: 700 clamp(2.7rem, 4.5vw, 4.4rem)/.84 StudioCondensed, Impact, sans-serif;
  text-transform: uppercase;
}

.battlelab-programmes article p { color: var(--muted); }
.battlelab-programmes article b { margin-top: 1.2rem; color: var(--ink); font-size: .88rem; }
.battlelab-programmes article em { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--accent); font-size: .72rem; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.battlelab-future {
  max-width: none;
  margin: 0;
  padding-inline: max(1.5rem, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}

.battlelab-future article:nth-child(2) { background: color-mix(in srgb, var(--surface) 82%, var(--bl-cyan)); }

.battlelab-layers {
  max-width: var(--max);
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(3rem, 8vw, 8rem);
  margin: 0 auto;
  padding: clamp(5rem, 10vw, 9rem) 1.5rem;
}

.battlelab-layers ol { margin: 0; padding: 0; list-style: none; }
.battlelab-layers li { display: grid; grid-template-columns: 76px 1fr; gap: 1.2rem; padding: 1.4rem; border: 1px solid var(--line); background: var(--surface); }
.battlelab-layers li:nth-child(2) { width: 91%; margin-left: 9%; }
.battlelab-layers li:nth-child(3) { width: 82%; margin-left: 18%; }
.battlelab-layers li + li { margin-top: .75rem; }
.battlelab-layers li > span { width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid var(--accent); color: var(--accent); font: 700 1.8rem/1 StudioCondensed, Impact, sans-serif; }
.battlelab-layers li strong { display: block; margin-bottom: .35rem; font: 700 1.6rem/1 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.battlelab-layers li p { margin: 0; color: var(--muted); }

.battlelab-bridge {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  padding: 1px;
  background: var(--line);
}

.battlelab-bridge > div {
  min-height: 570px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(3rem, 8vw, 7rem) max(1.5rem, calc((100vw - var(--max)) / 4));
  background: var(--surface);
}

.battlelab-bridge > div:first-child { background: #1a1d17; color: #f2f0e8; }
.battlelab-bridge > div:first-child p:not(.kicker) { color: #b5bcad; }
.battlelab-bridge > div:last-child { background: #102019; color: #f2f1e9; }
.battlelab-bridge > div:last-child p:not(.kicker) { color: #b4c7ba; }
.battlelab-bridge .primary-button { margin-top: 1.4rem; }

.battlelab-preview-note,
.dual-system-strip {
  display: grid;
  grid-template-columns: .4fr 1.25fr auto;
  gap: 2rem;
  align-items: center;
  padding: 2rem max(1.5rem, calc((100vw - var(--max)) / 2));
  border-block: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 75%, var(--accent));
}

.battlelab-preview-note strong { font-size: 1.15rem; }
.battlelab-preview-note p,
.dual-system-strip p { margin: 0; color: var(--muted); }

.dual-system-strip { min-height: 250px; }
.dual-system-strip h2 { margin: .4rem 0 0; font: 700 clamp(2.6rem, 5vw, 5rem)/.84 StudioCondensed, Impact, sans-serif; text-transform: uppercase; }
.dual-system-strip .primary-button { white-space: nowrap; }

.commerce-hold {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: 1.2rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--line);
  border-left: 5px solid var(--accent);
  background: var(--surface);
}

.commerce-hold span { color: var(--muted); font-size: .88rem; }

body[data-theme="light"] .battlelab-hero {
  background:
    radial-gradient(circle at 78% 22%, rgba(226, 179, 78, .13), transparent 28%),
    linear-gradient(rgba(120, 217, 208, .085) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 217, 208, .085) 1px, transparent 1px),
    linear-gradient(128deg, #16221c 0 54%, #0f1713 100%);
  background-size: auto, 42px 42px, 42px 42px, auto;
}

body[data-theme="light"] .battlelab-programmes article,
body[data-theme="light"] .battlelab-opposition article,
body[data-theme="light"] .battlelab-future article,
body[data-theme="light"] .battlelab-method li,
body[data-theme="light"] .battlelab-layers li { background: #fafbf7; }
body[data-theme="light"] .battlelab-who > div:last-child { background: #e2e7df; }
body[data-theme="light"] .battlelab-discipline span { background: #f6f7f2; }

@media (max-width: 1100px) {
  .battlelab-hero { grid-template-columns: 1fr; }
  .battlelab-board { min-height: 560px; }
  .battlelab-economy,
  .battlelab-campaign { gap: 3.5rem; }
  .battlelab-opposition > div,
  .battlelab-future > div,
  .battlelab-programmes > div { grid-template-columns: 1fr 1fr; }
  .battlelab-programmes article:last-child,
  .battlelab-opposition article:last-child,
  .battlelab-future article:last-child { grid-column: 1 / -1; min-height: 350px; }
  .battlelab-preview-note,
  .dual-system-strip { grid-template-columns: 1fr 1.2fr; }
  .dual-system-strip .primary-button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 820px) {
  .face-link { padding: .85rem 0; border: 0; }
  .face-link[aria-current="page"] { padding-inline: .65rem; }
  .battlelab-hero { min-height: auto; padding-inline: 1rem; }
  .battlelab-board li div { display: block; }
  .battlelab-board li small { display: block; margin-top: .3rem; }
  .battlelab-who,
  .battlelab-economy,
  .battlelab-opposition header,
  .battlelab-method,
  .battlelab-campaign,
  .battlelab-programmes header,
  .battlelab-future header,
  .battlelab-layers,
  .battlelab-bridge,
  .battlelab-preview-note,
  .dual-system-strip { grid-template-columns: 1fr; }
  .battlelab-who,
  .battlelab-method,
  .battlelab-layers { gap: 2rem; }
  .battlelab-discipline { grid-template-columns: 1fr 1fr; }
  .battlelab-opposition header .kicker,
  .battlelab-programmes header .kicker,
  .battlelab-future header .kicker { grid-column: auto; }
  .battlelab-opposition > div,
  .battlelab-programmes > div,
  .battlelab-future > div { grid-template-columns: 1fr; }
  .battlelab-opposition article,
  .battlelab-opposition article:last-child,
  .battlelab-future article,
  .battlelab-future article:last-child { grid-column: auto; min-height: 270px; }
  .battlelab-programmes article,
  .battlelab-programmes article:last-child { grid-column: auto; min-height: 400px; }
  .battlelab-method li { margin-left: 0; }
  .method-return { grid-column: auto; margin-left: 0; }
  .battlelab-layers li:nth-child(2),
  .battlelab-layers li:nth-child(3) { width: 100%; margin-left: 0; }
  .battlelab-bridge > div { min-height: 470px; padding-inline: 1.5rem; }
}

@media (max-width: 620px) {
  .battlelab-hero h1 { font-size: 4.35rem; }
  .battlelab-lockup { width: 100%; }
  .battlelab-hero .button-row { align-items: stretch; }
  .battlelab-hero .button-row a { width: 100%; text-align: center; }
  .battlelab-board { min-height: 500px; }
  .battlelab-who,
  .battlelab-opposition,
  .battlelab-method,
  .battlelab-future,
  .battlelab-layers { padding-inline: 1rem; }
  .battlelab-discipline { grid-template-columns: 1fr; }
  .battlelab-method li { grid-template-columns: 38px 1fr; }
  .battlelab-method li p { grid-column: 2; }
  .method-return { grid-template-columns: 1fr; }
  .battlelab-campaign ol { grid-template-columns: 1fr; }
  .battlelab-layers li { grid-template-columns: 60px 1fr; }
  .battlelab-preview-note,
  .dual-system-strip { padding-inline: 1rem; }
}
