/*!
 * r2-press.css — R² Press & Newsroom (/press/) page stylesheet · Rev1.1 (2026-10-23)
 * Body-only. Enqueued on /press/ only, after the GLOBAL stylesheets.
 * Every selector is scoped to .r2-press (weighted with :not(#r2-press-guard)
 * so theme and Elementor-kit styles cannot reach the body).
 * Reads GLOBAL --r2-* tokens (fallbacks = governed values); declares none.
 * Page-only measures are --press-* (D-011 inputs; never shadow --r2-*).
 */

/* ── 0. Page scope and page-only measures ─────────────────────────── */
.r2-press:not(#r2-press-guard) {
  --press-pad-fallback: clamp(24px, 5vw, 80px);
  --press-pad: var(--r2-chrome-pad, var(--press-pad-fallback));
  --press-frame: var(--r2-frame, 1200px);
  --press-section: clamp(76px, 10vw, 144px);
  --press-rule-strong: rgba(28, 46, 69, .25);
  --press-rule-soft: rgba(28, 46, 69, .18);
  --press-on-dark-72: rgba(246, 241, 234, .72);
  --press-on-dark-68: rgba(246, 241, 234, .68);
  --press-on-dark-78: rgba(246, 241, 234, .78);
  --press-on-dark-84: rgba(246, 241, 234, .84);
  --press-on-dark-rule: rgba(246, 241, 234, .2);
  --press-muted: var(--r2-muted, #58616C);
  /* Rev1.1 typography pin (D-095): the approved Rev1 rendering on GLOBAL 1.3.0.
     GLOBAL 1.9.0 (OD-TYPE-01) lowers these tokens; Press keeps its approved values. */
  --press-weight-body: 300;
  --press-weight-functional: 400;
  --press-on-dark-secondary: rgba(246, 241, 234, .86);
  display: block;
  margin: 0;
  padding: 0;
  color: var(--r2-ink, #1C2E45);
  background: var(--r2-paper, #F6F1EA);
  font-family: var(--r2-font-body, "sofia-pro", Arial, Helvetica, sans-serif);
  font-weight: var(--press-weight-body);
  font-size: 1rem;
  line-height: 1.55;
  letter-spacing: normal;
  text-align: left;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 820px) { .r2-press:not(#r2-press-guard) { --press-pad-fallback: 20px; } }
@media (max-width: 480px) { .r2-press:not(#r2-press-guard) { --press-pad-fallback: 18px; } }

/* ── 1. Host-style pins (scoped resets) ───────────────────────────── */
.r2-press:not(#r2-press-guard) *, .r2-press:not(#r2-press-guard) *::before, .r2-press:not(#r2-press-guard) *::after { box-sizing: border-box; }
.r2-press:not(#r2-press-guard) :is(h1, h2, h3, p, ol, ul, li, dl, dt, dd, figure) { margin: 0; padding: 0; text-transform: none; text-shadow: none; background: none; border: 0; }
.r2-press:not(#r2-press-guard) :is(article, section, div) { border: 0; }
.r2-press:not(#r2-press-guard) :is(h1, h2, h3) { color: inherit; font-style: normal; letter-spacing: normal; word-spacing: normal; }
.r2-press:not(#r2-press-guard) :is(p, li, dt, dd) { color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; letter-spacing: inherit; }
.r2-press:not(#r2-press-guard) ol { list-style: none; }
.r2-press:not(#r2-press-guard) a { color: inherit; font-weight: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; background: none; border: 0; transition: text-decoration-color .16s var(--r2-ease, ease); }
.r2-press:not(#r2-press-guard) em { font-style: italic; }
.r2-press:not(#r2-press-guard) strong { font-weight: inherit; }
.r2-press:not(#r2-press-guard) small { font-size: inherit; }
.r2-press:not(#r2-press-guard) time { font: inherit; color: inherit; }
.r2-press:not(#r2-press-guard) :focus-visible { outline: 2px solid var(--r2-taupe, #B6A58F); outline-offset: 4px; }
.r2-press:not(#r2-press-guard) .press-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.r2-press:not(#r2-press-guard) .press-nowrap { white-space: nowrap; }
.r2-press:not(#r2-press-guard) section[id] { scroll-margin-top: var(--r2-header-height, 72px); }

/* ── 2. Shared page primitives ────────────────────────────────────── */
.r2-press:not(#r2-press-guard) .press-sec { padding: var(--press-section) var(--press-pad); }
.r2-press:not(#r2-press-guard) .press-sec > * { max-width: var(--press-frame); margin-left: auto; margin-right: auto; }
.r2-press:not(#r2-press-guard) .press-eyebrow { margin: 0 0 1rem; color: var(--r2-oxblood, #6E1F2A); font-family: var(--r2-font-editorial, "ivypresto-headline", Georgia, "Times New Roman", serif); font-weight: var(--r2-weight-heading, 300); font-style: italic; font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.2; }
.r2-press:not(#r2-press-guard) .press-intro { display: grid; grid-template-columns: 1fr 2fr; gap: clamp(40px, 7vw, 110px); align-items: start; margin-bottom: clamp(60px, 9vw, 110px); }
.r2-press:not(#r2-press-guard) :is(.press-intro h2, .press-recognition__heading h2, .press-contact h2) { margin: 0; font-family: var(--r2-font-display, "ivypresto-display", Georgia, "Times New Roman", serif); font-weight: var(--r2-weight-display, 100); font-size: clamp(3rem, 5.8vw, 5.9rem); line-height: .98; letter-spacing: -.03em; }
.r2-press:not(#r2-press-guard) .press-link { min-height: 44px; display: inline-flex; align-items: center; gap: .55rem; font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); font-size: 1rem; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .4rem; }
.r2-press:not(#r2-press-guard) .press-link--light { color: var(--r2-on-dark, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-link--quiet { color: var(--press-muted); text-decoration-color: transparent; }
.r2-press:not(#r2-press-guard) .press-link--quiet:hover, .r2-press:not(#r2-press-guard) .press-link--quiet:focus-visible { text-decoration-color: currentColor; }
.r2-press:not(#r2-press-guard) .press-button { min-height: 50px; padding: .85rem 1.1rem; display: inline-flex; align-items: center; gap: 1rem; background: var(--r2-paper, #F6F1EA); color: var(--r2-navy, #1C2E45); font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); font-size: 1rem; line-height: 1.3; text-decoration: none; border-radius: 0; }
.r2-press:not(#r2-press-guard) .press-button:hover { text-decoration: underline; text-underline-offset: .3rem; }

/* ── 3. Hero ──────────────────────────────────────────────────────── */
.r2-press:not(#r2-press-guard) .press-hero { min-height: min(760px, calc(100vh - var(--r2-header-height, 72px))); padding: 26px var(--press-pad) clamp(76px, 10vw, 130px); color: var(--r2-on-dark, #F6F1EA); background: var(--r2-navy, #1C2E45); display: flex; flex-direction: column; justify-content: space-between; }
.r2-press:not(#r2-press-guard) .press-hero__rule { max-width: var(--press-frame); width: 100%; margin: 0 auto; padding-top: .9rem; border-top: 1px solid var(--press-on-dark-rule); display: flex; justify-content: space-between; gap: 1.5rem; color: var(--press-on-dark-72); font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); font-size: .88rem; }
.r2-press:not(#r2-press-guard) .press-hero__grid { max-width: var(--press-frame); width: 100%; margin: clamp(72px, 14vh, 150px) auto 0; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(270px, .5fr); gap: clamp(46px, 8vw, 120px); align-items: end; }
.r2-press:not(#r2-press-guard) .press-hero h1 { margin: 0; max-width: 920px; font-family: var(--r2-font-display, "ivypresto-display", Georgia, "Times New Roman", serif); font-weight: var(--r2-weight-display, 100); font-size: clamp(4.1rem, 8.2vw, 8.25rem); line-height: .9; letter-spacing: -.045em; color: var(--r2-on-dark, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-hero h1 em { color: var(--r2-taupe, #B6A58F); font-family: var(--r2-font-editorial, "ivypresto-headline", Georgia, "Times New Roman", serif); font-weight: var(--r2-weight-heading, 300); }
.r2-press:not(#r2-press-guard) .press-hero__copy { padding-bottom: .5rem; }
.r2-press:not(#r2-press-guard) .press-hero__copy p { margin: 0 0 2rem; color: var(--press-on-dark-secondary); font-size: clamp(1.1rem, 1.55vw, 1.35rem); line-height: 1.55; }

/* ── 4. Latest: lead story and case study ─────────────────────────── */
.r2-press:not(#r2-press-guard) .press-latest { background: var(--r2-paper, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-lead { display: grid; grid-template-columns: .55fr .65fr 1.6fr; gap: clamp(28px, 4.5vw, 72px); padding: clamp(40px, 6vw, 76px) 0; border-top: 1px solid var(--r2-rule, rgba(28, 46, 69, .14)); border-bottom: 1px solid var(--r2-rule, rgba(28, 46, 69, .14)); }
.r2-press:not(#r2-press-guard) .press-lead__number { color: var(--r2-oxblood, #6E1F2A); font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-size: clamp(6rem, 12vw, 11rem); font-weight: var(--r2-weight-display, 100); line-height: .72; }
.r2-press:not(#r2-press-guard) .press-lead__meta { color: var(--press-muted); font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); font-size: .95rem; }
.r2-press:not(#r2-press-guard) .press-lead__meta p { margin: 0 0 .45rem; }
.r2-press:not(#r2-press-guard) .press-lead__content h3 { margin: 0 0 1.4rem; max-width: 720px; font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-size: clamp(2.2rem, 4vw, 4.2rem); font-weight: var(--r2-weight-display, 100); line-height: 1.02; letter-spacing: -.025em; }
.r2-press:not(#r2-press-guard) .press-lead__content p { max-width: 640px; margin: 0 0 2rem; color: var(--r2-body, #34455A); font-size: 1.08rem; }
.r2-press:not(#r2-press-guard) .press-lead__links { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 2rem; }

.r2-press:not(#r2-press-guard) .press-case { margin-top: clamp(72px, 11vw, 140px); padding: clamp(52px, 7vw, 86px); display: grid; grid-template-columns: 1fr 1.25fr; gap: clamp(50px, 8vw, 120px); background: var(--r2-navy, #1C2E45); color: var(--r2-on-dark, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-case .press-eyebrow { color: var(--r2-taupe, #B6A58F); }
.r2-press:not(#r2-press-guard) .press-case__heading h3 { margin: 0 0 1.7rem; font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-weight: var(--r2-weight-display, 100); font-size: clamp(2.8rem, 5vw, 5.3rem); line-height: .98; letter-spacing: -.03em; color: var(--r2-on-dark, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-case__heading h3 em { font-family: var(--r2-font-editorial, "ivypresto-headline", Georgia, serif); font-weight: var(--r2-weight-heading, 300); }
.r2-press:not(#r2-press-guard) .press-case__heading > p:not(.press-eyebrow) { max-width: 510px; margin: 0 0 1rem; color: var(--press-on-dark-84); font-size: 1.12rem; }
.r2-press:not(#r2-press-guard) .press-case__facts { margin: 0; display: grid; }
.r2-press:not(#r2-press-guard) .press-case__facts div { padding: 1.35rem 0 1.8rem; border-top: 1px solid var(--r2-rule-dark, rgba(246, 241, 234, .16)); }
.r2-press:not(#r2-press-guard) .press-case__facts dt { color: var(--press-on-dark-68); font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); font-size: .95rem; }
.r2-press:not(#r2-press-guard) .press-case__facts dd { margin: .35rem 0 0; color: var(--r2-on-dark, #F6F1EA); font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-size: clamp(3.3rem, 6vw, 6.2rem); font-weight: var(--r2-weight-display, 100); line-height: 1; letter-spacing: -.035em; }
.r2-press:not(#r2-press-guard) .press-case__facts small { display: block; margin-top: .45rem; color: var(--press-on-dark-78); font-family: var(--r2-font-body, "sofia-pro", Arial, Helvetica, sans-serif); font-weight: var(--press-weight-body); font-size: 1rem; line-height: 1.45; letter-spacing: 0; }

/* ── 5. Ideas in motion ───────────────────────────────────────────── */
.r2-press:not(#r2-press-guard) .press-perspectives { background: var(--r2-mineral, #E6E4DE); }
.r2-press:not(#r2-press-guard) .press-intro--split { grid-template-columns: 1.45fr .55fr; align-items: end; }
.r2-press:not(#r2-press-guard) .press-intro--split > p { max-width: 440px; margin: 0 0 .45rem; color: var(--r2-body, #34455A); font-size: 1.1rem; }
.r2-press:not(#r2-press-guard) .press-stories { border-top: 1px solid var(--press-rule-strong); }
.r2-press:not(#r2-press-guard) .press-story { min-height: 180px; padding: 2rem 0; display: grid; grid-template-columns: .25fr .65fr 1.8fr auto; gap: clamp(22px, 4vw, 64px); align-items: start; border-bottom: 1px solid var(--press-rule-soft); }
.r2-press:not(#r2-press-guard) .press-story__index { color: var(--r2-oxblood, #6E1F2A); font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-weight: var(--r2-weight-display, 100); font-size: 2rem; line-height: 1.2; }
.r2-press:not(#r2-press-guard) .press-story__publisher { color: var(--press-muted); font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); font-size: .93rem; line-height: 1.45; }
.r2-press:not(#r2-press-guard) .press-story__copy h3 { margin: 0 0 .7rem; font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-size: clamp(1.75rem, 3vw, 3rem); font-weight: var(--r2-weight-display, 100); line-height: 1.08; }
.r2-press:not(#r2-press-guard) .press-story__copy p { max-width: 700px; margin: 0; color: var(--r2-body, #34455A); }
.r2-press:not(#r2-press-guard) .press-story > .press-link { gap: .4rem; text-underline-offset: .3rem; }

/* ── 6. Recognition record ────────────────────────────────────────── */
.r2-press:not(#r2-press-guard) .press-recognition { background: var(--r2-chalk, #F7F6F4); }
.r2-press:not(#r2-press-guard) .press-recognition__heading { display: grid; grid-template-columns: .55fr 1.2fr .7fr; gap: clamp(36px, 6vw, 90px); align-items: start; margin-bottom: clamp(60px, 8vw, 95px); }
.r2-press:not(#r2-press-guard) .press-recognition__heading > p:last-child { margin: .45rem 0 0; color: var(--r2-body, #34455A); font-size: 1.06rem; }
.r2-press:not(#r2-press-guard) .press-records { list-style: none; margin: 0 auto; padding: 0; border-top: 1px solid var(--r2-rule, rgba(28, 46, 69, .14)); }
.r2-press:not(#r2-press-guard) .press-records li { min-height: 104px; padding: 1.4rem 0; display: grid; grid-template-columns: .4fr 1.7fr .55fr; gap: 2rem; align-items: center; border-bottom: 1px solid var(--r2-rule, rgba(28, 46, 69, .14)); }
.r2-press:not(#r2-press-guard) .press-records time { color: var(--r2-oxblood, #6E1F2A); font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-weight: var(--r2-weight-display, 100); font-size: clamp(1.6rem, 2.4vw, 2.45rem); line-height: 1.1; }
.r2-press:not(#r2-press-guard) .press-records strong { display: block; font-family: var(--r2-font-display, "ivypresto-display", Georgia, serif); font-size: clamp(1.55rem, 2.4vw, 2.35rem); font-weight: var(--r2-weight-display, 100); line-height: 1.1; color: var(--r2-ink, #1C2E45); }
.r2-press:not(#r2-press-guard) .press-records span:not(.press-sr) { display: block; margin-top: .3rem; color: var(--press-muted); font-size: .96rem; }
.r2-press:not(#r2-press-guard) .press-records a { justify-self: end; min-height: 44px; display: inline-flex; align-items: center; gap: .3rem; font-family: var(--r2-font-functional, "sofia-pro-condensed", "Arial Narrow", Arial, sans-serif); font-weight: var(--press-weight-functional); text-align: right; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3rem; }
.r2-press:not(#r2-press-guard) .press-records a span[aria-hidden] { display: inline; margin: 0; color: inherit; font-size: inherit; }

/* ── 7. Press inquiries ───────────────────────────────────────────── */
.r2-press:not(#r2-press-guard) .press-contact { display: grid; grid-template-columns: 1.4fr .6fr; gap: clamp(54px, 9vw, 130px); background: var(--r2-oxblood, #6E1F2A); color: var(--r2-on-dark, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-contact > * { margin: 0; }
.r2-press:not(#r2-press-guard) .press-contact .press-eyebrow { color: var(--r2-taupe, #B6A58F); }
.r2-press:not(#r2-press-guard) .press-contact h2 { color: var(--r2-on-dark, #F6F1EA); }
.r2-press:not(#r2-press-guard) .press-contact__detail p { margin: 0; color: var(--press-on-dark-secondary); font-size: 1.12rem; }
.r2-press:not(#r2-press-guard) .press-contact__actions { margin-top: 2rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; }

/* ── 8. Responsive ────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .r2-press:not(#r2-press-guard) :is(.press-hero__grid, .press-intro, .press-intro--split, .press-case, .press-recognition__heading, .press-contact) { grid-template-columns: 1fr; }
  .r2-press:not(#r2-press-guard) .press-hero { min-height: 720px; }
  .r2-press:not(#r2-press-guard) .press-hero__grid { align-items: start; }
  .r2-press:not(#r2-press-guard) .press-hero__copy { max-width: 570px; }
  .r2-press:not(#r2-press-guard) .press-lead { grid-template-columns: .4fr 1.6fr; }
  .r2-press:not(#r2-press-guard) .press-lead__content { grid-column: 1 / -1; }
  .r2-press:not(#r2-press-guard) .press-story { grid-template-columns: .2fr .7fr 1.6fr; }
  .r2-press:not(#r2-press-guard) .press-story > .press-link { grid-column: 3; }
  .r2-press:not(#r2-press-guard) .press-recognition__heading > p:last-child { max-width: 600px; }
}
@media (max-width: 600px) {
  .r2-press:not(#r2-press-guard) { --press-section: 72px; }
  .r2-press:not(#r2-press-guard) .press-hero { min-height: 680px; padding-top: 18px; }
  .r2-press:not(#r2-press-guard) .press-hero__rule span:last-child { display: none; }
  .r2-press:not(#r2-press-guard) .press-hero__grid { margin-top: 84px; gap: 40px; }
  .r2-press:not(#r2-press-guard) .press-hero h1 { font-size: clamp(3.55rem, 17vw, 5.25rem); }
  .r2-press:not(#r2-press-guard) .press-intro { margin-bottom: 54px; }
  .r2-press:not(#r2-press-guard) .press-lead { grid-template-columns: 1fr; }
  .r2-press:not(#r2-press-guard) .press-lead__number { font-size: 7rem; }
  .r2-press:not(#r2-press-guard) .press-lead__content { grid-column: auto; }
  .r2-press:not(#r2-press-guard) .press-case { margin-left: calc(var(--press-pad) * -1); margin-right: calc(var(--press-pad) * -1); padding: 56px var(--press-pad); }
  .r2-press:not(#r2-press-guard) .press-case__facts dd { font-size: clamp(3rem, 17vw, 4.25rem); }
  .r2-press:not(#r2-press-guard) .press-story { grid-template-columns: .22fr 1fr; gap: 16px 22px; }
  .r2-press:not(#r2-press-guard) .press-story__publisher { padding-top: .32rem; }
  .r2-press:not(#r2-press-guard) .press-story__copy { grid-column: 1 / -1; }
  .r2-press:not(#r2-press-guard) .press-story > .press-link { grid-column: 1 / -1; }
  .r2-press:not(#r2-press-guard) .press-records li { grid-template-columns: .45fr 1.55fr; gap: 18px; }
  .r2-press:not(#r2-press-guard) .press-records a { grid-column: 2; justify-self: start; text-align: left; }
  .r2-press:not(#r2-press-guard) .press-contact__actions { width: 100%; }
  .r2-press:not(#r2-press-guard) .press-button { width: 100%; justify-content: space-between; }
}
@media (hover: none), (pointer: coarse) {
  .r2-press:not(#r2-press-guard) .press-link--quiet { text-decoration-color: currentColor; }
}
@media (prefers-reduced-motion: reduce) {
  .r2-press:not(#r2-press-guard) a { transition: none; }
}
