/* Press page (/press/) and press-release pages. press_page.py + templates/press*.html, 2026-10-09.
   Uses the v5 tokens from style.css; loaded only on these pages. No gold: accents are --accent-text. */
.press-list{ display:grid; gap:clamp(28px,3vw,44px); }
.press-item{ border-top:2px solid var(--ink); padding-top:clamp(16px,1.6vw,22px); max-width:72ch; }
.press-sec{ display:block; font-family:var(--sans); font-weight:800; font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--accent-text); }
.press-item h3{ margin:10px 0 12px; font-size:clamp(1.5rem,2.2vw,2.2rem); }
.press-item h3 a{ color:inherit; text-decoration:none; }
.press-item h3 a:hover,.press-item h3 a:focus-visible{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.press-item blockquote{ margin:0 0 14px; padding-left:18px; border-left:3px solid var(--clay); }
.press-item blockquote p{ font-size:clamp(1.02rem,1.15vw,1.16rem); color:var(--ink-soft); line-height:1.55; }
.press-item > p{ color:var(--ink-soft); line-height:1.55; }
.press-go{ display:inline-flex; gap:.4em; align-items:center; font-weight:800; color:var(--accent-text);
  text-decoration:none; border-bottom:2px solid currentColor; padding-bottom:2px; }
.press-go:hover,.press-go:focus-visible{ color:var(--ink); }
.press-links{ display:flex; flex-wrap:wrap; gap:18px; margin-top:12px; }
.press-note{ margin-top:clamp(22px,2.4vw,34px); font-size:.92rem; color:var(--ink-faint); max-width:72ch; }

/* Amorielli: the cover beside the pieces that name the house */
.pm-grid{ display:grid; grid-template-columns:minmax(220px,380px) minmax(0,1fr); gap:clamp(28px,5vw,90px); align-items:start; }
.pm-cover{ margin:0; position:sticky; top:calc(var(--nav-h,84px) + 24px); }
.pm-cover a{ display:block; }
.pm-cover img{ display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover;
  box-shadow:0 30px 60px -30px rgba(34,28,23,.55); }
.pm-cover figcaption{ margin-top:12px; font-size:.86rem; color:var(--ink-faint); }
@media(max-width:820px){ .pm-grid{ grid-template-columns:1fr; } .pm-cover{ position:static; max-width:340px; } }

/* For journalists: facts list + photo downloads */
.kit-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,4vw,72px); align-items:start; }
.kit-facts{ margin:0; border-top:2px solid var(--ink); }
.kit-facts > div{ display:grid; grid-template-columns:minmax(110px,.32fr) minmax(0,1fr); gap:16px; padding:14px 0;
  border-bottom:1px solid var(--line); }
.kit-facts dt{ font-weight:800; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-text); padding-top:3px; }
.kit-facts dd{ margin:0; line-height:1.5; }
.kit-photos{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,1.6vw,24px); }
.kit-photos figure{ margin:0; }
.kit-photos img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.kit-photos figcaption{ display:flex; justify-content:space-between; gap:6px 12px; align-items:baseline; flex-wrap:wrap;
  margin-top:8px; font-size:.9rem; line-height:1.4; }
.kit-photos figcaption a{ font-weight:800; color:var(--accent-text); white-space:nowrap; }
.kit-size{ font-weight:600; color:var(--ink-faint); }
@media(max-width:980px){ .kit-grid{ grid-template-columns:1fr; } }
@media(max-width:540px){ .kit-photos{ grid-template-columns:1fr; } .kit-facts > div{ grid-template-columns:1fr; gap:4px; } }

/* One release */
.rel-head h1{ font-size:clamp(2rem,4.4vw,4.2rem); max-width:24ch; }
.rel-article{ max-width:var(--readw,860px); }
.rel-article p{ font-size:clamp(1.04rem,1.15vw,1.18rem); line-height:1.65; margin:0 0 1.1em; }
.rel-article h2{ font-size:clamp(1.4rem,2vw,1.9rem); margin:2em 0 .6em; }
.rel-article blockquote{ margin:1.4em 0; padding-left:22px; border-left:4px solid var(--clay); }
.rel-article blockquote p{ font-size:clamp(1.12rem,1.4vw,1.36rem); font-weight:700; color:var(--ink); }
.rel-dateline{ font-weight:800; }
.rel-contact{ border-top:1px solid var(--line); padding-top:16px; color:var(--ink-soft); }
.rel-back{ display:flex; gap:22px; flex-wrap:wrap; margin-top:2em; }

/* Press Page module (Module 44, 2026-10-11): the release as it ran on the wire, in a browser frame,
   and the photos inside the release. */
.rel-head{ padding-bottom:clamp(96px,12vw,170px); }
.rel-proof{ position:relative; z-index:3; margin-top:calc(-1 * clamp(56px,8vw,120px)); }
.wire-shot{ margin:0; max-width:1180px; }
.wire-shot > a,a.wire-shot{ display:block; background:#fff; border:1px solid rgba(34,28,23,.22);
  box-shadow:0 40px 80px -40px rgba(34,28,23,.6); text-decoration:none; }
.wire-shot > a:hover,.wire-shot > a:focus-visible,a.wire-shot:hover{ border-color:var(--ink); }
.wire-bar{ display:flex; align-items:center; gap:7px; padding:10px 14px; background:#ece6dd; border-bottom:1px solid rgba(34,28,23,.16); }
.wire-bar i{ width:11px; height:11px; border-radius:50%; background:rgba(34,28,23,.28); flex:none; }
.wire-bar b{ margin-left:10px; flex:1; min-width:0; background:#fff; padding:4px 12px; font-family:var(--sans); font-weight:700;
  font-size:.8rem; color:var(--stone); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wire-shot img{ display:block; width:100%; height:auto; }
.wire-shot figcaption{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 22px;
  margin-top:14px; font-size:.95rem; color:var(--stone); font-weight:700; }
.rel-proof + .rel-body{ padding-top:clamp(36px,4.5vw,64px); }
.rel-fig{ margin:1.8em 0 2em; }
.rel-fig img{ display:block; width:100%; height:auto; }
.rel-fig figcaption{ margin-top:9px; font-size:.86rem; color:var(--stone); }
/* /press/ list: the screenshot beside its release */
.press-item-shot{ display:grid; grid-template-columns:minmax(220px,420px) minmax(0,72ch); gap:clamp(20px,3vw,48px);
  align-items:start; max-width:none; }
.wire-shot-sm{ box-shadow:0 24px 50px -30px rgba(34,28,23,.55); }
.wire-shot-sm .wire-bar{ padding:7px 10px; gap:5px; }
.wire-shot-sm .wire-bar i{ width:8px; height:8px; }
.wire-shot-sm .wire-bar b{ font-size:.68rem; padding:2px 8px; }
.press-item-shot .press-sec{ margin-top:0; }
@media(max-width:820px){ .press-item-shot{ grid-template-columns:1fr; } .wire-shot-sm{ max-width:520px; } }
