/*
 * CAST Realty Child Theme
 * File    : assets/css/cast-realty.css
 * Enqueued: functions.php → wp_enqueue_style()
 * Kadence : conflicts neutralised — see "KADENCE RESETS" section
 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&display=swap');

/* ══ TOKENS ══════════════════════════════════════════════════════════ */
:root {
  --cr-navy:           #091337;
  --cr-navy2:          #0C1236;
  --cr-navy3:          #050E2F;
  --cr-indigo:         #3F3483;
  --cr-purple:         #25063F;
  --cr-purple-mid:     #5A3E8A;
  --cr-gold:           #C9A84C;
  --cr-gold-btn:       #F3AA0D;
  --cr-gold-light:     #DFC070;
  --cr-gold-pale:      #F5E9C8;
  --cr-bg-light:       #F2F1F7;
  --cr-bg-lighter:     #F8F7FC;
  --cr-bg-white:       #FFFFFF;
  --cr-bg-alt:         #ECEAF4;
  --cr-text-on-dark:   #EDE8DC;
  --cr-text-muted-dark:#B8B0A0;
  --cr-text-dim-dark:  #7A7468;
  --cr-text-dark:      #0C1236;
  --cr-text-body:      #2A2840;
  --cr-text-stone:     #3E3C52;
  --cr-gold-on-dark:   #DFC070;
  --cr-gold-on-light:  #6B5218;
  --cr-ease:           cubic-bezier(0.4,0,0.2,1);
  --cr-dur:            0.24s;
}

/* ══ KADENCE RESETS ══════════════════════════════════════════════════
   Neutralise every Kadence global rule that bleeds into .cr-page.
   All rules are scoped to .cr-page so nothing leaks back into Kadence.
   ══════════════════════════════════════════════════════════════════ */

/* Block wrapper Kadence adds around Custom HTML */
.wp-block-html { margin: 0 !important; padding: 0 !important; }

/* Kadence entry-content constraints */
.cr-page,
.entry-content .cr-page { max-width: none !important; width: 100% !important; }

/* Kadence sets box-sizing inconsistently */
.cr-page *, .cr-page *::before, .cr-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Kadence global button overrides — neutralise completely inside .cr-page */
.cr-page button,
.cr-page a.cr-btn-primary,
.cr-page a.cr-btn-ghost,
.cr-page a.cr-btn-outline {
  border-radius:     0 !important;
  box-shadow:        none !important;
  text-shadow:       none !important;
  font-family:       'Montserrat', sans-serif !important;
  letter-spacing:    inherit;
  line-height:       1 !important;
}

/* Kadence link colour override inside our sections */
.cr-page a { color: inherit; text-decoration: none; }

/* Kadence paragraph margins inside sections */
.cr-page p { margin: 0; }

/* Kadence adds border to images */
.cr-page img { border: none; display: block; }

/* Kadence overrides specific to hero flex layout */
.wp-block-html .cr-hero-layout,
.entry-content .cr-hero-layout,
.cr-page .cr-hero-layout {
  display:         flex;
  flex-direction:  row;
  align-items:     center;
  flex-wrap:       nowrap;
}
.wp-block-html .cr-hero-portrait-wrap,
.entry-content .cr-hero-portrait-wrap,
.cr-page .cr-hero-portrait-wrap {
  order:            2;
  flex:             0 0 auto;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  padding:          32px 0;
}

.cr-hero-content {
  order: 1 !important;
}
.wp-block-html .cr-hero-content,
.entry-content .cr-hero-content,
.cr-page .cr-hero-content {
  order: 1 !important;
  flex:  1 1 auto !important;
  order: 1;
}


/* ══ BASE ════════════════════════════════════════════════════════════ */
.cr-page {
  font-family: 'Montserrat', sans-serif;
  font-size:   16px;
  line-height: 1.7;
  color:       var(--cr-text-dark);
  overflow-x:  hidden;
  width:       100%;
}

/* ══ ACCESSIBILITY ═══════════════════════════════════════════════════ */
.cr-sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.cr-page *:focus-visible {
  outline: 3px solid var(--cr-gold-btn);
  outline-offset: 3px;
}

/* ══ LANTERN CURSOR ══════════════════════════════════════════════════ */
html.cr-active { cursor: none !important; }
html.cr-active * { cursor: none !important; }

#cr-lantern {
  position:       fixed;
  pointer-events: none;
  z-index:        99999;
  transform:      translate(-50%, -55%);
  left:          -200px;
  top:           -200px;
  transition:     opacity 0.2s ease;
  will-change:    left, top;
}

/* ══ TYPOGRAPHY HELPERS ══════════════════════════════════════════════ */
.cr-eyebrow {
  font-family:    'Montserrat', sans-serif;
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display:        block;
  margin-bottom:  14px;
}
.cr-eyebrow--dark  { color: var(--cr-gold-on-dark); }
.cr-eyebrow--light { color: var(--cr-gold-on-light); }

.cr-rule {
  width: 40px; height: 1px;
  background: var(--cr-gold);
  display: block;
  margin-bottom: 22px;
}

/* ══ CONTENT CONTAINER — 1240px ══════════════════════════════════════
   Sections span 100vw. Container centres content at 1240px max.
   ══════════════════════════════════════════════════════════════════ */
.cr-container {
  max-width:     1240px;
  margin-left:   auto;
  margin-right:  auto;
  width:         100%;
  padding-left:  60px;
  padding-right: 60px;
  position:      relative;
  z-index:       1;
}
@media (max-width: 1300px) {
  .cr-container { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 768px) {
  .cr-container { padding-left: 24px; padding-right: 24px; }
}

/* ══ SECTION BASE — all sections go full viewport width ══════════════ */
.cr-hero,
.cr-buyers,
.cr-steps-band,
.cr-roadmap,
.cr-experts,
.cr-videos,
.cr-cta {
  width:          100%;
  position:       relative;
  overflow:       hidden;
  padding-left:   0 !important;
  padding-right:  0 !important;
  /* Kadence entry-content sometimes adds margin to direct children */
  margin-left:    0 !important;
  margin-right:   0 !important;
}

/* ══ PATTERN OVERLAY ═════════════════════════════════════════════════ */
.cr-pat {
  position: absolute;
  inset:    0;
  pointer-events: none;
  overflow: hidden;
  z-index:  0;
}

/* ══ BUTTONS ═════════════════════════════════════════════════════════ */
/* High specificity to beat Kadence global button rules */
.cr-page .cr-btn-primary {
  display:         inline-block !important;
  font-family:     'Montserrat', sans-serif !important;
  font-size:       14px !important;
  font-weight:     700 !important;
  letter-spacing:  0.16em !important;
  text-transform:  uppercase !important;
  color:           var(--cr-navy2) !important;
  background:      var(--cr-gold-btn) !important;
  border:          none !important;
  border-radius:   0 !important;
  padding:         15px 34px !important;
  cursor:          pointer;
  text-decoration: none !important;
  transition:      background var(--cr-dur) var(--cr-ease);
  box-shadow:      none !important;
  line-height:     1 !important;
}
.cr-page .cr-btn-primary:hover {
  background: var(--cr-gold-light) !important;
  color:      var(--cr-navy2) !important;
}

.cr-page .cr-btn-ghost {
  display:         inline-block !important;
  font-family:     'Montserrat', sans-serif !important;
  font-size:       14px !important;
  font-weight:     500 !important;
  letter-spacing:  0.12em !important;
  text-transform:  uppercase !important;
  color:           var(--cr-text-on-dark) !important;
  background:      transparent !important;
  border:          none !important;
  border-bottom:   1px solid rgba(237,232,220,0.35) !important;
  border-radius:   0 !important;
  padding:         0 0 2px 0 !important;
  cursor:          pointer;
  text-decoration: none !important;
  transition:      color var(--cr-dur), border-color var(--cr-dur);
  box-shadow:      none !important;
}
.cr-page .cr-btn-ghost:hover {
  color:         var(--cr-gold-light) !important;
  border-color:  var(--cr-gold-light) !important;
}

.cr-page .cr-btn-outline {
  display:         inline-block !important;
  font-family:     'Montserrat', sans-serif !important;
  font-size:       14px !important;
  font-weight:     600 !important;
  letter-spacing:  0.14em !important;
  text-transform:  uppercase !important;
  color:           var(--cr-navy2) !important;
  background:      transparent !important;
  border:          1.5px solid var(--cr-navy2) !important;
  border-radius:   0 !important;
  padding:         13px 28px !important;
  cursor:          pointer;
  text-decoration: none !important;
  transition:      background var(--cr-dur), color var(--cr-dur);
  box-shadow:      none !important;
}
.cr-page .cr-btn-outline:hover {
  background: var(--cr-navy2) !important;
  color:      var(--cr-gold-light) !important;
}

.cr-btn-row {
  display:     flex;
  gap:         18px;
  align-items: center;
  flex-wrap:   wrap;
}

/* ══ LIGHTHOUSE BULLET LIST ══════════════════════════════════════════ */
.cr-lh-list {
  list-style:     none;
  display:        flex;
  flex-direction: column;
  gap:            0;
  padding-left:   0 !important;
  margin-bottom:  24px !important;
}
.cr-lh-list li {
  display:        flex;
  align-items:    flex-start;
  gap:            13px;
  font-size:      15px;
  line-height:    1.7;
  padding:        11px 0;
  border-bottom:  1px solid rgba(63,52,131,0.08);
  position:       relative;
  padding-left:   34px;
}
.cr-lh-list li:last-child { border-bottom: none; }
/* Lighthouse checkmark icon via ::before */
.cr-lh-list li::before {
  content:     '';
  position:    absolute;
  left:        0;
  top:         10px;
  width:       20px;
  height:      24px;
  flex-shrink: 0;
  background:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none'%3E%3C!-- Base --%3E%3Crect x='3' y='21' width='14' height='2.5' rx='1' fill='%23C9A84C' opacity='0.9'/%3E%3C!-- Tower body --%3E%3Cpath d='M6.5 21 L7.5 10 L12.5 10 L13.5 21Z' fill='%23C9A84C' opacity='0.85'/%3E%3C!-- Tower bands --%3E%3Crect x='7.2' y='13' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.6'/%3E%3Crect x='7.2' y='16.5' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.6'/%3E%3Crect x='7.5' y='19' width='5' height='1' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3C!-- Lantern room --%3E%3Crect x='7' y='7' width='6' height='3.5' rx='0.5' fill='%23DFC070'/%3E%3C!-- Lantern roof --%3E%3Cpath d='M6.5 7 L10 4.5 L13.5 7Z' fill='%23C9A84C'/%3E%3C!-- Light beam --%3E%3Cpath d='M10 6 L2 1 M10 6 L18 1' stroke='%23F3AA0D' stroke-width='0.8' stroke-linecap='round' opacity='0.6'/%3E%3C!-- Finial --%3E%3Ccircle cx='10' cy='4' r='0.8' fill='%23F3AA0D'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
/* On dark backgrounds — brighter checkmark */
.cr-content-dark .cr-lh-list li,
.cr-hero .cr-lh-list li {
  border-bottom-color: rgba(255,255,255,0.07);
  color: var(--cr-text-muted-dark);
}
.cr-content-dark .cr-lh-list li::before,
.cr-hero .cr-lh-list li::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none'%3E%3Crect x='3' y='21' width='14' height='2.5' rx='1' fill='%23DFC070'/%3E%3Cpath d='M6.5 21 L7.5 10 L12.5 10 L13.5 21Z' fill='%23DFC070'/%3E%3Crect x='7.2' y='13' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3Crect x='7.2' y='16.5' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3Crect x='7' y='7' width='6' height='3.5' rx='0.5' fill='%23F3AA0D'/%3E%3Cpath d='M6.5 7 L10 4.5 L13.5 7Z' fill='%23DFC070'/%3E%3Cpath d='M10 6 L2 1 M10 6 L18 1' stroke='%23F5E9C8' stroke-width='0.8' stroke-linecap='round' opacity='0.8'/%3E%3Ccircle cx='10' cy='4' r='0.8' fill='%23F5E9C8'/%3E%3C/svg%3E");
}
.cr-lh-ico { display: none !important; } /* hidden — lighthouse ::before handles icons */

/* ══ ANIMATIONS ══════════════════════════════════════════════════════ */
@keyframes cr-up {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
.cr-anim { opacity: 0; animation: cr-up 0.65s var(--cr-ease) forwards; animation-play-state: paused; }
.cr-d0 { animation-delay: 0.00s; }
.cr-d1 { animation-delay: 0.10s; }
.cr-d2 { animation-delay: 0.20s; }
.cr-d3 { animation-delay: 0.30s; }
.cr-d4 { animation-delay: 0.40s; }
@media (prefers-reduced-motion: reduce) {
  .cr-anim { animation: none !important; opacity: 1 !important; }
  .cr-page * { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   SECTION 1 — HERO
   ════════════════════════════════════════════════════════════════ */
.cr-hero {
  background:     var(--cr-navy2);
  padding-top:    72px;
  padding-bottom: 80px;
}
.cr-hero .cr-container { padding-top: 0; padding-bottom: 0; }

.cr-hero-content { max-width: 580px; }

.cr-hero h1 {
  font-family:    'Cormorant Garamond', serif;
  font-size:      54px;
  font-weight:    300;
  color:          var(--cr-text-on-dark);
  line-height:    1.1;
  letter-spacing: -0.01em;
  margin-bottom:  8px !important;
}
.cr-hero h1 em { font-style: italic; color: var(--cr-gold-light); }

.cr-hero-tagline {
  font-family:  'Cormorant Garamond', serif;
  font-size:    19px;
  font-weight:  300;
  font-style:   italic;
  color:        var(--cr-text-muted-dark);
  margin-bottom: 26px !important;
}
.cr-hero-body {
  font-size:     15px;
  color:         var(--cr-text-muted-dark);
  max-width:     460px;
  margin-bottom: 40px !important;
  line-height:   1.8;
}

/* ═══════════════════════════════════════════════════════════════════
   SECTION 2 — WHO WE SERVE — Floating Widgets
   Three freely-flowing widgets with oval image, no rigid grid.
   Widgets flex-wrap and breathe with available space.
   ════════════════════════════════════════════════════════════════ */
/* Oscillating background — slow continuous cycle navy > indigo > purple > navy */
@keyframes cr-bg-oscillate {
  0%   { background-position: 0% 50%;   }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%;   }
}
.cr-buyers {
  background:      linear-gradient(
                     135deg,
                     #091337 0%,
                     #0C1236 18%,
                     #1a1060 35%,
                     #25063F 52%,
                     #3F3483 68%,
                     #1a1060 82%,
                     #091337 100%
                   );
  background-size: 300% 300%;
  animation:       cr-bg-oscillate 14s ease infinite;
  padding-top:     92px;
  padding-bottom:  92px;
  border-top:      1px solid rgba(201,168,76,0.15);
  border-bottom:   1px solid rgba(201,168,76,0.15);
}
.cr-buyers-intro { margin-bottom: 60px; }
.cr-buyers-intro h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     42px;
  font-weight:   300;
  color:         var(--cr-text-on-dark);
  line-height:   1.1;
  margin-bottom: 12px !important;
}
.cr-buyers-intro h2 em { font-style: italic; color: var(--cr-gold-light); }
.cr-buyers-intro p { font-size: 16px; color: var(--cr-text-muted-dark); max-width: 520px; line-height: 1.78; }

/* Flex wrap — widgets float and breathe, not a rigid grid */
.cr-buyers-widgets {
  display:         flex;
  flex-wrap:       wrap;
  gap:             32px;
  align-items:     flex-start;
  justify-content: center;
}

.cr-buyer-widget {
  flex:           1 1 300px;
  max-width:      360px;
  display:        flex;
  flex-direction: column;
  align-items:    left !important; 
  cursor:         pointer;
  transition:     transform var(--cr-dur) var(--cr-ease);
}
.cr-buyer-widget:hover { transform: translateY(-6px); }

/* Oval portrait image — centred with lighthouse glow on hover */
.cr-buyer-widget-img {
  width:         160px;
  height:        200px;
  border-radius: 80px;
  overflow:      visible;    /* let glow bleed out */
  margin-bottom: 28px;
  flex-shrink:   0;
  position:      relative;
  transition:    filter var(--cr-dur) var(--cr-ease);
  /* Lighthouse beam: layered box-shadow on the inner clip */
  filter:        drop-shadow(0 0 0px rgba(201,168,76,0));
}
/* Inner clipped oval */
.cr-buyer-widget-img-inner {
  width:         100%;
  height:        100%;
  border-radius: 80px;
  overflow:      hidden;
  border:        2px solid rgba(201,168,76,0.25);
  background:    var(--cr-navy3);
  transition:    border-color 0.4s ease;
}
.cr-buyer-widget:hover .cr-buyer-widget-img {
  filter:
    drop-shadow(0 0  8px rgba(201,168,76,0.55))
    drop-shadow(0 0 22px rgba(201,168,76,0.32))
    drop-shadow(0 0 48px rgba(123,94,167,0.25));
}
.cr-buyer-widget:hover .cr-buyer-widget-img-inner { border-color: rgba(201,168,76,0.8); }

.cr-buyer-widget-img-inner img {
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: center top;
  display:         block;
}

.cr-buyer-widget-img img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  object-position: center top;
  display:    block;
}

/* Placeholder when no image set */
.cr-buyer-widget-img-placeholder {
  width:           100%;
  height:          100%;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      linear-gradient(160deg, rgba(63,52,131,0.3) 0%, rgba(9,19,55,0.6) 100%);
}

/* Gold accent rule above label */
.cr-buyer-widget-rule {
  width:         32px;
  height:        2px;
  background:    var(--cr-gold);
  display:       block;
  margin:        0 auto 12px;   /* centre the rule */
  transition:    width var(--cr-dur);
}
.cr-buyer-widget:hover .cr-buyer-widget-rule { width: 56px; }

.cr-buyer-widget-label {
  font-family:    'Montserrat', sans-serif;
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-dark);
  display:        block;
  margin-bottom:  10px !important;
}
.cr-buyer-widget h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     28px;
  font-weight:   600;
  color:         var(--cr-text-on-dark);
  line-height:   1.15;
  margin-bottom: 12px !important;
}
.cr-buyer-widget p {
  font-size:     15px;
  color:         var(--cr-text-on-dark) !important;
  line-height:   1.75;
  margin-bottom: 20px !important;
}
.cr-buyer-link {
  font-size:       14px !important;
  font-weight:     500 !important;
  color:           var(--cr-gold-light) !important;
  text-decoration: none !important;
  border-bottom:   1px solid rgba(223,192,112,0.35) !important;
  padding-bottom:  2px;
  display:         inline-block;
  letter-spacing:  0.04em;
  margin-top:      4px;
  transition:      color var(--cr-dur), border-color var(--cr-dur);
}
.cr-buyer-link:hover { color: var(--cr-gold-pale) !important; border-color: var(--cr-gold-pale) !important; }

@media (max-width: 900px) {
  .cr-buyers-widgets  { gap: 48px; }
  .cr-buyer-widget    { flex: 1 1 260px; max-width: 100%; flex-direction: row; align-items: flex-start; gap: 24px; }
  .cr-buyer-widget-img{ width: 100px; height: 125px; border-radius: 50px; margin-bottom: 0; flex-shrink: 0; }
  .cr-buyer-widget > *:not(.cr-buyer-widget-img) { }
}
@media (max-width: 600px) {
  .cr-buyer-widget    { flex-direction: column; }
  .cr-buyer-widget-img{ width: 130px; height: 165px; margin-bottom: 20px; }
  .cr-buyers-intro h2 { font-size: 32px; }
}




}


/* ══ HERO PORTRAIT — tall oval, floating right ═══════════════════════
   Larger than buyer ovals (280×360 vs 160×200).
   Same searchlight glow animation — staggered so it doesn't sync
   with the buyer widgets when both are visible on scroll.
   Image set via WordPress page Featured Image — no base64.
   ════════════════════════════════════════════════════════════════ */

.cr-hero-layout {
  display:         flex !important;
  align-items:     center !important;
  justify-content: space-between !important;
  flex-wrap:       nowrap !important;
  gap:             48px;
  position:        relative;
  z-index:         2;
  width:           100%;
}

.cr-hero-content {
  flex:      1 1 auto !important;
  min-width: 0 !important;
  max-width: 560px;
}

.cr-hero-portrait-wrap {
  flex:           0 0 auto !important;
  display:        flex !important;
  align-items:    center !important;
  justify-content:center !important;
  padding:        32px 0;        /* breathing room top and bottom */
}

.cr-hero-portrait {
  width:          280px;
  height:         360px;
  border-radius:  140px;
  overflow:       hidden;
  border:         2px solid rgba(201,168,76,0.4);
  position:       relative;
  flex-shrink:    0;
  display:        block;
}

.cr-hero-portrait img {
  width:           100% !important;
  height:          100% !important;
  object-fit:      cover !important;
  object-position: center top !important;
  display:         block !important;
  border-radius:   0 !important;
  margin:          0 !important;
}

.cr-hero-portrait-placeholder {
  width:            100%;
  height:           100%;
  display:          flex;
  flex-direction:   column;
  align-items:      center;
  justify-content:  center;
  gap:              10px;
  background:       linear-gradient(160deg, rgba(63,52,131,0.4) 0%, rgba(9,19,55,0.7) 100%);
  color:            rgba(201,168,76,0.55);
  font-family:      'Montserrat', sans-serif;
  font-size:        14px;
  font-weight:      500;
  letter-spacing:   0.06em;
  text-align:       center;
  padding:          24px;
  line-height:      1.6;
}

/* Hover — pause pulse, hold at max glow */
.cr-hero-portrait:hover {
  animation-play-state: paused;
  box-shadow:
    0 0  24px 10px rgba(243,170,13,0.65),
    0 0  60px 24px rgba(201,168,76,0.35),
    0 0 110px 50px rgba(123,94,167,0.22),
    0 0 160px 70px rgba(201,168,76,0.1);
  border-color: rgba(243,170,13,0.85);
}

@media (max-width: 1024px) {
  .cr-hero-portrait { width: 220px; height: 282px; border-radius: 111px; }
}
@media (max-width: 900px) {
  .cr-hero-layout       { flex-direction: column-reverse !important; flex-wrap: wrap !important; gap: 32px !important; }
  .cr-hero-portrait-wrap{ padding: 0 !important; width: 100% !important; justify-content: center !important; }
  .cr-hero-portrait     { width: 180px !important; height: 232px !important; border-radius: 90px !important; }
  .cr-hero-content      { max-width: 100% !important; }
}
@media (max-width: 600px) {
  .cr-hero-portrait { width: 140px; height: 180px; border-radius: 70px; }
}


/* ══ LIGHTHOUSE BEAM EFFECT ══════════════════════════════════════════
   Simulates a lighthouse beam sweeping past.
   Phase 0-15%  : dim ambient glow — beam elsewhere
   Phase 15-30% : beam arrives — rapid brightening, border flares gold
   Phase 30-45% : full beam — wide radiant burst with purple bloom
   Phase 45-60% : beam passes — rapid fade back down
   Phase 60-100%: dark rest — beam has moved on
   Duration 5s so it reads as one sweep every 5 seconds, not frantic.
   ════════════════════════════════════════════════════════════════ */

@keyframes cr-lighthouse {
  /* Dim — beam elsewhere */
  0%, 12% {
    box-shadow:
      0 0 12px  2px rgba(201,168,76,0.06),
      0 0 28px  4px rgba(201,168,76,0.03);
    border-color: rgba(201,168,76,0.2);
  }
  /* Beam approaching */
  20% {
    box-shadow:
      0 0 20px  3px rgba(243,170,13,0.25),
      0 0 45px  8px rgba(201,168,76,0.14),
      0 0 80px 16px rgba(201,168,76,0.06);
    border-color: rgba(243,170,13,0.55);
  }
  /* Full beam — peak brightness, large soft glow only */
  32% {
    box-shadow:
      0 0 28px  4px rgba(243,170,13,0.60),
      0 0 60px 10px rgba(201,168,76,0.30),
      0 0 110px 20px rgba(201,168,76,0.14),
      0 0 160px 30px rgba(123,94,167,0.07);
    border-color: rgba(243,170,13,0.90);
  }
  /* Sweeping past */
  45% {
    box-shadow:
      0 0 18px  3px rgba(243,170,13,0.18),
      0 0 38px  7px rgba(201,168,76,0.09),
      0 0 70px 14px rgba(201,168,76,0.04);
    border-color: rgba(243,170,13,0.35);
  }
  /* Dim again */
  58%, 100% {
    box-shadow:
      0 0 12px  2px rgba(201,168,76,0.06),
      0 0 28px  4px rgba(201,168,76,0.03);
    border-color: rgba(201,168,76,0.2);
  }
}

/* Apply to hero portrait */
.cr-hero-portrait {
  animation: cr-lighthouse 5s cubic-bezier(0.4,0,0.6,1) infinite;
}

/* Apply to buyer ovals — staggered so beams don't fire together */
.cr-buyer-widget-img {
  animation: cr-lighthouse 5s cubic-bezier(0.4,0,0.6,1) 1.6s infinite;
}
.cr-buyer-widget:nth-child(2) .cr-buyer-widget-img {
  animation-delay: 3.2s;
}
.cr-buyer-widget:nth-child(3) .cr-buyer-widget-img {
  animation-delay: 4.8s;
}

/* Hover — pause on full beam, hold at peak brightness */
.cr-hero-portrait:hover,
.cr-buyer-widget:hover .cr-buyer-widget-img {
  animation-play-state: paused;
  box-shadow:
    0 0 18px  7px rgba(243,170,13,0.70),
    0 0 40px 18px rgba(201,168,76,0.38),
    0 0 80px 35px rgba(201,168,76,0.18),
    0 0 130px 55px rgba(123,94,167,0.10) !important;
  border-color: rgba(243,170,13,0.90) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .cr-hero-portrait,
  .cr-buyer-widget-img {
    animation: none !important;
    box-shadow: 0 0 12px 4px rgba(201,168,76,0.2) !important;
    border-color: rgba(201,168,76,0.3) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   SECTION 3 — STEPS BAND
   ════════════════════════════════════════════════════════════════ */
.cr-steps-band {
  background:   var(--cr-navy3);
  border-top:   1px solid rgba(201,168,76,0.18);
  border-bottom:1px solid rgba(201,168,76,0.18);
}

/* The container inside the steps band IS the grid */
.cr-steps-band .cr-container {
  display:               grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap:                   0 !important;
  padding-left:          0 !important;
  padding-right:         0 !important;
  max-width:             1240px !important;
}

.cr-sband-item {
  padding:      28px 32px 26px;
  border-right: 1px solid rgba(255,255,255,0.07);
  position:     relative;
  cursor:       pointer;
  transition:   background var(--cr-dur);
}
.cr-sband-item:last-child { border-right: none; }
.cr-sband-item:hover { background: rgba(201,168,76,0.07); }

.cr-sband-num {
  font-family:    'Cormorant Garamond', serif;
  font-size:      15px;
  font-weight:    600;
  letter-spacing: 0.16em;
  color:          var(--cr-gold-on-dark);
  display:        block;
  margin-bottom:  8px !important;
}
.cr-sband-title {
  font-family:   'Cormorant Garamond', serif;
  font-size:     17px;
  font-weight:   600;
  color:         var(--cr-text-on-dark);
  line-height:   1.2;
  margin-bottom: 7px !important;
}
.cr-sband-desc { font-size: 14px; color: var(--cr-text-muted-dark); line-height: 1.6; }

.cr-sband-bar {
  position:        absolute;
  bottom: 0; left: 0; right: 0;
  height:          2px;
  background:      var(--cr-gold);
  transform:       scaleX(0);
  transform-origin:left;
  transition:      transform 0.32s ease;
}
.cr-sband-item:hover .cr-sband-bar { transform: scaleX(1); }

/* ═══════════════════════════════════════════════════════════════════
   SECTION 4 — ROADMAP
   ════════════════════════════════════════════════════════════════ */
.cr-roadmap {
  background:     var(--cr-bg-light);
  padding-top:    84px;
  padding-bottom: 84px;
}
.cr-sec-head { margin-bottom: 52px; }
.cr-sec-head h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     40px;
  font-weight:   400;
  line-height:   1.12;
  margin-bottom: 14px !important;
}
.cr-sec-head p { font-size: 15px; line-height: 1.78; max-width: 500px; }
.cr-sec-head--dark  h2 { color: var(--cr-text-on-dark); }
.cr-sec-head--dark  p  { color: var(--cr-text-muted-dark); }
.cr-sec-head--light h2 { color: var(--cr-text-dark); }
.cr-sec-head--light p  { color: var(--cr-text-stone); }

.cr-roadmap-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   2px;
  background:            rgba(63,52,131,0.12);
}
.cr-step {
  background:    var(--cr-bg-white);
  padding:       36px 26px 30px;
  position:      relative;
  cursor:        pointer;
  border-bottom: 2px solid transparent;
  transition:    background var(--cr-dur), border-color var(--cr-dur);
}
.cr-step:hover { background: var(--cr-gold-pale); border-bottom-color: var(--cr-gold); }

.cr-step-n {
  font-family:   'Cormorant Garamond', serif;
  font-size:     44px;
  font-weight:   300;
  color:         rgba(63,52,131,0.12);
  line-height:   1;
  display:       block;
  margin-bottom: 18px !important;
}
.cr-step h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     20px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 10px !important;
  line-height:   1.2;
}
.cr-step p { font-size: 14px; color: var(--cr-text-stone); line-height: 1.65; }

.cr-step-arr { position: absolute; top: 34px; right: 22px; font-size: 16px; color: rgba(63,52,131,0.15); transition: color var(--cr-dur); }
.cr-step:hover .cr-step-arr { color: var(--cr-gold); }

/* ═══════════════════════════════════════════════════════════════════
   SECTION 5 — EXPERTS
   ════════════════════════════════════════════════════════════════ */
.cr-experts {
  background:     var(--cr-navy2);
  padding-top:    84px;
  padding-bottom: 84px;
}
.cr-experts-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   1px;
  background:            rgba(255,255,255,0.05);
}
.cr-expert {
  background:  var(--cr-navy2);
  padding:     36px 26px;
  cursor:      pointer;
  transition:  background var(--cr-dur);
  position:    relative;
  text-align:  left;
}
.cr-expert > div[style*="border-radius"],
.cr-expert > div[style*="border-radius:50%"] {
  margin-left:  auto;
  margin-right: auto;
}
.cr-expert:hover { background: rgba(201,168,76,0.07); }

.cr-expert-role {
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-dark);
  display:        block;
  margin-bottom:  12px !important;
}
.cr-expert h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     22px;
  font-weight:   400;
  color:         var(--cr-text-on-dark);
  margin-bottom: 10px !important;
  line-height:   1.2;
}
.cr-expert p { font-size: 14px; color: var(--cr-text-muted-dark); line-height: 1.65; }
.cr-expert-line { width: 24px; height: 1px; background: var(--cr-gold); display: block; margin-top: 20px; transition: width 0.28s ease; }
.cr-expert:hover .cr-expert-line { width: 52px; }

/* ═══════════════════════════════════════════════════════════════════
   SECTION 6 — VIDEOS
   ════════════════════════════════════════════════════════════════ */
.cr-videos {
  background:     var(--cr-bg-alt);
  padding-top:    84px;
  padding-bottom: 84px;
}
.cr-video-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   24px;
}
.cr-vcard { cursor: pointer; }
.cr-vcard:focus-visible { outline: 3px solid var(--cr-gold-btn); outline-offset: 3px; }

.cr-vthumb { aspect-ratio: 16/9; position: relative; overflow: hidden; margin-bottom: 20px; }
.cr-vthumb-bg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.cr-vt1 { background: #0A0F20; }
.cr-vt2 { background: #080F0C; }
.cr-vt3 { background: #12090A; }

.cr-play-ring {
  width: 52px; height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,0.5);
  display: flex; align-items: center; justify-content: center;
  transition: border-color var(--cr-dur), background var(--cr-dur);
}
.cr-vcard:hover .cr-play-ring { border-color: var(--cr-gold); background: rgba(201,168,76,0.12); }
.cr-play-tri { width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 14px solid var(--cr-gold); margin-left: 3px; }
.cr-vdur { position: absolute; bottom: 10px; right: 12px; font-size: 11px; font-weight: 600; color: rgba(237,232,220,0.72); letter-spacing: 0.06em; }

.cr-vcard h3 { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600; color: var(--cr-navy2); margin-bottom: 8px !important; line-height: 1.22; }
.cr-vcard p  { font-size: 14px; color: var(--cr-text-stone); line-height: 1.65; }
.cr-vcard .cr-rule { margin-top: 16px; }

/* ═══════════════════════════════════════════════════════════════════
   SECTION 7 — CTA
   ════════════════════════════════════════════════════════════════ */
.cr-cta {
  background:     var(--cr-navy2);
  padding-top:    84px;
  padding-bottom: 84px;
}
.cr-cta .cr-container {
  display:     flex;
  gap:         60px;
  align-items: flex-start;
}
.cr-cta-left  { flex: 1; }
.cr-cta-right {
  flex-shrink: 0;
  width:       268px;
  padding:     36px 30px;
  background:  rgba(255,255,255,0.03);
  border:      1px solid rgba(201,168,76,0.2);
}

.cr-cta h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     40px;
  font-weight:   400;
  color:         var(--cr-text-on-dark);
  line-height:   1.12;
  margin-bottom: 16px !important;
}
.cr-cta-body { font-size: 15px; color: var(--cr-text-muted-dark); line-height: 1.8; max-width: 420px; margin-bottom: 32px !important; }

.cr-cta-right-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--cr-gold-on-dark); display: block; margin-bottom: 14px !important;
}
.cr-cta-right h3 {
  font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600;
  color: var(--cr-text-on-dark); margin-bottom: 20px !important; line-height: 1.2;
}
.cr-cta-divider { height: 1px; background: rgba(201,168,76,0.15); margin: 22px 0 !important; }
.cr-cta-tel {
  display: block;
  font-family: 'Cormorant Garamond', serif; font-size: 24px; font-weight: 600;
  color: var(--cr-gold-light) !important; text-decoration: none !important;
  margin-bottom: 4px !important; transition: color var(--cr-dur);
}
.cr-cta-tel:hover { color: var(--cr-gold-pale) !important; }
.cr-cta-domain { font-size: 14px; color: var(--cr-text-dim-dark); letter-spacing: 0.08em; text-transform: uppercase; }

/* ══ RESPONSIVE ══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .cr-roadmap-grid,
  .cr-experts-grid             { grid-template-columns: repeat(2, 1fr); }
  .cr-steps-band .cr-container { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 900px) {
  .cr-buyers-grid { grid-template-columns: 1fr; }
  .cr-video-grid  { grid-template-columns: repeat(2, 1fr); }
  .cr-cta .cr-container { flex-direction: column; }
  .cr-cta-right   { width: 100%; }
  .cr-hero h1     { font-size: 38px; }
  .cr-sec-head h2 { font-size: 30px; }
  .cr-buyers-intro h2 { font-size: 30px; }
}
@media (max-width: 600px) {
  .cr-hero                     { padding-top: 48px; padding-bottom: 56px; }
  .cr-buyers, .cr-roadmap,
  .cr-experts, .cr-videos,
  .cr-cta                      { padding-top: 56px; padding-bottom: 56px; }
  .cr-steps-band .cr-container { grid-template-columns: repeat(2, 1fr) !important; }
  .cr-roadmap-grid,
  .cr-experts-grid             { grid-template-columns: 1fr; }
  .cr-video-grid               { grid-template-columns: 1fr; }
  .cr-hero h1                  { font-size: 32px; }
  .cr-buyer-card               { padding: 32px 24px; }
}

/* ══ FREE GUIDE POPUP ════════════════════════════════════════════════
   Triggered by any element with data-cr-popup="guide".
   Accessible: focus-trapped, ESC closes, aria-modal.
   ════════════════════════════════════════════════════════════════ */

/* Overlay */
#cr-popup-overlay {
  position:   fixed;
  inset:      0;
  background: rgba(9,19,55,0.82);
  z-index:    99990;
  display:    flex;
  align-items:    center;
  justify-content:center;
  padding:    20px;
  opacity:    0;
  visibility: hidden;
  transition: opacity 0.32s var(--cr-ease), visibility 0.32s var(--cr-ease);
  backdrop-filter: blur(4px);
}
#cr-popup-overlay.cr-popup-open {
  opacity:    1;
  visibility: visible;
}

/* Modal box */
#cr-popup-modal {
  background:    var(--cr-navy2);
  border:        1px solid rgba(201,168,76,0.25);
  max-width:     560px;
  width:         100%;
  position:      relative;
  padding:       52px 48px 44px;
  transform:     translateY(24px) scale(0.97);
  transition:    transform 0.32s var(--cr-ease);
  /* Lighthouse beam glow on the modal itself */
  box-shadow:
    0 0 0 1px rgba(201,168,76,0.12),
    0 24px 80px rgba(9,19,55,0.6),
    0 0 60px rgba(201,168,76,0.06);
}
#cr-popup-overlay.cr-popup-open #cr-popup-modal {
  transform: translateY(0) scale(1);
}

/* Gold top accent bar */
#cr-popup-modal::before {
  content:    '';
  position:   absolute;
  top:        0; left: 0; right: 0;
  height:     3px;
  background: linear-gradient(90deg, transparent, var(--cr-gold), var(--cr-gold-light), var(--cr-gold), transparent);
}

/* Close button */
#cr-popup-close {
  position:   absolute;
  top:        16px; right:18px;
  background: transparent;
  border:     none;
  color:      rgba(237,232,220,0.45);
  font-size:  22px;
  line-height:1;
  cursor:     pointer;
  padding:    6px 10px;
  transition: color 0.2s;
  font-family:'Montserrat', sans-serif;
}
#cr-popup-close:hover { color: var(--cr-gold-light); }
#cr-popup-close:focus-visible {
  outline:        2px solid var(--cr-gold-btn);
  outline-offset: 2px;
}

/* Popup header */
.cr-popup-eyebrow {
  font-family:    'Montserrat', sans-serif;
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-dark);
  display:        block;
  margin-bottom:  12px;
}
.cr-popup-title {
  font-family:   'Cormorant Garamond', serif;
  font-size:     32px;
  font-weight:   400;
  color:         var(--cr-text-on-dark);
  line-height:   1.15;
  margin-bottom: 8px !important;
}
.cr-popup-title em {
  font-style: italic;
  color:      var(--cr-gold-light);
}
.cr-popup-sub {
  font-size:     15px;
  color:         var(--cr-text-muted-dark);
  margin-bottom: 24px !important;
  line-height:   1.65;
}

/* Checklist inside popup */
.cr-popup-list {
  list-style: none;
  margin-bottom: 28px !important;
  display:    flex;
  flex-direction: column;
  gap:        10px;
}

.cr-popup-list li {
  position: relative;
  padding-left: 30px !important;
}
.cr-popup-list li::before {
  content:         '';
  position:        absolute;
  left:            0;
  top:             0;
  width:           20px;
  height:          24px;
  display:         block;
  background:      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none'%3E%3Crect x='3' y='21' width='14' height='2.5' rx='1' fill='%23C9A84C' opacity='0.9'/%3E%3Cpath d='M6.5 21 L7.5 10 L12.5 10 L13.5 21Z' fill='%23C9A84C' opacity='0.85'/%3E%3Crect x='7.2' y='13' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.6'/%3E%3Crect x='7.2' y='16.5' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3Crect x='7' y='7' width='6' height='3.5' rx='0.5' fill='%23DFC070'/%3E%3Cpath d='M6.5 7 L10 4.5 L13.5 7Z' fill='%23C9A84C'/%3E%3Cpath d='M10 6 L2 1 M10 6 L18 1' stroke='%23F3AA0D' stroke-width='0.8' stroke-linecap='round' opacity='0.6'/%3E%3Ccircle cx='10' cy='4' r='0.8' fill='%23F3AA0D'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

/* WPForms overrides inside popup */
#cr-popup-modal .wpforms-form .wpforms-field { margin-bottom: 16px !important; }
#cr-popup-modal .wpforms-form label { color: var(--cr-text-muted-dark) !important; font-size: 14px !important; font-family: 'Montserrat', sans-serif !important; margin-bottom: 5px !important; display: block; }
#cr-popup-modal .wpforms-form input[type=text],
#cr-popup-modal .wpforms-form input[type=email],
#cr-popup-modal .wpforms-form input[type=tel],
#cr-popup-modal .wpforms-form select {
  background:    rgba(255,255,255,0.06) !important;
  border:        1px solid rgba(201,168,76,0.25) !important;
  border-radius: 0 !important;
  color:         var(--cr-text-on-dark) !important;
  font-family:   'Montserrat', sans-serif !important;
  font-size:     14px !important;
  padding:       11px 14px !important;
  width:         100% !important;
  transition:    border-color 0.2s !important;
}
#cr-popup-modal .wpforms-form input:focus,
#cr-popup-modal .wpforms-form select:focus {
  border-color: rgba(201,168,76,0.7) !important;
  outline: none !important;
}
#cr-popup-modal .wpforms-form select option { background: var(--cr-navy2); color: var(--cr-text-on-dark); }
#cr-popup-modal .wpforms-submit-container { margin-top: 6px !important; }
#cr-popup-modal .wpforms-form .wpforms-submit {
  background:      var(--cr-gold-btn) !important;
  color:           var(--cr-navy2) !important;
  border:          none !important;
  border-radius:   0 !important;
  font-family:     'Montserrat', sans-serif !important;
  font-size:       13px !important;
  font-weight:     700 !important;
  letter-spacing:  0.14em !important;
  text-transform:  uppercase !important;
  padding:         14px 32px !important;
  width:           100% !important;
  cursor:          pointer !important;
  transition:      background 0.2s !important;
}
#cr-popup-modal .wpforms-form .wpforms-submit:hover {
  background: var(--cr-gold-light) !important;
}

/* Responsive */
@media (max-width: 600px) {
  #cr-popup-modal { padding: 44px 28px 36px; }
  .cr-popup-title { font-size: 26px; }
}

/* ══ PARTNER SPECIALISTS STRIP ═══════════════════════════════════════
   Sits below the team cards in the experts section.
   Two items side by side — Home Inspector + Appraiser.
   Visually subordinate to team cards but clearly part of the team.
   ════════════════════════════════════════════════════════════════ */
.cr-partner-strip {
  margin-top:    52px;
  padding-top:   36px;
  border-top:    1px solid rgba(201,168,76,0.12);
}
.cr-partner-strip-inner {
  display:         flex;
  gap:             0;
  align-items:     stretch;
  margin-bottom:   20px;
}
.cr-partner-item {
  flex:            1;
  display:         flex;
  align-items:     flex-start;
  gap:             16px;
  padding:         24px 28px;
  background:      rgba(255,255,255,0.03);
  border:          1px solid rgba(201,168,76,0.1);
}
.cr-partner-item:first-child {
  border-right:    none;
}
.cr-partner-divider {
  width:           1px;
  background:      rgba(201,168,76,0.1);
  flex-shrink:     0;
}
.cr-partner-icon {
  flex-shrink:     0;
  margin-top:      2px;
}
.cr-partner-label {
  display:         block;
  font-family:     'Cormorant Garamond', serif;
  font-size:       19px;
  font-weight:     600;
  color:           var(--cr-text-on-dark);
  margin-bottom:   6px;
}
.cr-partner-desc {
  display:         block;
  font-size:       14px;
  color:           var(--cr-text-muted-dark);
  line-height:     1.65;
}
.cr-partner-note {
  font-size:       14px;
  color:           var(--cr-text-dim-dark);
  font-style:      italic;
  line-height:     1.6;
  padding:         0 4px;
}

@media (max-width: 600px) {
  .cr-partner-strip-inner { flex-direction: column; }
  .cr-partner-item:first-child { border-right: 1px solid rgba(201,168,76,0.1); border-bottom: none; }
  .cr-partner-divider { display: none; }
}

/* ══════════════════════════════════════════════════════════════════
   INNER PAGES — shared styles used across About, Buyer Type,
   and Video Hub pages. All scoped to .cr-page.
   ══════════════════════════════════════════════════════════════════ */

/* ── Page hero (inner pages — lighter than homepage hero) ──────── */
.cr-page-hero {
  background:     var(--cr-navy2);
  padding-top:    80px;
  padding-bottom: 80px;
  position:       relative;
  overflow:       hidden;
}
.cr-page-hero h1 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     48px;
  font-weight:   300;
  color:         var(--cr-text-on-dark);
  line-height:   1.1;
  margin-bottom: 14px !important;
}
.cr-page-hero h1 em { font-style: italic; color: var(--cr-gold-light); }
.cr-page-hero-sub {
  font-size:     16px;
  color:         var(--cr-text-muted-dark);
  max-width:     580px;
  line-height:   1.78;
}
.cr-page-hero-layout {
  display:         flex !important;
  align-items:     center !important;
  gap:             60px;
  flex-wrap:       nowrap !important;
}
.cr-page-hero-content { flex: 1 1 auto !important; }
.cr-page-hero-img {
  flex:          0 0 auto !important;
  width:         240px;
  height:        300px;
  border-radius: 120px;
  overflow:      hidden !important;
  border:        2px solid rgba(201,168,76,0.35);
  animation:     cr-lighthouse 5s cubic-bezier(0.4,0,0.6,1) 1s infinite;
}
.cr-page-hero-img img {
  width:           100% !important;
  height:          100% !important;
  object-fit:      cover !important;
  object-position: center top !important;
  display:         block !important;
}
.cr-page-hero-img-placeholder {
  width:   100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, rgba(63,52,131,0.4) 0%, rgba(9,19,55,0.7) 100%);
  color: rgba(201,168,76,0.4); font-size: 14px; text-align: center; padding: 20px;
}

/* ── Content sections ──────────────────────────────────────────── */
.cr-content-light {
  background:     var(--cr-bg-lighter);
  padding-top:    84px;
  padding-bottom: 84px;
  position:       relative;
  overflow:       hidden;
}
.cr-content-dark {
  background:     var(--cr-navy2);
  padding-top:    84px;
  padding-bottom: 84px;
  position:       relative;
  overflow:       hidden;
  color:          var(--cr-text-on-dark);  /* all child text inherits cream */
}
.cr-content-dark h1,
.cr-content-dark h2,
.cr-content-dark h3,
.cr-content-dark h4 { color: var(--cr-text-on-dark) !important; }
.cr-content-dark p   { color: var(--cr-text-muted-dark) !important; }
.cr-content-dark strong { color: var(--cr-gold-light) !important; }
.cr-content-dark em     { color: var(--cr-gold-pale) !important; }
.cr-content-dark a      { color: var(--cr-gold-light) !important; }
.cr-content-dark li     { color: var(--cr-text-muted-dark) !important; }
.cr-content-alt {
  background:     var(--cr-bg-alt);
  padding-top:    84px;
  padding-bottom: 84px;
  position:       relative;
  overflow:       hidden;
}

/* ── Brenda featured block ─────────────────────────────────────── */
.cr-team-featured {
  display:     flex !important;
  gap:         60px;
  align-items: flex-start !important;
  flex-wrap:   nowrap !important;
}
.cr-team-featured-img {
  flex:          0 0 280px !important;
  width:         280px !important;
  height:        360px !important;
  border-radius: 140px !important;  /* tall oval — matches homepage */
  overflow:      hidden !important;
  border:        2px solid rgba(201,168,76,0.4) !important;
  position:      sticky;
  top:           32px;
  flex-shrink:   0 !important;
  animation:     cr-lighthouse 5s cubic-bezier(0.4,0,0.6,1) 0.8s infinite;
}
.cr-team-featured-img img {
  width:           100% !important;
  height:          100% !important;
  object-fit:      cover !important;
  object-position: center top !important;
  display:         block !important;
  border-radius:   0 !important;
}
.cr-team-featured-body { flex: 1; }
.cr-team-featured-body h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     36px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 4px !important;
  line-height:   1.15;
}
.cr-team-featured-body .cr-team-role {
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-light);
  display:        block;
  margin-bottom:  20px !important;
}
.cr-team-featured-body p {
  font-size:     15px;
  color:         var(--cr-text-stone);
  line-height:   1.8;
  margin-bottom: 16px !important;
}
.cr-credentials {
  display:        flex;
  flex-wrap:      wrap;
  gap:            10px;
  margin-top:     24px;
}
.cr-credential-badge {
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.08em;
  color:          var(--cr-navy2);
  background:     var(--cr-gold-pale);
  border:         1px solid rgba(201,168,76,0.35);
  padding:        5px 14px;
  border-radius:  2px;
}

/* ── Support team grid ─────────────────────────────────────────── */
.cr-team-support-grid {
  display:               grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap:                   32px;
}
.cr-team-support-card {
  background:    var(--cr-bg-white);
  border:        1px solid rgba(63,52,131,0.1);
  border-top:    3px solid var(--cr-indigo);
  padding:       36px 32px;
  transition:    box-shadow var(--cr-dur), transform var(--cr-dur);
}
.cr-team-support-card:hover {
  box-shadow: 0 8px 32px rgba(9,19,55,0.1);
  transform:  translateY(-3px);
}
.cr-team-support-card img {
  width:           90px !important;
  height:          110px !important;
  border-radius:   45px !important;  /* small oval */
  object-fit:      cover !important;
  object-position: center top !important;
  display:         block !important;
  margin-bottom:   20px !important;
  border:          2px solid rgba(201,168,76,0.35) !important;
  animation:       cr-lighthouse 5s cubic-bezier(0.4,0,0.6,1) 1.4s infinite;
}
.cr-team-support-card h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     24px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 4px !important;
}
.cr-team-support-card .cr-team-role {
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-light);
  display:        block;
  margin-bottom:  16px !important;
}
.cr-team-support-card p {
  font-size:     14px;
  color:         var(--cr-text-stone);
  line-height:   1.75;
}

/* ── Values ────────────────────────────────────────────────────── */
.cr-values-grid {
  display:               grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap:                   2px;
  background:            rgba(63,52,131,0.1);
}
.cr-value {
  background:    var(--cr-bg-white);
  padding:       40px 32px;
  text-align:    center;
}
.cr-value-icon {
  width:           52px;
  height:          52px;
  margin:          0 auto 20px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      var(--cr-gold-pale);
  border-radius:   50%;
}
.cr-value h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     22px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 10px !important;
}
.cr-value p { font-size: 14px; color: var(--cr-text-stone); line-height: 1.7; }

/* ── Buyer page content ────────────────────────────────────────── */
.cr-two-col {
  display:               grid !important;
  grid-template-columns: 1fr 1fr;
  gap:                   48px;
  align-items:           start;
}
.cr-two-col-wide {
  display:               grid !important;
  grid-template-columns: 1.4fr 1fr;
  gap:                   60px;
  align-items:           start;
}
.cr-prose h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     32px;
  font-weight:   400;
  color:         var(--cr-navy2);
  margin-bottom: 16px !important;
  line-height:   1.2;
}
.cr-prose h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     22px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 10px !important;
  margin-top:    28px !important;
  line-height:   1.2;
}
.cr-prose p {
  font-size:     15px;
  color:         var(--cr-text-stone);
  line-height:   1.8;
  margin-bottom: 16px !important;
}
.cr-prose .cr-lh-list { margin-top: 16px; }
.cr-prose .cr-lh-list li { font-size: 15px; color: var(--cr-text-stone); }

/* Concern/FAQ accordion style items */
.cr-concern {
  border-bottom:  1px solid rgba(63,52,131,0.1);
  padding:        20px 0;
}
.cr-concern:first-child { padding-top: 0; }
.cr-concern h4 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     19px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 8px !important;
}
.cr-concern p { font-size: 14px; color: var(--cr-text-stone); line-height: 1.7; margin: 0 !important; }

/* Waiting periods table */
.cr-table {
  width:           100%;
  border-collapse: collapse;
  font-size:       14px;
}
.cr-table th {
  background:     var(--cr-navy2);
  color:          var(--cr-gold-light);
  font-weight:    600;
  letter-spacing: 0.06em;
  padding:        12px 16px;
  text-align:     left;
  font-size:      12px;
  text-transform: uppercase;
}
.cr-table td {
  padding:     12px 16px;
  color:       var(--cr-text-stone);
  border-bottom: 1px solid rgba(63,52,131,0.08);
  line-height: 1.5;
}
.cr-table tr:last-child td { border-bottom: none; }
.cr-table tr:nth-child(even) td { background: var(--cr-bg-light); }

/* Team callout block */
.cr-team-callout {
  background:    var(--cr-navy2);
  padding:       40px 44px;
  display:       flex;
  gap:           32px;
  align-items:   center;
  border-left:   4px solid var(--cr-gold);
}
.cr-team-callout-img {
  width:          80px;
  height:         80px;
  border-radius:  50%;
  overflow:       hidden;
  flex-shrink:    0;
  border:         2px solid rgba(201,168,76,0.4);
}
.cr-team-callout-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
}
.cr-team-callout-body h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     22px;
  font-weight:   600;
  color:         var(--cr-text-on-dark);
  margin-bottom: 6px !important;
}
.cr-team-callout-body p {
  font-size:  14px;
  color:      var(--cr-text-muted-dark);
  line-height:1.65;
  margin:     0 !important;
}

/* Video hub grid */
.cr-video-hub-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   28px;
}

/* Newsletter strip */
.cr-newsletter-strip {
  background:  var(--cr-navy3);
  padding:     48px 60px;
  display:     flex;
  align-items: center;
  justify-content: space-between;
  gap:         40px;
  flex-wrap:   wrap;
  border-top:  1px solid rgba(201,168,76,0.15);
  border-bottom: 1px solid rgba(201,168,76,0.15);
}
.cr-newsletter-strip h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     28px;
  font-weight:   400;
  color:         var(--cr-text-on-dark);
  margin-bottom: 6px !important;
}
.cr-newsletter-strip p {
  font-size:  14px;
  color:      var(--cr-text-muted-dark);
  margin:     0 !important;
}

/* ── Responsive inner pages ────────────────────────────────────── */
@media (max-width: 900px) {
  .cr-page-hero h1          { font-size: 34px; }
  .cr-page-hero-layout      { flex-direction: column-reverse !important; }
  .cr-page-hero-img         { width: 180px; height: 224px; border-radius: 90px; }
  .cr-team-featured         { flex-direction: column; }
  .cr-team-featured-img     { flex: none; width: 100%; position: static; }
  .cr-team-featured-img img { height: 280px !important; }
  .cr-team-support-grid     { grid-template-columns: 1fr; }
  .cr-values-grid           { grid-template-columns: 1fr; }
  .cr-two-col,
  .cr-two-col-wide          { grid-template-columns: 1fr; gap: 32px; }
  .cr-video-hub-grid        { grid-template-columns: repeat(2, 1fr); }
  .cr-team-callout          { flex-direction: column; text-align: center; }
  .cr-newsletter-strip      { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
  .cr-page-hero             { padding-top: 56px; padding-bottom: 56px; }
  .cr-content-light,
  .cr-content-dark,
  .cr-content-alt           { padding-top: 56px; padding-bottom: 56px; }
  .cr-video-hub-grid        { grid-template-columns: 1fr; }
  .cr-team-callout          { padding: 28px 24px; }
}

/* ══════════════════════════════════════════════════════════════════
   GUTENBERG GLOBAL STYLES — inner page content
   Targets Gutenberg block classes on the frontend so inner pages
   match the homepage design system without needing custom classes.
   ════════════════════════════════════════════════════════════════ */

/* ── Content typography ────────────────────────────────────────── */
.cr-page .entry-content h1,
.cr-page .entry-content .wp-block-heading[data-level="1"] {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size:   52px;
  line-height: 1.1;
  color:       var(--cr-navy2);
  margin-bottom: 14px !important;
}
.cr-page .entry-content h2,
.cr-page .entry-content .wp-block-heading {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size:   36px;
  line-height: 1.15;
  color:       var(--cr-navy2);
  margin-bottom: 16px !important;
  margin-top:    40px !important;
}
.cr-page .entry-content h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size:   24px;
  line-height: 1.2;
  color:       var(--cr-navy2);
  margin-bottom: 10px !important;
  margin-top:    28px !important;
}
.cr-page .entry-content h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size:   15px;
  color:       var(--cr-navy2);
  margin-bottom: 8px !important;
}
.cr-page .entry-content p {
  font-size:     15px;
  line-height:   1.8;
  color:         var(--cr-text-stone);
  margin-bottom: 18px !important;
}
.cr-page .entry-content a {
  color:           var(--cr-gold-on-light);
  text-decoration: underline;
  transition:      color var(--cr-dur);
}
.cr-page .entry-content a:hover { color: var(--cr-navy2); }

/* ── Lists ─────────────────────────────────────────────────────── */
.cr-page .entry-content ul,
.cr-page .entry-content ol {
  font-size:     15px;
  color:         var(--cr-text-stone);
  line-height:   1.75;
  padding-left:  0 !important;
  list-style:    none !important;
  margin-bottom: 24px !important;
}
.cr-page .entry-content ul li,
.cr-page .entry-content ol li {
  padding:       10px 0 10px 34px;
  position:      relative;
  border-bottom: 1px solid rgba(63,52,131,0.07);
}
.cr-page .entry-content ul li::before {
  content:         '';
  position:        absolute;
  left:            0;
  top:             10px;
  width:           20px;
  height:          24px;
  background:      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none'%3E%3Crect x='3' y='21' width='14' height='2.5' rx='1' fill='%23C9A84C' opacity='0.9'/%3E%3Cpath d='M6.5 21 L7.5 10 L12.5 10 L13.5 21Z' fill='%23C9A84C' opacity='0.85'/%3E%3Crect x='7.2' y='13' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.6'/%3E%3Crect x='7.2' y='16.5' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3Crect x='7' y='7' width='6' height='3.5' rx='0.5' fill='%23DFC070'/%3E%3Cpath d='M6.5 7 L10 4.5 L13.5 7Z' fill='%23C9A84C'/%3E%3Cpath d='M10 6 L2 1 M10 6 L18 1' stroke='%23F3AA0D' stroke-width='0.8' stroke-linecap='round' opacity='0.6'/%3E%3Ccircle cx='10' cy='4' r='0.8' fill='%23F3AA0D'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.cr-page .entry-content ol { counter-reset: cr-ol; }
.cr-page .entry-content ol li { padding-left: 44px; }
.cr-page .entry-content ol li::before {
  content:          counter(cr-ol);
  counter-increment: cr-ol;
  background:       none;
  width:            26px;
  height:           26px;
  top:              10px;
  font-family:      'Montserrat', sans-serif;
  font-size:        11px;
  font-weight:      700;
  color:            var(--cr-gold);
  border:           1px solid rgba(201,168,76,0.4);
  border-radius:    50%;
  display:          flex;
  align-items:      center;
  justify-content:  center;
  flex-shrink:      0;
}

/* ── Blockquote ─────────────────────────────────────────────────── */
.cr-page .entry-content blockquote,
.cr-page .entry-content .wp-block-quote {
  border-left:  3px solid var(--cr-gold);
  padding-left: 24px;
  margin-left:  0 !important;
  font-family:  'Cormorant Garamond', serif;
  font-size:    22px;
  font-style:   italic;
  color:        var(--cr-navy2);
  line-height:  1.55;
}

/* ── Tables ─────────────────────────────────────────────────────── */
.cr-page .entry-content table {
  width:           100% !important;
  border-collapse: collapse;
  font-size:       14px;
  margin-bottom:   24px !important;
}
.cr-page .entry-content th {
  background:     var(--cr-navy2);
  color:          var(--cr-gold-light);
  font-weight:    600;
  letter-spacing: 0.06em;
  padding:        12px 16px;
  text-align:     left;
  font-size:      12px;
  text-transform: uppercase;
}
.cr-page .entry-content td {
  padding:       12px 16px;
  color:         var(--cr-text-stone);
  border-bottom: 1px solid rgba(63,52,131,0.08);
  line-height:   1.5;
}
.cr-page .entry-content tr:nth-child(even) td { background: var(--cr-bg-light); }

/* ── Separator ─────────────────────────────────────────────────── */
.cr-page .entry-content hr,
.cr-page .entry-content .wp-block-separator {
  border:     none;
  height:     2px;
  background: linear-gradient(90deg, transparent, var(--cr-gold), transparent);
  margin:     40px 0;
  opacity:    0.4;
}

/* ── Group block section styles ────────────────────────────────── */
.cr-page .wp-block-group.is-style-cr-section-light {
  background:     var(--cr-bg-lighter);
  padding-top:    84px !important;
  padding-bottom: 84px !important;
}
.cr-page .wp-block-group.is-style-cr-section-dark {
  background:     var(--cr-navy2);
  padding-top:    84px !important;
  padding-bottom: 84px !important;
}
.cr-page .wp-block-group.is-style-cr-section-dark h1,
.cr-page .wp-block-group.is-style-cr-section-dark h2,
.cr-page .wp-block-group.is-style-cr-section-dark h3,
.cr-page .wp-block-group.is-style-cr-section-dark h4,
.cr-page .wp-block-group.is-style-cr-section-dark p,
.cr-page .wp-block-group.is-style-cr-section-dark li {
  color: var(--cr-text-on-dark) !important;
}
.cr-page .wp-block-group.is-style-cr-section-alt {
  background:     var(--cr-bg-alt);
  padding-top:    84px !important;
  padding-bottom: 84px !important;
}
.cr-page .wp-block-group.is-style-cr-section-navy {
  background:     var(--cr-navy3);
  padding-top:    84px !important;
  padding-bottom: 84px !important;
  animation:      cr-bg-oscillate 14s ease infinite;
  background-size: 300% 300%;
  background-image: linear-gradient(135deg, #091337 0%, #0C1236 18%, #1a1060 35%, #25063F 52%, #3F3483 68%, #1a1060 82%, #091337 100%);
}
.cr-page .wp-block-group.is-style-cr-section-navy h1,
.cr-page .wp-block-group.is-style-cr-section-navy h2,
.cr-page .wp-block-group.is-style-cr-section-navy h3,
.cr-page .wp-block-group.is-style-cr-section-navy p,
.cr-page .wp-block-group.is-style-cr-section-navy li {
  color: var(--cr-text-on-dark) !important;
}

/* Width constraint on group block content */
.cr-page .wp-block-group.is-style-cr-section-light .wp-block-group__inner-container,
.cr-page .wp-block-group.is-style-cr-section-dark .wp-block-group__inner-container,
.cr-page .wp-block-group.is-style-cr-section-alt .wp-block-group__inner-container,
.cr-page .wp-block-group.is-style-cr-section-navy .wp-block-group__inner-container {
  max-width:  1240px;
  margin:     0 auto;
  padding:    0 40px;
}

/* ── Custom heading styles ─────────────────────────────────────── */
.cr-page .wp-block-heading.is-style-cr-display {
  font-family: 'Cormorant Garamond', serif;
  font-size:   60px !important;
  font-weight: 300 !important;
  line-height: 1.05 !important;
  color:       var(--cr-navy2) !important;
}
.cr-page .wp-block-heading.is-style-cr-eyebrow {
  font-family:    'Montserrat', sans-serif !important;
  font-size:      11px !important;
  font-weight:    600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color:          var(--cr-gold-on-light) !important;
  margin-bottom:  0 !important;
  margin-top:     0 !important;
}
.cr-page .wp-block-group.is-style-cr-section-dark .wp-block-heading.is-style-cr-eyebrow,
.cr-page .wp-block-group.is-style-cr-section-navy .wp-block-heading.is-style-cr-eyebrow {
  color: rgba(201,168,76,0.85) !important;
}

/* ── Custom paragraph styles ───────────────────────────────────── */
.cr-page .wp-block-paragraph.is-style-cr-lead {
  font-size:   18px !important;
  line-height: 1.75 !important;
  color:       var(--cr-navy2) !important;
  font-weight: 400;
}
.cr-page .wp-block-paragraph.is-style-cr-caption {
  font-size:  13px !important;
  color:      var(--cr-text-dim) !important;
  font-style: italic;
  line-height: 1.6 !important;
}

/* ── Custom button styles ──────────────────────────────────────── */
.cr-page .wp-block-button.is-style-cr-primary .wp-block-button__link {
  background:     var(--cr-gold-btn) !important;
  color:          var(--cr-navy2) !important;
  border:         none !important;
  border-radius:  0 !important;
  font-family:    'Montserrat', sans-serif !important;
  font-size:      13px !important;
  font-weight:    700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding:        14px 32px !important;
  transition:     background 0.2s ease !important;
}
.cr-page .wp-block-button.is-style-cr-primary .wp-block-button__link:hover {
  background: var(--cr-gold-light) !important;
}
.cr-page .wp-block-button.is-style-cr-ghost .wp-block-button__link {
  background:     transparent !important;
  color:          var(--cr-gold) !important;
  border:         1.5px solid var(--cr-gold) !important;
  border-radius:  0 !important;
  font-family:    'Montserrat', sans-serif !important;
  font-size:      13px !important;
  font-weight:    600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding:        13px 32px !important;
}

/* ── Custom separator style ────────────────────────────────────── */
.cr-page .wp-block-separator.is-style-cr-rule {
  width:      40px !important;
  height:     2px !important;
  background: var(--cr-gold) !important;
  border:     none !important;
  margin:     0 0 20px !important;
  opacity:    1 !important;
}

/* ── Custom quote style ────────────────────────────────────────── */
.cr-page .wp-block-quote.is-style-cr-testimonial {
  background:   var(--cr-bg-lighter);
  border-left:  4px solid var(--cr-gold);
  padding:      28px 32px;
}
.cr-page .wp-block-quote.is-style-cr-testimonial p {
  font-family: 'Cormorant Garamond', serif;
  font-size:   20px !important;
  font-style:  italic;
  color:       var(--cr-navy2) !important;
}
.cr-page .wp-block-quote.is-style-cr-testimonial cite {
  font-family:    'Montserrat', sans-serif;
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-light);
}

/* ── Custom list styles ────────────────────────────────────────── */
.cr-page .wp-block-list.is-style-cr-checklist li::before,
.cr-page ul.is-style-cr-checklist li::before {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Ccircle cx='8.5' cy='8.5' r='8' fill='%23C9A84C' stroke='none'/%3E%3Cpath d='M5 8.5l2.7 2.7 4.8-4.8' stroke='%23091337' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

/* ── Scroll animations on Gutenberg blocks ─────────────────────── */
.cr-page .wp-block-group.is-style-cr-section-light > .wp-block-group__inner-container > *,
.cr-page .wp-block-group.is-style-cr-section-dark  > .wp-block-group__inner-container > *,
.cr-page .wp-block-group.is-style-cr-section-alt   > .wp-block-group__inner-container > *,
.cr-page .wp-block-group.is-style-cr-section-navy  > .wp-block-group__inner-container > * {
  animation:      cr-fade-up 0.6s var(--cr-ease) both;
  animation-play-state: paused;
}

@media (max-width: 768px) {
  .cr-page .wp-block-group.is-style-cr-section-light .wp-block-group__inner-container,
  .cr-page .wp-block-group.is-style-cr-section-dark  .wp-block-group__inner-container,
  .cr-page .wp-block-group.is-style-cr-section-alt   .wp-block-group__inner-container,
  .cr-page .wp-block-group.is-style-cr-section-navy  .wp-block-group__inner-container {
    padding: 0 24px;
  }
}

/* ══ ACCESSIBILITY — Focus visible indicators ════════════════════
   WCAG 2.1 AA requires focus indicators to have 3:1 contrast
   against adjacent colours.
   Gold (#F3AA0D) fails on light backgrounds (1.9:1).
   Navy (#0C1236) passes on light (18:1) and gold buttons (9.1:1).
   ════════════════════════════════════════════════════════════════ */

/* Default focus — navy outline (works on all light backgrounds) */
.cr-page *:focus-visible {
  outline:        2px solid #0C1236 !important;
  outline-offset: 3px !important;
}

/* Dark section focus — gold outline (works on navy backgrounds) */
.cr-hero *:focus-visible,
.cr-buyers *:focus-visible,
.cr-experts *:focus-visible,
.cr-sband *:focus-visible,
.cr-roadmap *:focus-visible,
.wp-block-group.is-style-cr-section-dark *:focus-visible,
.wp-block-group.is-style-cr-section-navy *:focus-visible {
  outline: 2px solid #F3AA0D !important;
  outline-offset: 3px !important;
}

/* Button focus — always navy outline on gold button */
.cr-btn-primary:focus-visible,
.wp-block-button.is-style-cr-primary .wp-block-button__link:focus-visible {
  outline:        3px solid #0C1236 !important;
  outline-offset: 2px !important;
}

/* Ghost button focus */
.cr-btn-ghost:focus-visible,
.wp-block-button.is-style-cr-ghost .wp-block-button__link:focus-visible {
  outline:        2px solid #F3AA0D !important;
  outline-offset: 2px !important;
}

/* Skip to content link — ADA requirement */
.cr-skip-link {
  position:   absolute;
  left:       -9999px;
  top:        auto;
  width:      1px;
  height:     1px;
  overflow:   hidden;
}
.cr-skip-link:focus {
  position:      fixed;
  top:           0;
  left:          0;
  width:         auto;
  height:        auto;
  overflow:      visible;
  z-index:       999999;
  background:    #0C1236;
  color:         #F3AA0D;
  padding:       14px 24px;
  font-family:   'Montserrat', sans-serif;
  font-size:     14px;
  font-weight:   700;
  text-decoration: none;
  outline:       3px solid #F3AA0D;
}

/* Muted text on oscillating gradient — boost to full light text
   The darkest point (indigo #3F3483) gives only 3.6:1 for muted text
   which only passes for large text. Use full cr-text-on-dark instead. */
.cr-buyers .cr-buyer-widget p,
.cr-buyers .cr-buyer-widget-label {
  color: var(--cr-text-on-dark) !important;
}

/* Ensure sufficient contrast on partner strip descriptions */
.cr-partner-desc {
  color: var(--cr-text-stone) !important;
}
.cr-content-dark .cr-partner-desc,
.cr-experts .cr-partner-desc {
  color: var(--cr-text-muted-dark) !important;
}

/* ── Team featured block inside dark sections ─────────────────── */
.cr-content-dark .cr-team-featured-body p,
.cr-content-dark .cr-team-featured-body,
[style*="background:var(--cr-navy2)"] .cr-team-featured-body p,
[style*="background:var(--cr-navy2)"] .cr-team-featured-body {
  color: var(--cr-text-on-dark) !important;
}
[style*="background:var(--cr-navy2)"] .cr-team-featured-body strong,
.cr-content-dark .cr-team-featured-body strong {
  color: var(--cr-gold-light) !important;
}
[style*="background:var(--cr-navy2)"] .cr-team-featured-body em,
.cr-content-dark .cr-team-featured-body em {
  color: var(--cr-gold-pale) !important;
}
[style*="background:var(--cr-navy2)"] .cr-team-featured-body h2,
[style*="background:var(--cr-navy2)"] .cr-team-featured-body h3,
.cr-content-dark .cr-team-featured-body h2,
.cr-content-dark .cr-team-featured-body h3 {
  color: var(--cr-text-on-dark) !important;
}


/* ── Contrast fixes for buyer page dark sections ──────────────── */
.cr-content-dark h4,
.cr-content-dark h4[style] {
  color: var(--cr-text-on-dark) !important;
}
.cr-content-dark p[style],
.cr-content-dark p {
  color: var(--cr-text-muted-dark) !important;
}
/* Table headers always dark bg with gold text */
.cr-content-light .cr-table th { background: var(--cr-navy2) !important; }


/* Popup list — explicitly scoped, one lighthouse only */
#cr-popup-modal .cr-popup-list li {
  position:     relative !important;
  padding-left: 32px !important;
  display:      block !important;
}
#cr-popup-modal .cr-popup-list li::before {
  content:         '' !important;
  position:        absolute !important;
  left:            0 !important;
  top:             0 !important;
  width:           20px !important;
  height:          24px !important;
  background:      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none'%3E%3Crect x='3' y='21' width='14' height='2.5' rx='1' fill='%23C9A84C' opacity='0.9'/%3E%3Cpath d='M6.5 21 L7.5 10 L12.5 10 L13.5 21Z' fill='%23C9A84C' opacity='0.85'/%3E%3Crect x='7.2' y='13' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.6'/%3E%3Crect x='7.2' y='16.5' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3Crect x='7' y='7' width='6' height='3.5' rx='0.5' fill='%23DFC070'/%3E%3Cpath d='M6.5 7 L10 4.5 L13.5 7Z' fill='%23C9A84C'/%3E%3Cpath d='M10 6 L2 1 M10 6 L18 1' stroke='%23F3AA0D' stroke-width='0.8' stroke-linecap='round' opacity='0.6'/%3E%3Ccircle cx='10' cy='4' r='0.8' fill='%23F3AA0D'/%3E%3C/svg%3E") no-repeat top left !important;
  background-size: 20px 24px !important;
}

/* ══════════════════════════════════════════════════════════════════
   BLOG — Single post template styles
   ════════════════════════════════════════════════════════════════ */

/* ── Post hero ─────────────────────────────────────────────────── */
.cr-blog-hero {
  background:     var(--cr-navy2);
  padding-top:    64px;
  padding-bottom: 56px;
  position:       relative;
}
.cr-blog-hero::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52'%3E%3Cpath d='M26 3L49 26L26 49L3 26Z' fill='none' stroke='rgba(201,168,76,0.05)' stroke-width='0.7'/%3E%3C/svg%3E");
  pointer-events: none;
}
.cr-blog-cat {
  display:        block;
  margin-bottom:  0;
}
.cr-blog-title {
  font-family:   'Cormorant Garamond', serif;
  font-size:     44px;
  font-weight:   300;
  color:         var(--cr-text-on-dark);
  line-height:   1.12;
  margin-bottom: 20px !important;
  max-width:     800px;
}
.cr-blog-meta {
  font-size:      13px;
  color:          var(--cr-text-muted-dark);
  display:        flex;
  align-items:    center;
  gap:            10px;
  flex-wrap:      wrap;
}
.cr-blog-meta-sep { color: rgba(201,168,76,0.3); }

/* ── Featured image ────────────────────────────────────────────── */
.cr-blog-featured-img {
  background: var(--cr-navy2);
  padding-bottom: 0;
}
.cr-blog-featured-img .cr-container { padding-bottom: 0; }
.cr-blog-featured-img img {
  width:         100% !important;
  max-height:    480px;
  object-fit:    cover !important;
  object-position: center;
  display:       block !important;
  border-radius: 0;
}

/* ── Content layout ────────────────────────────────────────────── */
.cr-blog-content {
  background:     var(--cr-bg-lighter);
  padding-top:    64px;
  padding-bottom: 84px;
}
.cr-blog-layout {
  display:               grid;
  grid-template-columns: 1fr 320px;
  gap:                   60px;
  align-items:           start;
}

/* ── Article body ──────────────────────────────────────────────── */
.cr-blog-article {
  min-width: 0;
}
.cr-blog-article h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     30px;
  font-weight:   400;
  color:         var(--cr-navy2);
  margin-bottom: 14px !important;
  margin-top:    40px !important;
  line-height:   1.2;
}
.cr-blog-article h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     22px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 10px !important;
  margin-top:    30px !important;
}
.cr-blog-article p {
  font-size:     16px;
  line-height:   1.85;
  color:         var(--cr-text-stone);
  margin-bottom: 20px !important;
}
.cr-blog-article ul,
.cr-blog-article ol {
  font-size:     16px;
  color:         var(--cr-text-stone);
  line-height:   1.75;
  padding-left:  0 !important;
  list-style:    none !important;
  margin-bottom: 24px !important;
}
.cr-blog-article ul li {
  padding:       10px 0 10px 34px;
  position:      relative;
  border-bottom: 1px solid rgba(63,52,131,0.07);
}
.cr-blog-article ul li::before {
  content:         '';
  position:        absolute;
  left:            0;
  top:             10px;
  width:           20px;
  height:          24px;
  background:      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 24' fill='none'%3E%3Crect x='3' y='21' width='14' height='2.5' rx='1' fill='%23C9A84C' opacity='0.9'/%3E%3Cpath d='M6.5 21 L7.5 10 L12.5 10 L13.5 21Z' fill='%23C9A84C' opacity='0.85'/%3E%3Crect x='7.2' y='13' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.6'/%3E%3Crect x='7.2' y='16.5' width='5.6' height='1.2' rx='0.3' fill='%230C1236' opacity='0.5'/%3E%3Crect x='7' y='7' width='6' height='3.5' rx='0.5' fill='%23DFC070'/%3E%3Cpath d='M6.5 7 L10 4.5 L13.5 7Z' fill='%23C9A84C'/%3E%3Cpath d='M10 6 L2 1 M10 6 L18 1' stroke='%23F3AA0D' stroke-width='0.8' stroke-linecap='round' opacity='0.6'/%3E%3Ccircle cx='10' cy='4' r='0.8' fill='%23F3AA0D'/%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.cr-blog-article blockquote {
  border-left:  3px solid var(--cr-gold);
  padding-left: 24px;
  margin-left:  0 !important;
  font-family:  'Cormorant Garamond', serif;
  font-size:    22px;
  font-style:   italic;
  color:        var(--cr-navy2);
  line-height:  1.55;
  margin-bottom: 24px !important;
}
.cr-blog-article img {
  max-width:    100% !important;
  height:       auto !important;
  margin-bottom: 24px !important;
}
.cr-blog-article a {
  color:           var(--cr-gold-on-light);
  text-decoration: underline;
}
.cr-blog-article a:hover { color: var(--cr-navy2); }

/* ── Tags ──────────────────────────────────────────────────────── */
.cr-blog-tags {
  display:    flex;
  flex-wrap:  wrap;
  gap:        8px;
  margin-top: 40px;
}
.cr-blog-tag {
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.08em;
  color:          var(--cr-navy2);
  background:     var(--cr-gold-pale);
  border:         1px solid rgba(201,168,76,0.3);
  padding:        4px 12px;
  text-decoration: none;
  transition:     background var(--cr-dur);
}
.cr-blog-tag:hover { background: var(--cr-gold-light); }

/* ── Author box ────────────────────────────────────────────────── */
.cr-author-box {
  display:       flex;
  gap:           24px;
  align-items:   flex-start;
  margin-top:    48px;
  padding:       32px;
  background:    var(--cr-bg-white);
  border-left:   3px solid var(--cr-gold);
  border-top:    1px solid rgba(63,52,131,0.1);
}
.cr-author-avatar img {
  width:           80px !important;
  height:          80px !important;
  border-radius:   50% !important;
  object-fit:      cover !important;
  border:          2px solid rgba(201,168,76,0.3) !important;
  flex-shrink:     0;
}
.cr-author-name {
  display:       block;
  font-family:   'Cormorant Garamond', serif;
  font-size:     20px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 8px;
}
.cr-author-info p {
  font-size:     14px;
  color:         var(--cr-text-stone);
  line-height:   1.7;
  margin:        0 !important;
}

/* ── Post nav ──────────────────────────────────────────────────── */
.cr-post-nav {
  display:   grid;
  grid-template-columns: 1fr 1fr;
  gap:       2px;
  margin-top: 48px;
  background: rgba(63,52,131,0.1);
}
.cr-post-nav-item {
  background:     var(--cr-bg-white);
  padding:        24px 20px;
  text-decoration: none;
  display:        flex;
  flex-direction: column;
  gap:            6px;
  transition:     background var(--cr-dur);
}
.cr-post-nav-item:hover { background: var(--cr-bg-alt); }
.cr-post-nav-label {
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-light);
}
.cr-post-nav-title {
  font-family: 'Cormorant Garamond', serif;
  font-size:   17px;
  font-weight: 600;
  color:       var(--cr-navy2);
  line-height: 1.3;
}
.cr-post-nav-next { text-align: right; }

/* ── Sidebar ───────────────────────────────────────────────────── */
.cr-blog-sidebar {
  display:        flex;
  flex-direction: column;
  gap:            28px;
  position:       sticky;
  top:            32px;
}
.cr-sidebar-cta {
  background:    var(--cr-navy2);
  padding:       32px 28px;
  border-top:    3px solid var(--cr-gold);
}
.cr-sidebar-cta h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     20px;
  font-weight:   600;
  color:         var(--cr-text-on-dark);
  margin-bottom: 10px !important;
  margin-top:    0 !important;
  line-height:   1.3;
}
.cr-sidebar-cta p {
  font-size:     14px;
  color:         var(--cr-text-muted-dark);
  line-height:   1.65;
  margin-bottom: 0 !important;
}
.cr-sidebar-heading {
  font-family:    'Montserrat', sans-serif;
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color:          var(--cr-navy2);
  margin-bottom:  16px !important;
  margin-top:     0 !important;
}
.cr-sidebar-recent,
.cr-sidebar-guide {
  background: var(--cr-bg-white);
  padding:    28px;
  border:     1px solid rgba(63,52,131,0.08);
}
.cr-sidebar-guide p {
  font-size:     14px;
  color:         var(--cr-text-stone);
  line-height:   1.65;
  margin-bottom: 16px !important;
}
.cr-recent-post {
  display:        flex;
  gap:            12px;
  align-items:    center;
  padding:        12px 0;
  border-bottom:  1px solid rgba(63,52,131,0.07);
  text-decoration: none;
  transition:     opacity var(--cr-dur);
}
.cr-recent-post:last-child { border-bottom: none; }
.cr-recent-post:hover { opacity: 0.75; }
.cr-recent-post-img {
  width:           56px;
  height:          56px;
  border-radius:   4px;
  background-size: cover;
  background-position: center;
  flex-shrink:     0;
}
.cr-recent-post-body {
  display:        flex;
  flex-direction: column;
  gap:            3px;
}
.cr-recent-post-date {
  font-size:  11px;
  color:      var(--cr-text-stone);
  opacity:    0.7;
}
.cr-recent-post-title {
  font-size:   13px;
  font-weight: 600;
  color:       var(--cr-navy2);
  line-height: 1.35;
}

/* ── Blog card grid (related posts) ───────────────────────────── */
.cr-blog-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   28px;
}
.cr-blog-card {
  background: var(--cr-bg-white);
  border:     1px solid rgba(63,52,131,0.08);
  transition: box-shadow var(--cr-dur), transform var(--cr-dur);
}
.cr-blog-card:hover {
  box-shadow: 0 8px 32px rgba(9,19,55,0.1);
  transform:  translateY(-3px);
}
.cr-blog-card-img-wrap { display: block; }
.cr-blog-card-img {
  height:              200px;
  background-size:     cover;
  background-position: center;
  transition:          transform 0.4s ease;
}
.cr-blog-card:hover .cr-blog-card-img { transform: scale(1.03); }
.cr-blog-card-body { padding: 24px 22px; }
.cr-blog-cat-tag {
  font-size:      11px;
  font-weight:    600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color:          var(--cr-gold-on-light);
  display:        block;
  margin-bottom:  8px;
}
.cr-blog-card-body h3 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     20px;
  font-weight:   600;
  color:         var(--cr-navy2);
  margin-bottom: 8px !important;
  margin-top:    0 !important;
  line-height:   1.3;
}
.cr-blog-card-body h3 a {
  color:           var(--cr-navy2);
  text-decoration: none;
}
.cr-blog-card-body h3 a:hover { color: var(--cr-indigo); }
.cr-blog-card-body p {
  font-size:     14px;
  color:         var(--cr-text-stone);
  line-height:   1.65;
  margin-bottom: 14px !important;
}
.cr-blog-read-more {
  font-size:      13px;
  font-weight:    600;
  color:          var(--cr-gold-on-light);
  text-decoration: none;
}
.cr-blog-read-more:hover { color: var(--cr-navy2); }

/* ── Responsive blog ───────────────────────────────────────────── */
@media (max-width: 960px) {
  .cr-blog-layout { grid-template-columns: 1fr; }
  .cr-blog-sidebar { position: static; }
  .cr-blog-grid    { grid-template-columns: repeat(2, 1fr); }
  .cr-blog-title   { font-size: 34px; }
}
@media (max-width: 600px) {
  .cr-blog-grid  { grid-template-columns: 1fr; }
  .cr-post-nav   { grid-template-columns: 1fr; }
  .cr-author-box { flex-direction: column; }
}

/* ══════════════════════════════════════════════════════════════════
   BLOG ARCHIVE — listing page styles
   ════════════════════════════════════════════════════════════════ */

/* Wide grid for archive (2 col instead of 3) */
.cr-blog-grid--wide {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   32px;
}
.cr-blog-archive-desc {
  font-size:   16px;
  color:       var(--cr-text-muted-dark);
  max-width:   640px;
  line-height: 1.78;
  margin-top:  14px !important;
}
.cr-blog-card-meta {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-size:   12px;
  color:       var(--cr-text-stone);
  margin-bottom: 10px;
  opacity:     0.8;
}
.cr-blog-card-body h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     22px;
  font-weight:   600;
  color:         var(--cr-navy2);
  line-height:   1.25;
  margin-bottom: 8px !important;
  margin-top:    6px !important;
}
.cr-blog-card-body h2 a {
  color:           var(--cr-navy2);
  text-decoration: none;
  transition:      color var(--cr-dur);
}
.cr-blog-card-body h2 a:hover { color: var(--cr-indigo); }
.cr-blog-main { min-width: 0; }

/* Pagination */
.cr-blog-archive .wp-block-query-pagination,
.cr-blog-archive .navigation.pagination {
  margin-top: 48px;
}
.cr-blog-archive .nav-links {
  display:         flex;
  gap:             8px;
  flex-wrap:       wrap;
  align-items:     center;
  justify-content: center;
}
.cr-blog-archive .page-numbers {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           38px;
  height:          38px;
  font-size:       13px;
  font-weight:     500;
  color:           var(--cr-text-stone);
  border:          1px solid rgba(63,52,131,0.15);
  text-decoration: none;
  transition:      all var(--cr-dur);
}
.cr-blog-archive .page-numbers:hover,
.cr-blog-archive .page-numbers.current {
  background: var(--cr-navy2);
  color:      var(--cr-text-on-dark);
  border-color: var(--cr-navy2);
}
.cr-blog-archive .page-numbers.prev,
.cr-blog-archive .page-numbers.next {
  width:       auto;
  padding:     0 16px;
}

/* Empty state */
.cr-blog-empty {
  text-align: center;
  padding:    80px 20px;
}
.cr-blog-empty h2 {
  font-family:   'Cormorant Garamond', serif;
  font-size:     32px;
  color:         var(--cr-navy2);
  margin-bottom: 12px !important;
}
.cr-blog-empty p {
  font-size:     15px;
  color:         var(--cr-text-stone);
  margin-bottom: 28px !important;
}

/* Sidebar search */
.cr-sidebar-search {
  background: var(--cr-bg-white);
  padding:    24px;
  border:     1px solid rgba(63,52,131,0.08);
  margin-bottom: 0;
}
.cr-sidebar-search .wp-block-search__inside-wrapper,
.cr-sidebar-search form {
  display: flex;
  gap:     8px;
}
.cr-sidebar-search input[type="search"] {
  flex:          1;
  padding:       8px 12px;
  font-size:     14px;
  border:        1px solid rgba(63,52,131,0.15);
  border-radius: 0;
  font-family:   'Montserrat', sans-serif;
  color:         var(--cr-navy2);
}
.cr-sidebar-search input[type="search"]:focus {
  outline:      2px solid var(--cr-navy2);
  outline-offset: 0;
}
.cr-sidebar-search input[type="submit"],
.cr-sidebar-search button[type="submit"] {
  padding:        8px 16px;
  font-size:      12px;
  font-weight:    600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background:     var(--cr-navy2);
  color:          var(--cr-gold-light);
  border:         none;
  cursor:         pointer;
  font-family:    'Montserrat', sans-serif;
  transition:     background var(--cr-dur);
}
.cr-sidebar-search input[type="submit"]:hover,
.cr-sidebar-search button[type="submit"]:hover {
  background: var(--cr-indigo);
}

/* Sidebar categories */
.cr-sidebar-cats {
  background: var(--cr-bg-white);
  padding:    24px 28px;
  border:     1px solid rgba(63,52,131,0.08);
}
.cr-sidebar-cats ul {
  list-style:   none;
  padding:      0;
  margin:       0;
}
.cr-sidebar-cats ul li {
  border-bottom: 1px solid rgba(63,52,131,0.07);
}
.cr-sidebar-cats ul li:last-child { border-bottom: none; }
.cr-sidebar-cats ul li a {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding:         10px 0;
  font-size:       14px;
  color:           var(--cr-text-stone);
  text-decoration: none;
  transition:      color var(--cr-dur);
}
.cr-sidebar-cats ul li a:hover { color: var(--cr-navy2); }
.cr-cat-count {
  font-size:   11px;
  color:       var(--cr-text-stone);
  background:  var(--cr-bg-alt);
  padding:     2px 8px;
  border-radius: 2px;
  opacity:     0.7;
}

/* Responsive archive */
@media (max-width: 900px) {
  .cr-blog-grid--wide { grid-template-columns: 1fr; }
}

.cr-step:hover p { color: #000000; transition: color 0.2s ease; }

/* ══════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — Hero sections full fix
   Covers: homepage hero, buyer page heroes, inner page heroes,
   blog hero, section headings, container padding
   ════════════════════════════════════════════════════════════════ */

/* ── Tablet 768px ──────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* Hero layout — stack portrait above content */
  .cr-hero-layout {
    flex-direction:  column-reverse !important;
    flex-wrap:       wrap !important;
    gap:             28px !important;
    align-items:     center !important;
  }
  .cr-hero-content {
    width:      100% !important;
    text-align: left;
  }
  .cr-hero-portrait-wrap {
    width:           100% !important;
    display:         flex !important;
    justify-content: center !important;
    padding:         0 !important;
  }
  .cr-hero-portrait {
    width:         160px !important;
    height:        205px !important;
    border-radius: 80px !important;
  }

  /* Hero typography */
  .cr-hero h1,
  .cr-blog-hero .cr-blog-title {
    font-size:   34px !important;
    line-height: 1.15 !important;
  }
  .cr-hero p,
  .cr-hero-tagline,
  .cr-hero-body {
    font-size: 14px !important;
  }
  .cr-blog-archive-desc { font-size: 14px !important; }

  /* Hero padding */
  .cr-hero {
    padding-top:    48px !important;
    padding-bottom: 48px !important;
  }
  .cr-blog-hero {
    padding-top:    48px !important;
    padding-bottom: 40px !important;
  }

  /* Container horizontal padding */
  .cr-container {
    padding-left:  20px !important;
    padding-right: 20px !important;
  }

  /* Hero buttons stack */
  .cr-btn-row {
    flex-direction: column !important;
    align-items:    flex-start !important;
    gap:            12px !important;
  }
  .cr-btn-primary,
  .cr-btn-ghost {
    width:      100% !important;
    text-align: center !important;
  }

  /* Section headings */
  .cr-sec-head h2,
  .cr-content-dark h2,
  .cr-content-light h2,
  .cr-content-alt h2 {
    font-size:   28px !important;
    line-height: 1.2 !important;
  }

  /* Two col layouts go single */
  .cr-two-col,
  .cr-two-col-wide {
    grid-template-columns: 1fr !important;
    gap:                   32px !important;
  }

  /* Blog layout */
  .cr-blog-layout {
    grid-template-columns: 1fr !important;
  }
  .cr-blog-grid--wide {
    grid-template-columns: 1fr !important;
  }
  .cr-blog-grid {
    grid-template-columns: 1fr !important;
  }
  .cr-blog-sidebar {
    position: static !important;
  }

  /* Experts grid */
  .cr-experts-grid {
    grid-template-columns: 1fr !important;
  }

  /* Steps */
  .cr-roadmap-grid {
    grid-template-columns: 1fr !important;
  }

  /* Partner strip */
  .cr-partner-strip-inner {
    flex-direction: column !important;
  }
  .cr-partner-divider { display: none !important; }

  /* Team support */
  .cr-team-support-grid {
    grid-template-columns: 1fr !important;
  }

  /* Newsletter strip */
  .cr-newsletter-strip {
    flex-direction: column !important;
    text-align:     center !important;
    padding:        36px 20px !important;
  }

  /* Team callout */
  .cr-team-callout {
    flex-direction: column !important;
    text-align:     left !important;
    gap:            16px !important;
  }
  .cr-team-callout .cr-btn-primary {
    width: 100% !important;
  }

  /* Calculator hub */
  .cr-calc-tabs {
    overflow-x: auto !important;
    flex-wrap:  nowrap !important;
    -webkit-overflow-scrolling: touch;
  }
  .cr-calc-tab {
    flex-shrink: 0 !important;
  }
  .cr-calc-grid {
    grid-template-columns: 1fr !important;
    gap:                   24px !important;
  }
  .cr-calc-panel {
    padding: 20px !important;
  }
  .cr-compare-wrap {
    grid-template-columns: 1fr !important;
  }
}

/* ── Small mobile 480px ────────────────────────────────────────── */
@media (max-width: 480px) {
  .cr-hero h1,
  .cr-blog-hero .cr-blog-title {
    font-size:   28px !important;
    line-height: 1.2 !important;
  }
  .cr-hero-portrait {
    width:         130px !important;
    height:        167px !important;
    border-radius: 65px !important;
  }
  .cr-hero {
    padding-top:    36px !important;
    padding-bottom: 36px !important;
  }
  .cr-content-dark,
  .cr-content-light,
  .cr-content-alt {
    padding-top:    48px !important;
    padding-bottom: 48px !important;
  }
  .cr-sec-head h2,
  .cr-content-dark h2,
  .cr-content-light h2 {
    font-size: 24px !important;
  }
  .cr-blog-title { font-size: 26px !important; }
  .cr-range-val  { font-size: 15px !important; min-width: 70px !important; }

  /* Buyers grid single col */
  .cr-buyers-grid {
    grid-template-columns: 1fr !important;
  }
  .cr-buyer-widget {
    max-width: 100% !important;
  }

  /* Videos */
  .cr-video-grid,
  .cr-video-hub-grid {
    grid-template-columns: 1fr !important;
  }

  /* Local info area grid */
  div[style*="grid-template-columns: repeat(4"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  div[style*="grid-template-columns: repeat(3"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  div[style*="grid-template-columns: repeat(2"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  /* Post nav */
  .cr-post-nav {
    grid-template-columns: 1fr !important;
  }

  /* Author box */
  .cr-author-box {
    flex-direction: column !important;
  }
}
