/* ==========================================================================
   R.E.A.L. Discussion — Design System (Layer 1, portable)
   Source of truth for all visual decisions on realdiscussion.org.
   Derived from the Villa Duchesne case study page.
   Theme-agnostic: this file can move to Astro (or any stack) verbatim.
   Namespace: --real-* tokens, .real-* classes.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* color */
  --real-navy:#232662;
  --real-royal:#2249aa;
  --real-grad-top:#223a8c;
  --real-grad-bot:#6583c8;
  --real-light:#d6e5fc;
  --real-pale:#e9eeff;
  --real-yellow:#f6ff45;
  --real-orange:#f16933;
  --real-text:#33334c;
  --real-muted:#6a6a7c;
  --real-line:#c9c9d4;
  --real-accent:#7f95e8;
  --real-white:#ffffff;

  /* gradients */
  --real-gradient:linear-gradient(115deg,#232662 0%,#2249aa 78%,#3d63d6 125%);
  --real-gradient-soft:linear-gradient(180deg,var(--real-grad-top),var(--real-grad-bot));

  /* type */
  --real-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --real-lora:'Lora',var(--real-serif);
  --real-figtree:'Figtree','Open Sans',Arial,sans-serif;
  --real-sans:'Open Sans','Helvetica Neue',Arial,sans-serif;

  /* structure */
  --real-wrap:1120px;
  --real-wrap-pad:24px;
  --real-section-pad:64px;
  --real-radius-lg:40px;
  --real-radius-md:30px;
  --real-radius-sm:14px;

  /* brand assets (resolved relative to this stylesheet → assets/img/) */
  --real-rays-left:url('../img/yellowraysleft.svg');
  --real-rays-right:url('../img/yellowraysright.svg');
}

/* Legacy alias: pages written against the original .rvd namespace
   (e.g. the Villa case study HTML block) keep working if their inline
   styles are ever removed in favor of this sheet. */
.rvd{
  --rvd-navy:var(--real-navy);
  --rvd-royal:var(--real-royal);
  --rvd-grad-top:var(--real-grad-top);
  --rvd-grad-bot:var(--real-grad-bot);
  --rvd-light:var(--real-light);
  --rvd-yellow:var(--real-yellow);
  --rvd-orange:var(--real-orange);
  --rvd-text:var(--real-text);
  --rvd-serif:var(--real-serif);
  --rvd-figtree:var(--real-figtree);
  --rvd-sans:var(--real-sans);
}

/* ---------- 2. Base ---------- */
.real-page,.rvd{
  font-family:var(--real-sans);
  color:var(--real-text);
  font-size:16.5px;
  line-height:1.7;
}
.real-page *,.real-page *::before,.real-page *::after{box-sizing:border-box;}
.real-page img{max-width:100%;height:auto;}
.real-page p{margin:0 0 1.15em;}
.real-page a{color:var(--real-royal);}
.real-page mark{background:var(--real-yellow);color:inherit;padding:0 3px;}

/* Full-bleed breakout for content inside a constrained editor container */
.real-page{width:100vw;margin-left:calc(50% - 50vw);}
html,body{overflow-x:hidden;overflow-x:clip;}

/* ---------- 3. Layout primitives ---------- */
.real-wrap{max-width:var(--real-wrap);margin:0 auto;padding:0 var(--real-wrap-pad);}
.real-section{padding:var(--real-section-pad) 0;}
.real-cols{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.real-cols--wide-left{grid-template-columns:1.1fr .9fr;}
.real-cols--wide-right{grid-template-columns:.9fr 1.1fr;}

/* ---------- 4. Headings ---------- */
.real-page h1,.real-page h2,.real-page h3{
  font-family:var(--real-serif);color:var(--real-navy);
  line-height:1.3;margin:0 0 .7em;font-weight:400;
}
.real-h2{font-size:clamp(30px,3.9vw,40px);position:relative;padding-bottom:14px;}
.real-h2::after{content:"";position:absolute;left:0;bottom:0;width:74px;height:2px;background:var(--real-navy);}
.real-h2--center{text-align:center;}
.real-h2--center::after{left:50%;transform:translateX(-50%);}
.real-h2--light{color:#fff;}
.real-h2--light::after{background:#fff;}
.real-h3{font-family:var(--real-sans);font-weight:700;font-size:19px;}
.real-h3--light{color:#fff;}

/* ---------- 5. Buttons ---------- */
.real-btn{
  box-sizing:border-box; /* v0.7.7 — width:100% must include padding/border outside .real-page */
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--real-figtree);
  font-size:1.05rem;font-weight:700;
  letter-spacing:.01em;text-decoration:none; /* v0.8.5 — sentence case (Molly) */
  padding:16px 36px;border-radius:50px;border:2px solid transparent;
  background:var(--real-royal);color:#fff;
  box-shadow:0 6px 18px rgba(35,38,98,.18);
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  cursor:pointer;
}
.real-btn:hover,.real-btn:focus{
  background:var(--real-navy);color:#fff;text-decoration:none;
  transform:translateY(-2px);box-shadow:0 12px 26px rgba(35,38,98,.22);
}
.real-btn--navy{background:var(--real-navy);color:#fff;}
.real-btn--navy:hover,.real-btn--navy:focus{background:var(--real-royal);color:#fff;}
.real-btn--ghost{background:transparent;color:var(--real-navy);border-color:var(--real-navy);}
.real-btn--ghost:hover,.real-btn--ghost:focus{background:var(--real-navy);color:#fff;}
.real-btn--ghost-light{background:transparent;color:#fff;border-color:#fff;}
.real-btn--ghost-light:hover,.real-btn--ghost-light:focus{background:#fff;color:var(--real-navy);}
.real-btn--sm{font-size:.9rem;padding:12px 26px;}

/* ---------- 6. Inline emphasis ---------- */
.real-blue-bold{color:var(--real-royal);font-weight:700;}
.real-white-bold{color:#fff;font-weight:700;}

/* ---------- 7. Hero card (overlapping a hero image) ---------- */
.real-hero img{width:100%;max-height:540px;object-fit:cover;}
.real-hero-card{
  position:relative;z-index:2;
  max-width:660px;margin:-110px auto 0;
  background:var(--real-light);border-radius:var(--real-radius-lg);
  padding:52px 48px 40px;text-align:center;
}
.real-hero-card h1{font-size:clamp(30px,4vw,42px);margin:0 0 .35em;}
.real-hero-card .real-sub{font-family:var(--real-figtree);color:var(--real-navy);font-size:clamp(16px,2vw,19px);margin:0 0 1.2em;}
.real-hero-card .real-sub strong{font-weight:700;}

/* ---------- 8. Quote panel (light blue, round portrait) ---------- */
.real-panel{
  background:var(--real-light);border-radius:var(--real-radius-lg);
  padding:46px 42px;text-align:center;
}
.real-panel img.real-round{
  width:140px;height:140px;border-radius:50%;object-fit:cover;
  margin:0 auto 20px;
}
.real-panel blockquote{
  font-family:var(--real-figtree);font-style:italic;color:var(--real-navy);
  font-size:clamp(16px,1.8vw,18.5px);line-height:1.6;margin:0;
}
.real-panel blockquote mark{font-weight:700;}
.real-panel .real-name{font-family:var(--real-figtree);font-weight:700;color:var(--real-navy);font-size:16px;margin:18px 0 0;}
.real-panel .real-role{color:var(--real-navy);font-size:14px;margin:0;}

/* ---------- 9. Small quote card ---------- */
.real-quote-card{
  background:var(--real-light);border-radius:var(--real-radius-sm);
  padding:24px 26px;font-family:var(--real-figtree);font-style:italic;
  color:var(--real-navy);font-size:15.5px;line-height:1.65;
}
.real-quote-card mark{font-weight:700;font-style:italic;}
.real-quote-card .real-who{font-style:normal;font-family:var(--real-figtree);font-weight:700;font-size:15px;color:var(--real-navy);margin:14px 0 2px;}
.real-quote-card .real-role{font-style:normal;font-size:13.5px;color:var(--real-muted);margin:0;line-height:1.5;}

/* ---------- 10. Portrait + caption ---------- */
.real-portrait{border-radius:48px;width:100%;}
.real-caption{margin-top:14px;font-size:15px;color:var(--real-navy);text-align:center;}
.real-caption strong{color:var(--real-royal);font-weight:700;}
.real-pipe{color:var(--real-orange);font-weight:700;}

/* ---------- 11. Statement band ---------- */
.real-band{
  background:var(--real-light);
  padding:64px 24px;text-align:center;
}
.real-band p{
  max-width:990px;margin:0 auto;
  font-family:var(--real-serif);color:var(--real-navy);
  font-size:clamp(21px,2.7vw,30px);line-height:1.55;
}

/* ---------- 12. Results (gradient) + stat panel ---------- */
.real-results{background:var(--real-gradient);color:#fff;}
.real-results p{color:var(--real-pale);}
.real-results .real-lead{color:#fff;}

.real-stat-panel{background:#fff;border-radius:var(--real-radius-md);color:var(--real-text);padding:36px 34px;}
.real-stat-panel p{color:var(--real-text);}
.real-stat-title{font-family:var(--real-lora);font-size:15.5px;font-weight:600;text-align:center;color:var(--real-text);}
.real-stat-quote{font-family:var(--real-serif);font-style:italic;text-align:center;color:var(--real-navy);font-size:17px;margin:22px 0 6px;}

/* ---------- 13. Stacked bar chart ---------- */
.real-schart-area{position:relative;margin:18px 0 0 44px;}
.real-schart{
  position:relative;height:300px;
  border-bottom:2px solid var(--real-line);
  display:flex;align-items:flex-end;justify-content:space-evenly;gap:40px;
  padding:0 30px;
}
.real-yaxis{position:absolute;left:-44px;top:0;bottom:0;width:38px;font-size:11px;color:var(--real-muted);font-weight:600;}
.real-yaxis span{position:absolute;right:4px;transform:translateY(50%);}
.real-sbar{width:96px;max-width:30%;display:flex;flex-direction:column;}
.real-seg--agree{background:var(--real-navy);color:#fff;font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center;}
.real-seg--kind{background:var(--real-royal);}
.real-seg--dis{background:var(--real-yellow);}
.real-schart-x{display:flex;justify-content:space-evenly;gap:40px;padding:0 30px;margin:10px 0 0;font-size:13px;font-weight:700;color:var(--real-navy);text-align:center;}
.real-schart-x span{width:96px;max-width:30%;}
.real-legend{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;margin-top:18px;font-size:12.5px;font-weight:600;color:var(--real-text);}
.real-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;}
.real-dot--dis{background:var(--real-yellow);}
.real-dot--kind{background:var(--real-accent);}
.real-dot--agree{background:var(--real-navy);}

/* ---------- 14. Horizontal bars ---------- */
.real-hbars{margin:20px 0 6px;}
.real-hbar-row{display:flex;align-items:center;gap:18px;margin-bottom:18px;}
.real-hbar-label{width:120px;flex:none;}
.real-hbar-label small{display:block;font-size:11.5px;font-weight:700;color:var(--real-navy);line-height:1.3;}
.real-hbar-label strong{font-size:26px;font-weight:800;color:var(--real-navy);}
.real-hbar-track{flex:1;height:34px;background:var(--real-light);border-radius:6px;overflow:hidden;}
.real-hbar-fill{height:100%;background:var(--real-navy);border-radius:6px 0 0 6px;}

/* ---------- 15. Speech bubbles ---------- */
.real-bubbles{display:flex;flex-direction:column;gap:30px;}
.real-bubble{
  position:relative;border-radius:var(--real-radius-md);padding:24px 28px 26px;
  font-family:var(--real-sans);font-weight:600;font-size:15.5px;line-height:1.6;
  max-width:460px;
}
.real-bubble .real-attr{display:block;margin-top:12px;font-weight:700;font-size:14px;}
.real-bubble::after{content:"";position:absolute;width:0;height:0;border-style:solid;}
.real-bubble--navy{background:var(--real-navy);color:#fff;}
.real-bubble--navy .real-attr{color:var(--real-yellow);}
.real-bubble--navy::after{left:60px;bottom:-18px;border-width:20px 11px 0 11px;border-color:var(--real-navy) transparent transparent transparent;}
.real-bubble--royal{background:var(--real-royal);color:#fff;}
.real-bubble--royal .real-attr{color:var(--real-yellow);}
.real-bubble--royal::after{left:60px;bottom:-18px;border-width:20px 11px 0 11px;border-color:var(--real-royal) transparent transparent transparent;}
.real-bubble--light{background:var(--real-light);color:var(--real-navy);}
.real-bubble--light .real-attr{color:var(--real-royal);}
.real-bubble--light::after{right:60px;top:-18px;border-width:0 11px 20px 11px;border-color:transparent transparent var(--real-light) transparent;}
.real-bubble--white{background:#fff;color:var(--real-navy);box-shadow:0 10px 30px rgba(20,30,90,.25);}
.real-bubble--white .real-attr{color:var(--real-royal);}
.real-bubble--white::after{left:60px;bottom:-18px;border-width:20px 11px 0 11px;border-color:#fff transparent transparent transparent;}
.real-bubble--right{align-self:flex-end;}

/* ---------- 16. CTA card ---------- */
.real-cta{
  background:var(--real-light);border-radius:36px;
  padding:52px 44px;text-align:center;
  max-width:820px;margin:0 auto;
}
.real-cta p{
  font-family:var(--real-serif);color:var(--real-navy);
  font-size:clamp(20px,2.5vw,28px);line-height:1.5;margin:0 0 .9em;
}
.real-cta .real-cta-links{font-family:var(--real-sans);font-weight:700;font-size:17px;margin:0;}
.real-cta .real-cta-links a{color:var(--real-royal);text-decoration:none;}
.real-cta .real-cta-links a:hover{text-decoration:underline;}

/* ==========================================================================
   Site chrome (header / notice bar / footer)
   ========================================================================== */

/* ---------- 17. Notice bar ---------- */
.real-notice{
  position:relative;
  background:var(--real-yellow);color:var(--real-navy);
  font-family:var(--real-figtree);font-weight:600;font-size:18px;
  text-align:center;padding:10px 48px;
}
.real-notice[hidden]{display:none;}
.real-notice a{color:var(--real-navy);text-decoration:underline;font-weight:700;}
.real-notice a:hover{color:var(--real-royal);}
.real-notice-close{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  background:transparent;border:0;color:var(--real-navy);
  font-family:var(--real-figtree);font-size:24px;line-height:1;
  cursor:pointer;opacity:.6;padding:4px 8px;
  transition:opacity .15s ease;
}
.real-notice-close:hover{opacity:1;}
@media (max-width:640px){
  .real-notice{padding:9px 40px;font-size:17px;}
  .real-notice-close{right:6px;}
}

/* ---------- 18. Site header ---------- */
.real-site-header{
  background:#fff;border-bottom:1px solid #ececf2;
  position:sticky;top:0;z-index:100;
}
.admin-bar .real-site-header{top:32px;}
.real-header-inner{
  max-width:var(--real-wrap);margin:0 auto;padding:0 var(--real-wrap-pad);
  height:128px;display:flex;align-items:center;gap:32px;
}
.real-logo{display:flex;align-items:center;flex:none;}
.real-logo img{height:72px;width:auto;display:block;}
.real-nav{margin-left:auto;}
.real-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center;}
.real-nav ul a{
  font-family:var(--real-figtree);font-weight:600;font-size:19.5px;
  color:var(--real-navy);text-decoration:none;padding:6px 0;position:relative;
}
.real-nav ul a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--real-orange);transition:right .2s ease;
}
.real-nav ul a:hover::after,.real-nav ul a[aria-current="page"]::after{right:0;}
.real-nav ul a[aria-current="page"]{color:var(--real-orange);}
.real-header-actions{display:flex;align-items:center;gap:16px;flex:none;}
.real-header-login{
  font-family:var(--real-figtree);font-weight:700;font-size:17px;
  letter-spacing:.01em;text-decoration:none; /* v0.8.5 */
  color:#fff;background:var(--real-navy);border-radius:50px;padding:11px 24px;
  transition:background .2s ease;
}
.real-header-login:hover{background:var(--real-orange);color:#fff;text-decoration:none;}
.real-header-login--mobile{display:none;}
.real-nav-toggle{
  display:none;background:none;border:none;cursor:pointer;padding:10px;
  width:44px;height:44px;
}
.real-nav-toggle span{
  display:block;height:2.5px;background:var(--real-navy);margin:5px 0;
  border-radius:2px;transition:transform .2s ease,opacity .2s ease;
}

/* ---------- 19. Site footer ---------- */
.real-site-footer{
  background:var(--real-navy);color:#aab2e4;
  font-family:var(--real-sans);font-size:15px;line-height:1.7;
}
.real-site-footer a{color:#fff;text-decoration:none;}
.real-site-footer a:hover{color:var(--real-yellow);text-decoration:none;}
.real-footer-top{
  max-width:var(--real-wrap);margin:0 auto;padding:64px var(--real-wrap-pad) 48px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;
}
.real-footer-wordmark{
  font-family:var(--real-serif);font-size:24px;color:#fff;margin:0 0 12px;line-height:1.25;
}
.real-footer-wordmark sup{font-size:.5em;}
.real-footer-tagline{margin:0 0 24px;max-width:280px;font-size:14.5px;}
.real-footer-social{display:flex;gap:12px;}
.real-footer-social a{
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;transition:background .2s ease;
}
.real-footer-social a:hover{background:var(--real-orange);}
.real-footer-social svg{width:18px;height:18px;fill:#fff;}
.real-footer-col h4{
  font-family:var(--real-figtree);font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--real-yellow);margin:0 0 16px;
}
.real-footer-col ul{list-style:none;margin:0;padding:0;}
.real-footer-col li{margin:0 0 9px;}
.real-footer-bottom{border-top:1px solid rgba(255,255,255,.14);}
.real-footer-bottom-inner{
  max-width:var(--real-wrap);margin:0 auto;padding:20px var(--real-wrap-pad);
  display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;justify-content:space-between;
  font-size:13px;color:#8f97cf;
}
.real-footer-bottom-inner nav{display:flex;gap:24px;}
/* v0.6.5 — copyright line: one line, no stray wpautop paragraph margins */
.real-footer-copy{white-space:nowrap;}
.real-footer-bottom-inner p{margin:0;}
.real-footer-bottom-inner a{color:#aab2e4;}
.real-footer-bottom-inner a:hover{color:var(--real-yellow);}

/* ---------- 19b. Header / footer responsive ---------- */
@media (max-width:900px){
  .real-header-inner{height:66px;gap:16px;}
  .real-logo img{height:38px;}
  .real-header-actions{margin-left:auto;}
  .real-header-actions .real-header-login{display:none;}
  .real-nav-toggle{display:block;}
  .real-nav{
    position:absolute;top:100%;left:0;right:0;margin-left:0;
    background:#fff;border-bottom:1px solid #ececf2;
    box-shadow:0 24px 40px rgba(20,30,90,.12);
    display:none;padding:8px 24px 24px;
  }
  .real-nav.is-open{display:block;}
  .real-nav ul{flex-direction:column;align-items:stretch;gap:0;}
  .real-nav li{border-bottom:1px solid #f0f0f6;}
  .real-nav li:last-child{border-bottom:none;}
  .real-nav ul a{display:block;padding:14px 4px;font-size:21px;}
  .real-nav ul a::after{display:none;}
  .real-header-login--mobile{display:inline-block;margin-top:18px;}
  .real-nav-toggle.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .real-nav-toggle.is-open span:nth-child(2){opacity:0;}
  .real-nav-toggle.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .real-footer-top{grid-template-columns:1fr 1fr;gap:36px;padding:52px var(--real-wrap-pad) 40px;}
}
@media (max-width:782px){
  .admin-bar .real-site-header{top:46px;}
}
@media (max-width:640px){
  .real-footer-top{grid-template-columns:1fr;}
  .real-footer-bottom-inner{justify-content:center;text-align:center;}
}

/* ---------- 21. Content defaults for block output ---------- */
.real-content{max-width:var(--real-wrap);margin:0 auto;padding:48px var(--real-wrap-pad) 72px;}
/* v0.6.3 — safety net: a pasted .real-page fragment must look identical even
   if the page was left on the default template instead of "Full Width" —
   hide the WP title + featured image and release the narrow content column */
body:has(.real-page) .real-content{max-width:none;padding:0;}
body:has(.real-page) .real-page-title,
body:has(.real-page) .real-content .wp-block-post-featured-image{display:none;}
.real-content > .alignwide{max-width:1360px;}
.real-content > .alignfull{width:100%;max-width:none;}
.real-page-title{
  font-family:var(--real-serif);color:var(--real-navy);
  font-size:clamp(30px,4vw,42px);line-height:1.2;margin:0 0 .6em;
}

/* ---------- 22. Responsive ---------- */
@media (max-width:900px){
  .real-cols,.real-cols--wide-left,.real-cols--wide-right{grid-template-columns:1fr;}
  .real-hero-card{margin:-60px 16px 0;padding:40px 28px 32px;}
  .real-bubble--right{align-self:auto;}
  .real-section{padding:44px 0;}
}
@media (max-width:640px){
  .real-page{overflow-x:hidden;}
  .real-btn{font-size:.92rem;padding:14px 26px;}
  .real-stat-panel{padding:28px 16px;}
  .real-schart-area{margin-left:34px;}
  .real-schart{height:260px;gap:20px;padding:0 8px;}
  .real-sbar{width:76px;}
  .real-seg--agree{font-size:18px;}
  .real-schart-x{gap:20px;padding:0 8px;}
  .real-schart-x span{width:76px;}
  .real-yaxis{left:-34px;width:30px;}
  .real-hbar-row{gap:12px;}
  .real-hbar-label{width:96px;}
}

/* ==========================================================================
   Page components (About / Conversation Comeback / marketing pages)
   Added for the Villa-ified redesigns — same tokens, same language.
   ========================================================================== */

/* ---------- 23. Eyebrow ---------- */
.real-eyebrow{
  font-family:var(--real-figtree);font-size:13.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--real-orange);
  margin:0 0 14px;
}
.real-eyebrow--blue{color:var(--real-royal);}
.real-eyebrow--light{color:var(--real-yellow);}
.real-eyebrow--center{text-align:center;}

/* ---------- 24. Logo grid (school partners) ---------- */
.real-logo-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:18px;align-items:stretch;margin-top:32px;
}
.real-logo-cell{
  background:#fff;border:1px solid #ececf2;border-radius:var(--real-radius-sm);
  padding:16px;display:flex;align-items:center;justify-content:center;min-height:88px;
}
.real-logo-cell img{max-height:56px;width:auto;}

/* ---------- 25. Chips (grades, word lists) ---------- */
.real-chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;}
.real-chips span{
  font-family:var(--real-figtree);font-weight:700;font-size:14px;
  border-radius:13px;padding:8px 18px;
  background:#fff;color:var(--real-navy);
}
.real-chips--on-dark span{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35);}
.real-chips--yellow span{background:var(--real-yellow);color:var(--real-navy);}
.real-chips--center{justify-content:center;}

/* ---------- 26. Stat cards ---------- */
.real-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:40px 0;}
.real-stat-card{
  background:#fff;border-radius:var(--real-radius-md);
  padding:34px 30px;text-align:center;color:var(--real-text);
}
.real-stat-num{
  font-family:var(--real-serif);font-weight:700;line-height:1;
  font-size:clamp(42px,5vw,58px);color:var(--real-navy);
}
/* v0.6.6 — re-assert over .real-stat-card p (which out-specificities the rule above) */
.real-stat-card .real-stat-num{font-size:clamp(42px,5vw,58px);color:var(--real-navy);margin:0;}
.real-stat-num .pct{font-size:.55em;}
.real-stat-card p{margin:12px 0 0;font-size:15.5px;color:var(--real-text);}

/* ---------- 27. Media quote cards (teacher videos) ---------- */
.real-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px;margin-top:36px;}
.real-video-card{
  display:block;background:var(--real-light);border-radius:var(--real-radius-md);
  overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .2s ease,box-shadow .2s ease;
}
.real-video-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(20,30,90,.16);}
.real-video-card img{width:100%;height:170px;object-fit:cover;}
.real-video-card .real-video-body{padding:22px 24px 24px;}
.real-video-card blockquote{
  font-family:var(--real-figtree);font-style:italic;color:var(--real-navy);
  font-size:16px;line-height:1.55;margin:0 0 12px;
}
.real-video-card .real-who{font-family:var(--real-figtree);font-weight:700;font-size:14px;color:var(--real-royal);margin:0 0 10px;}
.real-video-card .real-watch{
  font-family:var(--real-figtree);font-weight:700;font-size:13px;
  letter-spacing:.01em;color:var(--real-orange); /* v0.8.5 */
}

/* ---------- 28. Team grid + bio modal ---------- */
.real-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:36px;}
.real-team-sub{
  font-family:var(--real-figtree);font-weight:700;font-size:16px;color:var(--real-navy);
  margin:44px 0 0;text-align:center;
}
.real-team-sub span{font-weight:400;color:var(--real-muted);}
.real-person{
  background:var(--real-light);border:none;border-radius:var(--real-radius-md);
  padding:30px 20px 26px;text-align:center;cursor:pointer;
  font-family:inherit;color:inherit;width:100%;
  transition:transform .2s ease,box-shadow .2s ease;
}
.real-person:hover,.real-person:focus-visible{
  transform:translateY(-4px);box-shadow:0 14px 34px rgba(20,30,90,.16);
  background:var(--real-light);color:inherit; /* guard against theme button styles */
}
.real-person img{
  width:130px;height:130px;border-radius:var(--real-radius-sm);object-fit:cover;
  margin:0 auto 16px;display:block;
}
.real-person .real-name{font-family:var(--real-serif);font-size:19px;color:var(--real-navy);margin:0 0 4px;}
.real-person .real-role{font-family:var(--real-figtree);font-size:13.5px;font-weight:600;color:var(--real-royal);margin:0 0 10px;}
.real-person .real-bio-hint{
  font-family:var(--real-figtree);font-size:12.5px;font-weight:700;
  letter-spacing:.01em;color:var(--real-orange); /* v0.8.5 */
}
.real-modal-backdrop{
  position:fixed;inset:0;background:rgba(20,24,70,.55);z-index:9998;
  display:none;align-items:center;justify-content:center;padding:24px;
}
.real-modal-backdrop.is-open{display:flex;}
.real-modal{
  background:#fff;border-radius:var(--real-radius-md);max-width:640px;width:100%;
  max-height:86vh;overflow:auto;padding:44px 44px 40px;position:relative;z-index:9999;
}
.real-modal .real-modal-close{
  position:absolute;top:14px;right:18px;border:none;background:none;cursor:pointer;
  font-size:26px;line-height:1;color:var(--real-navy);padding:6px;
}
.real-modal img{width:120px;height:120px;border-radius:var(--real-radius-sm);object-fit:cover;margin:0 0 16px;}
.real-modal .real-modal-name{font-family:var(--real-serif);font-size:26px;color:var(--real-navy);margin:0 0 2px;}
.real-modal .real-modal-role{font-family:var(--real-figtree);font-weight:600;font-size:14px;color:var(--real-royal);margin:0 0 18px;}
.real-modal p{font-size:15.5px;margin:0 0 1em;}

/* ---------- 29. FAQ accordion ---------- */
.real-faq{margin-top:36px;}
.real-faq details{
  background:var(--real-light);border-radius:var(--real-radius-sm);
  margin:0 0 12px;overflow:hidden;
}
.real-faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;
  padding:20px 24px;
  font-family:var(--real-figtree);font-weight:700;font-size:16.5px;color:var(--real-navy);
}
.real-faq summary::-webkit-details-marker{display:none;}
.real-faq summary .real-faq-icon{
  margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;
  background:var(--real-navy);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:17px;transition:transform .2s ease;
}
.real-faq details[open] summary .real-faq-icon{transform:rotate(45deg);background:var(--real-orange);}
.real-faq .real-faq-answer{padding:0 24px 22px;font-size:15.5px;}
.real-faq .real-faq-answer p{margin:0 0 1em;}
.real-faq .real-faq-answer ul{margin:0 0 1em;padding-left:22px;}
.real-faq .real-faq-answer a{color:var(--real-royal);font-weight:600;}
/* two-column FAQ on wide screens */
.real-faq--cols{columns:2;column-gap:24px;}
.real-faq--cols details{break-inside:avoid;}

/* ---------- 30. Book / product card ---------- */
.real-book-card{
  background:var(--real-light);border-radius:var(--real-radius-md);
  padding:30px 32px;display:flex;gap:28px;align-items:center;margin-top:36px;
}
.real-book-card img{width:130px;flex:none;border-radius:6px;box-shadow:0 10px 26px rgba(20,30,90,.22);}
.real-book-card .real-book-kicker{
  font-family:var(--real-figtree);font-weight:700;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.1em;color:var(--real-orange);margin:0 0 6px;
}
.real-book-card .real-book-title{font-family:var(--real-serif);font-size:24px;color:var(--real-navy);margin:0 0 6px;}
.real-book-card .real-book-sub{font-size:14.5px;color:var(--real-text);margin:0 0 16px;}

/* ---------- 31. Simple cards row (order options, tools, mini CTAs) ---------- */
.real-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px;}
.real-duo{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px;}
.real-mini-card{
  background:var(--real-light);border-radius:var(--real-radius-md);
  padding:32px 30px;
}
.real-mini-card h3{
  font-family:var(--real-figtree);font-weight:700;font-size:19px;
  color:var(--real-navy);margin:0 0 10px;line-height:1.35;
}
.real-mini-card p{font-size:15px;margin:0 0 18px;}
.real-mini-card .real-res-num{
  font-family:var(--real-figtree);font-weight:700;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.1em;color:var(--real-orange);margin:0 0 10px;
}
.real-mini-card--navy{background:var(--real-navy);color:#cdd3f0;}
.real-mini-card--navy h3{color:#fff;}

/* ---------- 32. Yellow rays (brand mark around a title) ---------- */
.real-yellow-rays{position:relative;display:inline-block;}
.real-yellow-rays::before,.real-yellow-rays::after{
  content:"";position:absolute;top:50%;width:1.2em;height:2.5em;
  background-repeat:no-repeat;background-size:contain;
}
.real-yellow-rays::before{
  left:-1.45em;transform:translateY(-50%) rotate(14deg);
  background-image:var(--real-rays-left);
}
.real-yellow-rays::after{
  right:-1.45em;transform:translateY(-50%) rotate(346deg);
  background-image:var(--real-rays-right);
}

/* ---------- 33. Section background helpers ---------- */
.real-bg-light{background:var(--real-light);}
.real-bg-pale{background:var(--real-pale);}
.real-bg-navy{background:var(--real-navy);color:#cdd3f0;}
.real-bg-navy h1,.real-bg-navy h2,.real-bg-navy h3{color:#fff;}
.real-bg-navy p{color:#cdd3f0;}
.real-bg-navy a{color:var(--real-yellow);}
.real-bg-royal{background:var(--real-royal);color:#e4e9fb;}
.real-bg-royal h1,.real-bg-royal h2,.real-bg-royal h3{color:#fff;}
.real-text-center{text-align:center;}
.real-narrow{max-width:820px;margin:0 auto;}

/* ---------- 34. Responsive (page components) ---------- */
@media (max-width:900px){
  .real-stat-grid{grid-template-columns:1fr;}
  .real-team-grid{grid-template-columns:repeat(2,1fr);}
  .real-trio{grid-template-columns:1fr;}
  .real-duo{grid-template-columns:1fr;}
  .real-faq--cols{columns:1;}
  .real-modal{padding:34px 26px 30px;}
}
@media (max-width:640px){
  .real-team-grid{grid-template-columns:1fr 1fr;gap:16px;}
  .real-person{padding:22px 12px 20px;}
  .real-person img{width:88px;height:88px;}
  .real-book-card{flex-direction:column;text-align:center;padding:28px 22px;}
  .real-yellow-rays::before{left:-1.1em;}
  .real-yellow-rays::after{right:-1.1em;}
}

/* ---------- 35. Specificity re-asserts ----------
   .real-page sets base heading/link colors at (0,1,1); these re-assert the
   component variants that must win inside .real-page. */
.real-page .real-h2--light{color:#fff;}
.real-page .real-h2--light::after{background:#fff;}
.real-page .real-h3--light{color:#fff;}
.real-page a.real-btn{color:#fff;}
.real-page a.real-btn:hover,.real-page a.real-btn:focus{color:#fff;}
.real-page a.real-btn--ghost{color:var(--real-navy);}
.real-page a.real-btn--ghost:hover,.real-page a.real-btn--ghost:focus{color:#fff;}
.real-page a.real-btn--ghost-light{color:#fff;}
.real-page a.real-btn--ghost-light:hover,.real-page a.real-btn--ghost-light:focus{color:var(--real-navy);}

/* ---------- 36. Typed hero word (homepage) ---------- */
.real-typed{color:var(--real-royal);}
.real-typed::after{
  content:"";display:inline-block;width:3px;height:.82em;
  background:var(--real-orange);margin-left:3px;vertical-align:-.06em;
  animation:real-caret 1.05s steps(1) infinite;
}
@keyframes real-caret{50%{opacity:0;}}

/* ---------- 37. Band variants + bubble avatars (homepage) ---------- */
.real-band--yellow{background:var(--real-yellow);}
.real-band--yellow p{color:var(--real-navy);}
.real-band--yellow mark{background:#fff;color:var(--real-navy);padding:0 .12em;}
.real-band .real-eyebrow{margin-bottom:18px;}
.real-bubbles--center{max-width:940px;margin:0 auto;}
.real-bubble .real-attr{display:flex;align-items:center;gap:12px;}
.real-bubble .real-attr img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;}
.real-bubble .real-attr small{display:block;font-weight:400;font-size:12.5px;line-height:1.45;opacity:.85;}

/* ---------- 38. Split hero (text left, image right; gradient) ---------- */
.real-hero-split{background:linear-gradient(115deg,var(--real-navy) 0%,var(--real-royal) 78%,#3d63d6 125%);padding:88px 0 100px;overflow:hidden;}
.real-hero-split-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.real-hero-split h1{color:#fff;font-size:clamp(32px,4.2vw,46px);margin:0 0 .4em;}
.real-hero-split .real-sub{color:#d8e2ff;font-size:clamp(16px,1.9vw,19px);}
.real-hero-split .real-sub strong{color:#fff;}
.real-hero-split .real-sub em{color:var(--real-yellow);}
.real-hero-split .real-btn{margin:0 12px 12px 0;}
.real-hero-split-media img{
  width:100%;display:block;border-radius:var(--real-radius-lg);
  box-shadow:22px 22px 0 var(--real-yellow);
}
.real-typed--light{color:var(--real-yellow);}
@media (max-width:900px){
  .real-hero-split{padding:56px 0 68px;}
  .real-hero-split-inner{grid-template-columns:1fr;gap:40px;}
  .real-hero-split-media img{box-shadow:12px 12px 0 var(--real-yellow);}
}

/* ---------- 39. White statement band + white card variant ---------- */
.real-band--white{background:#fff;position:relative;}
.real-band--white::before{
  content:"\201C";position:absolute;left:50%;top:-40px;transform:translateX(-50%);
  font-family:var(--real-serif);font-weight:700;font-size:132px;line-height:1;
  color:var(--real-yellow);
}
.real-mini-card--white{background:#fff;}

/* ---------- 40. Offset frame, note callout, navy book card ---------- */
.real-frame{box-shadow:22px 22px 0 var(--real-yellow);}
.real-note{
  border-left:4px solid var(--real-yellow);padding:6px 0 6px 20px;
  font-family:var(--real-serif);font-size:18.5px;line-height:1.55;color:var(--real-navy);
}
.real-book-card--navy{background:var(--real-navy);}
.real-book-card--navy .real-book-kicker{color:var(--real-yellow);}
.real-book-card--navy .real-book-title{color:#fff;}
.real-book-card--navy .real-book-sub{color:#cdd3f0;}
@media (max-width:640px){.real-frame{box-shadow:12px 12px 0 var(--real-yellow);}}

/* ---------- 41. Light split hero + centered blog CTA card ---------- */
.real-hero-split--light{background:var(--real-light);}
.real-hero-split--light h1{color:var(--real-navy);}
.real-hero-split--light .real-sub{color:var(--real-navy);}
.real-hero-split--light .real-sub strong{color:var(--real-navy);}
.real-hero-split--light .real-sub em{color:var(--real-royal);}

/* ---------- 42. Form CTA (blog "keep in touch" card) ---------- */
.real-form-cta *,.real-form-cta *::before,.real-form-cta *::after{box-sizing:border-box;} /* v0.7.7 — card also renders outside .real-page (post-cta template part) */
.real-form-cta{
  position:relative;overflow:hidden;border-radius:clamp(30px,5vw,46px);
  background:linear-gradient(135deg,#223a8c 0%,#344fa3 52%,#6583c8 100%);
  box-shadow:0 26px 70px rgba(30,42,120,.18);color:#fff;
  padding:clamp(34px,5vw,44px);
}
.real-form-cta-eyebrow{
  margin:0 0 12px;color:var(--real-yellow);font-family:var(--real-figtree);
  font-size:13px;font-weight:800;letter-spacing:.13em;line-height:1.35;text-transform:uppercase;
}
.real-form-cta h2{
  max-width:680px;margin:0 0 18px;color:#fff;
  font-size:clamp(30px,4vw,40px);font-weight:400;letter-spacing:-.02em;line-height:1.14;
}
.real-form-cta-copy{
  max-width:680px;margin:0;color:rgba(255,255,255,.91);
  font-size:clamp(16.5px,2vw,18.5px);line-height:1.72;
}
.real-form-cta mark{
  background:var(--real-yellow);color:var(--real-navy);font-weight:700;
  padding:0 .13em .03em;border-radius:4px;white-space:nowrap;
}
.real-form-cta mark a{
  color:inherit;text-decoration:underline;text-decoration-thickness:2px;
  text-underline-offset:3px;border-radius:4px;
}
.real-form-cta mark a:hover{text-decoration-thickness:3px;text-underline-offset:2px;}
.real-form-cta mark a:focus-visible{outline:2px solid #fff;outline-offset:2px;}
.real-form-cta-action{
  /* v0.8.9 — capped + centered so icon / "Start Here" / button read as
     one unit instead of spanning the full card width (Molly 10/9/26) */
  position:relative;max-width:640px;margin:28px auto 0;padding:22px 24px;border-radius:32px;
  background:var(--real-light);color:var(--real-navy);
  display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;column-gap:18px;text-align:left;
}
.real-form-cta-action::before{
  content:"";position:absolute;left:56px;top:-12px;width:28px;height:28px;
  background:var(--real-light);border-top-left-radius:8px;transform:rotate(45deg);
}
.real-form-cta-doodle{grid-column:1;grid-row:1 / span 2;width:64px;color:var(--real-royal);}
.real-form-cta-kicker{
  grid-column:2;grid-row:1;margin:0;color:var(--real-royal);
  font-family:var(--real-figtree);font-size:13px;font-weight:800;
  letter-spacing:.12em;line-height:1.4;text-transform:uppercase;
}
.real-form-cta-btn{grid-column:3;grid-row:1 / span 2;white-space:nowrap;}
/* v0.8.3 — "START HERE" kicker: larger, spans both rows so doodle/text/button
   center evenly when the note row is absent (canonical CTA, Liza 10/07/26). */
.real-form-cta-kicker--xl{
  grid-row:1 / span 2;align-self:center;
  font-size:20px;letter-spacing:.14em;
}
@media (max-width:640px){
  .real-form-cta-kicker--xl{ font-size:18px; }
}
.real-form-cta-note{grid-column:2;grid-row:2;margin:4px 0 0;color:#555b82;font-size:13.5px;font-weight:600;line-height:1.45;}
@media (max-width:640px){
  .real-form-cta-action{display:block;text-align:center;padding:24px 18px;}
  .real-form-cta-action::before{left:50%;transform:translateX(-50%) rotate(45deg);}
  .real-form-cta-doodle{width:72px;margin:0 auto 14px;}
  .real-form-cta-kicker{margin:0 0 16px;}
  .real-form-cta-btn{width:100%;white-space:normal;justify-content:center;}
  .real-form-cta-note{margin:12px 0 0;}
}

/* ============================================================
   43. BLOG — hero band, featured slider, find panel, post feed
   ============================================================ */
.real-blog-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(320px,34vw,410px);
  display:flex;align-items:center;justify-content:center;
  padding:clamp(64px,9vw,96px) 24px;
  background-color:var(--real-navy);
  background-size:cover;background-position:center 32%;
  text-align:center;color:#fff;
}
.real-blog-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(35,38,98,.88);
}
.real-blog-hero-inner{max-width:860px;margin:0 auto;}
.real-page .real-blog-hero h1,.real-blog-hero h1{
  margin:0 0 20px;color:#fff;
  font-size:clamp(38px,5.2vw,56px);font-weight:400;letter-spacing:-.02em;line-height:1.14;
}
.real-blog-hero-sub{
  max-width:660px;margin:0 auto;color:rgba(255,255,255,.93);
  font-size:clamp(16.5px,2.2vw,20px);line-height:1.65;
}
.real-blog-hero-sub u{
  text-decoration:none;box-shadow:inset 0 -3px 0 var(--real-yellow);
}

/* Featured posts — static 3-card row fed by [real_featured_posts] */
.real-blog-featured{background:#fff;padding:clamp(56px,7vw,84px) 0 clamp(44px,5vw,64px);}
.real-blog-featured-head{margin:0 0 30px;}
.real-page .real-blog-featured h2,.real-blog-featured h2{
  margin:0;font-size:clamp(28px,3.4vw,36px);font-weight:400;letter-spacing:-.02em;
}
.real-featured-track{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;
  padding:4px 4px 10px;
}
.real-featured-card{min-width:0;}
.real-featured-card-img{
  display:block;border-radius:20px;overflow:hidden;
  aspect-ratio:3/2;background:var(--real-pale);font-size:0;
}
.real-featured-card-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s ease;
}
.real-featured-card:hover .real-featured-card-img img{transform:scale(1.045);}
.real-page .real-featured-card-title,.real-featured-card-title{
  margin:16px 2px 0;font-size:clamp(18.5px,2vw,21px);font-weight:400;line-height:1.34;
}
.real-page .real-featured-card-title a,.real-featured-card-title a{
  color:var(--real-navy);text-decoration:none;
}
.real-page .real-featured-card-title a:hover,.real-featured-card-title a:hover{color:var(--real-royal);}

/* Find panel — styles the Search & Filter plugin form (id 6184) */
.real-find{background:var(--real-pale);padding:clamp(56px,7vw,84px) 0;}
.real-find-head{max-width:720px;margin:0 auto 38px;text-align:center;}
.real-page .real-find h2,.real-find h2{
  margin:0 0 12px;font-size:clamp(28px,3.4vw,36px);font-weight:400;letter-spacing:-.02em;
}
.real-find mark{
  background:var(--real-yellow);color:var(--real-navy);font-weight:700;
  padding:0 .12em .03em;border-radius:4px;
}
.real-find-sub{margin:0;color:var(--real-muted);font-size:16.5px;line-height:1.6;}
.real-find .searchandfilter>ul{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;
}
.real-find .searchandfilter li{margin:0;padding:0;}
.real-find .searchandfilter .sf-field-search{grid-column:1 / -1;}
.real-find .searchandfilter .sf-field-submit{grid-column:1 / -1;text-align:center;margin-top:8px;}
.real-find .searchandfilter h4{
  margin:0 0 10px;font-family:var(--real-figtree);font-size:13px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--real-navy);
}
.real-find .searchandfilter label{display:block;}
.real-find .searchandfilter .sf-input-text,
.real-find .searchandfilter .sf-input-select{
  width:100%;box-sizing:border-box;margin:0;
  padding:15px 20px;border-radius:14px;border:2px solid #cfd6ea;background-color:#fff;
  font-family:var(--real-figtree);font-size:16px;font-weight:600;color:var(--real-text);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.real-find .searchandfilter .sf-input-text:focus,
.real-find .searchandfilter .sf-input-select:focus{
  outline:none;border-color:var(--real-royal);
  box-shadow:0 0 0 4px rgba(34,73,170,.14);
}
.real-find .searchandfilter .sf-input-select{
  appearance:none;-webkit-appearance:none;padding-right:48px;cursor:pointer;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4 6l4 4 4-4" fill="none" stroke="%23232662" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-repeat:no-repeat;background-position:right 18px center;background-size:14px;
}
.real-find .searchandfilter input[type="submit"]{
  border:0;cursor:pointer;border-radius:50px;padding:16px 46px;
  background:var(--real-royal);color:#fff;
  font-family:var(--real-figtree);font-size:14.5px;font-weight:800;
  letter-spacing:.01em; /* v0.8.5 */
  transition:background .2s ease;
}
.real-find .searchandfilter input[type="submit"]:hover{background:var(--real-navy);}

/* Post feed — card grid (Query Loop) */
.real-results-anchor{scroll-margin-top:160px;}
/* S&F Pro scrolls with jQuery scrollTop (ignores scroll-margin), so lift the swap
   target's border box 110px instead — the equal padding cancels any visual shift. */
#real-results{margin-top:-160px;padding-top:160px;}
.real-blog-feed{background:#fff;padding:clamp(52px,7vw,88px) 0;}
ul.real-blog-feed-grid,.real-blog-feed-grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;
}
.real-blog-feed-grid>li{display:flex;min-width:0;margin-block-start:0;margin-block-end:0;}
.real-post-card{
  flex:1;display:flex;flex-direction:column;min-width:0;
  background:#fff;border:1px solid #e7e9f3;border-radius:20px;overflow:hidden;
  box-shadow:0 8px 30px rgba(35,38,98,.06);
  transition:transform .25s ease,box-shadow .25s ease;
}
.real-post-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(35,38,98,.12);}
.real-post-card-img{
  display:block;aspect-ratio:3/2;overflow:hidden;background:var(--real-pale);margin:0;font-size:0;
}
.real-post-card-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s ease;
}
.real-post-card:hover .real-post-card-img img{transform:scale(1.045);}
.real-post-card-body{flex:1;display:flex;flex-direction:column;padding:22px 24px 24px;}
.real-post-card-cats{
  margin:0;font-family:var(--real-figtree);font-size:11.5px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:var(--real-royal);
}
.real-page .real-post-card-cats a,.real-post-card-cats a{
  color:var(--real-royal);text-decoration:none;font:inherit;
}
.real-page .real-post-card-cats a:hover,.real-post-card-cats a:hover{color:var(--real-navy);}
.real-page .real-post-card-title,.real-post-card-title{
  margin:10px 0 8px;font-size:20.5px;font-weight:400;line-height:1.34;letter-spacing:-.01em;
}
.real-page .real-post-card-title a,.real-post-card-title a{
  color:var(--real-navy);text-decoration:none;
}
.real-page .real-post-card-title a:hover,.real-post-card-title a:hover{color:var(--real-royal);}
.real-post-card-meta{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;
  margin:0 0 12px;font-family:var(--real-figtree);font-size:13px;font-weight:600;color:var(--real-muted);
}
.real-post-card-meta>*{margin:0;font:inherit;color:inherit;}
.real-post-card-excerpt{margin:0 0 18px;color:#5a5b68;font-size:15px;line-height:1.66;}
.real-post-card-excerpt p{
  margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.real-page a.real-post-card-more,.real-post-card-more{
  margin-top:auto;align-self:flex-start;
  font-family:var(--real-figtree);font-size:12.5px;font-weight:800;
  letter-spacing:.02em; /* v0.8.5 */
  color:var(--real-royal);text-decoration:none;
}
.real-post-card-more::after{
  content:"\2192";display:inline-block;margin-left:7px;transition:margin-left .2s ease;
}
.real-page a.real-post-card-more:hover,.real-post-card-more:hover{color:var(--real-navy);}
.real-page a.real-post-card-more:hover::after,.real-post-card-more:hover::after{margin-left:11px;}

/* Pagination */
.real-pagination,.wp-block-query-pagination{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;
  margin:54px 0 0;padding:0;
}
.real-pagination .page-numbers,.wp-block-query-pagination .page-numbers{
  min-width:44px;height:44px;padding:0 15px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50px;border:2px solid #d7dbea;background:#fff;
  color:var(--real-navy);text-decoration:none;
  font-family:var(--real-figtree);font-size:14px;font-weight:800;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.real-page .wp-block-query-pagination a.page-numbers{color:var(--real-navy);text-decoration:none;}
.real-pagination .page-numbers.current,.wp-block-query-pagination .page-numbers.current{
  background:var(--real-navy);border-color:var(--real-navy);color:#fff;
}
.real-page .real-pagination a.page-numbers:hover,
.real-page .wp-block-query-pagination a.page-numbers:hover{
  border-color:var(--real-navy);color:var(--real-navy);
}

@media (max-width:760px){
  ul.real-blog-feed-grid,.real-blog-feed-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .real-featured-track{grid-template-columns:1fr;}
  ul.real-blog-feed-grid,.real-blog-feed-grid{grid-template-columns:1fr;}
  .real-find .searchandfilter>ul{grid-template-columns:1fr;}
}

/* Block-generated bits inside the post card */
.real-post-card-meta .wp-block-post-author{display:inline-flex;gap:4px;align-items:baseline;}
.real-post-card-meta p{margin:0;}
.real-page .real-post-card-meta a{color:inherit;text-decoration:none;}

.real-blog-archive-title{
  margin:0 0 14px;color:#fff;
  font-size:clamp(34px,4.6vw,50px);font-weight:400;letter-spacing:-.02em;line-height:1.16;
}
.real-blog-archive-title a{color:#fff;text-decoration:none;}

@media (max-width:640px){
  .real-blog-hero .real-yellow-rays::before,.real-blog-hero .real-yellow-rays::after{display:none;}
}

/* 44. Post CTA card placement (single posts) */
.real-form-cta--post{margin:clamp(44px,6vw,64px) 0 0;}

/* ============================================================
   45. SINGLE POST — narrow column, prev/next nav, related rail
   ============================================================ */
.real-content--narrow{max-width:842px;} /* legacy — superseded by .real-post-single (v0.7.6) */

/* Previous / next post navigation */
.real-post-nav{
  gap:24px;margin:clamp(40px,6vw,56px) 0 0;padding-top:28px;
  border-top:2px solid var(--real-line);
}
.real-post-nav .wp-block-post-navigation-link{max-width:46%;min-width:0;}
.real-post-nav .wp-block-post-navigation-link-next{margin-left:auto;text-align:right;}
.real-post-nav a{display:block;text-decoration:none;}
.real-post-nav .post-navigation-link__label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--real-figtree);font-size:12.5px;font-weight:800;
  letter-spacing:.02em;color:var(--real-royal); /* v0.8.5 */
}
.wp-block-post-navigation-link-previous .post-navigation-link__label::before{content:"\2190";}
.wp-block-post-navigation-link-next .post-navigation-link__label::after{content:"\2192";}
.real-post-nav .post-navigation-link__title{
  display:block;margin-top:8px;
  font-family:var(--real-serif);font-weight:400;
  font-size:clamp(17px,2vw,19.5px);line-height:1.35;color:var(--real-navy);
  transition:color .2s ease;
}
.real-post-nav a:hover .post-navigation-link__title{color:var(--real-royal);}

/* Related posts — wide band below the narrow article */
.real-related-wrap{background:var(--real-pale);padding:clamp(52px,7vw,80px) 0;}
.real-related-head{margin:0 0 30px;}
.real-related-head h2{
  margin:0;font-size:clamp(26px,3.2vw,34px);font-weight:400;letter-spacing:-.02em;
}
ul.real-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:960px){
  .real-post-nav .wp-block-post-navigation-link{max-width:100%;}
  ul.real-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  ul.real-related-grid{grid-template-columns:1fr;}
}

/* ============================================================
   46. REVISION MODIFIERS — royal CTAs, band variants, hand
       underline, gradient hero (homepage v3 + book page v2)
   ============================================================ */
.real-btn--royal{background:var(--real-royal);color:#fff;}
.real-btn--royal:hover,.real-btn--royal:focus{background:var(--real-navy);color:#fff;}
.real-btn--white{background:#fff;color:var(--real-navy);}
.real-btn--white:hover,.real-btn--white:focus{background:var(--real-yellow);color:var(--real-navy);}
.real-btn--light{background:var(--real-light);color:var(--real-navy);}
.real-btn--light:hover,.real-btn--light:focus{background:#fff;color:var(--real-navy);}

/* hero photo offset shadow in royal instead of yellow */
.real-hero-split-media--royal img{box-shadow:22px 22px 0 var(--real-royal);}

/* giant quote mark in royal on the white statement band */
.real-band--quote-royal::before{color:var(--real-royal);}

/* eyebrow as a yellow highlight chip */
.real-eyebrow--mark{
  display:inline-block;background:var(--real-yellow);color:var(--real-navy);
  padding:5px 10px 4px;border-radius:5px;
}

/* suppress the thin bar under an h2 / larger h2 */
.real-h2--nobar::after{content:none;}

/* yellow hand-drawn underline */
.real-hand-underline{
  padding-bottom:.42em;
  background:url('../img/yellowunderline.svg') no-repeat 50% 100%;
  background-size:100% .95em;
}

/* band background variants */
.real-bg-royal{background:var(--real-royal);color:#dbe4fb;}
.real-bg-royal h2,.real-bg-royal h3{color:#fff;}
.real-bg-gradient{background:var(--real-gradient);color:#cdd3f0;}
.real-bg-gradient h2,.real-bg-gradient h3{color:#fff;}

/* quote card — royal variant */
.real-quote-card--royal{background:var(--real-royal);color:#fff;}
.real-quote-card--royal .real-who{color:#fff;}
.real-quote-card--royal .real-role{color:rgba(255,255,255,.75);}

/* mini card — royal variant, white buttons */
.real-mini-card--royal{background:var(--real-royal);}
.real-mini-card--royal h3{color:#fff;}
.real-mini-card--royal p{color:rgba(255,255,255,.86);}
.real-mini-card--royal .real-btn{background:#fff;color:var(--real-royal);}
.real-mini-card--royal .real-btn:hover,.real-mini-card--royal .real-btn:focus{background:var(--real-navy);color:#fff;}
/* v0.6.1 — plain text links inside royal cards must stay readable on the royal bg */
.real-mini-card--royal p a{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.real-mini-card--royal p a:hover,.real-mini-card--royal p a:focus{color:var(--real-yellow);}

/* gradient hero — navy to blue to white */
.real-hero-split--grad{
  background:linear-gradient(158deg,var(--real-navy) 0%,var(--real-royal) 55%,#87a2e4 85%,#ffffff 128%);
}
.real-hero-split--grad h1{color:#fff;}
.real-hero-split--grad .real-typed{color:var(--real-yellow);}
.real-hero-split--grad .real-sub{color:rgba(255,255,255,.93);}
.real-hero-split--grad .real-sub em,.real-hero-split--grad .real-sub strong{color:#fff;}

/* 46b. re-asserts for new button modifiers inside .real-page */
.real-page a.real-btn--royal{color:#fff;}
.real-page a.real-btn--royal:hover,.real-page a.real-btn--royal:focus{color:#fff;}
.real-page a.real-btn--white{color:var(--real-navy);}
.real-page a.real-btn--white:hover,.real-page a.real-btn--white:focus{color:var(--real-navy);}
.real-page a.real-btn--light{color:var(--real-navy);}
.real-page a.real-btn--light:hover,.real-page a.real-btn--light:focus{color:var(--real-navy);}
.real-page .real-mini-card--royal a.real-btn{color:var(--real-royal);}
.real-page .real-mini-card--royal a.real-btn:hover,.real-page .real-mini-card--royal a.real-btn:focus{color:#fff;}

/* ============================================================
   47. SERVICES PAGE — pillar cards, service splits, council
       grid, avatar quote cards, case study cards (v0.5.0)
       All portable; moves to Astro with the rest of this sheet.
   ============================================================ */
/* in-page anchors land below the sticky header */
.real-section[id]{scroll-margin-top:148px;}

/* small kicker line for use inside cards */
.real-kicker{
  margin:0 0 8px;font-family:var(--real-figtree);font-size:12px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--real-orange);
}

/* service detail split — photo with soft offset frame */
.real-service-media img{
  width:100%;display:block;border-radius:var(--real-radius-md);
  box-shadow:18px 18px 0 var(--real-pale);
}
.real-bg-pale .real-service-media img{box-shadow:18px 18px 0 #fff;}
@media (max-width:640px){
  .real-service-media img{box-shadow:10px 10px 0 var(--real-pale);}
  .real-bg-pale .real-service-media img{box-shadow:10px 10px 0 #fff;}
}

/* advisory council — photo-free name/role grid */
.real-council-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 22px;margin-top:36px;}
.real-council-member{
  background:#fff;border:1px solid #ececf2;border-radius:var(--real-radius-sm);
  padding:18px 20px;
}
.real-council-member .real-name{font-family:var(--real-serif);font-size:17.5px;color:var(--real-navy);margin:0 0 3px;}
.real-council-member .real-role{font-family:var(--real-figtree);font-size:13px;font-weight:600;color:var(--real-muted);margin:0;line-height:1.5;}
@media (max-width:900px){.real-council-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.real-council-grid{grid-template-columns:1fr;}}

/* quote card with round avatar */
.real-quote-card--avatar img{
  width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 0 14px;display:block;
}

/* case study card — extends .real-video-card; full-ratio cover + school name */
.real-case-card img{height:auto;aspect-ratio:3/2;}
.real-case-school{
  font-family:var(--real-serif);font-style:normal;font-size:20px;
  color:var(--real-navy);margin:0 0 10px;line-height:1.3;
}

/* service splits — vertically center the photo against long copy */
.real-cols--center{align-items:center;}

/* bordered chips — visible on white sections (base chips are white pills) */
.real-chips--bordered span{border:1.5px solid #dfe4f2;}

/* ============================================================
   48. GLOBAL FIXES (v0.5.3)
   ============================================================ */
/* automatic arrow on every button — masked SVG drawn in currentColor,
   so it inherits whatever the variant's text color is */
.real-btn::after{
  content:"";width:.8em;height:.8em;flex:none;
  background-color:currentColor;
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
          mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  transition:transform .2s ease;
}
.real-btn:hover::after,.real-btn:focus::after{transform:translateX(3px);}

/* royal quote card — yellow highlight must read navy-on-yellow,
   not inherit the card's white text */
.real-quote-card--royal mark{color:var(--real-navy);}

/* light speech bubble — tail moves from top-right to bottom-left,
   matching the navy/royal/white bubbles */
.real-bubble--light::after{
  right:auto;left:60px;top:auto;bottom:-18px;
  border-width:20px 11px 0 11px;
  border-color:var(--real-light) transparent transparent transparent;
}

/* homepage testimonial pair — top-aligned, equal height, no stagger.
   Add class real-bubbles--duo to the .real-bubbles wrapper. */
.real-bubbles--duo{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:stretch;}
.real-bubbles--duo .real-bubble{max-width:none;margin-top:0;margin-bottom:0;}
.real-bubbles--duo .real-bubble--right{align-self:auto;}
@media (max-width:900px){.real-bubbles--duo{grid-template-columns:1fr;}}

/* v0.5.4 — ghost/outline buttons stay flat: no resting shadow, no lift */
.real-btn--ghost,.real-btn--ghost-light{box-shadow:none;}
.real-btn--ghost:hover,.real-btn--ghost:focus,
.real-btn--ghost-light:hover,.real-btn--ghost-light:focus{
  transform:none;box-shadow:none;
}
/* ============================================================
   49. HOMEPAGE + BOOK PAGE (v0.5.5) — pale-gradient hero,
       plain media, white CTA card, flex mini cards, button rows.
       Supports the ported homepage v3 + Conversation Comeback v2.
       All portable; moves to Astro with the rest of this sheet.
   ============================================================ */
/* pale-gradient hero — navy type on a light-blue fade */
.real-hero-split--pale-grad{background:linear-gradient(165deg,#d8e3fb 0%,#e9effd 52%,#f6f9ff 88%,#ffffff 125%);}
.real-hero-split--pale-grad h1{color:var(--real-navy);font-size:clamp(34px,4.6vw,54px);}
.real-hero-split--pale-grad .real-sub{color:var(--real-text);}
.real-hero-split--pale-grad .real-sub strong{color:var(--real-navy);}
.real-hero-split--pale-grad .real-sub em{color:var(--real-royal);}

/* hero media without the offset frame — soft drop shadow for cut-out PNGs */
.real-hero-split-media--plain img{border-radius:0;box-shadow:none;filter:drop-shadow(0 30px 54px rgba(35,38,98,.32));}
@media (max-width:900px){.real-hero-split-media--plain img{box-shadow:none;}}

/* plain rounded media (author photos) + portrait crop + flat book covers */
.real-media-plain img{width:100%;display:block;border-radius:var(--real-radius-md);}
.real-media-plain--portrait img{aspect-ratio:4/5;object-fit:cover;}
.real-media-plain--book img{border-radius:6px;box-shadow:0 24px 60px rgba(10,16,60,.42);max-width:300px;margin:0 auto;}

/* round brand badge, paired with a narrow badge column */
.real-badge-circle{width:min(220px,62%);border-radius:50%;display:block;}
.real-cols--badge{grid-template-columns:260px 1fr;align-items:center;}
@media (max-width:900px){
  .real-cols--badge{grid-template-columns:1fr;}
  .real-cols--badge .real-badge-circle{margin:0 auto;}
}

/* larger statement band type + lead/sub lines inside bands */
.real-band--lg p{font-size:clamp(24px,3.2vw,36px);font-weight:600;}
.real-band .real-band-lead{font-family:var(--real-serif);font-weight:400;font-size:clamp(24px,3vw,32px);color:var(--real-navy);max-width:900px;}
.real-band .real-band-sub{font-family:var(--real-sans);font-weight:400;font-size:17px;color:var(--real-text);line-height:1.75;max-width:860px;}

/* serif lead line on dark bands */
.real-serif-lead{font-family:var(--real-serif);font-size:clamp(19px,2.2vw,22px);color:#fff;}

/* button rows — no inline styles needed for spacing */
.real-btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.real-btn-row--center{justify-content:center;}

/* mini card with bottom-aligned CTA */
.real-mini-card--cta{display:flex;flex-direction:column;}
.real-mini-card--cta p{margin-bottom:24px;}
.real-mini-card--cta .real-btn{margin-top:auto;align-self:flex-start;}

/* large feature quote card */
.real-quote-card--lg{padding:38px 40px;border-radius:var(--real-radius-md);font-size:16.5px;}

/* white CTA card + small print */
.real-cta--white{background:#fff;box-shadow:0 18px 50px rgba(35,38,98,.10);}
.real-cta .real-small{font-family:var(--real-sans);font-size:14px;color:var(--real-muted);margin:.6em 0 0;}

/* dark bands — strong stays white; marks inside links stay readable */
.real-bg-navy strong,.real-bg-royal strong,.real-bg-gradient strong{color:#fff;}
.real-bg-navy a mark,.real-bg-royal a mark,.real-bg-gradient a mark{color:var(--real-navy);}

/* text color utilities */
.real-text-royal{color:var(--real-royal);}
.real-text-yellow{color:var(--real-yellow);}

/* spacing utilities + band-contained grids (cards stay left-aligned) */
.real-mt-48{margin-top:48px;}
.real-mt-64{margin-top:64px;}
.real-band .real-duo,.real-band .real-trio{text-align:left;}

/* bands host cards/kickers on the homepage — protect component typography
   from the band's statement-level `p` styling */
.real-band .real-eyebrow{font-family:var(--real-figtree);font-size:13.5px;font-weight:700;letter-spacing:.14em;line-height:1.7;}
.real-band .real-kicker{font-family:var(--real-figtree);font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.7;color:var(--real-orange);}
.real-band .real-mini-card p{font-family:var(--real-figtree);font-weight:400;font-size:15px;line-height:1.6;color:var(--real-text);max-width:none;}
/* kicker inside a band card — must out-specify the card-p reset above */
.real-band .real-mini-card p.real-kicker{font-family:var(--real-figtree);font-weight:800;font-size:12px;letter-spacing:.12em;line-height:1.7;color:var(--real-orange);}

/* very small screens — rays would crowd the title; drop them */
@media (max-width:480px){.real-yellow-rays::before,.real-yellow-rays::after{content:none;}}

/* ---------- 50. Yellow final-CTA button (v0.5.6) ---------- */
/* Filled = primary, so it keeps the base elevation + lift + arrow; only colors change.
   Reserved for the one terminal CTA on a page (the form-cta card). */
.real-btn--yellow{background:var(--real-yellow);color:var(--real-navy);}
.real-btn--yellow:hover,.real-btn--yellow:focus{background:var(--real-navy);color:var(--real-yellow);}
.real-page a.real-btn--yellow{color:var(--real-navy);}
.real-page a.real-btn--yellow:hover,.real-page a.real-btn--yellow:focus{color:var(--real-yellow);}

/* ---------- 51. Media page (v0.5.9) ---------- */
/* Filter tabs — interactive, so they follow button rules: pill shape,
   ghost = inactive, filled royal = active. */
.real-media-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px;}
.real-media-filter{appearance:none;border:2px solid var(--real-navy);background:transparent;color:var(--real-navy);
  font-family:var(--real-figtree);font-size:.92rem;font-weight:700;letter-spacing:.01em; /* v0.8.5 */
  padding:11px 24px;border-radius:50px;cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;}
.real-media-filter:hover{background:var(--real-navy);color:#fff;}
.real-media-filter.is-active{background:var(--real-royal);border-color:var(--real-royal);color:#fff;}
.real-media-filter.is-active:hover{background:var(--real-navy);border-color:var(--real-navy);}

/* Card grid */
.real-media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:1000px){.real-media-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.real-media-grid{grid-template-columns:1fr;}}
.real-media-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e7e9f3;
  border-radius:var(--real-radius-md);padding:28px 28px 22px;
  transition:box-shadow .25s ease,transform .25s ease;}
.real-media-card:hover{box-shadow:0 14px 34px rgba(35,38,98,.10);transform:translateY(-2px);}
.real-media-card[hidden]{display:none;}

/* Type badge — static info, so it's a squared chip (13px), never a pill */
.real-media-badge{display:inline-block;align-self:flex-start;background:var(--real-pale);color:var(--real-royal);
  font-family:var(--real-figtree);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 14px;border-radius:13px;margin:0 0 16px;}
.real-media-card-title{font-family:var(--real-serif);font-weight:600;font-size:20px;line-height:1.35;
  color:var(--real-navy);margin:0 0 10px;letter-spacing:-.01em;}
.real-media-card-info{font-family:var(--real-figtree);font-size:15px;color:var(--real-muted);margin:0;}
.real-media-card-speakers{font-family:var(--real-figtree);font-size:14.5px;line-height:1.55;color:var(--real-text);margin:10px 0 0;}
.real-media-card-speakers strong{color:var(--real-navy);}
.real-media-link{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--real-figtree);font-weight:700;font-size:15.5px;color:var(--real-royal);text-decoration:none;}
.real-media-link::after{content:"";width:.85em;height:.85em;flex:none;background-color:currentColor;
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
          mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 8h11M9 3.5 13.5 8 9 12.5" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  transition:transform .2s ease;}
.real-media-link:hover{color:var(--real-navy);}
.real-media-link:hover::after{transform:translateX(3px);}
.real-page a.real-media-link{color:var(--real-royal);}
.real-page a.real-media-link:hover{color:var(--real-navy);}
/* v0.6.4 — defensive: if the [media_grid] shortcode is ever pasted into a
   paragraph with inline-code formatting, the grid output lands inside a
   <code> element; display:contents dissolves it so cards stay grid items */
.real-media-grid > code{display:contents;}
.real-media-more-wrap{margin-top:44px;text-align:center;}
/* v0.6.2 — count chip inside the "Show all N more" button (works on the
   ghost's transparent bg and its navy hover bg; mirrors the type chip) */
.real-media-more-count{
	display:inline-block;background:var(--real-pale);color:var(--real-royal);
	border-radius:13px;padding:2px 11px;margin:0 3px;font-weight:700;
}
.real-media-empty{font-family:var(--real-figtree);font-size:16.5px;color:var(--real-muted);margin:0;}

/* Featured interview spotlight */
.real-media-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4.5vw,60px);align-items:center;}
@media (max-width:900px){.real-media-feature{grid-template-columns:1fr;}}
.real-media-feature-video{position:relative;display:block;border-radius:var(--real-radius-md);overflow:hidden;
  box-shadow:0 24px 60px rgba(35,38,98,.22);}
.real-media-feature-video img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;transition:transform .45s ease;}
.real-media-feature-video:hover img{transform:scale(1.03);}
.real-media-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;
  background:var(--real-yellow);box-shadow:0 10px 30px rgba(10,16,60,.35);transition:transform .25s ease;}
.real-media-play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-38%,-50%);
  border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent var(--real-navy);}
.real-media-feature-video:hover .real-media-play{transform:scale(1.08);}
.real-media-feature-meta{font-family:var(--real-figtree);font-size:15px;color:var(--real-muted);margin:0 0 18px;}

/* Featured-by logo strip */
.real-logo-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(22px,3.5vw,46px) clamp(28px,4vw,52px);}
.real-logo-strip img{height:clamp(28px,3.2vw,42px);width:auto;max-width:150px;object-fit:contain;
  filter:grayscale(1);opacity:.7;transition:filter .25s ease,opacity .25s ease;}
.real-logo-strip img:hover{filter:none;opacity:1;}

/* Guard: author display rules (e.g. .real-btn inline-flex) must not override the hidden attribute */
[hidden]{display:none !important;}

/* ---------- 52. Author page (v0.6.0) ---------- */
/* Four-across credibility band; stat cards come from section 26 */
.real-stat-grid--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1000px){.real-stat-grid--4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.real-stat-grid--4{grid-template-columns:1fr 1fr;gap:18px;}}

/* ---------- 53. Form embeds (v0.6.9) ---------- */
/* Monday.com iframe embeds on light pages (e.g. /interest/).
   Narrow column — wide forms feel harder to finish. */
.real-form-embed-wrap{max-width:720px;margin:0 auto;}
.real-form-embed{
  background:#fff;border:1px solid #e7e9f3;border-radius:var(--real-radius-md);
  padding:clamp(14px,2.5vw,28px);
}
.real-form-embed iframe{display:block;width:100%;height:1180px;border:0;}
@media (max-width:768px){.real-form-embed iframe{height:1300px;}}

/* 54 · Slim hero (v0.7.0) — compact centered variant for form/utility pages
   where the full split hero would push key content below the fold */
.real-hero-split--slim{padding:clamp(48px,7vw,72px) 0 clamp(52px,7vw,76px);}
.real-hero-split--slim .real-hero-split-inner{grid-template-columns:1fr;max-width:780px;margin:0 auto;text-align:center;gap:0;}
.real-hero-split--slim h1{margin:0 0 .35em;}
.real-hero-split--slim .real-sub{margin:0 auto;max-width:640px;}

/* 55 · Linked mini-cards (v0.7.1) — mini-cards as direct download/resource links */
a.real-mini-card{display:block;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease;}
a.real-mini-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(35,38,98,.10);}
a.real-mini-card h3{color:var(--real-navy);}

/* 56 · Partnership lockup image (v0.7.4) — centered co-brand header image */
.real-lockup-img{display:block;width:100%;max-width:480px;margin:0 auto clamp(32px,4vw,48px);border-radius:var(--real-radius-md);}
.real-lockup-img--banner{max-width:760px;}
.real-bg-gradient p a{color:#fff;text-decoration:underline;text-underline-offset:3px;}

/* 57 · Single-post editorial measure (v0.7.6) — title, meta, featured image,
   CTA card and prev/next run the full wrap width; article body blocks sit in a
   centered 700px reading column (~65–75 chars/line at body size), matching the
   indented-paragraph treatment on marketing pages (.real-narrow). Authors can
   still break blocks out with wide/full alignment. */
.real-post-single .wp-block-post-content > *{max-width:700px;margin-left:auto;margin-right:auto;}
.real-post-single .wp-block-post-content > .alignwide{max-width:var(--real-wrap);}
.real-post-single .wp-block-post-content > .alignfull{max-width:none;width:100%;}

/* 58 · Case-study feature card (v0.8.0) — photo card with navy title-overlay
   banner, quote and attribution. The shared treatment for the /case-studies/
   index and the services case section (replaces PDF-cover thumbnails).
   Unscoped on purpose so retrofit blocks also work on legacy case pages. */
.real-case-feature{
  position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid #e7e9f3;border-radius:var(--real-radius-md);overflow:hidden;
  text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(35,38,98,.06);
  transition:transform .18s ease,box-shadow .18s ease;
}
.real-case-feature:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,30,90,.14);}
.real-case-feature-media{position:relative;}
.real-case-feature-media img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;}
.real-case-feature-banner{
  position:absolute;left:16px;right:16px;bottom:14px;
  background:rgba(35,38,98,.94);border-radius:12px;padding:12px 16px;color:#fff;
}
.real-case-feature-banner strong{display:block;font-family:var(--real-figtree);font-weight:800;font-size:16px;line-height:1.35;}
.real-case-feature-banner span{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.82);}
.real-case-feature-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;}
.real-case-feature-body .real-kicker{margin:0 0 6px;}
.real-case-feature-school{font-family:var(--real-serif);font-size:21px;line-height:1.3;color:var(--real-navy);margin:0 0 12px;}
.real-case-feature-quote{font-family:var(--real-serif);font-style:italic;font-size:16.5px;line-height:1.6;color:#3c4166;margin:0 0 16px;}
.real-case-feature-who{font-family:var(--real-figtree);font-weight:700;font-size:14px;color:var(--real-royal);margin:0 0 3px;}
.real-case-feature-role{font-size:13px;color:#6a6f96;margin:0;}
.real-case-feature .real-media-link{margin-top:auto;padding-top:18px;}

/* 59 · Header block with side lockup (v0.8.1) — TALK Studios top-of-page:
   pale block pairing headline + copy column with a scaled-down co-brand
   logo on the right. On mobile the logo flips above the copy column. */
.real-header-block h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.02em;line-height:1.12;margin:0 0 .35em;}
.real-header-block .real-sub{font-family:var(--real-figtree);font-size:clamp(16px,2vw,19px);line-height:1.65;color:var(--real-text);max-width:640px;margin:0 0 clamp(30px,4vw,46px);}
.real-lockup-img--side{max-width:420px;margin-bottom:0;}
@media (max-width:900px){
  .real-cols--logo-right > .real-cols-logo{order:-1;}
  .real-lockup-img--side{margin-bottom:32px;}
}

/* ============================================================
   53. BLOG INDEX REFRESH (v0.8.4 — Molly 10/8/26 + Aaron 10/9/26)
   /blog/ renders from templates/home.html (posts page), so these
   edits live here rather than in page content.
   ============================================================ */
/* pale band hero replaces the dark photo hero (about/media/book pattern) */
.real-blog-hero--pale h1{font-size:clamp(32px,4.2vw,46px);}
.real-blog-hero--pale .real-hero-sub{font-size:clamp(16px,1.9vw,19px);}
/* tighten the light blue search section */
.real-find{padding:clamp(34px,4.5vw,52px) 0;}
.real-find-head{margin-bottom:24px;}
/* unbold "Really", keep the highlight */
.real-find mark{font-weight:400;}
/* post-card meta stacks under the title; author byline removed from the
   card template itself (home.html + archive.html) — this display:none is
   a safety net for any cached/legacy markup */
.real-post-card-meta{flex-direction:column;align-items:flex-start;gap:2px;}
.real-post-card-meta .wp-block-post-author{display:none;}

/* ============================================================
   54. EMBEDDED-FORM CTA CASE (v0.8.5 — Molly: sentence-case CTAs)
   The interest/lead forms carry their own inline <style> (FORM-CODE),
   which loads with page content — so the submit button override needs
   the extra .real-page specificity to beat it. Field labels stay
   uppercase by design.
   ============================================================ */
.real-page .btn-submit{text-transform:none;letter-spacing:.02em;}

/* ============================================================
   55. CTA CARD KICKER CENTERING (v0.8.6)
   The canonical CTA card has no note row, so the kicker must span both
   grid rows to sit dead-center in the bubble (the homepage carried this
   fix page-level; now it's universal). Also re-asserts the kicker's
   margin:0 against style.css's .real-page p rule, which was silently
   re-adding 1.15em and nudging the text off-center.
   ============================================================ */
.real-form-cta-kicker--xl{grid-row:1 / span 2;align-self:center;justify-self:start;text-align:left;}
.real-page p.real-form-cta-kicker{margin:0;}
@media (max-width:640px){
  /* keep the mobile gap above the full-width button */
  .real-page p.real-form-cta-kicker{margin:0 0 16px;}
  /* v0.9.0 — mobile CTA stacks + centers; the v0.8.8 desktop left-align
     must not leak into the stacked layout (kicker centers too) */
  .real-form-cta-kicker--xl{text-align:center;}
}
