.warfare-page { overflow: clip; }
.warfare-page section { padding-block: var(--space-9); }
.warfare-page .eyebrow { margin-block-end: var(--space-3); }
.warfare-page h2 { margin-block-end: var(--space-4); }
.warfare-page a:focus-visible, .warfare-page button:focus-visible, .warfare-page input:focus-visible { outline: 2px solid var(--colour-signal-orange); outline-offset: 2px; }

.warfare-briefing { border-bottom: var(--border); background-image: var(--texture-coordinate), var(--texture-topographic); background-size: 2rem 2rem, auto; }
.warfare-briefing__grid { display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 4fr); gap:var(--space-6); align-items:end; }
.warfare-briefing__copy { min-width:0; padding:var(--space-7) 0; border-inline-start:var(--rule-action); padding-inline-start:var(--space-5); }
.warfare-briefing__copy > * { min-width:0; }
.warfare-briefing__copy h1 { max-width:16ch; margin-block-end:var(--space-4); }
.warfare-briefing__lead { max-width:62ch; font-size:var(--text-lead); }
.warfare-briefing__notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); max-width:68ch; margin-block:var(--space-5); }
.warfare-briefing__note { min-width:0; padding:var(--space-4); border:var(--border); }
.warfare-briefing__note p { max-width:34ch; margin:var(--space-3) 0 0; font-size:var(--text-utility); }
.warfare-briefing__stamp { display:flex; min-width:0; min-height:14rem; flex-direction:column; align-items:flex-end; justify-content:flex-end; gap:var(--space-2); padding:var(--space-5); border:var(--border); border-top:var(--rule-action); color:var(--colour-graphite-soft); font-family:var(--font-heading); font-size:var(--text-utility); letter-spacing:.1em; text-align:right; text-transform:uppercase; }
.warfare-briefing__stamp strong { color:var(--colour-graphite); font-size:var(--text-section); }

.warfare-routing__grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:var(--space-6); align-items:start; }
.warfare-routing__intro { min-width:0; }
.warfare-routing__intro p:last-child { max-width:54ch; }
.warfare-routing__tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); min-width:0; }
.warfare-tab { display:flex; min-width:0; min-height:13rem; flex-direction:column; justify-content:flex-start; gap:var(--space-3); padding:var(--space-4); border:var(--border); border-top:2px solid var(--colour-graphite); background:var(--texture-paper),var(--colour-paper-bright); color:var(--colour-graphite); font-size:var(--text-utility); line-height:1.5; text-decoration:none; }
.warfare-tab:nth-child(4), .warfare-tab:nth-child(5) { grid-column:span 1; }
.warfare-tab--land { border-top-color:var(--colour-signal-orange); }
.warfare-tab--air { background:var(--colour-steel-mist); }
.warfare-tab--coordination { background:var(--colour-field-paper); }
.warfare-tab__meta { color:var(--colour-graphite-soft); font-family:var(--font-heading); font-size:var(--text-meta); font-weight:700; letter-spacing:.09em; }
.warfare-tab__title { display:flex; min-width:0; justify-content:space-between; gap:var(--space-2); color:var(--colour-graphite); font-family:var(--font-heading); font-size:var(--text-section); font-weight:700; line-height:1; }
.warfare-tab__title b { color:var(--colour-signal-orange); transition:transform var(--transition-fast); }
.warfare-tab:hover, .warfare-tab:focus-visible { border-inline-start:2px solid var(--colour-signal-orange); color:var(--colour-graphite); }
.warfare-tab:hover b, .warfare-tab:focus-visible b { transform:translateX(3px); }

.warfare-battlefield { background:var(--colour-paper-bright); border-block:var(--border); }
.warfare-battlefield__grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--space-6); align-items:start; }
.warfare-battlefield__copy { grid-column:1; min-width:0; }
.warfare-battlefield__media { position:relative; grid-column:2; grid-row:1; min-width:0; margin:0; }
.warfare-battlefield__media::after, .warfare-maps__media::after { position:absolute; inset:0; background:var(--texture-topographic); content:""; opacity:.14; pointer-events:none; }
.warfare-battlefield__media img { width:100%; aspect-ratio:4 / 5; object-fit:cover; }
.warfare-battlefield__maincopy { max-width:58ch; }
.warfare-context { max-width:46ch; margin-block:var(--space-5); padding:var(--space-4); border:var(--border); }
.warfare-context p { margin:var(--space-3) 0 0; }
.warfare-field-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-3); min-width:0; }
.warfare-field-note { min-width:0; padding:var(--space-4); border-top:var(--rule-action); background:var(--colour-canvas-tan); }
.warfare-field-note > span { color:var(--colour-graphite-soft); font-family:var(--font-heading); font-size:var(--text-meta); font-weight:700; letter-spacing:.1em; }
.warfare-field-note h3 { margin:var(--space-2) 0; font-size:var(--text-section); }
.warfare-field-note p { margin:0; font-size:var(--text-utility); }

.warfare-infantry__grid { display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:var(--space-6); align-items:start; }
.warfare-infantry__records, .warfare-checklist { min-width:0; }
.warfare-infantry__setup { max-width:56ch; }
.warfare-document-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-4); align-items:end; padding:var(--space-5) 0; border-top:var(--border); }
.warfare-document-row > div { min-width:0; }
.warfare-document-row h3 { margin-block:var(--space-2); }
.warfare-document-row p { max-width:56ch; margin:0; }
.warfare-document-row .button { min-width:8rem; }
.warfare-checklist { padding:var(--space-5); border:var(--border); }
.warfare-checklist h3 { margin-block:var(--space-3); }
.warfare-checklist ol { display:grid; gap:var(--space-3); margin:0; padding-inline-start:1.4em; }

.warfare-arms { background:var(--colour-field-paper); border-block:var(--border); }
.warfare-arms__lead { max-width:55ch; }
.warfare-arms__features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-6); }
.warfare-arms-card { display:flex; min-width:0; flex-direction:column; border:var(--border); background:var(--texture-paper),var(--colour-paper-bright); }
.warfare-arms-card img, .warfare-arms-card__sea-art { width:100%; aspect-ratio:16 / 10; object-fit:cover; }
.warfare-arms-card__sea-art { display:flex; align-items:flex-end; padding:var(--space-3); background:var(--texture-coordinate),var(--colour-tactical-sage); color:var(--colour-paper-bright); font-family:var(--font-heading); font-size:var(--text-utility); font-weight:700; letter-spacing:.1em; }
.warfare-arms-card > div:last-child { display:flex; min-width:0; flex:1; flex-direction:column; align-items:flex-start; gap:var(--space-3); padding:var(--space-4); }
.warfare-arms-card h3, .warfare-arms-card p { margin:0; }
.warfare-arms-card p { max-width:32ch; font-size:var(--text-utility); }
.warfare-arms-card .button { margin-top:auto; }
.warfare-source-strip { display:flex; width:calc((100% - var(--space-5) * 2) / 3 * 2 + var(--space-5)); min-width:0; align-items:flex-start; gap:var(--space-4); margin-top:var(--space-5); padding:var(--space-4); border:var(--border); }
.warfare-source-strip p { max-width:60ch; margin:0; }

.warfare-coordination__intro { max-width:54ch; }
.warfare-principles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-5); margin-top:var(--space-6); }
.warfare-principle { min-width:0; border-top:var(--border); padding-top:var(--space-4); }
.warfare-principle > span { color:var(--colour-signal-orange); font-family:var(--font-heading); font-size:3.5rem; font-weight:700; line-height:1; }
.warfare-principle h3 { margin-block:var(--space-2); }
.warfare-principle p { max-width:42ch; margin:0; }
.warfare-handoff { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); width:calc((100% - var(--space-5) * 2) / 3 * 2 + var(--space-5)); gap:var(--space-5); margin-top:var(--space-6); padding:var(--space-5); border:var(--border); }
.warfare-handoff > div { min-width:0; }
.warfare-handoff .meta { color:var(--colour-paper-bright); }
.warfare-handoff h3 { margin-block:var(--space-2); }
.warfare-handoff p { max-width:34ch; margin:0; }
.warfare-handoff__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); align-content:start; }
.warfare-handoff__links a { display:flex; min-width:0; justify-content:space-between; padding:var(--space-3); border-bottom:1px solid rgb(245 243 236 / 35%); color:var(--colour-paper-bright); font-family:var(--font-heading); font-weight:700; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.warfare-handoff__links a span { color:var(--colour-signal-orange); transition:transform var(--transition-fast); }
.warfare-handoff__links a:hover span { transform:translateX(3px); }

.warfare-maps { background:var(--colour-paper-bright); border-block:var(--border); }
.warfare-maps__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--space-6); align-items:start; }
.warfare-maps__media { position:relative; min-width:0; margin:0; }
.warfare-maps__media img { width:100%; aspect-ratio:3 / 4; object-fit:cover; }
.warfare-maps__copy { min-width:0; }
.warfare-maps__maincopy { max-width:56ch; }
.warfare-map-context { max-width:44ch; margin-block:var(--space-5); padding:var(--space-4); border:var(--border); }
.warfare-map-context p { margin:var(--space-3) 0 0; }
.warfare-map-prompts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }
.warfare-map-prompts article { min-width:0; padding:var(--space-4); border:var(--border); background:var(--colour-field-paper); }
.warfare-map-prompts h3 { margin-block:var(--space-3); }
.warfare-map-prompts p { margin:0; font-size:var(--text-utility); }

.warfare-index__intro { max-width:54ch; }
.warfare-search { margin-top:var(--space-5); padding:var(--space-5); border:var(--border); background:var(--texture-paper),var(--colour-paper-bright); box-shadow:var(--shadow-floating); }
.warfare-search label { margin-bottom:var(--space-3); }
.warfare-search__controls { display:grid; grid-template-columns:auto minmax(0,8fr) minmax(9rem,4fr); gap:var(--space-3); align-items:center; }
.warfare-search__controls > * { min-width:0; }
.warfare-search__controls > span { color:var(--colour-steel-blue); font-family:var(--font-heading); font-size:var(--text-section); font-weight:700; }
.warfare-filter-wrap { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-4); }
.warfare-filters { display:flex; min-width:0; flex:1; flex-wrap:wrap; gap:var(--space-2); }
.warfare-filters button, .warfare-clear { min-height:2.75rem; padding:var(--space-2) var(--space-3); border:var(--border); border-radius:0; background:var(--colour-paper-bright); color:var(--colour-graphite); font-family:var(--font-heading); font-size:var(--text-utility); font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.warfare-filters button[aria-pressed="true"] { border-color:var(--colour-signal-orange); background:var(--colour-signal-orange); color:var(--colour-paper-bright); }
.warfare-clear { flex:0 0 auto; border-color:var(--colour-steel-blue); color:var(--colour-steel-blue); }
.warfare-results-status { min-height:1.55em; margin-block:var(--space-4); color:var(--colour-graphite-soft); font-size:var(--text-utility); }
.warfare-results { border-top:2px solid var(--colour-graphite); }
.warfare-result { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,7fr) minmax(0,2fr) minmax(7rem,1fr); gap:var(--space-4); align-items:center; min-width:0; padding:var(--space-4); border:var(--border); border-top:0; background:var(--colour-paper-bright); }
.warfare-result--current { border-inline-start:2px solid var(--colour-signal-orange); }
.warfare-result > * { min-width:0; }
.warfare-result__status { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-2); }
.warfare-result__content h3 { margin-block:0 var(--space-2); font-size:var(--text-section); }
.warfare-result__content p { max-width:50ch; margin:0; font-size:var(--text-utility); }
.warfare-result__context { display:grid; gap:var(--space-2); color:var(--colour-graphite-soft); font-size:var(--text-meta); line-height:1.35; }
.warfare-result__context b { display:block; color:var(--colour-graphite); font-family:var(--font-heading); font-size:var(--text-meta); letter-spacing:.08em; text-transform:uppercase; }
.warfare-result__link { display:flex; min-height:2.75rem; align-items:center; justify-content:space-between; gap:var(--space-2); color:var(--colour-graphite); font-family:var(--font-heading); font-size:var(--text-label); font-weight:700; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.warfare-result__link span { color:var(--colour-signal-orange); transition:transform var(--transition-fast); }
.warfare-result__link:hover span { transform:translateX(3px); }
.warfare-result[hidden] { display:none; }
.warfare-index__note { max-width:65ch; margin-top:var(--space-5); padding-top:var(--space-4); border-top:var(--border); color:var(--colour-graphite-soft); font-size:var(--text-utility); }

.warfare-evidence { background:var(--colour-field-paper); border-block:var(--border); }
.warfare-evidence__panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-5); }
.warfare-evidence__panel { min-width:0; padding:var(--space-5); border:var(--border); }
.warfare-evidence__panel--editorial { border-inline-start:var(--rule-action); background:var(--colour-canvas-tan); }
.warfare-evidence__panel h3 { margin-block:var(--space-3); }
.warfare-evidence__panel p { max-width:44ch; margin:0; }
.warfare-evidence__note { max-width:60ch; margin-top:var(--space-5); padding-inline-start:var(--space-4); border-inline-start:var(--rule-action); color:var(--colour-graphite-soft); }

.warfare-continue__grid { display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:var(--space-6); align-items:start; }
.warfare-continue__records, .warfare-database { min-width:0; }
.warfare-continue__lead { max-width:52ch; }
.warfare-related-row { display:grid; grid-template-columns:minmax(6rem,1fr) minmax(0,3fr) auto; gap:var(--space-4); align-items:center; min-width:0; padding:var(--space-4); border-top:var(--border); color:var(--colour-graphite); text-decoration:none; }
.warfare-related-row:last-child { border-bottom:var(--border); }
.warfare-related-row > * { min-width:0; }
.warfare-related-row strong { display:block; font-family:var(--font-heading); font-size:var(--text-section); line-height:1; }
.warfare-related-row small { display:block; margin-top:var(--space-2); color:var(--colour-graphite-soft); }
.warfare-related-row b { color:var(--colour-steel-blue); font-family:var(--font-heading); font-size:var(--text-utility); letter-spacing:.06em; text-transform:uppercase; }
.warfare-related-row:hover { border-inline-start:2px solid var(--colour-signal-orange); color:var(--colour-graphite); }
.warfare-database { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); padding:var(--space-5); border:var(--border); }
.warfare-database .meta, .warfare-database h3, .warfare-database p { margin:0; color:var(--colour-paper-bright); }
.warfare-database p { max-width:42ch; }

@media (max-width: 65.625rem) {
  .warfare-routing__grid { grid-template-columns:1fr; }
  .warfare-routing__tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .warfare-routing__tabs .warfare-tab:last-child { grid-column:1 / -1; }
}
@media (max-width: 63.75rem) {
  .warfare-battlefield__grid { grid-template-columns:1fr; gap:var(--space-5); }
  .warfare-battlefield__media { grid-column:1; grid-row:auto; order:-1; }
  .warfare-battlefield__media img { aspect-ratio:16 / 10; }
  .warfare-arms__features { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 61.25rem) {
  .warfare-briefing__grid { grid-template-columns:1fr; gap:var(--space-4); }
  .warfare-briefing__stamp { min-height:0; flex-direction:row; align-items:center; justify-content:flex-start; flex-wrap:wrap; text-align:left; }
  .warfare-arms__features .warfare-arms-card:last-child { grid-column:span 2; }
  .warfare-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .warfare-principles .warfare-principle:last-child { grid-column:1 / -1; }
  .warfare-handoff { width:100%; }
}
@media (max-width: 60rem) {
  .warfare-infantry__grid, .warfare-continue__grid { grid-template-columns:1fr; }
  .warfare-maps__grid { grid-template-columns:1fr; }
  .warfare-maps__media img { aspect-ratio:16 / 10; }
}
@media (max-width: 51.25rem) {
  .warfare-search__controls { grid-template-columns:auto minmax(0,1fr); }
  .warfare-search__controls .button { grid-column:1 / -1; }
  .warfare-filter-wrap { align-items:flex-start; flex-direction:column; }
  .warfare-result { grid-template-columns:1fr; gap:var(--space-3); }
  .warfare-result__status { flex-direction:row; flex-wrap:wrap; }
  .warfare-result__context { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .warfare-result__link { width:100%; padding:0 var(--space-3); border:1px solid var(--colour-steel-blue); }
}
@media (max-width: 47.5rem) {
  .warfare-evidence__panels { grid-template-columns:1fr; }
}
@media (max-width: 40rem) {
  .warfare-page section { padding-block:var(--space-7); }
  .warfare-briefing__copy { padding:var(--space-5) 0 var(--space-5) var(--space-4); }
  .warfare-briefing__copy h1 { max-width:100%; font-size:clamp(2.4rem,11vw,2.65rem); }
  .warfare-briefing__notes, .warfare-routing__tabs, .warfare-field-notes, .warfare-arms__features, .warfare-principles, .warfare-map-prompts, .warfare-handoff, .warfare-handoff__links { grid-template-columns:1fr; }
  .warfare-routing__tabs .warfare-tab:last-child, .warfare-arms__features .warfare-arms-card:last-child, .warfare-principles .warfare-principle:last-child { grid-column:auto; }
  .warfare-tab { min-height:0; }
  .warfare-field-note, .warfare-arms-card, .warfare-principle { width:100%; }
  .warfare-document-row { grid-template-columns:1fr; }
  .warfare-document-row .button { width:100%; }
  .warfare-source-strip { width:100%; flex-direction:column; }
  .warfare-principle > span { font-size:2.75rem; }
  .warfare-handoff { width:100%; }
  .warfare-search { padding:var(--space-4); }
  .warfare-filter-wrap { overflow:hidden; }
  .warfare-filters { width:100%; flex-wrap:nowrap; overflow-x:auto; padding-bottom:var(--space-2); }
  .warfare-filters button { flex:0 0 auto; }
  .warfare-clear { width:100%; }
  .warfare-related-row { grid-template-columns:1fr; gap:var(--space-2); }
  .warfare-related-row b { min-height:2.75rem; display:flex; align-items:center; }
}
@media (prefers-reduced-motion: reduce) { .warfare-tab__title b, .warfare-result__link span, .warfare-handoff__links a span { transition:none; } }