/* BLAH. — Fashion Forecasting */
:root {
  --paper: #F1EBDF;
  --paper-2: #E9E0CF;
  --ink: #161412;
  --ink-2: #3A3530;
  --muted: #554D44;
  --ox: #6B1E2B;
  --ox-2: #85283A;
  --blue: #AFC9D8;
  --orange: #C2693A;
  --pink: #D97E92;
  --navy: #1F3550;
  --sand: #E3D6BD;
  --cream: #F4EEE3;
  /* text-safe versions of the light palette colors (same hue, deepened for small text on cream) */
  --pink-ink: #A8435A;
  --orange-ink: #9E4E27;
  --blue-ink: #3E6A84;
  /* the six-color bar from the welcome email */
  --bar: linear-gradient(90deg, var(--ox) 0 16.667%, var(--blue) 0 33.333%, var(--orange) 0 50%, var(--pink) 0 66.667%, var(--navy) 0 83.333%, var(--sand) 0);
  --rule: rgba(22, 20, 18, .9);
  --rule-soft: rgba(22, 20, 18, .18);
  --serif: 'Newsreader', 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans: 'Archivo', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --max: 1240px;
  --gut: clamp(20px, 3.4vw, 36px);
  --head-h: 78px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--head-h) + 12px); }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
::selection { background: var(--ox); color: var(--paper); }
:focus-visible { outline: 2px solid var(--ox); outline-offset: 3px; }

.wrap { width: min(100% - 2 * var(--gut), var(--max)); margin-inline: auto; }
.skip { position: absolute; left: -9999px; top: 8px; background: var(--ink); color: var(--paper); padding: 8px 12px; z-index: 100; }
.skip:focus { left: 8px; }

/* ---------- type ---------- */
.label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.4;
  margin: 0;
}
.label--strong { font-weight: 800; letter-spacing: .18em; }
.label--light { color: var(--paper); }
.muted { color: var(--muted); }
a.label { text-decoration: none; }
a.label:hover { color: var(--ox); }
.dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ox); margin-right: 9px; vertical-align: 1px; }
.dot--light { background: var(--pink); }

.display {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(56px, 8.4vw, 124px);
  line-height: .92;
  letter-spacing: -.035em;
  margin: 22px 0 0;
  font-optical-sizing: auto;
}
.display--lg { font-size: clamp(48px, 7vw, 104px); }
.display--md { font-size: clamp(52px, 7vw, 96px); margin-top: 10px; }
.display em, .h2 em, .h3 em, .issue__aside em, .footer__motto em { font-style: italic; color: var(--ox); }
.footer__motto em { color: var(--ink); font-family: var(--serif); font-size: 18px; letter-spacing: 0; text-transform: none; margin-left: 4px; }
.h2 { font-weight: 400; font-size: clamp(34px, 4.2vw, 56px); line-height: 1; letter-spacing: -.025em; margin: 16px 0 0; }
.h3 { font-weight: 400; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.12; letter-spacing: -.015em; margin: 10px 0 0; }
.lede { font-size: clamp(20px, 2vw, 25px); line-height: 1.38; max-width: 34ch; margin: 28px 0 0; color: var(--ink-2); }
.body { font-size: 17px; line-height: 1.55; margin: 12px 0 0; }
.micro { font-family: var(--sans); font-size: 12px; line-height: 1.5; margin: 12px 0 0; letter-spacing: .01em; }
.intro { font-size: clamp(22px, 2.3vw, 29px); line-height: 1.42; margin: 0; max-width: 40ch; letter-spacing: -.005em; }
.draft-tag {
  display: inline-block;
  font-family: var(--sans);
  font-size: .62em;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ox);
  border: 1px dashed currentColor;
  padding: .18em .55em;
  vertical-align: .2em;
  line-height: 1.3;
  white-space: nowrap;
}
.label .draft-tag, .micro .draft-tag { font-size: 1em; padding: .1em .45em; vertical-align: 0; }

/* ---------- masthead ---------- */
.masthead {
  position: sticky; top: 0; z-index: 50;
  background: rgba(241, 235, 223, .94);
  -webkit-backdrop-filter: saturate(1.2) blur(8px);
  backdrop-filter: saturate(1.2) blur(8px);
  border-bottom: 1px solid var(--rule);
}
.masthead__inner { height: var(--head-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; }
.wordmark {
  font-family: var(--sans);
  font-weight: 900;
  font-size: 34px;
  letter-spacing: -.045em;
  line-height: 1;
  text-decoration: none;
  justify-self: start;
}
.wordmark span { color: var(--ox); }
.wordmark--sm { font-size: 24px; }
.masthead__tagline { font-family: var(--sans); font-size: 11px; letter-spacing: .26em; text-transform: uppercase; margin: 0; }
.masthead__nav { justify-self: end; }
.masthead__nav a {
  font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  text-decoration: none; padding-bottom: 4px; border-bottom: 1px solid var(--ink);
}
.masthead__nav a:hover, .masthead__nav a[aria-current] { color: var(--ox); border-color: var(--ox); }

/* ---------- shared bits ---------- */
.issue-bar { display: flex; justify-content: space-between; gap: 16px; padding: 44px 0 14px; border-bottom: 1px solid var(--rule-soft); }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  text-decoration: none; padding: 16px 24px; border: 1px solid var(--ink); cursor: pointer; transition: background .15s, color .15s, border-color .15s;
  line-height: 1;
}
.btn--ink { background: var(--ink); color: var(--paper); }
.btn--ink:hover { background: var(--ox); border-color: var(--ox); }
.btn--ox { background: var(--ox); color: var(--paper); border-color: var(--ox); }
.btn--ox:hover { background: var(--ink); border-color: var(--ink); }
.btn--line { background: transparent; color: var(--ink); }
.btn--line:hover { background: var(--ink); color: var(--paper); }
.btn--paper { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.btn--paper:hover { background: var(--pink); border-color: var(--pink); }
.btn--line-light { background: transparent; color: var(--paper); border-color: rgba(241, 235, 223, .6); }
.btn--line-light:hover { border-color: var(--paper); background: rgba(241, 235, 223, .08); }
.btn--block { width: 100%; }
.link-arrow { font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--ink); padding-bottom: 3px; white-space: nowrap; }




/* ---------- placeholders ---------- */
.ph-text { color: var(--ox); border-bottom: 1px dashed currentColor; font-style: normal; }
.ph-label { font-family: var(--sans); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 12px; }
.ph-label .ph-text { border: 0; }
.para-ph { margin: 0 0 28px; }
.lines { display: grid; gap: 11px; }
.lines i { display: block; height: 9px; background: rgba(22, 20, 18, .12); }
.palette-line { display: inline-flex; border: 1px solid var(--ink); }
.palette-line i { width: 22px; height: 12px; background: var(--c); }
.lock { color: var(--ox); font-size: 8px; vertical-align: 2px; margin-right: 4px; }
.badge { font-family: var(--sans); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border: 1px dashed var(--ox); color: var(--ox); padding: 6px 9px; }

/* ---------- image slots ---------- */
body { --tint: var(--sand); }
.tint-issue { --tint: var(--ox); }
.tint-women { --tint: var(--pink); }
.tint-men { --tint: var(--navy); }
.tint-forecast { --tint: var(--orange); }
.card--issue { --tint: var(--ox); } .card--women { --tint: var(--pink); } .card--men { --tint: var(--navy); } .card--forecast { --tint: var(--orange); } .card--calls-on-record { --tint: var(--sand); }
.cover__photo { --tint: var(--sand); }
.slot { margin: 0; }
.slot__media { position: relative; overflow: hidden; background: var(--paper-2); }
.r-4x5 .slot__media { aspect-ratio: 4 / 5; }
.r-9x16 .slot__media { aspect-ratio: 9 / 16; }
.r-1x1 .slot__media { aspect-ratio: 1 / 1; }
.r-3x2 .slot__media { aspect-ratio: 3 / 2; }
.r-16x9 .slot__media { aspect-ratio: 16 / 9; }
.slot img, .slot video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ph {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 16px;
  background:
    linear-gradient(var(--ink), var(--ink)) top 12px left 12px / 18px 1px no-repeat,
    linear-gradient(var(--ink), var(--ink)) top 12px left 12px / 1px 18px no-repeat,
    linear-gradient(var(--ink), var(--ink)) bottom 12px right 12px / 18px 1px no-repeat,
    linear-gradient(var(--ink), var(--ink)) bottom 12px right 12px / 1px 18px no-repeat,
    repeating-linear-gradient(135deg, transparent 0 13px, rgba(22, 20, 18, .05) 13px 14px),
    color-mix(in srgb, var(--tint) 16%, var(--paper));
  outline: 1px solid rgba(22, 20, 18, .28); outline-offset: -1px;
}
.ph__kind { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.ph__meta { font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; font-size: 10.5px; color: var(--muted); letter-spacing: .02em; word-break: break-all; }
/* empty clip: same light placeholder as photos, one shade deeper, so it never reads as a black box */
.ph--video { background-color: color-mix(in srgb, var(--tint) 26%, var(--paper)); color: var(--ink); }
.ph--video .ph__meta { color: var(--muted); }
.ph__play { width: 56px; height: 56px; border-radius: 50%; border: 1px solid rgba(22, 20, 18, .55); display: grid; place-items: center; font-size: 15px; padding-left: 3px; }
figcaption { display: flex; gap: 12px; align-items: baseline; padding-top: 10px; font-size: 16px; line-height: 1.4; }
.cap__no { font-family: var(--sans); font-size: 10px; letter-spacing: .14em; color: var(--muted); flex: none; }
.cap__text { font-style: italic; }
.cap__text .ph-text { font-style: normal; font-size: 14px; }

/* ---------- section nav ---------- */
.secnav { display: flex; gap: 0; border-bottom: 1px solid var(--rule); overflow-x: auto; scrollbar-width: none; margin-top: 18px; }
.secnav::-webkit-scrollbar { display: none; }
.secnav a {
  font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted);
  text-decoration: none; padding: 12px 22px 13px 0; margin-right: 18px; border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap;
}
.secnav a sup { font-size: 9px; margin-left: 6px; vertical-align: 4px; letter-spacing: .06em; }
.secnav a:hover { color: var(--ink); }
.secnav a[aria-current] { color: var(--ink); border-bottom-color: var(--ox); }
.secnav--tabs { margin-top: 44px; }

/* ---------- cover ---------- */
.cover__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 5vw, 72px); align-items: center; padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 7vw, 88px); }
.cover__title { font-size: clamp(72px, 9.6vw, 128px); margin-top: 18px; white-space: nowrap; }
.subline { font-family: var(--serif); font-style: italic; color: var(--ox); font-size: clamp(22px, 2.3vw, 32px); line-height: 1.22; letter-spacing: -.01em; margin: 26px 0 0; padding-top: 20px; max-width: 26ch; position: relative; }
.subline::before { content: ''; position: absolute; top: 0; left: 0; width: 56px; height: 2px; background: var(--ox); }
.subline--cover { font-size: clamp(26px, 2.8vw, 38px); }
.subline--sm { font-size: 22px; margin-top: 14px; padding-top: 14px; }
.meta { display: flex; flex-wrap: wrap; gap: 18px 40px; margin: 40px 0 0; padding-top: 18px; border-top: 1px solid var(--rule-soft); }
.meta dd { margin: 8px 0 0; display: flex; align-items: center; gap: 10px; min-height: 16px; }
.cover__photo { max-width: 520px; justify-self: end; width: 100%; }

/* ---------- issue grid ---------- */
.howto { border-top: 1px solid var(--rule); padding: clamp(36px, 5vw, 56px) 0; }
.howto__inner { max-width: 760px; text-align: center; }
.howto__inner .label { display: inline-flex; align-items: center; gap: 8px; }
.howto__text { font-size: clamp(19px, 1.9vw, 23px); line-height: 1.6; color: var(--ink-2); margin: 16px auto 0; max-width: 680px; }
.howto__text + .howto__text { margin-top: 14px; }
.letter { padding: 0 0 clamp(48px, 6vw, 80px); }
.letter__inner { max-width: 720px; border-top: 1px solid var(--rule-soft); padding-top: clamp(36px, 5vw, 56px); }
.letter__inner .label { display: inline-flex; align-items: center; gap: 8px; }
.letter__title { font-size: clamp(42px, 5.6vw, 72px); line-height: 1; letter-spacing: -.03em; font-weight: 400; margin: 18px 0 28px; }
.letter__body p { font-size: clamp(19px, 1.7vw, 21px); line-height: 1.65; color: var(--ink-2); margin: 0 0 1.1em; }
.letter__body em { font-style: italic; color: var(--ink); }
.letter__body .letter__pull { font-size: clamp(24px, 2.3vw, 28px); line-height: 1.3; font-style: italic; color: var(--ink); letter-spacing: -.01em; margin: 1.15em 0; }
.letter__body .letter__pull:last-child { margin-bottom: 0; }
.letter__sign { font-size: 20px; font-style: italic; color: var(--ox); margin: 28px 0 0; }
.issue { padding: 24px 0 88px; border-top: 1px solid var(--rule); }
.issue__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-top: 48px; }
.issue__aside { text-align: right; font-size: 18px; line-height: 1.35; margin: 0 0 12px; }
.issue__aside em { color: var(--ink); }
.grid { display: grid; grid-template-columns: repeat(6, 1fr); border-left: 1px solid var(--rule); }
.card { grid-column: span 2; display: flex; flex-direction: column; padding: 20px 20px 22px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); position: relative; transition: background .2s; }
.card--forecast, .card--calls-on-record { grid-column: span 3; }
.card--forecast .card__body, .card--calls-on-record .card__body { display: grid; grid-template-columns: minmax(150px, .8fr) 1.2fr; gap: 22px; align-items: stretch; }
.card--forecast .card__title, .card--calls-on-record .card__title { margin-top: 0; }
.card--calls-on-record { background: var(--paper-2); }
.card:hover { background: #ECE4D5; }
.card--calls-on-record:hover { background: #E4DAC7; }
.card__top { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.card__top > .label:last-child { white-space: nowrap; }
.essay__part .para-ph { margin: 0 0 22px; }
.card__body, .card__text { display: flex; flex-direction: column; flex: 1; }
.card__photo .slot__media { transition: transform .4s ease; }
.card:hover .card__photo .ph { background-color: color-mix(in srgb, var(--tint) 24%, var(--paper)); }
.card__title { font-weight: 400; font-size: clamp(28px, 2.7vw, 38px); line-height: 1.04; letter-spacing: -.02em; margin: 22px 0 0; }
.card__title a { text-decoration: none; }
.card__title a::after { content: ''; position: absolute; inset: 0; }
.card__sub { font-style: italic; color: var(--ox); font-size: 19px; line-height: 1.3; margin: 10px 0 0; }
.card__deck { font-size: 16px; line-height: 1.5; color: var(--ink-2); margin: 12px 0 0; }
.card__foot { margin-top: auto; padding-top: 24px; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.card__links { margin-left: auto; display: flex; gap: 16px; align-items: center; }
.card__links .label { font-size: 10px; }
.card:hover .link-arrow { color: var(--ox); border-color: var(--ox); }

/* ---------- CTA band ---------- */
.cta-band { background: var(--ink); color: var(--paper); padding: clamp(56px, 8vw, 96px) 0; }
.cta-band__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 96px); align-items: end; }
.cta-band .h2 { font-size: clamp(38px, 4.6vw, 64px); }
.cta-band .h2 em { color: var(--pink); }
.cta-band .body { color: #D9D0C2; max-width: 46ch; }
.cta-band .micro { color: #A99F92; }

/* ---------- signup ---------- */
.signup { padding: clamp(56px, 8vw, 96px) 0; }
.signup--rule { border-top: 1px solid var(--rule); }
.signup__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: end; }
.signup .body { max-width: 40ch; }
.signup__form { border: 1px solid var(--ink); padding: 26px; background: var(--cream); }
.signup__row { display: grid; grid-template-columns: 1fr auto; margin-top: 10px; }
.signup__row input { min-width: 0; font-family: var(--serif); font-size: 18px; padding: 14px 16px; border: 1px solid var(--ink); border-right: 0; background: var(--paper); color: var(--ink); border-radius: 0; outline: none; }
.signup__row input::placeholder { color: #9A9184; }
.signup__row input:focus { background: #fff; }
.micro.is-ok { color: var(--navy); }
.micro.is-err { color: var(--ox); }
.micro a { color: var(--ox); }

/* ---------- section pages ---------- */
.members-banner { background: var(--ink); color: var(--paper); }
.members-banner .wrap { display: flex; justify-content: space-between; gap: 8px 20px; flex-wrap: wrap; padding: 10px 0; }
.members-banner .muted { color: #B8AE9F; }
.members-banner a { color: var(--paper); }
.sec-head { padding: clamp(40px, 6vw, 72px) 0 clamp(36px, 5vw, 56px); max-width: 1020px; }
.sec-title { margin-top: 20px; }
.section--feed .sec-head, .section--feed .feed__intro { margin-inline: auto; }
.section--feed .sec-head { text-align: center; max-width: 820px; }
.section--feed .sec-head .lede { margin-inline: auto; }
.section--feed .sec-head .meta { justify-content: center; }
.section--feed .sec-head .subline::before { left: calc(50% - 28px); }

/* feed (Women / Men) */
.feed { max-width: 620px; margin: 0 auto; padding-bottom: 24px; }
.feed__intro { font-size: 21px; line-height: 1.45; text-align: center; padding: 28px 0 36px; border-top: 1px solid var(--rule); margin: 0; }
.post { margin-bottom: 52px; }
.post .slot--video { max-width: 440px; margin-inline: auto; }
.post figcaption { padding-top: 12px; border-bottom: 1px solid var(--rule-soft); padding-bottom: 12px; }


/* signal blocks (Women) */
.blockfeed .feed__intro { max-width: 620px; margin: 0 auto; }
.sblock-index { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 26px; padding: 0 0 28px; }
.sblock-index a { text-decoration: none; border-bottom: 1px solid var(--ink); padding-bottom: 3px; }
.sblock-index a:hover { color: var(--ox); border-color: var(--ox); }
.sblock { padding: 44px 0 60px; border-top: 1px solid var(--rule); }
.sblock__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 20px clamp(32px, 5vw, 80px); margin-bottom: 36px; align-items: start; }
.sblock__caption { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.15; letter-spacing: -.015em; font-style: italic; color: var(--ox); margin: 14px 0 14px; }
.sblock__caption .ph-text { font-style: italic; }
.sblock__title { font-size: clamp(44px, 5.4vw, 76px); line-height: .96; letter-spacing: -.03em; font-weight: 400; margin: 16px 0 20px; }
.sblock__write { max-width: 660px; }
.sblock--write .sblock__count { margin-bottom: 8px; }
.sblock__body { font-size: 21px; line-height: 1.62; color: var(--ink-2); margin: 0; }
.sblock__body + .sblock__body { margin-top: 0.9em; }
.sblock__core { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--rule); }
.sblock__core ol { list-style: none; margin: 10px 0 0; padding: 0; counter-reset: core; }
.sblock__core li { counter-increment: core; display: grid; grid-template-columns: 40px 1fr; gap: 8px; padding: 13px 0; border-bottom: 1px solid var(--rule-soft); font-size: 19px; line-height: 1.4; }
.sblock__core li::before { content: counter(core, decimal-leading-zero); font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .14em; color: var(--ox); padding-top: 6px; }
.sblock__note { font-size: 19px; line-height: 1.55; margin: 12px 0 0; color: var(--ink-2); }
.sblock__get { margin-top: 28px; padding: 18px 22px 20px; background: rgba(107, 30, 43, .07); border-left: 3px solid var(--ox); }
.sblock__get .label { color: var(--ox); font-weight: 600; }
.sblock__get-text { font-size: 19px; line-height: 1.5; margin: 8px 0 0; color: var(--ink); }
.sblock__media { display: grid; grid-template-columns: 1fr; gap: 12px; align-items: start; }
.sblock__media.has-clip { grid-template-columns: minmax(0, 1fr) clamp(200px, 22vw, 290px); }
.sblock__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-content: start; }
.sblock__hero { grid-column: span 2; grid-row: span 2; display: flex; flex-direction: column; }
.sblock__hero .slot__media { flex: 1; aspect-ratio: auto; min-height: 0; }
.sblock__clip { align-self: start; }
/* Signal 05: 10 looks — two large tiles, mirrored, on a 4-column grid */
.sblock__grid--10 { grid-template-columns: repeat(4, 1fr); grid-auto-flow: dense; }
.sblock__grid--10 .sblock__hero--alt { grid-column: 3 / span 2; }
/* 12 looks: two large tiles (looks 1 and 6) either side of four small, then a row of six small (6 columns, 3 rows, no lone tile) */
.sblock__grid--12 { grid-template-columns: repeat(6, 1fr); }
.sblock__grid--12 > .sblock__hero--alt { grid-column: 5 / span 2; grid-row: 1 / span 2; }
/* 12 looks + clip: size the clip column so the clip and the three photo rows end level */
.sblock__media--12.has-clip { grid-template-columns: minmax(0, 1fr) calc(26% - 9px); }
/* 13 looks: one large tile (look 1, 3 columns × 3 rows) beside twelve small in a 4 × 3 block (7 columns, 3 rows, no lone tile) */
.sblock__grid--13 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.sblock__grid--13 > .sblock__hero { grid-column: 1 / span 3; grid-row: 1 / span 3; }
/* 13 looks + clip: clip column sized so the clip and the three photo rows end level */
.sblock__media--13.has-clip { grid-template-columns: minmax(0, 1fr) calc(23.156% - 9.08px); }
/* 16 looks: one large tile (look 1, 3 columns × 3 rows) beside nine small in a 3 × 3 block, then a full row of six small (6 columns, 4 rows, no lone tile) */
.sblock__grid--16 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.sblock__grid--16 > .sblock__hero { grid-column: 1 / span 3; grid-row: 1 / span 3; }
.sblock__grid--16 .ph__meta { display: none; }
/* 16 looks + clip: clip column sized so the clip and the four photo rows end level */
.sblock__media--16.has-clip { grid-template-columns: minmax(0, 1fr) calc(31.915% - 9.19px); }
/* 17 / 18 looks: default 3-col with hero; hide look labels for density */
.sblock__grid--17 .ph__meta, .sblock__grid--18 .ph__meta { display: none; }
@media (max-width: 720px) {
  .sblock__grid--17, .sblock__grid--18 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--17 > .sblock__hero, .sblock__grid--18 > .sblock__hero { grid-column: span 2; grid-row: auto; }
}
/* 7 looks: one large tile + six small, on 5 columns (2 rows, no lone tile) */
.sblock__grid--7 { grid-template-columns: repeat(5, 1fr); }
/* 8 looks: one large tile + four small beside it, then a row of three medium tiles (12-column grid) */
.sblock__grid--8 { grid-template-columns: repeat(12, 1fr); }
.sblock__grid--8 > .slot { grid-column: span 3; }
.sblock__grid--8 > .sblock__hero { grid-column: span 6; grid-row: span 2; }
.sblock__grid--8 > .slot:nth-child(n+6) { grid-column: span 4; }
/* 8 looks + clip (desktop): one 27-column grid shared by photos and clip. Large tile + four small
   on the left, the 9:16 clip beside them (rows end level with the clip; spans keep every tile close to 4:5), then three equal tiles across
   the full width underneath, so nothing sits under the clip */
@media (min-width: 641px) {
  .sblock__media--8.has-clip { grid-template-columns: repeat(27, minmax(0, 1fr)); }
  .sblock__media--8.has-clip > .sblock__grid--8 { display: contents; }
  .sblock__media--8.has-clip .sblock__grid--8 > .sblock__hero { grid-column: 1 / span 10; grid-row: 1 / span 2; align-self: stretch; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(2) { grid-column: 11 / span 5; grid-row: 1; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(3) { grid-column: 16 / span 5; grid-row: 1; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(4) { grid-column: 11 / span 5; grid-row: 2; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(5) { grid-column: 16 / span 5; grid-row: 2; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(-n+5):not(.sblock__hero) { align-self: stretch; display: flex; flex-direction: column; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(-n+5):not(.sblock__hero) .slot__media { flex: 1; aspect-ratio: auto; min-height: 0; }
  .sblock__media--8.has-clip > .sblock__clip { grid-column: 21 / span 7; grid-row: 1 / span 2; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(6) { grid-column: 1 / span 9; grid-row: 3; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(7) { grid-column: 10 / span 9; grid-row: 3; }
  .sblock__media--8.has-clip .sblock__grid--8 > .slot:nth-child(8) { grid-column: 19 / span 9; grid-row: 3; }
}
/* 11 looks: one large tile + six small beside it (two rows of three), then a row of four medium tiles (20-column grid, no lone tile) */
.sblock__grid--11 { grid-template-columns: repeat(20, minmax(0, 1fr)); }
.sblock__grid--11 > .slot { grid-column: span 4; }
.sblock__grid--11 > .sblock__hero { grid-column: span 8; grid-row: span 2; }
.sblock__grid--11 > .slot:nth-child(n+8) { grid-column: span 5; }
/* 11 looks + clip (desktop and tablet): one 32-column grid shared by photos and clip. Large tile + six small
   on the left, the 9:16 clip beside them (spans keep every tile close to 4:5 and the rows end level with the clip),
   then four equal tiles across the full width underneath, so nothing sits under the clip */
@media (min-width: 641px) {
  .sblock__media--11.has-clip { grid-template-columns: repeat(32, minmax(0, 1fr)); }
  .sblock__media--11.has-clip > .sblock__grid--11 { display: contents; }
  .sblock__media--11.has-clip .sblock__grid--11 > .sblock__hero { grid-column: 1 / span 10; grid-row: 1 / span 2; align-self: stretch; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(2) { grid-column: 11 / span 5; grid-row: 1; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(3) { grid-column: 16 / span 5; grid-row: 1; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(4) { grid-column: 21 / span 5; grid-row: 1; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(5) { grid-column: 11 / span 5; grid-row: 2; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(6) { grid-column: 16 / span 5; grid-row: 2; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(7) { grid-column: 21 / span 5; grid-row: 2; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(-n+7):not(.sblock__hero) { align-self: stretch; display: flex; flex-direction: column; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(-n+7):not(.sblock__hero) .slot__media { flex: 1; aspect-ratio: auto; min-height: 0; }
  .sblock__media--11.has-clip > .sblock__clip { grid-column: 26 / span 7; grid-row: 1 / span 2; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(8) { grid-column: 1 / span 8; grid-row: 3; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(9) { grid-column: 9 / span 8; grid-row: 3; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(10) { grid-column: 17 / span 8; grid-row: 3; }
  .sblock__media--11.has-clip .sblock__grid--11 > .slot:nth-child(11) { grid-column: 25 / span 8; grid-row: 3; }
}
/* 7 looks + clip: narrow the clip column so the clip and the two photo rows end level */
.sblock__media--7.has-clip { grid-template-columns: minmax(0, 1fr) calc(22% - 8px); }

/* lightbox */
.slot__media.is-zoomable { cursor: zoom-in; }
.slot__media.is-zoomable:focus-visible { outline: 2px solid var(--ox); outline-offset: 3px; }
.lb-open, .lb-open body { overflow: hidden; }
.lb { position: fixed; inset: 0; z-index: 2147483000; background: #0C0A09; touch-action: pinch-zoom; -webkit-user-select: none; user-select: none; overscroll-behavior: contain; }
.lb[hidden] { display: none; }
/* The stage is a fixed box between the top bar and a bottom gutter (clears iOS / Netlify toolbars).
   The image fills that box exactly and object-fit: contain letterboxes it, so the whole photo is
   always visible whatever its ratio. No grid/percentage sizing (that let the photo overflow). */
.lb__fig { position: absolute; top: 56px; right: 0; bottom: calc(56px + env(safe-area-inset-bottom, 0px)); left: 0; margin: 0; padding: 0; overflow: hidden; }
.lb__img {
  position: absolute; inset: 0; margin: auto; display: block;
  width: 100%; height: 100%; min-width: 0; min-height: 0;
  max-width: 100vw; max-height: calc(100vh - 112px); max-height: calc(100dvh - 112px);
  object-fit: contain; object-position: center; aspect-ratio: auto; transform: none;
  -webkit-user-drag: none; touch-action: pinch-zoom;
}
.lb__btn { position: absolute; z-index: 1; width: 52px; height: 52px; display: grid; place-items: center; border: 0; background: rgba(244, 238, 227, .1); color: var(--paper, #F1EBE0); font: 400 22px/1 var(--sans); cursor: pointer; border-radius: 0; }
.lb__btn:hover { background: rgba(244, 238, 227, .2); }
.lb__btn:focus-visible { outline: 2px solid var(--paper, #F1EBE0); outline-offset: 2px; }
.lb__btn[hidden] { display: none; }
.lb__close { top: 2px; right: 2px; font-size: 20px; }
.lb__prev, .lb__next { top: 50%; transform: translateY(-50%); font-size: 34px; }
.lb__prev { left: 8px; }
.lb__next { right: 8px; }
.lb__count { position: absolute; top: 0; left: 0; margin: 0; padding: 20px 18px; color: rgba(244, 238, 227, .75); }
@media (min-width: 641px) and (min-height: 560px) { .lb__fig { top: 64px; bottom: 64px; left: 72px; right: 72px; } .lb__img { max-height: calc(100vh - 128px); max-height: calc(100dvh - 128px); } }
.sblock .ph__meta { font-size: 10px; }

/* editorial (Issue) */
.spread { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0 0 56px; }
.column { max-width: 680px; margin: 0 auto 8px; }
.byline { margin-bottom: 22px; }
.dropcap-p { font-size: 22px; line-height: 1.55; margin: 0 0 32px; display: flow-root; }
.dropcap { float: left; font-size: 104px; line-height: .78; padding: 8px 12px 0 0; color: var(--ox); font-weight: 400; }
.pullquote { margin: 56px auto; max-width: 900px; padding: 34px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); text-align: center; }
.pullquote p { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.12; font-style: italic; color: var(--ox); margin: 0; letter-spacing: -.015em; }
.pullquote p .ph-text { font-style: italic; }
.pullquote cite { display: block; margin-top: 16px; font-style: normal; }
.feature-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: center; margin: 56px 0; }
.feature-split--clip { grid-template-columns: .7fr 1.3fr; }
.feature-split__text .label { margin-bottom: 20px; }
.feature-wide { max-width: 820px; margin: 56px auto; }
.triptych { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0 0 56px; }
.crosslinks { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--rule); margin-top: 12px; }
.crosslinks a { display: grid; gap: 8px; padding: 16px 16px 4px 0; text-decoration: none; font-size: 20px; line-height: 1.15; }
.crosslinks a + a { padding-left: 16px; border-left: 1px solid var(--rule-soft); }
.crosslinks a:hover span:last-child { color: var(--ox); }
.signoff { font-family: var(--sans); font-weight: 900; font-size: 22px; letter-spacing: -.04em; text-align: right; margin: 0 0 56px; }
.signoff span { color: var(--ox); }

/* essay (Forecast) */
.essay { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(32px, 6vw, 88px); border-top: 1px solid var(--rule); padding-top: 44px; }
.essay__call { padding-bottom: 32px; border-bottom: 1px solid var(--rule-soft); }
.essay__closing { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.35; font-style: italic; color: var(--ox); letter-spacing: -.01em; margin: 36px 0 0; max-width: 640px; }
.essay__headline { font-size: clamp(40px, 4.4vw, 60px); line-height: 1; letter-spacing: -.025em; margin: 16px 0 0; }
.essay__line { font-size: 20px; margin: 22px 0 0; }
.essay__text { margin: 0 0 22px; max-width: 680px; }
.essay__text p { font-size: 20px; line-height: 1.6; color: var(--ink-2); margin: 0 0 16px; }
.essay__text p:last-child { margin-bottom: 0; }
.essay__teaser { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 32px 0; align-items: start; border-bottom: 1px solid var(--rule-soft); }
.essay__intro { font-size: 22px; line-height: 1.5; margin: 0; }
.essay__part { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 36px 0; border-bottom: 1px solid var(--rule-soft); }
.essay__part .h3 { margin: 0 0 18px; font-size: clamp(28px, 2.8vw, 36px); }
.essay__num { padding-top: 10px; }
.ledger-list { list-style: none; counter-reset: l; padding: 0; margin: 0; }
.ledger-list li { counter-increment: l; display: grid; grid-template-columns: 36px 1fr; padding: 14px 0; border-top: 1px solid var(--rule-soft); font-size: 20px; line-height: 1.45; }
.ledger-list li::before { content: counter(l, upper-alpha); font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .1em; padding-top: 6px; color: var(--muted); }
.finds__intro { font-size: 20px; line-height: 1.5; color: var(--ink-2); margin: 0 0 28px; max-width: 560px; }
.finds__groups { display: grid; grid-template-columns: 1fr 1fr; gap: 12px clamp(24px, 3.5vw, 44px); }
.finds__group > .label { padding-bottom: 10px; border-bottom: 1px solid var(--rule); margin: 0; }
.finds__list { list-style: none; margin: 0; padding: 0; counter-reset: f; }
.finds__list li { counter-increment: f; display: grid; grid-template-columns: 30px 1fr; column-gap: 6px; padding: 14px 0 15px; border-bottom: 1px solid var(--rule-soft); }
.finds__list li::before { content: counter(f, decimal-leading-zero); grid-row: span 2; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .12em; color: var(--ox); padding-top: 6px; }
.finds__name { font-size: 21px; line-height: 1.25; letter-spacing: -.01em; }
.finds__why { font-size: 16.5px; line-height: 1.5; color: var(--ink-2); margin-top: 4px; font-style: italic; }
.toc { list-style: none; margin: 18px 0 0; padding: 0; border-top: 1px solid var(--rule); }
.toc li { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px solid var(--rule-soft); }
.toc__name { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; letter-spacing: -.015em; }
.feature-split__lede { font-size: 21px; line-height: 1.5; color: var(--ink-2); margin: 14px 0 22px; }
.items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 12px; margin-top: 22px; }
.items figcaption { font-size: 14px; }
.items .ph__meta { font-size: 9.5px; }
.essay__rail { position: relative; }
.essay__rail .outcomeblock { position: sticky; top: calc(var(--head-h) + 24px); border-top: 0; padding: 0; margin: 0; }

/* calls on record */
.cor { display: grid; grid-template-columns: 300px 1fr; gap: clamp(28px, 5vw, 64px); border-top: 1px solid var(--rule); padding: 44px 0 64px; align-items: start; }
.coming { color: var(--ox); margin-bottom: 18px; }
.cor .intro { font-size: 24px; }
.ledger-table { width: 100%; border-collapse: collapse; margin: 32px 0 14px; }
.ledger-table th { text-align: left; font-weight: 700; padding: 0 12px 10px 0; border-bottom: 1px solid var(--rule); }
.ledger-table td { padding: 14px 12px 14px 0; border-bottom: 1px solid var(--rule-soft); font-size: 17px; vertical-align: top; }
.ledger-table td:first-child { font-size: 19px; line-height: 1.4; }
.ledger-table .ledger-table__sig { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-top: 18px; white-space: nowrap; }
.ledger-table td:nth-child(3), .ledger-table td:nth-child(4) { white-space: nowrap; }
.ledger-note { font-size: 17px; line-height: 1.5; color: var(--ink-2); margin: 6px 0 0; max-width: 620px; font-style: italic; }

/* gate */
.gate { position: relative; margin: 8px auto 56px; max-width: 760px; padding-top: 40px; }
.gate__ghost { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; opacity: .55; filter: blur(2px); -webkit-mask-image: linear-gradient(#000 20%, transparent 95%); mask-image: linear-gradient(#000 20%, transparent 95%); }
.gate__ghost span { aspect-ratio: 4 / 5; background: repeating-linear-gradient(135deg, transparent 0 13px, rgba(22, 20, 18, .06) 13px 14px), color-mix(in srgb, var(--tint) 22%, var(--paper)); }
.gate__card { position: relative; margin: -180px auto 0; width: min(100%, 520px); background: var(--paper); border: 1px solid var(--ink); padding: 28px 30px 26px; box-shadow: 10px 10px 0 var(--ox); }
.gate__card .actions { margin-top: 22px; }
.gate__card .btn { padding: 14px 18px; }
.preview-link { display: inline-block; margin-top: 16px; color: var(--ox); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.preview-link[hidden] { display: none; }
.section--essay .gate { margin-top: 0; }

/* outcome */
.outcomeblock { border-top: 1px solid var(--rule); padding: 44px 0 64px; }
.outcomeblock .outcome { max-width: 560px; }
.outcome { border: 1px solid var(--ink); background: var(--paper-2); padding: 22px 24px; }
.outcome p:last-child { font-size: 19px; line-height: 1.45; margin: 10px 0 0; }

.pager { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--rule); margin-bottom: 8px; }
.pager__link { display: grid; gap: 10px; padding: 26px 24px 28px 0; text-decoration: none; }
.pager__link--next { text-align: right; padding: 26px 0 28px 24px; border-left: 1px solid var(--rule); }
.pager__title { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.1; letter-spacing: -.015em; }
.pager__link:hover .pager__title { color: var(--ox); }
.section-note { margin-top: 24px; color: var(--ox); }

/* ---------- about / subscribe ---------- */
.page-head { padding-bottom: clamp(48px, 6vw, 72px); }
.page-head .display { margin-top: 40px; }
.page-head > .wrap > .label { margin-top: 48px; }
.page-head .display + .lede { max-width: 40ch; }
.prose-grid { border-top: 1px solid var(--rule); padding: 56px 0; }
.prose-grid .intro { max-width: 44ch; }
.three { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--rule-soft); }
.three > div { padding: 28px 28px 36px 0; border-right: 1px solid var(--rule-soft); }
.three > div + div { padding-left: 28px; }
.three > div:last-child { border-right: 0; }
.how { border-top: 1px solid var(--rule); margin-top: 32px; padding: 64px 0 80px; }
.how__list { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; }
.how__list li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 24px 0; border-top: 1px solid var(--rule-soft); }
.how__list .h3 { margin: 0; }
.motto { border-top: 1px solid var(--rule); padding: 72px 0; text-align: center; }
.motto .display { margin: 0; }

.plans { display: grid; grid-template-columns: 1.1fr 1fr 1fr; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); margin-bottom: 80px; }
.plan { padding: 28px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: flex; flex-direction: column; }
.plan--invite { background: var(--paper-2); }
.plan__top { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--rule-soft); margin-bottom: 18px; }
.plan__price { font-size: 26px; margin: 8px 0 18px; }
.plan__price .draft-tag { font-size: 12px; }
.plan__list { list-style: none; padding: 0; margin: 0 0 28px; }
.plan__list li { padding: 12px 0; border-bottom: 1px solid var(--rule-soft); font-size: 17px; }
.plan__list li::before { content: '—'; color: var(--ox); margin-right: 10px; }
.plan .btn--block { margin-top: auto; }
.invite-slot { margin-top: auto; border: 1px dashed rgba(22, 20, 18, .5); padding: 14px 16px; display: flex; justify-content: space-between; gap: 10px; align-items: center; background: var(--paper); flex-wrap: wrap; }
.plan--login .body { margin-bottom: 28px; }

/* ---------- footer ---------- */
.footer { border-top: 1px solid var(--rule); }
.footer__row { display: flex; justify-content: space-between; align-items: center; gap: 16px 32px; padding: 22px 0; flex-wrap: wrap; }
.footer__row--links { border-top: 1px solid var(--rule-soft); padding: 26px 0 36px; }
.footer__links { display: flex; gap: 22px; flex-wrap: wrap; }
.footer__links a { font-family: var(--sans); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.footer__links a:hover { color: var(--ox); }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .grid { grid-template-columns: repeat(2, 1fr); }
  .card, .card--forecast, .card--calls-on-record { grid-column: span 1; }
  .card--calls-on-record { grid-column: span 2; }
  .card--forecast .card__body { display: flex; }
  .plans { grid-template-columns: 1fr 1fr; }
  .plan:first-child { grid-column: span 2; }
}
@media (max-width: 860px) {
  .sblock__head { grid-template-columns: 1fr; }
  .sblock__write { max-width: 680px; }
  :root { --head-h: 64px; }
  .wordmark { font-size: 28px; }
  .masthead__tagline { font-size: 9.5px; letter-spacing: .2em; }
  .cover__grid, .cta-band__grid, .signup__grid, .essay, .feature-split, .feature-split--clip, .cor { grid-template-columns: 1fr; }
  .cover__photo { justify-self: start; }
  .essay__rail .outcomeblock { position: static; }
  .feature-split--clip .slot--video, .feature-split--clip .r-9x16 { max-width: 360px; }
  .how__list { grid-template-columns: 1fr; }
  .cor__teaser { max-width: 300px; }
  .sblock__grid--11 .ph__meta, .sblock__grid--12 .ph__meta, .sblock__grid--13 .ph__meta, .sblock__grid--17 .ph__meta, .sblock__grid--18 .ph__meta { display: none; }
}
@media (max-width: 640px) {
  body { font-size: 17px; }
  .masthead__inner { grid-template-columns: auto 1fr; }
  .masthead__tagline { display: none; }
  .issue-bar { padding-top: 24px; flex-wrap: wrap; }
  .issue-bar .label { font-size: 10px; }
  .secnav a { margin-right: 0; padding: 12px 14px 13px 0; letter-spacing: .1em; font-size: 10.5px; }
  .secnav a sup { margin-left: 3px; }
  .grid { grid-template-columns: 1fr; }
  .card, .card--forecast, .card--calls-on-record { grid-column: auto; padding: 18px 16px 20px; }
  .card--calls-on-record .card__body { display: grid; grid-template-columns: 120px 1fr; gap: 16px; }
  .card--calls-on-record .ph__meta { display: none; }
  .issue__head { flex-direction: column; align-items: flex-start; }
  .issue__aside { text-align: left; }
  .secnav--tabs { margin-top: 28px; }
  .cover__title { font-size: clamp(54px, 16.5vw, 92px); }
  .secnav { flex-wrap: wrap; }
  .card__top .muted { display: none; }
  .card__top > .label:last-child { display: inline; }
  .meta { gap: 16px 28px; }
  .sblock { padding: 28px 0 40px; }
  .sblock__head { margin-bottom: 24px; gap: 14px; }
  .sblock__title { font-size: 48px; margin: 12px 0 14px; }
  .sblock__body { font-size: 19px; line-height: 1.6; }
  .sblock__note { font-size: 17px; }
  .sblock__core li { font-size: 17px; grid-template-columns: 34px 1fr; }
  .sblock__media.has-clip { grid-template-columns: 1fr; gap: 4px; }
  .sblock__grid { grid-template-columns: 1fr 1fr; gap: 4px; margin-inline: calc(-1 * var(--gut)); }
  .sblock__hero { grid-row: auto; }
  .sblock__hero .slot__media { aspect-ratio: 4 / 5; flex: none; }
  .sblock__grid .slot:nth-child(6) { grid-column: span 2; }
  .sblock__grid--10 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--7 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--7 .slot:nth-child(6) { grid-column: auto; }
  .sblock__grid--8 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--8 > .slot, .sblock__grid--8 > .slot:nth-child(n+6) { grid-column: auto; }
  .sblock__grid--8 > .sblock__hero, .sblock__grid--8 > .slot:nth-child(8) { grid-column: span 2; grid-row: auto; }
  .sblock__grid--10 .sblock__hero--alt { grid-column: span 2; }
  .sblock__grid--12 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--12 > .sblock__hero--alt { grid-column: span 2; grid-row: auto; }
  .sblock__grid--13 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--13 > .sblock__hero { grid-column: span 2; grid-row: auto; }
  .sblock__grid--13 > .slot:nth-child(6) { grid-column: auto; }
  .sblock__grid--16 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--16 > .sblock__hero { grid-column: span 2; grid-row: auto; }
  .sblock__grid--11 { grid-template-columns: 1fr 1fr; }
  .sblock__grid--11 > .slot, .sblock__grid--11 > .slot:nth-child(6), .sblock__grid--11 > .slot:nth-child(n+8) { grid-column: auto; }
  .sblock__grid--11 > .sblock__hero { grid-column: span 2; grid-row: auto; }
  .lb__prev, .lb__next { top: 2px; transform: none; font-size: 30px; }
  .lb__prev { left: auto; right: 110px; }
  .lb__next { right: 56px; }
  .sblock__grid .ph__meta { display: none; }
  .sblock__clip { margin-inline: calc(-1 * var(--gut)); }
  .sblock-index { gap: 8px 16px; }
  /* feed goes edge-to-edge like a phone feed */
  .feed { margin-inline: calc(-1 * var(--gut)); max-width: none; }
  .feed__intro { margin-inline: var(--gut); }
  .post { margin-bottom: 36px; }
  .post figcaption { padding-inline: var(--gut); }
  .post .slot--video { max-width: none; }
  .spread { grid-template-columns: 1fr; gap: 10px; margin-inline: calc(-1 * var(--gut)); }
  .spread figcaption { padding-inline: var(--gut); }
  .triptych { grid-template-columns: 1fr 1fr; }
  .triptych .slot:first-child { grid-column: span 2; }
  .dropcap { font-size: 84px; }
  .dropcap-p { font-size: 20px; }
  .crosslinks { grid-template-columns: 1fr; }
  .crosslinks a + a { padding-left: 0; border-left: 0; border-top: 1px solid var(--rule-soft); }
  .essay__teaser { grid-template-columns: 1fr; }
  .essay__teaser .slot { max-width: 260px; }
  .essay__part { grid-template-columns: 1fr; gap: 4px; }
  .finds__groups { grid-template-columns: 1fr; gap: 32px; }
  .finds__name { font-size: 19px; }
  .finds__why { font-size: 16px; }
  .items { grid-template-columns: 1fr 1fr; }
  .ledger-list li { font-size: 18px; }
  .gate__ghost { grid-template-columns: repeat(3, 1fr); }
  .gate__card { margin-top: -110px; padding: 22px 20px; box-shadow: 6px 6px 0 var(--ox); }
  .signup__form { padding: 20px; }
  .signup__row { grid-template-columns: 1fr; gap: 10px; }
  .signup__row input { border-right: 1px solid var(--ink); }
  .pager { grid-template-columns: 1fr; }
  .pager__link--next { border-left: 0; border-top: 1px solid var(--rule-soft); padding-left: 0; text-align: left; }
  .three { grid-template-columns: 1fr; }
  .three > div, .three > div + div { padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--rule-soft); }
  .plans { grid-template-columns: 1fr; }
  .plan:first-child { grid-column: auto; }
  .ledger-table th:nth-child(3), .ledger-table td:nth-child(3) { display: none; }
  .ledger-table .ledger-table__sig { white-space: normal; }
  .ledger-table td:first-child { font-size: 17px; }
  .footer__row { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* feedback nudge, above the footer on every page */
.fb-nudge { border-top: 1px solid var(--rule-soft); }
.fb-nudge__inner { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 6px 16px; padding: 22px 0; text-align: center; }
.fb-nudge__inner .label { margin: 0; }
.fb-nudge__link { font-family: var(--serif); font-style: italic; font-size: 20px; color: var(--ox); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.fb-nudge__link span { font-style: normal; display: inline-block; transition: transform .2s ease; }
.fb-nudge__link:hover span { transform: translateX(3px); }
/* ---------- feedback survey (/feedback/) ---------- */
.q--intro-only { padding-bottom: 0; }
.is-survey { min-height: 100vh; }
.survey { padding-bottom: 120px; }
.survey__top { position: sticky; top: var(--head-h); z-index: 40; background: var(--paper); border-bottom: 1px solid var(--rule-soft); }
.survey__bar { height: 4px; background: rgba(22, 20, 18, .08); }
.survey__bar span { display: block; height: 100%; width: 0; background: var(--ox); transition: width .3s ease; }
.survey__count { width: min(100% - 2 * var(--gut), 720px); margin: 0 auto; padding: 10px 0; }
.survey__wrap { max-width: 720px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.q { border: 0; margin: 0; padding: 40px 0 8px; min-width: 0; }
.q + .q { border-top: 1px solid var(--rule-soft); }
.js .q + .q { border-top: 0; }
.q[hidden] { display: none; }
.js .survey__form:not(.is-ready) .q:not([data-step="0"]) { display: none; }
.q__intro { margin-top: 18px; }
.q--intro .lede { margin-top: 0; }
.q--intro .q__legend { margin-bottom: 20px; }
.q__legend { padding: 0; display: block; outline: none; }
.q__legend > * { display: block; }
.q__num { margin-bottom: 12px; }
.js .q__num { display: none; }
.q__label { display: grid; gap: 6px; margin-top: 40px; }
.q__sub { font-size: 24px; line-height: 1.2; }
.survey__nav[hidden] { display: none !important; }
.q__title { font-size: clamp(32px, 7vw, 46px); line-height: 1.05; letter-spacing: -.02em; }
.q__hint { margin: -22px 0 0; }
.q__title.q__title--intro { font-size: clamp(48px, 12vw, 80px); line-height: .95; letter-spacing: -.035em; margin-top: 18px; }
.q__legend { float: left; width: 100%; margin-bottom: 32px; }
.q__legend + * { clear: both; }
.q__hint + * { margin-top: 24px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.chip { position: relative; cursor: pointer; }
.chip input, .scale__opt input { position: absolute; opacity: 0; pointer-events: none; }
.chip span {
  display: inline-flex; align-items: center; min-height: 52px; padding: 12px 20px; border: 1px solid var(--ink); background: var(--cream);
  font-family: var(--sans); font-size: 15px; font-weight: 500; letter-spacing: .01em; transition: background .15s, color .15s, border-color .15s;
}
.chip:hover span { background: #fff; }
.chip input:checked + span { background: var(--ink); color: var(--paper); }
.q--multi .chip input:checked + span { background: var(--ox); border-color: var(--ox); }
.q--multi .chip input:checked + span::before { content: '✓'; margin-right: 8px; font-size: 13px; }
.q--rank .chips { flex-direction: column; align-items: stretch; }
.q--rank .chip span { display: flex; justify-content: flex-start; text-align: left; min-height: 50px; padding: 11px 18px; line-height: 1.3; }
.q--rank .chips { gap: 8px; }
.q--rank .q__group + .q__group { margin-top: 28px; }
.chip input:disabled + span { opacity: .3; text-decoration: line-through; cursor: not-allowed; }
.chip input:focus-visible + span, .scale__opt input:focus-visible + span { outline: 2px solid var(--ox); outline-offset: 3px; }
.q__group { margin-top: 30px; }
.q__group .chips { margin-top: 12px; }
.scale { display: grid; gap: 8px; margin-top: 32px; }
.scale--5 { grid-template-columns: repeat(5, 1fr); }
.scale--10 { grid-template-columns: repeat(5, 1fr); }
.scale__opt { cursor: pointer; }
.scale__opt span {
  display: grid; place-items: center; height: 64px; border: 1px solid var(--ink); background: var(--cream);
  font-family: var(--serif); font-size: 28px; transition: background .15s, color .15s;
}
.scale--10 .scale__opt span { height: 56px; font-size: 24px; }
.scale__opt:hover span { background: #fff; }
.scale__opt input:checked + span { background: var(--ox); border-color: var(--ox); color: var(--paper); }
.scale__ends { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; font-size: 10px; }
.q__input { width: 100%; margin-top: 24px; font-family: var(--serif); font-size: 22px; padding: 16px 18px; border: 1px solid var(--ink); background: var(--cream); color: var(--ink); border-radius: 0; outline: none; }
.q__input:focus { background: #fff; }
.q__area { min-height: 180px; resize: vertical; line-height: 1.45; }
.survey__nav { display: none; }
.js .survey__nav {
  display: grid; grid-template-columns: 1fr 2fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  padding: 12px var(--gut) calc(12px + env(safe-area-inset-bottom)); background: rgba(241, 235, 223, .96); border-top: 1px solid var(--rule);
}
.survey__nav .btn { min-height: 56px; font-size: 13px; }
.survey__nav .btn:disabled { opacity: .35; cursor: default; }
.survey__nav .btn--line:disabled:hover { background: transparent; color: var(--ink); }
.survey__done { padding: 56px 0; }
.survey__done h2, .survey__done h1 { outline: none; }
.survey__done .lede { max-width: 30ch; }
@media (min-width: 760px) {
  .js .survey__nav { position: static; width: min(100% - 2 * var(--gut), 720px); margin: 40px auto 0; padding: 0; background: none; border: 0; grid-template-columns: 160px 1fr; }
  .scale--10 { grid-template-columns: repeat(10, 1fr); }
  .survey { padding-bottom: 80px; }
}

/* ---------- color: one palette color per section ----------
   --sec      exact palette color (dots, bars, fills)
   --sec-ink  text-safe shade for labels on cream
   --sec-fill / --sec-on  active tab chip + its text */
body { --sec: var(--ox); --sec-ink: var(--ox); --sec-fill: var(--ox); --sec-on: var(--paper); }
.tint-issue, .card--issue, [data-sec="issue"] { --sec: var(--ox); --sec-ink: var(--ox); --sec-fill: var(--ox); --sec-on: var(--paper); }
.tint-women, .card--women, [data-sec="women"] { --sec: var(--pink); --sec-ink: var(--pink-ink); --sec-fill: var(--pink); --sec-on: var(--ink); }
.tint-men, .card--men, [data-sec="men"] { --sec: var(--navy); --sec-ink: var(--navy); --sec-fill: var(--navy); --sec-on: var(--paper); }
.tint-forecast, .card--forecast, [data-sec="forecast"] { --sec: var(--orange); --sec-ink: var(--orange-ink); --sec-fill: var(--orange-ink); --sec-on: var(--paper); }
.tint-calls-on-record, .card--calls-on-record, [data-sec="calls-on-record"] { --sec: var(--blue); --sec-ink: var(--blue-ink); --sec-fill: var(--blue); --sec-on: var(--ink); }
.tint-calls-on-record, .card--calls-on-record { --tint: var(--blue); }
/* soft fills per section (Men borrows powder blue, its lighter partner) + a deeper text shade for use on those fills */
body { --sec-tint: color-mix(in srgb, var(--ox) 9%, var(--paper)); --sec-deep: color-mix(in srgb, var(--sec-ink) 75%, var(--ink)); }
.tint-women { --sec-tint: color-mix(in srgb, var(--pink) 20%, var(--paper)); }
.tint-men { --sec-tint: color-mix(in srgb, var(--blue) 45%, var(--paper)); }
.tint-forecast { --sec-tint: color-mix(in srgb, var(--orange) 14%, var(--paper)); }
.tint-calls-on-record { --sec-tint: color-mix(in srgb, var(--blue) 45%, var(--paper)); }

/* color bar under the masthead and above the footer */
.masthead { border-bottom: 0; }
.masthead::after { content: ''; display: block; height: 4px; background: var(--bar); }
.footer { border-top: 0; }
.footer::before { content: ''; display: block; height: 4px; background: var(--bar); }

/* section tabs: colored label + dot; the active tab is a filled chip with a deeper underline */
.secnav { gap: 2px; }
.secnav a { display: inline-flex; align-items: center; color: var(--sec-ink); font-weight: 600; padding: 11px 14px 11px 12px; margin-right: 0; transition: background .15s; }
.secnav a::before { content: ''; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--sec); margin-right: 8px; }
.secnav a:hover { color: var(--sec-ink); background: color-mix(in srgb, var(--sec) 16%, transparent); border-bottom-color: var(--sec); }
.secnav a[aria-current] { background: var(--sec-fill); color: var(--sec-on); font-weight: 800; border-bottom-color: color-mix(in srgb, var(--sec-ink) 70%, var(--ink)); }
.secnav a[aria-current]::before { background: var(--sec-on); }

/* section kicker under the tabs (e.g. ● WOMEN), in the section color */
.sec-head > .label:first-child { color: var(--sec-ink); font-size: 13px; font-weight: 800; letter-spacing: .2em; }
.sec-head > .label:first-child .dot { background: var(--sec); width: 9px; height: 9px; margin-right: 10px; vertical-align: 0; }
.sec-head .subline::before, .essay__call .subline::before { background: var(--sec); height: 3px; }
.members-banner .lock { color: var(--sec); }
.coming { color: var(--sec-ink); }
.coming .dot { background: var(--sec); }

/* signal blocks + forecast lists pick up the section color */
.sblock__lead > .label--strong { color: var(--sec-ink); }
.sblock__lead > .label--strong .muted { color: var(--muted); }
.sblock__core li::before, .finds__list li::before { color: var(--sec-ink); }
.sblock__get { background: var(--sec-tint); border-left: 4px solid var(--sec-ink); }
.sblock__get .label { color: var(--sec-deep); }
.sblock-index a:hover { color: var(--sec-ink); border-color: var(--sec); }

/* home: colored kickers, powder-blue reading note, colored section cards */
.cover__text > .label { color: var(--ox); }
.howto { background: var(--blue); border-top: 0; }
.howto__inner .label { color: var(--navy); font-weight: 700; }
.howto__inner .dot { background: var(--navy); }
.howto__text { color: var(--ink); }
.letter__inner > .label { color: var(--pink-ink); font-weight: 600; }
.letter__inner > .label .dot { background: var(--pink); }
.issue__head .label { color: var(--orange-ink); font-weight: 600; }
.signup .label:has(.dot) { color: var(--orange-ink); font-weight: 600; }
.signup .dot { background: var(--orange); }
.card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--sec); }
.card { padding-top: 26px; }
.card:hover { background: color-mix(in srgb, var(--sec) 9%, var(--paper)); }
.card__top > .label:first-child { color: var(--sec-ink); font-weight: 700; }
.card__top > .label:first-child > .muted { color: var(--muted); font-weight: 500; }
.card__top .dot { background: var(--sec); width: 8px; height: 8px; }
.card__top > .label:last-child { color: var(--sec-ink); }
.card .lock { color: var(--sec); }
.link-arrow { color: var(--sec-ink); border-color: var(--sec); }
.card:hover .link-arrow { color: var(--sec-ink); border-color: var(--sec-ink); }
.card--calls-on-record { --sec-ink: var(--navy); background: color-mix(in srgb, var(--blue) 50%, var(--paper)); }
.card--calls-on-record:hover { background: color-mix(in srgb, var(--blue) 64%, var(--paper)); }
.card--calls-on-record .badge { color: var(--sec-ink); border-color: var(--sec-ink); }
.footer__links a[data-sec] { color: var(--sec-ink); font-weight: 600; }
.footer__links a[data-sec]:hover { color: var(--ink); }

@media (max-width: 640px) {
  .secnav a { padding: 10px 11px 10px 9px; letter-spacing: .1em; font-size: 10.5px; }
  .secnav a::before { width: 6px; height: 6px; margin-right: 6px; }
  .sec-head > .label:first-child { font-size: 12px; }
  .card { padding-top: 24px; }
}

/* ===================== home v2: image-led opener, looks masonry, illustrated letter ===================== */
.htile { --hc: var(--sand); position: relative; display: block; overflow: hidden; background: var(--paper-2); color: var(--ink); text-decoration: none; }
.htile--women { --hc: var(--pink); } .htile--men { --hc: var(--navy); } .htile--issue { --hc: var(--ox); }
.htile--forecast { --hc: var(--orange); } .htile--calls-on-record { --hc: var(--blue); }
.htile img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.htile:hover img { transform: scale(1.035); }
.htile::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--hc); }
.htile__tag { position: absolute; left: 10px; bottom: 14px; font-family: var(--sans); font-size: 10px; font-weight: 600; line-height: 1; letter-spacing: .16em; text-transform: uppercase; background: var(--paper); color: var(--ink); padding: 6px 8px 5px; }
.htile:focus-visible { outline: 2px solid var(--ox); outline-offset: 3px; }
.cbar { height: 6px; background: var(--bar); }
.regmark { width: 22px; height: 22px; fill: none; stroke: var(--ox); stroke-width: 1; }

/* opener: collage + hook, visuals first */
.opener { padding: clamp(18px, 3vw, 40px) 0 clamp(44px, 6vw, 84px); }
.opener__grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 4.5vw, 72px); align-items: center; }
.opener__collage { order: 2; }
.cbar--top { margin-bottom: 8px; }
.collage { display: grid; grid-template-columns: 2fr 1fr; gap: 8px; }
.collage__a { grid-row: 1 / span 2; }
.collage__b, .collage__c { aspect-ratio: 4 / 5; }
.collage__a img { object-position: 50% 40%; }
.opener__text { order: 1; }
.opener__kicker { color: var(--ox); font-weight: 600; }
.opener__title { font-weight: 400; font-size: clamp(52px, 6.6vw, 96px); line-height: .95; letter-spacing: -.035em; margin: 20px 0 0; }
.opener__title em { display: block; font-style: italic; color: var(--ox); }
.opener__tag { font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--muted); margin: 24px 0 0; }
.opener .actions { margin-top: 30px; }
/* hero slot: a runway video replaces the collage here later, in the same footprint (6:5 desktop, 4:5 phone, centre-cropped) */
.hero-video { aspect-ratio: 6 / 5; background: var(--paper-2); overflow: hidden; }
.hero-video video { display: block; width: 100%; height: 100%; object-fit: cover; }

/* one small link to the editor's letter */
.letter-link { border-top: 1px solid var(--rule-soft); }
.letter-link__inner { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 10px 22px; padding: 30px 0 34px; text-align: center; }
.letter-link .dot { background: var(--pink); }
.letter-link__a { font-style: italic; font-size: 22px; color: var(--ox); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.letter-link__a:hover { color: var(--ink); }
.letter-back { padding: 8px 0 clamp(56px, 8vw, 96px); }
.letter-back .actions { justify-content: center; }
.letterpage .letter--v2 { border-top: 0; }

/* the looks: Pinterest-style masonry, every tile links to its section */
.looks { padding: clamp(44px, 6vw, 80px) 0 clamp(52px, 7vw, 92px); border-top: 1px solid var(--rule-soft); }
.looks__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: clamp(20px, 3vw, 32px); }
.looks__head .label:has(.dot) { color: var(--pink-ink); font-weight: 600; }
.looks__head .dot { background: var(--pink); }
.looks__title { font-weight: 400; font-size: clamp(42px, 5.6vw, 76px); line-height: .98; letter-spacing: -.03em; margin: 14px 0 0; }
.looks__title em { font-style: italic; color: var(--ox); }
.looks__links { display: flex; gap: 22px; margin: 0 0 6px; }
.looks__links a { text-decoration: none; padding-bottom: 5px; border-bottom: 2px solid; font-weight: 600; }
.looks__links a:first-child { color: var(--pink-ink); border-color: var(--pink); }
.looks__links a:last-child { color: var(--navy); border-color: var(--navy); }
.masonry { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.mcol { display: flex; flex-direction: column; gap: 12px; }
.mcol .htile:last-child { flex: 1 1 auto; min-height: 0; }
.htile--std { aspect-ratio: 4 / 5; } .htile--tall { aspect-ratio: 2 / 3; } .htile--xtall { aspect-ratio: 3 / 5; }

/* editor's letter: same words, more air, photos between paragraphs */
.letter--v2 { background: var(--cream); border-top: 1px solid var(--rule-soft); padding: clamp(60px, 8vw, 110px) 0 clamp(64px, 8vw, 110px); }
.letter--v2 .letter__inner { max-width: 680px; border-top: 0; padding-top: 0; }
.letter__head { text-align: center; margin-bottom: clamp(34px, 5vw, 60px); }
.cbar--short { width: 132px; margin: 0 auto 28px; }
.letter__head .label { color: var(--pink-ink); font-weight: 600; }
.letter__head .dot { background: var(--pink); }
.letter--v2 .letter__title { font-size: clamp(46px, 6.4vw, 84px); margin: 16px 0 0; }
.regmark--head { display: block; margin: 26px auto 0; }
.letter--v2 .letter__body p.letter__lede { font-size: clamp(25px, 2.7vw, 33px); line-height: 1.28; letter-spacing: -.01em; color: var(--ink); margin-bottom: .9em; }
.letter--v2 .letter__body p.letter__pull { font-style: italic; font-size: clamp(30px, 3.5vw, 44px); line-height: 1.12; letter-spacing: -.015em; color: var(--ox); margin: 1.05em 0 .85em; padding-left: 22px; border-left: 3px solid var(--pink); }
.letter--v2 .letter__body p.letter__pull + p.letter__pull { margin-top: -.35em; }
.letter--v2 .letter__body p.letter__pull--big { text-align: center; border: 0; padding: 0; font-size: clamp(50px, 7.4vw, 96px); line-height: 1; color: var(--ink); margin: 1em 0 1em; }
.letter--v2 .letter__body p.letter__pull--big::after { content: ''; display: block; width: 104px; height: 5px; background: var(--bar); margin: 26px auto 0; }
.letter--v2 .letter__body p.letter__pull--end { text-align: center; border: 0; padding: 0; font-size: clamp(40px, 5.4vw, 66px); line-height: 1; margin-top: 1.1em; }
.letter--v2 .letter__sign { text-align: center; }
.letter__fig { margin: clamp(34px, 5vw, 60px) max(-96px, calc((100% - 100vw) / 2 + 10px)); position: relative; }
.letter__fig--pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.letter__fig--pair .htile { aspect-ratio: 4 / 5; }
.letter__fig--pair .htile--drop { margin-top: 56px; }
.letter__fig--wide .htile { aspect-ratio: 3 / 2; }
.letter__fig--wide .htile img { object-position: 50% 4%; }
.regmark--fig { position: absolute; top: -11px; right: 18px; background: var(--cream); border-radius: 50%; }

@media (max-width: 900px) {
  .opener__grid { grid-template-columns: 1fr; gap: 22px; }
  .opener__collage { order: 1; margin-inline: calc(-1 * var(--gut)); }
  .collage { gap: 3px; }
  .cbar--top { margin-bottom: 3px; }
  .opener__text { order: 2; }
}
@media (max-width: 640px) {
  .opener { padding-top: 0; }
  .opener__title { font-size: clamp(46px, 13.4vw, 66px); margin-top: 14px; }
  .opener__tag { margin-top: 16px; font-size: 10px; }
  .hero-video { aspect-ratio: 4 / 5; }
  .letter-link__a { font-size: 20px; }
  .opener .actions { margin-top: 22px; }
  .htile__tag { left: 6px; bottom: 10px; font-size: 9px; letter-spacing: .14em; padding: 5px 6px 4px; }
  .looks__head { flex-direction: column; align-items: flex-start; }
  .masonry { display: block; column-count: 2; column-gap: 4px; margin-inline: calc(-1 * var(--gut)); }
  .mcol { display: contents; }
  .masonry .htile { break-inside: avoid; margin-bottom: 4px; }
  .mcol .htile:last-child { flex: none; }
  .letter__fig { margin-inline: calc(-1 * var(--gut)); }
  .letter__fig--pair { gap: 4px; }
  .letter__fig--pair .htile--drop { margin-top: 32px; }
  .letter--v2 .letter__body p.letter__pull { padding-left: 16px; }
}

/* ===================== sections v2: runway hero, image-first signals, explainers in expanders ===================== */
/* runway hero */
.runway { position: relative; background: var(--ink); color: var(--paper); overflow: hidden; isolation: isolate; }
.runway__media { position: relative; height: min(clamp(420px, 54vw, 780px), calc(100svh - 96px)); }
.runway__stills { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; background: var(--ink); }
.runway__stills--one { grid-template-columns: 1fr; }
.runway__stills img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%;
  animation: runway-fade 1.2s ease both, runway-drift 26s ease-in-out 1.2s infinite alternate; animation-delay: calc(var(--i, 0) * .18s), 1.2s; }
.runway__stills img:nth-child(1) { order: 2; } .runway__stills img:nth-child(2) { order: 1; } .runway__stills img:nth-child(3) { order: 3; }
.runway__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.runway::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, rgba(22, 20, 18, .74) 0%, rgba(22, 20, 18, .3) 34%, rgba(22, 20, 18, 0) 60%); }
.runway__text { position: absolute; left: 0; right: 0; bottom: clamp(24px, 4vw, 52px); z-index: 2; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px 28px; }
.runway__kicker { grid-column: 1 / -1; margin: 0; color: rgba(241, 235, 223, .88); letter-spacing: .3em; }
.runway__title { font-family: var(--serif); font-weight: 300; font-size: clamp(46px, 7.6vw, 116px); line-height: .9; letter-spacing: -.04em; margin: 0; color: var(--paper); }
.runway__title em { font-style: italic; font-weight: 300; color: color-mix(in srgb, var(--sec, var(--pink)) 45%, var(--paper)); }
.runway__soon { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; color: rgba(241, 235, 223, .92); white-space: nowrap; }
.runway__soon svg { width: 38px; height: 38px; flex: none; }
.runway__soon circle { fill: none; stroke: currentColor; stroke-width: 1; }
.runway__soon path { fill: currentColor; }
.runway__pause { position: absolute; top: 16px; right: var(--gut); z-index: 3; background: rgba(22, 20, 18, .45); color: var(--paper); border: 1px solid rgba(241, 235, 223, .5); padding: 8px 11px 7px; cursor: pointer; }
@keyframes runway-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes runway-drift { from { transform: scale(1); } to { transform: scale(1.045); } }
.runway + .section .issue-bar { padding-top: 22px; }
.runway + .section .sec-head { padding-top: clamp(30px, 4.4vw, 56px); }
.show--section + .section .issue-bar { padding-top: 22px; }
.show--section + .section .sec-head { padding-top: clamp(30px, 4.4vw, 56px); }

/* signal heads: number, name, one-line hook */
.sblock { padding: clamp(40px, 5.4vw, 72px) 0 clamp(44px, 6vw, 80px); }
.sblock__head { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: end; margin-bottom: clamp(22px, 3vw, 36px); }
.sblock__title { margin-bottom: 0; }
.sblock__hookwrap { max-width: 560px; justify-self: end; }
.sblock__hook { font-family: var(--serif); font-style: italic; font-size: clamp(21px, 2vw, 27px); line-height: 1.28; letter-spacing: -.01em; color: var(--ink-2); margin: 0 0 12px; }
.sblock--write .sblock__count { margin-bottom: 0; }

/* "Read the signal" expander under each grid */
.sread { margin-top: clamp(18px, 2.4vw, 28px); border-top: 1px solid var(--rule-soft); }
.sread__sum { list-style: none; display: flex; align-items: baseline; gap: 12px; padding: 18px 0 6px; cursor: pointer; }
.sread__sum::-webkit-details-marker { display: none; }
.sread__cta { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--sec-ink, var(--ox)); border-bottom: 1px solid currentColor; padding-bottom: 1px; transition: color .25s; }
.sread__arrow { display: inline-block; font-size: 19px; color: var(--sec-ink, var(--ox)); transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.sread__sum:hover .sread__cta { color: var(--ink); }
.sread__sum:hover .sread__arrow { transform: translateX(4px); }
.sread[open] .sread__arrow { transform: rotate(90deg); }
.sread__sum:focus-visible { outline: 2px solid var(--ox); outline-offset: 4px; }
.sread__name { margin-left: auto; }
.sread__body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px clamp(32px, 5vw, 80px); padding: 22px 0 10px; animation: sread-in .5s ease both; }
.sread__body.sblock__write { max-width: none; }
.sread__side .sblock__core:first-child { margin-top: 0; }
.sread__text .sblock__get:first-child { margin-top: 0; }
@keyframes sread-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.sread--intro { max-width: 640px; margin: 22px auto 0; border-top: 0; }
.sread--intro .sread__sum { justify-content: center; padding-top: 8px; }
.sread--intro .sread__cta { font-size: 20px; }
.sread--intro .sread__body { display: block; padding-top: 10px; }
.sread--intro .feed__intro { border: 0; padding: 0; text-align: center; font-size: 20px; color: var(--ink-2); }

/* photos: quiet hover, fade in as they arrive */
.slot__media.is-zoomable img { transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.slot__media.is-zoomable:hover img { transform: scale(1.025); }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .8s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
.reveal.is-in { opacity: 1; transform: none; }

/* Issue: the words after the pictures */
.explain { margin-top: clamp(24px, 4vw, 56px); padding-top: clamp(36px, 5vw, 64px); border-top: 1px solid var(--rule); }
.explain__head { text-align: center; margin-bottom: 26px; }
.explain__head .label { color: var(--sec-ink); font-weight: 600; }
.explain__head .dot { background: var(--sec); }
.explain__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px clamp(32px, 5vw, 80px); max-width: 1020px; margin: 0 auto 56px; }
.section--editorial .spread { gap: 12px; margin-bottom: 12px; }
.section--editorial .triptych { gap: 12px; margin-bottom: 12px; }
.section--editorial .feature-wide { max-width: none; margin: 0 0 12px; }

/* Forecast: the call, then the five signals as stills */
.essay--call { grid-template-columns: 1fr; padding-top: clamp(32px, 4vw, 48px); }
.essay--call .essay__call { border-bottom: 0; padding-bottom: 0; text-align: center; }
.essay--call .essay__headline { margin-inline: auto; }
.essay--call .subline { margin-inline: auto; }
.essay--call .subline::before { left: calc(50% - 28px); }
.essay--call .essay__line { margin-inline: auto; max-width: 620px; }
.fstrip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: clamp(28px, 4vw, 48px) 0 clamp(40px, 6vw, 72px); }
.fstrip__tile { aspect-ratio: 3 / 5; }
.fstrip__tile img { object-position: 50% 30%; }
.fstrip__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 56px 12px 16px; display: flex; flex-direction: column; gap: 6px; color: var(--paper); background: linear-gradient(to top, rgba(22, 20, 18, .76), rgba(22, 20, 18, 0)); }
.fstrip__cap .label { color: rgba(241, 235, 223, .85); }
.fstrip__name { font-family: var(--serif); font-size: clamp(17px, 1.6vw, 22px); line-height: 1.1; letter-spacing: -.01em; }

@media (max-width: 900px) {
  .sblock__head { grid-template-columns: 1fr; align-items: start; }
  .sblock__hookwrap { justify-self: start; }
  .sread__body { grid-template-columns: 1fr; }
  .explain__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .runway__media { height: auto; aspect-ratio: 4 / 5; max-height: calc(100svh - 90px); }
  .runway__stills { grid-template-columns: 1fr; }
  .runway__stills img:not(:first-child) { display: none; }
  .runway__text { grid-template-columns: 1fr; gap: 10px; }
  .runway__title { font-size: clamp(42px, 12.6vw, 60px); }
  .runway__soon { margin: 4px 0 0; font-size: 10px; }
  .runway__soon svg { width: 30px; height: 30px; }
  .sblock__title { font-size: 46px; margin-top: 10px; }
  .sblock__hook { font-size: 20px; }
  .sread__name { display: none; }
  .sread__cta { font-size: 21px; }
  .fstrip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 64%; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--gut)); padding-inline: var(--gut); scrollbar-width: none; }
  .fstrip::-webkit-scrollbar { display: none; }
  .fstrip__tile { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  .runway__stills img { animation: none; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .sread__body { animation: none; }
  .slot__media.is-zoomable img, .htile img { transition: none; }
}

/* runway film: portrait film in its own centre column (exact 836:1080 frame, never cropped), approved stills either side */
.runway { --rh: min(clamp(420px, 54vw, 780px), calc(100svh - 96px)); --film-ar: .774; }
.runway__stills--film { grid-template-columns: minmax(0, 1fr) calc(var(--rh) * var(--film-ar)) minmax(0, 1fr); }
.runway__stills--film > * { order: 0 !important; }
.runway__stills--film .runway__side { filter: brightness(.78) saturate(.9); animation: none; }
.runway__film { position: relative; overflow: hidden; background: var(--ink); }
.runway__film .runway__video { object-position: 50% 0%; }
.runway__pause { font-size: 10px; letter-spacing: .2em; backdrop-filter: blur(4px); transition: background .25s; }
.runway__pause:hover { background: rgba(22, 20, 18, .7); }
@media (max-width: 640px) {
  .runway--video .runway__media { aspect-ratio: 836 / 1080; max-height: none; }
  .runway__stills--film { grid-template-columns: 1fr; }
  .runway__stills--film .runway__side { display: none; }
  .runway__pause { top: 12px; }
}
@media (prefers-reduced-motion: reduce) { .runway__stills--film .runway__side { animation: none; } }
/* film mode: keep the film clear of type. Desktop: title stacks in the left column; ≤900: title sits in a band under the film */
.runway--video { --sw: calc((100% - var(--rh) * var(--film-ar)) / 2); }
.runway--video::after { background:
  linear-gradient(to top, rgba(22, 20, 18, .82) 0%, rgba(22, 20, 18, .35) 38%, rgba(22, 20, 18, 0) 66%) left top / var(--sw) 100% no-repeat,
  linear-gradient(to top, rgba(22, 20, 18, .6) 0%, rgba(22, 20, 18, 0) 50%) right top / var(--sw) 100% no-repeat; }
@media (min-width: 901px) {
  .runway--video .runway__text { max-width: none; margin: 0; right: auto; width: var(--sw); padding: 0 28px 0 var(--gut); grid-template-columns: 1fr; gap: 14px; }
  .runway--video .runway__title { font-size: clamp(40px, calc((100vw - var(--rh) * var(--film-ar)) / 2 - var(--gut) - 32px) / 5.6, 96px); line-height: .95; }
  .runway--video .runway__title em { display: block; }
}
@media (max-width: 900px) {
  .runway--video::after { display: none; }
  .runway--video .runway__text { position: static; padding-top: 22px; padding-bottom: 28px; gap: 8px; }
  .runway--video .runway__title { font-size: clamp(40px, 8.4vw, 64px); }
}
.runway__stills { grid-template-rows: 100%; }
.runway__stills > * { min-height: 0; }

/* Home: "Why timing matters" graphic (after the hero collage) */
.timing{padding:clamp(56px,9vw,120px) 0 clamp(40px,6vw,88px)}
.timing__fig{display:block;margin:0}
.timing__fig img{display:block;width:100%;height:auto;aspect-ratio:1600/1000}
@media (max-width:640px){.timing__fig img{aspect-ratio:1080/1350}}

/* ===== About previews (unlinked, noindex): .aboutp--editorial / .aboutp--cards ===== */
.ap-spine { font-family: var(--serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3; margin: 18px 0 0; color: var(--ink); }
.ap-spine em { color: var(--ox); }
.ap-head .actions { margin-top: 32px; }
.ap-sec { border-top: 1px solid var(--rule); padding: clamp(56px, 8vw, 104px) 0; }
.ap-num { color: var(--muted); margin: 0 0 28px; }
.ap-h { font-family: var(--serif); font-weight: 300; font-size: clamp(38px, 5.4vw, 72px); line-height: 1.02; letter-spacing: -.01em; margin: 0 0 clamp(32px, 5vw, 56px); }
.ap-h em { font-style: italic; color: var(--ox); }
.ap-timing { display: block; } .ap-timing img { display: block; width: 100%; height: auto; }
.ap-echo { font-family: var(--serif); font-size: clamp(28px, 3.6vw, 48px); line-height: 1.14; margin: clamp(36px, 5vw, 64px) 0 0; max-width: 24ch; }
.ap-echo em { color: var(--ox); }
.ap-echo--sm { font-size: clamp(24px, 2.6vw, 34px); margin-top: 28px; }
.ap-two { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 56px; margin-top: 32px; max-width: 980px; }
.ap-two .body { margin: 0; font-size: clamp(17px, 1.4vw, 19px); }
.ap-ox { color: var(--ox); font-style: italic; font-family: var(--serif); }
.ap-narrow { max-width: 46ch; font-size: clamp(18px, 1.6vw, 21px); }
.ap-close-sub { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 2vw, 26px); color: var(--ox); margin: 20px 0 0; }
.ap-center { justify-content: center; margin-top: 28px; }
.ap-media { margin: 0; background: var(--paper-2); overflow: hidden; }
.ap-media img, .ap-media video { display: block; width: 100%; height: 100%; object-fit: cover; }

/* A · editorial spread */
.ap-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding: clamp(28px, 4vw, 48px) 0; border-top: 1px solid var(--rule-soft); }
.ap-row--text { grid-template-columns: 1fr; }
.ap-row--text > div { max-width: 44ch; margin-left: calc(5 / 11 * 100% + clamp(28px, 5vw, 80px) * 6 / 11); }
.ap-row--flip > figure { order: 2; } .ap-row--flip { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
.ap-row .h3 { font-family: var(--serif); font-size: clamp(30px, 3.4vw, 46px); font-weight: 400; margin: 0 0 12px; }
.ap-row .body { font-size: clamp(17px, 1.5vw, 20px); max-width: 36ch; margin: 0; }
.ap-media--still { aspect-ratio: 4 / 5; max-width: 420px; }
.ap-media--film { aspect-ratio: 836 / 1080; max-width: 380px; justify-self: end; background: var(--ink); }
.ap-row--flip .ap-media--film { justify-self: start; margin-left: auto; }

/* B · feature cards */
.ap-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ap-card { display: flex; flex-direction: column; background: var(--cream); border: 1px solid var(--rule-soft); border-top: 2px solid var(--ink); }
.ap-card--films { border-top-color: var(--blue); } .ap-card--calls { border-top-color: var(--ox); }
.ap-card__media { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--paper-2); }
.ap-card__media img, .ap-card__media video { display: block; width: 100%; height: 100%; object-fit: cover; }
.ap-card--films .ap-card__media { background: var(--ink); } .ap-card--films video { object-fit: contain; }
.ap-card__body { padding: 22px 22px 26px; display: flex; flex-direction: column; flex: 1; }
.ap-card__k { color: var(--muted); margin: 0 0 12px; }
.ap-card__t { font-family: var(--serif); font-weight: 400; font-size: clamp(26px, 2.2vw, 32px); line-height: 1.05; margin: 0 0 10px; }
.ap-card .body { margin: 0; font-size: 16px; line-height: 1.5; }
.ap-card--calls { justify-content: flex-start; }
.ap-card--calls .ap-card__body { padding-top: 32px; }
.ap-card--calls .ap-card__t { font-size: clamp(34px, 3vw, 44px); }
.ap-card--calls .ap-card__t::before { content: ''; display: block; width: 40px; border-top: 2px solid var(--ox); margin-bottom: 22px; }
.ap-card__more { margin: auto 0 0; padding-top: 24px; font-family: var(--serif); font-size: 19px; }
.ap-card__more em { color: var(--ox); } .ap-card__more a { color: var(--ink); }
.ap-sigcard { height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 0 12%; background: var(--paper); box-shadow: inset 0 0 0 18px var(--cream), inset 0 0 0 19px var(--rule-soft); }
.ap-sigcard__rule { width: 34px; border-top: 2px solid var(--ox); margin-bottom: 20px; }
.ap-sigcard p { font-family: var(--serif); font-size: clamp(26px, 2.3vw, 34px); line-height: 1.15; margin: 0; }
.ap-sigcard em { color: var(--ox); }

@media (max-width: 1000px) { .ap-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .ap-two { grid-template-columns: 1fr; }
  .ap-row, .ap-row--flip { grid-template-columns: 1fr; gap: 20px; }
  .ap-row--flip > figure { order: 0; }
  .ap-row--text > div { margin-left: 0; }
  .ap-media--still, .ap-media--film { max-width: none; width: 100%; justify-self: stretch; margin: 0; }
  .ap-cards { grid-template-columns: 1fr; gap: 16px; }
  .ap-card__media { aspect-ratio: 4 / 5; }
  .ap-card--films .ap-card__media { aspect-ratio: 4 / 5; }
  .ap-card--signals .ap-card__media { aspect-ratio: 16 / 9; }
}
@media (prefers-reduced-motion: reduce) { .ap-media video, .ap-card video { display: none; } .ap-media--film, .ap-card--films .ap-card__media { background: center / cover no-repeat url(/images/issue-001/women/runway-poster.jpg); } }
.ap-card--looks img, .ap-media--still img { object-position: 50% 18%; }
/* cards v2: signal photo with caption overlay; modern look */
.ap-card__media { position: relative; }
.ap-cap { position: absolute; left: 12px; right: 12px; bottom: 12px; margin: 0; padding: 12px 14px 13px; background: rgba(244, 238, 227, .94); font-family: var(--serif); font-size: 17px; line-height: 1.2; color: var(--ink); }
.ap-cap em { color: var(--ox); }
.ap-cap .ap-sigcard__rule { display: block; width: 26px; margin-bottom: 8px; }
.ap-card--looks img { object-position: 50% 10%; }
@media (max-width: 640px) { .ap-card--signals .ap-card__media { aspect-ratio: 4 / 5; } .ap-cap { font-size: 18px; } }
.ap-card__media .ap-cap { display: block; width: auto; height: auto; text-align: left; } .ap-cap em { display: inline; }
.aboutp--cards .page-head .nowrap { white-space: nowrap; }
.aboutp--cards .page-head .ap-first { color: var(--ink); font-style: italic; font-weight: 560; }

/* Signal feature video (manifest slot.featureVideo): plays over the still; still = poster, lightbox target, reduced-motion fallback */
.slot--fv .slot__media { position: relative; }
.slot__fv { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; background: transparent; }
@media (prefers-reduced-motion: reduce) { .slot__fv { display: none; } }
.slot__fv--contain, .slot--fv .slot__fvstill--contain { object-fit: contain; background: var(--paper-2); }

/* Hover videos (manifest slot.hoverVideo): still by default; clip fades in while playing */
.slot--hv .slot__media { position: relative; }
.slot__hv { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; opacity: 0; transition: opacity .35s ease; }
.slot--hv.is-playing .slot__hv { opacity: 1; }
.slot__hvicon { position: absolute; right: 10px; bottom: 10px; width: 26px; height: 26px; border-radius: 50%; background: rgba(244, 238, 227, .88); pointer-events: none; transition: opacity .3s ease; }
.slot__hvicon::after { content: ''; position: absolute; left: 10px; top: 8px; border-left: 8px solid var(--ink); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
/* icon stays visible while playing, so in-view play on phones/touch screens doesn't hide it */
@media (prefers-reduced-motion: reduce) { .slot__hv, .slot__hvicon { display: none; } }

/* 14 looks: two large tiles (look 1 top-left, look 8 bottom-right) with twelve small around them (5 columns, 4 rows, no lone tile) */
@media (min-width: 641px) {
  .sblock__grid--14 { grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-flow: dense; }
  .sblock__grid--14 > .sblock__hero { grid-column: 1 / span 2; grid-row: 1 / span 2; }
  .sblock__grid--14 > .sblock__hero--alt { grid-column: 4 / span 2; grid-row: 3 / span 2; }
  .sblock__grid--14 .ph__meta { display: none; }
}
/* 14 looks + clip: clip column sized so the 9:16 clip and the four photo rows end level (Wc = 9/25 × (W − 2 gaps)) */
@media (min-width: 641px) { .sblock__media--14.has-clip { grid-template-columns: minmax(0, 1fr) calc(36% - 8.64px); } }
@media (max-width: 640px) { .sblock__grid--14 > .sblock__hero--alt { grid-column: auto; } .sblock__grid--14 > .sblock__hero--alt .slot__media { aspect-ratio: 4 / 5; } }
.slot__hv--contain { object-fit: contain; background: var(--paper-2); }
.slot video.slot__hv--contain, .slot video.slot__fv--contain, .slot img.slot__fvstill--contain { object-fit: contain; background: var(--paper-2); }

/* Lightbox films */
.lb__vid { background: transparent; }
.lb__vid[hidden], .lb__img[hidden] { display: none; }
.lb__play { width: auto; padding: 0 18px; bottom: calc(2px + env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%); font: 600 12px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; height: 44px; }
.slot--fv .slot__media.is-zoomable, .slot--hv .slot__media.is-zoomable { cursor: zoom-in; }

/* Calls on Record: Men / Women groups */
.ledger-table .ledger-table__group th { padding: 34px 0 10px; border-bottom: 1px solid var(--rule); text-align: left; }
.ledger-table tbody .ledger-table__group:first-child th { padding-top: 18px; }
@media (max-width: 640px) {
  .ledger-table th:nth-child(3), .ledger-table td:nth-child(3) { display: table-cell; }
  .ledger-table thead th:nth-child(2), .ledger-table td.ledger-table__sig { display: none; }
  .ledger-table td:nth-child(3) { font-size: 13px; white-space: normal; }
}

/* Home: Runway 1 show, first thing on the page */
.show { background: var(--ink); color: var(--paper); padding: clamp(20px, 3vw, 36px) 0 clamp(28px, 4vw, 48px); }
.show__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; margin-bottom: clamp(14px, 2vw, 22px); }
.show__title { margin: 0; font-family: var(--serif); font-weight: 300; font-size: clamp(30px, 4.2vw, 56px); line-height: 1; letter-spacing: -.01em; }
.show__title em { font-style: italic; color: #D9A3AC; font-weight: 400; }
.show__mark { font-family: var(--sans); font-weight: 800; letter-spacing: -.03em; margin-right: .12em; }
.show__mark i { font-style: normal; color: #C24A5C; }
.show__kicker { color: var(--blue); margin: 0; }
.show__kicker .dot { background: var(--blue); }
.show--next { border-top: 1px solid rgba(241, 235, 224, .14); }
.show__stage { position: relative; width: min(100%, calc((100svh - var(--head-h) - 150px) * 16 / 9)); min-width: min(100%, 420px); margin-inline: auto; aspect-ratio: 16 / 9; background: #000; cursor: pointer; }
.show__stage--tall { aspect-ratio: 9 / 16; max-height: none; width: min(100%, calc((100svh - var(--head-h) - 120px) * 9 / 16)); min-width: 260px; }
.show__video { display: block; width: 100%; height: 100%; object-fit: contain; background: #000; }
.show__sound { position: absolute; left: 50%; bottom: clamp(16px, 4%, 32px); transform: translateX(-50%); display: inline-flex; align-items: center; gap: 12px;
  border: 1px solid rgba(241, 235, 223, .55); background: rgba(22, 20, 18, .62); color: var(--paper); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  padding: 13px 22px 13px 16px; font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; border-radius: 999px; white-space: nowrap; }
.show__sound:hover { background: var(--ox); border-color: var(--ox); }
.show__sound:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.show__sound[hidden] { display: none; }
.show__icon { width: 26px; height: 26px; border-radius: 50%; background: var(--paper); position: relative; flex: none; }
.show__icon::after { content: ""; position: absolute; left: 10px; top: 7px; border-left: 9px solid var(--ink); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.show__stage.is-idle .show__sound { bottom: 50%; transform: translate(-50%, 50%); padding: 18px 28px 18px 20px; font-size: 13px; }
.show__stage.is-idle .show__icon { width: 34px; height: 34px; }
.show__stage.is-idle .show__icon::after { left: 13px; top: 9px; border-left-width: 11px; border-top-width: 8px; border-bottom-width: 8px; }
@media (max-width: 640px) {
  .show__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .show__sound { font-size: 11px; letter-spacing: .16em; padding: 11px 18px 11px 12px; }
}

/* Runway looks: the latest runway release, set apart from the signals above by a heavier rule and extra space */
.sblock--release { border-top: 2px solid var(--ink); margin-top: clamp(28px, 4vw, 56px); }
.sblock--release .sblock__kicker { margin: 0; }

/* Lightbox: sharp still with zoom (lightbox.js) and a Still / Film toggle on film tiles */
.lb, .lb__fig, .lb__img { touch-action: none; }
.lb__pan { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
.lb__still { cursor: zoom-in; }
.lb.is-zoomed .lb__still { cursor: grab; }
.lb.is-zoomed .lb__still:active { cursor: grabbing; }
.lb__modes { position: absolute; z-index: 1; left: 50%; bottom: calc(6px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); display: flex; border: 1px solid rgba(244, 238, 227, .35); }
.lb__modes[hidden] { display: none; }
.lb__mode { min-width: 76px; height: 40px; padding: 0 16px; border: 0; background: transparent; color: rgba(244, 238, 227, .78); font: 600 11px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.lb__mode[aria-pressed="true"] { background: var(--paper, #F1EBE0); color: #0C0A09; }
.lb__mode:focus-visible { outline: 2px solid var(--paper, #F1EBE0); outline-offset: 2px; }
.lb__zoom { right: 8px; bottom: calc(2px + env(safe-area-inset-bottom, 0px)); width: 44px; height: 44px; font-size: 24px; }
.lb.has-modes .lb__play { left: auto; right: 8px; transform: none; }
@media (max-width: 400px) { .lb__mode { min-width: 64px; padding: 0 12px; } }

/* Runway notice on pages without a film: links home, where both runways play */
.runway__soon a { display: inline-flex; align-items: center; gap: inherit; color: inherit; text-decoration: none; }
.runway__soon a:hover span, .runway__soon a:hover { text-decoration: underline; text-underline-offset: 4px; }
/* Subscribe: two paid plans, then invitation and login (2 x 2) */
.plans { grid-template-columns: 1fr 1fr; }
.plan__price strong { font-weight: 400; font-size: 40px; letter-spacing: -.02em; }
.plan__price .plan__per { font-size: 17px; color: var(--ink-2); margin-left: 6px; }
.plan__value { font-size: 18px; line-height: 1.5; margin: 0 0 20px; }
@media (max-width: 640px) { .plans { grid-template-columns: 1fr; } }

/* Worth Wearing Early: a small look thumbnail beside each call */
.finds__list li.has-img { grid-template-columns: 30px 1fr 76px; }
.finds__list li.has-img .finds__img { grid-column: 3; grid-row: 1 / span 2; align-self: start; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--paper-2); }
.finds__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.finds__img:hover img { transform: scale(1.04); }
@media (max-width: 640px) { .finds__list li.has-img { grid-template-columns: 30px 1fr 64px; } }

/* ---------- Looks first (members Women / Men): FW27 Looks lead, the signals follow ---------- */
.sblock-index a.sblock-index__looks { color: var(--pink-ink); border-color: var(--pink); font-weight: 700; }
.sblock-index a.sblock-index__looks:hover { color: var(--ink); border-color: var(--ink); }
.looksfirst { border-top: 4px solid var(--pink); padding-top: clamp(28px, 4vw, 48px); }
.looksfirst__head { text-align: center; margin-bottom: clamp(4px, 1vw, 12px); }
.looksfirst__kicker { color: var(--pink-ink); font-weight: 700; margin: 0; }
.looksfirst__kicker .dot { background: var(--pink); }
.looksfirst__title { font-size: clamp(48px, 6vw, 88px); line-height: .96; letter-spacing: -.03em; font-weight: 400; margin: 12px 0 0; }
.looksfirst > .sblock--release { margin-top: clamp(12px, 2vw, 24px); }
.signals-divider { --sig-blue: #2F7BE0; margin: clamp(56px, 8vw, 112px) 0 0; padding-top: 0; border-top: 16px solid var(--sig-blue); }
.signals-divider__arrows { display: flex; justify-content: space-between; padding: 0 4%; margin: 4px 0 clamp(16px, 2.4vw, 26px); color: var(--sig-blue); font-family: var(--sans); font-weight: 700; font-size: clamp(26px, 2.6vw, 36px); line-height: 1; }
.signals-divider__label { margin: 0; font-family: var(--sans); font-weight: 700; text-transform: uppercase; letter-spacing: .16em; font-size: clamp(17px, 1.9vw, 24px); line-height: 1.2; color: var(--sig-blue); }
.signals-divider__note { margin: 12px 0 0; max-width: 62ch; font-size: clamp(14px, 1.15vw, 16px); line-height: 1.5; color: var(--muted); font-style: italic; }
@media (max-width: 640px) { .signals-divider { border-top-width: 11px; } .signals-divider__arrows span:nth-child(2), .signals-divider__arrows span:nth-child(4) { display: none; } }
.signals-divider + .sblock { border-top: 0; }
/* Section titles: a little smaller on desktop (the longest wrapped to four lines) */
.section--feed .sec-title { font-size: clamp(44px, 5.6vw, 84px); }
/* anchors: html scroll-padding-top already clears the sticky header + stripe (no extra scroll-margin, it would add up) */

/* ---------- Runway tabs: one player per section, a tab per runway (newest first) ---------- */
.rtabs { padding-top: clamp(18px, 2.6vw, 32px); }
.rtabs__head { margin-bottom: clamp(14px, 2vw, 22px); }
.rtabs__kicker { margin: 0 0 clamp(8px, 1.2vw, 14px); color: var(--blue); letter-spacing: .26em; font-weight: 600; }
.rtabs__kicker .show__mark { font-size: 1.15em; letter-spacing: -.03em; }
.rtabs__row { display: flex; gap: clamp(20px, 3.4vw, 52px); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
  border-bottom: 1px solid rgba(241, 235, 223, .18); -webkit-overflow-scrolling: touch; }
.rtabs__row::-webkit-scrollbar { display: none; }
.rtabs__tab { appearance: none; background: none; border: 0; border-radius: 0; cursor: pointer; flex: none; scroll-snap-align: start;
  position: relative; display: inline-flex; align-items: flex-start; gap: 10px; padding: 0 0 clamp(10px, 1.4vw, 16px);
  font-family: var(--serif); font-weight: 300; font-size: clamp(34px, 5.2vw, 72px); line-height: 1; letter-spacing: -.03em;
  color: rgba(241, 235, 223, .4); transition: color .2s; white-space: nowrap; text-transform: none; }
.rtabs__tab:hover { color: rgba(241, 235, 223, .75); background: none; }
.rtabs__tab[aria-selected="true"] { color: var(--paper); font-style: italic; }
.rtabs__tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 4px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.rtabs__tab[aria-selected="true"]::after { transform: scaleX(1); }
.rtabs__tab:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.rtabs__new { font-style: normal; font-family: var(--sans); font-size: 10px; letter-spacing: .2em; line-height: 1; margin-top: .5em;
  padding: 5px 7px 4px; background: #D9A3AC; color: var(--ink); }
.rtabs__panel[hidden] { display: none; }
.rtabs__film-stage { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 2px; cursor: default; }
.rtabs__film { height: 100%; aspect-ratio: 836 / 1080; background: #000; overflow: hidden; }
.rtabs__film .show__video { object-fit: cover; object-position: 50% 0%; }
.rtabs__side { width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; filter: brightness(.78) saturate(.9); min-height: 0; }
.rtabs__pause { top: 12px; right: 12px; }
.show__stage--tall.rtabs__film-stage, .rtabs__film-stage.is-tall { grid-template-columns: 1fr; }
@media (max-width: 700px) {
  .rtabs__row { gap: 18px; margin-right: calc(-1 * var(--gut)); padding-right: var(--gut); }
  .rtabs__row.is-overflow { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); }
  .rtabs__tab { font-size: clamp(28px, 8.2vw, 40px); gap: 6px; }
  .rtabs__new { font-size: 8.5px; padding: 4px 5px 3px; letter-spacing: .16em; }
  /* phones: Runway 1 is the film alone, same 9:16 frame as Runway 2 */
  .rtabs__film-stage { grid-template-columns: 1fr; aspect-ratio: 9 / 16; width: min(100%, calc((100svh - var(--head-h) - 120px) * 9 / 16)); min-width: 260px; }
  .rtabs__film-stage .rtabs__side { display: none; }
  .rtabs__film { aspect-ratio: auto; width: 100%; }
}

/* ---------- Member sign-in (/signin/ and the /auth/verify pages) ---------- */
.signin__wrap { max-width: 720px; }
.signin__form { margin-top: 28px; max-width: 560px; }
.signin__form .signup__row { margin-top: 8px; }
.signin__note { margin: 22px 0 0; padding: 12px 14px; border-left: 3px solid var(--ox); background: rgba(22, 20, 18, .04); letter-spacing: .12em; }
.signin__note.is-ok, .signin__form .is-ok { color: var(--blue-ink, #3E6A84); border-color: var(--blue, #AFC9D8); }
.signin__alt { margin-top: 28px; }
.auth-page { min-height: 100svh; display: grid; place-items: center; }
.auth { max-width: 620px; padding: 48px var(--gut, 24px); }
.auth__mark { font-family: var(--sans); font-weight: 800; font-size: 26px; letter-spacing: -.03em; margin: 0 0 28px; padding-bottom: 14px; border-bottom: 4px solid var(--ox); display: inline-block; }
.auth__mark i { color: var(--ox); font-style: normal; }
.auth .display { font-size: clamp(40px, 6vw, 68px); margin: 0 0 12px; }
.auth form { margin-top: 24px; }

/* ---------- Home: public Runway 2 preview (three looks); members get the full shows instead ---------- */
.teaser__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(8px, 1.2vw, 16px); }
.teaser__look { margin: 0; }
.teaser__video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #000; }
.teaser__look figcaption { margin-top: 10px; color: rgba(241, 235, 223, .7); letter-spacing: .22em; }
.teaser__cta { display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; flex-wrap: wrap; margin-top: clamp(22px, 3vw, 36px);
  padding-top: clamp(18px, 2.4vw, 28px); border-top: 1px solid rgba(241, 235, 223, .16); }
.teaser__line { margin: 0; font-family: var(--serif); font-size: clamp(19px, 1.7vw, 24px); line-height: 1.35; color: var(--paper); max-width: 34ch; }
.teaser__cta .actions { margin: 0; }
.teaser .btn--line { color: var(--paper); border-color: rgba(241, 235, 223, .6); }
.teaser .btn--line:hover { background: var(--paper); color: var(--ink); }
@media (max-width: 700px) {
  .teaser__row { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 74%; overflow-x: auto; scroll-snap-type: x mandatory;
    margin-right: calc(-1 * var(--gut)); padding-right: var(--gut); scrollbar-width: none; }
  .teaser__row::-webkit-scrollbar { display: none; }
  .teaser__look { scroll-snap-align: start; }
  .teaser__cta .actions { width: 100%; display: grid; grid-template-columns: 1fr; gap: 10px; }
  .teaser__cta .btn { text-align: center; }
}

.auth__kicker { color: var(--ox); margin: 0 0 14px; letter-spacing: .26em; }
.auth__note { margin-top: 18px; }

/* ---- Manifesto (members) ---- */
.manifesto { padding: 24px 0 72px; }
.manifesto__title { font-size: clamp(44px, 7vw, 88px); margin: 12px 0 28px; }
.manifesto__intro p:first-child::first-letter { font-family: var(--serif, Georgia, serif); font-size: 3.2em; float: left; line-height: .9; padding: 4px 8px 0 0; color: var(--ox, #6B1F1F); }
.manifesto__list { list-style: none; padding: 0; margin: 0 0 22px; max-width: 680px; }
.manifesto__list li { font-size: 20px; line-height: 1.6; color: var(--ink-2); margin: 0 0 20px; padding-left: 20px; border-left: 3px solid var(--orange, #E8833A); }
.manifesto__list strong { color: var(--ink, #111); }

/* ---------- Seen on the Runway (free archive) ---------- */
.card--seen-on-the-runway { --tint: var(--blue); grid-column: span 6; background: #E6ECEC; }
.card--seen-on-the-runway:hover { background: #DCE5E7; }
.card--seen-on-the-runway .card__body { display: grid; grid-template-columns: 1.3fr 1fr; gap: 22px; align-items: center; }
.card--seen-on-the-runway .card__title { margin-top: 0; }
.tint-seen-on-the-runway { --tint: var(--blue); }
.seen { padding: 8px 0 40px; }
.seen__intro { margin: 8px 0 32px; color: var(--ox); }
.seen__season { margin: 28px 0 10px; color: var(--blue-ink); }
.seen__archive { margin: 48px 0 0; padding-top: 24px; border-top: 2px solid var(--ink); }
.seen__show { border-top: 1px solid var(--ink); margin-bottom: 8px; }
.seen__sum { list-style: none; cursor: pointer; display: flex; align-items: baseline; gap: 6px; padding: 18px 0; }
.seen__sum::-webkit-details-marker { display: none; }
.seen__sum:hover .seen__sumtitle { color: var(--ox); }
.seen__sumtitle { font-family: var(--serif, inherit); font-size: clamp(24px, 3vw, 34px); letter-spacing: -.01em; }
.seen__chev { margin-left: auto; width: 12px; height: 12px; border-right: 2px solid var(--ox); border-bottom: 2px solid var(--ox); transform: rotate(45deg); transition: transform .2s; align-self: center; }
.seen__show[open] .seen__chev { transform: rotate(-135deg); }
.seen__group { border-top: 1px solid var(--rule); padding: 24px 0 32px; }
.seen__head { max-width: 760px; margin-bottom: 16px; }
.seen__call { margin: 10px 0 8px; }
.seen__sig { color: var(--ox); margin: 0 0 6px; }
.seen__note { font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-ink); margin: 0; }
.seen__row { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; }
.seen__look { margin: 0; flex: none; scroll-snap-align: start; }
.seen__look img { display: block; height: clamp(240px, 34vw, 400px); width: auto; max-width: none; background: var(--paper-2); }
.seen__look--blah { padding-right: 14px; border-right: 1px solid var(--rule); }
.seen__look figcaption { display: flex; gap: 10px; align-items: baseline; padding-top: 8px; font-size: 14px; max-width: 520px; }
.seen__look .cap__no { font-family: var(--sans); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ox); white-space: nowrap; }
.seen__look--blah .cap__no { color: var(--blue-ink); }
.seen__credit { margin: 4px 0 24px; }
@media (max-width: 1080px) { .card--seen-on-the-runway { grid-column: span 2; } }
@media (max-width: 700px) {
  .card--seen-on-the-runway { grid-column: auto; }
  .card--seen-on-the-runway .card__body { grid-template-columns: 1fr; }
  .seen__look img { height: 260px; }
  .seen__look figcaption { max-width: 300px; }
}

/* /coming-soon/: black wall, pink wordmark */
.soonpage { background: #0b0a09; }
.soon { color: #efe9dd; }
.soonpage main, .soonpage .soon { background: #0b0a09; }
.soon { min-height: calc(100svh - var(--head-h, 64px)); display: grid; place-items: center; padding: 64px 24px; background: radial-gradient(ellipse at 50% 35%, #1a1816 0%, #0b0a09 70%); }
.soon__inner { text-align: center; max-width: 640px; }
.soon__mark { font-family: var(--sans); font-weight: 900; letter-spacing: -.045em; line-height: 1; font-size: clamp(72px, 16vw, 168px); color: var(--pink); margin: 0 0 28px; }
.soon__kicker { color: #b9b1a4; margin: 0 0 18px; }
.soon__list { list-style: none; padding: 0; margin: 0 0 18px; display: flex; gap: 12px 32px; justify-content: center; flex-wrap: wrap; }
.soon__season { font-family: var(--sans); font-weight: 800; font-size: clamp(28px, 5vw, 44px); letter-spacing: -.02em; color: #efe9dd; }
.soon__status { color: var(--pink); margin: 0 0 22px; }
.soon__line { color: #b9b1a4; font-size: 17px; margin: 0 0 32px; }
.soon__cta { color: #efe9dd; text-decoration: none; border-bottom: 1px solid var(--pink); padding-bottom: 2px; font-size: 15px; }
.soon__cta:hover { color: var(--pink); }
.seen__next { margin: 8px 0 24px; font-size: 14px; }
.seen__next a { color: var(--ink-2); text-decoration: none; border-bottom: 1px solid var(--pink); }
.seen__next a:hover { color: var(--pink-ink); }
.masthead__nav a.nav-next { background:#000; color:var(--pink); padding:.3em .75em; border-radius:999px; text-decoration:none; margin-left:.75em; }
.masthead__nav a.nav-next:hover { color:#fff; }

/* Intro with a photo beside the opening line (e.g. Men: popped collar). */
.sread--intro .sread__body--img { display: flex; gap: 22px; align-items: flex-start; }
.sread--intro .sread__body--img .feed__intro { text-align: left; }
.intro__img { flex: 0 0 120px; display: block; }
.intro__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 560px) { .intro__img { flex-basis: 92px; } .sread--intro .sread__body--img .feed__intro { font-size: 18px; } }
.intro__img--lg { flex-basis: 220px; }
.sread--intro:has(.intro__img--lg) { max-width: 760px; }
@media (max-width: 560px) { .sread--intro .sread__body--img:has(.intro__img--lg) { flex-direction: column; align-items: center; } .intro__img--lg { flex-basis: auto; width: 72%; } }

/* Terms of Service (/terms/) */
.terms-head .display { max-width: 18ch; }
.terms__updated { margin-top: 20px; }
.terms { border-top: 1px solid var(--rule); padding: 8px 0 72px; }
.terms__part { display: grid; grid-template-columns: 48px 1fr; gap: 12px; padding: 22px 0; border-bottom: 1px solid var(--rule-soft); max-width: 820px; }
.terms__num { padding-top: 6px; }
.terms__body p { font-size: 19px; line-height: 1.6; color: var(--ink-2); margin: 0; max-width: 680px; }
.terms__body strong { color: var(--ink); font-weight: 600; }
.terms__list { margin: 12px 0 0; padding-left: 20px; max-width: 680px; }
.terms__list li { font-size: 19px; line-height: 1.6; color: var(--ink-2); margin: 0 0 8px; }
@media (max-width: 640px) {
  .terms__part { grid-template-columns: 32px 1fr; gap: 8px; }
  .terms__body p, .terms__list li { font-size: 17px; }
}
