.editorial-page {
  --editorial-width: 1120px;
  background: var(--paper);
  color: var(--ink);
}

.editorial-shell {
  width: min(var(--editorial-width), calc(100% - 80px));
  margin: 0 auto;
}

.editorial-header {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.editorial-header-inner {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.editorial-brand { display:flex; align-items:center; }
.editorial-brand img { display:block; width:auto; height:43px; }

.editorial-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:clamp(16px,3vw,38px); }
.editorial-nav a,
.editorial-footer a {
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.045em;
  text-decoration:none;
  text-transform:uppercase;
}
.editorial-nav a:hover,.editorial-nav a:focus-visible,.editorial-footer a:hover,.editorial-footer a:focus-visible { color:var(--brick); }

.editorial-kicker { margin:0; color:var(--brick); font-size:10px; font-weight:800; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }

.agent-hero { padding:88px 0 36px; }
.agent-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:clamp(50px,8vw,125px); align-items:end; padding:30px 0 78px; }
.agent-hero h1,.letter-heading h1 { margin:0; font-size:clamp(62px,9.2vw,124px); line-height:.92; }
.agent-hero-subtitle { margin:21px 0 0; color:var(--brick); font:italic 400 clamp(24px,3vw,38px)/1.1 var(--serif); letter-spacing:-.04em; }
.agent-hero-copy { max-width:56ch; color:var(--muted); font-size:16px; line-height:1.75; }
.agent-hero-copy p { margin:0; }
.agent-hero-copy p + p { margin-top:15px; }
.agent-hero-index { display:flex; justify-content:space-between; gap:24px; padding:17px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.agent-hero-index a,.agent-links a,.agent-inline-link,.editorial-back-link,.editorial-plain-link { color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.045em; text-decoration:none; text-transform:uppercase; }
.agent-hero-index a span,.agent-links a span,.agent-inline-link span,.agent-membership-link span,.editorial-back-link span { color:var(--brick); }

.agent-section { padding:54px 0 60px; border-top:1px solid var(--line); }
.agent-section-grid { display:grid; grid-template-columns:minmax(160px,.45fr) minmax(0,1.55fr); gap:clamp(42px,7vw,100px); }
.agent-section-content { max-width:76ch; }
.agent-section h2 { max-width:18ch; margin:0 0 25px; font-size:clamp(39px,5.1vw,66px); line-height:1.02; }
.agent-section h2 a { color:inherit; text-decoration:none; border-bottom:1px solid transparent; }
.agent-section h2 a:hover,.agent-section h2 a:focus-visible { color:var(--brick); border-color:var(--brick); }
.agent-section-content > p { max-width:67ch; margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.agent-section-content > p + p { margin-top:15px; }
.agent-links { display:flex; flex-wrap:wrap; gap:26px; margin-top:27px; }
.agent-links a,.agent-inline-link { display:inline-flex; align-items:center; gap:8px; padding-bottom:5px; border-bottom:1px solid var(--brick); }
.agent-fineprint { margin-top:25px !important; color:var(--muted); font-size:12px !important; line-height:1.6 !important; }
.agent-byline { margin:-14px 0 18px !important; color:var(--brick) !important; font-size:11px !important; letter-spacing:.05em; text-transform:uppercase; }
.agent-inline-link { margin-top:24px; }

.agent-catalogue { padding-bottom:72px; }
.catalogue-links { margin-top:32px; border-top:1px solid var(--ink); }
.catalogue-links a { display:grid; grid-template-columns:1fr 20px; align-items:center; gap:12px; min-height:58px; border-bottom:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }
.catalogue-links a > span:last-child { color:var(--brick); }
.catalogue-links a:hover,.catalogue-links a:focus-visible { color:var(--brick); }

.agent-membership { padding:62px 0 70px; background:var(--forest); color:var(--light-ink); border-color:#718176; }
.agent-membership .editorial-kicker { color:#dfc68f; }
.agent-membership h2 { color:var(--light-ink); }
.agent-membership .agent-section-content > p { color:#dce1d8; }
.agent-membership .agent-fineprint { color:#dce1d8; }
.agent-relay-heading { margin:27px 0 10px; color:#dfc68f; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.agent-relay { max-width:67ch; margin:0; border-left:2px solid #dfc68f; padding:4px 0 4px 17px; color:#f4f0e8; font-size:15px; line-height:1.7; }

.agent-membership-link { display:inline-flex; gap:8px; margin-top:28px; padding-bottom:6px; border-bottom:1px solid #dfc68f; color:var(--light-ink); font-size:11px; font-weight:800; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.agent-membership-link span { color:#dfc68f; }
.agent-membership-link:hover,.agent-membership-link:focus-visible { color:#dfc68f; }

.letter-layout { padding-top:74px; padding-bottom:100px; }
.letter-heading { max-width:930px; margin:0 auto 68px; text-align:center; }
.letter-heading .editorial-kicker { margin-bottom:28px; }
.letter-heading h1 { font-size:clamp(46px,7vw,82px); line-height:1.02; }
.letter-subtitle { margin:20px 0 16px; color:var(--brick); font:italic 400 clamp(20px,2.5vw,28px)/1.3 var(--serif); }
.letter-version { margin:0; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.letter-version span { padding:0 5px; color:var(--brick); }
.letter-copy { max-width:690px; margin:0 auto; font-size:19px; line-height:1.82; }
.letter-copy p { margin:0; }
.letter-copy p + p { margin-top:22px; }
.letter-copy strong { color:var(--ink); font-weight:750; }
.letter-attribution,.letter-rights { max-width:690px; margin:38px auto 0; color:var(--muted); font-size:11px; line-height:1.6; }
.letter-rights { margin-top:10px; }
.editorial-back-link,.editorial-plain-link { display:table; margin:36px auto 0; padding-bottom:5px; border-bottom:1px solid var(--brick); }
.editorial-plain-link { margin-top:18px; color:var(--muted); font-weight:600; }

.editorial-footer { padding:25px 0; background:var(--forest); color:#dce1d8; border-top:1px solid #718176; }
.editorial-footer .editorial-shell { display:flex; justify-content:space-between; gap:24px; align-items:center; font-size:10px; letter-spacing:.06em; }
.editorial-footer a { color:#e0c98f; }
.editorial-page :focus-visible { outline:2px solid var(--brick); outline-offset:5px; }
.agent-membership :focus-visible { outline-color:#e0c98f; }

@media (max-width:760px) {
  .editorial-shell { width:calc(100% - 48px); }
  .agent-hero { padding-top:60px; }
  .agent-hero-grid { grid-template-columns:1fr; gap:34px; padding:28px 0 52px; }
  .agent-hero h1 { font-size:clamp(58px,12vw,92px); }
  .agent-section-grid { grid-template-columns:1fr; gap:17px; }
  .agent-section { padding:38px 0 44px; }
  .agent-section h2 { margin-bottom:20px; }
  .agent-membership { padding:45px 0 52px; }
  .letter-layout { padding-top:56px; padding-bottom:72px; }
  .letter-heading { margin-bottom:48px; }
  .letter-copy { font-size:18px; }
}

@media (max-width:520px) {
  .editorial-shell { width:calc(100% - 40px); }
  .editorial-header-inner { min-height:74px; align-items:flex-start; flex-direction:column; justify-content:center; gap:10px; padding:12px 0; }
  .editorial-brand img { height:36px; }
  .editorial-nav { justify-content:flex-start; gap:16px; }
  .editorial-nav a { font-size:9px; }
  .agent-hero { padding-top:44px; }
  .agent-hero h1 { font-size:clamp(49px,12.4vw,66px); }
  .agent-hero-index { align-items:flex-start; flex-direction:column; gap:8px; }
  .agent-links { align-items:flex-start; flex-direction:column; gap:18px; }
  .catalogue-links a { grid-template-columns:1fr 18px; font-size:12px; }
  .letter-heading h1 { font-size:47px; }
  .letter-copy { font-size:17px; line-height:1.75; }
  .letter-copy p + p { margin-top:19px; }
  .editorial-footer .editorial-shell { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-page { scroll-behavior:auto; }
}
