/* ============================================================
   RWSMI — theme-overrides.css
   Roxie Webb Securities Management editorial theme.
   Layered on top of style2.css. Palette + typography sampled
   from the client design reference (navy / gold / cream, serif).
   Shared across every page; homepage components prefixed .rw-.
   ============================================================ */

:root {
  /* Brand palette (sampled from reference) */
  --rw-navy:      #0c161e;   /* dark sections, header, footer   */
  --rw-navy-2:    #13212c;   /* lifted navy for hover/frames    */
  --rw-gold:      #b8946a;   /* accents, dividers, borders      */
  --rw-gold-soft: #a07f57;
  --rw-gold-lite: #cdaa7e;   /* hover                           */
  --rw-cream:     #e7dfd0;   /* light feature band              */
  --rw-cream-2:   #f3eee2;   /* page background                 */
  --rw-offwhite:  #f3ede1;   /* text on dark                    */
  --rw-ink:       #2a3138;   /* text on light                   */
  --rw-ink-soft:  #4c4638;
  --rw-muted:     rgba(243,237,225,0.72);
  --rw-muted-2:   rgba(243,237,225,0.45);

  --rw-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --rw-body:  'EB Garamond', Georgia, 'Times New Roman', serif;
  --rw-caps:  'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* Remap legacy style2.css tokens so inherited (inner-page)
     components pick up the new brand instead of radio blue/red. */
  --navy:       #0c161e;
  --navy-dark:  #060d13;
  --navy-mid:   #13212c;
  --red:        #b8946a;
  --red-dark:   #a07f57;
  --cream:      #f3eee2;
  --cream-dark: #e3dccb;
  --gold:       #b8946a;

  --brand-cream:     #f3eee2;
  --brand-cream-nav: #0c161e;
  --brand-navy:      #0c161e;
  --brand-red:       #b8946a;
  --brand-red-dark:  #a07f57;
}

/* Page background */
body { background: var(--rw-cream-2) !important; color: var(--rw-ink); }

/* Layout containers — transparent, inherit body */
.editorial-section, .content-wrap, .events-wrap, .cards-section,
.schedule-wrap, .page-hero { background: transparent; }

/* Content cards — warm white on cream */
.news-card, .pod-card, .station-profile, .event-card, .cal-day { background: #ffffff; }
.inquiry-section, .psa-section, .event-submit-section { background: var(--rw-cream-2); }

/* ============================================================
   HEADER / NAV  (shared, built by layout.js)
   ============================================================ */
nav.main-nav {
  background: var(--rw-navy) !important;
  position: sticky !important; top: 0 !important; z-index: 9999 !important;
  box-shadow: none !important; border-bottom: 1px solid rgba(184,148,106,0.16);
}
.main-nav-inner {
  max-width: 1280px; margin: 0 auto; width: 100%;
  padding: 0 44px; min-height: 94px;
  display: flex; align-items: center; justify-content: space-between; box-sizing: border-box;
}

/* Monogram + wordmark lockup */
.nav-logo { display: flex; align-items: center; gap: 16px; text-decoration: none; }
.rw-mark {
  font-family: var(--rw-serif); font-weight: 600; font-size: 40px;
  color: var(--rw-gold); line-height: 1; letter-spacing: -0.06em; white-space: nowrap;
}
.rw-wordmark {
  display: flex; flex-direction: column; justify-content: center;
  border-left: 1px solid rgba(184,148,106,0.4); padding-left: 16px;
}
.rw-name {
  font-family: var(--rw-serif); font-weight: 600; font-size: 25px;
  letter-spacing: 0.24em; color: var(--rw-offwhite); line-height: 1.05;
}
.rw-sub {
  font-family: var(--rw-caps); font-weight: 400; font-size: 8.5px;
  letter-spacing: 0.34em; color: var(--rw-muted); margin-top: 6px;
}

.nav-right { display: flex; align-items: center; gap: 0; }
.nav-links-wrap { display: flex; align-items: center; }
.nav-links { display: flex; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; }
.nav-links li a {
  font-family: var(--rw-caps); font-size: 12px; font-weight: 400;
  letter-spacing: 0.19em; text-transform: uppercase; color: var(--rw-offwhite);
  padding: 8px 17px; border-bottom: none !important; text-decoration: none;
  transition: color 0.18s ease; display: block;
}
.nav-links li a:hover { color: var(--rw-gold); }
.nav-links li a.active {
  color: var(--rw-gold) !important; border-bottom: none !important; font-weight: 400 !important;
}
.nav-search, .nav-social { display: none !important; } /* clean editorial header */
.nav-hamburger {
  display: none; background: none; border: none; cursor: pointer;
  color: var(--rw-offwhite); padding: 6px;
}

/* ============================================================
   HERO
   ============================================================ */
.hero.rw-hero {
  position: relative; min-height: 660px; display: flex; align-items: center;
  overflow: hidden; background: var(--rw-navy) !important; padding: 0;
}
.rw-hero-media { position: absolute; inset: 0; z-index: 0; }
.rw-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.rw-hero-overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,
    rgba(12,22,30,0.94) 0%, rgba(12,22,30,0.80) 34%,
    rgba(12,22,30,0.42) 66%, rgba(12,22,30,0.12) 100%);
}
.rw-hero-inner {
  position: relative; z-index: 2; max-width: 1280px; margin: 0 auto;
  width: 100%; padding: 0 44px; box-sizing: border-box;
}
.rw-hero-content { max-width: 640px; }
.rw-hero h1 {
  font-family: var(--rw-serif); color: var(--rw-offwhite); font-weight: 500;
  font-size: 66px; line-height: 1.05; margin: 0; letter-spacing: 0.005em;
}
.rw-hero h1 span { display: block; }
.rw-hero p {
  font-family: var(--rw-body); color: var(--rw-muted); font-size: 20px;
  line-height: 1.6; font-weight: 400; max-width: 430px; margin: 0 0 36px;
}
.rw-divider { width: 66px; height: 1px; background: var(--rw-gold); border: 0; margin: 34px 0 28px; }
.rw-btn-outline {
  display: inline-block; font-family: var(--rw-caps); font-size: 12px;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--rw-offwhite);
  border: 1px solid var(--rw-gold); padding: 17px 36px; text-decoration: none;
  background: transparent; transition: background 0.2s ease, color 0.2s ease;
}
.rw-btn-outline:hover { background: var(--rw-gold); color: var(--rw-navy); }

/* ============================================================
   FEATURE STRIP
   ============================================================ */
.rw-features { background: var(--rw-cream); padding: 88px 44px; }
.rw-features-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr);
}
.rw-feature { text-align: center; padding: 0 40px; }
.rw-feature + .rw-feature { border-left: 1px solid rgba(12,22,30,0.10); }
.rw-feature-icon { height: 62px; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
.rw-feature-icon svg { width: 54px; height: 54px; stroke: var(--rw-gold); fill: none; }
.rw-feature h3 {
  font-family: var(--rw-serif); font-size: 21px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--rw-navy); margin: 0 0 18px;
}
.rw-feature p {
  font-family: var(--rw-body); font-size: 17.5px; line-height: 1.55;
  color: var(--rw-ink-soft); margin: 0 0 22px;
}
.rw-feature-underline { width: 42px; height: 1px; background: var(--rw-gold); margin: 0 auto; }

/* ============================================================
   HERITAGE / TRUST
   ============================================================ */
.rw-heritage { background: var(--rw-navy); padding: 100px 44px; }
.rw-heritage-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 76px; align-items: center;
}
.rw-heritage h2 {
  font-family: var(--rw-serif); color: var(--rw-offwhite); font-size: 46px;
  font-weight: 500; line-height: 1.12; margin: 0;
}
.rw-heritage h2 span { display: block; }
.rw-heritage .rw-divider { margin: 30px 0; }
.rw-heritage p {
  font-family: var(--rw-body); color: var(--rw-muted); font-size: 18.5px;
  line-height: 1.7; max-width: 450px; margin: 0 0 30px;
}
.rw-textlink {
  font-family: var(--rw-caps); font-size: 12px; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--rw-gold); text-decoration: none;
  display: inline-flex; align-items: center; gap: 12px; transition: color 0.18s ease;
}
.rw-textlink:hover { color: var(--rw-gold-lite); }
.rw-textlink .arrow { font-size: 15px; }
.rw-heritage-photo img {
  width: 100%; height: 100%; max-height: 440px; object-fit: cover; display: block;
  border: 1px solid rgba(184,148,106,0.45);
}

/* ============================================================
   FOOTER  (shared, built by layout.js)
   ============================================================ */
footer.rw-footer { background: var(--rw-navy) !important; padding: 66px 44px 40px; }
.rw-footer-grid {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px;
}
.rw-foot-line {
  font-family: var(--rw-caps); font-size: 12px; letter-spacing: 0.2em;
  text-transform: uppercase; line-height: 2.1;
}
.rw-foot-line.gold { color: var(--rw-gold); }
.rw-foot-line.light { color: var(--rw-offwhite); }
.rw-footer-center { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rw-footer-center .rw-mark { font-size: 46px; }
.rw-since {
  font-family: var(--rw-caps); font-size: 11px; letter-spacing: 0.32em; color: var(--rw-muted);
  border-top: 1px solid rgba(184,148,106,0.4); padding-top: 9px;
}
.rw-footer-right { text-align: right; }
.rw-phone {
  font-family: var(--rw-caps); font-size: 15px; letter-spacing: 0.08em;
  color: var(--rw-offwhite); display: block; margin-bottom: 12px; text-decoration: none;
}
.rw-phone:hover { color: var(--rw-gold); }
.rw-client-login {
  font-family: var(--rw-caps); font-size: 12px; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--rw-gold); text-decoration: none; transition: color 0.18s ease;
}
.rw-client-login:hover { color: var(--rw-gold-lite); }
.rw-footer-divider { max-width: 1200px; margin: 46px auto 22px; height: 1px; background: rgba(184,148,106,0.28); }
.rw-footer-legal {
  text-align: center; font-family: var(--rw-body); font-size: 13.5px;
  color: var(--rw-muted-2); max-width: 860px; margin: 0 auto; line-height: 1.65;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 940px) {
  .rw-hero h1 { font-size: 50px; }
  .rw-heritage-inner { grid-template-columns: 1fr; gap: 44px; }
  .rw-heritage h2 { font-size: 38px; }
}
@media (max-width: 760px) {
  .main-nav-inner { padding: 0 20px; min-height: 76px; }
  .rw-mark { font-size: 32px; }
  .rw-name { font-size: 20px; letter-spacing: 0.2em; }
  .rw-sub { font-size: 7.5px; letter-spacing: 0.28em; }
  .nav-links-wrap { display: none; }
  .nav-hamburger { display: flex; }
  .hero.rw-hero { min-height: 540px; }
  .rw-hero-inner, .rw-features, .rw-heritage, footer.rw-footer { padding-left: 24px; padding-right: 24px; }
  .rw-hero h1 { font-size: 40px; }
  .rw-hero p { font-size: 18px; }
  .rw-features-inner { grid-template-columns: 1fr; gap: 52px; }
  .rw-feature { padding: 0; }
  .rw-feature + .rw-feature { border-left: none; }
  .rw-footer-grid { grid-template-columns: 1fr; text-align: center; gap: 28px; justify-items: center; }
  .rw-footer-right, .rw-footer-left { text-align: center; }
}
