
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  /* Mukhaye house palette: three papers, two espresso grounds, two contextual accents. */
  --parchment: #FAF6EE;
  --parchment-warm: #EEE4D3;
  --cream: #FAF6EE;
  --white: #FFFDF8;
  --ink: #241814;
  --ink-warm: #241814;
  --ink-deep: #191310;
  --ink-soft: #3A2D28;
  --ink-muted: #6B5E52;
  --ink-light: #756A60;
  --ink-faint: #C8BFB2;
  --terracotta: #A5481C;
  --accent-on-dark: #CFA873;
  --gold: #A5481C;       /* burnished clay on paper */
  --gold-deep: #A5481C;  /* decorative marks on paper */
  --gold-light: #CFA873; /* quiet champagne on dark and photography */
  --paper-raised: #FFFDF8;
  --paper-deep: #EEE4D3;
  --dark-directory: #2B1A15;
  --dark-editorial: #241814;
  --dark-colophon: #191310;
  --light-primary: #FAF6EE;
  --light-secondary: rgba(250,246,238,.72);
  --light-muted: rgba(250,246,238,.58);
  --rule-on-dark: rgba(250,246,238,.18);

  /* ── Category accent system (D/A12) — surfaces only: eyebrows · 3px slivers · nav. NEVER as fill. ── */
  --cat-fashion:    #A5481C; /* burnished clay — Fashion / Style / Cover */
  --cat-beauty:     #8C5A2F; /* warm bronze — Beauty / Hair */
  --cat-weddings:   #6B3420; /* burgundy — Weddings */
  --cat-travel:     #4A6C5C; /* deep eucalyptus — Travel */
  --cat-culture:    #3D4F66; /* indigo — Culture / Conversation / Profile */
  --cat-wellness:   #5C6B3F; /* moss — Wellness */
  --cat-money:      #241814; /* ink — Work & Money / Business */
  --cat-home:       #7A4A2C; /* clay — Home & Table */
  --forest: #2D6A4F;
  --rule: rgba(36,24,20,.14);
  --rule-strong: rgba(36,24,20,.24);
  --serif: 'Playfair Display', Georgia, serif;
  --sans: 'Sora', -apple-system, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
}
html { scroll-behavior: smooth; }
body {
  background: var(--parchment);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
em.serif { font-family: var(--serif); }

/* ════════ CHEVRON SVG (signature mark — Great Zimbabwe reference) ════════
   Three variants only:
     B — Architectural band (filled, primary)        viewBox 120×12
     C — Outlined band (secondary, small placements) viewBox 120×12
     D — Inset band (hero closer only, taller)        viewBox 120×16
   Three canonical widths only: 96 / 120 / 180.
   Color is exclusive to the chevron — gold-deep on light, gold-light on dark.
   Always sits BELOW (closer, never opener). Max 5 deployments per page. */
.chev {
  display: inline-block;
  line-height: 0;
  color: var(--gold-deep);
}
.chev svg { display: block; width: 100%; height: auto; }
.chev--96  { width: 96px; }
.chev--120 { width: 120px; }
.chev--180 { width: 180px; }

/* On dark backgrounds, switch to gold-light (subtle drop-shadow over imagery) */
.chev--on-dark { color: var(--gold-light); }
.chev--on-image { color: var(--gold-light); filter: drop-shadow(0 1px 2px rgba(0,0,0,0.45)); }

/* Center under titles by default */
.chev--center { display: block; margin-left: auto; margin-right: auto; }

/* Hero-closer reveal — runs once when the chevron enters the viewport.
   Uses a left-to-right clip-path wipe that reveals the 12 triangles in sequence. */
.chev--reveal { clip-path: inset(0 100% 0 0); }
.chev--reveal.is-revealed {
  clip-path: inset(0 0 0 0);
  transition: clip-path 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* ════════ HEADER ════════ */
.site-header {
  background: var(--parchment);
  border-bottom: 1px solid var(--rule);
  position: sticky;
  top: 0;
  z-index: 100;
}
.header-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px 40px 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 32px;
}
.header-tools {
  display: flex;
  align-items: center;
  gap: 18px;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.header-tools__btn {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  padding: 6px 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.header-tools__btn svg {
  width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 1.4;
}
.header-right { justify-content: flex-end; }
.subscribe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--ink);
  color: var(--parchment);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: background 0.2s;
}
.subscribe-btn:hover { background: var(--terracotta); }

/* — Wordmark — */
.wordmark {
  text-align: center;
  display: block;
}
.wordmark__name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 36px;
  letter-spacing: 14px;
  text-indent: 14px;
  color: var(--ink);
  display: block;
  line-height: 1;
}
.wordmark__tag {
  font-family: var(--serif);
  font-style: italic;
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-top: 6px;
  display: block;
}

/* — Nav — */
.site-nav {
  border-top: 1px solid var(--rule);
  margin-top: 18px;
  border-top: 1px solid var(--rule);
}
.site-nav__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: center;
  gap: 36px;
}
.site-nav a {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ink-muted);
  padding: 14px 4px;
  position: relative;
  transition: color 0.2s;
}
.site-nav a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--terracotta);
  transform: scaleX(0);
  transition: transform 0.25s ease;
}
.site-nav a:hover {
  color: var(--ink);
}
.site-nav a:hover::after, .site-nav a.is-active::after { transform: scaleX(1); }
.site-nav a.is-active { color: var(--terracotta); }

/* ════════ HERO ════════
   Live styles for .hero are defined further down (search "Hero: ~94vh")
   along with the rest of the hero chrome + cover layer. */

/* ════════ SECTION SCAFFOLDING ════════ */
.container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px;
}
.section { padding: 96px 0; }
.section--tight { padding: 64px 0; }
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ink);
}
.section-head__left {
  display: flex;
  align-items: baseline;
  gap: 20px;
  flex-wrap: wrap;
}
.section-head__num {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink-light);
  letter-spacing: 1.5px;
}
.section-head__label {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.section-head__title {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.section-head__title em { font-weight: 400; }

/* ════════ HOUSE STYLE — italic terracotta accent on parchment headlines ════════
   The italicized word in any parchment-section headline renders in terracotta.
   One rule, every section. Add new headline selectors here as the page grows. */
.cover-payoff__title em,
.beauty-desk__title em,
.section-head__title em,
.wed-directory__title em,
.topshelf__title em,
.bd-item__title em,
.thursday__title em {
  color: var(--terracotta);
  font-style: italic;
  font-weight: 400;
}

/* Chevron spacing utilities (lifted from inline styles for hand-off cleanliness) */
.chev--mt-md { margin-top: 18px; }
.chev--mt-sm { margin-top: 14px; }
.chev--bottom-xs { margin-bottom: 4px; }
.chev--block-tight { display: block; margin: 12px 0 14px; }
.chev--cover-payoff { margin: 18px 0 4px; }

/* Full-bleed cover link for the travel postcard */
.travel-postcard__cover-link {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* Section-head link variant — gold copy (used over photographic / dark contexts) */
.section-head__link--gold { color: var(--gold); }
.section-head__link {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--terracotta);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: gap 0.25s ease;
}
.section-head__link:hover { gap: 12px; }
.section-head__link::after { content: '→'; font-family: var(--serif); }

/* Stacked variant — eyebrow + link on row 1, headline on row 2, chevron sits below as its own line */
.section-head--stacked {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  column-gap: 24px;
  row-gap: 14px;
  margin-bottom: 0;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--ink);
}
.section-head--stacked .section-head__label { grid-column: 1; grid-row: 1; }
.section-head--stacked .section-head__link  { grid-column: 2; grid-row: 1; align-self: center; }
.section-head--stacked .section-head__title { grid-column: 1 / -1; grid-row: 2; margin: 0; }
.weddings-section__chev {
  display: block;
  margin: 22px 0 36px;
}

/* ════════ TRAVEL POSTCARD — single luxe pause ════════ */
.travel-postcard {
  position: relative;
  height: 90vh;
  min-height: 640px;
  overflow: hidden;
  background: #000;
}
.travel-postcard__image {
  position: absolute;
  inset: 0;
  background: url('../homepage/assets/victoria-falls.jpg') center / cover no-repeat;
  filter: brightness(0.75);
  transform: scale(1.02);
  transition: transform 4s cubic-bezier(0.16, 1, 0.3, 1);
}
.travel-postcard:hover .travel-postcard__image { transform: scale(1.06); }
.travel-postcard__inner {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
}
.travel-postcard__inner-content {
  color: #fff;
  max-width: 880px;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.travel-postcard__eyebrow {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--gold);
}
.travel-postcard__title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(56px, 8vw, 132px);
  line-height: 0.92;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.travel-postcard__title em { font-style: italic; }
.travel-postcard__deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: 19px;
  line-height: 1.5;
  color: rgba(255,255,255,0.85);
  max-width: 560px;
}
.travel-postcard__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.5);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  transition: gap 0.25s, border-color 0.25s;
}
.travel-postcard__cta:hover { gap: 16px; border-color: var(--gold); color: var(--gold); }

/* ════════ THURSDAY LETTER ════════ */
.thursday {
  background: var(--parchment-warm);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 0;
}
.thursday__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  min-height: 600px;
}
.thursday__copy {
  padding: 72px 56px 72px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}
.thursday__eyebrow {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.thursday__title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 4.5vw, 60px);
  line-height: 1;
  letter-spacing: -0.025em;
}
.thursday__body {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.5;
  color: var(--ink-muted);
  max-width: 460px;
  margin-top: 4px;
}
.thursday__form {
  display: flex;
  margin-top: 20px;
  max-width: 500px;
}
.thursday__input {
  flex: 1;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--ink);
  border-right: none;
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
  outline: none;
}
.thursday__input::placeholder {
  font-family: var(--serif);
  font-style: italic;
  color: var(--ink-light);
}
.thursday__btn {
  padding: 16px 28px;
  background: var(--ink);
  color: var(--parchment);
  border: 1px solid var(--ink);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
}
.thursday__btn:hover { background: var(--terracotta); border-color: var(--terracotta); }
.thursday__signers {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.thursday__signers em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}

/* Single-column centered variant */
.thursday__inner--single {
  grid-template-columns: 1fr;
  min-height: auto;
}
.thursday__copy--centered {
  max-width: 720px;
  margin: 0 auto;
  padding: 96px 40px;
  text-align: center;
  align-items: center;
}
.thursday__copy--centered .thursday__body {
  max-width: 540px;
  text-wrap: pretty;
}
.thursday__copy--centered .thursday__form {
  width: 100%;
  max-width: 520px;
  margin-top: 28px;
}
.thursday__copy--centered .thursday__signers {
  justify-content: center;
}
@media (max-width: 720px) {
  .thursday__copy--centered { padding: 64px 24px; }
  .thursday__copy--centered .thursday__form { flex-direction: column; gap: 0; }
  .thursday__copy--centered .thursday__input { border-right: 1px solid var(--ink); }
  .thursday__copy--centered .thursday__btn { border-top: none; }
}

/* Sample issue preview */
.thursday__sample {
  background: #fff;
  padding: 56px 56px;
  border-left: 1px solid var(--ink);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.thursday__sample::before {
  content: '';
  position: absolute;
  top: 24px; right: 24px;
  width: 72px;
  height: 1px;
  background: var(--terracotta);
}
.thursday__sample-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-bottom: 12px;
}
.thursday__sample-date {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  color: var(--ink-light);
  margin-bottom: 18px;
}
.thursday__sample-subject {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin-bottom: 18px;
  text-wrap: balance;
}
.thursday__sample-body {
  font-family: var(--serif);
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ink-soft);
  margin-bottom: 14px;
}
.thursday__sample-body em { font-style: italic; }
.thursday__sample-sig {
  font-family: var(--serif);
  font-style: italic;
  font-size: 19px;
  color: var(--ink);
  margin-top: 16px;
}

/* ════════ FOOTER ════════ */
.site-footer {
  background: var(--ink);
  color: var(--parchment);
  padding: 80px 0 36px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(250,246,238,0.1);
}
.footer-brand-name {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 10px;
  text-indent: 0;
  margin-left: -1px;
  margin-bottom: 16px;
}
.footer-brand-tag {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  text-wrap: balance;
}
.footer-brand-desc {
  font-family: var(--serif);
  font-style: italic;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(250,246,238,0.55);
  max-width: 320px;
  margin-bottom: 16px;
}
.footer-issue {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
}
.footer-contacts {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 248, 232, 0.14);
}
.footer-contacts__title {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.footer-contacts__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 7px;
}
.footer-contacts__list li {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  align-items: baseline;
  font-family: var(--serif);
  font-size: 13.5px;
  line-height: 1.4;
}
.footer-contacts__list li > span {
  font-style: italic;
  color: rgba(255, 248, 232, 0.55);
  font-size: 12.5px;
}
.footer-contacts__list a {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--accent-on-dark);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 248, 232, 0.18);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
  word-break: break-all;
}
.footer-contacts__list a:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}
.footer-bottom__link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 248, 232, 0.25);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.footer-bottom__link:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}
@media (max-width: 700px) {
  .footer-contacts__list li {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
.footer-col-title {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
}
.footer-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-links a {
  font-family: var(--serif);
  font-size: 16px;
  color: rgba(250,246,238,0.65);
  transition: color 0.2s;
}
.footer-links a:hover { color: var(--gold); }
.footer-bottom {
  padding-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  align-items: center;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(250,246,238,0.35);
}
.footer-social { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.footer-social a { white-space: nowrap; }
.footer-social a:hover { color: var(--gold); }

/* ════════ DIVIDER (chevron beat between sections) ════════ */
.beat {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 36px 0;
  background: var(--parchment);
}

/* ════════ RESPONSIVE ════════ */
@media (max-width: 1100px) {
  .latest-row__list { grid-template-columns: repeat(2, 1fr); }
  .latest-row__list li:nth-child(2) { border-right: none; padding-right: 0; }
  .latest-row__list li:nth-child(3) { border-top: 1px solid rgba(28,20,16,0.14); padding-top: 22px; padding-left: 0; }
  .latest-row__list li:nth-child(4) { border-top: 1px solid rgba(28,20,16,0.14); padding-top: 22px; }
  .cover-headline__inner { grid-template-columns: 1fr; gap: 24px; }
  .cover-headline__meta { border-right: none; border-bottom: 1px solid rgba(28,20,16,0.15); padding-right: 0; padding-bottom: 16px; flex-direction: row; flex-wrap: wrap; gap: 16px; }
  .directory-grid { grid-template-columns: repeat(2, 1fr); }
  .lead-pair { grid-template-columns: 1fr; }
  .real-wedding__inner { grid-template-columns: 1fr; min-height: auto; }
  .real-wedding__image { aspect-ratio: 3/2; margin-left: 0; }
  .real-wedding__text { padding: 56px 40px; }
  .beauty-grid { grid-template-columns: repeat(2, 1fr); }
  .shelf-grid { grid-template-columns: repeat(3, 1fr); }
  .contributors__grid { grid-template-columns: repeat(3, 1fr); }
  .thursday__inner { grid-template-columns: 1fr; }
  .thursday__sample { border-left: none; border-top: 1px solid var(--ink); }
  .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .container, .header-inner, .site-nav__inner, .real-wedding__inner { padding-left: 24px; padding-right: 24px; }
  .header-inner { grid-template-columns: 1fr; gap: 16px; padding-top: 16px; }
  .header-tools, .header-right { justify-content: center; }
  .site-nav__inner { gap: 18px; overflow-x: auto; justify-content: flex-start; padding-bottom: 0; -webkit-overflow-scrolling: touch; }
  .wordmark__name { font-size: 28px; letter-spacing: 10px; }
  .hero { min-height: 480px; height: 70vh; }
  .cover-headline { padding: 48px 0 40px; }
  .cover-headline__inner { padding: 0 24px; }
  .latest-row__inner { padding: 0 24px; }
  .latest-row__list { grid-template-columns: 1fr; }
  .latest-row__list li { border-right: none; padding: 18px 0; border-bottom: 1px solid rgba(28,20,16,0.14); }
  .latest-row__list li:last-child { border-bottom: none; }
  .latest-row__list li + li { padding-left: 0; }
  .section { padding: 64px 0; }
  .directory-rail { padding: 48px 0; }
  .directory-rail__head { flex-direction: column; align-items: flex-start; }
  .section-head { flex-direction: column; align-items: flex-start; }
  .directory-grid { grid-template-columns: 1fr; }
  .real-wedding__credits-list { grid-template-columns: 1fr; }
  .real-wedding__couple { font-size: 48px; }
  .beauty-grid { grid-template-columns: 1fr; }
  .shelf-grid { grid-template-columns: 1fr 1fr; }
  .contributors__grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .thursday__copy, .thursday__sample { padding: 48px 24px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 16px; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════════
   V7 HERO — Reference 1 pivot
   Headline ON the photograph, small wordmark inside hero,
   text-only latest-stories rail top-right, byline below headline.
   ═══════════════════════════════════════════════════════════════════ */

/* Hide the v6 parchment header band on v7 — wordmark moves into the hero */
body { background: var(--ink); }
.site-header { display: none; }
.site-nav { display: none; }
/* Hero: ~94vh so a sliver of the cover-payoff eyebrow peeks above the fold */
.hero {
  position: relative;
  width: 100%;
  height: 94vh;
  min-height: 720px;
  max-height: none;
  aspect-ratio: auto;
  overflow: hidden;
  background: #0e0805;
}
.hero__image {
  position: absolute;
  inset: 0;
  background: url('../homepage/assets/MUKHAYE-0116.jpg') 50% 14% / cover no-repeat;
}
.hero__cover-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}
/* Bottom gradient for headline legibility, top gradient for wordmark legibility */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(14,8,5,0.55) 0%,
      rgba(14,8,5,0.0) 18%,
      rgba(14,8,5,0.0) 50%,
      rgba(14,8,5,0.78) 95%,
      rgba(14,8,5,0.92) 100%),
    linear-gradient(to right,
      rgba(14,8,5,0.55) 0%,
      rgba(14,8,5,0.0) 38%);
  z-index: 1;
  pointer-events: none;
}
/* Film grain — fine fractal-noise overlay, sits above the image, below all text */
.hero::after {
  content: '';
  position: absolute;
  inset: -40%;
  z-index: 1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  opacity: 0.09;
  mix-blend-mode: overlay;
}
@media (prefers-reduced-motion: no-preference) {
  body.cover-mode .hero::after { animation: hero-grain 1.1s steps(5) infinite; }
}
@keyframes hero-grain {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(-3%, 2%); }
  40%  { transform: translate(2%, -3%); }
  60%  { transform: translate(-2%, -2%); }
  80%  { transform: translate(3%, 2%); }
  100% { transform: translate(0, 0); }
}

/* Wordmark + nav INSIDE the hero, top-center-ish */
.hero-chrome {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 3;
  padding: 44px 40px 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}
.hero-chrome__right-spacer {
  display: flex;
  justify-content: flex-end;
  color: var(--accent-on-dark);
}
.hero-chrome__right-spacer svg { width: 28px; height: 5px; }
.hero-chrome__left {
  display: flex;
  align-items: center;
  gap: 24px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
}
.hero-chrome__menu-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  padding: 0;
}
.hero-chrome__menu-btn svg { width: 18px; height: 12px; }
.hero-chrome__wordmark {
  text-align: center;
  color: #fff;
  text-decoration: none;
}
.hero-chrome__wordmark-name {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 12px;
  display: inline-block;
  padding-left: 12px;  /* compensate so it looks centered with letter-spacing */
}
.hero-chrome__right {
  /* Latest Stories rail */
  text-align: right;
  color: #fff;
  max-width: 320px;
  margin-left: auto;
}
.hero-chrome__right-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--accent-on-dark);
  margin-bottom: 6px;
  display: block;
}
.hero-chrome__right-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}
.hero-chrome__right-list li a {
  font-family: var(--serif);
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.35;
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  transition: color 0.2s;
}
.hero-chrome__right-list li a:hover { color: var(--accent-on-dark); }
.hero-chrome__right-chev {
  display: block;
  margin-bottom: 4px;
  color: var(--accent-on-dark);
}
.hero-chrome__right-chev svg { width: 36px; height: 5px; }

/* Right-side issue marker, balances the menu button on the left */
.hero-chrome__issue {
  justify-self: end;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  line-height: 1.2;
  white-space: nowrap;
}
.hero-chrome__issue em {
  color: var(--accent-on-dark);
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: none;
}

/* Cover block — anchored bottom-right, ON the image */
.hero-cover {
  position: absolute;
  bottom: 56px;
  right: 64px;
  left: auto;
  z-index: 2;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: 14px;
  max-width: 760px;
}

/* A11 — Fashion-masthead credits inside the hero (photographer + stylist equal) */
.hero-cover__masthead {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0;
  margin-top: 4px;
  border-top: 1px solid rgba(255,255,255,0.28);
  padding-top: 14px;
  width: 100%;
  max-width: 720px;
}
.hero-cover__masthead-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 0 22px;
  border-right: 1px solid rgba(255,255,255,0.22);
  min-width: 140px;
}
.hero-cover__masthead-item:last-child { border-right: none; padding-right: 0; }
.hero-cover__masthead-item:first-child { padding-left: 0; }
.hero-cover__masthead-role {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.66);
  margin-bottom: 4px;
}
.hero-cover__masthead-name {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: #fff;
  letter-spacing: 0;
}
@media (max-width: 700px) {
  .hero-cover__masthead { gap: 12px; flex-direction: column; align-items: flex-end; }
  .hero-cover__masthead-item { border-right: none; padding: 0; min-width: 0; align-items: flex-end; text-align: right; }
}
.hero-cover__headline {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(74px, 8.4vw, 148px);
  line-height: 0.86;
  letter-spacing: -0.04em;
  margin: 0;
  text-wrap: balance;
}
.hero-cover__headline em {
  font-weight: 400;
  font-style: italic;
  display: block;
}
.hero-cover__deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.4;
  color: rgba(255,255,255,0.92);
  margin: 0;
  max-width: 620px;
  text-wrap: pretty;
}
.hero-cover__byline {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 6px;
}
.hero-cover__byline em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: #fff;
}
.hero-cover__byline-sep {
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--accent-on-dark);
}

/* Hero CTA — subtle, single, under the deck */
.hero-cover__cta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0 6px;
  margin-top: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.55);
  transition: border-color 0.2s, gap 0.2s, color 0.2s;
}
.hero-cover__cta span {
  font-family: var(--serif);
  font-size: 14px;
  letter-spacing: 0;
  transition: transform 0.25s ease;
  display: inline-block;
}
.hero-cover__cta:hover {
  border-color: #fff;
  gap: 14px;
}
.hero-cover__cta:hover span { transform: translateX(2px); }

/* Nav: "The Directory" treated as a business action, not a category */
.site-nav a.site-nav__directory {
  color: var(--ink);
  background: var(--ink);
  color: var(--parchment);
  padding: 8px 14px;
  margin-left: 8px;
  border-radius: 999px;
  letter-spacing: 1.6px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s, color 0.2s;
}
.site-nav a.site-nav__directory span {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  transition: transform 0.25s ease;
  display: inline-block;
}
.site-nav a.site-nav__directory::after { display: none; }
.site-nav a.site-nav__directory:hover {
  background: var(--terracotta);
  color: #fff;
}
.site-nav a.site-nav__directory:hover span { transform: translate(2px, -2px); }

/* Hide v6's parchment cover-headline section — its job is now in the hero */
.cover-headline { display: none; }

/* The first content section (Also in May) sits on parchment with a clean break */
.also-in-may { background: var(--parchment); }

/* Body backgrounds: most non-hero sections expect parchment, restore that */
.also-in-may, .directory-rail, .beauty-section, .travel-postcard,
.thursday, .footer { /* keep their existing bg colors from v6 */ }

@media (max-width: 900px) {
  .hero { height: auto; min-height: 0; }
  .hero__image { position: relative; aspect-ratio: 4/5; }
  .hero::before { display: none; }
  .hero-chrome { position: relative; padding: 16px 20px; background: var(--ink); grid-template-columns: 1fr auto 1fr; }
  .hero-chrome__right { display: none; }
  .hero-chrome__issue { display: none; }
  .hero-cover {
    position: relative;
    bottom: auto; left: auto; right: auto;
    background: var(--ink);
    padding: 32px 20px 40px;
    color: #fff;
    max-width: none;
  }
  /* Headline clamp floor is 74px on desktop; on phones "Corporate" overruns */
  .hero-cover__headline { font-size: clamp(48px, 13vw, 88px); letter-spacing: -0.03em; }
  .hero-cover__deck { font-size: 16px; }
}

/* Stacked section-head (Weddings) needs to break to one column on phones,
   otherwise the "All Wedding Stories" link fights the eyebrow for space */
@media (max-width: 700px) {
  .section-head--stacked { grid-template-columns: 1fr; row-gap: 6px; padding-bottom: 18px; }
  .section-head--stacked .section-head__label { grid-column: 1; grid-row: 1; }
  .section-head--stacked .section-head__link  { grid-column: 1; grid-row: 2; justify-self: start; }
  .section-head--stacked .section-head__title { grid-column: 1; grid-row: 3; }
  /* Weddings stack: at 700–1100 it forces two cards into a half-width row;
     stack vertically across the whole tablet band so each card has room */
  .weddings-stack { flex-direction: column; }
}


/* ════════ CATEGORY ACCENT SYSTEM (D/A12) ════════ */
/* Category-tinted eyebrows (override --terracotta default) */
.cat-fashion   { color: var(--cat-fashion)   !important; }
.cat-beauty    { color: var(--cat-beauty)    !important; }
.cat-weddings  { color: var(--cat-weddings)  !important; }
.cat-travel    { color: var(--cat-travel)    !important; }
.cat-culture   { color: var(--cat-culture)   !important; }
.cat-wellness  { color: var(--cat-wellness)  !important; }
.cat-money     { color: var(--cat-money)     !important; }
.cat-home      { color: var(--cat-home)      !important; }

/* 3px sliver on bottom edge of card images — colored by adjacent eyebrow category */
.has-sliver { position: relative; }
.has-sliver::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--sliver, var(--terracotta));
  z-index: 3;
}
.sliver--fashion   { --sliver: var(--cat-fashion);   }
.sliver--beauty    { --sliver: var(--cat-beauty);    }
.sliver--weddings  { --sliver: var(--cat-weddings);  }
.sliver--travel    { --sliver: var(--cat-travel);    }
.sliver--culture   { --sliver: var(--cat-culture);   }
.sliver--wellness  { --sliver: var(--cat-wellness);  }
.sliver--money     { --sliver: var(--cat-money);     }
.sliver--home      { --sliver: var(--cat-home);      }

/* ════════ THE BEAUTY DESK — Into the Gloss vibe ════════ */
.beauty-desk {
  background: var(--white);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.beauty-desk__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 28px;
  margin-bottom: 48px;
  border-bottom: 1px solid var(--ink);
}
.beauty-desk__eyebrow {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--terracotta);
  display: block;
  margin-bottom: 10px;
}
.beauty-desk__title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(40px, 5.2vw, 76px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.beauty-desk__deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink-muted);
  margin-top: 12px;
  max-width: 540px;
}
.beauty-desk__more {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--terracotta);
  white-space: nowrap;
  border-bottom: 1px solid var(--terracotta);
  padding-bottom: 4px;
  flex-shrink: 0;
}
/* Side-by-side: Detail (left, anchor portrait + body) | Also-In stack (right) */
.beauty-desk__layout {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
}
.beauty-desk__detail {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.beauty-desk__detail .topshelf__frame { padding: 0; border: none; box-shadow: none; background: transparent; }
.beauty-desk__detail .topshelf__image {
  aspect-ratio: 4 / 5;
  width: 100%;
  max-width: 460px;
  position: relative;
}
.beauty-desk__detail .topshelf__badge {
  top: 24px;
  left: 24px;
  z-index: 3;
}
.beauty-desk__detail .topshelf__body {
  padding: 0;
  justify-content: flex-start;
  gap: 18px;
  max-width: 460px;
}
.beauty-desk__detail .topshelf__title {
  font-size: clamp(30px, 2.6vw, 40px);
  line-height: 1.06;
}
.beauty-desk__detail .topshelf__deck {
  font-size: 17px;
  line-height: 1.6;
}

/* Also-In side column */
.beauty-desk__also-rule {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 24px;
  margin-bottom: 36px;
}
.beauty-desk__also-label {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--ink-light);
}
.beauty-desk__also-rule::after {
  content: '';
  height: 1px;
  background: rgba(28,20,16,0.18);
}
.beauty-desk__also {
  display: flex;
  flex-direction: column;
}

/* Stacked items in side column — dividers between */
.beauty-desk__also .bd-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(28,20,16,0.12);
}
.beauty-desk__also .bd-item:first-child { padding-top: 0; }
.beauty-desk__also .bd-item:last-child { border-bottom: none; padding-bottom: 0; }
.beauty-desk__also .bd-item__cat { color: var(--terracotta); margin-bottom: 0; }
.beauty-desk__also .bd-item__title {
  font-size: clamp(22px, 1.65vw, 26px);
  line-height: 1.18;
}
.beauty-desk__also .bd-item__deck {
  font-size: 15.5px;
  line-height: 1.55;
}

/* THE DETAIL feature card */
.topshelf__frame {
  position: relative;
  background: #fff;
  border: 1px solid rgba(28,20,16,0.18);
  padding: 14px 14px 0;
  box-shadow: 0 24px 64px -32px rgba(28,20,16,0.35);
}
.topshelf__badge {
  position: absolute;
  top: -12px;
  left: 24px;
  background: var(--terracotta);
  color: var(--parchment);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 12px;
  z-index: 2;
}
.topshelf__image {
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
.topshelf__image img { transition: transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.topshelf:hover .topshelf__image img { transform: scale(1.03); }
.topshelf { position: relative; }
.topshelf__cover-link {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}
/* Inline CTA must sit above the cover-link so its hover/click reads */
.topshelf__cta { position: relative; z-index: 5; }
.topshelf__body {
  padding: 28px 4px 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.topshelf__cat {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.topshelf__title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(28px, 2.8vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.018em;
  color: var(--ink);
  text-wrap: balance;
}
.topshelf__deck {
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-soft);
}
.topshelf__byline {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink-light);
}
.topshelf__byline em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 12.5px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}
.topshelf__cta {
  align-self: flex-start;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
  padding-bottom: 4px;
  margin-top: 6px;
  transition: color 0.2s, border-color 0.2s;
}
.topshelf__cta:hover { color: var(--terracotta); border-color: var(--terracotta); }

/* Stack (text-only confessionals) */
.beauty-desk__stack {
  display: flex;
  flex-direction: column;
}
/* Confessional list items — single-column flex now (numbers gone) */
.bd-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(28,20,16,0.14);
}
.bd-item:first-child { padding-top: 4px; }
.bd-item:last-child { border-bottom: none; }
.bd-item__num {
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  color: var(--terracotta);
  grid-row: 1 / 4;
}
.bd-item__cat {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-bottom: 6px;
}
.bd-item__title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 26px;
  line-height: 1.18;
  letter-spacing: -0.012em;
  color: var(--ink);
  margin-bottom: 10px;
  text-wrap: balance;
  transition: color 0.2s;
}
.bd-item:hover .bd-item__title { color: var(--terracotta); }
a.bd-item, a.bd-item:visited { color: inherit; text-decoration: none; }
a.bd-item--link { cursor: pointer; }
.bd-item__deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--ink-muted);
  margin-bottom: 10px;
  max-width: 520px;
}
.bd-item__byline {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--ink-light);
}
.bd-item__byline em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}
@media (max-width: 1100px) {
  .beauty-desk__layout { grid-template-columns: 1fr; gap: 56px; }
  .beauty-desk__detail .topshelf__image { aspect-ratio: 4 / 5; max-width: 420px; }
  .beauty-desk__detail .topshelf__body { max-width: none; }
  .beauty-desk__head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
  .beauty-desk__layout { gap: 40px; }
}

/* ════════ SILENT MOMENT — full-bleed Noella portrait, no CTA ════════ */
.silent-moment {
  position: relative;
  height: 100vh;
  min-height: 680px;
  background: #000;
  overflow: hidden;
}
.silent-moment__image {
  position: absolute;
  inset: 0;
  background: url('../homepage/assets/noella-musunka.jpg') center 15% / cover no-repeat;
  filter: brightness(0.82);
}
.silent-moment::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,0.65) 100%);
  z-index: 1;
  pointer-events: none;
}
.silent-moment__cover-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
}
.silent-moment__plate {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 0 40px 88px;
  text-align: center;
  color: #fff;
  z-index: 3;
  pointer-events: none;
}
.silent-moment__plate > * { pointer-events: auto; }
.silent-moment__eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 8px 16px;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,0.2);
}
.silent-moment__name {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(56px, 11vw, 168px);
  line-height: 0.9;
  letter-spacing: -0.025em;
  margin: 0;
  text-align: center;
}
.silent-moment__name em { font-style: italic; }
.silent-moment__deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.5;
  color: rgba(255,255,255,0.92);
  max-width: 620px;
  margin: 18px auto 0;
  text-wrap: pretty;
  text-shadow: 0 2px 24px rgba(0,0,0,0.5);
}
.silent-moment__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 32px;
  padding: 14px 26px;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.5);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  transition: background 0.25s, border-color 0.25s, gap 0.25s, color 0.25s;
}
.silent-moment__cta:hover {
  gap: 16px;
  background: rgba(255,255,255,0.18);
  border-color: #fff;
  color: var(--gold);
}

/* — Full-bleed caption: spans edge-to-edge across the portrait — */
.silent-moment__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 64px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  padding: 0 40px;
  color: #FAF6EE;
  pointer-events: none;
  text-shadow: 0 2px 18px rgba(0,0,0,0.55);
}
.silent-moment__caption-name {
  font-size: clamp(56px, 9vw, 132px) !important;
  line-height: 1 !important;
  margin: clamp(10px, 1.4vw, 20px) 0 clamp(14px, 1.8vw, 26px) !important;
}
.silent-moment__caption-eyebrow {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: rgba(250,246,238,0.78);
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(250,246,238,0.28);
}
.silent-moment__caption-name {
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 0.96;
  letter-spacing: -0.02em;
}
.silent-moment__caption-link {
  pointer-events: auto;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: #FAF6EE;
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(250,246,238,0.4);
  margin-top: 0;
  transition: border-color 0.2s;
}
.silent-moment__caption-link:hover { border-bottom-color: #FAF6EE; }
@media (max-width: 700px) {
  .silent-moment__caption { bottom: 32px; gap: 10px; }
}

/* ════════ THE WEDDING DIRECTORY ════════ */
.wed-directory {
  background: var(--parchment);
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 80px 0 88px;
}
.wed-directory__head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--rule-strong);
  align-items: end;
}
.wed-directory__eyebrow {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--terracotta);
  display: block;
  margin-bottom: 10px;
}
.wed-directory__title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(36px, 4.4vw, 56px);
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--ink);
  text-wrap: balance;
}
.wed-directory__deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink-muted);
  margin-top: 14px;
  max-width: 480px;
}
.wed-directory__head-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 18px;
}
.wed-directory__bignum {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: 6px;
}
.wed-directory__bignum-figure {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(96px, 11vw, 152px);
  line-height: 0.88;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.wed-directory__bignum-line {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.3;
  color: var(--ink);
  max-width: 320px;
}
.wed-directory__stats {
  display: flex;
  gap: 28px;
}
.wed-directory__stats div {
  text-align: right;
  border-right: 1px solid rgba(28,20,16,0.18);
  padding-right: 28px;
}
.wed-directory__stats div:last-child { border-right: none; padding-right: 0; }
.wed-directory__stats em {
  display: block;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  font-size: 32px;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 4px;
}
.wed-directory__stats span {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--ink-light);
}
.wed-directory__more {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--terracotta);
  border-bottom: 1px solid var(--terracotta);
  padding-bottom: 4px;
}
.wed-directory__primary-cta {
  align-self: flex-start;
  display: inline-block;
  margin-top: 22px;
  padding: 14px 26px;
  background: var(--ink);
  color: var(--parchment);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  transition: background 0.2s, color 0.2s;
}
.wed-directory__primary-cta:hover { background: var(--terracotta); color: #fff; }
.wed-directory__head-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.wed-directory__browse {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(28,20,16,0.18);
}
.wed-directory__browse-label {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ink-light);
  display: block;
  margin-bottom: 12px;
}
.wed-directory__browse-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.wed-directory__browse-list a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--serif);
  font-size: 16px;
  color: var(--ink);
  padding: 4px 0;
  border-bottom: 1px dotted rgba(28,20,16,0.2);
  transition: color 0.2s, border-color 0.2s;
}
.wed-directory__browse-list a:hover { color: var(--terracotta); border-color: var(--terracotta); }
.wed-directory__browse-list em {
  font-family: var(--mono);
  font-style: normal;
  font-size: 10px;
  letter-spacing: 1px;
  color: var(--ink-light);
}
.wed-directory__featured-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-top: 8px;
}
.wed-directory__featured-label {
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  color: var(--ink);
}
.wed-directory__featured-label::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background: var(--terracotta);
  border-radius: 50%;
  margin-right: 12px;
  transform: translateY(-3px);
}
.wed-directory__featured-link {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--terracotta);
  border-bottom: 1px solid var(--terracotta);
  padding-bottom: 3px;
}
.wed-directory__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 56px;
}
.wd-card {
  background: #fff;
  border: 1px solid var(--rule);
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.wd-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -28px rgba(28,20,16,0.4);
}
.wd-card__image {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.wd-card__image img { transition: transform 0.6s ease; }
.wd-card:hover .wd-card__image img { transform: scale(1.05); }
.wd-card__pin {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--terracotta);
  color: var(--parchment);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 9px;
  z-index: 2;
}
.wd-card__body {
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.wd-card__cat {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-bottom: 6px;
}
.wd-card__name {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin-bottom: 6px;
}
.wd-card__loc {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-bottom: 14px;
}
.wd-card__note {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-muted);
  border-top: 1px solid var(--rule);
  padding-top: 12px;
}
.wd-card__note em {
  font-family: var(--mono);
  font-style: normal;
  font-size: 9.5px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--ink-light);
  display: inline-block;
  margin-right: 4px;
}
.wed-directory__foot {
  background: var(--ink);
  color: var(--parchment);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 32px 40px;
}
.wed-directory__foot-copy h3 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.15;
  margin-bottom: 4px;
  color: #fff;
}
.wed-directory__foot-copy p {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  color: rgba(245,235,220,0.7);
}
.wed-directory__foot-cta {
  background: var(--terracotta);
  color: var(--parchment);
  padding: 14px 24px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background 0.2s;
}
.wed-directory__foot-cta:hover { background: #D4561C; }
@media (max-width: 1100px) {
  .wed-directory__grid { grid-template-columns: repeat(2, 1fr); }
  .wed-directory__head { grid-template-columns: 1fr; }
  .wed-directory__head-right { align-items: flex-start; }
  .wed-directory__browse { width: 100%; }
}
@media (max-width: 700px) {
  .wed-directory__grid { grid-template-columns: 1fr; }
  .wed-directory__foot { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .wed-directory__stats { flex-wrap: wrap; gap: 18px; }
  .wed-directory__stats div { padding-right: 18px; }
}

/* ════════ MENU OVERLAY — Airmail-style full-bleed parchment ════════ */
.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: var(--parchment);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 0.45s;
  overflow-y: auto;
}
.menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), visibility 0s;
}
.menu-overlay__chrome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 36px 56px 0;
  flex-shrink: 0;
}
.menu-overlay__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.menu-overlay__wordmark {
  font-family: var(--serif);
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 9px;
  text-indent: 9px;
  color: var(--ink);
  text-decoration: none;
}
.menu-overlay__tag {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--ink-light);
}
.menu-overlay__close {
  background: transparent;
  border: 1px solid rgba(28,20,16,0.25);
  color: var(--ink);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  padding: 10px 16px 10px 32px;
  cursor: pointer;
  position: relative;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.menu-overlay__close::before {
  content: '';
  position: absolute;
  left: 14px; top: 50%;
  width: 12px; height: 1px;
  background: currentColor;
  transform: translateY(-50%) rotate(45deg);
  box-shadow: 0 0 0 currentColor;
}
.menu-overlay__close::after {
  content: '';
  position: absolute;
  left: 14px; top: 50%;
  width: 12px; height: 1px;
  background: currentColor;
  transform: translateY(-50%) rotate(-45deg);
}
.menu-overlay__close:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--parchment);
}

.menu-overlay__main {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 56px;
}
.menu-overlay__sections {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 64px;
  width: 100%;
  max-width: 1100px;
}
.menu-overlay__sections li {
  border-bottom: 1px solid rgba(28,20,16,0.14);
}
.menu-overlay__sections a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 0;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(38px, 4.2vw, 56px);
  letter-spacing: -0.01em;
  line-height: 1;
  color: var(--ink);
  text-decoration: none;
  transition: color 0.25s, padding-left 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.menu-overlay__sections a em {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
}
.menu-overlay__arrow {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 400;
  font-size: 0.6em;
  line-height: 1;
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 0.25s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s;
  color: var(--terracotta);
  align-self: center;
}
.menu-overlay__sections a:hover {
  padding-left: 18px;
}
.menu-overlay__sections a:hover .menu-overlay__arrow {
  opacity: 1;
  transform: translateX(0);
}
/* Per-category hover colors — teaches the system one row at a time */
.menu-cat--beauty   a:hover { color: var(--cat-beauty);   }
.menu-cat--style    a:hover { color: var(--cat-fashion);  }
.menu-cat--weddings a:hover { color: var(--cat-weddings); }
.menu-cat--wellness a:hover { color: var(--cat-wellness); }
.menu-cat--travel   a:hover { color: var(--cat-travel);   }
.menu-cat--culture  a:hover { color: var(--cat-culture);  }
.menu-cat--letter   a:hover { color: var(--terracotta);   }
.menu-cat--letter .menu-overlay__label em { font-family: 'Bodoni Moda','Cormorant Garamond','Playfair Display',serif; font-style: italic; font-weight: 400; color: var(--terracotta); margin-left: 0.4em; }
.menu-cat--home     a:hover { color: var(--cat-home);     }
.menu-cat--work     a:hover { color: var(--cat-money);    }

/* ── Top bar: search + Directory pill ── */
.menu-overlay__topbar {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  width: 100%;
  max-width: 1100px;
  margin-bottom: 40px;
  align-items: center;
}
.menu-overlay__search {
  position: relative;
  display: flex;
  align-items: center;
}
.menu-overlay__search-icon {
  position: absolute;
  left: 0;
  width: 18px;
  height: 18px;
  color: var(--ink-light);
  pointer-events: none;
}
.menu-overlay__search-input {
  width: 100%;
  padding: 10px 90px 10px 30px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(28,20,16,0.18);
  font-family: var(--serif);
  font-style: italic;
  font-size: 20px;
  color: var(--ink);
  outline: none;
  transition: border-color 0.2s;
}
.menu-overlay__search-input::placeholder {
  color: var(--ink-light);
  font-style: italic;
}
.menu-overlay__search-input:focus { border-bottom-color: var(--ink); }
.menu-overlay__search-submit {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--terracotta);
  padding: 6px 0 6px 14px;
  cursor: pointer;
  transition: color 0.2s, gap 0.2s;
}
.menu-overlay__search-submit:hover { color: var(--ink); }

.menu-overlay__directory-pill {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 22px;
  background: var(--ink);
  color: var(--parchment);
  text-decoration: none;
  border-radius: 999px;
  transition: background 0.2s;
}
.menu-overlay__directory-pill:hover { background: var(--terracotta); }
.menu-overlay__directory-pill-eyebrow {
  font-family: var(--mono);
  font-size: 8.5px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  opacity: 0.6;
}
.menu-overlay__directory-pill-title {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0;
}
.menu-overlay__directory-pill-arrow { font-style: normal; }

.menu-overlay__footer {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 56px;
  padding: 32px 56px 40px;
  border-top: 1px solid rgba(28,20,16,0.14);
  flex-shrink: 0;
  align-items: end;
}

/* ── Thursday Letter card ── */
.menu-overlay__letter-eyebrow {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-bottom: 12px;
}
.menu-overlay__letter-deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.4;
  color: var(--ink);
  margin: 0 0 16px;
  max-width: 540px;
  text-wrap: pretty;
}
.menu-overlay__letter-form {
  display: flex;
  gap: 0;
  max-width: 460px;
  border-bottom: 1px solid var(--ink);
}
.menu-overlay__letter-input {
  flex: 1;
  padding: 10px 0;
  background: transparent;
  border: none;
  font-family: var(--serif);
  font-style: italic;
  font-size: 17px;
  color: var(--ink);
  outline: none;
}
.menu-overlay__letter-input::placeholder {
  color: var(--ink-light);
  font-style: italic;
}
.menu-overlay__letter-submit {
  background: transparent;
  border: none;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--ink);
  padding: 10px 0 10px 16px;
  cursor: pointer;
  transition: color 0.2s;
}
.menu-overlay__letter-submit:hover { color: var(--terracotta); }

/* ── House links — minimal ── */
.menu-overlay__house { text-align: right; }
.menu-overlay__issue {
  font-family: var(--serif);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-light);
  max-width: 320px;
  margin: 0 0 14px auto;
}
.menu-overlay__issue strong {
  font-style: normal;
  font-weight: 600;
  color: var(--ink);
}
.menu-overlay__issue em {
  font-style: italic;
  color: var(--ink);
}
.menu-overlay__house-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 22px;
  justify-content: flex-end;
}
.menu-overlay__house-links a {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ink-light);
  text-decoration: none;
  transition: color 0.2s;
}
.menu-overlay__house-links a:hover { color: var(--terracotta); }
.wed-directory__vendor-door{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-muted)}
.wed-directory__vendor-door a{color:var(--terracotta);font-style:normal;text-decoration:none;border-bottom:1px solid var(--terracotta);transition:opacity .2s}
.wed-directory__vendor-door a:hover{opacity:.75}

@media (max-width: 900px) {
  .menu-overlay__chrome, .menu-overlay__main, .menu-overlay__footer { padding-left: 28px; padding-right: 28px; }
  .menu-overlay__sections { grid-template-columns: 1fr; gap: 0; }
  .menu-overlay__topbar { grid-template-columns: 1fr; gap: 18px; }
  .menu-overlay__directory-pill { align-self: flex-start; }
  .menu-overlay__footer { grid-template-columns: 1fr; gap: 32px; }
  .menu-overlay__house, .menu-overlay__issue { text-align: left; margin-left: 0; }
  .menu-overlay__house-links { justify-content: flex-start; }
}

body.menu-locked { overflow: hidden; }

@media (max-width: 600px) {
  .menu-overlay__footer { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════════════════════
   COVER MODE — Issue 01 treatment for the hero
   Toggled via body.cover-mode (Tweaks panel)
   ════════════════════════════════════════════════════════════════ */
body.cover-mode .hero { height: 100vh; }

/* Stronger top-to-bottom vignette in cover mode so the masthead reads */
body.cover-mode .hero::before {
  background:
    linear-gradient(100deg,
      rgba(14,8,5,0.55) 0%,
      rgba(14,8,5,0.26) 30%,
      rgba(14,8,5,0.0) 52%),
    linear-gradient(to bottom,
      rgba(14,8,5,0.78) 0%,
      rgba(14,8,5,0.16) 30%,
      rgba(14,8,5,0.0) 48%,
      rgba(14,8,5,0.78) 92%,
      rgba(14,8,5,0.95) 100%);
}

/* Hide the chrome's current micro-wordmark and issue stamp — they are replaced by the masthead block below */
body.cover-mode .hero-chrome { grid-template-columns: 1fr 1fr; padding-top: 32px; }
body.cover-mode .hero-chrome__wordmark { display: none; }
/* Issue stamp moves to the top-right corner, off the model's face */
body.cover-mode .hero-chrome__issue {
  color: rgba(255,255,255,0.9);
  text-shadow: 0 1px 10px rgba(14,8,5,0.55);
}
/* Below ~960px the centered wordmark reaches the corner stamp — hide it */
@media (max-width: 960px) {
  body.cover-mode .hero-chrome__issue { display: none; }
}

/* THE MASTHEAD — custom-drawn SVG wordmark anchored top of cover */
.cover-masthead {
  position: absolute;
  top: 4vh;
  left: 0; right: 0;
  z-index: 3;
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  color: #fff;
  pointer-events: none;
  padding: 0 40px;
}
body.cover-mode .cover-masthead { display: flex; }
.cover-wordmark {
  width: clamp(400px, 58vw, 900px);
  height: auto;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(14,8,5,0.35)) drop-shadow(0 10px 36px rgba(14,8,5,0.38));
}
.cover-masthead__meta {
  display: none;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.82);
  align-items: center;
  gap: 18px;
  white-space: nowrap;
}
.cover-masthead__meta span:nth-child(2n) { color: var(--accent-on-dark, #d49c5b); opacity: 0.75; }

/* COVER LINE — anchored bottom-center, real magazine cover style */
body.cover-mode .hero-cover {
  bottom: 15vh;
  right: 50%;
  transform: translateX(50%);
  left: auto;
  align-items: center;
  text-align: center;
  max-width: 1080px;
  width: calc(100% - 80px);
  gap: 10px;
}
body.cover-mode .hero-cover__byline,
body.cover-mode .hero-cover__masthead { display: none; }

/* Story number "N° 01" floats above the cover line */
.cover-storyno {
  display: none;
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  letter-spacing: 0.5px;
  color: var(--accent-on-dark, #d49c5b);
  margin: 0 0 -4px;
}
.cover-storyno::before {
  content: '';
  display: inline-block;
  width: 36px;
  height: 1px;
  background: currentColor;
  vertical-align: middle;
  margin-right: 14px;
  opacity: 0.7;
}
.cover-storyno::after {
  content: '';
  display: inline-block;
  width: 36px;
  height: 1px;
  background: currentColor;
  vertical-align: middle;
  margin-left: 14px;
  opacity: 0.7;
}
body.cover-mode .cover-storyno { display: block; }

/* Eyebrow above the cover headline, but only in cover mode */
.cover-eyebrow {
  display: none;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  margin: 0;
}
body.cover-mode .cover-eyebrow { display: none; }

body.cover-mode .hero-cover__headline {
  font-size: clamp(56px, 8vw, 150px);
  line-height: 0.88;
  letter-spacing: -0.035em;
  text-align: center;
  text-wrap: balance;
}
body.cover-mode .hero-cover__headline em { display: inline; margin-left: 0.22em; }

/* ── COVER LINES — left-margin teasers, magazine front-page style ── */
.hero-coverlines {
  position: absolute;
  left: 48px;
  top: 43%;
  transform: translateY(-50%);
  z-index: 4;
  display: none;
  flex-direction: column;
  gap: 24px;
  max-width: 260px;
  color: #fff;
  text-shadow: 0 1px 14px rgba(14,8,5,0.6);
}
body.cover-mode .hero-coverlines { display: flex; }
.coverline {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  padding-left: 16px;
}
.coverline::before {
  content: '';
  position: absolute;
  left: 0; top: 4px; bottom: 4px;
  width: 2px;
  background: var(--gold-light, #d4a05f);
  opacity: 0.82;
  transform-origin: top;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), opacity 0.3s;
}
.coverline__kicker {
  display: block;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(245,237,226,0.92);
  text-shadow: 0 1px 8px rgba(14,8,5,0.7);
  margin-bottom: 6px;
}
.coverline__title {
  display: block;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 21px;
  line-height: 1.16;
  letter-spacing: -0.01em;
}
.coverline__title b { font-style: normal; font-weight: 600; }
.coverline:hover .coverline__title {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.coverline:hover::before { transform: scaleY(1.06); opacity: 1; }
/* Hide cover lines when the hero is short or narrow — they need vertical room */
@media (max-width: 1080px), (max-height: 660px) {
  .hero-coverlines { display: none !important; }
}
/* Cinematic entrance for the cover lines */
body.cover-mode.cinematic .hero-coverlines {
  opacity: 0;
  transform: translateY(-50%) translateX(-10px);
  animation: coverlines-in 900ms cubic-bezier(0.16,1,0.3,1) 2050ms forwards;
}
@keyframes coverlines-in {
  to { opacity: 1; transform: translateY(-50%) translateX(0); }
}

/* "Scroll to enter the issue" — small pulsing prompt */
.cover-scroll {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
  text-shadow: 0 1px 10px rgba(14,8,5,0.55);
  pointer-events: none;
}
.cover-scroll__line {
  width: 1px;
  height: 28px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.5), rgba(255,255,255,0));
  animation: cover-scroll-pulse 2.2s ease-in-out infinite;
}
@keyframes cover-scroll-pulse {
  0%, 100% { transform: scaleY(0.6); opacity: 0.4; transform-origin: top; }
  50% { transform: scaleY(1); opacity: 0.9; }
}
body.cover-mode .cover-scroll { display: flex; }

/* CINEMATIC LOAD — wordmark reveals, then cover line, then scroll prompt */
body.cover-mode.cinematic .cover-wordmark {
  opacity: 0; transform: translateY(14px) scale(0.985);
  animation: cover-fade-up 1100ms cubic-bezier(0.16,1,0.3,1) 200ms forwards;
}
body.cover-mode.cinematic .cover-masthead__meta {
  opacity: 0;
  animation: cover-fade 700ms ease-out 1200ms forwards;
}
body.cover-mode.cinematic .cover-storyno,
body.cover-mode.cinematic .cover-eyebrow,
body.cover-mode.cinematic .hero-cover__headline,
body.cover-mode.cinematic .hero-cover__deck {
  opacity: 0; transform: translateY(12px);
  animation: cover-fade-up 900ms cubic-bezier(0.16,1,0.3,1) forwards;
}
body.cover-mode.cinematic .cover-storyno { animation-delay: 1400ms; }
body.cover-mode.cinematic .cover-eyebrow { animation-delay: 1500ms; }
body.cover-mode.cinematic .hero-cover__headline { animation-delay: 1650ms; }
body.cover-mode.cinematic .hero-cover__deck { animation-delay: 1850ms; }
body.cover-mode.cinematic .cover-scroll {
  opacity: 0;
  animation: cover-fade 700ms ease-out 2400ms forwards;
}
@keyframes cover-fade-up {
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cover-fade { to { opacity: 1; } }
@keyframes cover-rule-grow { to { transform: scaleX(1); } }

@media (max-width: 800px) {
  .cover-masthead { top: 5vh; gap: 12px; }
  .cover-masthead__meta { font-size: 9.5px; letter-spacing: 2.5px; gap: 10px; }
  body.cover-mode .hero-cover { width: calc(100% - 32px); bottom: 80px; }
  body.cover-mode .hero-cover__headline { font-size: clamp(40px, 11vw, 64px); }
  .cover-storyno::before, .cover-storyno::after { width: 18px; margin: 0 8px; }
}

/* ════════ WEDDING DIRECTORY — Back-of-book classifieds (v11.22) ════════
   The directory is a separate product. Same paper family as editorial (slightly
   deeper parchment), but a heavy newsprint masthead bar + filter chrome + denser
   cards signal "you've entered the directory department." */
.wed-directory {
  background: #EFE5D0;
  color: var(--ink);
  border-top: 0;
  padding: 0 0 104px;
}

/* Newsprint-style masthead bar — edge-to-edge inverse dark band */
.wed-directory__masthead {
  background: var(--ink);
  border-top: 0;
  border-bottom: 0;
  margin: 0;
  padding: 0;
}
.wed-directory__masthead-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 18px 40px;
  display: flex;
  align-items: baseline;
  gap: 14px;
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: rgba(245, 235, 220, 0.6);
  flex-wrap: wrap;
}
.wed-directory__masthead-inner strong {
  color: var(--parchment);
  font-weight: 500;
  letter-spacing: 3px;
}
.wed-directory__masthead-inner em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--gold-light);
}
.wed-directory__masthead-spacer { flex: 1; min-width: 24px; }
.wed-directory__masthead-dot { color: rgba(245, 235, 220, 0.4); }

/* Directory count — the section's visual headline */
.wed-directory .wed-directory__bignum-figure {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(180px, 22vw, 320px);
  line-height: 0.84;
  letter-spacing: -0.04em;
  color: var(--terracotta);
}
.wed-directory .wed-directory__bignum-line {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.32;
  color: var(--ink);
  max-width: 280px;
  margin-top: 14px;
}
.wed-directory .wed-directory__bignum-line em {
  font-family: 'Bodoni Moda','Playfair Display',serif;
  font-style: italic;
  color: var(--terracotta);
  font-size: 1.6em;
  line-height: 1;
}

/* Head: rebalance so the bignum dominates the right */
.wed-directory .wed-directory__head {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: end;
  gap: 56px;
  margin-top: 56px;
}
.wed-directory .wed-directory__head-right {
  align-items: flex-end;
  text-align: right;
}

.wed-directory__eyebrow { color: var(--terracotta); }
.wed-directory__title em { color: var(--terracotta); }
.wed-directory__deck { color: var(--ink-muted); }
.wed-directory__primary-cta {
  white-space: nowrap;
  background: var(--ink);
  color: #fff;
  border: 1px solid var(--ink);
}
.wed-directory__primary-cta:hover {
  background: var(--terracotta);
  border-color: var(--terracotta);
}
.wed-directory__bignum-figure { color: var(--terracotta); }
.wed-directory__bignum-line { color: var(--ink-muted); }
.wed-directory__featured-label { color: var(--ink-light); }
.wed-directory__featured-head { border-bottom-color: rgba(28,20,16,0.15); }

/* Filter chrome — chips + country pill */
.wed-directory__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 36px 0 36px;
  padding: 18px 0;
  border-top: 1px solid rgba(28,20,16,0.15);
  border-bottom: 1px solid rgba(28,20,16,0.15);
}
.wed-directory__filter-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-right: 12px;
}
.wed-directory__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border: 1px solid rgba(28,20,16,0.22);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--ink-soft);
  background: transparent;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  white-space: nowrap;
}
.wed-directory__chip:hover {
  border-color: var(--terracotta);
  color: var(--terracotta);
}
.wed-directory__chip.is-active {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  font-weight: 500;
}
.wed-directory__chip--country {
  margin-left: auto;
  border-color: var(--ink);
  color: var(--ink);
}
.wed-directory__chip--country::after { content: ' ↓'; opacity: 0.6; }

/* Vendor cards — subtle parchment cards on the slightly-deeper bg */
.wed-directory .wd-card {
  background: var(--parchment);
  border: 1px solid rgba(28,20,16,0.10);
  box-shadow: none;
  transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.wed-directory .wd-card:hover {
  transform: translateY(-2px);
  border-color: rgba(28,20,16,0.22);
  box-shadow: 0 12px 28px -18px rgba(28,20,16,0.25);
}
.wed-directory .wd-card__cat { color: var(--terracotta); }
.wd-card__loc::before {
  content: '●';
  color: var(--terracotta);
  font-size: 7px;
  margin-right: 6px;
  vertical-align: middle;
}
.wd-card__view {
  display: block;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(28,20,16,0.08);
  transition: color 0.2s;
}
.wed-directory .wd-card:hover .wd-card__view { color: var(--terracotta); }

/* Foot — vendor application CTA */
.wed-directory__foot {
  border-top: 1px solid rgba(28,20,16,0.15);
  margin-top: 64px;
  padding-top: 40px;
}
.wed-directory__foot-copy h3 { color: var(--ink); }
.wed-directory__foot-copy p { color: var(--ink-muted); }
.wed-directory__foot-cta {
  color: var(--ink);
  border-color: var(--ink);
  background: transparent;
}
.wed-directory__foot-cta:hover {
  color: #fff;
  background: var(--ink);
}

@media (max-width: 720px) {
  .wed-directory__masthead { font-size: 9px; letter-spacing: 1.8px; gap: 10px; }
  .wed-directory__masthead em { font-size: 12px; }
  .wed-directory__filters { gap: 6px; padding: 14px 0; }
  .wed-directory__chip { padding: 6px 11px; font-size: 9px; letter-spacing: 1.4px; }
  .wed-directory__chip--country { margin-left: 0; margin-top: 4px; }
  .wed-directory__filter-label { width: 100%; margin-bottom: 4px; }
}

/* ════════════════════════════════════════════════════════════════════
   v11.24 — NEWSLETTER · THE SPECIMEN SHEET
   The newsletter rendered as a typographic specimen: a single italic
   word "Thursday." set at obscene scale, on ink, with corner registration
   marks and pointer annotations. Loud, confident, type-as-object.
   Modifies the existing .thursday shell so all hooks (form, folio,
   tweak system) keep working.
   ════════════════════════════════════════════════════════════════════ */
.thursday.thursday--specimen {
  background: var(--ink);
  color: var(--parchment);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 56px 0 60px;
  position: relative;
  overflow: hidden;
}
.thursday--specimen .thursday__inner { display: block; min-height: 0; }
.thursday--specimen::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size: 3px 3px;
  pointer-events: none;
}
.thursday--specimen::after {
  /* Soft warm radial wash so the dark doesn't feel flat */
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 15% 0%, rgba(181,70,15,0.10), transparent 55%),
    radial-gradient(ellipse at 90% 100%, rgba(212,160,95,0.07), transparent 60%);
  pointer-events: none;
}

/* Corner registration marks — like a print spec sheet */
.spec__corner-tl,
.spec__corner-tr,
.spec__corner-bl,
.spec__corner-br {
  position: absolute;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: rgba(245,235,220,0.5);
  z-index: 2;
}
.spec__corner-tl { top: 18px; left: 40px; }
.spec__corner-tr { top: 18px; right: 40px; }
.spec__corner-bl { bottom: 18px; left: 40px; }
.spec__corner-br { bottom: 18px; right: 40px; }
.spec__corner-tl em,
.spec__corner-tr em,
.spec__corner-bl em,
.spec__corner-br em {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(245,235,220,0.85);
}

.spec__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 1;
  text-align: center;
}
.spec__label-top {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 4.4px;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
}
.spec__label-top::before,
.spec__label-top::after {
  content: '';
  width: 56px;
  height: 1px;
  background: rgba(212,160,95,0.55);
}
.spec__word {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(96px, 13vw, 200px);
  line-height: 0.9;
  letter-spacing: -0.045em;
  color: var(--parchment);
  margin: 0;
  display: inline-block;
  position: relative;
}
.spec__word .spec__dot { color: var(--gold-light); }
.spec__word::before,
.spec__word::after {
  content: '';
  position: absolute;
  left: -10%; right: -10%;
  height: 1px;
  background: rgba(245,235,220,0.18);
}
.spec__word::before { top: -20px; }
.spec__word::after  { bottom: -20px; }

/* Pointer annotations flanking the word */
.spec__ptr {
  position: absolute;
  font-family: var(--mono);
  font-size: 8.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(245,235,220,0.45);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}
.spec__ptr--l { left: 4%; top: 50%; transform: translateY(-50%); }
.spec__ptr--r { right: 4%; top: 50%; transform: translateY(-50%); text-align: right; }
.spec__ptr-line { width: 36px; height: 1px; background: rgba(245,235,220,0.3); }
.spec__ptr em {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(245,235,220,0.7);
  margin: 0 4px;
}

.spec__caption {
  margin-top: 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.spec__caption-body {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.5;
  color: rgba(245,235,220,0.85);
  max-width: 56ch;
  text-wrap: pretty;
  margin: 0;
}
.spec__caption-body{max-width:30em;margin-inline:auto}.spec__caption-planner{margin-top:0.6em}
.spec__caption-planner a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;transition:opacity .2s}.spec__caption-planner a:hover{opacity:.75}
.spec__caption-body strong {
  font-weight: 400;
  color: var(--gold-light);
  font-style: italic;
}
/* Form — dark variant, gold submit */
.thursday--specimen .thursday__form {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}
.thursday--specimen .thursday__input {
  background: transparent;
  border: 1px solid rgba(245,235,220,0.35);
  border-right: none;
  color: var(--parchment);
}
.thursday--specimen .thursday__input::placeholder {
  color: rgba(245,235,220,0.5);
}
.thursday--specimen .thursday__btn {
  background: var(--gold-light);
  color: var(--ink);
  border: 1px solid var(--gold-light);
}
.thursday--specimen .thursday__btn:hover {
  background: var(--parchment);
  border-color: var(--parchment);
  color: var(--ink);
}
.spec__sig {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: rgba(245,235,220,0.55);
}
.spec__sig em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(245,235,220,0.92);
  margin: 0 4px;
}

@media (max-width: 900px) {
  .thursday.thursday--specimen { padding: 72px 0 64px; }
  .spec__ptr { display: none; }
  .spec__corner-tl, .spec__corner-tr, .spec__corner-bl, .spec__corner-br {
    font-size: 8.5px; letter-spacing: 1.6px;
  }
  .spec__corner-tl, .spec__corner-tr { top: 16px; left: 20px; }
  .spec__corner-tr { left: auto; right: 20px; }
  .spec__corner-bl, .spec__corner-br { bottom: 16px; left: 20px; }
  .spec__corner-br { left: auto; right: 20px; }
  .spec__inner { padding: 0 20px; }
  .spec__label-top { margin-bottom: 32px; font-size: 9px; letter-spacing: 2.6px; }
  .spec__label-top::before, .spec__label-top::after { width: 28px; }
  .spec__caption { margin-top: 32px; gap: 22px; }
}
@media (max-width: 700px) {
  .thursday--specimen .thursday__form { flex-direction: column; gap: 0; }
  .thursday--specimen .thursday__input { border-right: 1px solid rgba(245,235,220,0.35); margin-bottom: -1px; }
}

/* ─────── v11.25 — Kinetic letters for the Thursday. specimen ─────── */
.spec__letters {
  display: inline-block;
  position: relative;
}
.spec__l {
  display: inline-block;
  transform: translateY(var(--o, 0)) rotate(var(--r, 0deg)) scale(var(--s, 1));
  transform-origin: 50% 70%;
  transition: transform 0.6s cubic-bezier(.2,.8,.2,1);
  font-variation-settings: 'opsz' calc(72 + var(--s, 1) * 36);
}
.thursday--specimen:hover .spec__l {
  /* Gentle hover settle — letters glide toward zero */
  transform: translateY(calc(var(--o, 0) * 0.3)) rotate(calc(var(--r, 0deg) * 0.2)) scale(1);
}
.spec__word .spec__dot {
  display: inline-block;
  transform: translateY(-2px);
  font-size: 1.05em;
}

/* ════════════════════════════════════════════════════════════════════
   v11.24 — THE MASTHEAD WALL
   A roll-call of contributors set huge in italic Bodoni. Hover any row
   to reveal that contributor's portrait in the sticky preview frame
   to the right. Replaces the polite 5-up portrait grid.
   ════════════════════════════════════════════════════════════════════ */
.contributors.masthead {
  background: var(--ink);
  color: var(--parchment);
  padding: 80px 0 72px;
  position: relative;
  overflow: hidden;
}
.contributors.masthead::before {
  /* Paper grain over dark */
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 3px 3px;
  pointer-events: none;
}

.masthead__head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 28px;
  align-items: end;
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid rgba(245,235,220,0.18);
  position: relative;
  z-index: 1;
}
.masthead__eyebrow {
  font-family: var(--serif);
  font-style: italic;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold-light);
  padding-bottom: 10px;
}
.masthead__title {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', 'Playfair Display', serif;
  font-weight: 400;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
  text-wrap: balance;
  max-width: 28ch;
}
.masthead__title em { font-style: italic; color: var(--gold-light); }
.masthead__link {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: var(--gold-light);
  text-decoration: none;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(212,160,95,0.5);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap 0.25s ease, color 0.25s, border-color 0.25s;
  white-space: nowrap;
}
.masthead__link:hover { gap: 16px; color: #fff; border-bottom-color: #fff; }
.masthead__link span {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  transition: transform 0.25s ease;
}
.masthead__link:hover span { transform: translateX(2px); }

/* The wall — two columns: roll call left, sticky portrait right */
.masthead__wall {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  gap: 56px;
  position: relative;
  z-index: 1;
  align-items: start;
}
.masthead__roll {
  list-style: none;
  margin: 0; padding: 0;
}
.masthead__row {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 24px;
  align-items: baseline;
  padding: 22px 8px 22px 0;
  border-bottom: 1px solid rgba(245,235,220,0.14);
  position: relative;
  cursor: pointer;
  transition: padding-left 0.4s cubic-bezier(.2,.8,.2,1);
}
.masthead__row:first-child { padding-top: 0; }
/* Sliding terracotta rail on hover */
.masthead__row::before {
  content: '';
  position: absolute;
  left: 0; bottom: -1px;
  width: 0; height: 2px;
  background: var(--gold-light);
  transition: width 0.6s cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
}
.masthead__row.is-active::before,
.masthead__row:hover::before { width: 100%; }
.masthead__row:hover { padding-left: 14px; }
.masthead__row-no {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  color: rgba(245,235,220,0.45);
  letter-spacing: 0;
  transition: color 0.3s ease;
}
.masthead__row.is-active .masthead__row-no,
.masthead__row:hover .masthead__row-no { color: var(--gold-light); }
.masthead__row-name {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', 'Playfair Display', serif;
  font-weight: 400;
  font-size: clamp(40px, 5.6vw, 92px);
  line-height: 0.96;
  letter-spacing: -0.025em;
  color: #fff;
  text-decoration: none;
  text-wrap: nowrap;
  display: inline-block;
  transition: color 0.3s ease, transform 0.5s cubic-bezier(.2,.8,.2,1);
  transform-origin: left center;
}
.masthead__row-name span {
  font-style: normal;
  font-weight: 400;
}
.masthead__row-name em {
  font-style: italic;
  color: rgba(245,235,220,0.62);
  transition: color 0.3s ease;
}
.masthead__row.is-active .masthead__row-name em,
.masthead__row:hover .masthead__row-name em { color: var(--gold-light); }
.masthead__row.is-active .masthead__row-name,
.masthead__row:hover .masthead__row-name { color: var(--gold-light); }

.masthead__row-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
  min-width: 140px;
}
.masthead__row-city {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 18px;
  color: rgba(245,235,220,0.95);
}
.masthead__row-role {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: rgba(245,235,220,0.5);
}

/* Sticky preview frame — single portrait that swaps on row hover */
.masthead__preview {
  position: sticky;
  top: 80px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  /* Place after the list in source for tab order, but render to the right */
  grid-column: 2;
  grid-row: 1;
}
.masthead__preview-frame {
  position: relative;
  aspect-ratio: 4 / 5;
  /* Warm neutral so transparent PNGs don't reveal the ink-black section bg */
  background: #C9BFAF;
  overflow: hidden;
}
.masthead__preview-frame::after {
  /* Subtle paper texture */
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 100% 0%, rgba(212,160,95,0.10), transparent 60%),
    radial-gradient(ellipse at 0% 100%, rgba(181,70,15,0.06), transparent 60%);
  pointer-events: none;
  z-index: 2;
}
.masthead__preview-frame img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 25%;
  filter: grayscale(60%) contrast(1.05) saturate(0.9);
  transition: opacity 0.4s ease, transform 1.6s cubic-bezier(.2,.8,.2,1), filter 0.4s ease;
  transform: scale(1.02);
  transform-origin: center 30%;
}
.masthead__preview.is-swapping img { opacity: 0; }
.masthead__preview:hover .masthead__preview-frame img,
.masthead__row:hover ~ .masthead__preview .masthead__preview-frame img {
  filter: grayscale(0%) contrast(1) saturate(1);
}
/* Frame corner ticks — print-spec gesture, tiny */
.masthead__preview-frame::before {
  content: '';
  position: absolute;
  top: 10px; left: 10px;
  width: 16px; height: 16px;
  border-left: 1px solid rgba(245,235,220,0.55);
  border-top:  1px solid rgba(245,235,220,0.55);
  z-index: 3;
}
.masthead__preview-cap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.masthead__preview-cap-line {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
.masthead__preview-cap-role {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: var(--gold-light);
}
.masthead__preview-cap-dot {
  color: rgba(245,235,220,0.4);
  font-size: 11px;
}
.masthead__preview-cap-city {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 17px;
  letter-spacing: 0;
  color: rgba(245,235,220,0.95);
}
.masthead__preview-cap-bio {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(245,235,220,0.85);
  text-wrap: pretty;
  max-width: 38ch;
}

/* Foot — small print-magazine cap */
.masthead__foot {
  position: relative;
  z-index: 1;
  margin-top: 48px;
  padding-top: 18px;
  border-top: 1px solid rgba(245,235,220,0.18);
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: rgba(245,235,220,0.5);
}
.masthead__foot em {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(245,235,220,0.92);
  margin: 0 2px;
}
.masthead__foot-rule { flex: 1; height: 1px; background: rgba(245,235,220,0.12); }

@media (max-width: 1100px) {
  .masthead__wall { grid-template-columns: minmax(0, 1fr) 280px; gap: 40px; }
  .masthead__row-meta { min-width: 0; }
}
@media (max-width: 900px) {
  .contributors.masthead { padding: 56px 0 56px; }
  .masthead__head { grid-template-columns: 1fr; gap: 16px; }
  .masthead__head .masthead__link { justify-self: start; }
  .masthead__wall { grid-template-columns: 1fr; }
  .masthead__preview { display: none; }
  .masthead__row { grid-template-columns: 36px 1fr; padding: 18px 4px; }
  .masthead__row-name { font-size: clamp(34px, 9vw, 56px); white-space: normal; }
  .masthead__row-meta { grid-column: 2; align-items: flex-start; text-align: left; flex-direction: row; gap: 14px; padding-top: 4px; }
}

/* ════════════════════════════════════════════════════════════════════
   v11.25 — WEDDINGS · HORIZONTAL SPREAD
   The section breaks the vertical scroll once and only once: weddings
   plays as a horizontal track of magazine-spread-sized slides. Lead
   slide is wider (a double-page spread); the rest are portrait pages.
   Prev / next chrome + progress hairline + animated "scroll →" hint.
   Falls back to a vertical stack on phones.
   ════════════════════════════════════════════════════════════════════ */
.weddings-section.weddings-section--spread {
  /* Allow rail to bleed past the container without scrolling the page */
  overflow: hidden;
  padding-top: 64px;
  padding-bottom: 64px;
}
.weddings-section--spread .container { padding-bottom: 0; }
/* Section head sits on the dark page ground — title must be light (fix Aug 13) */
.weddings-section--spread .section-head__title { color: var(--parchment); }
/* Hide legacy weddings layout chrome inside the spread variant */
.weddings-section--spread .weddings-grid,
.weddings-section--spread .wed-cover { display: none; }

.wed-spread {
  position: relative;
  margin-top: 28px;
}

/* Chrome bar — sits above the rail, inside the container width */
.wed-spread__bar {
  max-width: 1440px;
  margin: 0 auto 24px;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.wed-spread__hint {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: var(--ink-muted);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.wed-spread__hint em {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 14.5px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
  margin-right: 2px;
}
.wed-spread__hint-line {
  width: 44px; height: 1px;
  background: rgba(28,20,16,0.22);
  position: relative;
  overflow: hidden;
}
.wed-spread__hint-line::after {
  content: '';
  position: absolute; inset: 0;
  background: var(--terracotta);
  transform: translateX(-100%);
  animation: wed-hint 2.4s ease-in-out infinite;
}
@keyframes wed-hint {
  0%   { transform: translateX(-100%); }
  60%  { transform: translateX(100%); }
  100% { transform: translateX(100%); }
}

.wed-spread__btns {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wed-spread__btn {
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(28,20,16,0.22);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 22px;
  line-height: 1;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.3s cubic-bezier(.2,.8,.2,1);
  padding: 0;
}
.wed-spread__btn:hover:not(:disabled) {
  background: var(--ink);
  color: var(--parchment);
  border-color: var(--ink);
  transform: translateY(-1px);
}
.wed-spread__btn:disabled {
  opacity: 0.28;
  cursor: not-allowed;
}
.wed-spread__btn span {
  display: inline-block;
  transform: translateY(-1px);
}

/* The rail — horizontal scroll, snap, full-bleed */
.wed-spread__rail {
  display: flex;
  gap: 36px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0 max(40px, calc((100% - 1360px) / 2)) 24px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
}
.wed-spread__rail::-webkit-scrollbar { display: none; }

.wed-spread__slide {
  flex: 0 0 auto;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  width: clamp(300px, 30vw, 420px);
  text-decoration: none;
  color: inherit;
  position: relative;
}
.wed-spread__slide--lead {
  width: clamp(460px, 56vw, 820px);
}

.wed-spread__slide-image {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  margin-bottom: 22px;
  background: #1c1410;
  position: relative;
}
.wed-spread__slide--lead .wed-spread__slide-image { aspect-ratio: 16 / 11; }
.wed-spread__slide-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(0.94) contrast(1.04) saturate(0.94);
  transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter 0.4s ease;
}
.wed-spread__slide:hover .wed-spread__slide-image img {
  transform: scale(1.04);
  filter: brightness(1) contrast(1.04) saturate(1);
}

/* Page-number overlay on the image (folio-style) */
.wed-spread__slide-folio {
  position: absolute;
  bottom: 14px;
  right: 16px;
  z-index: 2;
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  color: rgba(255,253,248,0.78);
  font-size: 24px;
  text-shadow: 0 2px 18px rgba(0,0,0,0.5);
}
.wed-spread__slide-folio b {
  font-style: normal;
  font-weight: 400;
  color: #fff;
  font-size: 32px;
  margin-right: 4px;
}

.wed-spread__slide-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wed-spread__slide-cat {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.wed-spread__slide-title {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.16;
  letter-spacing: -0.012em;
  color: var(--ink);
  margin: 0;
  text-wrap: balance;
  transition: color 0.25s;
}
.wed-spread__slide-title em { font-style: italic; font-weight: 400; color: var(--terracotta); }
.wed-spread__slide:hover .wed-spread__slide-title { color: var(--terracotta); }
.wed-spread__slide--lead .wed-spread__slide-title {
  font-size: clamp(34px, 3.6vw, 56px);
}
.wed-spread__slide-deck {
  font-family: var(--serif);
  font-style: italic;
  font-size: 15.5px;
  line-height: 1.5;
  color: var(--ink-muted);
  max-width: 48ch;
  margin: 0;
}
.wed-spread__slide--lead .wed-spread__slide-deck {
  font-size: 17.5px;
  max-width: 56ch;
}
.wed-spread__slide-byline {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-top: 4px;
}
.wed-spread__slide-byline em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 12.5px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}

/* Lead credits — small strip below the lead slide deck */
.wed-spread__slide-credits {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(28,20,16,0.18);
}
.wed-spread__slide-credit {
  padding-right: 18px;
  border-right: 1px solid rgba(28,20,16,0.12);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wed-spread__slide-credit:last-child { border-right: none; padding-right: 0; }
.wed-spread__slide-credit span {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--ink-light);
}
.wed-spread__slide-credit b {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 14.5px;
  letter-spacing: 0;
  color: var(--ink);
}

/* Progress hairline — total length under the rail */
.wed-spread__progress {
  max-width: 1440px;
  margin: 14px auto 0;
  padding: 0 40px;
}
.wed-spread__progress-rail {
  height: 1px;
  background: rgba(28,20,16,0.14);
  position: relative;
  overflow: hidden;
}
.wed-spread__progress-rail::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--terracotta);
  transform-origin: left;
  transform: scaleX(var(--p, 0));
  transition: transform 0.18s linear;
}
.wed-spread__progress-count {
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--ink-light);
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.wed-spread__progress-count em {
  font-family: 'Bodoni Moda', 'Playfair Display', serif;
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
}

/* Mobile fallback: vertical stack, no nav chrome */
@media (max-width: 700px) {
  .weddings-section.weddings-section--spread { padding-top: 48px; padding-bottom: 48px; overflow: visible; }
  .wed-spread__bar { padding: 0 22px; gap: 14px; }
  .wed-spread__btns, .wed-spread__progress { display: none; }
  .wed-spread__rail {
    flex-direction: column;
    overflow: visible;
    gap: 40px;
    padding: 0 22px;
  }
  .wed-spread__slide,
  .wed-spread__slide--lead { width: 100%; }
  .wed-spread__slide-image { aspect-ratio: 3 / 4; }
  .wed-spread__slide--lead .wed-spread__slide-image { aspect-ratio: 4 / 5; }
  .wed-spread__slide-credits { grid-template-columns: 1fr 1fr; gap: 12px 14px; }
  .wed-spread__slide-credit { border-right: none; padding-right: 0; }
}

/* ════════════════════════════════════════════════════════════════════
   v11.23 — FOLIO SPINE
   Tiny fixed bottom-left indicator. Tells the reader where they are
   in the issue (Chapter + roman-numeral page). Updates via
   IntersectionObserver on [data-folio]. Invisible during hero; fades
   in once the overture begins. Disappears in the footer.
   ════════════════════════════════════════════════════════════════════ */
.folio-spine {
  position: fixed;
  bottom: 22px;
  left: 24px;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 9px 16px 9px 14px;
  background: rgba(14,9,7,0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(245,235,220,0.16);
  color: rgba(245,235,220,0.85);
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  pointer-events: none;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease, background 0.4s ease, color 0.4s ease, border-color 0.4s ease;
}
.folio-spine.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.folio-spine__rule { width: 18px; height: 1px; background: rgba(245,235,220,0.3); }
.folio-spine__chapter {
  font-family: var(--serif);
  font-style: italic;
  font-size: 12.5px;
  letter-spacing: 0.2px;
  text-transform: none;
  color: #F5EDD8;
  line-height: 1;
  min-width: 96px;
  transition: color 0.3s ease;
}
.folio-spine__page {
  font-family: 'Bodoni Moda','Playfair Display', serif;
  font-style: italic;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(245,235,220,0.6);
  line-height: 1;
  min-width: 28px;
  text-align: right;
}
.folio-spine__progress {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 1px;
  background: rgba(245,235,220,0.18);
  overflow: hidden;
}
.folio-spine__progress::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold-light);
  transform-origin: left;
  transform: scaleX(var(--scroll, 0));
  transition: transform 0.15s linear;
}

/* Light-background variant — auto-applied when over a parchment section */
.folio-spine.is-light {
  background: rgba(255,253,248,0.88);
  border-color: rgba(28,20,16,0.14);
  color: var(--ink-soft);
}
.folio-spine.is-light .folio-spine__chapter { color: var(--ink); }
.folio-spine.is-light .folio-spine__page { color: var(--ink-light); }
.folio-spine.is-light .folio-spine__rule { background: rgba(28,20,16,0.22); }
.folio-spine.is-light .folio-spine__progress { background: rgba(28,20,16,0.1); }
.folio-spine.is-light .folio-spine__progress::after { background: var(--terracotta); }

@media (max-width: 700px) {
  .folio-spine { bottom: 14px; left: 14px; padding: 7px 12px; gap: 10px; font-size: 8.5px; }
  .folio-spine__chapter { font-size: 11px; min-width: 0; max-width: 38vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .folio-spine__rule { width: 12px; }
}

/* ════════ CRITICAL LAUNCH FIXES — navigation, mobile, access, media ════════ */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 2200;
  transform: translateY(-160%);
  padding: 12px 16px;
  background: var(--parchment);
  color: var(--ink);
  border: 2px solid var(--ink);
  font: 600 14px/1.2 var(--sans);
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, [tabindex]):focus-visible {
  outline: 3px solid var(--terracotta);
  outline-offset: 4px;
}
.hero :where(a, button):focus-visible,
.travel-postcard :where(a, button):focus-visible,
.silent-moment :where(a, button):focus-visible,
.site-footer :where(a, button):focus-visible {
  outline-color: #F5EDD8;
}
.hero__cover-link:focus-visible,
.travel-postcard__cover-link:focus-visible,
.silent-moment__cover-link:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 5px #F5EDD8, inset 0 0 0 8px var(--terracotta);
}
.menu-overlay__search-input:focus-visible,
.menu-overlay__letter-input:focus-visible,
.thursday__input:focus-visible {
  outline: 3px solid var(--terracotta);
  outline-offset: 3px;
}

/* A slim masthead appears only after the cover, keeping navigation available. */
.site-header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: rgba(250,246,238,0.96);
  border-bottom: 1px solid var(--rule-strong);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: translateY(-110%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.25s ease, visibility 0s linear 0.35s;
}
.site-header.is-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.25s ease, visibility 0s;
}
.site-header .header-inner {
  max-width: 1440px;
  min-height: 64px;
  padding: 10px 40px;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
}
.site-header .wordmark__name {
  font-size: 22px;
  letter-spacing: 8px;
  text-indent: 8px;
}
.site-header .header-tools { font-size: 12px; }
.site-header .header-tools__btn {
  min-width: 44px;
  min-height: 44px;
  padding: 8px 0;
}
.sticky-actions a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 4px;
}
.sticky-actions__directory {
  padding: 9px 14px !important;
  background: var(--ink);
  color: var(--parchment);
}

/* Responsive, explicitly sized media replaces eager CSS backgrounds. */
.hero__image,
.travel-postcard__image,
.silent-moment__image {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: none;
  overflow: hidden;
}
.hero__image img,
.travel-postcard__image img,
.silent-moment__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__image img { object-position: 50% 14%; }
.travel-postcard__image img { object-position: center; }
.silent-moment__image img { object-position: center 15%; }
.topshelf__image picture { display: block; width: 100%; height: 100%; }

body.cover-mode .hero {
  height: 100vh;
  height: 100svh;
}
.silent-moment {
  height: 100vh;
  height: 100svh;
}
@supports (height: 100dvh) {
  body.cover-mode .hero,
  .silent-moment { height: 100dvh; }
}

.hero-cover__cta {
  position: relative;
  z-index: 5;
  min-height: 44px;
  padding-top: 12px;
  font-size: 12px;
}
.hero-chrome__menu-btn,
.menu-overlay__close,
.menu-overlay__search-submit,
.menu-overlay__letter-submit,
.wed-spread__btn,
.thursday__btn,
.silent-moment__caption-link,
.wed-directory__chip {
  min-height: 44px;
}
.hero-chrome__menu-btn { min-width: 44px; padding: 10px 0; font-size: 12px; }
.menu-overlay__close,
.menu-overlay__search-submit,
.menu-overlay__letter-submit,
.wed-directory__chip,
.thursday__btn,
.section-head__link,
.beauty-desk__more,
.silent-moment__caption-link { font-size: 12px; }

.bd-item--coming-soon { cursor: default; }
.bd-item--coming-soon:hover .bd-item__title { color: var(--ink); }
.bd-item__status {
  display: inline-block;
  width: max-content;
  margin-top: 4px;
  padding: 5px 8px;
  border: 1px solid var(--rule-strong);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.6px;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.masthead__row-meta { display: none; }
.wd-card__view { width: max-content; }

/* Footer copy remains quiet but now clears normal-text contrast. */
.footer-brand-desc,
.footer-contacts__list li > span,
.footer-bottom { color: rgba(250,246,238,0.74); }
.footer-links a { color: rgba(250,246,238,0.78); }

.folio-spine {
  left: max(24px, env(safe-area-inset-left));
  bottom: max(22px, env(safe-area-inset-bottom));
}

@media (max-width: 900px) {
  body.cover-mode .hero {
    position: relative;
    height: 100vh;
    height: 100svh;
    min-height: 620px;
  }
  @supports (height: 100dvh) {
    body.cover-mode .hero { height: 100dvh; }
  }
  .hero__image { position: absolute; aspect-ratio: auto; }
  .hero__image img { object-position: 50% 16%; }
  .hero::before { display: block; }
  .hero-chrome {
    position: absolute;
    padding: max(14px, env(safe-area-inset-top)) 18px 0;
    background: transparent;
  }
  .cover-masthead {
    top: max(52px, calc(env(safe-area-inset-top) + 42px));
    padding: 0 18px;
  }
  .cover-wordmark { width: min(92vw, 620px); }
  body.cover-mode .hero-cover {
    position: absolute;
    left: auto;
    right: 50%;
    bottom: max(76px, calc(env(safe-area-inset-bottom) + 62px));
    transform: translateX(50%);
    width: calc(100% - 32px);
    max-width: 720px;
    padding: 0;
    background: transparent;
    align-items: center;
    text-align: center;
  }
  body.cover-mode .hero-cover__headline { font-size: clamp(42px, 12vw, 68px); }
  .cover-scroll { bottom: max(14px, env(safe-area-inset-bottom)); }
  .masthead__row-meta {
    display: block;
    grid-column: 2;
    margin-top: 6px;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 1.2px;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--ink-muted);
  }
}

@media (max-width: 700px) {
  .site-header .header-inner {
    min-height: 60px;
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    padding: 8px 16px;
  }
  .site-header .wordmark__name { font-size: 18px; letter-spacing: 5px; text-indent: 5px; }
  .sticky-actions { gap: 8px; }
  .sticky-actions > a:first-child { display: none; }
  .sticky-actions__directory { padding: 8px 10px !important; }
  .menu-overlay { padding-top: env(safe-area-inset-top); padding-bottom: env(safe-area-inset-bottom); }
  .menu-overlay__chrome, .menu-overlay__main, .menu-overlay__footer { padding-left: 22px; padding-right: 22px; }
  .folio-spine {
    left: max(14px, env(safe-area-inset-left));
    bottom: max(14px, env(safe-area-inset-bottom));
    font-size: 12px;
  }
}

@media (max-width: 430px), (max-height: 680px) {
  body.cover-mode .hero-cover { bottom: max(64px, calc(env(safe-area-inset-bottom) + 52px)); gap: 7px; }
  body.cover-mode .hero-cover__headline { font-size: clamp(38px, 11vw, 54px); }
  .hero-cover__cta { margin-top: 2px; }
  .cover-storyno { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  body.cover-mode.cinematic :where(.cover-wordmark, .cover-storyno, .cover-eyebrow, .hero-cover__headline, .hero-cover__deck, .hero-coverlines, .cover-scroll),
  .reveal,
  .folio-spine {
    opacity: 1;
    transform: none;
  }
  .travel-postcard__image,
  .wed-directory .wd-card:hover,
  .wd-card:hover { transform: none; }
}

/* ════════ WOW STUDY — editorial overture, recency, and trust ════════ */
.issue-overture {
  position: relative;
  overflow: hidden;
  background: var(--parchment);
  color: var(--ink);
  border-bottom: 1px solid var(--ink);
}
.issue-overture::after {
  content: '01';
  position: absolute;
  top: -0.25em;
  right: -0.02em;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: min(42vw, 620px);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.09em;
  color: rgba(181,70,15,0.055);
  pointer-events: none;
}
.issue-overture__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: clamp(76px, 9vw, 138px) 40px clamp(64px, 7vw, 104px);
}
.issue-overture__intro {
  display: grid;
  grid-template-columns: minmax(140px, 0.28fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 96px);
  align-items: start;
}
.issue-overture__edition {
  padding-top: 10px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2.2px;
  line-height: 1.7;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.issue-overture__edition strong {
  display: block;
  color: var(--terracotta);
  font-weight: 500;
}
.issue-overture__title {
  max-width: 1050px;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(54px, 7.5vw, 116px);
  font-weight: 400;
  line-height: 0.93;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
.issue-overture__title em {
  color: var(--terracotta);
  font-weight: 400;
}
.issue-overture__note {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 660px) auto;
  gap: 32px;
  align-items: end;
  margin-top: 32px;
}
.issue-overture__note p {
  font-family: var(--serif);
  font-size: clamp(18px, 1.5vw, 23px);
  font-style: italic;
  line-height: 1.58;
  color: var(--ink-soft);
}
.issue-overture__letter {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--terracotta);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2px;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--terracotta);
  white-space: nowrap;
}
.issue-latest {
  margin-top: clamp(64px, 8vw, 112px);
  border-top: 1px solid var(--ink);
}
.issue-latest__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--rule-strong);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
}
.issue-latest__head span:last-child {
  font-family: var(--serif);
  font-style: italic;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink-muted);
}
.issue-latest__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.issue-latest__item {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 16px;
  min-height: 190px;
  padding: 30px clamp(22px, 3vw, 44px) 28px 0;
  border-right: 1px solid var(--rule-strong);
}
.issue-latest__item + .issue-latest__item { padding-left: clamp(22px, 3vw, 44px); }
.issue-latest__item:last-child { border-right: 0; padding-right: 0; }
.issue-latest__no {
  font-family: 'Bodoni Moda', var(--serif);
  font-size: 18px;
  font-style: italic;
  color: var(--terracotta);
}
.issue-latest__category {
  display: block;
  margin-bottom: 10px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.issue-latest__title {
  font-family: var(--serif);
  font-size: clamp(24px, 2.2vw, 34px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
  transition: color .2s ease;
}
.issue-latest__title em { color: var(--terracotta); font-weight: 400; }
.issue-latest__meta {
  display: block;
  margin-top: 18px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.issue-latest__item:hover .issue-latest__title { color: var(--terracotta); }

.directory-standard {
  display: grid;
  grid-template-columns: 1.1fr repeat(3, 1fr);
  margin: -6px 0 38px;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.directory-standard__lead,
.directory-standard__item { padding: 22px 22px 24px 0; }
.directory-standard__item {
  padding-left: 24px;
  border-left: 1px solid rgba(28,20,16,.18);
}
.directory-standard__lead span,
.directory-standard__item span {
  display: block;
  margin-bottom: 8px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.directory-standard__lead strong {
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  font-weight: 500;
}
.directory-standard__item strong {
  display: block;
  margin-bottom: 6px;
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 600;
}
.directory-standard__item p {
  font-family: var(--serif);
  font-size: 14px;
  font-style: italic;
  line-height: 1.45;
  color: var(--ink-muted);
}

.footer-issue-card {
  display: grid;
  width: min(100%, 330px);
  margin: 22px 0 6px;
  padding: 18px 18px 20px;
  border: 1px solid rgba(250,246,238,.24);
  transition: border-color .2s ease, background .2s ease;
}
.footer-issue-card:hover { border-color: var(--gold-light); background: rgba(250,246,238,.04); }
.footer-issue-card__eyebrow,
.footer-issue-card__meta {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  color: var(--gold-light);
}
.footer-issue-card strong {
  margin: 9px 0 13px;
  font-family: var(--serif);
  font-size: 28px;
  font-style: italic;
  font-weight: 400;
  color: var(--parchment);
}
.footer-issue-card__meta { color: rgba(250,246,238,.74); }

@media (max-width: 900px) {
  .issue-overture__intro { grid-template-columns: 1fr; gap: 24px; }
  .issue-overture__note { grid-column: 1; }
  .issue-latest__grid { grid-template-columns: 1fr; }
  .issue-latest__item,
  .issue-latest__item + .issue-latest__item {
    min-height: 0;
    padding: 26px 0;
    border-right: 0;
    border-bottom: 1px solid var(--rule-strong);
  }
  .issue-latest__item:last-child { border-bottom: 0; }
  .directory-standard { grid-template-columns: 1fr 1fr; }
  .directory-standard__lead { grid-column: 1 / -1; border-bottom: 1px solid rgba(28,20,16,.18); }
  .directory-standard__item:nth-child(2) { border-left: 0; padding-left: 0; }
  .directory-standard__item:last-child { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(28,20,16,.18); padding-left: 0; }
}
@media (max-width: 620px) {
  .issue-overture__inner { padding-left: 22px; padding-right: 22px; }
  .issue-overture__note { grid-template-columns: 1fr; align-items: start; }
  .issue-overture__letter { width: max-content; }
  .issue-latest__head { flex-direction: column; gap: 6px; }
  .issue-latest__item { grid-template-columns: 28px 1fr; gap: 12px; }
  .directory-standard { grid-template-columns: 1fr; }
  .directory-standard__item,
  .directory-standard__item:nth-child(2),
  .directory-standard__item:last-child {
    grid-column: auto;
    padding: 20px 0;
    border-left: 0;
    border-top: 1px solid rgba(28,20,16,.18);
  }
  .directory-standard__lead { grid-column: auto; }
}

/* ════════ WOW STUDY V2 — a firmer opening position ════════ */
.issue-overture--v2::after { display: none; }
.issue-overture--v2 .issue-overture__inner {
  padding: 0 40px clamp(68px, 7vw, 104px);
}
.issue-overture__ribbon {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 19px 0 17px;
  border-bottom: 1px solid var(--ink);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2.2px;
  line-height: 1.35;
  text-transform: uppercase;
}
.issue-overture--v2 .issue-overture__intro {
  grid-template-columns: minmax(275px, .54fr) minmax(0, 1.46fr);
  gap: 0;
  align-items: stretch;
  border-bottom: 1px solid var(--ink);
}
.issue-overture__edition-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: clamp(500px, 47vw, 650px);
  padding: clamp(34px, 4vw, 58px);
  background: var(--ink);
  color: var(--parchment);
}
.issue-overture__edition-label,
.issue-overture__kicker {
  display: block;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
}
.issue-overture__edition-label { color: var(--gold-light); }
.issue-overture__edition-number {
  align-self: center;
  margin: auto 0;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(152px, 21vw, 310px);
  font-style: italic;
  font-weight: 400;
  line-height: .68;
  letter-spacing: -.11em;
  color: var(--terracotta);
  transform: translateX(-.045em);
}
.issue-overture__edition-name {
  padding-top: 22px;
  border-top: 1px solid rgba(250,246,238,.28);
  font-family: var(--serif);
  font-size: clamp(25px, 2.5vw, 38px);
  font-style: italic;
  line-height: 1.05;
}
.issue-overture__manifesto {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(50px, 6.8vw, 98px) 0 clamp(50px, 6.8vw, 98px) clamp(42px, 7vw, 108px);
}
.issue-overture__kicker {
  margin-bottom: clamp(28px, 4vw, 52px);
  color: var(--terracotta);
}
.issue-overture--v2 .issue-overture__title {
  max-width: 920px;
  font-size: clamp(57px, 7.7vw, 118px);
  line-height: .86;
  letter-spacing: -.055em;
}
.issue-overture--v2 .issue-overture__title em {
  display: inline-block;
  margin-top: .12em;
}
.issue-overture--v2 .issue-overture__note {
  grid-column: auto;
  grid-template-columns: minmax(0, 620px) auto;
  gap: clamp(26px, 4vw, 54px);
  margin-top: clamp(38px, 5vw, 66px);
}
.issue-overture--v2 .issue-overture__note p {
  font-size: clamp(17px, 1.35vw, 21px);
  font-style: normal;
  line-height: 1.62;
}
.issue-overture--v2 .issue-latest { margin-top: 0; }
.issue-overture--v2 .issue-latest__head { border-top: 0; }

.directory-standard--v2 {
  grid-template-columns: 1.18fr repeat(3, 1fr);
  margin: -6px 0 46px;
  border: 0;
  background: var(--ink);
  color: var(--parchment);
}
.directory-standard--v2 .directory-standard__lead,
.directory-standard--v2 .directory-standard__item {
  padding: clamp(30px, 3vw, 44px);
}
.directory-standard--v2 .directory-standard__item {
  border-left: 1px solid rgba(250,246,238,.18);
}
.directory-standard--v2 .directory-standard__lead span,
.directory-standard--v2 .directory-standard__item span {
  margin-bottom: 18px;
  color: var(--gold-light);
}
.directory-standard--v2 .directory-standard__lead strong {
  display: block;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(34px, 3.2vw, 48px);
  font-style: normal;
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.035em;
}
.directory-standard--v2 .directory-standard__lead strong em {
  color: var(--terracotta);
  font-weight: 400;
}
.directory-standard--v2 .directory-standard__lead p {
  max-width: 260px;
  margin-top: 24px;
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1.5;
  color: rgba(250,246,238,.65);
}
.directory-standard--v2 .directory-standard__item strong {
  margin-bottom: 15px;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(23px, 2.1vw, 31px);
  font-weight: 400;
  line-height: 1.05;
  color: var(--parchment);
}
.directory-standard--v2 .directory-standard__item p {
  font-size: 15px;
  font-style: normal;
  line-height: 1.55;
  color: rgba(250,246,238,.68);
}

@media (max-width: 900px) {
  .issue-overture--v2 .issue-overture__intro { grid-template-columns: 1fr; }
  .issue-overture__edition-panel {
    min-height: 320px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr auto;
    gap: 20px;
  }
  .issue-overture__edition-label { grid-column: 1; }
  .issue-overture__edition-number {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: center;
    font-size: clamp(140px, 33vw, 260px);
  }
  .issue-overture__edition-name {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
  }
  .issue-overture__manifesto { padding-left: 0; }
  .issue-overture--v2 .issue-overture__note { grid-template-columns: minmax(0, 1fr) auto; }

  .directory-standard--v2 { grid-template-columns: 1fr 1fr; }
  .directory-standard--v2 .directory-standard__lead {
    grid-column: 1 / -1;
    border-bottom: 1px solid rgba(250,246,238,.18);
  }
  .directory-standard--v2 .directory-standard__lead p { max-width: 420px; }
  .directory-standard--v2 .directory-standard__item:nth-child(2) {
    padding-left: clamp(30px, 3vw, 44px);
    border-left: 0;
  }
  .directory-standard--v2 .directory-standard__item:last-child {
    grid-column: 1 / -1;
    padding-left: clamp(30px, 3vw, 44px);
    border-top: 1px solid rgba(250,246,238,.18);
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .issue-overture--v2 .issue-overture__inner {
    padding-right: 22px;
    padding-left: 22px;
  }
  .issue-overture__ribbon {
    flex-direction: column;
    gap: 5px;
  }
  .issue-overture__edition-panel {
    min-height: 300px;
    margin-right: -22px;
    margin-left: -22px;
    padding: 30px 22px;
  }
  .issue-overture__edition-number { font-size: clamp(128px, 42vw, 190px); }
  .issue-overture__edition-name { font-size: 24px; }
  .issue-overture__manifesto { padding: 58px 0 54px; }
  .issue-overture--v2 .issue-overture__title { font-size: clamp(48px, 15vw, 72px); }
  .issue-overture--v2 .issue-overture__note { grid-template-columns: 1fr; }

  .directory-standard--v2 { grid-template-columns: 1fr; }
  .directory-standard--v2 .directory-standard__lead,
  .directory-standard--v2 .directory-standard__item,
  .directory-standard--v2 .directory-standard__item:nth-child(2),
  .directory-standard--v2 .directory-standard__item:last-child {
    grid-column: auto;
    padding: 28px 24px;
    border-top: 1px solid rgba(250,246,238,.18);
    border-left: 0;
  }
  .directory-standard--v2 .directory-standard__lead { border-top: 0; }
}

/* ════════ WOW STUDY V3 — quiet generosity and considered detail ════════ */
.issue-overture--v3 {
  background: var(--white);
}
.issue-overture--v3::after { display: none; }
.issue-overture--v3 .issue-overture__inner {
  padding: 0 40px clamp(68px, 7vw, 104px);
}
.issue-overture--v3 .issue-overture__intro {
  grid-template-columns: minmax(0, 1.42fr) minmax(320px, .58fr);
  gap: clamp(58px, 7vw, 104px);
  align-items: center;
  padding: clamp(72px, 8vw, 118px) 0;
  border-bottom: 1px solid var(--ink);
}
.issue-overture--v3 .issue-overture__manifesto {
  padding: 0;
}
.issue-overture--v3 .issue-overture__kicker {
  margin-bottom: clamp(26px, 3.2vw, 42px);
  color: var(--terracotta);
}
.issue-overture--v3 .issue-overture__title {
  max-width: 880px;
  font-size: clamp(58px, 7.5vw, 112px);
  line-height: .94;
  letter-spacing: -.047em;
}
.issue-overture--v3 .issue-overture__title em {
  color: var(--terracotta);
  font-weight: 400;
}
.issue-overture--v3 .issue-overture__note {
  grid-column: auto;
  grid-template-columns: minmax(0, 650px) auto;
  gap: clamp(28px, 4vw, 54px);
  align-items: end;
  margin-top: clamp(36px, 4.5vw, 58px);
}
.issue-overture--v3 .issue-overture__note p {
  font-size: clamp(18px, 1.5vw, 22px);
  font-style: normal;
  line-height: 1.64;
}
.issue-overture__signoff {
  display: block;
  margin-top: clamp(34px, 4vw, 52px);
  font-family: 'Italianno', cursive;
  font-size: clamp(36px, 4vw, 52px);
  line-height: 1;
  color: var(--terracotta);
}
.issue-overture__edition-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: clamp(450px, 38vw, 510px);
  padding: clamp(32px, 3.7vw, 50px);
  border: 1px solid rgba(212,160,95,.5);
  background: linear-gradient(145deg, #2b1a15 0%, #43271e 100%);
  color: var(--parchment);
  box-shadow: 12px 12px 0 rgba(212,160,95,.17);
}
.issue-overture__edition-card::after {
  content: '';
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(212,160,95,.32);
  pointer-events: none;
}
.issue-overture__edition-topline {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: baseline;
}
.issue-overture--v3 .issue-overture__edition-label {
  position: relative;
  z-index: 1;
  color: var(--parchment);
}
.issue-overture__edition-chevron {
  position: relative;
  z-index: 1;
  margin-top: 26px;
  color: var(--gold-light);
}
.issue-overture__edition-mark {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  margin: clamp(42px, 5vw, 70px) 0 34px;
  color: var(--gold-light);
}
.issue-overture__edition-mark span {
  margin: 14px 10px 0 0;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.issue-overture__edition-mark strong {
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(118px, 10.5vw, 154px);
  font-style: italic;
  font-weight: 400;
  line-height: .68;
  letter-spacing: -.09em;
}
.issue-overture--v3 .issue-overture__edition-name {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 20px 0 0;
  border-top: 1px solid rgba(212,160,95,.45);
  font-size: clamp(27px, 2.5vw, 36px);
  font-style: italic;
  font-weight: 400;
  color: var(--parchment);
}
.issue-overture__edition-period,
.issue-overture__edition-note {
  position: relative;
  z-index: 1;
  display: block;
}
.issue-overture__edition-period {
  margin-top: 0;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  color: var(--gold-light);
}
.issue-overture__edition-note {
  margin-top: 20px;
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1.45;
  color: rgba(250,246,238,.7);
}
.issue-overture--v3 .issue-latest { margin-top: 0; }

.directory-standard--v3 {
  grid-template-columns: 1.15fr repeat(3, 1fr);
  margin: -6px 0 46px;
  border: 1px solid rgba(28,20,16,.2);
  background: rgba(243,235,218,.72);
  color: var(--ink);
}
.directory-standard--v3 .directory-standard__lead,
.directory-standard--v3 .directory-standard__item {
  padding: clamp(30px, 3vw, 44px);
}
.directory-standard--v3 .directory-standard__item {
  border-left: 1px solid rgba(28,20,16,.15);
}
.directory-standard--v3 .directory-standard__lead > span {
  margin-bottom: 19px;
  color: var(--terracotta);
}
.directory-standard--v3 .directory-standard__lead strong {
  display: block;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(34px, 3vw, 45px);
  font-style: normal;
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.03em;
}
.directory-standard--v3 .directory-standard__lead strong em {
  color: var(--terracotta);
  font-weight: 400;
}
.directory-standard--v3 .directory-standard__lead p {
  max-width: 280px;
  margin-top: 23px;
  font-family: var(--serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1.55;
  color: var(--ink-muted);
}
.directory-standard--v3 .directory-standard__item > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 28px;
  border: 1px solid rgba(181,70,15,.45);
  border-radius: 50%;
  color: var(--terracotta);
}
.directory-standard--v3 .directory-standard__item strong {
  margin-bottom: 13px;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(22px, 2vw, 29px);
  font-weight: 400;
  line-height: 1.1;
}
.directory-standard--v3 .directory-standard__item p {
  font-size: 15px;
  font-style: normal;
  line-height: 1.58;
  color: var(--ink-muted);
}

@media (max-width: 900px) {
  .issue-overture--v3 .issue-overture__intro {
    grid-template-columns: 1fr;
    gap: 54px;
  }
  .issue-overture--v3 .issue-overture__note {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .issue-overture__edition-card {
    width: min(100%, 440px);
    min-height: 390px;
  }
  .directory-standard--v3 { grid-template-columns: 1fr 1fr; }
  .directory-standard--v3 .directory-standard__lead {
    grid-column: 1 / -1;
    border-bottom: 1px solid rgba(28,20,16,.15);
  }
  .directory-standard--v3 .directory-standard__lead p { max-width: 430px; }
  .directory-standard--v3 .directory-standard__item:nth-child(2) {
    padding-left: clamp(30px, 3vw, 44px);
    border-left: 0;
  }
  .directory-standard--v3 .directory-standard__item:last-child {
    grid-column: 1 / -1;
    padding-left: clamp(30px, 3vw, 44px);
    border-top: 1px solid rgba(28,20,16,.15);
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .issue-overture--v3 .issue-overture__inner {
    padding-right: 22px;
    padding-left: 22px;
  }
  .issue-overture--v3 .issue-overture__intro {
    gap: 46px;
    padding: 58px 0 64px;
  }
  .issue-overture--v3 .issue-overture__title {
    font-size: clamp(48px, 14vw, 68px);
  }
  .issue-overture--v3 .issue-overture__note { grid-template-columns: 1fr; }
  .issue-overture__edition-card {
    width: 100%;
    min-height: 350px;
    padding: 34px;
  }
  .issue-overture__edition-mark strong { font-size: 112px; }

  .directory-standard--v3 { grid-template-columns: 1fr; }
  .directory-standard--v3 .directory-standard__lead,
  .directory-standard--v3 .directory-standard__item,
  .directory-standard--v3 .directory-standard__item:nth-child(2),
  .directory-standard--v3 .directory-standard__item:last-child {
    grid-column: auto;
    padding: 30px 26px;
    border-top: 1px solid rgba(28,20,16,.15);
    border-left: 0;
  }
  .directory-standard--v3 .directory-standard__lead { border-top: 0; }
}

/* ════════ COMPACT HOMEPAGE MASTHEAD — a warm editorial signature ════════ */
.contributors.masthead.masthead--compact {
  padding: clamp(62px, 7vw, 94px) 0 clamp(58px, 6.5vw, 84px);
  background: var(--ink-warm);
}
.masthead-compact__head {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 48px;
  align-items: end;
  margin-bottom: 34px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(245,235,220,.2);
}
.masthead--compact .masthead__eyebrow {
  display: block;
  margin-bottom: 16px;
  padding: 0;
  font-family: var(--mono);
  font-size: 12px;
  font-style: normal;
  letter-spacing: 2.2px;
}
.masthead-compact__title {
  max-width: 780px;
  margin: 0;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.035em;
  color: var(--parchment);
  text-wrap: balance;
}
.masthead-compact__title em {
  color: var(--gold-light);
  font-weight: 400;
}
.masthead--compact .masthead__link {
  flex: 0 0 auto;
  margin-bottom: 5px;
  font-size: 12px;
}
.masthead-compact__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}
.masthead-person {
  display: block;
  min-width: 0;
}
.masthead-person__portrait {
  position: relative;
  aspect-ratio: 4 / 5;
  margin: 0 0 18px;
  overflow: hidden;
  background: #c9bfaf;
}
.masthead-person__portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(245,235,220,.18);
  pointer-events: none;
}
.masthead-person__portrait img {
  object-position: center 24%;
  filter: saturate(.9) contrast(1.02);
  transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .35s ease;
}
.masthead-person__portrait--sonwabile img { object-position: center 20%; }
.masthead-person:hover .masthead-person__portrait img,
.masthead-person:focus-visible .masthead-person__portrait img {
  transform: scale(1.025);
  filter: saturate(1) contrast(1);
}
.masthead-person__portrait--aubrey img {
  object-position: center 30%;
  transform: scale(1.08);
}
.masthead-person:hover .masthead-person__portrait--aubrey img,
.masthead-person:focus-visible .masthead-person__portrait--aubrey img {
  transform: scale(1.105);
}
.masthead-person__name {
  display: block;
  margin-bottom: 7px;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 400;
  line-height: 1.05;
  color: var(--parchment);
}
.masthead-person__name em {
  color: var(--gold-light);
  font-weight: 400;
}
.masthead-person__meta {
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 1.25px;
  line-height: 1.5;
  text-transform: uppercase;
  color: rgba(250,246,238,.62);
}
@media (max-width: 900px) {
  .masthead-compact__head {
    align-items: start;
    flex-direction: column;
    gap: 22px;
  }
  .masthead-compact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .masthead-compact__grid { gap: 30px 14px; }
  .masthead-person__portrait { margin-bottom: 14px; }
  .masthead-person__name { font-size: 19px; }
  .masthead-person__meta { font-size: 10px; letter-spacing: .9px; }
}

/* ════════ SIGNATURE MOMENT — For you, today ════════ */
.mukhaye-for-you {
  margin-top: clamp(72px, 8vw, 116px);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.mukhaye-for-you__head {
  display: grid;
  grid-template-columns: minmax(170px, .34fr) minmax(0, 1.66fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
  padding: 24px 0 clamp(38px, 5vw, 66px);
}
.mukhaye-for-you__head > span {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 2px;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--terracotta);
}
.mukhaye-for-you__head h3 {
  max-width: 900px;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(42px, 5.5vw, 78px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.mukhaye-for-you__body {
  display: grid;
  grid-template-columns: minmax(230px, .42fr) minmax(0, 1.58fr);
  gap: clamp(30px, 5vw, 70px);
  padding-bottom: clamp(58px, 7vw, 92px);
}
.mukhaye-for-you__choices {
  border-top: 1px solid var(--rule-strong);
}
.mukhaye-for-you__choice {
  width: 100%;
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 13px;
  align-items: center;
  min-height: 66px;
  padding: 14px 8px 14px 0;
  border: 0;
  border-bottom: 1px solid var(--rule-strong);
  background: transparent;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.25;
  text-align: left;
  color: var(--ink-muted);
  cursor: pointer;
  transition: padding-left .28s ease, color .2s ease, background .2s ease;
}
.mukhaye-for-you__choice span {
  font-family: 'Bodoni Moda', var(--serif);
  font-size: 15px;
  font-style: italic;
  color: var(--terracotta);
}
.mukhaye-for-you__choice:hover,
.mukhaye-for-you__choice.is-active {
  padding-left: 14px;
  color: var(--ink);
  background: rgba(243,235,218,.58);
}
.mukhaye-for-you__choice:focus-visible {
  outline: 2px solid var(--terracotta);
  outline-offset: 3px;
}
.mukhaye-for-you__result {
  display: grid;
  grid-template-columns: minmax(240px, .82fr) minmax(0, 1.18fr);
  min-height: 390px;
  background: var(--parchment-warm);
  overflow: hidden;
  transition: opacity .2s ease, transform .35s cubic-bezier(.2,.8,.2,1);
}
.mukhaye-for-you__result.is-changing {
  opacity: .18;
  transform: translateY(6px);
}
.mukhaye-for-you__image-link {
  display: block;
  min-height: 100%;
  overflow: hidden;
}
.mukhaye-for-you__image-link img {
  transition: transform 1s cubic-bezier(.2,.8,.2,1);
}
.mukhaye-for-you__result:hover .mukhaye-for-you__image-link img { transform: scale(1.025); }
.mukhaye-for-you__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 5vw, 70px);
}
.mukhaye-for-you__category {
  margin-bottom: 19px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.mukhaye-for-you__copy h4 {
  max-width: 620px;
  font-family: 'Bodoni Moda', var(--serif);
  font-size: clamp(34px, 4.2vw, 60px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.mukhaye-for-you__copy h4 em { color: var(--terracotta); font-weight: 400; }
.mukhaye-for-you__copy p {
  max-width: 540px;
  margin-top: 22px;
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.58;
  color: var(--ink-muted);
}
.mukhaye-for-you__link {
  width: max-content;
  margin-top: 30px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--terracotta);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--terracotta);
}

@media (max-width: 900px) {
  .mukhaye-for-you__head { grid-template-columns: 1fr; gap: 16px; }
  .mukhaye-for-you__body { grid-template-columns: 1fr; gap: 28px; }
  .mukhaye-for-you__choices {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-left: 1px solid var(--rule-strong);
  }
  .mukhaye-for-you__choice { padding-left: 14px; border-right: 1px solid var(--rule-strong); }
  .mukhaye-for-you__choice:hover,
  .mukhaye-for-you__choice.is-active { padding-left: 20px; }
}

@media (max-width: 620px) {
  .mukhaye-for-you { margin-top: 64px; }
  .mukhaye-for-you__head { padding-bottom: 34px; }
  .mukhaye-for-you__head h3 { font-size: clamp(38px, 12vw, 54px); }
  .mukhaye-for-you__choices {
    display: flex;
    margin-right: -22px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    border-left: 0;
  }
  .mukhaye-for-you__choices::-webkit-scrollbar { display: none; }
  .mukhaye-for-you__choice {
    flex: 0 0 min(76vw, 290px);
    min-height: 74px;
    padding: 14px 16px;
    scroll-snap-align: start;
    border-top: 1px solid var(--rule-strong);
  }
  .mukhaye-for-you__choice:hover,
  .mukhaye-for-you__choice.is-active { padding-left: 20px; }
  .mukhaye-for-you__result { grid-template-columns: 1fr; }
  .mukhaye-for-you__image-link { aspect-ratio: 4 / 3; min-height: 0; }
  .mukhaye-for-you__copy { padding: 34px 24px 38px; }
  .mukhaye-for-you__copy h4 { font-size: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .mukhaye-for-you__result,
  .mukhaye-for-you__image-link img,
  .mukhaye-for-you__choice { transition: none; }
}


/* Final homepage pacing and a composition specifically for phones. */
html { scroll-behavior: auto; }
.reveal { opacity: 1; transform: none; transition: none; }
body.cover-mode.cinematic :where(.cover-wordmark,.cover-storyno,.cover-eyebrow,.hero-cover__headline,.hero-coverlines,.cover-scroll) { animation: none; opacity: 1; }
.cover-scroll__line::after { animation: none; }
.issue-overture--v3 .issue-overture__intro { padding-block: clamp(56px,6vw,88px); }
.issue-overture--v3 .issue-overture__title { font-size: clamp(48px,6vw,86px); max-width: 14ch; line-height: 1; }
.issue-overture--v3 .issue-overture__note { display: block; max-width: 58ch; margin-top: 28px; }
.issue-overture--v3 .issue-overture__letter { margin-top: 20px; white-space: normal; font-size: 12px; }
.issue-overture__edition-topline { flex-wrap: wrap; gap: 12px; }
.issue-overture--v3 .issue-overture__edition-name { align-self: stretch; grid-column: auto; grid-row: auto; line-height: 1.12; }
.issue-overture__edition-card { min-width: 0; }
.mukhaye-for-you { margin-top: 0; border-top: 0; }
.mukhaye-for-you__head { padding-block: 34px; }
.mukhaye-for-you__head h3 { font-size: clamp(34px,4vw,54px); max-width: 26ch; }
.mukhaye-for-you__body { padding-bottom: 42px; grid-template-columns: minmax(220px,.7fr) minmax(0,1.5fr); gap: 38px; }
.mukhaye-for-you__result { min-height: 320px; grid-template-columns: minmax(160px,.85fr) minmax(0,1.15fr); }
.mukhaye-for-you__copy { padding: 30px; }
.mukhaye-for-you__copy h4 { font-size: clamp(30px,3.2vw,44px); }
.mukhaye-for-you__copy p { font-size: 16px; }
.mukhaye-for-you__image-link { position: relative; }
.mukhaye-for-you__image-link img { position: absolute; inset: 0; object-position: center 25%; }
.issue-overture--v3 .issue-overture__inner { padding-bottom: 0; }
.beauty-desk { padding-block: 80px; }
.travel-postcard { min-height: 560px; height: 70vh; max-height: 780px; }
.travel-postcard__deck { max-width: 43ch; }
.travel-postcard__image, .silent-moment__image { transform: none !important; }
.weddings-section.weddings-section--spread { background: var(--parchment); padding-block: 76px 54px; }
.weddings-section--spread .section-head__title { color: var(--ink); font-size: clamp(44px,5vw,72px); }
.wed-spread__rail { display: grid; grid-template-columns: 1.6fr 1fr; gap: 48px; max-width: 1440px; margin: auto; overflow: visible; padding: 0 40px; scroll-snap-type: none; }
.wed-spread__slide, .wed-spread__slide--lead { width: auto; min-width: 0; }
.wed-spread__slide--lead .wed-spread__slide-image { aspect-ratio: 16/10; }
.wed-spread__slide:not(.wed-spread__slide--lead) .wed-spread__slide-image { aspect-ratio: 1; }
.wed-spread__slide-credits { display: none; }
.wed-spread__slide-folio { display: none; }
.wed-spread__slide-deck { font-size: 16px; }
.wed-spread__slide:hover .wed-spread__slide-image img { transform: none; }
.wed-directory { padding-top: 32px; border-top: 1px solid var(--rule-strong); }
.wed-directory__masthead { display: none; }
.wed-directory .wed-directory__head { padding-top: 0; margin-bottom: 28px; grid-template-columns: 1fr; }
.wed-directory .wed-directory__head-right { display: none; }
.wed-directory__title { font-size: clamp(38px,4.5vw,64px); }
.wed-directory__deck { max-width: 60ch; }
.wed-directory__head-left { max-width: none; }
.directory-standard--v3 { display: block; background: transparent; border-inline: 0; margin-block: 24px; }
.directory-standard--v3 summary { min-height: 64px; display: flex; align-items: center; gap: 24px; padding: 18px 0; font-family: var(--mono); font-size: 12px; letter-spacing: 1.5px; cursor: pointer; list-style: none; }
.directory-standard--v3 summary::-webkit-details-marker { display: none; }
.directory-standard--v3 summary em { font-family: var(--serif); font-size: 20px; letter-spacing: 0; color: var(--terracotta); }
.directory-standard--v3 summary > span { margin-left: auto; font-size: 24px; }
.directory-standard--v3[open] summary > span { transform: rotate(45deg); }
.directory-standard__details { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--rule-strong); }
.directory-standard--v3 .directory-standard__lead { display: none; }
.directory-standard--v3 .directory-standard__item, .directory-standard--v3 .directory-standard__item:last-child { padding: 24px; grid-column: auto; border-top: 0; }
.directory-standard--v3 .directory-standard__item:nth-child(2) { padding-left: 0; border-left: 0; }
.directory-standard--v3 .directory-standard__item p { font-size: 16px; }
.directory-standard--v3 .directory-standard__item > span { display: none; }
.wed-directory__filters { margin-bottom: 28px; }
.silent-moment { height: 76vh; min-height: 500px; max-height: 800px; }
.contributors.masthead.masthead--compact { background: var(--parchment); color: var(--ink); padding-block: 60px; }
.contributors.masthead.masthead--compact::before { display: none; }
.masthead-compact__head { border-color: var(--rule-strong); margin-bottom: 24px; padding-bottom: 20px; }
.masthead--compact .masthead__eyebrow { color: var(--terracotta); }
.masthead-compact__title { color: var(--ink); font-size: clamp(34px,3.5vw,50px); max-width: 26ch; }
.masthead-compact__title em,.masthead-person__name em,.masthead--compact .masthead__link { color: var(--terracotta); }
.masthead-person__name { color: var(--ink); font-size: 23px; }
.masthead-person__meta { color: var(--ink-muted); font-size: 12px; letter-spacing: .4px; text-transform: none; }
.masthead-person__portrait { aspect-ratio: 5/4; }
.masthead--compact .masthead__link { font-size: 12px; min-height: 44px; white-space: normal; }
.thursday.thursday--specimen { padding: 54px 0; background: #2b1a15; }
.thursday--specimen .spec__inner { display: grid; grid-template-columns: .6fr 1.4fr; align-items: start; gap: 70px; max-width: 1240px; margin: auto; padding: 0 40px; }
.thursday--specimen .spec__word { font-size: clamp(60px,7vw,96px); line-height: .9; letter-spacing: -.05em; margin: 0; }
.thursday--specimen .spec__word::before,.thursday--specimen .spec__word::after { display: none; }
.thursday--specimen .spec__caption { margin: 0; text-align: left; }
.thursday--specimen .spec__caption-body { margin: 0; max-width: 48ch; font-size: 18px; }
.thursday--specimen .thursday__form { margin-top: 24px; }
.spec__word em { color: var(--gold-light); font-weight: 400; }
:where(a,button,summary):focus-visible { outline: 2px solid var(--terracotta); outline-offset: 5px; }
@media (max-width: 1100px) {
  .mukhaye-for-you__body { grid-template-columns: 1fr; gap: 20px; }
  .mukhaye-for-you__choices { display: grid; grid-template-columns: repeat(4,1fr); border-left: 0; }
  .mukhaye-for-you__choice { padding: 14px 12px; grid-template-columns: 24px 1fr; }
  .mukhaye-for-you__result { grid-template-columns: 1fr 1.4fr; min-height: 330px; }
}
@media (max-width: 700px) {
  .folio-spine { display: none; }
  .container,.issue-overture--v3 .issue-overture__inner { padding-inline: 22px; }
  .site-header .header-right { display: none; }
  .header-inner { display: grid; grid-template-columns: 70px 1fr 70px; padding-inline: 18px; }
  .header-inner .wordmark { justify-self: center; }
  body.cover-mode.cinematic .hero { min-height: 660px; height: 94svh; max-height: 900px; }
  .hero__image img { object-position: 50% 12%; }
  body.cover-mode.cinematic .cover-masthead { top: 68px; }
  body.cover-mode.cinematic .hero-cover { bottom: 52px; width: calc(100% - 44px); align-items: flex-start; text-align: left; }
  body.cover-mode.cinematic .hero-cover__headline { font-size: clamp(48px,13vw,72px); line-height: .94; }
  .hero-cover__masthead { display: none; }
  .hero-coverlines,.cover-scroll { display: none; }
  .issue-overture__ribbon { flex-direction: row; flex-wrap: wrap; font-size: 12px; letter-spacing: .5px; gap: 10px; }
  .issue-overture--v3 .issue-overture__intro { display: block; padding: 48px 0 36px; }
  .issue-overture--v3 .issue-overture__title { font-size: clamp(44px,12vw,64px); max-width: 12ch; }
  .issue-overture--v3 .issue-overture__kicker { font-size: 12px; letter-spacing: 1px; }
  .issue-overture--v3 .issue-overture__note p { font-size: 18px; line-height: 1.65; }
  .issue-overture__signoff { margin-top: 24px; font-size: 42px; }
  .issue-overture__edition-card { display: grid; grid-template-columns: 54px 1fr; min-height: 0; width: 100%; padding: 24px; margin-top: 38px; gap: 12px 18px; box-shadow: 5px 5px 0 rgba(212,160,95,.18); }
  .issue-overture__edition-card::after { inset: 8px; }
  .issue-overture__edition-topline { grid-column: 2; display: block; }
  .issue-overture__edition-label { display: none; }
  .issue-overture__edition-period { font-size: 12px; letter-spacing: .6px; }
  .issue-overture__edition-chevron,.issue-overture__edition-note { display: none; }
  .issue-overture__edition-mark { grid-column: 1; grid-row: 1/3; margin: 0; align-items: center; }
  .issue-overture__edition-mark span { display: none; }
  .issue-overture__edition-mark strong { font-size: 64px; line-height: 1; }
  .issue-overture--v3 .issue-overture__edition-name { grid-column: 2; grid-row: 2; padding: 0; border: 0; font-size: 28px; }
  .mukhaye-for-you__head { display: block; padding: 32px 0 24px; }
  .mukhaye-for-you__head > span { display: block; margin-bottom: 16px; }
  .mukhaye-for-you__head h3 { font-size: 37px; line-height: 1.04; }
  .mukhaye-for-you__choices { display: grid; grid-template-columns: 1fr 1fr; margin: 0; overflow: visible; gap: 8px; border: 0; }
  .mukhaye-for-you__choice { min-height: 60px; display: block; border: 1px solid var(--rule-strong); padding: 12px; font-size: 15px; }
  .mukhaye-for-you__choice span { display: none; }
  .mukhaye-for-you__choice:hover,.mukhaye-for-you__choice.is-active { padding: 12px; border-color: var(--terracotta); }
  .mukhaye-for-you__result { grid-template-columns: 1fr; min-height: 0; }
  .mukhaye-for-you__image-link { aspect-ratio: 16/10; }
  .mukhaye-for-you__image-link img { object-position: center 28%; }
  .mukhaye-for-you__copy { padding: 25px; min-height: 265px; }
  .mukhaye-for-you__copy h4 { font-size: 34px; }
  .mukhaye-for-you__link { margin-top: 20px; min-height: 44px; display: inline-flex; align-items: center; gap: 15px; }
  .beauty-desk { padding-block: 50px; }
  .beauty-desk__title { font-size: 44px; }
  .beauty-desk__layout { display: flex; flex-direction: column; gap: 38px; }
  .beauty-desk__detail { width: 100%; max-width: none; }
  .topshelf__frame { max-width: none; }
  .beauty-desk__deck { font-size: 17px; line-height: 1.6; }
  .travel-postcard { min-height: 540px; height: 78svh; max-height: 740px; }
  .travel-postcard__title { font-size: clamp(40px,11vw,60px); }
  .travel-postcard__inner { padding: 42px 22px; justify-content: flex-end; }
  .travel-postcard__deck { font-size: 17px; }
  .weddings-section.weddings-section--spread { padding-block: 50px 32px; }
  .weddings-section--spread .section-head__title { font-size: 44px; }
  .wed-spread__rail { display: block; padding-inline: 22px; }
  .wed-spread__slide { margin-bottom: 34px; }
  .wed-spread__slide:not(.wed-spread__slide--lead) { display: grid; grid-template-columns: .65fr 1fr; gap: 20px; border-top: 1px solid var(--rule-strong); padding-top: 28px; }
  .wed-spread__slide:not(.wed-spread__slide--lead) .wed-spread__slide-image { aspect-ratio: 3/4; margin: 0; }
  .wed-spread__slide:not(.wed-spread__slide--lead) .wed-spread__slide-deck { display: none; }
  .wed-spread__slide:not(.wed-spread__slide--lead) .wed-spread__slide-title { font-size: 27px; }
  .wed-spread__slide-byline { font-size: 12px; }
  .wed-directory { padding-bottom: 46px; }
  .wed-directory__title { font-size: 40px; }
  .wed-directory__deck { font-size: 17px; }
  .wed-directory__filters { flex-wrap: wrap; overflow: visible; }
  .wed-directory__chip { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 12px; }
  .directory-standard--v3 summary { display: grid; grid-template-columns: 1fr 24px; gap: 10px; font-size: 12px; }
  .directory-standard--v3 summary em { grid-row: 2; font-size: 20px; }
  .directory-standard--v3 summary > span { grid-row: 1/3; grid-column: 2; }
  .directory-standard__details { display: block; }
  .directory-standard--v3 .directory-standard__item,.directory-standard--v3 .directory-standard__item:last-child { padding: 20px 0; border: 0; }
  .wed-directory__grid { display: block; }
  .wed-directory .wd-card { display: grid; grid-template-columns: 120px 1fr; margin-bottom: 14px; }
  .wd-card__image { aspect-ratio: auto; height: 100%; min-height: 154px; }
  .wd-card__body { padding: 18px; }
  .wd-card__name { font-size: 22px; }
  .silent-moment { min-height: 480px; height: 74svh; }
  .silent-moment__caption { padding: 28px 22px; left: 0; right: 0; }
  .contributors.masthead.masthead--compact { padding-block: 42px; }
  .masthead-compact__title { font-size: 38px; }
  .masthead-person__portrait { aspect-ratio: 4/5; }
  .masthead-person__name { font-size: 21px; }
  .masthead-person__meta { font-size: 12px; letter-spacing: 0; }
  .thursday--specimen .spec__inner { display: block; padding-inline: 22px; }
  .thursday--specimen .spec__word { font-size: 68px; margin-bottom: 28px; text-align: left; }
  .thursday--specimen .thursday__form { display: flex; flex-wrap: wrap; gap: 10px; }
  .thursday__input { min-width: 0; flex: 1 1 200px; font-size: 16px; }
  .thursday__btn { min-height: 48px; flex: 1 1 120px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* The closing movement: address book, personal note, house signature. */
.wed-directory {
  position: relative;
  overflow: hidden;
  padding: 96px 0 0;
  background: #2b1a15;
  color: var(--parchment);
  border: 0;
}
.wed-directory::before {
  content: '';
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(212,160,95,.28);
  pointer-events: none;
}
.wed-directory > .container { position: relative; }
.wed-directory .wed-directory__head {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(240px,.55fr);
  align-items: center;
  gap: clamp(48px,8vw,120px);
  padding: 0 0 64px;
  margin: 0 0 34px;
  border-bottom: 1px solid rgba(250,246,238,.2);
}
.wed-directory .wed-directory__head-left { max-width: 760px; }
.wed-directory .wed-directory__eyebrow {
  color: var(--gold-light);
  font-family: var(--mono);
  font-style: normal;
  font-size: 12px;
  letter-spacing: 2.2px;
}
.wed-directory .wed-directory__title {
  max-width: 13ch;
  color: var(--parchment);
  font-size: clamp(52px,6vw,88px);
  line-height: .98;
}
.wed-directory .wed-directory__title em { color: var(--gold-light); }
.wed-directory .wed-directory__deck {
  max-width: 650px;
  color: rgba(250,246,238,.78);
  font-size: 19px;
  font-style: normal;
  line-height: 1.62;
}
.wed-directory .wed-directory__primary-cta {
  display: inline-flex;
  align-items: center;
  gap: 30px;
  min-height: 52px;
  margin-top: 28px;
  padding: 14px 20px;
  background: var(--parchment);
  color: #2b1a15;
}
.wed-directory .wed-directory__primary-cta:hover { background: var(--gold-light); color: #2b1a15; }
.wed-directory .wed-directory__vendor-door { color: rgba(250,246,238,.62); }
.wed-directory .wed-directory__vendor-door a { color: var(--gold-light); border-color: rgba(212,160,95,.7); }
.wed-directory .wed-directory__head-right { display: flex; align-items: center; justify-content: center; }
.wed-directory .wed-directory__bignum {
  width: min(100%,290px);
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(212,160,95,.65);
  border-radius: 50%;
}
.wed-directory .wed-directory__bignum::before {
  content: 'Selected across';
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--gold-light);
}
.wed-directory .wed-directory__bignum-figure { color: var(--parchment); font-size: clamp(74px,8vw,116px); }
.wed-directory .wed-directory__bignum-line { max-width: 150px; color: rgba(250,246,238,.7); font-size: 15px; }
.wed-directory .directory-standard--v3 {
  color: var(--parchment);
  border-color: rgba(250,246,238,.24);
}
.wed-directory .directory-standard--v3 summary { color: rgba(250,246,238,.8); }
.wed-directory .directory-standard--v3 summary em { color: var(--gold-light); }
.wed-directory .directory-standard__details { border-color: rgba(250,246,238,.2); }
.wed-directory .directory-standard__item { border-color: rgba(250,246,238,.18); }
.wed-directory .directory-standard__item strong { color: var(--parchment); }
.wed-directory .directory-standard__item p { color: rgba(250,246,238,.65); }
.wed-directory__browse-ways {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px,6vw,90px);
  padding: 28px 0 32px;
  border-top: 1px solid rgba(250,246,238,.2);
  border-bottom: 1px solid rgba(250,246,238,.2);
}
.wed-directory__browse-way {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 9px 20px;
}
.wed-directory__browse-way > span:first-child {
  width: 100%;
  margin-bottom: 7px;
  color: var(--gold-light);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.wed-directory__browse-way a {
  color: rgba(250,246,238,.82);
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.4;
  border-bottom: 1px solid transparent;
}
.wed-directory__browse-way a:hover { color: var(--gold-light); border-color: rgba(212,160,95,.7); }
.wed-directory .wed-directory__filters {
  border-color: rgba(250,246,238,.2);
  scrollbar-color: var(--gold-light) transparent;
}
.wed-directory .wed-directory__filter-label { color: rgba(250,246,238,.56); }
.wed-directory .wed-directory__chip { color: rgba(250,246,238,.76); border-color: rgba(250,246,238,.25); }
.wed-directory .wed-directory__chip:hover,.wed-directory .wed-directory__chip.is-active {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #2b1a15;
}
.wed-directory .wed-directory__chip--country { color: var(--gold-light); }
.wed-directory .wed-directory__featured-head { align-items: center; margin: 40px 0 24px; }
.wed-directory .wed-directory__featured-label { color: var(--parchment); font-size: 26px; }
.wed-directory .wed-directory__featured-label::before { background: var(--gold-light); }
.wed-directory .wed-directory__featured-link { color: var(--gold-light); border-color: var(--gold-light); }
.wed-directory .wed-directory__grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  margin-bottom: 0;
}
.wed-directory .wd-card {
  min-width: 0;
  background: var(--parchment);
  border: 0;
  box-shadow: none;
}
.wed-directory .wd-card:nth-child(1),.wed-directory .wd-card:nth-child(4) { grid-column: span 2; }
.wed-directory .wd-card:nth-child(1) .wd-card__image,.wed-directory .wd-card:nth-child(4) .wd-card__image { aspect-ratio: 16/9; }
.wed-directory .wd-card:nth-child(2) .wd-card__image,.wed-directory .wd-card:nth-child(3) .wd-card__image { aspect-ratio: 4/5; }
.wed-directory .wd-card__image-note {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 7px;
  background: rgba(28,20,16,.76);
  color: rgba(250,246,238,.86);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.wed-directory .wd-card__body { padding: 22px 24px 26px; }
.wed-directory .wd-card__name { font-size: clamp(24px,2.5vw,34px); }
.wed-directory .wd-card__view { margin-top: auto; padding-top: 14px; }
.wed-directory__invitation {
  display: grid;
  grid-template-columns: .7fr 1.5fr auto;
  align-items: center;
  gap: 44px;
  margin: 76px 0 0;
  padding: 58px 64px;
  background: var(--parchment);
  color: #2b1a15;
}
.wed-directory__invitation-kicker {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--terracotta);
}
.wed-directory__invitation h3 {
  max-width: 18ch;
  font-family: var(--serif);
  font-size: clamp(34px,4vw,56px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.025em;
}
.wed-directory__invitation h3 em { color: var(--terracotta); font-weight: 400; }
.wed-directory__invitation a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid #2b1a15;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  white-space: nowrap;
}

.thursday.thursday--specimen.edit-invitation {
  padding: 88px 40px;
  overflow: hidden;
  background: #d5a263;
  color: #2b1a15;
}
.edit-invitation::before,.edit-invitation::after { display: none; }
.edit-invitation__frame {
  position: relative;
  isolation: isolate;
  min-height: 430px;
  max-width: 1240px;
  margin: auto;
  padding: clamp(42px,6vw,76px);
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
  align-items: end;
  gap: clamp(48px,8vw,110px);
  border: 1px solid rgba(43,26,21,.72);
}
.edit-invitation__monogram {
  position: absolute;
  z-index: -1;
  right: 2%;
  bottom: -20%;
  font-family: var(--serif);
  font-size: clamp(300px,37vw,560px);
  font-style: italic;
  line-height: .72;
  color: rgba(43,26,21,.07);
  pointer-events: none;
}
.edit-invitation__eyebrow {
  display: block;
  margin-bottom: 22px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.edit-invitation__copy h2 {
  max-width: 9ch;
  margin: 0 0 28px;
  font-family: var(--serif);
  font-size: clamp(62px,7vw,100px);
  font-weight: 500;
  line-height: .88;
  letter-spacing: -.05em;
}
.edit-invitation__copy h2 em { font-weight: 400; }
.edit-invitation__copy > p { max-width: 50ch; font-family: var(--serif); font-size: 18px; line-height: 1.65; }
.edit-invitation__action { position: relative; }
.edit-invitation .thursday__form { display: grid; grid-template-columns: 1fr auto; margin: 0; }
.edit-invitation .thursday__input {
  min-width: 0;
  min-height: 58px;
  padding: 14px 2px;
  border: 0;
  border-bottom: 1px solid #2b1a15;
  background: transparent;
  color: #2b1a15;
  font-family: var(--serif);
  font-size: 18px;
}
.edit-invitation .thursday__input::placeholder { color: rgba(43,26,21,.68); }
.edit-invitation .thursday__btn {
  min-height: 58px;
  padding: 14px 22px;
  border: 1px solid #2b1a15;
  background: #2b1a15;
  color: var(--parchment);
}
.edit-invitation .thursday__btn:hover { background: var(--parchment); color: #2b1a15; }
.edit-invitation__note { margin-top: 14px; font-family: var(--serif); font-size: 14px; font-style: italic; color: rgba(43,26,21,.72); }

.site-footer {
  overflow: hidden;
  padding: 0 0 34px;
  background: #150e0b;
}
.footer-coda {
  padding: 104px 40px 0;
  text-align: center;
  border-bottom: 1px solid rgba(250,246,238,.15);
}
.footer-coda__eyebrow {
  display: block;
  margin-bottom: 24px;
  color: var(--gold-light);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
}
.footer-coda h2 {
  max-width: 16ch;
  margin: auto;
  color: var(--parchment);
  font-family: var(--serif);
  font-size: clamp(48px,6vw,84px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
}
.footer-coda h2 em { color: var(--gold-light); font-weight: 400; }
.footer-coda__chevron { display: block; width: 120px; margin: 34px auto 64px; color: var(--gold-light); }
.footer-coda__wordmark {
  display: block;
  margin: 0 -2vw -0.13em;
  color: var(--parchment);
  font-family: var(--serif);
  font-size: clamp(92px,17.8vw,280px);
  font-weight: 500;
  line-height: .72;
  letter-spacing: -.055em;
  text-decoration: none;
  white-space: nowrap;
}
.site-footer > .container { max-width: 1440px; }
.site-footer .footer-top {
  grid-template-columns: 2fr repeat(3,1fr);
  gap: clamp(34px,5vw,74px);
  padding: 68px 0 58px;
}
.footer-house-note { display: grid; grid-template-columns: 1fr; gap: 24px; }
.footer-brand-tag { margin-bottom: 14px; font-family: var(--mono); font-style: normal; font-size: 10px; }
.footer-brand-desc { max-width: 340px; margin: 0; color: rgba(250,246,238,.82); font-size: 22px; line-height: 1.35; }
.site-footer .footer-issue-card { margin-top: 26px; }
.site-footer .footer-contacts { margin-top: 0; padding-top: 22px; }
.site-footer .footer-contacts__list li { grid-template-columns: 1fr; gap: 1px; }
.site-footer .footer-col-title { color: var(--gold-light); }
.site-footer .footer-links { gap: 13px; }
.site-footer .footer-links a { color: rgba(250,246,238,.78); font-size: 17px; }
.site-footer .footer-bottom { border-top: 1px solid rgba(250,246,238,.1); }

@media (max-width: 980px) {
  .wed-directory .wed-directory__head { grid-template-columns: 1fr 220px; gap: 40px; }
  .wed-directory .wed-directory__bignum { width: 220px; }
  .wed-directory__invitation { grid-template-columns: 1fr 1.5fr; }
  .wed-directory__invitation a { grid-column: 2; justify-self: start; }
  .edit-invitation__frame { grid-template-columns: 1fr; align-items: start; }
  .edit-invitation__copy > p { max-width: 60ch; }
  .site-footer .footer-top { grid-template-columns: repeat(3,1fr); }
  .footer-house-note { grid-column: 1 / -1; grid-template-columns: 1fr 1.3fr; padding-bottom: 42px; border-bottom: 1px solid rgba(250,246,238,.12); }
  .footer-house-note .footer-contacts { padding-top: 0; border-top: 0; }
  .site-footer .footer-contacts__list li { grid-template-columns: 125px 1fr; }
}

@media (max-width: 700px) {
  .wed-directory { padding-top: 68px; }
  .wed-directory::before { inset: 10px; }
  .wed-directory .wed-directory__head { display: block; padding-bottom: 42px; }
  .wed-directory .wed-directory__title { max-width: 11ch; font-size: 49px; }
  .wed-directory .wed-directory__deck { font-size: 18px; }
  .wed-directory .wed-directory__head-right { margin-top: 38px; justify-content: flex-start; }
  .wed-directory .wed-directory__bignum {
    width: 100%;
    min-height: 90px;
    aspect-ratio: auto;
    display: grid;
    grid-template-columns: auto auto 1fr;
    justify-items: start;
    gap: 14px;
    padding: 16px 20px;
    border-radius: 0;
    text-align: left;
  }
  .wed-directory .wed-directory__bignum::before { grid-column: 1/-1; }
  .wed-directory .wed-directory__bignum-figure { font-size: 54px; }
  .wed-directory .wed-directory__bignum-line { align-self: center; max-width: 130px; font-size: 14px; }
  .wed-directory .directory-standard--v3 summary { color: var(--parchment); }
  .wed-directory__browse-ways { display: block; padding-block: 22px; }
  .wed-directory__browse-way + .wed-directory__browse-way { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(250,246,238,.14); }
  .wed-directory__browse-way { gap: 8px 16px; }
  .wed-directory__browse-way a { font-size: 16px; }
  .wed-directory .wed-directory__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-inline: -22px;
    padding-inline: 22px;
    scrollbar-width: none;
  }
  .wed-directory .wed-directory__filters::-webkit-scrollbar { display: none; }
  .wed-directory .wed-directory__filter-label { display: none; }
  .wed-directory .wed-directory__chip { flex: 0 0 auto; }
  .wed-directory .wed-directory__featured-head { align-items: flex-end; gap: 24px; }
  .wed-directory .wed-directory__featured-label { font-size: 23px; }
  .wed-directory .wed-directory__featured-link { font-size: 9px; text-align: right; }
  .wed-directory .wed-directory__grid { display: block; }
  .wed-directory .wd-card { display: grid; grid-template-columns: 116px 1fr; margin-bottom: 12px; }
  .wed-directory .wd-card:first-child { display: block; margin-bottom: 20px; }
  .wed-directory .wd-card:first-child .wd-card__image { aspect-ratio: 16/10; }
  .wed-directory .wd-card:not(:first-child) .wd-card__image { aspect-ratio: auto; min-height: 156px; height: 100%; }
  .wed-directory .wd-card__body { padding: 17px; }
  .wed-directory .wd-card__name { font-size: 23px; }
  .wed-directory__invitation {
    display: block;
    margin: 48px -12px 0;
    padding: 44px 34px 48px;
  }
  .wed-directory__invitation h3 { margin: 18px 0 32px; font-size: 39px; }
  .thursday.thursday--specimen.edit-invitation { padding: 54px 14px; }
  .edit-invitation__frame { min-height: 0; padding: 38px 24px 42px; gap: 46px; }
  .edit-invitation__monogram { right: -12%; bottom: 5%; font-size: 340px; }
  .edit-invitation__copy h2 { font-size: 58px; }
  .edit-invitation__copy > p { font-size: 17px; }
  .edit-invitation .thursday__form { display: block; }
  .edit-invitation .thursday__input,.edit-invitation .thursday__btn { width: 100%; }
  .edit-invitation .thursday__btn { margin-top: 12px; }
  .footer-coda { padding: 76px 22px 0; }
  .footer-coda h2 { font-size: 48px; }
  .footer-coda__chevron { margin-bottom: 52px; }
  .footer-coda__wordmark { margin-inline: -4px; font-size: 20.6vw; line-height: .76; }
  .site-footer .footer-top { grid-template-columns: 1fr 1fr; gap: 40px 28px; padding-top: 52px; }
  .footer-house-note { grid-column: 1/-1; grid-template-columns: 1fr; }
  .footer-brand-desc { font-size: 21px; }
  .footer-house-note .footer-contacts { padding-top: 26px; border-top: 1px solid rgba(250,246,238,.12); }
  .site-footer .footer-contacts__list li { grid-template-columns: 1fr; }
  .site-footer .footer-top > div:last-child { grid-column: 1 / -1; }
  .site-footer .footer-bottom { align-items: flex-start; }
}

/* Quiet close — confidence through proportion, not proclamation. */
.wed-directory__invitation {
  display: grid;
  grid-template-columns: .7fr 1fr auto;
  align-items: baseline;
  gap: 36px;
  margin: 62px 0 0;
  padding: 30px 0 36px;
  background: transparent;
  color: var(--parchment);
  border-top: 1px solid rgba(250,246,238,.24);
}
.wed-directory__invitation-kicker {
  color: rgba(250,246,238,.58);
  font-size: 10px;
  letter-spacing: 1.8px;
}
.wed-directory__invitation p {
  color: var(--parchment);
  font-family: var(--serif);
  font-size: clamp(24px,2.7vw,36px);
  line-height: 1.1;
}
.wed-directory__invitation a {
  min-height: 0;
  padding: 0 0 5px;
  color: var(--gold-light);
  border-color: rgba(212,160,95,.72);
}

.thursday.thursday--specimen.edit-invitation {
  padding: 74px 40px;
  background: var(--parchment);
  color: var(--ink);
}
.edit-invitation__frame {
  min-height: 0;
  max-width: 1240px;
  padding: 52px 0;
  grid-template-columns: minmax(0,.78fr) minmax(360px,1.22fr);
  align-items: center;
  gap: clamp(54px,9vw,128px);
  border: 0;
  border-top: 1px solid var(--rule-strong);
  border-bottom: 1px solid var(--rule-strong);
}
.edit-invitation__eyebrow { margin-bottom: 16px; color: var(--terracotta); }
.edit-invitation__copy h2 {
  max-width: none;
  margin: 0;
  font-size: clamp(46px,5vw,64px);
  line-height: .96;
  letter-spacing: -.035em;
}
.edit-invitation__action { width: min(100%,580px); justify-self: end; }
.edit-invitation .thursday__form { grid-template-columns: minmax(0,1fr) auto; }
.edit-invitation .thursday__input {
  min-height: 54px;
  padding: 12px 0;
  border-color: var(--ink);
  color: var(--ink);
  font-size: 17px;
}
.edit-invitation .thursday__btn {
  min-height: 54px;
  padding: 12px 24px;
  background: var(--ink);
  color: var(--parchment);
}
.edit-invitation__note { margin-top: 10px; color: var(--ink-muted); font-size: 13px; }

.site-footer {
  padding: 0 0 30px;
  background: #191310;
}
.footer-coda {
  width: min(calc(100% - 80px),1360px);
  margin: 0 auto;
  padding: 46px 0 30px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  gap: 40px;
  text-align: left;
  border-color: rgba(250,246,238,.16);
}
.footer-coda__wordmark {
  margin: 0;
  color: var(--parchment);
  font-size: clamp(34px,3.4vw,48px);
  line-height: 1;
  letter-spacing: .12em;
}
.footer-coda__descriptor {
  justify-self: center;
  color: rgba(250,246,238,.62);
  font-family: var(--serif);
  font-size: 15px;
}
.footer-coda__place {
  color: rgba(250,246,238,.48);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.site-footer .footer-top {
  grid-template-columns: 1.45fr repeat(3,1fr);
  gap: clamp(36px,5vw,68px);
  padding: 48px 0 46px;
}
.footer-house-note { display: block; }
.site-footer .footer-issue-card {
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
}
.site-footer .footer-issue-card:hover { background: transparent; border-color: transparent; }
.footer-issue-card__eyebrow { color: rgba(250,246,238,.46); font-size: 10px; }
.site-footer .footer-issue-card strong { margin: 8px 0 9px; font-size: 26px; }
.site-footer .footer-issue-card__meta { color: rgba(250,246,238,.6); font-size: 10px; }
.site-footer .footer-contacts {
  margin-top: 28px;
  padding-top: 20px;
  border-color: rgba(250,246,238,.12);
}
.site-footer .footer-contacts__title { margin-bottom: 7px; color: rgba(250,246,238,.46); }
.footer-contacts__email {
  color: rgba(250,246,238,.76);
  font-family: var(--serif);
  font-size: 15px;
  border-bottom: 1px solid rgba(250,246,238,.2);
}
.site-footer .footer-col-title { margin-bottom: 15px; color: rgba(250,246,238,.46); }
.site-footer .footer-links { gap: 11px; }
.site-footer .footer-links a { font-size: 16px; color: rgba(250,246,238,.72); }
.site-footer .footer-bottom { padding-top: 24px; }

@media (max-width: 900px) {
  .footer-coda { grid-template-columns: auto 1fr; }
  .footer-coda__descriptor { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
  .footer-coda__place { grid-column: 2; grid-row: 1; justify-self: end; }
  .site-footer .footer-top { grid-template-columns: repeat(3,1fr); }
  .footer-house-note {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    padding-bottom: 32px;
    border-bottom: 1px solid rgba(250,246,238,.12);
  }
  .site-footer .footer-contacts { margin: 0; padding: 0; border: 0; }
}

@media (max-width: 700px) {
  .wed-directory__invitation { display: block; margin: 46px 0 0; padding: 26px 0 34px; }
  .wed-directory__invitation p { margin: 12px 0 24px; font-size: 27px; }
  .thursday.thursday--specimen.edit-invitation { padding: 54px 22px; }
  .edit-invitation__frame { display: block; padding: 38px 0; }
  .edit-invitation__copy h2 { font-size: 48px; }
  .edit-invitation__action { margin-top: 34px; }
  .edit-invitation .thursday__form { display: grid; grid-template-columns: minmax(0,1fr) auto; }
  .edit-invitation .thursday__input,.edit-invitation .thursday__btn { width: auto; margin-top: 0; }
  .edit-invitation .thursday__btn { padding-inline: 18px; }
  .footer-coda { width: calc(100% - 44px); padding: 38px 0 26px; gap: 18px; }
  .footer-coda__wordmark { font-size: 31px; letter-spacing: .1em; }
  .footer-coda__descriptor { font-size: 14px; }
  .site-footer .footer-top { grid-template-columns: 1fr 1fr; gap: 38px 24px; padding-top: 40px; }
  .footer-house-note { grid-template-columns: 1fr 1fr; gap: 24px; }
}

@media (max-width: 410px) {
  .edit-invitation .thursday__form { display: block; }
  .edit-invitation .thursday__input,.edit-invitation .thursday__btn { width: 100%; }
  .edit-invitation .thursday__btn { margin-top: 10px; }
  .footer-coda { grid-template-columns: 1fr; }
  .footer-coda__place { grid-column: 1; grid-row: 2; justify-self: start; }
  .footer-coda__descriptor { grid-row: 3; }
  .footer-house-note { grid-template-columns: 1fr; }
}

/* Footer as the back-cover colophon of the quarterly. */
.site-footer {
  padding: 0;
  background: #191310;
  color: var(--parchment);
}
.site-footer > .footer-colophon.container { max-width: 1360px; }
.footer-colophon__head {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(340px,390px);
  align-items: center;
  gap: clamp(72px,10vw,160px);
  padding: 72px 0 64px;
}
.footer-colophon__wordmark {
  display: inline-block;
  color: var(--parchment);
  font-family: var(--serif);
  font-size: clamp(46px,4.5vw,58px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  text-decoration: none;
}
.footer-colophon__brand p {
  margin-top: 16px;
  color: rgba(250,246,238,.58);
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.5;
}
.footer-issue-label {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0,1fr);
  grid-template-rows: auto auto auto;
  column-gap: 24px;
  row-gap: 8px;
  min-height: 172px;
  padding: 28px 30px;
  background: #eee4d3;
  color: #241814;
  text-decoration: none;
  transition: background-color .2s ease;
}
.footer-issue-label::after {
  content: '';
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(43,26,21,.16);
  pointer-events: none;
}
.footer-issue-label:hover { background: #f6eddf; }
.footer-issue-label__eyebrow {
  grid-column: 2;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  color: var(--terracotta);
}
.footer-issue-label__number {
  grid-column: 1;
  grid-row: 1 / 4;
  align-self: center;
  font-family: var(--serif);
  font-size: 58px;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  color: #241814;
}
.footer-issue-label__identity {
  grid-column: 2;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(43,26,21,.22);
}
.footer-issue-label__identity em {
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 500;
}
.footer-issue-label__identity > span {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(43,26,21,.62);
  white-space: nowrap;
}
.footer-issue-label__cta {
  grid-column: 2;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.footer-issue-label__cta > span { margin-left: 14px; color: var(--terracotta); }
.footer-colophon__nav {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(36px,6vw,84px);
  padding: 42px 0 46px 38%;
  border-top: 1px solid rgba(250,246,238,.15);
  border-bottom: 1px solid rgba(250,246,238,.15);
}
.footer-colophon__nav section { padding: 0; }
.footer-colophon__nav h2 {
  margin: 0 0 16px;
  color: rgba(250,246,238,.42);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.footer-colophon__nav ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.footer-colophon__nav a {
  color: rgba(250,246,238,.76);
  font-family: var(--serif);
  font-size: 16px;
  text-decoration: none;
}
.footer-colophon__nav a:hover { color: var(--gold-light); }
.footer-colophon__bottom {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 34px;
  padding: 24px 0 28px;
  color: rgba(250,246,238,.44);
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.footer-colophon__contact,.footer-colophon__social,.footer-colophon__legal { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.footer-colophon__social { justify-content: center; }
.footer-colophon__legal { justify-content: flex-end; }
.footer-colophon__bottom a { color: rgba(250,246,238,.58); text-decoration: none; }
.footer-colophon__bottom a:hover { color: var(--gold-light); }

@media (max-width: 980px) {
  .footer-colophon__head { grid-template-columns: 1fr; gap: 42px; }
  .footer-issue-label { width: min(100%,390px); }
  .footer-colophon__nav { padding-left: 0; }
  .footer-colophon__bottom { grid-template-columns: 1fr 1fr; }
  .footer-colophon__contact { grid-column: 1; }
  .footer-colophon__social { grid-column: 2; justify-content: flex-end; }
  .footer-colophon__legal { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 700px) {
  .footer-colophon__head { padding: 54px 0 48px; }
  .footer-colophon__wordmark { font-size: 42px; }
  .footer-issue-label { min-height: 160px; padding: 25px 24px; grid-template-columns: 58px minmax(0,1fr); column-gap: 18px; }
  .footer-issue-label__number { font-size: 48px; }
  .footer-issue-label__identity { display: grid; gap: 5px; }
  .footer-colophon__nav { grid-template-columns: 1fr 1fr; gap: 38px 24px; padding: 38px 0 42px; }
  .footer-colophon__nav section:last-child { grid-column: 1 / -1; }
  .footer-colophon__bottom { display: block; padding: 24px 0 32px; }
  .footer-colophon__social,.footer-colophon__legal { justify-content: flex-start; margin-top: 16px; }
}

@media (max-width: 410px) {
  .footer-issue-label { grid-template-columns: 48px minmax(0,1fr); padding-inline: 20px; }
  .footer-issue-label__number { font-size: 42px; }
  .footer-colophon__nav { grid-template-columns: 1fr; }
  .footer-colophon__nav section:last-child { grid-column: auto; }
}

/* Issue imagery follows the editorial configuration rather than the template. */
.hero__image img { object-position: var(--cover-position, 50% 14%); }
.silent-moment__image img { object-position: var(--closing-position, center 15%); }

/* The reader chooses the direction; the issue card quietly points the way. */
.mukhaye-for-you__result {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: 340px;
  overflow: hidden;
  border: 1px solid rgba(43,26,21,.24);
  background: #eee4d3;
}
.mukhaye-for-you__result::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 9px;
  border: 1px solid rgba(43,26,21,.12);
  pointer-events: none;
}
.mukhaye-for-you__folio {
  position: absolute;
  z-index: -2;
  top: 50%;
  right: clamp(22px,5vw,74px);
  transform: translateY(-52%);
  color: rgba(181,70,15,.1);
  font-family: 'Bodoni Moda',var(--serif);
  font-size: clamp(150px,18vw,270px);
  font-style: italic;
  font-weight: 400;
  line-height: .7;
  letter-spacing: -.08em;
  pointer-events: none;
}
.mukhaye-for-you__copy {
  position: relative;
  z-index: 1;
  min-height: 340px;
  max-width: 780px;
  padding: clamp(42px,5vw,68px);
}
.mukhaye-for-you__copy h4 { max-width: 15ch; }
.mukhaye-for-you__copy p { max-width: 48ch; }

/* A sparse Beauty Desk reads as an intentional edit until more work is published. */
@media (min-width: 1101px) {
  .beauty-desk__also--single {
    min-height: 520px;
    justify-content: center;
    border-top: 1px solid rgba(28,20,16,.14);
    border-bottom: 1px solid rgba(28,20,16,.14);
  }
  .beauty-desk__also--single .bd-item,
  .beauty-desk__also--single .bd-item:first-child,
  .beauty-desk__also--single .bd-item:last-child {
    padding: 54px 0;
    border: 0;
  }
  .beauty-desk__also--single .bd-item__title {
    max-width: 18ch;
    font-size: clamp(34px,3.4vw,50px);
    line-height: 1.04;
  }
  .beauty-desk__also--single .bd-item__deck {
    max-width: 48ch;
    font-size: 17px;
    line-height: 1.62;
  }
}

@media (max-width: 700px) {
  .hero__image img { object-position: var(--cover-position-mobile, var(--cover-position, 50% 12%)); }
  .mukhaye-for-you__result,.mukhaye-for-you__copy { min-height: 320px; }
  .mukhaye-for-you__copy { padding: 34px 26px 38px; }
  .mukhaye-for-you__copy h4 { font-size: 36px; }
  .mukhaye-for-you__folio { right: 22px; font-size: 150px; }
}

/* Closing sequence: portrait, compact credits, invitation, colophon. */
.silent-moment::after {
  background: linear-gradient(to bottom,rgba(0,0,0,0) 34%,rgba(13,9,7,.28) 70%,#241814 100%);
}
.contributors.masthead.masthead--compact {
  padding: 54px 0 58px;
  background: #241814;
  color: var(--parchment);
  border-top: 1px solid rgba(250,246,238,.12);
}
.contributors.masthead.masthead--compact::before { display: none; }
.masthead-compact__head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 42px;
  margin-bottom: 30px;
  padding-bottom: 24px;
  border-color: rgba(250,246,238,.18);
}
.masthead--compact .masthead__eyebrow {
  margin-bottom: 11px;
  color: var(--gold-light);
  font-size: 10px;
  letter-spacing: 2px;
}
.masthead-compact__title {
  max-width: 20ch;
  color: var(--parchment);
  font-size: clamp(34px,3.5vw,48px);
  line-height: 1;
}
.masthead-compact__title em,
.masthead-person__name em,
.masthead--compact .masthead__link { color: var(--gold-light); }
.masthead--compact .masthead__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin: 0;
  border-color: rgba(212,160,95,.58);
  font-size: 10px;
}
.masthead-compact__grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: clamp(22px,3vw,42px);
}
.masthead-person {
  display: grid;
  grid-template-columns: 76px minmax(0,1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(250,246,238,.14);
}
.masthead-person__portrait {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 76px;
  aspect-ratio: 4 / 5;
  margin: 0;
  background: #8e8073;
}
.masthead-person__name {
  grid-column: 2;
  align-self: end;
  margin: 0 0 5px;
  color: var(--parchment);
  font-size: 18px;
  line-height: 1.08;
}
.masthead-person__meta {
  grid-column: 2;
  align-self: start;
  color: rgba(250,246,238,.56);
  font-size: 9px;
  letter-spacing: .7px;
  line-height: 1.45;
  text-transform: none;
}

@media (max-width: 900px) {
  .masthead-compact__head { grid-template-columns: 1fr; align-items: start; gap: 18px; }
  .masthead-compact__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 520px) {
  .masthead-compact__grid { grid-template-columns: 1fr; gap: 16px; }
  .masthead-person { grid-template-columns: 66px minmax(0,1fr); }
  .masthead-person__portrait { width: 66px; }
}

/* Palette and cohesion pass: paper, espresso and accent each have one job. */
body {
  background: var(--parchment);
  color: var(--ink);
}

/* Display type belongs to the magazine; story headlines retain the reading face. */
.issue-overture__title,
.mukhaye-for-you__head h3,
.beauty-desk__title,
.travel-postcard__title,
.weddings-section--spread .section-head__title,
.wed-directory__title,
.silent-moment__caption-name,
.masthead-compact__title,
.edit-invitation__copy h2 {
  font-family: 'Bodoni Moda', var(--serif);
}

/* Opening chapter: bright first page, inset stationery, then a softer desk. */
.issue-overture--v3 { background: var(--paper-raised); }
.issue-overture--v3 .issue-overture__intro {
  border-bottom-color: var(--rule-strong);
}
.issue-overture--v3 .issue-overture__kicker,
.mukhaye-for-you__head > span,
.beauty-desk__eyebrow,
.weddings-section--spread .section-head__label,
.edit-invitation__eyebrow {
  color: var(--ink-muted);
}
.issue-overture__edition-card {
  border-color: rgba(207,168,115,.46);
  background: linear-gradient(145deg,var(--dark-editorial) 0%,#3B241C 100%);
  color: var(--light-primary);
  box-shadow: 0 24px 50px -40px rgba(25,19,16,.72);
}
.issue-overture__edition-card::after { border-color: rgba(207,168,115,.3); }
.issue-overture--v3 .issue-overture__edition-label { color: var(--light-secondary); }
.issue-overture__edition-name { border-color: rgba(207,168,115,.42); }
.issue-overture__edition-note { color: var(--light-secondary); }
.mukhaye-for-you { border-bottom: 0; }
.mukhaye-for-you__choice:hover,
.mukhaye-for-you__choice.is-active { background: var(--paper-raised); }
.mukhaye-for-you__result {
  background: var(--paper-deep);
  border-color: var(--rule-strong);
}
.mukhaye-for-you__result::after { border-color: var(--rule); }

.beauty-desk {
  background: var(--parchment);
  border-top-color: var(--rule-strong);
  border-bottom: 0;
}
.beauty-desk__head,
.section-head--stacked { border-bottom-color: var(--rule-strong); }
.beauty-desk__also-rule::after,
.beauty-desk__also .bd-item { border-color: var(--rule); }

/* On the homepage, taxonomy is metadata; the house accent owns the visible page. */
.beauty-desk .has-sliver::after,
.weddings-section .has-sliver::after,
.wed-directory .has-sliver::after { background: var(--terracotta); }

/* Photography carries warm ivory; champagne remains a detail, not body copy. */
.travel-postcard { background: var(--dark-colophon); }
.travel-postcard__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at center,rgba(25,19,16,.5) 0%,rgba(25,19,16,.28) 42%,rgba(25,19,16,.12) 72%),
    linear-gradient(to bottom,rgba(25,19,16,.12),rgba(25,19,16,.3));
  pointer-events: none;
}
.travel-postcard__inner-content,
.travel-postcard__eyebrow,
.travel-postcard__cta { color: var(--light-primary); }
.travel-postcard__deck { color: rgba(250,246,238,.86); }
.travel-postcard__cta { border-bottom-color: rgba(250,246,238,.58); }
.travel-postcard__cta:hover {
  color: var(--light-primary);
  border-color: var(--gold-light);
}

.weddings-section.weddings-section--spread { background: var(--paper-raised); }

/* The directory, portrait and masthead form one controlled deepening. */
.wed-directory {
  background: var(--dark-directory);
  color: var(--light-primary);
}
.wed-directory::before { border-color: rgba(207,168,115,.28); }
.wed-directory .wed-directory__eyebrow,
.masthead--compact .masthead__eyebrow { color: var(--light-muted); }
.wed-directory .wed-directory__deck,
.wed-directory .directory-standard__item p { color: var(--light-secondary); }
.wed-directory .wed-directory__filter-label { color: var(--light-muted); }
.wed-directory .wd-card {
  background: var(--paper-raised);
  color: var(--ink);
}
.wed-directory .wd-card:hover {
  transform: none;
  box-shadow: none;
}
.wed-directory .wd-card:hover .wd-card__image img { transform: none; }
.wed-directory__invitation-kicker { color: var(--light-muted); }

.silent-moment::after {
  background: linear-gradient(to bottom,rgba(25,19,16,0) 34%,rgba(25,19,16,.28) 70%,var(--dark-editorial) 100%);
}
.contributors.masthead.masthead--compact {
  background: var(--dark-editorial);
  color: var(--light-primary);
}
.masthead-compact__head,
.masthead-person { border-color: var(--rule-on-dark); }
.masthead-compact__title,
.masthead-person__name { color: var(--light-primary); }
.masthead-person__meta {
  color: var(--light-secondary);
  font-size: 11px;
}
.masthead-person:hover .masthead-person__portrait img,
.masthead-person:focus-visible .masthead-person__portrait img {
  transform: none;
  filter: saturate(.9) contrast(1.02);
}
.masthead-person:hover .masthead-person__portrait--aubrey img,
.masthead-person:focus-visible .masthead-person__portrait--aubrey img {
  transform: scale(1.08);
}

/* The invitation returns to paper; the colophon is the page's deepest tone. */
.thursday.thursday--specimen.edit-invitation { background: var(--parchment); }
.edit-invitation__frame {
  border-top-color: var(--rule-strong);
  border-bottom-color: var(--rule-strong);
}
.site-footer {
  background: var(--dark-colophon);
  color: var(--light-primary);
}
.footer-colophon__brand p { color: rgba(250,246,238,.68); }
.footer-issue-label {
  background: var(--paper-deep);
  color: var(--dark-editorial);
}
.footer-issue-label:hover { background: var(--paper-raised); }
.footer-issue-label__number { color: var(--dark-editorial); }
.footer-issue-label__identity > span { color: rgba(36,24,20,.68); }
.footer-colophon__nav,
.footer-colophon__bottom { border-color: var(--rule-on-dark); }
.footer-colophon__nav h2 { color: var(--light-muted); }
.footer-colophon__bottom { color: rgba(250,246,238,.58); }
.footer-colophon__bottom a { color: rgba(250,246,238,.7); }

/* The reader-guide is the one signature interaction; elsewhere, hovers stay quiet. */
.topshelf:hover .topshelf__image img { transform: none; }
.wed-directory :where(a,button,summary):focus-visible,
.masthead--compact :where(a,button):focus-visible,
.site-footer :where(a,button):focus-visible {
  outline-color: var(--gold-light);
}

/* The cover follows the same warm-ivory treatment as the other image chapters. */
.cover-masthead,
.hero-chrome__wordmark,
.hero-chrome__right,
.hero-cover,
.hero-coverlines { color: var(--light-primary); }
.hero-chrome__left,
.hero-chrome__issue,
.cover-masthead__meta,
.hero-cover__byline { color: var(--light-secondary); }
.hero-cover__deck { color: rgba(250,246,238,.9); }
.hero-cover__masthead { border-top-color: var(--rule-on-dark); }
.hero-cover__masthead-item { border-right-color: rgba(250,246,238,.22); }
.hero-cover__masthead-name,
.hero-cover__byline em,
.hero-cover__cta { color: var(--light-primary); }
.hero-cover__cta { border-bottom-color: rgba(250,246,238,.58); }

/* Mobile is a separate reading sequence, not a scaled-down desktop page. */
@media (max-width: 700px) {
  :root { --mobile-gutter: 22px; }

  .container,
  .issue-overture--v3 .issue-overture__inner { padding-inline: var(--mobile-gutter); }
  [id] { scroll-margin-top: 72px; }

  /* Cover: one wordmark, one story, one route into the issue. */
  body.cover-mode.cinematic .hero {
    min-height: 620px;
    height: 100svh;
    max-height: 760px;
  }
  @supports (height: 100dvh) {
    body.cover-mode.cinematic .hero { height: 100dvh; }
  }
  .hero::before {
    background:
      linear-gradient(to bottom,
        rgba(25,19,16,.54) 0%,
        rgba(25,19,16,0) 24%,
        rgba(25,19,16,0) 44%,
        rgba(25,19,16,.68) 76%,
        rgba(25,19,16,.9) 100%);
  }
  .hero-chrome {
    grid-template-columns: 44px 1fr auto;
    padding-inline: var(--mobile-gutter);
  }
  .hero-chrome__wordmark { display: none; }
  .hero-chrome__issue {
    justify-self: end;
    font-size: 10px;
    letter-spacing: 1.2px;
  }
  .hero-chrome__issue em { font-size: 11px; }
  body.cover-mode.cinematic .cover-masthead {
    top: max(64px, calc(env(safe-area-inset-top) + 40px));
    width: 100%;
  }
  .cover-wordmark { width: min(84vw, 360px); }
  body.cover-mode.cinematic .hero-cover {
    bottom: max(52px, calc(env(safe-area-inset-bottom) + 28px));
    width: calc(100% - (var(--mobile-gutter) * 2));
    align-items: flex-start;
    text-align: left;
    gap: 12px;
  }
  body.cover-mode .cover-storyno {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--light-secondary);
    font-family: var(--mono);
    font-size: 10px;
    font-style: normal;
    letter-spacing: 1.6px;
    text-transform: uppercase;
  }
  .cover-storyno::before,
  .cover-storyno::after { width: 22px; margin: 0; }
  body.cover-mode.cinematic .hero-cover__headline {
    max-width: 10ch;
    font-size: clamp(52px, 14.2vw, 68px);
    line-height: .9;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }
  body.cover-mode.cinematic .hero-cover__headline em { display: block; margin-left: 0; }
  .hero-cover__cta { margin-top: 2px; }

  /* The opening reads as a sequence of considered, touch-sized choices. */
  .issue-overture--v3 .issue-overture__intro { padding: 54px 0 40px; }
  .issue-overture--v3 .issue-overture__title { max-width: 11ch; }
  .issue-overture__edition-card { margin-top: 34px; }
  .mukhaye-for-you__head { padding: 38px 0 25px; }
  .mukhaye-for-you__head h3 { max-width: 11ch; font-size: 39px; }
  .mukhaye-for-you__choices { gap: 10px; }
  .mukhaye-for-you__choice {
    min-height: 74px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 12px 14px;
    font-size: 16px;
  }
  .mukhaye-for-you__choice span {
    display: block;
    color: var(--terracotta);
    font-family: 'Bodoni Moda', var(--serif);
    font-size: 17px;
    font-style: italic;
    line-height: 1;
  }
  .mukhaye-for-you__choice:hover,
  .mukhaye-for-you__choice.is-active { padding: 12px 14px; }
  .mukhaye-for-you__result,
  .mukhaye-for-you__copy { min-height: 300px; }
  .mukhaye-for-you__copy { padding: 32px 26px 36px; }
  .mukhaye-for-you__copy h4 { font-size: 37px; }
  .mukhaye-for-you__folio { right: 18px; font-size: 142px; }

  /* Editorial chapters alternate detail, immersion, then information. */
  .beauty-desk { padding-block: 58px; }
  .beauty-desk__head { margin-bottom: 38px; }
  .beauty-desk__title { font-size: 48px; }
  .beauty-desk__layout { gap: 44px; }
  .beauty-desk__also--single { min-height: 0; }
  .travel-postcard {
    min-height: 520px;
    height: 68svh;
    max-height: 720px;
  }
  .travel-postcard__inner { padding: 38px var(--mobile-gutter); }
  .travel-postcard__inner-content {
    align-items: flex-start;
    text-align: left;
    gap: 18px;
  }
  .travel-postcard__title { max-width: 10ch; font-size: clamp(46px,12.2vw,62px); }
  .travel-postcard__deck { max-width: 31ch; }

  .weddings-section.weddings-section--spread { padding-block: 58px 34px; }
  .weddings-section--spread .section-head__title { max-width: 11ch; font-size: 48px; }
  .wed-spread__rail { padding-inline: var(--mobile-gutter); }
  .wed-spread__slide { margin-bottom: 40px; }
  .wed-spread__slide--lead .wed-spread__slide-title { font-size: 37px; }
  .wed-spread__slide:not(.wed-spread__slide--lead) {
    grid-template-columns: minmax(96px, .65fr) minmax(0, 1fr);
    gap: 18px;
  }

  .wed-directory { padding-top: 72px; padding-bottom: 54px; }
  .wed-directory .wed-directory__title { font-size: 48px; }
  .wed-directory .wed-directory__featured-link { min-height: 44px; font-size: 10px; }
  .wed-directory__invitation a { display: inline-flex; align-items: center; min-height: 44px; }
  .wed-directory__invitation { margin-top: 52px; }

  .silent-moment { min-height: 560px; height: 82svh; max-height: 740px; }
  .silent-moment__caption {
    align-items: flex-start;
    padding: 30px var(--mobile-gutter);
    text-align: left;
  }
  .silent-moment__caption-name { max-width: 8ch; font-size: clamp(42px,12vw,56px) !important; }

  .contributors.masthead.masthead--compact { padding-block: 48px; }
  .masthead-compact__head { margin-bottom: 26px; }
  .masthead-compact__title { max-width: 13ch; font-size: 40px; }
  .masthead--compact .masthead__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 11px;
  }

  .thursday.thursday--specimen.edit-invitation { padding: 60px var(--mobile-gutter); }
  .edit-invitation__frame { padding: 42px 0; }
  .edit-invitation__copy h2 { font-size: 52px; }
  .edit-invitation__action { margin-top: 30px; }
  .footer-colophon__head { padding: 58px 0 50px; }
  .footer-colophon__nav { gap: 34px 22px; }
}

@media (max-width: 520px) {
  body.cover-mode.cinematic .hero { min-height: 590px; }
  .hero-chrome__issue { font-size: 9px; letter-spacing: 1px; }
  .cover-wordmark { width: min(82vw, 320px); }
  body.cover-mode.cinematic .hero-cover__headline { font-size: clamp(48px,14vw,62px); }
  .issue-overture--v3 .issue-overture__note p { font-size: 17px; }
  .mukhaye-for-you__choice { min-height: 70px; font-size: 15px; }
  .beauty-desk__title,
  .weddings-section--spread .section-head__title,
  .wed-directory .wed-directory__title { font-size: 43px; }
  .travel-postcard { min-height: 500px; height: 68svh; }
  .silent-moment { min-height: 520px; height: 76svh; }
  .masthead-compact__grid { grid-template-columns: 1fr; }
  .edit-invitation .thursday__form { display: block; }
  .edit-invitation .thursday__input,
  .edit-invitation .thursday__btn { width: 100%; }
  .edit-invitation .thursday__btn { margin-top: 12px; }
}

@media (max-width: 620px) {
  .masthead-compact__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .footer-colophon__nav { grid-template-columns: 1fr; }
  .footer-colophon__nav section:last-child { grid-column: auto; }
}

body.admin-bar #stickyHeader { top:32px; }
@media(max-width:782px){body.admin-bar #stickyHeader{top:46px;}}


/* Compact homepage entry links */
.mukhaye-for-you {
  display: none;
}

.issue-overture__begin-links {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 22px;
  margin-top: 28px;
  padding-bottom: 18px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  line-height: 1.5;
  text-transform: uppercase;
}

.issue-overture__begin-kicker {
  margin-right: 8px;
  color: var(--ink-muted);
}

.issue-overture__begin-links a {
  padding-bottom: 3px;
  border-bottom: 1px solid var(--terracotta);
  color: var(--terracotta);
  text-decoration: none;
}

.issue-overture__begin-links a:hover,
.issue-overture__begin-links a:focus-visible {
  color: var(--ink);
  border-color: currentColor;
}

@media (max-width: 640px) {
  .issue-overture__begin-links {
    gap: 10px 16px;
  }

  .issue-overture__begin-kicker {
    flex-basis: 100%;margin-bottom: 2px;
  }
}