/* =========================================================
   RGE Site Styles — v1.1 (Clean Header + Blue Pills) — FIXED
   White header row, RGE blue divider, blue nav pills
   ========================================================= */

/* ---------- Base / Reset ---------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --bg: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --border: #e5e7eb;

  --rge-blue: #151B99;
  --rge-blue-2: #0f1477;
  --rge-active: #3F51F5;

  --radius: 12px;
  --container: 980px;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  font-family: Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
}

/* =================================================
   RGE Design Tokens (Site-wide color & layout system)
   Single source for colors and sizing
================================================= */

:root {

  /* Primary Brand Colors */
  --rge-blue: #151B99;
  --rge-blue-2: #2434D1;   /* hover / highlight */

  /* Text System */
  --text: #222222;

  /* Divider + subtle UI lines */
  --rge-divider: #d8dbe6;

  /* Layout */
  --container: 1100px;

}
/* ==============================
   RGE Global Typography Standard
   ============================== */

/* Body text stays neutral */
body {
  color: var(--text);
}

/* Headings use RGE Blue */
h1, h2, h3, h4, h5, h6 {
  color: var(--rge-blue);
}

/* Links */
a {
  color: var(--rge-blue);
  text-decoration: underline;
}

a:hover {
  color: var(--rge-blue-2);
}
/* ---------- Layout ---------- */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 24px;
}

/* ---------- Skip link (accessibility) ---------- */
.skip-link {
  position: absolute;
  left: -999px;
  top: 10px;
  background: #ffffff;
  color: var(--rge-blue);
  padding: 10px 14px;
  border: 2px solid var(--rge-blue);
  border-radius: 10px;
  z-index: 9999;
}

.skip-link:focus {
  left: 10px;
}
/* --- Header: prevent brand text clipping/ellipsis --- */
.rge-header-left,
.rge-brandtext,
.rge-brandname,
.rge-tagline {
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

.rge-header-left p {
  margin: 0;
}
/* ---------- Header (SS2 LOCK) ---------- */
.rge-header{
  background: #fff;
  color: #1f2d3d;
  padding: 18px 0 12px;
  border-bottom: none;
}
/* SS2-style divider UNDER header */
.rge-header::after{
  content: "";
  display: block;
  height: 6px;
  background: var(--rge-blue);
  width: calc(100% - 48px);
  max-width: var(--container);
  margin: 16px auto 0;
  border-radius: 999px;
}

/* Row 1: brand (logo + text)
   Row 2: nav pills (centered) */
.rge-header-top{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.rge-header-left{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
}

.rge-logo{
  width: 92px;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

.rge-brandtext{
  line-height: 1.15;
  text-align: left;
}

.rge-brandname{
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.3px;
  color: var(--rge-blue);
  margin: 0;
}

.rge-tagline{
  margin-top: 4px;
  font-size: 22px;
  font-weight: 400;
  color: #3346d6;
  margin-bottom: 0;
}

/* If your HTML still includes <div class="rge-divider"></div>,
   make it full width (otherwise harmless). */

 

/* Mobile: allow truncation only on small screens */
@media (max-width: 520px){
  .rge-brandname,
  .rge-tagline{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 92vw;
  }
}
/* ---------- Navigation (BLUE pills) ---------- */
.rge-nav {
  max-width: var(--container);
  margin: 18px auto 0 auto;
  padding: 0 24px;

  display: flex;
  justify-content: center;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.rge-nav a {
  display: inline-block;
  padding: 14px 30px;
  border-radius: 999px;

  background: var(--rge-blue);
  color: #ffffff;

  text-decoration: none;
  font-weight: 800;
  font-size: 22px;

  transition: background 0.18s ease, transform 0.06s ease;
}

.rge-nav a:hover {
  background: var(--rge-blue-2);
}

.rge-nav a:active {
  transform: translateY(1px);
}

/* Active navigation state (keep pill shape) */
.rge-nav a.active {
  background: var(--rge-active);
  color: #ffffff;
  border-radius: 999px;   /* keep pill shape */
}  
.rge-nav a:active {
  border-radius: 10px;
}
/* ============================
   Pillar Subnav (No-JS)
   ============================ */

:root{
  --rge-blue:#151B99;
  --rge-blue-2:#597EDE;
  --rge-text:#0b1b4a;
  --rge-border:#cfd7ff;
  --rge-bg:#ffffff;
}
/* was .rge-pill-primary */
.rge-pill.rge-pill--primary{ 
  background: var(--rge-blue) !important;
  color: #fff !important;
  border-color: var(--rge-blue) !important;
}

.rge-pill.rge-pill--primary:hover {
  background: var(--rge-blue-2) !important;
  border-color: var(--rge-blue-2) !important;
  color: #fff !important;
}

.rge-subnav-wrap{
  width: 100%;
  margin: 10px 0 18px;
  flex-direction: column;
  align-items: center;   /* centers Contact pill + pill-row block under the H1 */
  gap: 10px;
}

.rge-pill-row{
   margin: 0;
  display: flex;
  justify-content: center;
  width: 100%;
}

.rge-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-family: Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;

  padding: 8px 18px;          /* thinner + polite */
  border-radius: 999px;       /* true pill */

  border: 1px solid var(--rge-border);
  background: var(--rge-bg);
  color: var(--rge-blue);

  text-decoration: none;
  white-space: nowrap;

  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
}

.rge-pill:hover{
   background:#f4f7ff;
  border-color:#aebcff;
  transform: translateY(-1px);
}

.rge-pill--active{
  background: var(--rge-blue);
  border-color: var(--rge-blue);
  color:#fff;
}

.rge-pill--outline{
  border-color: var(--rge-blue);
  color: var(--rge-blue);
  background:#fff;
}

.rge-pill--outline:hover{
  background:#f4f7ff;
}

/* ===== Main Page Container ===== */
.rge-main{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* Mobile friendliness */
@media (max-width: 520px){
  .rge-pill{
    font-size: 14px;
    padding: 10px 12px;
  }
}

@media (min-width: 1200px){
  .rge-main{ padding: 0 24px; }
}
/* ========================================
   RGE Signature Click — Pill → Rectangle → Pill
   Applies to top nav pills (and optionally CTA)
   ========================================= */

:root{
  --rge-blue: #151B99;
  --rge-blue-hover: #597EDE; /* your lighter blue */
}

/* Ensure nav pills can animate cleanly */
.nav-pill,

/* CTA – standard (polite, for navigation/jump buttons) */
/* CTA – small / polite */
/* Sub-section navigation pills (Start / Overview / etc.) */
.nav-pill{
  display:inline-block;
  font-family:Arial, sans-serif;
  font-size:16px;          /* bump up */
  font-weight:600;         /* stronger */
  padding:8px 20px;        /* more presence */
  border-radius:22px;      /* pill but not stadium */
  border:1px solid #151B99;
  background:#ffffff;
  color:#151B99;
  text-decoration:none;
  transition:all .2s ease;
}


.rge-pillar-card .rge-cta{
  width:auto;
}


.nav-pill:hover{
  background:#151B99;
  color:#ffffff;
}
/* CTA – big (keep for videos / primary actions) */
.rge-cta-big{
  padding:14px 28px;
  font-size:18px;
  font-weight:700;
  border-radius:9999px;     /* stadium pill */
}

.rge-cta-handoff{
  display:inline-block;
  font-family:Arial, sans-serif;
  font-size:17px;
  font-weight:600;
  padding:12px 22px;
  border-radius:24px;
  border:1px solid var(--rge-blue);
  background:#fff;
  color:var(--rge-blue);
  text-decoration:none;
  transition:all .2s ease;
}

.rge-cta-handoff:hover{
  background:rgba(21,27,153,.06);
  border-color:rgba(21,27,153,.5);
}

/* The "clicked" state class we will apply via JS */
.rge-clicked {
  background-color: var(--rge-blue-hover) !important;
  animation: rgeMorph3s 3s ease-in-out 0s 1 both;
}

/* Morph sequence: pill → rectangle → pill */
@keyframes rgeMorph3s {
  0%   { border-radius: 999px; transform: translateY(0); }
  35%  { border-radius: 14px;  transform: translateY(0); }
  65%  { border-radius: 14px;  transform: translateY(0); }
  100% { border-radius: 999px; transform: translateY(0); }
}

/* Optional: respect reduced motion users */
@media (max-width: 980px){
  .rge-header-top{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .rge-nav{
    width: 100%;
    margin-top: 10px;
  }
}

/* ---------- CONTACT page image sizing + centering ---------- */
/* Put <div class="contact-landing-image"><img class="contact-img" ...></div> in Contact page */
.contact-landing-image {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.contact-img {
  /* Desktop: capped + responsive */
  width: min(720px, 85vw);
  height: auto;
  max-width: 100%;
  border-radius: 12px;
  display: block;
}

/* Mobile tweak */
@media (max-width: 600px) {
  .contact-img {
    width: 94vw;
  }
}

.rge-message-list li { margin: 10px 0; }

/* Force Contact headings to RGE blue */
.rge-contact-wrap h1,
.rge-contact-wrap h2,
.rge-contact-wrap h3 {
  color: var(--rge-blue);
}

/* =========================================================
   RGE Home Hero Section
   Clean, centered, brand-forward layout
   ========================================================= */
/* CHIP-TEST: CONTACT-CSS-LOAD */
.rge-hero {
  padding: 80px 20px 80px;
  text-align: center;
  background: #ffffff;
}

.rge-hero-inner {
  max-width: 980px;
  margin: 0 auto;
}

.rge-hero-title {
  font-size: 44px;
  font-weight: 500;
  color: #151B99; /* RGE Blue */
  margin-bottom: 20px;
  line-height: 1.2;
}

.rge-hero-tagline {
  font-size: 22px;
  color: #151B99;
  margin-bottom: 30px;
  font-weight: 700;
  line-height: 1.35;
}

.rge-hero-divider {
  border: none;
  height: 2px;
  background-color: #151B99;
  width: 80%;
  margin: 30px auto;
}

.rge-hero-subtag {
  font-size: 24px;
  font-weight: 500;
  color: #151B99;
  margin-bottom: 50px;
  line-height: 1.35;
  
}

.rge-hero-image img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 20px; /* softens edges slightly */
}



/* =========================================
   RGE Confidence Path Card
========================================= */

/* ============================== */
/* RGE Hero — Core Services Start */
/* No bezel | Image blends to white | Text below image */
/* Image: /rge-site/assets/img/rge-hero-core-services.jpg */
/* ============================== */

.rge-hero--start{
  margin: 22px auto 10px;

  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

/* Image strip (no “card”, no bezel) */
.rge-hero--start .rge-hero-media{
  background-color: hotpink !important;
  width: 100%;
  min-height: clamp(180px, 22vw, 280px);

  /* Two-layer background:
     1) fade to white at bottom
     2) the hero image */
  background-image:
    linear-gradient(to bottom,
      rgba(255,255,255,0) 70%,
      rgba(255,255,255,.65) 88%,
      #ffffff 100%
    ),
    url("/rge-site/assets/img/rge-hero-core-services.jpg");

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  border-radius: 0;
}

/* Text BELOW the image (ss2 style) */
.rge-hero--start .rge-hero-inner{
  position: static;
  display: block;
  padding: 26px 18px 10px;
  text-align: center;
}

/* Title */
.rge-hero--start .rge-hero-title{
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
  letter-spacing: .4px;
  color: #151B99;
  font-size: clamp(26px, 3.2vw, 44px);
  line-height: 1.08;
}

/* Subtitle */
.rge-hero--start .rge-hero-subtitle{
  margin: 12px auto 0;
  max-width: 860px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: #151B99;
  font-size: clamp(15px, 1.7vw, 20px);
  line-height: 1.35;
}

/* Slightly shorter image on small screens */
@media (max-width: 760px){
  .rge-hero--start .rge-hero-media{
    min-height: 210px;
  }
  .rge-hero--start .rge-hero-inner{
    padding: 22px 14px 8px;
  }
}
.rge-cta-outline {
  background: #ffffff;
  color: #151B99;
  border: 1px solid #151B99;
}

.rge-cta-outline:hover {
  background: #f3f4f6;
}

.rge-img{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
}

.rge-img--section{
  max-width: 900px;     /* pick 720/900/1100 */
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}

.rge-caption{
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
/* ---------- Responsive ---------- */

@media (max-width: 768px) {
  .rge-hero-title {
    font-size: 30px;
  }

  .rge-hero-tagline {
    font-size: 18px;
  }

  .rge-hero-subtag {
    font-size: 20px;
  }
}

/* ---------- Footer ---------- */
.rge-footer {
  border-top: 1px solid var(--border);
  margin-top: 40px;
  padding: 28px 0;
  background: #f9fafb;
}

.rge-footer-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}

.rge-footer-brand {
  font-size: 16px;
  color: var(--rge-blue);
}

.rge-footer-tagline {
  font-size: 14px;
  color: var(--muted);
  margin-top: 4px;
}

.rge-footer-contact {
  font-size: 14px;
  color: var(--muted);
}

/* Handoff CTA (thin outline pill) */
.rge-cta-handoff{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 18px;
  font-size: 16px;
  font-weight: 700;

  border-radius: 999px;
  border: 1px solid #151B99;
  background: #fff;
  color: #151B99;

  text-decoration: none;
  transition: background .15s ease, transform .1s ease, border-color .15s ease;
}

.rge-cta-handoff:hover{
  background: rgba(21,27,153,.06);
  transform: translateY(-1px);
}

/* ============================================================
   Core Level-2 Flooring: centered content + pill subnav row
   Applies to Core Services subpages (Overview/Services/Feedback/Wrap-Up)
   ============================================================ */

.rge-section{
  max-width: 980px;
  margin: 0 auto;
  padding: 34px 18px 44px;
}

.rge-section h1{
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.08;
  margin: 10px 0 18px;
  color: var(--rge-blue, #151B99);
  letter-spacing: -0.02em;
}

/* Subnav row */
.rge-subnav{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 10px 0 22px;
}

.rge-subnav a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;      /* more presence */
  border-radius: 22px;     /* still pill, less cartoon */
  border: 1px solid rgba(21,27,153,.25);
  color: #151B99;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;         /* bump */
  background: #fff;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.rge-subnav a:hover{
  border-color: rgba(21,27,153,.40);
  background: rgba(21,27,153,.06);
}

.rge-subnav a.is-active{
 background:#151B99;
  color:#ffffff;
  border-color:#151B99;
}

/* Optional helper text style */
.rge-note{
  margin: 0 0 14px;
  color: rgba(0,0,0,.75);
  font-size: 16px;
  line-height: 1.5;
}


/* Seminars header strip: tone down size, keep ratio */
.rge-section-header-strap img{
  display: block;
  width: 100%;
  height: auto;          /* preserves ratio */
  max-height: 170px;     /* <= adjust: 150–190 sweet spot */
  object-fit: contain;   /* prevents cropping */
  margin: 8px 0 10px;
  
}

/* ======================================================
   Seminars Index Layout (Grid + Overview)
   Optimized for readability without increasing page height
====================================================== */

.seminar-layout{
  display:grid;
  grid-template-columns: 32% 68%;
  gap: 28px;
  margin-top: 20px;
  }

/* LEFT COLUMN */

.seminar-instruction{
  font-size: 15px;
  line-height: 1.25;
  color: rgba(0,0,128,.85);
  margin-bottom: 10px;
}

.seminar-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.seminar-tile{
  display:block;
  text-align:center;
  padding:10px 8px;
  border:1px solid rgba(21,27,153,.25);
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  color:#151B99;
  background:#ffffff;
  line-height:1.2;
}

.seminar-tile:hover{
  border-color:rgba(21,27,153,.6);
  background:rgba(21,27,153,.05);
}

/* RIGHT COLUMN */

.seminar-right h2{
  margin-top:0;
  margin-bottom:12px;
  font-size:28px;   /* slightly more presence */
}

.seminar-item{
  margin-bottom:12px;
}

.seminar-title{
  font-weight:700;
  color:#151B99;
  font-size:17px;
  line-height:1.2;
}

.seminar-focus{
  font-size:15px;
  line-height:1.25;
  color:#333;
  margin-top:3px;
}

/* Seminars Index Layout — readability lock-in (scoped) */
/* --- Seminar Readability Upgrade (Comfort Mode) --- */

#main .seminar-right h2{
  font-size: 34px;
  margin: 0 0 14px;
}

#main .seminar-title{
  font-size: 20px;
  font-weight: 700;
}

#main .seminar-focus{
  font-size: 18px;
  line-height: 1.4;
  color: #333;
}

#main .seminar-tile{
  font-size: 18px;
}

/* --- Seminar Readability Upgrade v2 (Bigger + still compact) --- */

#main .seminar-right h2{
  font-size: 38px;
  margin: 0 0 10px;      /* tighter to offset bigger font */
}

#main .seminar-title{
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
}

#main .seminar-focus{
  font-size: 19px;
  line-height: 1.35;     /* readable, not tall */
  margin-top: 2px;
  color: #333;
}

#main .seminar-item{
  margin-bottom: 10px;   /* reclaim space */
}

/* Left column: make buttons slightly more compact vertically */
#main .seminar-tile{
  font-size: 18px;
  padding: 8px 8px;      /* was 10px */
  border-radius: 12px;
}


/* MOBILE STACK */

@media (max-width: 900px){
  .seminar-layout{
    grid-template-columns:1fr;
  }
}

/* MOBILE */
@media (max-width: 900px){
  .seminar-layout{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   RGE Footer
   ========================================================= */

.rge-footer {
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
}

.rge-footer-inner {
  max-width: var(--container, 980px);
  margin: 0 auto;
  padding: 18px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.rge-footer-title {
  font-weight: 700;
  color: var(--rge-blue, #151B99);
  font-size: 18px;
  line-height: 1.2;
}

.rge-footer-tagline {
  margin-top: 4px;
  color: #6b7280;
  font-size: 14px;
}

.rge-footer-right {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: right;
}

.rge-footer-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #374151;
  text-decoration: none;
  font-size: 14px;
}

.rge-footer-link:hover {
  color: var(--rge-blue, #151B99);
  text-decoration: underline;
}

.rge-footer-icon {
  width: 18px;
  display: inline-block;
  text-align: center;
}

/* Mobile */
@media (max-width: 640px) {
  .rge-footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .rge-footer-right {
    text-align: left;
    width: 100%;
  }
}


/* ---------- Mobile ---------- */
@media (max-width: 700px) {
  .rge-brandname {
    font-size: 26px;
  }
  .rge-tagline {
    font-size: 18px;
  }
  .rge-logo {
    width: 80px;
  }
  .rge-nav a {
    font-size: 20px;
    padding: 12px 22px;
  }
}

@media (max-width: 420px) {
  .rge-brandname,
  .rge-tagline {
    white-space: normal; /* allow wrap on tiny screens */
  }
}
/* =========================================================
   RGE Transparency / Acknowledgements Block
   ========================================================= */

.rge-ack {
  max-width: 900px;
  margin: 80px auto;
  padding: 0 20px;
  text-align: center;
}
.rge-ack-invite {
  margin-top: 18px;
  font-size: 1rem;
  color: #444;
}

.rge-ack-title {
  font-size: 2rem;
  font-weight: 600;
  color: var(--rge-blue);
  margin-bottom: 20px;
  }
.rge-ack-subtitle {
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 30px;
  margin-bottom: 10px;
  color: var(--rge-blue);
}

.rge-ack-lead {
  font-size: 1.1rem;
  margin-bottom: 18px;
  line-height: 1.6;
}

.rge-ack-details {
  margin-top: 25px;
}

.rge-ack-summary {
  list-style: none;
  cursor: pointer;
  text-align: center;
  margin-top: 25px;
}

.rge-ack-summary::-webkit-details-marker {
  display: none;
}
.rge-ack-summary {
  list-style: none;
}

.rge-ack-summary::-webkit-details-marker {
  display: none;
}

.rge-ack-summary::marker {
  display: none;
}
details > summary {
  list-style: none;
}

details > summary::-webkit-details-marker {
  display: none;
}

.rge-ack-pill {
  display: inline-block;
  background: var(--rge-blue);
  color: #fff;
  padding: 14px 36px;
  border-radius: 999px;
  font-weight: 600;
  transition: all 0.4s ease;
}


.rge-ack-panel {
  margin-top: 30px;
  padding: 30px;
  background: #f5f7fb;
  border-radius: 16px;
  text-align: left;
}

.rge-ack-panel-intro {
  margin-bottom: 18px;
}

.rge-ack-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.rge-ack-list li {
  margin-bottom: 10px;
  font-size: 1rem;
}

.rge-ack-muted {
  color: #666;
  font-weight: 400;
}

.rge-ack-panel-close {
  margin-top: 20px;
  font-style: italic;
  }
/* Override the parent centering for the Gratitude block */
.rge-ack .rge-ack-gratitude {
  text-align: left;
  max-width: 700px;
  margin: 40px auto;
}

/* Make sure the list itself is left-aligned too */
.rge-ack .rge-ack-gratitude .rge-ack-list {
  text-align: left;
}
.rge-ack-gratitude {
  text-align: left;
  max-width: 700px;
  margin: 40px auto;
  padding: 30px 35px;
  background: #F3F6FF;   /* soft warm cream */
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

.rge-ack-subtitle {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--rge-blue);
  margin-bottom: 20px;
}
.rge-ack-caret {
  display: none !important;
}
.rge-ack-list a {
  color: inherit;
  text-decoration: none;
}

.rge-ack-list a:hover {
  text-decoration: underline;
}

/* =========================================================
   Archives — Seminars (Mobile-First Stacked List)
   ========================================================= */

.rge-section {
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 16px;
}

.rge-lead {
  color: #374151;
  margin: 10px 0 18px;
  line-height: 1.5;
}

.rge-list {
  display: grid;
  gap: 14px;
  margin-top: 10px;
}

.rge-item {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 14px 14px 12px;
  background: #ffffff;
}

.rge-item-title {
  margin: 0 0 6px;
  font-size: 1.1rem;
  line-height: 1.25;
}

.rge-item-title a {
  color: #151B99;
  text-decoration: none;
}

.rge-item-title a:hover {
  text-decoration: underline;
}

.rge-item-sub {
  margin: 0;
  color: #4b5563;
  line-height: 1.45;
}

.rge-item-note {
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 0.95rem;
  line-height: 1.45;
}

@media (min-width: 720px) {
  .rge-section {
    padding: 34px 18px;
  }

  .rge-item {
    padding: 16px 16px 14px;
  }

  .rge-item-title {
    font-size: 1.15rem;
  }
}
/* Subsection banner strip (Seminars, etc.) */
.rge-section-header-strip {
  margin: 18px auto 20px auto;
  max-width: 1100px;
  border-radius: 24px;          /* Rounded corners */
  overflow: hidden;             /* Required for rounding to work */
  box-shadow: 0 12px 26px rgba (0,0,0,0,.10); /* Soft lift */
  background: #ffffff;
  }

.rge-section-header-strip img {
  width: 100%;
  display: block;
  height: auto;
  object-fit: cover;
}
/* === DEBUG: isolate which element draws the line === */

/* 1) Kill any header/nav “built-in” full-width lines */
.rge-header,
.rge-header-top,
.rge-nav {
  border-bottom: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* 2) Kill any pseudo-element line (common culprit) */
.rge-header::before,
.rge-nav::before,
.rge-nav::after {
  content: "" !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  height: 0 !important;
}
/* ================================
   RGE: Tech Confidence Path Block
   ================================ */

.rge-tcp {
  text-align: center;
  margin: 40px auto 10px;
  padding: 0 18px;
  max-width: 1100px;
}

.rge-tcp h2 {
  margin: 0 0 18px;
  font-size: 2.2rem;   /* matches your section heading tone */
  font-weight: 700;
  color: #151B99;
}

.rge-tcp .rge-tcp-highlight {
  display: inline-block;
  background: #2F5AE0;
  color: #ffffff;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 1.25rem;  /* was much larger */
  line-height: 1.4;
  font-weight: 600;
  max-width: 900px;
}

.rge-tcp .rge-tcp-list {
  margin: 18px auto 0;
  display: inline-block;
  text-align: left;
  font-size: 20px;
  line-height: 1.6;
  color: #0b0b0b;
}

.rge-tcp .rge-tcp-list ul {
  margin: 10px 0 0;
  padding-left: 22px;
}

/* CTA button */
.rge-tcp-cta {
  margin-top: 22px;
}

.rge-tcp-button {
  display: inline-block;
  background: #151B99;
  color: #ffffff;
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.1s ease;
}

.rge-tcp-button:hover {
  background: #2F5AE0;
  transform: translateY(-1px);
}

/* =========================================================
   RGE CTA Button (Global) — matches RGE Blue pill style
   ========================================================= */
.rge-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 18px 36px;
  font-size: 20px;
  font-weight: 700;

  min-width: 260px;

  border-radius: 999px;
  border: none;

  background: #151B99;
  color: #ffffff;

  cursor: pointer;
  text-decoration: none;

  transition: background .2s ease, transform .1s ease;
}

.rge-cta:hover{
  background: #597EDE;
  transform: translateY(-1px);
}

.rge-cta:active{
  transform: translateY(0);
}

.rge-cta:focus{
  outline: 3px solid rgba(21,27,153,.35);
  outline-offset: 3px;
}

/* Mobile-friendly sizing */
@media (max-width: 640px){
  .rge-cta{
    width: 100%;
    max-width: 360px;
    padding: 16px 22px;
    font-size: 18px;
  }
}
/* RGE CTA Button (Handoff / Polite) — for "View Section Overview" and similar */
.rge-cta--handoff{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 18px;
  font-size: 16px;
  font-weight: 600;

  min-width: 0;          /* key: no forced wide pill */
  border-radius: 10px;   /* key: not stadium */

  background: #151B99;
  color: #ffffff;

  cursor: pointer;
  text-decoration: none;

  transition: background .2s ease, transform .1s ease;
}

.rge-cta--handoff:hover{
  background: #0f157a;
  transform: translateY(-1px);
}

/* ==========================================================
   RGE VIDEO MODAL SYSTEM — FULLSCREEN FIX (v2.1)
   Closed by default. Opens only with .is-open
   ========================================================== */

/* [1] Fullscreen overlay wrapper */
.rge-modal{
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0,0,0,.85) !important;

  /* CLOSED by default */
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;

  align-items: center !important;
  justify-content: center !important;

  padding: clamp(14px, 3vw, 40px) !important;
  z-index: 999999 !important;

  transition: opacity .20s ease !important;
}

/* [2] Open state */
.rge-modal.is-open{
  display: flex !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* [3] Panel that holds iframe (centers + controls width) */
.rge-modal__panel{
   position: relative !important;
  width: min(1100px, 94vw) !important;
  z-index: 1 !important;
}

/* [4] The iframe (big + responsive) */
.rge-modal__frame{
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #000 !important;
  display: block !important;
}

/* [5] Close button — visible inside panel */
.rge-modal__close{
   position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 10px !important;
  border: 0 !important;
  background: rgba(0,0,0,.35) !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 44px !important;
  cursor: pointer !important;
  z-index: 999999 !important;   /* IMPORTANT */
}

/* [6] Optional: prevent page scroll when modal open */
html.rge-modal-open,
body.rge-modal-open{
  overflow: hidden !important;
}

/* =========================================================
   Core Services Start – Single Video CTA layout
   Shrink Spuds image + center the whole CTA block
   ========================================================= */

.rge-video-cta.rge-video-cta--single .rge-video-cta__wrap{
  text-align: center;
}

.rge-video-cta.rge-video-cta--single .rge-video-cta__img{
  width: 220px;         /* desktop target size */
  max-width: 55%;       /* keeps it responsive on mobile */
  height: auto;
  display: block;
  margin: 0 auto 14px auto;
}

/* Optional: tighten caption spacing */
.rge-video-cta.rge-video-cta--single .rge-video-cta__caption{
  margin: 0 auto 16px auto;
  max-width: 52ch;      /* prevents super-wide caption lines */
}

/* Optional: make the title smaller like SS2 */
.rge-video-cta.rge-video-cta--single .rge-video-cta__title{
  font-size: clamp(18px, 2.2vw, 24px);
  margin: 6px 0 14px 0;
}

.rge-video-cta.rge-video-cta--single .rge-video-cta__disclaimer {
  font-size: 13px;
  opacity: 0.75;
  margin-top: 8px;
}

/* RGE Video Modal */
/* RGE Video Modal */
.rge-video-modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.rge-video-modal.is-open { display: block; }
.rge-video-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.65); }

.rge-video-panel{
  position: relative;
  width: min(900px, 92vw);
  margin: 7vh auto 0;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.rge-video-close{
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 2;
  background: rgba(0,0,0,.65);
  color: #fff;
  border: 0;
  border-radius: 999px;
  width: 38px;
  height: 38px;
  cursor: pointer;
  font-size: 18px;
  line-height: 38px;
}

.rge-video-frame{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.rge-video-frame iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==============================
   RGE Hero Image Standardizer
   ============================== */

.rge-hero-image {
  margin-top: 28px;
  text-align: center;
}

.rge-hero-image img {
  width: 100%;
  max-width: 700px;   /* matches your preferred ~892px system size */
  max-height: 420px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* =========================================================
   Core Services Start – Single Video CTA layout
   Shrink Spuds image + center the whole CTA block
   ========================================================= */

.rge-video-cta.rge-video-cta--single .rge-video-cta__wrap{
  text-align: center;
}

.rge-video-cta.rge-video-cta--single .rge-video-cta__img{
  width: 220px;         /* desktop target size */
  max-width: 55%;       /* keeps it responsive on mobile */
  height: auto;
  display: block;
  margin: 0 auto 14px auto;
}

/* Optional: tighten caption spacing */
.rge-video-cta.rge-video-cta--single .rge-video-cta__caption{
  margin: 0 auto 16px auto;
  max-width: 52ch;    
  
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.5;
  opacity: 0.85;

  /* prevents super-wide caption lines */
}


/* Sisters grid CTA: smaller + polite (does NOT affect video CTAs elsewhere) */
.rge-start-sisters .rge-pillar-card .rge-cta{
  font-size:15px;
  padding:6px 14px;
  border-radius:6px;
  line-height:1.2;
}



/* Optional: make the title smaller like SS2 */
.rge-video-cta.rge-video-cta--single .rge-video-cta__title{
  font-size: clamp(16px, 2vw, 20px);
  margin: 6px 0 14px 0;
}

/* Sisters grid spacing tweak */
.rge-start-sisters .rge-pillar-card .rge-cta{
  margin-top:10px;
}


/* =====================================================
   Archives > Seminars page – Overview Alignment Fix
   ===================================================== */

/* Keep the section centered overall... */
.rge-section { 
 text-align: center;
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ...but left-align the overview list content only */
.rge-section .seminar-right .seminar-item,
.rge-section .seminar-right .seminar-title,
.rge-section .seminar-right .seminar-focus {
  text-align: left;
}
.rge-divider-wrap {
  max-width: 900px;   /* match your content width */
  margin: 48px auto;
  padding: 0 20px;
}

.rge-divider {
  border: none;
 border-top: 2px solid rgba(21, 27, 153, 0.15);
  max-width: 720px;
  margin: 48px auto;
}
/* Standard content alignment inside RGE sections */
.rge-section {
  max-width: 900px;
  margin: 0 auto;
}

/* GOLD: main content wrapper for pages using <main class="rge-main"> */
.rge-main{
  width: 100%;
  max-width: 1100px;   /* adjust if your site uses 1000/1040/1200 */
  margin: 0 auto;
  padding: 0 20px;
  margin-inline: auto;
  box-sizing: border-box;
}

.rge-contact-video-note .rge-video-cta__disclaimer {
  font-size: 14px;
  color: #666;
  margin-top: 6px;
  text-align: center;
  line-height: 1.4;
}

/* Increase Spuds visual presence */
.rge-video-cta--spuds .rge-video-cta__img{
  max-width: 480px;
}


/* Make the double Chip image behave like a single-character portrait */
.rge-video-cta--chip .rge-video-cta__img{
  max-width: 400px;   /* adjust 480–620 */
}



/* Only body content left-aligned */
.rge-section p,
.rge-section ul,
.rge-section ol,
.rge-section li {
  text-align: left;
}

/* Generic figure wrapper (centered) */
.rge-figure{
  margin: 24px auto;
  text-align: center;
}

/* Base “behave yourself” image rules */
.rge-img{
  display: block;
  width: 100%;      /* responsive */
  height: auto;     /* keep proportions */
  margin: 0 auto;   /* center */
}

/* Section-sized image (NOT hero-sized) */
.rge-img--section{
    max-width: 680px;          /* ⭐ key change */
  width: 100%;
  height: auto;
  margin: 0 auto;

  border-radius: 18px;

  /* NEW — RGE framing */
  border: 3px solid #151B99;

  box-shadow: 0 8px 22px rgba(0,0,0,.10);
}

.rge-figure{
  margin: 36px auto 28px;
  text-align:center;
}

/* Caption style (optional) */
.rge-caption{
  max-width:720px;
  margin:12px auto 0;

  font-family: Arial, sans-serif;
  font-size:16px;
  line-height:1.5;

  color:#444;
  text-align:center;
}

.rge-cta-block {
  text-align: center;
  margin-top: 32px;
  margin-bottom: 36px;
}

.rge-cta-intro {
  margin-bottom: 12px;
  font-weight: 500;
}

/* Mobile caption size override */
@media (max-width:480px){
  .rge-caption{
    font-size:13px;
  }
}

/* ==========================================================
RGE GOLD MODAL SYSTEM v1.0
Global reusable modal framework
Installed: 2026-03-01
========================================================== */

/* Prevent page scroll when modal open */
body.rge-modal-open {
  overflow: hidden;
}

/* =============================
MODAL ROOT
============================= */
.rge-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.rge-modal.is-open {
  display: block;
}

/* =============================
OVERLAY
============================= */
.rge-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}
/* =========================
   MODAL DIALOG (missing pieces)
========================= */

.rge-modal__dialog{
  position: relative;
  width: min(920px, calc(100vw - 32px));
  margin: 70px auto;
  background: #fff;
  border-radius: 26px;
  padding: 28px 28px 22px;
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
  color: #0b1b3a;
}

.rge-modal__title{
  margin: 0 64px 14px 0;
  font-family: Arial, sans-serif;
  font-size: clamp(26px, 3vw, 44px);
  font-weight: 800;
  color: #151B99;
  line-height: 1.1;
}

/* Top-right X */
.rge-modal__x{
  position: absolute;
  top: 18px;
  right: 18px;
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 14px;
  background: #cfcfcf;
  cursor: pointer;
}

.rge-modal__x::before{
  content: "×";
  display: block;
  font-size: 36px;
  line-height: 56px;
  text-align: center;
  color: #ffffff;
  font-weight: 800;
}

.rge-modal__subtle{
  margin: 8px 0 18px;
  text-align: center;
  font-family: Arial, sans-serif;
  font-size: 22px;
}

.rge-modal__subtle a{
  color: #151B99;
  text-decoration: underline;
  font-weight: 700;
}

/* Big bottom Close button */
.rge-modal__closebtn{
  display: block;
  width: min(520px, 85%);
  margin: 18px auto 6px;
  padding: 18px 22px;
  border: 0;
  border-radius: 999px;
  background: #151B99;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 26px;
  font-weight: 800;
  cursor: pointer;
}

.rge-modal__closebtn:hover{
  filter: brightness(1.08);
}

/* Embedded PDF sizing (the “no extra click” part) */
.rge-pdf-wrap{
  width: 100%;
  height: min(70vh, 720px);
  border-radius: 18px;
  overflow: hidden;
  background: #f4f4f4;
  border: 1px solid rgba(0,0,0,.08);
}

.rge-pdf-frame{
  width: 100%;
  height: 100%;
  border: 0;
}

/* Small screens */
@media (max-width: 480px){
  .rge-modal__dialog{ margin: 18px auto; padding: 18px 16px 16px; }
  .rge-modal__subtle{ font-size: 18px; }
  .rge-modal__closebtn{ font-size: 22px; padding: 16px 18px; }
}
/* ==========================================================
/* ==========================================================
RGE GOLD MODAL SYSTEM v1.0
Global reusable modal framework
Installed: 2026-03-01
Naming: Hyphen + BEM (rge-modal__*)
========================================================== */

/* Scroll lock when modal is open */
body.rge-modal-open { overflow: hidden; }

/* Modal root */
.rge-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

/* Show when active */
.rge-modal.is-open { display: block; }

/* Overlay */
.rge-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

/* Panel */
.rge-modal__panel {
  position: relative;
  width: min(920px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  margin: 12px auto;

  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);

  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Title */
.rge-modal__title {
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #151B99;
  margin: 0;
  padding: 18px 52px 10px 18px;
}

/* Body */
.rge-modal__body {
  padding: 0 18px 16px 18px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  line-height: 1.45;
}

/* Footer */
.rge-modal__footer {
  padding: 12px 18px 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* Close (X) button */
.rge-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;

  width: 40px;
  height: 40px;
  border-radius: 999px;

  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #fff;
  color: #111;

  font-size: 26px;
  line-height: 1;
  cursor: pointer;

  display: grid;
  place-items: center;
}

.rge-modal__close:hover {
  background: rgba(21, 27, 153, 0.08);
  border-color: rgba(21, 27, 153, 0.30);
}

/* PDF / document display helpers */
.rge-modal__frameWrap {
  width: 100%;
  height: min(70vh, 720px);
  border: 1px solid rgba(0, 0, 0, 0.10);
  border-radius: 12px;
  overflow: hidden;
  background: #f7f7f7;
}

.rge-modal__frame,
.rge-modal__object {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ==================================================
BUSINESS CARD FLIP SUPPORT
================================================== */

.rge-bizflip {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  gap: 10px;
  max-width: 860px;
  margin: 0 auto;
}

.rge-bizflip__frame {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.10);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}

.rge-bizflip__img {
  display: block;
  width: 100%;
  height: auto;
}

.rge-bizflip__arrow {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.15);

  background: #fff;
  color: #151B99;
  font-size: 26px;

  cursor: pointer;
  display: grid;
  place-items: center;
}

.rge-bizflip__arrow:hover {
  background: rgba(21,27,153,0.08);
}

/* indicator dots */
.rge-bizflip__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

.rge-dot {
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: rgba(21,27,153,0.18);
}

.rge-dot.is-on {
  background: rgba(21,27,153,0.95);
}

/* ======================================================
DOC BUTTONS (Handouts)
====================================================== */

.rge-docs {
  margin: 18px auto 6px;
  max-width: 820px;
  padding: 0 18px;
  text-align: left;
}

.rge-docs__desc {
  margin: 8px 0 14px;
  color: #000080;
  font-size: 16px;
  line-height: 1.45;
}

.rge-docs__row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center; /* centered action */
}

.rge-doc-btn {
  appearance: none;
  border: 2px solid #151B99;
  background: #ffffff;
  color: #151B99;

  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: 15px;

  padding: 12px 18px;
  border-radius: 999px;
  cursor: pointer;

  transition: background .15s ease, color .15s ease, transform .05s ease;
}

.rge-doc-btn:hover {
  background: #151B99;
  color: #ffffff;
}

.rge-doc-btn:active {
  transform: scale(0.98);
}

@media (max-width: 520px) {
  .rge-doc-btn {
    width: 100%;
    max-width: 360px;
  }
}

/* ==================================================
MOBILE SAFETY
================================================== */

@media (max-width: 480px) {
  .rge-modal__panel {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    margin: 8px auto;
    border-radius: 14px;
  }

  .rge-modal__title {
    font-size: 20px;
    padding: 16px 50px 8px 16px;
  }

  .rge-modal__body {
    padding: 0 16px 14px 16px;
  }

  .rge-modal__footer {
    padding: 10px 16px 16px;
  }

  .rge-bizflip {
    grid-template-columns: 40px 1fr 40px;
  }

  .rge-bizflip__arrow {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
}

.rge-banner-wrap {
  text-align: center;
  margin: 18px 0 26px 0;
}
/* ==========================================
   RGE Banner — GOLD STANDARD v1.0
   Locked: March 2026

   Purpose:
   Section identity banner aligned to content lane.
   Provides subtle RGE brand elevation without
   visual noise or marketing-style emphasis.

   Usage:
   All Core Services, Archives, Learning,
   Seminar, and future section overview pages.
========================================== */

.rge-section-banner {
  display: block;
  width: 100%;
  max-width: 960px;
  height: auto;
  margin: 16px auto 24px auto;

  /* Gold Standard shape */
  border-radius: 18px;
  overflow: hidden;

  /* ✅ subtle RGE blue outline */
  border: 2px solid rgba(21, 27, 153, 0.25);

  /* ✅ soft halo (Gold Standard feel) */
  box-shadow:
    0 0 0 4px rgba(21, 27, 153, 0.05),
    0 8px 24px rgba(21, 27, 153, 0.08);
}

/* ================================
   BALDO COMIC BLOCK
================================ */

#baldoWrapper {
  font-family: Arial, sans-serif;
  text-align: center;
  margin-bottom: 32px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


.rge-headline {
  font-size: 22px;
  font-weight: 700;
  color: #151B99;
  text-decoration: underline;
  text-decoration-thickness: 5px;
  text-underline-offset: 6px;
  display: inline-block;
  margin: 10px 0;
}

.rge-baldo-subline {
  font-size: 16px;
  font-weight: 700;
  color: #151B99;
  margin: 0 0 12px;
}

/* Baldo thumbnail */
.rge-baldo-thumb {
  max-width: 260px;          /* reduced from 300px so hover growth is visible */
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.10);
  cursor: zoom-in;
  transition: transform .2s ease;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Hover animation (desktop devices only) */
@media (hover: hover) and (pointer: fine) {
  .rge-baldo-thumb:hover {
    transform: scale(1.10);
  }
}

.rge-baldo-instructions {
  font-size: 15px;
  color: #fd12c5;
  margin-top: 0;
}

.rge-baldo-credit {
  font-size: 13px;
  color: #444;
  margin-top: 10px;
}

.rge-baldo-credit a {
  color: #151B99;
  text-decoration: none;
}

/* Modal */
#baldoPopup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.9);
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s ease, visibility .3s ease;
}

#baldoPopup.visible {
  visibility: visible;
  opacity: 1;
}

#baldoPopup img {
  max-width: 95vw;
  max-height: 90vh;
  margin: 5vh auto;
  display: block;
  border-radius: 12px;
  cursor: zoom-out;
}

#baldoPopup::after {
  content: "×";
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
}
.rge-cta-title {
  font-family: Arial, sans-serif;
  font-size: 32px;       /* bigger */
  font-weight: 800;      /* heavier */
  color: #151B99;
  margin-bottom: 18px;
}

.rge-cta-note {
  font-size: 14px;       /* smaller */
  color: #666;           /* softer gray */
  margin-top: 14px;
}

.rge-cta-muted {
  font-size: 13px;
  color: #888;
}

/* ==========================================================
   RGE Blue Outline Box (Cromwell Callout)
========================================================== */

.rge-outline-box {
  border: 3px solid #151B99;
  border-radius: 20px;
  padding: 40px 28px;
  margin: 30px auto 50px auto;

  background: #ffffff;
  max-width: 1100px;

  box-shadow: 0 8px 24px rgba(21,27,153,.06);
}
.rge-cta-title {
  font-size: 28px;      /* was probably 32+ */
  font-weight: 600;     /* tone down from 700/800 */
  color: #151B99;
  margin-bottom: 18px;
}

/* ==========================================================
   RGE Services Grid – Structured Card Layout (v1.0)
   Clean double-box system – No heavy shadows
========================================================== */

.rge-services-section {
  max-width: 960px;
  margin: 48px auto;
  padding: 0 20px;
}

.rge-services-group {
  margin-bottom: 56px;
}

.rge-services-group h3 {
  font-size: 22px;
  font-weight: 600;
  color: #151B99;
  margin-bottom: 20px;
}

.rge-services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.rge-service-card {
  border: 1.5px solid rgba(21,27,153,.22);
  border-radius: 18px;
  padding: 24px 26px;
  background: #ffffff;
}

.rge-service-card h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 14px;
  color: #111;
}

.rge-service-card ul {
  padding-left: 18px;
  margin: 0;
}

.rge-service-card li {
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
  .rge-services-grid {
    grid-template-columns: 1fr;
  }
}

.rge-service-card {
  padding: 26px 28px;
}

/* ==========================================
   FEEDBACK GRID
========================================== */

.rge-feedback-kicker{
  margin: 22px auto 18px;
  max-width: 960px;
  font-size: 22px;
  font-weight: 700;
  color: #151B99;
  text-align: left;
}

.rge-review-grid{
  max-width: 960px;
  margin: 0 auto 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.rge-review-card{
  background: #ffffff;
  border: 1.5px solid rgba(21,27,153,.22);
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 6px 18px rgba(21,27,153,.08);
}

.rge-review-title{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  color: #151B99;
}

.rge-review-headline{
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 800;
  color: #111;
}

.rge-review-quote{
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
}

.rge-review-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rge-tag{
  font-size: 13px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 20px;
  background: rgba(21,27,153,.08);
  border: 1px solid rgba(21,27,153,.25);
  color: #151B99;
}

/* Mobile */
@media (max-width: 760px){
  .rge-review-grid{ grid-template-columns: 1fr; }
}

.rge-review-equipment-label{
  margin: 14px 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: rgba(0,0,0,.65);
}

.rge-review-equipment{
  margin-top: 14px;
  font-size: 14px;
  color: rgba(0,0,0,.75);
  line-height: 1.6;
}

.rge-review-equipment strong{
  display:block;
  margin-bottom:4px;
}

.rge-wrap-banner{
  margin: 24px 0 30px;
  text-align:center;
}

.rge-wrap-banner img{
  max-width: 900px;
  width: 100%;
  border-radius: 16px;
  opacity: .92; /* soften */
}

.rge-wrap-cta{
  margin-top: 24px;
  display:flex;
  gap:20px;
  justify-content:center;
  flex-wrap:wrap;
}

.rge-wrap-mission{
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 18px;
}

.rge-wrap-signoff{
  margin-top: 24px;
  font-size: 17px;
}

.rge-wrap-photo img{
  max-width: 260px;
  border-radius: 20px;
  margin: 20px auto;
  display:block;
}

/* =========================
   WRAP-UP TUNING
========================= */

.rge-banner-frame--slim {
  max-width: 860px;         /* smaller than the big banner look */
  margin: 14px auto 0;
}

.rge-banner-frame--slim .rge-section-banner {
  max-height: 170px;        /* keeps it from shouting */
  object-fit: cover;
}

.rge-mascot-wrap {
  display: flex;
  justify-content: center;
  margin: 18px 0 10px;
}

.rge-mascot-portrait {
  width: 100%;
  max-width: 260px;         /* “mascot sized” */
  height: auto;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
}

.rge-video-title {
  text-align: center;
  margin-top: 8px;
}

.rge-video-runtime {
  text-align: center;
  margin: 4px 0 10px;
  color: #000080;
  opacity: 0.85;
}

.rge-video-disclaimer {
  text-align: center;
  font-size: 12px;
  color: #000080;
  opacity: 0.75;
  margin-top: 8px;
}

/* Optional: keep CTA row tidy on smaller screens */
.rge-cta-row {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 14px 0 10px;
}

/* ==========================================================
   WRAP-UP TUNING (Core Services / Wrap-Up)
========================================================== */

/* slimmer banner presentation */
.rge-banner-frame--slim {
  max-width: 780px;         /* diet */
  margin: 14px auto 10px;
  padding: 6px;
}

.rge-banner-frame--slim .rge-section-banner {
  width: 100%;
  height: auto;
  display: block;
}

/* mascot portrait: keep it "mascot sized", not "billboard sized" */
.rge-mascot-wrap {
  display: flex;
  justify-content: center;
  margin: 12px 0 6px;
}

.rge-mascot-portrait {
  width: min(260px, 70vw);
  height: auto;
  border-radius: 18px;
  display: block;
}

/* center helper + center the YouTube disclaimer */
.rge-center { text-align: center; }
.rge-video-disclaimer { margin-top: 10px; }

/* =========================================
   BALDO POPUP — SAFE DEFAULT (non-blocking)
========================================= */
#baldoPopup{
  display: none;            /* hidden by default */
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.75);
  align-items: center;
  justify-content: center;
  padding: 24px;
}

#baldoPopup.is-open{
  display: flex;            /* only blocks clicks when open */
}

#baldoPopup img{
  max-width: min(1000px, 92vw);
  max-height: 88vh;
  border-radius: 14px;
  background: #fff;
}

/* If you ever temporarily “hide” it via opacity,
   this keeps it from stealing clicks while hidden. */
#baldoPopup:not(.is-open){
  pointer-events: none;
}

/*
/* ==========================================================
   BALDO POPUP — SAFE DEFAULT (cannot block clicks when closed)
========================================================== */
#baldoPopup{
  display: none;              /* closed by default */
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* only interactive when open */
#baldoPopup.is-open{
  display: flex;
}

#baldoPopup:not(.is-open){
  pointer-events: none;       /* belt + suspenders */
}

#baldoPopupImg{
  max-width: min(1000px, 92vw);
  max-height: 88vh;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(0,0,0,.45);
}

.rge-video-disclaimer{
  text-align: center;
  margin-top: 10px;
  opacity: .85;
}

.rge-video-disclaimer {
  text-align: center;
}

/* ==========================================================
   RGE VIDEO MODAL — FIX TINY/CRUSHED PLAYER
========================================================== */

.rge-modal {
  position: fixed;
  inset: 0;
  display: none;            /* hidden by default */
  z-index: 9999;
}

.rge-modal.is-open {
  display: block;           /* shown when opened */
}

.rge-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
}

.rge-modal-dialog {
  position: relative;
  width: min(920px, 92vw);
  margin: 7vh auto 0;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  padding: 18px;
}

.rge-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 10px;
  background: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.rge-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;     /* KEY: gives the parent real height */
  border-radius: 12px;
  overflow: hidden;
  background: #000;
  margin-top: 18px;
}

#rgeVideoIframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.rge-video-disclaimer{
  text-align: center;
  margin-top: 10px;
  opacity: .75;
}

.rge-modal-dialog {
  background: #ffffff;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 20px 70px rgba(0,0,0,.45);
}

.rge-video-frame {
  border-radius: 14px;
  overflow: hidden;
}

/* ==========================================================
   CENTER VIDEO METADATA (runtime + disclaimer)
========================================================== */

.rge-video-center {
  text-align: center;
}

.rge-video-center .rge-video-runtime,
.rge-video-center .rge-video-disclaimer {
  display: block;
  margin: 10px auto 0;
}

.rge-video-center .rge-video-disclaimer {
  font-size: 13px;
  opacity: .8;
}

.rge-wrapup-video {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Wrap-Up: center runtime + disclaimer reliably */
.rge-video-runtime{
  display:block;
  width:100%;
  text-align:center;
  margin: 8px 0 10px;
}

.rge-video-disclaimer{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  width:100%;
  text-align:center;
  margin: 10px 0 0;
}

/* Baldo thumbnail: make button act like plain image */
.rge-baldo-thumb-btn{
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0 auto;
  display: block;
  cursor: pointer;
}

.rge-baldo-thumb-btn:focus{
  outline: 3px solid rgba(21,27,153,.35);
  outline-offset: 6px;
  border-radius: 14px;
}

/* Wrap-Up video: center the runtime + disclaimer */
.rge-video-runtime,
.rge-video-disclaimer{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* If disclaimer includes an icon, keep it nicely centered */
.rge-video-disclaimer{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

/* ==========================================================
   RGE Image CTA Card (White) + Image Modal (Gold Pattern)
========================================================== */

.rge-h2-center { text-align: center; }

.rge-image-cta{
  max-width: 720px;
  margin: 18px auto 10px;
  background: #fff;
  border: 1px solid rgba(21,27,153,.20);
  border-radius: 16px;
  padding: 18px 18px 14px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
  text-align: center;
}

.rge-image-thumb{
  display: block;
  margin: 0 auto 12px;
  max-width: 420px;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 2px solid rgba(21,27,153,.25);
  cursor: pointer;
}

.rge-image-cta-title{
  font-family: Arial, sans-serif;
  font-weight: 800;
  color: #151B99;
  font-size: 22px;
  line-height: 1.2;
  margin: 4px 0 4px;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.rge-image-cta-sub{
  font-family: Arial, sans-serif;
  font-weight: 700;
  color: #000080;
  font-size: 16px;
  margin: 0 0 10px;
}

.rge-image-cta-hint{
  font-family: Arial, sans-serif;
  color: #c00000;
  font-size: 14px;
  margin: 8px 0 10px;
}

.rge-image-cta-attrib{
  font-family: Arial, sans-serif;
  color: #333;
  font-size: 13px;
  line-height: 1.35;
}

.rge-image-cta-attrib a{ color: #151B99; font-weight: 700; }

.rge-centerline{
  text-align: center;
  font-family: Arial, sans-serif;
  font-size: 18px;
  margin: 18px auto 0;
  max-width: 860px;
}

/* Modal image sizing */
.rge-img-modal-content{
  max-width: 980px;
  width: calc(100% - 28px);
}

#rgeImageModalImg{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
}

.rge-img-modal-actions{
  text-align: center;
  margin-top: 10px;
}

.rge-img-modal-actions a{
  font-family: Arial, sans-serif;
  color: #151B99;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.rge-image-thumb:hover {
  transform: scale(1.02);
  transition: transform 0.2s ease;
}

.rge-small-note{
  font-size:0.9rem;
  color:#666;
  margin-top:8px;
}

.rge-centerline {
  text-align: center;
}
.rge-centerline {
  text-align: center;
  margin-top: 16px;
}

.rge-small-note {
  font-size: 0.95rem;
  color: #666;
  margin: 10px auto;
  max-width: 520px;
  text-align: center;
  line-height: 1.4;
}

.rge-center-wrap{
  max-width: 680px;
  margin: 25px auto;
  text-align: center;
}

.rge-centerline{
  font-size: 1.05rem;
  line-height: 1.6;
}

/* Baldo close line (keep aligned with the comic block) */
.rge-comic-close{
  max-width: 980px;          /* tweak if your comic card is wider/narrower */
  margin: 22px auto 0;       /* auto = centers the block */
  padding: 0 18px;           /* keeps it off the edge on mobile */
  text-align: center;        /* centers the text */
}

.rge-comic-close p{
  margin: 0;
}

.rge-comic-close{
  max-width: 100%;     /* let it inherit naturally */
  text-align: center;
}
/* Hide Cromwell CSC callout when any modal is open */
body.rge-modal-open #csc-callout {
  visibility: hidden;
  pointer-events: none;
}

body.rge-modal-open #csc-callout {
  display: none;
}

/* RGE Image Modal — Responsive Fit */
#rgeImageModalImg {
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  display: block;
  margin: auto;
}

  #rgeImageModalImg {
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);

  /* RGE Image Modal — Zoom Animation */
#rgeImageModalImg {
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  display: block;
  margin: auto;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);

  transform: scale(0.92);
  opacity: 0;
  transition: transform 0.25s ease-out, opacity 0.25s ease-out;
}

/* When modal is open */
.rge-modal.open #rgeImageModalImg {
  transform: scale(1);
  opacity: 1;
}
}

/* RGE Image Modal — Zoom Animation (robust) */
#rgeImageModalImg{
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  display: block;
  margin: auto;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);

  transform: scale(0.92);
  opacity: 0;
  transition: transform 0.25s ease-out, opacity 0.25s ease-out;
}

/* Any of these “open” states will trigger */
#rgeImageModal.is-open #rgeImageModalImg,
#rgeImageModal.open #rgeImageModalImg,
#rgeImageModal[aria-hidden="false"] #rgeImageModalImg{
  transform: scale(1);
  opacity: 1;
}

#rgeImageModalImg {
  transition: transform 180ms ease, opacity 180ms ease;
}
.rge-video-disclaimer.rge-center {
  display: block;
  text-align: center;
  margin-top: 6px;
  font-size: 13px;
  opacity: 0.85;

}
  /* RGE Start Page Alignment */

.rge-block {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.rge-block p,
.rge-block li {
  text-align: left;
}

/* ======================================================
   LEARNING START — Center headings + buttons, left body copy
====================================================== */

.rge-learning-wrap .rge-block{
  max-width: 900px;
  margin: 0 auto;
  text-align: center;          /* centers headings + buttons by default */
}

.rge-learning-wrap .rge-block p,
.rge-learning-wrap .rge-block li{
  text-align: left;            /* keeps readable body copy left-aligned */
}

.rge-learning-wrap .rge-section-title,
.rge-learning-wrap .rge-start-intro h3,
.rge-learning-wrap .rge-start-sisters h3{
  text-align: center;          /* force the titles to center */
}

.chip-tip-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid #ddd;
}

.chip-tip-date {
  font-weight: bold;
  color: #555;
}

.chip-tip-title {
  font-size: 1.1rem;
  margin-bottom: 6px;
}

/* =========================================================
   Archives Two-Column Index (Month Grid + Overview)
   ========================================================= */
.rge-archive-two-col{
  display: grid;
  grid-template-columns: 32% 68%;
  gap: 28px;
  align-items: start;
  margin-top: 18px;
}

.rge-archive-left-label{
  margin: 0 0 12px 0;
  font-size: 16px;
}

.rge-month-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.rge-month-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px 12px;
  border: 1px solid rgba(0,0,0,0.18);
  border-radius: 16px;
  text-decoration: none;
  font-weight: 700;
}

.rge-archive-h2{
  margin: 0 0 10px 0;
}

.rge-archive-item{
  margin: 0 0 14px 0;
}

.rge-archive-item-title{
  margin: 0 0 4px 0;
}

.rge-archive-item-desc{
  margin: 0;
  font-size: 16px;
}

/* Mobile stacking */
@media (max-width: 820px){
  .rge-archive-two-col{
    grid-template-columns: 1fr;
  }
  .rge-month-grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 520px){
  .rge-month-grid{
    grid-template-columns: 1fr;
  }
}

/* =========================================
   Chip Tips Overview (Right Column)
   Match Seminar Overview style (SS2)
========================================= */

.rge-chip-overview{
  text-align: left;               /* SS2: left-aligned list */
  max-width: 680px;               /* keeps lines from getting too wide */
  margin: 0 auto;                 /* centers the COLUMN itself, not the text */
}

/* Big centered heading like SS2 */
.rge-chip-overview h2,
.rge-chip-overview .rge-overview-title{
  text-align: center;
  margin: 0 0 18px;
  font-weight: 800;
  letter-spacing: 0.2px;
  font-size: clamp(34px, 3.4vw, 52px);
  color: #151B99;
}

/* Month/title line (the blue bold “12 – December — …”) */
.rge-chip-overview h3,
.rge-chip-overview .rge-month-title{
  margin: 0 0 6px;
  font-weight: 800;
  line-height: 1.15;
  color: #151B99;
  font-size: clamp(20px, 2.1vw, 28px);
}

/* Description under each month */
.rge-chip-overview p,
.rge-chip-overview .rge-month-desc{
  margin: 0 0 18px;
  line-height: 1.45;
  font-size: 18px;
  color: #111;
}

/* If SS1 currently centers each item via a wrapper, force left */
.rge-chip-overview *{
  text-align: left;
}

/* …but keep the main heading centered */
.rge-chip-overview h2,
.rge-chip-overview .rge-overview-title{
  text-align: center !important;
}

/* Optional: tighten the last item spacing */
.rge-chip-overview p:last-child,
.rge-chip-overview .rge-month-desc:last-child{
  margin-bottom: 0;
}

/* Tone down Chip Tips / Seminar Overview headings */
.rge-archive-h2{
  font-size: 28px;
  font-weight: 500;
  margin: 10px 0 18px 0;
  line-height: 1.2;
}

/* Force tone-down for the overview H2 inside the Archives right column */
.rge-archive-right .rge-archive-h2{
  font-size: 38px;
  font-weight: 700;
  margin: 10px 0 18px 0;
  line-height: 1.2;
}

/* Archives Overview headings centered like Start page */
.rge-main h2 {
  text-align: center;
}

/* Archives Overview: center ONLY the H1 (no body class needed) */
.rge-main .rge-container > h1 {
  text-align: center;
}

/* ======================================================
RGE BANNERS
====================================================== */

.rge-banner-wrap {
  margin: 18px 0 24px;
}

.rge-banner-wrap img {
  width: 100%;
  height: auto;
  border: 3px solid #151B99;   /* RGE Brand Blue Outline */
  border-radius: 8px;          /* Matches RGE image styling */
  display: block;
}

/* ======================================================
RGE BANNER IMAGE STYLE
====================================================== */

.rge-banner-img {
  width: 100%;
  height: auto;
  border: 3px solid #151B99;   /* RGE brand blue */
  border-radius: 8px;          /* rounded corners */
  display: block;
}

/* RGE Banner normalization */

.rge-banner-wrap img{
  width:100%;
  max-height:190px;
  object-fit:cover;
  display:block;
} 

/* ================================
   Archives Month Pills (RGE v2)
   ================================ */

.rge-month-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

/* Pill button */
.rge-month-btn {
  display: flex;
  flex-direction: column;   /* stack number + month */
  align-items: center;
  justify-content: center;

  padding: 10px 12px;
  min-height: 58px;

  border: 3px solid #151B99;   /* heavier RGE outline */
  border-radius: 16px;

  background: #ffffff;
  color: #151B99;

  text-decoration: none;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;

  transition: all .15s ease;
}

/* Hover */
.rge-month-btn:hover {
  background: #eef1ff;
  transform: translateY(-1px);
}

.rge-month-btn span:first-child {
  font-size: 14px;
  opacity: .75;
}

.rge-month-btn span:last-child {
  font-size: 17px;
}

.rge-month-btn:hover {
  background: #eef1ff;
  transform: translateY(-1px);
}

.rge-month-num{
  font-size: 15px;
  opacity: .75;
}

.rge-month-name{
  font-size: 18px;
  font-weight: 700;
}

/* =====================================
   RGE Month Navigation Pills
   ===================================== */

.rge-month-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.rge-month-btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  min-height:70px;
  padding:10px 12px;

  border:3px solid #151B99;
  border-radius:18px;

  background:#fff;
  color:#151B99;
  text-decoration:none;

  text-align:center;
  line-height:1.1;
  font-weight:700;
}

.rge-month-btn:hover{
  background:#eef1ff;
}

.rge-month-num{
  font-size:14px;
  opacity:.75;
}

.rge-month-name{
  font-size:18px;
}

.rge-archive-left-label{
  font-size:15px;
  opacity:.85;
  font-weight:600;
}
 
   
.seminar-grid a.seminar-tile{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;

  min-height:94px !important;
  padding:12px 14px !important;

  border:4px solid #151B99 !important;
  border-radius:24px !important; 

  background:#ffffff !important;
  color:#151B99 !important;
  text-decoration:none !important;
  text-align:center !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}

.seminar-grid a.seminar-tile:hover{
  background:#eef1ff !important;
}

.seminar-grid a.seminar-tile .rge-month-num{
  display:block !important;
  width:100% !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1 !important;
  margin:0 0 4px 0 !important;
  opacity:.95 !important;
}

.seminar-grid a.seminar-tile .rge-month-name{
  display:block !important;
  width:100% !important;
  font-size:19px !important;
  font-weight:700 !important;
  line-height:1.08 !important;
}

.seminar-grid{
  display:grid !important;
  grid-template-columns:repeat(2, 1fr) !important;
  gap:16px !important;
  
}

/* =================================================
   RGE Site Space Savings
================================================= */

.rge-section {
  padding: 28px 20px;
}

h1 {
  margin-bottom: 8px;
}

h2 {
  margin-bottom: 10px;
}

.rge-lead,
p {
  margin-bottom: 14px;
}

.rge-button,
.rge-cta,
button {
  margin-top: 8px;
  max-width: 420px;
}

hr {
  margin: 14px auto;
  max-width: 420px;
}

ul {
  margin: 8px 0 12px 0;
  padding-left: 18px;
}

li {
  margin-bottom: 4px;
}

.rge-section {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

img {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

p, h1, h2, h3 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

.rge-weekly-tip {
  text-align: center;
  margin: 40px 0;
}


/* =================================================
   RGE Vertical Rhythm (Site-Wide Section Spacing)
================================================= */

.rge-section,
.rge-hero,
.rge-tcp,
.rge-weekly-tip,
.rge-ack {
  margin-top: 40px;
  margin-bottom: 40px;
}

:root {
  --rge-section-space: 40px;
}

.rge-section,
.rge-hero,
.rge-tcp,
.rge-weekly-tip,
.rge-ack {
  margin: var(--rge-section-space) 0;
}

.rge-section h1 {
  margin-top: 0px;
}

/* =========================================
   Pillar Spacing Tune (Core / Archives / Learning)
   ========================================= */

.rge-subnav-wrap {
  margin-bottom: 6px;
}

main#main .rge-hero {
  padding-top: 6px;
}


/* =========================================
   Pillar Spacing Tune (Core / Archives / Learning)
   ========================================= */

.rge-subnav-wrap {
  margin-bottom: 6px;
}

.rge-subnav {
  padding-top: 2px;
  padding-bottom: 2px;
  row-gap: 8px;
}

.rge-subnav.rge-pill-row {
  gap: 8px 12px;
}

main#main .rge-hero {
  padding-top: 0px;
}

main#main .rge-hero-inner {
  padding-top: 0;
  margin-top: 0;
}

main#main .rge-hero-title {
  margin-top: 0;
}

/* =========================================================
   HOW RGE WORKS PAGE
   ========================================================= */

.rge-how-it-works-page {
  max-width: 900px;
  margin: 0 auto;
}

.rge-page-title {
  text-align: center;
  margin-bottom: 18px;
}

.rge-how-it-works-copy {
  text-align: left;
}

.rge-how-it-works-copy h2 {
  text-align: center;
  margin: 18px 0 16px;
  color: #151B99;
}

.rge-how-it-works-copy p {
  margin: 0 0 14px;
  line-height: 1.65;
}

.rge-how-it-works-note {
  margin-top: 18px;
  font-size: 0.98rem;
}

.rge-how-it-works-signoff {
  margin-top: 14px;
  line-height: 1.5;
}

.rge-section-divider {
  margin: 24px 0 24px;
  border: 0;
  border-top: 1px solid rgba(21, 27, 153, 0.28);
}

.rge-how-it-works-list {
  display: block;
}

.rge-how-it-works-item {
  margin-bottom: 28px;
}

.rge-how-it-works-item h3 {
  margin: 0 0 8px;
  color: #151B99;
  font-size: 1.08rem;
}

.rge-how-it-works-subhead {
  margin-bottom: 8px;
  font-style: italic;
}

.rge-back-links {
  margin-top: 26px;
  text-align: left;
}

/* RGE banner styling */

.rge-section-header-strap img {
  display: block;
  width: 100%;
  max-width: 900px;
  margin: 16px auto 24px auto;
  border: 4px solid #151B99;
  border-radius: 6px;
}

.rge-section-header-strap {
  display: inline-block;
  border: 3px solid #151B99;
  border-radius: 10px;
  padding: 0;
  margin: 0 0 18px 0;
  max-width: 100%;
}

.rge-section-header-strap img {
  display: block;
  width: 100%;
  max-width: 1100px;
  height: auto;
  border-radius: 8px;
}

.rge-section-header-strap {
  display: inline-block;
  border: 3px solid #151B99;
  border-radius: 10px;
  padding: 4px;
  margin-bottom: 20px;
}

.rge-section-header-strap img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.rge-section--how-rge-works {
  max-width: 1000px;
  padding-left: 8px;
  padding-right: 8px;
}

.rge-section {
  max-width: 1040px;
  margin: 0 auto;
}

.rge-section-header-strap img {
  display: block;
  width: 100%;
  height: auto;
}

/* Banner container */
.rge-banner-wrap {
  max-width: 1000px;
  margin: 0 auto 25px auto;
  border: 4px solid #151B99;
  border-radius: 12px;
  padding: 6px;
}

/* Banner image */
.rge-banner-wrap img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.rge-section-header-strap{
  max-width: 1020px;
  margin: 0 auto 24px;
  padding: 0;
  border: 4px solid #151B99;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.rge-section-header-strap img,
.rge-section-header-strap .rge-banner-img{
  display: block;
  width: 100%;
  height: auto;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0;
}
.rge-section-header-strap{
  width: min(100%, 1120px);
  margin: 0 auto 24px;
  padding: 0;
  border: 4px solid #151B99;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.rge-section-header-strap .rge-banner-img{
  display: block;
  width: 100%;
  height: auto;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 0;
}

.rge-section-header-strap{
  max-width: 720px;
  margin: 0 auto 24px;
  padding: 6px;
  border: 4px solid #151B99;
  border-radius: 12px;
  background: #fff;
}

.rge-section-header-strap .rge-banner-img{
  display: block;
  width: 100%;
  height: auto;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 8px;
}
.rge-section-header-strap{
  width: 100%;
  max-width: 980px;
  margin: 0 auto 24px;
  padding: 0;
  border: 4px solid #151B99;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
}

.rge-banner-img{
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  box-shadow: none;
  border-radius: 0;
}

/* Learning Overview */
.rge-overview-card {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #d9e2f2;
  border-radius: 14px;
  background: #f8fbff;
}

.rge-overview-card h2 {
  margin-top: 0;
  margin-bottom: 0.85rem;
  text-align: center;
}

.rge-overview-list {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
}

.rge-overview-list li {
  margin-bottom: 0.55rem;
}

.rge-overview-note {
  margin-bottom: 0;
  font-style: italic;
}

.rge-cta-white {
  display: inline-block;
  background: #ffffff;
  color: #151B99;
  border: 2px solid #151B99;
  padding: 10px 20px;
  border-radius: 10px;
  font-weight: 600;
  text-decoration: none;
  margin-top: 8px;
}

.rge-cta-white:hover {
  background: #151B99;
  color: #ffffff;
}

.rge-tip-pill-wrap {
  text-align: center;
  margin: 14px 0 26px 0;
}

.rge-tip-pill {
  display: inline-block;
  padding: 10px 22px;
  border: 2px solid #151B99;
  border-radius: 999px;
  background: #ffffff;
  color: #151B99;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  min-width: 132px;
}

.rge-tip-pill:hover {
  background: #f5f7ff;
}

  .seminar-cta-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin: 0 0 18px;
  }

  .seminar-cta-single {
    display: flex;
    justify-content: center;
    margin: 10px 0 0;
  }

  .seminar-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
  }

  .seminar-pill--solid {
    background: #1f2bb8;
    color: #fff !important;
    border: 1px solid #1f2bb8;
  }

  .seminar-pill--solid:hover {
    background: #1f2bb8;
    color: #fff !important;
    border-color: #1f2bb8;
  }

.home-page #main,
.home-page .rge-home-main,
.home-page .rge-home-content {
  display: block;
}

.home-page section {
  max-width: 100%;
}

.rge-hero-image {
  margin: 22px auto 10px;
  text-align: center;
}

.rge-hero-image img {
  max-width: 520px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.rge-hero-image {
  max-width: 520px;
  margin: 22px auto;
}

.rge-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

.rge-hero-image {
  max-width: 520px;
  margin: 22px auto;
}

.rge-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}
.rge-hero.rge-hero--start .rge-hero-image {
  max-width: 520px;
  margin: 22px auto;
}

.rge-hero.rge-hero--start .rge-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}
.rge-hero {
  max-width: 980px;
  margin: 0 auto;
  padding: 34px 18px 24px;
  box-sizing: border-box;
}

.rge-tcp,
.rge-weekly-tip,
.rge-ack {
  max-width: 980px;
  margin: 0 auto;
  padding-left: 18px;
  padding-right: 18px;
  box-sizing: border-box;
}

.rge-hero-image {
  max-width: 520px;
  margin: 22px auto;
}

.rge-hero-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ARCHIVES OVERVIEW */

.archives-title {
text-align:center;
margin-top:32px;
}

.archives-title-small {
text-align:center;
margin-top:28px;
}

.archives-center-copy {
text-align:center;
max-width:820px;
margin:0 auto 24px auto;
}

.archives-section-copy {
max-width:820px;
margin:0 auto;
}

.archives-index-pill-wrap {
text-align:center;
margin:18px 0 34px 0;
}

.archives-index-pill {
display:inline-flex;
align-items:center;
justify-content:center;
min-width:220px;
padding:14px 24px;
border-radius:999px;
font-size:1rem;
font-weight:700;
text-align:center;
line-height:1.2;
}

.archives-annex-card {
max-width:820px;
margin:0 auto 30px auto;
border-radius:10px;
padding:22px;
background:#f6f7fb;
border:1px solid #e2e6f3;
}

.archives-annex-head {
display:flex;
justify-content:space-between;
align-items:center;
gap:16px;
margin-bottom:8px;
flex-wrap:wrap;
}

.archives-annex-head h3 {
margin:0;
}
.rge-section-header-strap {
  max-width: 1000px;
  margin: 24px auto 28px;
  border: 4px solid #151B99;
  border-radius: 14px;
  overflow: hidden;
}

.rge-section-header-strap img {
  display: block;
  width: 100%;
  height: auto;
}

.archives-annex-head {
  display: flex;
  justify-content: space-between;
}

.archives-index-pill-wrap {
  display: flex;
  justify-content: center;
  margin: 18px 0 34px 0;
}

.archives-annex-card h3 {
  text-align: center;
}
.archives-annex-card {
  margin-top: 18px;
}
.rge-pill {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;

  background: #ffffff;
  color: #151B99;

  border: 2px solid #151B99;

  font-weight: 600;
  text-decoration: none;

  transition: all 0.2s ease;
}
.rge-pill:hover {
  background: #151B99;
  color: #ffffff;
}
.subnav-pill,
.nav-pill {
  border: 2px solid #151B99;
}

.subnav a {
  border: 2px solid #151B99;
}

.rge-tech-tip-title {
  margin-top: 32px;
}
.rge-tech-tip-title {
  display: block;
  margin-top: 40px !important;
}
.rge-roadmap-btn {
  display: inline-block;
  margin-bottom: 30px !important;
}
.rge-weekly-tip {
  margin-top: 40px !important;
}
/* Subnav buttons — consistent RGE outline */
.rge-subnav a {
  border: 2px solid #151B99;
}
.rge-subnav a:hover {
  background: #151B99;
  color: white;
}

/* Shared Overview typography — Chip Tips + Seminars */

/* Chip Tips */
.rge-chip-overview .rge-archive-item-title {
  font-size: 1.32rem;
  font-weight: 700;
  line-height: 1.2;
  color: #151B99;
  margin: 0 0 6px 0;
}

.rge-chip-overview .rge-archive-item-desc {
  font-size: 1.04rem;
  line-height: 1.55;
  color: #333;
  margin: 0 0 22px 0;
  max-width: 52ch;
}

/* Seminar Overview — force same rhythm as Chip Tips */
.seminar-right .seminar-item .seminar-title {
  font-size: 1.32rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #151B99 !important;
  margin: 0 0 6px 0 !important;
  max-width: 52ch;
}

.seminar-right .seminar-item .seminar-focus {
  font-size: 1.04rem !important;
  line-height: 1.55 !important;
  color: #333 !important;
  margin: 0 0 22px 0 !important;
  max-width: 52ch;
}

.rge-chip-overview,
.seminar-right {
  max-width: 60ch;
}

.rge-tip-week-title {
  color: #151B99;
  font-weight: 700;
  font-size: 1.2rem;
  margin-top: 18px;
  margin-bottom: 6px;
}

.rge-tip-divider {
  border-bottom: 2px solid #151B99;
  width: 120px;
  margin-bottom: 12px;
}

.rge-get-help {
  text-align: center;
  font-size: 1.15rem;
  font-weight: 600;
  color: #151B99;
  margin-top: 16px;
  margin-bottom: 26px;
}

.rge-get-help a {
  color: #151B99;
  font-weight: 700;
  text-decoration: underline;
}

.rge-weekly-divider {
  border-top: 2px solid #151B99;
  margin: 46px auto 22px auto;
  width: 100%;
  max-width: 920px;
}

.rge-footer-tagline,
.rge-footer-tip {
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.4;
  color: #6b7280;
  margin-top: 2px;
}

/* ======================================
   RGE FOOTER
====================================== */
.rge-footer {
  border-top: 1px solid #d6d6d6;
  padding: 32px 24px;
  background: #f5f5f5;
}

.rge-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  flex-wrap: wrap;
}

.rge-footer-left {
  flex: 1 1 420px;
  min-width: 280px;
}

.rge-footer-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #151B99;
  margin-bottom: 8px;
}

.rge-footer-tagline {
  font-size: 0.82rem;
  font-weight: 400;
  line-height: 1.4;
  color: #6b7280;
  margin-top: 2px;
}

.rge-footer-right {
  flex: 0 1 320px;
  min-width: 260px;
}

.rge-footer-contact {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 0.82rem;
  line-height: 1.4;
}

.rge-footer-contact a {
  color: #1f355d;
  text-decoration: none;
}

.rge-footer-contact a:hover {
  text-decoration: underline;
}

.rge-footer-icon {
  width: 24px;
  text-align: center;
  flex: 0 0 24px;
}

.rge-footer {
  border-top: 1px solid #e3e6ef;
  padding: 32px 24px;
  background: #f7f8fc;
}

/* ==========================================
   ARCHIVES – Chip Tips & Seminar Explainer
========================================== */

.rge-archives-explainer {
  margin-top: 28px;
  text-align: center;
}

.rge-archives-explainer p {
  max-width: 760px;
  margin: 10px auto;
}

.rge-archives-explainer h4 {
  margin-top: 20px;
}

/* blue checklist */

.rge-checklist {
  list-style: none;
  padding: 0;
  margin: 12px auto;
  max-width: 420px;
  text-align: left;
}

.rge-checklist li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 6px;
}

.rge-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #151B99;
  font-weight: bold;
}

/* ==========================================
   ARCHIVES – Start Page Flow Alignment
   (visual rhythm + spacing)
========================================== */

.rge-archives-explainer {
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid #d8dbe6;   /* soft divider like other RGE sections */
}

.rge-archives-explainer h3 {
  margin-bottom: 12px;
}

.rge-archives-explainer h4 {
  margin-top: 20px;
  margin-bottom: 6px;
}

.rge-archives-explainer p {
  line-height: 1.6;
}

/* ==========================================
   RGE BLUE CHECKLIST STYLE
   Matches CTA / pill color system
========================================== */

.rge-checklist li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 1px;

  width: 18px;
  height: 18px;
  line-height: 18px;

  text-align: center;
  font-size: 12px;
  font-weight: bold;

  color: #ffffff;
  background: #151B99;

  border-radius: 50%;
}

.rge-checklist li {
  margin-bottom: 8px;
}