/* Home — WEG Home.dc.html */

.it { font-style: italic; }
.h-sec { border-bottom: 1px solid var(--line); }

/* Section header (prototype variant: no top rule) */
.h-head { display: flex; flex-wrap: wrap; gap: 16px 40px; align-items: baseline; margin-bottom: clamp(24px, 3vw, 40px); }
.h-head--lg { margin-bottom: clamp(32px, 4vw, 56px); }
.h-head__label { flex: 1 1 200px; max-width: 320px; font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.band-black .h-head__label { color: var(--text-inverse-muted); }
.h-head__main { flex: 3 1 480px; min-width: 0; }
.h-head__split { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.h-head__stack { display: flex; flex-direction: column; gap: 12px; }
.h-title { margin: 0; font-family: var(--font-display); font-weight: 400; font-size: var(--fs-section); line-height: 1; letter-spacing: var(--tracking-display); }
.h-meta { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-mono); text-transform: uppercase; }
.line-cta { font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--black); padding-bottom: 2px; color: var(--black); }

/* ---------- 01 Banner ---------- */
.hero { position: relative; background: var(--black); color: var(--white); min-height: min(940px, 100svh); display: flex; flex-direction: column; overflow: hidden; }
.hero__media { position: absolute; inset: 0; background: var(--black); }
.hero__video, .hero__still { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: grayscale(1) contrast(1.1); }
.hero__video[hidden], .hero__still[hidden] { display: none; }
.hero__overlay { position: absolute; inset: 0; background: var(--black); opacity: .55; }
.hero__cols { position: absolute; inset: 0 var(--gutter); display: grid; grid-template-columns: repeat(4, 1fr); pointer-events: none; }
.hero__cols span { border-left: 1px solid rgba(255,255,255,.14); }
.hero__cols span:nth-child(n+5) { display: none; }
@media (min-width: 960px) {
  .hero__cols { grid-template-columns: repeat(12, 1fr); }
  .hero__cols span:nth-child(n+5) { display: block; }
}

/* Overlay header sits in the flow's first 72px */
.hero__body { position: relative; z-index: 2; flex: 1; margin-top: 72px; padding: 0 var(--gutter); display: flex; flex-wrap: wrap; align-items: flex-end; gap: 32px 0; }
.hero__copy { flex: 1 1 640px; max-width: 1020px; min-width: 0; padding: clamp(64px, 10vh, 120px) 0 clamp(32px, 5vh, 56px); }
.hero__kicker { font-size: 12px; color: rgba(255,255,255,.75); margin-bottom: clamp(20px, 3vh, 32px); display: flex; gap: 16px; flex-wrap: wrap; }
.hero__kicker .dim { color: rgba(255,255,255,.5); }
.hero__title { font-family: var(--font-display); font-weight: 400; font-size: var(--fs-hero); line-height: .96; letter-spacing: -.03em; text-wrap: balance; }
.hero__sub { margin-top: clamp(16px, 2.4vh, 28px); font-family: var(--font-display); font-style: italic; font-size: clamp(24px, 3vw, 44px); line-height: 1.1; letter-spacing: -.01em; color: rgba(255,255,255,.9); }
.hero__ctas { margin-top: clamp(28px, 5vh, 48px); display: flex; flex-wrap: wrap; gap: 12px 40px; }
.hero__cta { display: flex; align-items: center; gap: 14px; min-height: 44px; padding: 0 0 4px; border-bottom: 1px solid rgba(255,255,255,.4); text-decoration: none; color: var(--white); font-size: 17px; font-weight: 500; }
.hero__cta--primary { border-bottom-color: var(--white); font-weight: 600; }
.hero__cardwrap { flex: 0 1 340px; margin-left: auto; padding-bottom: clamp(32px, 5vh, 56px); }
@media (max-width: 759px) { .hero__cardwrap { flex: 1 1 100%; } }

.vcard { border: 1px solid rgba(255,255,255,.3); background: rgba(0,0,0,.6); }
.vcard__top { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line-inverse); font-size: 11px; }
.vcard__live { display: flex; align-items: center; gap: 8px; }
.vcard__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--signal); display: block; transition: opacity var(--dur-base) var(--ease); }
.vcard.is-paused .vcard__dot { opacity: .3; }
.vcard__tc { color: rgba(255,255,255,.7); font-variant-numeric: tabular-nums; }
.vcard__info { padding: 12px; display: flex; flex-direction: column; gap: 2px; }
.vcard__name { font-size: 12px; line-height: 1.5; }
.vcard__place { font-size: 11px; color: var(--text-inverse-muted); }
.vcard__controls { display: flex; border-top: 1px solid var(--line-inverse); }
.vcard button { all: unset; cursor: pointer; box-sizing: border-box; }
.vcard button:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.vcard__play, .vcard__cc { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); }
.vcard__play { border-right: 1px solid var(--line-inverse); }
.vcard__cc { border-left: 1px solid var(--line-inverse); color: var(--white); }
.vcard__cc[aria-pressed="true"] { color: var(--signal); }
.vcard__bars { flex: 1; display: flex; gap: 4px; align-items: center; padding: 0 12px; }
.vcard__bars button { flex: 1; height: 44px; display: flex; align-items: center; }
.vcard__bars button span { display: block; width: 100%; height: 2px; background: rgba(255,255,255,.3); transition: background var(--dur-base) var(--ease); }
.vcard__bars button[aria-current="true"] span { background: var(--white); }
.vcard__caption { padding: 10px 12px; border-top: 1px solid var(--line-inverse); font-size: 14px; line-height: 1.45; }
.vcard__caption[hidden] { display: none; }
.hero__note { margin-top: 8px; font-size: 10px; color: rgba(255,255,255,.55); }

.ticker { position: relative; z-index: 2; border-top: 1px solid var(--line-inverse); background: var(--black); display: flex; overflow-x: auto; font-size: 12px; white-space: nowrap; padding: 0 var(--gutter); scrollbar-width: none; }
.ticker::-webkit-scrollbar { display: none; }
.ticker__head, .ticker__item { flex: 0 0 auto; padding: 14px 20px; border-right: 1px solid var(--line-inverse); }
.ticker__head { display: flex; align-items: center; gap: 10px; padding-left: 0; color: var(--signal); }

/* ---------- 02 Ledger ---------- */
.ledger__body { display: flex; flex-wrap: wrap; gap: 48px clamp(32px, 5vw, 80px); border-top: 1px solid var(--black); padding-top: 24px; }
.ledger__main { flex: 1 1 540px; min-width: 0; }
.ledger__label { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.ledger__fig { font-family: var(--font-display); font-size: var(--fs-ledger); line-height: .84; letter-spacing: -.05em; margin: 16px 0 32px; white-space: nowrap; font-variant-numeric: lining-nums; }
.ledger__table { display: flex; flex-direction: column; max-width: 640px; }
.ledger__row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.ledger__row:first-child { border-top-color: var(--black); }
.ledger__row--total { border-top: 2px solid var(--black); border-bottom: 1px solid var(--black); font-weight: 600; }
.ledger__row .m { font-family: var(--font-mono); }
.ledger__side { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.ledger__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--black); border-left: 1px solid var(--line); }
.lcell { padding: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; min-height: 150px; justify-content: space-between; }
.lcell__ref { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); color: var(--grey-5); }
.lcell__v { font-family: var(--font-display); font-size: clamp(40px, 4vw, 56px); line-height: 1; letter-spacing: -.03em; }
.lcell__l { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; line-height: 1.4; }
.ledger__foot { margin-top: 12px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); line-height: 1.6; }

/* ---------- 03 The Grid ---------- */
.grid-intro { margin: 0 0 clamp(24px, 3vw, 40px); max-width: 62ch; color: var(--grey-3); }
.grid-wide { display: none; }
@media (min-width: 960px) {
  .grid-wide { display: block; }
  .grid-narrow { display: none; }
}
.gfilters { display: flex; flex-wrap: wrap; gap: 16px 32px; margin-bottom: 20px; }
.gfilters__group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.gfilters__chips { display: contents; }
.gfilters__lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); margin-right: 6px; }

.matrix { border-top: 1px solid var(--black); border-left: 1px solid var(--line); }
.mrow { display: grid; grid-template-columns: var(--cols); border-bottom: 1px solid var(--line); }
.mrow--head { border-bottom-color: var(--black); }
.mhead { padding: 12px; border-right: 1px solid var(--line); display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.mhead__label { font-family: var(--font-display); font-size: 24px; line-height: 1; letter-spacing: -.02em; }
.mhead__code { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); color: var(--grey-5); white-space: nowrap; }
.mcorner { padding: 12px; border-right: 1px solid var(--line); font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.mvert { padding: 12px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; background: var(--grey-1); }
.mvert__code { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); color: var(--grey-5); }
.mvert__label { font-size: 15px; font-weight: 600; line-height: 1.25; }
.mcell { border-right: 1px solid var(--line); display: flex; flex-wrap: wrap; align-content: flex-start; gap: 1px; background: rgba(0,0,0,.1); min-height: 112px; min-width: 0; }
.mempty { flex: 1; align-self: stretch; min-height: 112px; background: var(--white); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 11px; color: var(--grey-placeholder); }
.gtile { all: unset; box-sizing: border-box; cursor: pointer; flex: 1 1 150px; min-width: 0; min-height: 112px; background: var(--white); position: relative; display: flex; flex-direction: column; transition: box-shadow var(--dur-base) var(--ease), background var(--dur-fast) var(--ease); }
.gtile:hover, .gtile:focus-visible { background: var(--grey-1); }
.gtile:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; z-index: 1; }
.gtile.is-sel { box-shadow: var(--edge-selected); }
.gtile__top { display: flex; justify-content: space-between; padding: 8px 10px 0; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.gtile__dev { color: var(--black); }
.gtile__logo { flex: 1; display: flex; align-items: center; justify-content: center; padding: 6px 16px; }
.gtile__logo img { max-width: 100%; max-height: 44px; }
.gtile.is-dev .gtile__logo img { opacity: .55; }
.gtile__name { padding: 0 10px 8px; font-size: 12px; font-weight: 500; line-height: 1.25; color: var(--grey-3); }

.readout { background: var(--black); color: var(--white); display: flex; flex-wrap: wrap; align-items: stretch; }
.readout__logo { flex: 0 0 220px; background: var(--white); display: flex; align-items: center; justify-content: center; padding: 16px 20px; border: 1px solid var(--black); }
.readout__logo img { max-width: 100%; max-height: 64px; }
.readout__id { flex: 1 1 280px; padding: 20px 24px; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid var(--line-inverse); }
.readout__meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--text-inverse-soft); }
.readout__name { font-family: var(--font-display); font-size: 32px; line-height: 1.05; letter-spacing: -.02em; }
.readout__body { flex: 2 1 360px; padding: 20px 24px; display: flex; flex-direction: column; justify-content: space-between; gap: 12px; }
.readout__fact { font-size: 16px; line-height: 1.5; max-width: 60ch; }
.readout__url { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-mono); text-transform: uppercase; }

/* Mobile grid */
.gsummary { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--black); border-bottom: 1px solid var(--line); }
.gsummary__txt { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.gsummary__btn { all: unset; cursor: pointer; min-height: 48px; display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; }
.gsummary__btn:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.gsummary__btn .n { font-family: var(--font-mono); font-size: 11px; }
.mgroup__head { position: sticky; top: 0; z-index: 4; background: var(--black); color: var(--white); display: flex; justify-content: space-between; align-items: baseline; padding: 12px 14px; }
.mgroup__label { font-family: var(--font-display); font-size: 22px; line-height: 1; }
.mgroup__code { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); }
.mitem { border-bottom: 1px solid var(--line); }
.mitem__btn { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 14px; width: 100%; min-height: 72px; padding: 8px 0; transition: box-shadow var(--dur-base) var(--ease); }
.mitem__btn:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.mitem__btn[aria-expanded="true"] { box-shadow: var(--edge-selected); }
.mitem__logo { flex: 0 0 96px; height: 56px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: var(--white); padding: 6px; }
.mitem__logo img { max-width: 100%; max-height: 40px; }
.mitem.is-dev .mitem__logo img { opacity: .55; }
.mitem__txt { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mitem__name { font-size: 16px; font-weight: 600; line-height: 1.25; }
.mitem__vert { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.mitem__glyph { padding-right: 4px; font-family: var(--font-mono); }
.mitem__panel { background: var(--black); color: var(--white); padding: 16px; display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.mitem__panel[hidden] { display: none; }
.mitem__meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--text-inverse-soft); }
.mitem__fact { font-size: 15px; line-height: 1.5; }
.mitem__url { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; }

/* Filter sheet */
.sheet-backdrop { z-index: 50; }
.sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 51; background: var(--white); border-top: 1px solid var(--black); padding: 16px 20px 24px; display: flex; flex-direction: column; gap: 20px; max-height: 80vh; overflow: auto; }
.sheet[hidden] { display: none; }
.sheet__head { display: flex; justify-content: space-between; align-items: center; }
.sheet__title { font-family: var(--font-display); font-size: 28px; }
.sheet__clear { all: unset; cursor: pointer; min-height: 44px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; }
.sheet__clear:focus-visible, .sheet__go:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.sheet__group { display: flex; flex-direction: column; gap: 8px; }
.sheet__lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.sheet__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sheet .chip { min-height: 44px; padding: 0 14px; font-size: 15px; font-weight: 400; }
.sheet__go { all: unset; box-sizing: border-box; cursor: pointer; min-height: 52px; background: var(--black); color: var(--white); display: flex; align-items: center; justify-content: space-between; padding: 0 16px; font-weight: 600; }

/* ---------- 04 Partners ---------- */
.cbar { display: flex; border: 1px solid var(--black); }
.cbar button { all: unset; box-sizing: border-box; cursor: pointer; flex: var(--n) 1 0; min-width: 36px; min-height: 64px; padding: 10px 6px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; background: var(--white); color: var(--black); border-right: 1px solid var(--line); transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.cbar button:last-child { border-right: 0; }
.cbar button:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; position: relative; z-index: 1; }
.cbar button[aria-pressed="true"] { background: var(--black); color: var(--white); box-shadow: var(--mark-active); }
.cbar__code { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-mono); font-weight: 500; }
.cbar__n { font-family: var(--font-display); font-size: 22px; line-height: 1; }
.cbar-cap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; padding: 12px 0 24px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }
.cbar-cap__reset { all: unset; cursor: pointer; color: var(--black); min-height: 24px; }
.cbar-cap__reset[hidden] { display: none; }
.cbar-cap__reset:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.ptiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(50%, 210px), 1fr)); border-top: 1px solid var(--black); border-left: 1px solid var(--line); }
.ptile { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: opacity 220ms var(--ease); }
.ptile.is-dim { opacity: .12; }
.ptile__logo { height: 120px; display: flex; align-items: center; justify-content: center; padding: 18px 24px; }
.ptile__logo img { max-width: 100%; max-height: 52px; }
.ptile__cap { padding: 0 12px 10px; display: flex; gap: 10px; align-items: baseline; font-size: 12px; line-height: 1.3; color: var(--grey-3); }
.ptile__code { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); color: var(--black); font-weight: 500; }
.sec-foot { margin-top: 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.sec-foot__note { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }

/* ---------- 05 Accreditations ---------- */
.accr { padding: clamp(56px, 7vw, 96px) var(--gutter); }
.accr__frame { border: 1px solid var(--white); padding: 6px; }
.accr__grid { border: 1px solid rgba(255,255,255,.4); display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1px; background: rgba(255,255,255,.4); }
.accr__item { background: var(--white); color: var(--black); }
.accr__item figure { display: flex; flex-direction: column; height: 100%; }
.accr__logo { height: 112px; display: flex; align-items: center; justify-content: center; padding: 16px 20px; }
.accr__logo img { max-width: 100%; max-height: 60px; }
.accr__item figcaption { border-top: 1px solid var(--line); padding: 8px 10px; display: flex; justify-content: space-between; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); text-transform: uppercase; margin-top: auto; }
.accr__item figcaption .n { color: var(--grey-5); }
@media (max-width: 400px) { .accr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- 06 Learners ---------- */
.geo { border-top: 1px solid var(--black); padding: 20px 0; }
.geo__side { display: none; }
.geo__map { position: relative; aspect-ratio: 470 / 255; }
.geo__map > img { position: absolute; inset: 0; width: 100%; height: 100%; }
.geo__svg { position: absolute; inset: 0; }
.geo__svg svg { display: block; width: 100%; height: 100%; overflow: visible; }
.geo__route { animation: route-flow 60s linear infinite; }
@keyframes route-flow { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -120; } }
.geo__leaders { display: none; }
.geo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--black); border-left: 1px solid var(--line); }
.geo-cell { padding: 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.geo-cell__v { font-family: var(--font-display); font-size: 56px; line-height: .9; letter-spacing: -.04em; }
.pct { font-style: italic; font-size: .55em; }
.geo-cell__l { font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); text-transform: uppercase; margin-top: 6px; line-height: 1.4; }
@media (min-width: 820px) {
  .geo { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 3.2fr) minmax(180px, 1fr); border-bottom: 1px solid var(--black); padding: 0; }
  .geo__side, .geo__mapcol { padding: 40px 0; }
  .geo__side { display: block; }
  .geo__inner { position: relative; height: 100%; }
  .geo__leaders { display: block; position: absolute; inset: 0; pointer-events: none; }
  .geo-grid { display: none; }
}
.geo-lbl { position: absolute; left: 0; right: 16px; transform: translateY(-100%); padding-bottom: 6px; }
.geo__side--r .geo-lbl { left: 16px; right: 0; text-align: right; }
.geo-lbl__l { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; line-height: 1.4; margin-bottom: 4px; }
.geo-lbl__v { font-family: var(--font-display); font-size: clamp(56px, 6vw, 96px); line-height: .9; letter-spacing: -.04em; }
.geo-line { position: absolute; border-top: 1px solid var(--black); }
.geo-pin { position: absolute; width: 9px; height: 9px; margin: -4px 0 0 -4px; background: var(--white); border: 1px solid var(--black); border-radius: 50%; }
.geo-foot { margin-top: 14px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); line-height: 1.6; }
.geo-foot__key { display: flex; align-items: center; gap: 8px; }
.geo-foot__key .sq { width: 8px; height: 8px; background: var(--accent); display: block; }

/* ---------- 07 Clients ---------- */
.clients__intro { max-width: 62ch; color: var(--grey-3); }
.tabs { display: flex; border-top: 1px solid var(--black); border-bottom: 1px solid var(--black); overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tabs [role="tab"] { all: unset; box-sizing: border-box; cursor: pointer; min-height: 52px; padding: 0 20px; display: flex; align-items: center; gap: 12px; background: var(--white); color: var(--black); border-right: 1px solid var(--line); font-weight: 600; white-space: nowrap; transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.tabs [role="tab"]:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }
.tabs [role="tab"][aria-selected="true"] { background: var(--black); color: var(--white); box-shadow: var(--mark-active); }
.tabs .n { font-family: var(--font-mono); font-size: 11px; font-weight: 400; opacity: .7; }
.logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(50%, 170px), 1fr)); border-left: 1px solid var(--line); }
.logos:focus-visible { outline-offset: 4px; }
.logo-tile { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.logo-tile__img { height: 108px; display: flex; align-items: center; justify-content: center; padding: 16px 22px; }
.logo-tile__img img { max-width: 100%; max-height: 52px; }
.logo-tile__cap { padding: 0 10px 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); display: flex; justify-content: space-between; gap: 8px; }
.clients__foot { margin-top: 14px; font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); text-transform: uppercase; color: var(--grey-5); }

/* ---------- 08 Differentiators ---------- */
.diffs__h { margin: 0; font-family: var(--font-mono); font-weight: 400; font-size: 12px; letter-spacing: var(--tracking-mono); text-transform: uppercase; }
.pillars { display: flex; flex-wrap: wrap; border-top: 1px solid var(--white); }
.pillar { container-type: inline-size; flex: 1 1 320px; min-width: 0; padding: 24px clamp(16px, 2vw, 28px) 40px 0; border-bottom: 1px solid var(--line-inverse); display: flex; flex-direction: column; gap: 20px; }
.pillar__n { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); color: var(--text-inverse-soft); }
.pillar__word { font-family: var(--font-display); font-size: clamp(44px, 5.4vw, 88px); font-size: min(clamp(44px, 5.4vw, 88px), 17.5cqi); line-height: .95; letter-spacing: -.035em; overflow-wrap: anywhere; }
.pillar__copy { font-size: 17px; line-height: 1.55; max-width: 38ch; color: rgba(255,255,255,.85); }
.dlist { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); column-gap: clamp(24px, 4vw, 64px); margin-top: clamp(32px, 4vw, 56px); }
.dlist li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-top: 1px solid var(--line-inverse); }
.dlist__n { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-mono); color: rgba(255,255,255,.55); padding-top: 4px; }
.dlist__b { display: flex; flex-direction: column; gap: 4px; }
.dlist__t { font-weight: 600; }
.dlist__c { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.75); }

/* ---------- 09 News ---------- */
.news__wrap { display: flex; flex-wrap: wrap; gap: 0 clamp(24px, 4vw, 56px); border-top: 3px solid var(--black); }
.news__lead { flex: 1.6 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 20px 0 32px; text-decoration: none; color: var(--black); border-bottom: 1px solid var(--line); }
.news__img { aspect-ratio: 16 / 8; overflow: hidden; background: var(--grey-1); }
.news__img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15); }
.news__meta { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 12px; }
.news__meta .pub, .news__imeta .pub { font-weight: 500; }
.news__meta .dim, .news__imeta .dim { color: var(--grey-5); }
.news__h { font-family: var(--font-display); font-weight: 400; font-size: clamp(30px, 3.4vw, 52px); line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }
.news__read { font-weight: 600; }
.news__stack { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; }
.news__item { display: flex; flex-direction: column; gap: 10px; padding: 20px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--black); transition: background var(--dur-fast) var(--ease); }
.news__item:hover { background: var(--grey-1); }
.news__imeta { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; }
.news__ih { font-family: var(--font-display); font-size: 26px; line-height: 1.12; letter-spacing: -.015em; }

/* Polish: hairlines come from the tiles, not the cell background, so unused cell space stays white. */
.mcell { background: var(--white); }
.gtile { box-shadow: 0 0 0 1px rgba(0,0,0,.1); }
.gtile.is-sel { box-shadow: var(--edge-selected), 0 0 0 1px rgba(0,0,0,.1); }
.accr__grid { background: var(--black); }
.accr__item { box-shadow: 0 0 0 1px rgba(255,255,255,.4); }
