/* SayRaye v2.7 — definitive cross-site stabilization layer */
:root { --sr-link:#d5bd8c; --sr-card:#11100e; }

/* Brand links: never browser blue. */
a { color: inherit; }
main a:not(.button):not(.nav-cta):not(.platform-card),
.site-footer a,
.text-link,
.archive a,
.page-cta a:not(.button) {
  color: var(--sr-link) !important;
  text-decoration-color: rgba(213,189,140,.48) !important;
  text-underline-offset: .22em;
}
main a:hover, .site-footer a:hover { color:#fff4d6 !important; }

/* One consistent search launcher everywhere. */
.search-trigger {
  min-width: 8.4rem !important;
  min-height: 3.25rem !important;
  padding: .8rem 1.15rem !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.65rem !important;
  border:1px solid rgba(213,189,140,.32) !important;
  background:#0b0b0b !important;
  color:#f2eee7 !important;
  font-size:0 !important;
  line-height:1 !important;
  text-decoration:none !important;
  border-radius:0 !important;
}
.search-trigger span { font:600 .72rem/1 var(--font-sans) !important; letter-spacing:.13em; text-transform:uppercase; }
.search-trigger:not(:has(span))::after { content:"Search"; font:600 .72rem/1 var(--font-sans); letter-spacing:.13em; text-transform:uppercase; }
.search-trigger kbd { display:none !important; }
.search-trigger svg { width:1.05rem !important; height:1.05rem !important; stroke:currentColor !important; fill:none !important; }

/* Header contrast is deterministic on dark and light page sections. */
.site-header { background:rgba(11,11,11,.96); border-bottom-color:rgba(242,238,231,.14); }
.site-header .brand, .site-header .site-nav a { color:var(--paper) !important; }

/* Opening: editorial, balanced, never cropped. */
.intro-film {
  grid-template-columns:minmax(22rem,.82fr) minmax(38rem,1.18fr) !important;
  gap:clamp(2.5rem,5vw,5.5rem) !important;
  padding-top:clamp(7rem,9vw,9rem) !important;
  padding-bottom:clamp(6rem,8vw,8rem) !important;
  align-items:center !important;
}
.intro-film-copy h2 {
  max-width:8.6ch !important;
  margin:.7rem 0 clamp(2rem,3vw,3rem) !important;
  font-size:clamp(4.2rem,6.4vw,7rem) !important;
  line-height:.97 !important;
  letter-spacing:-.04em !important;
}
.intro-reminder { max-width:34rem !important; line-height:1.75 !important; }
.intro-film-player { min-width:0; }
.intro-film-player video { width:100%; height:auto; object-fit:contain !important; }
.intro-begin { padding:1.8rem 1rem !important; }

/* The manifesto ticker is intentionally quiet and typographically clean. */
.manifesto-ticker { overflow:hidden; margin-top:clamp(3rem,5vw,5rem) !important; }
.manifesto-ticker > div {
  display:flex !important; flex-wrap:wrap !important; gap:.6rem 1rem !important;
  align-items:center; font:600 .72rem/1.4 var(--font-sans) !important;
  letter-spacing:.13em !important; color:#c7c0b7; text-transform:uppercase;
}
.manifesto-ticker b { color:var(--gold-light); font-size:.62rem; font-weight:400; }

/* Home component guarantees. */
.platform-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:1rem !important; }
.platform-card {
  min-height:12rem; padding:1.35rem; display:flex !important; flex-direction:column; justify-content:space-between;
  border:1px solid rgba(213,189,140,.28); background:var(--sr-card); color:var(--paper) !important;
  text-decoration:none !important;
}
.platform-card img,.platform-card svg { width:2.8rem; height:2.8rem; }
.platform-card strong { font:1.35rem var(--font-display); }
.platform-card small { color:var(--gold-light); }
.support-cards { gap:0 !important; }
.newsletter-input-row { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; }
.contact-links a { color:var(--paper) !important; }

/* Interior pages: eliminate raw/unfinished layouts. */
.editorial-story {
  display:grid; grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);
  gap:clamp(3rem,8vw,8rem); align-items:center; background:var(--paper); color:var(--ink);
}
.story-portrait { align-self:stretch; }
.portrait-placeholder-large,
.about-monogram-panel {
  min-height:34rem; display:grid; place-items:center; align-content:center; gap:1.25rem;
  border:1px solid rgba(11,11,11,.16); background:linear-gradient(145deg,#18140f,#090909); color:var(--gold-light);
}
.about-monogram-panel img { width:min(11rem,42%); }
.about-monogram-panel small { font:.7rem var(--font-sans); letter-spacing:.18em; text-transform:uppercase; }
.story-copy h2 { margin:.7rem 0 2rem; max-width:12ch; font:clamp(3.4rem,6.5vw,7rem)/.98 var(--font-display); letter-spacing:-.04em; }
.story-copy p { max-width:54rem; font-size:1.05rem; line-height:1.75; }
.story-copy p+p { margin-top:1.15rem; }
.values-section { background:var(--paper); color:var(--ink); }
.values-intro { max-width:68rem; }
.values-grid { margin-top:3rem; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid rgba(11,11,11,.16); }
.value-card { min-height:16rem; padding:2rem; border-right:1px solid rgba(11,11,11,.16); border-bottom:1px solid rgba(11,11,11,.16); }
.value-card:nth-child(2n) { border-right:0; }
.value-card h3 { margin:2rem 0 .8rem; font:clamp(1.7rem,2.7vw,2.6rem)/1.1 var(--font-display); }
.pull-quote { min-height:auto !important; padding-block:clamp(5rem,8vw,8rem) !important; background:var(--paper); color:var(--ink); }
.pull-quote blockquote { max-width:62rem; margin:0 auto; text-align:center; font:clamp(2.1rem,4vw,4.3rem)/1.15 var(--font-display); }
.page-cta { display:grid; grid-template-columns:minmax(0,1.2fr) auto; gap:3rem; align-items:end; background:var(--paper); color:var(--ink); }
.page-cta h2 { max-width:14ch; }
.page-cta > div:last-child { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }

/* Footer always retains its designed grid. */
.site-footer { padding-inline:var(--pad) !important; color:var(--paper); }
.site-footer a { display:block; margin:.15rem 0; text-decoration:none !important; }
.footer-brand .raye-signature { max-width:15rem; }

/* Support page cards/buttons. */
.support-paths,.support-grid,.support-options { background:var(--paper); color:var(--ink); }
.support-paths .support-card,.support-options article { border:1px solid rgba(11,11,11,.16); padding:2rem; }
.support-paths a,.support-options a { color:#7b561b !important; }

@media (max-width:72rem) {
  .intro-film { grid-template-columns:1fr !important; }
  .intro-film-copy h2 { max-width:11ch !important; }
  .platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .editorial-story { grid-template-columns:1fr; }
  .page-cta { grid-template-columns:1fr; }
}
@media (max-width:42rem) {
  .platform-grid { grid-template-columns:1fr !important; }
  .values-grid { grid-template-columns:1fr; }
  .value-card { border-right:0; }
  .newsletter-input-row { grid-template-columns:1fr !important; gap:.75rem; }
  .intro-film-copy h2 { font-size:clamp(3.4rem,16vw,5.4rem) !important; }
}
