/* ═══════════════════════════════════════════════════════════════════
   Y7 — site-level additions on top of y7-system.css
   Only patterns the canonical system doesn't ship: site nav active state,
   brief article body, intelligence list-rows, footer, legal body.
   No new tokens; no new colours; only compositions.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Main column right of the rail ───────────────────────────── */
main.main{min-width:0;display:flex;flex-direction:column}

/* ─── Hero (display rhythm anchored on serif H1) ──────────────── */
section.hero{
  padding:var(--s-10) var(--s-8) var(--s-9);
  border-bottom:1px solid var(--slate-700);
  position:relative;
}
section.hero .hero-eyebrow{margin-bottom:var(--s-5)}
section.hero .hero-head{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(48px,5.5vw,82px);
  line-height:1.04;letter-spacing:-.022em;
  color:var(--bone);max-width:18ch;
  margin-bottom:var(--s-5);
}
section.hero .hero-head em{font-style:italic;color:var(--slate-300)}
section.hero .hero-lede{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(18px,1.6vw,24px);line-height:1.5;
  color:var(--slate-300);max-width:60ch;margin-bottom:var(--s-7);
}
section.hero .hero-actions{display:flex;gap:var(--s-3);flex-wrap:wrap}
section.hero .hero-corner{
  position:absolute;right:var(--s-8);top:var(--s-8);
  font-family:var(--mono);font-size:10px;color:var(--slate-500);
  letter-spacing:.14em;text-transform:uppercase;text-align:right;line-height:1.7;
}
@media (max-width:1024px){
  section.hero{padding:var(--s-8) var(--s-5) var(--s-7)}
  section.hero .hero-corner{display:none}
}

/* ─── Three-column grid pattern (verticals, edges) ────────────── */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5)}
@media (max-width:900px){.tri{grid-template-columns:1fr;gap:var(--s-4)}}
.tri .cell{
  border:1px solid var(--slate-700);
  background:var(--steel);
  padding:var(--s-5);
  display:flex;flex-direction:column;gap:var(--s-3);
}
.sec.light .tri .cell{background:var(--bone-warm);border-color:var(--slate-500)}
.tri .cell .ch{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--signal);
}
.sec.light .tri .cell .ch{color:var(--slate-700)}
.tri .cell .hd{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(22px,2vw,28px);line-height:1.15;letter-spacing:-.01em;
}
.tri .cell .bd{font-size:14px;line-height:1.65;color:var(--slate-300);max-width:36ch}
.sec.light .tri .cell .bd{color:var(--slate-700)}
.tri .cell hr{border:0;height:1px;background:var(--slate-700);margin:var(--s-1) 0}
.sec.light .tri .cell hr{background:var(--slate-500)}
.tri .cell ul{list-style:none;font-size:13px;line-height:1.65;color:var(--slate-300)}
.sec.light .tri .cell ul{color:var(--slate-700)}
.tri .cell ul li{padding:2px 0;padding-left:14px;position:relative}
.tri .cell ul li::before{
  content:"";position:absolute;left:0;top:.7em;
  width:6px;height:1px;background:var(--slate-500);
}

/* ─── Four-column grid ────────────────────────────────────────── */
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}
@media (max-width:900px){.quad{grid-template-columns:1fr 1fr;gap:var(--s-3)}}
@media (max-width:600px){.quad{grid-template-columns:1fr}}
.quad .cell{
  border:1px solid var(--slate-700);
  background:transparent;
  padding:var(--s-4) var(--s-5);
  display:flex;flex-direction:column;gap:var(--s-2);
}
.sec.light .quad .cell{border-color:var(--slate-500)}
.quad .cell .k{
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--slate-500);
}
.sec.light .quad .cell .k{color:var(--slate-700)}
.quad .cell .v{font-family:var(--serif);font-size:22px;line-height:1.15;color:inherit}
.quad .cell .d{font-size:13px;line-height:1.6;color:var(--slate-300)}
.sec.light .quad .cell .d{color:var(--slate-700)}

/* ─── List-row primitive (intelligence index, team) ───────────── */
.list-rows{display:flex;flex-direction:column;border-top:1px solid var(--slate-700)}
.sec.light .list-rows{border-color:var(--slate-500)}
.list-rows > .row{
  display:grid;
  grid-template-columns:120px 1fr 240px 80px;
  gap:var(--s-5);
  padding:var(--s-4) 0;
  border-bottom:1px solid var(--slate-700);
  align-items:baseline;
  transition:background var(--d-2) var(--ease);
}
.sec.light .list-rows > .row{border-color:var(--slate-500)}
.list-rows > a.row:hover{background:rgba(31,184,160,.03)}
.list-rows > .row .date{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--slate-500);text-transform:uppercase}
.sec.light .list-rows > .row .date{color:var(--slate-700)}
.list-rows > .row .title{font-family:var(--serif);font-size:22px;line-height:1.25;color:inherit;font-weight:500;letter-spacing:-.01em}
.list-rows > .row .summary{font-size:13px;line-height:1.55;color:var(--slate-500)}
.sec.light .list-rows > .row .summary{color:var(--slate-700)}
.list-rows > .row .arrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  color:var(--slate-300);text-align:right;
}
.sec.light .list-rows > .row .arrow{color:var(--slate-700)}
.list-rows > a.row:hover .arrow{color:var(--signal)}
@media (max-width:900px){
  .list-rows > .row{grid-template-columns:1fr;gap:var(--s-2)}
  .list-rows > .row .arrow{display:none}
}

/* ─── Team grid (5-col, two-row) ─────────────────────────────── */
.team-grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--slate-700);
  border-left:1px solid var(--slate-700);
}
.sec.light .team-grid{border-color:var(--slate-500)}
.team-grid .cell{
  padding:var(--s-4);
  border-bottom:1px solid var(--slate-700);
  border-right:1px solid var(--slate-700);
  display:flex;flex-direction:column;gap:var(--s-1);
  min-height:140px;
}
.sec.light .team-grid .cell{border-color:var(--slate-500)}
.team-grid .cell .role{
  font-family:var(--mono);font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate-500);margin-bottom:var(--s-2);
}
.sec.light .team-grid .cell .role{color:var(--slate-700)}
.team-grid .cell .name{font-family:var(--sans);font-weight:600;font-size:14px;line-height:1.2}
.team-grid .cell .desc{font-size:12px;line-height:1.5;color:var(--slate-300)}
.sec.light .team-grid .cell .desc{color:var(--slate-700)}
.team-grid .cell.confidential .name{color:var(--slate-500);font-style:italic}
@media (max-width:1100px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.team-grid{grid-template-columns:repeat(2,1fr)}}

/* ─── Process flow (method) ──────────────────────────────────── */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.flow .step{
  padding:var(--s-5);
  border:1px solid var(--slate-700);
  border-left:none;
  position:relative;
}
.sec.light .flow .step{border-color:var(--slate-500)}
.flow .step:first-child{border-left:1px solid var(--slate-700)}
.sec.light .flow .step:first-child{border-left-color:var(--slate-500)}
.flow .step .n{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  color:var(--signal);text-transform:uppercase;margin-bottom:var(--s-3);
}
.sec.light .flow .step .n{color:var(--slate-700)}
.flow .step .t{font-family:var(--serif);font-size:22px;line-height:1.2;margin-bottom:var(--s-3);font-weight:500;letter-spacing:-.01em}
.flow .step .b{font-size:13px;line-height:1.6;color:var(--slate-300)}
.sec.light .flow .step .b{color:var(--slate-700)}
@media (max-width:1100px){.flow{grid-template-columns:1fr 1fr}.flow .step{border-left:1px solid var(--slate-700)!important}.sec.light .flow .step{border-left-color:var(--slate-500)!important}}
@media (max-width:600px){.flow{grid-template-columns:1fr}}

/* ─── Method criteria callout ─────────────────────────────────── */
.criteria{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5);margin-top:var(--s-7);
}
@media (max-width:900px){.criteria{grid-template-columns:1fr}}
.criteria .col{padding:var(--s-5);border:1px solid var(--slate-700)}
.sec.light .criteria .col{border-color:var(--slate-500)}
.criteria .col h4{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;margin-bottom:var(--s-3);color:var(--slate-300);
}
.sec.light .criteria .col h4{color:var(--slate-700)}
.criteria .col.must h4{color:var(--signal)}
.criteria .col.no h4{color:var(--alert)}
.criteria .col ul{list-style:none;display:flex;flex-direction:column;gap:var(--s-2)}
.criteria .col li{padding-left:18px;position:relative;font-size:14px;line-height:1.55;color:var(--slate-300)}
.sec.light .criteria .col li{color:var(--slate-700)}
.criteria .col li::before{
  content:"";position:absolute;left:0;top:.55em;width:10px;height:1px;background:var(--slate-500);
}

/* ─── Contact band ────────────────────────────────────────────── */
section.contact{padding:var(--s-9) var(--s-8);border-bottom:1px solid var(--slate-700);background:var(--steel)}
section.contact .contact-grid{
  display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-8);align-items:end;max-width:var(--content-max);
}
@media (max-width:900px){section.contact{padding:var(--s-7) var(--s-5)} section.contact .contact-grid{grid-template-columns:1fr;gap:var(--s-5)}}
section.contact h2{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-.02em;
  margin-bottom:var(--s-4);
}
section.contact .desc{color:var(--slate-300);max-width:48ch;margin-bottom:var(--s-5)}
section.contact .signature{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  color:var(--slate-500);text-transform:uppercase;line-height:2;
}
section.contact .signature .v{color:var(--bone)}
section.contact .signature .lbl{display:inline-block;width:96px}

/* ─── Footer ──────────────────────────────────────────────────── */
footer.site-foot{
  padding:var(--s-7) var(--s-8) var(--s-6);
  background:var(--midnight);
  display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:var(--s-7);
  border-top:1px solid var(--slate-700);
}
@media (max-width:900px){footer.site-foot{grid-template-columns:1fr;padding:var(--s-6) var(--s-5)}}
footer.site-foot .brand .y7-wordmark{font-size:24px}
footer.site-foot .brand .tag{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--slate-500);text-transform:uppercase;margin-top:var(--s-2)}
footer.site-foot .brand .blurb{font-size:13px;line-height:1.6;color:var(--slate-300);margin-top:var(--s-3);max-width:38ch}
footer.site-foot .col h5{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--slate-500);text-transform:uppercase;margin-bottom:var(--s-3)}
footer.site-foot .col a{display:block;font-size:13px;color:var(--slate-300);line-height:1.9;transition:color var(--d-2) var(--ease)}
footer.site-foot .col a:hover{color:var(--signal)}
footer.site-foot .legal{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--slate-500);line-height:1.7;text-transform:none}
footer.site-foot .legal .muted{display:block;margin-top:var(--s-2);color:var(--slate-700)}

/* ─── Brief / article body ────────────────────────────────────── */
article.brief{
  padding:var(--s-9) var(--s-8) var(--s-8);
  max-width:var(--content-max);
  border-bottom:1px solid var(--slate-700);
}
@media (max-width:900px){article.brief{padding:var(--s-7) var(--s-5)}}
article.brief .brief-head{
  padding-bottom:var(--s-5);border-bottom:1px solid var(--slate-700);
  margin-bottom:var(--s-7);
}
article.brief .brief-eyebrow{margin-bottom:var(--s-4)}
article.brief .brief-title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(36px,3.6vw,52px);line-height:1.1;letter-spacing:-.018em;
  margin-bottom:var(--s-4);max-width:22ch;
}
article.brief .brief-meta{
  display:flex;gap:var(--s-5);flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--slate-500);
}
article.brief .brief-meta .v{color:var(--bone)}
article.brief h3.section-h{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--signal);
  padding-bottom:var(--s-2);border-bottom:1px solid var(--slate-700);
  margin:var(--s-7) 0 var(--s-5);
}
article.brief .exec{display:flex;flex-direction:column;gap:var(--s-4);margin-bottom:var(--s-6)}
article.brief .exec .item{
  padding:var(--s-4) var(--s-5);
  border-left:2px solid var(--signal);
  background:var(--steel);
}
article.brief .exec .item .t{font-family:var(--serif);font-size:20px;line-height:1.3;margin-bottom:var(--s-2);font-weight:500;letter-spacing:-.005em}
article.brief .exec .item .b{font-size:14px;line-height:1.7;color:var(--slate-300)}
article.brief .signal-card{
  border:1px solid var(--slate-700);
  padding:var(--s-5);
  margin-bottom:var(--s-4);
  position:relative;
}
article.brief .signal-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--signal);
}
article.brief .signal-card .row1{display:flex;gap:var(--s-3);align-items:baseline;margin-bottom:var(--s-3)}
article.brief .signal-card .n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--slate-500);min-width:24px}
article.brief .signal-card .ttl{font-family:var(--serif);font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.01em}
article.brief .signal-card .field{margin-top:var(--s-3)}
article.brief .signal-card .field .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin-bottom:var(--s-1)}
article.brief .signal-card .field .txt{font-size:14px;line-height:1.7;color:var(--slate-300)}
article.brief .copy{font-size:15px;line-height:1.75;color:var(--slate-300);max-width:68ch}
article.brief .copy p+p{margin-top:var(--s-3)}
article.brief .copy strong{color:var(--bone)}
article.brief .brief-foot{
  margin-top:var(--s-8);padding-top:var(--s-5);
  border-top:1px solid var(--slate-700);
  display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate-500);
}
article.brief .brief-foot a{color:var(--signal)}
article.brief .brief-foot a:hover{color:var(--signal-hot)}

/* ─── Legal page body ─────────────────────────────────────────── */
article.legal{
  padding:var(--s-9) var(--s-8);
  max-width:760px;
  border-bottom:1px solid var(--slate-700);
}
@media (max-width:900px){article.legal{padding:var(--s-7) var(--s-5)}}
article.legal .legal-head{padding-bottom:var(--s-5);border-bottom:1px solid var(--slate-700);margin-bottom:var(--s-6)}
article.legal .legal-eyebrow{margin-bottom:var(--s-4)}
article.legal h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3vw,44px);line-height:1.1;letter-spacing:-.018em;margin-bottom:var(--s-3)}
article.legal .updated{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-500)}
article.legal h2{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin:var(--s-7) 0 var(--s-3);letter-spacing:-.01em}
article.legal h3{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin:var(--s-5) 0 var(--s-3)}
article.legal p{font-size:14px;line-height:1.7;color:var(--slate-300);margin-bottom:var(--s-3);max-width:64ch}
article.legal ul,article.legal ol{margin:var(--s-3) 0 var(--s-4) var(--s-4);color:var(--slate-300)}
article.legal li{font-size:14px;line-height:1.7;margin-bottom:var(--s-2)}
article.legal .info{border:1px solid var(--slate-700);padding:var(--s-4) var(--s-5);margin:var(--s-3) 0}
article.legal .info .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);margin-bottom:var(--s-3)}
article.legal dl{display:grid;grid-template-columns:160px 1fr;gap:var(--s-2) var(--s-4);font-size:13px;line-height:1.6}
article.legal dt{color:var(--slate-500);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
article.legal dd{color:var(--bone)}
article.legal a{color:var(--signal);border-bottom:1px solid transparent;transition:border-color var(--d-2) var(--ease)}
article.legal a:hover{border-bottom-color:var(--signal)}
article.legal .back-link{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-500);margin-bottom:var(--s-5)}
article.legal .back-link:hover{color:var(--signal)}

/* ─── Eyebrow primitive (used everywhere) ─────────────────────── */
.eyebrow{display:flex;align-items:baseline;gap:0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-500)}
.eyebrow .idx-rule{height:1px;width:32px;background:var(--slate-700);margin:0 var(--s-3)}
.sec.light .eyebrow,.sec.light .eyebrow .idx-rule{color:var(--slate-700)}
.sec.light .eyebrow .idx-rule{background:var(--slate-500)}

/* ─── Signal-card category colour ramp (v2) ──────────────────────
   Restores the colour-coding that the live briefs used; the design
   system's signal-teal alone collapses category cues that are load-
   bearing for the desk's read. Mapped:
     capital      · amber  → capital flows, funding, M&A
     procurement  · steel  → NATO / EU procurement, contracts
     capability   · signal → indigenous capability, tech maturity
     exit         · violet → exits, IPOs, strategic acquisition
   ───────────────────────────────────────────────────────────────── */
article.brief .signal-card[data-cat="capital"]::before     { background: #F59E0B; }
article.brief .signal-card[data-cat="procurement"]::before { background: #B8C4D4; }
article.brief .signal-card[data-cat="capability"]::before  { background: var(--signal); }
article.brief .signal-card[data-cat="exit"]::before        { background: #A78BFA; }
article.brief .signal-card .n {
  /* Number colour matches accent for legibility */
  border-left:0;
}
article.brief .signal-card[data-cat="capital"]     .lbl { color: #F59E0B; }
article.brief .signal-card[data-cat="procurement"] .lbl { color: #B8C4D4; }
article.brief .signal-card[data-cat="exit"]        .lbl { color: #A78BFA; }

/* ─── Trends / Outlook list (v2 brief restore) ────────────────────
   Restored from the live briefs: Week-over-Week Trends + Looking
   Ahead sections. Two-column hairline list: title (bone-warm
   serif), body (slate-300 sans). Outlook variant uses signal
   accent on the title for forward-looking voice. */
article.brief .trends-list{
  display:flex;flex-direction:column;
  border-top:1px solid var(--slate-700);
  margin-bottom:var(--s-5);
}
article.brief .trends-list .row{
  display:grid;grid-template-columns:240px 1fr;gap:var(--s-5);
  padding:var(--s-3) 0;
  border-bottom:1px solid var(--slate-700);
  align-items:baseline;
}
article.brief .trends-list .row .t{
  font-family:var(--serif);font-weight:500;font-size:16px;
  line-height:1.3;letter-spacing:-.005em;
  color:var(--bone);
}
article.brief .trends-list.outlook .row .t{
  color:var(--signal);
}
article.brief .trends-list .row .b{
  font-size:14px;line-height:1.65;
  color:var(--slate-300);max-width:60ch;
}
@media (max-width:900px){
  article.brief .trends-list .row{grid-template-columns:1fr;gap:var(--s-1)}
}

/* ─── Hero corner lockup (v2 · proper Y7 mark) ────────────────────
   Replaces the retired background watermark. A real lockup in the
   top-right: the canonical y7 SVG (variant 06, extrabold) above an
   editorial-style edition / sector / status stack. Brand presence
   at the entry point, no noise in the centre.
   ─────────────────────────────────────────────────────────────── */
section.hero .hero-corner{
  position:absolute;right:var(--s-7);top:var(--s-7);
  display:flex;flex-direction:column;align-items:flex-end;gap:var(--s-3);
  z-index:1;
}
section.hero .hero-corner .y7-svg{
  width:56px;height:auto;display:block;
  fill:var(--bone);
}
section.hero .hero-corner .meta{
  font-family:var(--mono);font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--slate-500);text-align:right;
  line-height:1.8;
}
section.hero .hero-corner .meta .live{
  color:var(--signal);
  padding-top:var(--s-1);
  border-top:1px solid var(--slate-700);
  margin-top:var(--s-2);min-width:80px;
}
@media (max-width:1024px){
  section.hero .hero-corner{display:none}
}

/* ─── Footer brand presence (v2 · emphatic exit signature) ────────
   The footer is where readers exit the page. Make the wordmark
   commensurate — 60px, signal-teal accent rule under it. Reads as
   a real signature, not a vestigial chrome element.
   ─────────────────────────────────────────────────────────────── */
footer.site-foot .brand{display:flex;flex-direction:column;gap:var(--s-3)}
footer.site-foot .brand .y7-wordmark{
  font-size:60px;line-height:1;letter-spacing:-.05em;
}
footer.site-foot .brand .tag{margin-top:var(--s-1)}

/* ─── Accessibility: skip-to-content link ─────────────────────── */
.skip-link{
  position:absolute;left:var(--s-3);top:-48px;
  z-index:1000;
  background:var(--signal);color:var(--bg);
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:var(--s-2) var(--s-3);
  text-decoration:none;
  border:1px solid var(--bg);
  transition:top .15s ease-out;
}
.skip-link:focus{top:var(--s-3);outline:2px solid var(--bone)}
main:focus{outline:none}
