/*
 * YouthBlazer — Full Design System
 * Father's colour palette: Royal blue · Sunshine yellow · Forest green · White
 */

/* ============================================================
   COLOUR PALETTE & TOKENS
   ============================================================ */
:root {
  --blue:     #1E4FBF;
  --blue-d:   #153A99;
  --blue-lt:  #E8EFFE;
  --yellow:   #FFB800;
  --yellow-d: #D99D00;
  --yellow-lt:#FFF8DE;
  --green:    #1B7B4A;
  --green-d:  #145E38;
  --green-lt: #E4F5EC;
  --white:    #FFFFFF;
  --cream:    #FFFEF5;
  --warm:     #F5F0E6;
  --dark:     #07091C;
  --slate:    #12193A;
  --text:     #0F1226;
  --muted:    #5A6080;
  --border:   #E2E8F0;
}

/* ============================================================
   FIX — theme.json has a palette slug "text" which causes WP to
   generate `.has-text-color { color: var(--wp--preset--color--text) !important; }`
   That collides with WP's own `has-text-color` marker class, forcing
   every block with an explicit textColor to render in dark #0F1226 —
   breaking white/cream text on blue/dark backgrounds. The compound
   selectors below have higher specificity (0,2,0) than the colliding
   single-class rule (0,1,0) so they win regardless of order.
   ============================================================ */
.has-white-color.has-text-color   { color: var(--wp--preset--color--white)   !important; }
.has-cream-color.has-text-color   { color: var(--wp--preset--color--cream)   !important; }
.has-warm-color.has-text-color    { color: var(--wp--preset--color--warm)    !important; }
.has-yellow-color.has-text-color  { color: var(--wp--preset--color--yellow)  !important; }
.has-yellow-light-color.has-text-color { color: var(--wp--preset--color--yellow-light) !important; }
.has-yellow-dark-color.has-text-color  { color: var(--wp--preset--color--yellow-dark)  !important; }
.has-blue-color.has-text-color    { color: var(--wp--preset--color--blue)    !important; }
.has-blue-light-color.has-text-color   { color: var(--wp--preset--color--blue-light)   !important; }
.has-blue-dark-color.has-text-color    { color: var(--wp--preset--color--blue-dark)    !important; }
.has-green-color.has-text-color   { color: var(--wp--preset--color--green)   !important; }
.has-green-light-color.has-text-color  { color: var(--wp--preset--color--green-light)  !important; }
.has-green-dark-color.has-text-color   { color: var(--wp--preset--color--green-dark)   !important; }
.has-dark-color.has-text-color    { color: var(--wp--preset--color--dark)    !important; }
.has-slate-color.has-text-color   { color: var(--wp--preset--color--slate)   !important; }
.has-muted-color.has-text-color   { color: var(--wp--preset--color--muted)   !important; }

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:'Nunito Sans',sans-serif;
  color:var(--text);background:var(--cream);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ============================================================
   TOPBAR
   ============================================================ */
#yb-topbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:var(--blue);
  padding:0.45rem 2rem;text-align:center;
  font-family:'Nunito Sans',sans-serif;font-size:0.8rem;font-weight:600;
  color:rgba(255,255,255,0.9);letter-spacing:0.02em;
  transition:transform 0.35s ease;
}
#yb-topbar.hidden{transform:translateY(-100%);}
#yb-topbar a{color:var(--yellow);font-weight:700;}

/* ============================================================
   HEADER — glass morphism
   ============================================================ */
#yb-header{
  position:fixed;top:34px;left:0;right:0;z-index:190;
  height:76px;
  background:rgba(7,9,28,0.6);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:background 0.35s,top 0.35s,box-shadow 0.35s;
}
#yb-header.solid{
  background:rgba(255,255,255,0.97);
  border-bottom-color:rgba(0,0,0,0.1);
  box-shadow:0 2px 20px rgba(0,0,0,0.1);
  top:0;
}
.hdr-inner{
  max-width:1300px;margin:0 auto;
  padding:0 2.5rem 0 0;height:100%;
  display:flex;align-items:stretch;justify-content:space-between;gap:2rem;
}

/* Logo */
.yb-logo-link{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:0.75rem;line-height:1;text-decoration:none;}
.yb-logo-text{
  font-family:'Bebas Neue',sans-serif;font-size:1.85rem;letter-spacing:0.07em;
  color:#fff;transition:color 0.35s;
}
#yb-header.solid .yb-logo-text{color:var(--blue);}
.yb-logo-sub{
  font-family:'Montserrat',sans-serif;font-size:0.55rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;white-space:nowrap;
  color:rgba(255,255,255,0.45);margin-top:0.15rem;transition:color 0.35s;
}
#yb-header.solid .yb-logo-sub{color:var(--muted);}

/* Nav */
.yb-nav{display:flex;align-items:center;}
.yb-nav ul{display:flex;align-items:flex-end;gap:0;list-style:none;margin:0;padding:0;}
.yb-nav ul li{position:relative;}
.yb-nav ul li a{
  position:relative;
  font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;
  line-height:1;padding:0.3rem 0.85rem 0;display:inline-block;
  min-height:0;border-radius:0;
  transition:color 0.22s;
}
#yb-header.solid .yb-nav ul li a{color:var(--text);}
.yb-nav ul li a:hover,
.yb-nav ul li.current-menu-item > a,
.yb-nav ul li.current_page_item > a{color:#fff;background:transparent;}
#yb-header.solid .yb-nav ul li a:hover,
#yb-header.solid .yb-nav ul li.current-menu-item > a,
#yb-header.solid .yb-nav ul li.current_page_item > a{color:var(--blue);background:transparent;}

/* Thin animated underline on hover */
.yb-nav ul li a::after{
  content:'';position:absolute;
  bottom:-3px;left:0.85rem;right:0.85rem;height:1px;
  background:var(--yellow);
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.3s ease;
}
.yb-nav ul li a:hover::after,
.yb-nav ul li.current-menu-item > a::after,
.yb-nav ul li.current_page_item > a::after{
  transform:scaleX(1);
}

/* Header CTA button — outline style */
.hdr-cta{
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:0.78rem;
  letter-spacing:0.04em;
  background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,0.45);
  padding:0.6rem 1.4rem;border-radius:999px;
  white-space:nowrap;flex-shrink:0;align-self:center;
  transition:background 0.25s,border-color 0.25s,color 0.25s,box-shadow 0.25s,transform 0.15s;
}
.hdr-cta:hover{
  background:var(--yellow);color:var(--dark);
  border-color:var(--yellow);
  box-shadow:0 6px 22px rgba(255,184,0,0.35);
  transform:translateY(-1px);
}
#yb-header.solid .hdr-cta{
  color:var(--blue);
  border-color:var(--blue);
}
#yb-header.solid .hdr-cta:hover{
  background:var(--yellow);
  border-color:var(--yellow);
  color:var(--dark);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:0.88rem;
  letter-spacing:0.04em;padding:0.82rem 2rem;border-radius:999px;
  border:2px solid transparent;cursor:pointer;
  transition:all 0.22s cubic-bezier(0.25,0.46,0.45,0.94);
}
.btn-yellow{background:var(--yellow);color:var(--dark);border-color:var(--yellow);}
.btn-yellow:hover{background:var(--yellow-d);border-color:var(--yellow-d);color:#fff;box-shadow:0 8px 28px rgba(255,184,0,0.48);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,0.45);}
.btn-ghost:hover{background:rgba(255,255,255,0.1);border-color:#fff;}
.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue);}
.btn-blue:hover{background:var(--blue-d);border-color:var(--blue-d);box-shadow:0 8px 28px rgba(30,79,191,0.42);}
.btn-outline-blue{background:transparent;color:var(--blue);border-color:var(--blue);}
.btn-outline-blue:hover{background:var(--blue);color:#fff;box-shadow:0 8px 28px rgba(30,79,191,0.28);}
.btn-green{background:var(--green);color:#fff;border-color:var(--green);}
.btn-green:hover{background:var(--green-d);border-color:var(--green-d);box-shadow:0 8px 28px rgba(27,123,74,0.42);}
.btn-outline-green{background:transparent;color:var(--green);border-color:var(--green);}
.btn-outline-green:hover{background:var(--green);color:#fff;}
.btn-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.25rem;}

/* ============================================================
   HERO — SPLIT LAYOUT
   ============================================================ */
.hero{
  width:100%;height:100vh;min-height:680px;overflow:hidden;
  display:grid;grid-template-columns:52fr 48fr;
  position:relative;
}
.hero-l{
  position:relative;
  background:linear-gradient(155deg,#07091C 0%,#0A0F2E 55%,#0B1828 100%);
  /* align hero text with header logo */
  display:flex;align-items:center;
  padding:0 4rem 3rem max(2.5rem, calc((100vw - 1300px) / 2 - 8px));z-index:2;overflow:hidden;
}
.hero-l::before{
  content:'';position:absolute;
  bottom:-2%;right:-4%;
  width:55%;height:65%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M120,180 C120,180 100,160 90,140 L80,110 C75,95 60,85 50,70 C40,55 42,35 55,28 C68,21 80,30 85,45 L90,55 C95,45 100,35 110,30 C120,25 135,28 140,40 C145,52 138,65 130,72 L125,78 C135,85 145,100 148,118 C151,136 145,155 140,165 L135,175 Z' fill='%231E4FBF' opacity='0.06'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;background-position:bottom right;
  pointer-events:none;
}
.hero-l::after{
  content:'';position:absolute;
  top:-15%;left:-8%;
  width:70%;height:55%;
  background:radial-gradient(ellipse,rgba(30,79,191,0.18) 0%,transparent 65%);
  pointer-events:none;
}
.hero-l-glow{
  position:absolute;bottom:-10%;left:15%;
  width:55%;height:40%;
  background:radial-gradient(ellipse,rgba(255,184,0,0.08) 0%,transparent 65%);
  pointer-events:none;
}
.hero-grain{
  position:absolute;inset:0;pointer-events:none;opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:256px;
}
.hero-content{
  position:relative;z-index:2;max-width:560px;
  padding-top:145px;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}

.hero-badge{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;
  letter-spacing:0.26em;text-transform:uppercase;color:var(--yellow);
  border:1.5px solid rgba(255,184,0,0.35);
  padding:0.38rem 1.1rem;border-radius:3px;
  margin-bottom:1.8rem;width:fit-content;
  animation:fadeUp 0.9s ease both 0.45s;
}
.hero-badge::before{content:'★';font-size:0.58rem;}

.hero-hl{
  font-family:'Bebas Neue',sans-serif;
  line-height:0.87;letter-spacing:0.01em;margin-bottom:2rem;
  animation:fadeUp 0.9s ease both 0.62s;
}
.hero-hl .l{display:block;}
.hero-hl .l-w{font-size:clamp(3.5rem,7vw,7rem);color:#fff;}
.hero-hl .l-y{font-size:clamp(3.5rem,7vw,7rem);color:transparent;-webkit-text-stroke:2.5px var(--yellow);white-space:nowrap;}
.hero-hl .l-d{font-size:clamp(1.8rem,3.2vw,3.4rem);color:#fff;-webkit-text-stroke:1px rgba(0,0,0,0.35);paint-order:stroke fill;margin-top:0.15em;}

.hero-desc{
  font-size:0.95rem;line-height:1.8;
  color:rgba(255,255,255,0.68);max-width:none;
  animation:fadeUp 0.9s ease both 0.78s;
}
.hero-desc em,.hero-desc strong{color:rgba(255,255,255,0.94);font-style:normal;font-weight:600;}
.hero-desc .malawi{color:var(--yellow);font-weight:700;font-style:normal;}

/* Hero glass card */
.hero-glass{
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:10px;
  padding:1.2rem 1.5rem;
  max-width:480px;
}
.hero-glass .hero-desc{
  animation:none;margin:0;
}

/* Hero RIGHT — Ken Burns slideshow */
.hero-r{position:relative;overflow:hidden;}
.hslide{
  position:absolute;inset:0;
  background-size:cover;background-position:center top;
  opacity:0;will-change:transform,opacity;
  transition:opacity 1.2s ease-in-out;
  transform:scale(1.01);
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.hslide.is-active{opacity:1;animation:kenBurns 16s ease-in-out forwards;}
@keyframes kenBurns{
  0%  {transform:scale(1.0) translate(0,0);}
  100%{transform:scale(1.06) translate(-0.5%,-0.5%);}
}
.hslide.s2.is-active{animation-name:kenBurns2;}
.hslide.s3.is-active{animation-name:kenBurns3;}
.hslide.s4.is-active{animation-name:kenBurns4;}
@keyframes kenBurns2{0%{transform:scale(1.0) translate(0.5%,0);}100%{transform:scale(1.07) translate(-0.5%,-0.5%);}}
@keyframes kenBurns3{0%{transform:scale(1.01) translate(0,0.5%);}100%{transform:scale(1.08) translate(0,-0.5%);}}
@keyframes kenBurns4{0%{transform:scale(1.0) translate(-0.5%,0);}100%{transform:scale(1.06) translate(0.5%,-0.5%);}}

.hero-r-ov{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(to right,rgba(7,9,28,0.68) 0%,rgba(7,9,28,0.2) 15%,transparent 36%),
    linear-gradient(to top,rgba(7,9,28,0.52) 0%,rgba(7,9,28,0.1) 18%,transparent 35%);
}
/* Slider dots — sit higher so they remain visible on shorter viewports / when the
   user starts scrolling. Anchored 14% from the bottom (≈ 95–110px on 800–1100px
   tall heroes) so they don't hug the very edge. */
.hero-dots{
  position:absolute;bottom:14%;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;gap:0.55rem;align-items:center;
  padding:0.55rem 0.85rem;border-radius:999px;
  background:rgba(7,9,28,0.45);backdrop-filter:blur(6px);
}
.hero-dot{
  width:11px;height:11px;border-radius:50%;
  background:rgba(255,255,255,0.45);border:1.5px solid rgba(255,255,255,0.55);
  cursor:pointer;transition:all 0.25s ease;padding:0;
}
.hero-dot:hover{background:rgba(255,255,255,0.85);transform:scale(1.1);}
.hero-dot.on{
  background:var(--yellow);border-color:var(--yellow);
  width:28px;border-radius:6px;
  box-shadow:0 0 0 2px rgba(255,184,0,0.25);
}

/* Slider prev / next arrows — visible on the hero panel */
.hero-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border-radius:50%;
  background:rgba(7,9,28,0.55);border:1.5px solid rgba(255,255,255,0.35);
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;padding:0;
  backdrop-filter:blur(6px);
  transition:background 0.22s ease,border-color 0.22s ease,transform 0.22s ease;
}
.hero-arrow svg{width:22px;height:22px;}
.hero-arrow:hover{
  background:var(--yellow);border-color:var(--yellow);color:var(--dark);
  transform:translateY(-50%) scale(1.06);
}
.hero-arrow:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;}
.hero-arrow--prev{left:1.25rem;}
.hero-arrow--next{right:1.25rem;}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:0.3rem;opacity:0.42;animation:scrollBounce 2.6s ease-in-out infinite;transition:opacity 0.3s;}
.hero-scroll span{display:block;width:1px;height:30px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,0.7));}
.hero-scroll small{font-family:'Montserrat',sans-serif;font-size:0.57rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.5);}
@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0);}55%{transform:translateX(-50%) translateY(8px);}}

/* ============================================================
   STATS BAR
   ============================================================ */
.statsbar{background:var(--dark);padding:1.75rem 0;}
.stats-inner{max-width:1200px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:0.5rem;}
.stat{text-align:center;padding:0.4rem 1rem;}
.stat-n{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--yellow);letter-spacing:0.05em;line-height:1;display:block;}
.stat-l{font-family:'Montserrat',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.38);margin-top:0.2rem;}
.stat-sep{width:1px;height:36px;background:rgba(255,255,255,0.08);flex-shrink:0;}

/* ============================================================
   LAYOUT HELPERS
   ============================================================ */
.section{padding:6.5rem 0;}
.section-white{background:var(--white);}
.section-warm{background:var(--warm);}
.section-dark{background:var(--slate);color:#fff;}
.container{max-width:1200px;margin:0 auto;padding:0 2.5rem;}

.eyebrow{display:block;font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:var(--blue);margin-bottom:0.65rem;}
.eyebrow-yellow{color:var(--yellow-d);}
.eyebrow-green{color:var(--green);}
.sh{font-family:'Montserrat',sans-serif;font-size:clamp(1.9rem,3.2vw,2.75rem);font-weight:800;line-height:1.12;color:var(--text);margin-bottom:1.2rem;}
.sh-white{color:#fff;}
.sb{font-size:1.04rem;line-height:1.8;color:var(--muted);max-width:560px;}
.sb-white{color:rgba(255,255,255,0.7);}
.sb strong{color:var(--text);font-weight:700;}
.sb-white strong{color:var(--yellow);}
.sec-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem;}

/* ============================================================
   FEATURE BLOCKS (book, meet caleb)
   ============================================================ */
.feature{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center;}
@media(min-width:768px){
  .feature{grid-template-columns:1fr 1fr;}
  .feat-rev .feat-img{order:2;}.feat-rev .feat-txt{order:1;}
}
.feat-img{position:relative;border-radius:20px;overflow:visible;}
.feat-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 15%;display:block;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,0.14);transition:transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);}
.feat-img:hover img{transform:scale(1.03);}
.feat-img::after{content:'';position:absolute;bottom:-10px;right:-10px;width:44%;height:44%;border-bottom:3px solid var(--yellow);border-right:3px solid var(--yellow);border-radius:0 0 20px 0;pointer-events:none;}
.feat-img-inner{overflow:hidden;border-radius:20px;}
.feat-txt{padding:0.5rem 0;}
.feat-txt .btn-group{margin-top:2.25rem;}
.feat-list{margin:1.25rem 0;display:flex;flex-direction:column;gap:0.5rem;}
.feat-list li{display:flex;align-items:center;gap:0.7rem;font-family:'Nunito Sans',sans-serif;font-size:0.95rem;font-weight:600;color:var(--text);}
.feat-list li::before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0;}

/* ============================================================
   MEET CALEB
   ============================================================ */
.meet-grid{display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:center;}
@media(min-width:768px){.meet-grid{grid-template-columns:1fr 1fr;}}
.meet-img{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.12);}
.meet-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 15%;display:block;border-radius:20px;transition:transform 0.7s ease;}
.meet-img:hover img{transform:scale(1.03);}
.meet-img::after{content:'';position:absolute;top:-10px;left:-10px;width:44%;height:44%;border-top:3px solid var(--blue);border-left:3px solid var(--blue);border-radius:20px 0 0 0;pointer-events:none;}
.fun-facts{display:grid;grid-template-columns:1fr;gap:0.75rem;margin:1.5rem 0;}
@media(min-width:480px){.fun-facts{grid-template-columns:1fr 1fr;}}
.fun-fact{background:var(--white);border-radius:12px;padding:0.85rem 1rem;border-left:3px solid var(--blue);font-size:0.88rem;color:var(--text);box-shadow:0 2px 10px rgba(0,0,0,0.05);}
.fun-fact strong{color:var(--blue);font-family:'Montserrat',sans-serif;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;display:block;margin-bottom:0.2rem;}

/* ============================================================
   QUOTE STRIP
   ============================================================ */
.quote-strip{
  background:transparent;
  padding:5.5rem 2rem 5.5rem;position:relative;
}
.quote-inner{
  max-width:780px;margin:0 auto;position:relative;text-align:center;
}
/* Inline flanking quote marks + centered text */
.quote-line{
  display:flex;align-items:flex-start;justify-content:center;
  gap:clamp(0.6rem,1.4vw,1.2rem);
  margin:0 auto 1.4rem;
}
.quote-mark{
  font-family:'Times New Roman','Georgia',serif;
  font-weight:400;line-height:0.6;
  color:var(--yellow);opacity:0;
  font-size:clamp(2.6rem,4vw,3.8rem);
  user-select:none;pointer-events:none;flex:none;
  display:inline-block;
  transition:opacity 0.6s ease 0.2s,transform 0.6s cubic-bezier(.2,.7,.2,1) 0.2s;
}
.quote-mark--l{
  margin-top:-0.55em;
  transform:translateX(-8px);
}
.quote-mark--r{
  margin-top:-0.55em;
  transform:translateX(8px);
}
.quote-strip.reveal.in .quote-mark--l,
.quote-strip.reveal.in .quote-mark--r{opacity:0.95;transform:translateX(0);}

.quote-q{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.25rem,2.2vw,1.9rem);
  font-weight:600;font-style:normal;
  line-height:1.35;letter-spacing:-0.005em;
  color:var(--text);margin:0;position:relative;
  /* reserve space to prevent CLS during typewriter animation */
  min-height:1.35em;white-space:nowrap;overflow:hidden;
}
@media (max-width:720px){
  .quote-line{gap:0.4rem;align-items:flex-start;}
  .quote-q{white-space:normal;min-height:2.7em;font-size:1.1rem;}
  .quote-mark{font-size:2.2rem;}
}
.quote-cursor{
  display:inline-block;width:3px;height:0.85em;margin-left:4px;
  background:var(--yellow);vertical-align:-0.08em;border-radius:1px;
  animation:quoteBlink 0.85s step-end infinite;
}
@keyframes quoteBlink{0%,50%{opacity:1;}50.01%,100%{opacity:0;}}
.quote-strip.typing-done .quote-cursor{animation:none;opacity:0;transition:opacity 0.4s ease 0.3s;}
.quote-divider{
  width:48px;height:3px;background:var(--yellow);border-radius:2px;
  margin:0 auto 1rem;position:relative;z-index:1;
  opacity:0;transform:scaleX(0.3);transform-origin:center center;
  transition:opacity 0.6s ease 0.5s,transform 0.6s cubic-bezier(.2,.7,.2,1) 0.5s;
}
.quote-strip.reveal.in .quote-divider{opacity:1;transform:scaleX(1);}
.quote-attr{
  font-family:'Montserrat',sans-serif;font-size:0.9rem;font-weight:500;font-style:normal;
  letter-spacing:0.01em;text-transform:none;color:rgba(15,18,38,0.6);
  margin:0;position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;gap:0.55rem;flex-wrap:wrap;
  opacity:0;transform:translateY(8px);
  transition:opacity 0.6s ease 0.7s,transform 0.6s ease 0.7s;
}
.quote-strip.reveal.in .quote-attr{opacity:1;transform:translateY(0);}
.quote-attr span{color:var(--text);font-weight:700;position:relative;padding-right:0.85rem;}
.quote-attr span::after{
  content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:3px;height:3px;background:var(--yellow);border-radius:50%;
}
@media (max-width:720px){
  .quote-strip{padding:3.5rem 1.25rem 3.5rem;}
  .quote-attr{font-size:0.82rem;gap:0.45rem;}
}

/* ============================================================
   ROAR FOR READING — Forest green
   ============================================================ */
.roar-banner{background:var(--green);padding:6.5rem 0;position:relative;overflow:hidden;}
.roar-banner::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 80% 20%,rgba(255,255,255,0.06) 0%,transparent 55%);pointer-events:none;}
.roar-inner{display:grid;grid-template-columns:1fr;gap:3.5rem;}
@media(min-width:768px){.roar-inner{grid-template-columns:1fr 1fr;align-items:center;}}
.roar-label{font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.28em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-bottom:0.8rem;}
.roar-heading{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,8vw,7rem);line-height:0.88;letter-spacing:0.02em;color:#fff;margin-bottom:1.75rem;}
.roar-heading span{color:transparent;-webkit-text-stroke:2.5px var(--yellow);}
.roar-items{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:0.5rem;}
.roar-item{display:flex;align-items:center;gap:0.75rem;font-family:'Nunito Sans',sans-serif;font-size:0.95rem;color:rgba(255,255,255,0.82);font-weight:600;}
.roar-item::before{content:'';width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,0.15);border:2px solid rgba(255,255,255,0.35);flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6l3 3 5-5' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px;}
.malawi-card{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:16px;padding:1.5rem;backdrop-filter:blur(8px);}
.malawi-flag{font-size:1.8rem;margin-bottom:0.6rem;}
.malawi-card-label{font-family:'Montserrat',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:0.6rem;}
.malawi-card-text{font-family:'Nunito Sans',sans-serif;font-size:0.95rem;line-height:1.7;color:rgba(255,255,255,0.82);}
.malawi-card-text strong{color:#fff;font-weight:700;}

/* ============================================================
   TRAILBLAZER SPOTLIGHT — dark navy
   ============================================================ */
.spotlight{background:linear-gradient(135deg,var(--dark) 0%,#0A0F2E 100%);padding:6.5rem 0;color:#fff;position:relative;overflow:hidden;}
.spotlight::after{content:'';position:absolute;left:3%;bottom:5%;width:120px;height:140px;opacity:0.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 100'%3E%3Cellipse cx='40' cy='18' rx='8' ry='13' fill='white' transform='rotate(-15 40 18)'/%3E%3Cellipse cx='20' cy='28' rx='7' ry='12' fill='white' transform='rotate(-35 20 28)'/%3E%3Cellipse cx='60' cy='28' rx='7' ry='12' fill='white' transform='rotate(35 60 28)'/%3E%3Cellipse cx='40' cy='72' rx='18' ry='22' fill='white'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;}
.spotlight-inner{max-width:1200px;margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:center;}
@media(min-width:768px){.spotlight-inner{grid-template-columns:1fr 1fr;}}
.spotlight-ph{width:100%;aspect-ratio:4/5;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.spotlight-ph img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block;transition:transform 0.7s ease;}
.spotlight-ph:hover img{transform:scale(1.04);}
.spotlight-ph-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,9,28,0.75) 0%,rgba(7,9,28,0.15) 40%,transparent 65%);pointer-events:none;}
.spotlight-ph-badge{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;font-family:'Montserrat',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.7);}
.spotlight-ph-badge strong{display:block;font-size:1.1rem;letter-spacing:0.04em;color:#fff;margin-top:0.2rem;}
.nominee-note{margin-top:1.5rem;padding:1rem 1.25rem;background:rgba(255,255,255,0.06);border-radius:10px;border-left:3px solid var(--yellow);font-size:0.88rem;color:rgba(255,255,255,0.65);line-height:1.65;}
.nominee-note strong{color:var(--yellow);font-weight:700;}

/* ============================================================
   GRID + CARDS
   ============================================================ */
.grid{display:grid;gap:1.75rem;}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.grid-4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.06);transition:box-shadow 0.3s,transform 0.3s;}
.card:hover{box-shadow:0 12px 40px rgba(0,0,0,0.12);transform:translateY(-4px);}
.card-tw{overflow:hidden;}
.card-th{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center top;display:block;transition:transform 0.5s ease;}
.card:hover .card-th{transform:scale(1.05);}
.card-ph{width:100%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.55);position:relative;overflow:hidden;}
.card-ph::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 35%,rgba(255,255,255,0.12) 0%,transparent 55%);}
.ph-blue{background:linear-gradient(140deg,#1E4FBF,#0F2E82);}
.ph-yellow{background:linear-gradient(140deg,#E6A500,#C48700);}
.ph-green{background:linear-gradient(140deg,#1B7B4A,#0F4D2D);}
.ph-dk{background:linear-gradient(140deg,#2A3060,#141830);}
.card-body{padding:1.3rem 1.5rem 0.5rem;}
.card-tag{display:inline-block;font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.2rem 0.7rem;border-radius:999px;background:var(--blue-lt);color:var(--blue);margin-bottom:0.5rem;}
.card-tag-green{background:var(--green-lt);color:var(--green);}
.card-tag-yellow{background:var(--yellow-lt);color:var(--yellow-d);}
.card-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:0.98rem;color:var(--text);margin-bottom:0.35rem;}
.card-exc{font-size:0.88rem;color:var(--muted);line-height:1.65;}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding:0.85rem 1.5rem;border-top:1px solid rgba(0,0,0,0.05);}
.card-date{font-size:0.74rem;color:#bbb;font-weight:600;letter-spacing:0.04em;}
.card-link{font-family:'Montserrat',sans-serif;font-weight:700;font-size:0.8rem;color:var(--blue);display:inline-flex;align-items:center;gap:0.25rem;transition:gap 0.18s;}
.card-link:hover{gap:0.55rem;}

/* ============================================================
   FOOTER
   ============================================================ */
.yb-footer{background:var(--slate);padding:5.5rem 0 2rem;position:relative;overflow:hidden;}
.yb-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--blue),var(--yellow),var(--green));}
.footer-enhance{display:flex;flex-wrap:wrap;gap:0.6rem;align-items:center;padding:1.25rem 1.5rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);border-radius:12px;margin-bottom:3.5rem;}
.footer-enhance-label{font-family:'Montserrat',sans-serif;font-size:0.62rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--yellow);margin-right:0.5rem;}
.footer-pill{font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:600;padding:0.28rem 0.75rem;border-radius:999px;background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.1);}
.yb-footer__grid,.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:3.5rem;margin-bottom:0;}
.footer-brand,.yb-footer__brand{font-family:'Bebas Neue',sans-serif;font-size:1.9rem;letter-spacing:0.07em;color:#fff;margin-bottom:0.6rem;}
.footer-tag,.yb-footer__tagline{font-size:0.88rem;color:rgba(255,255,255,0.38);line-height:1.65;max-width:560px;margin-bottom:1.25rem;}
.footer-inline-links{display:flex;flex-wrap:wrap;gap:0;margin-top:0;margin-bottom:1.25rem;}
.footer-inline-links a{font-size:0.7rem;color:rgba(255,255,255,0.4);font-family:'Montserrat',sans-serif;font-weight:500;padding:0 0.55rem;border-right:1px solid rgba(255,255,255,0.15);line-height:1;transition:color 0.2s;white-space:nowrap;}
.footer-inline-links a:first-child{padding-left:0;}
.footer-inline-links a:last-child{border-right:none;}
.footer-inline-links a:hover{color:rgba(255,255,255,0.85);}
.footer-col h4,.yb-footer__links h4,.yb-footer__contact h4,.yb-footer__social-col h4{font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:1rem;}
.footer-col ul li a,.yb-footer__links ul li a{font-size:0.9rem;color:rgba(255,255,255,0.55);transition:color 0.2s;display:block;padding:0.22rem 0;}
.footer-col ul li a:hover,.yb-footer__links ul li a:hover{color:#fff;}
.yb-footer__links ul{list-style:none;padding:0;margin:0;}
.yb-footer__links ul li+li{margin-top:0.2rem;}
.footer-social,.yb-footer__social{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:0.5rem;}
.footer-social a,.yb-footer__social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.55);transition:all 0.2s;}
.footer-social a:hover,.yb-footer__social a:hover{background:var(--blue);border-color:var(--blue);color:#fff;}
.yb-footer__social svg{width:16px;height:16px;fill:currentColor;}
.footer-safe{font-size:0.78rem;color:rgba(255,255,255,0.28);margin-top:0.75rem;line-height:1.6;}
.yb-footer__copyright,.footer-copy{border-top:1px solid rgba(255,255,255,0.06);padding-top:1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem 1rem;}
.yb-footer__copyright p,.footer-copy p{font-size:0.78rem;color:rgba(255,255,255,0.25);}
.footer-legal-links{display:flex;gap:1rem;flex-wrap:wrap;}
.footer-legal-links a{font-family:'Nunito Sans',sans-serif;font-size:0.75rem;color:rgba(255,255,255,0.35);text-decoration:none;transition:color 0.2s;}
.footer-legal-links a:hover{color:var(--yellow);}
.footer-dev{width:100%;text-align:left;font-size:0.72rem;color:rgba(255,255,255,0.2);margin-top:0;line-height:1;}
.footer-dev a{color:rgba(255,255,255,0.3);font-weight:600;transition:color 0.2s;}
.footer-dev a:hover{color:var(--yellow);}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay{transition-delay:0.15s;}
.reveal-delay2{transition-delay:0.3s;}

/* ============================================================
   HERO — scroll-triggered stagger + unfiltered right image
   ============================================================ */
/* Kill the built-in right-side overlay (replaced by .hero::after blend) */
.hero-r-ov{display:none !important;}

/* Image layer spans the FULL hero width (no grid seam) with parallax */
.hero{position:relative;}
.hero-r{
  position:absolute !important;inset:0;width:100% !important;height:100% !important;
  z-index:1;overflow:hidden;
  transform:translate3d(0,var(--hero-py,0px),0);
  will-change:transform;
}
.hero .hslide{
  background-size:cover !important;
  background-repeat:no-repeat !important;
}

/* Kill hero-l's solid gradient bg + decorative pseudos so image shows through */
.hero-l{
  background:transparent !important;
  z-index:3 !important;
}
.hero-l::before,.hero-l::after,.hero-l-glow,.hero-grain{display:none !important;}

/* Lighter blend — peaks at 0.78 so image shows through the dark zone */
.hero::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(to right,
    rgba(7,9,28,0.45) 0%,
    rgba(7,9,28,0.32) 30%,
    rgba(7,9,28,0.15) 50%,
    rgba(7,9,28,0.05) 65%,
    transparent 80%);
}
.hero-dots,.hero-scroll{z-index:4 !important;}

/* Text shadows — let hero copy pop over brighter image */
.hero-hl,.hero-hl .l-w,.hero-hl .l-y,.hero-hl .l-d{
  text-shadow:0 2px 12px rgba(0,0,0,0.85),0 1px 3px rgba(0,0,0,0.6);
}
.hero-desc{text-shadow:0 1px 6px rgba(0,0,0,0.8);}
.hero-badge{text-shadow:0 1px 4px rgba(0,0,0,0.7);}

/* Override the auto-play fadeUp animations with IO-driven stagger */
.hero-l .hero-badge,
.hero-l .hero-hl,
.hero-l .hero-glass,
.hero-l .btn-group{
  animation:none !important;
  opacity:0;transform:translateY(28px);
  transition:opacity 0.85s cubic-bezier(.2,.7,.2,1),transform 0.85s cubic-bezier(.2,.7,.2,1);
}
.hero.is-visible .hero-badge{transition-delay:0ms;opacity:1;transform:translateY(0);}
.hero.is-visible .hero-hl{transition-delay:150ms;opacity:1;transform:translateY(0);}
.hero.is-visible .hero-glass{transition-delay:300ms;opacity:1;transform:translateY(0);}
.hero.is-visible .btn-group{transition-delay:450ms;opacity:1;transform:translateY(0);}

/* ============================================================
   PAGE HERO — inner page banner
   ============================================================ */

/* Page hero — image banner */
.yb-page-hero-img{
  width:100%;height:280px;overflow:hidden;
  margin-top:0;
}
.yb-page-hero-img img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;
}

/* Page hero — text section */
.yb-page-hero-text{
  background:linear-gradient(135deg,#07091C 0%,#0A0F2E 40%,#12193A 100%);
  padding:150px 2rem 2.5rem;
  text-align:center;
  position:relative;
}
/* Extend dark bg upward behind the fixed header so no cream gap shows */
.yb-page-hero-text::before{
  content:'';position:absolute;top:-120px;left:0;right:0;height:120px;
  background:#07091C;
  z-index:-1;
}
.yb-page-hero-text h1{
  font-family:'Montserrat',sans-serif;
  font-size:clamp(1.8rem,4vw,2.8rem);
  font-weight:800;
  letter-spacing:-0.01em;
  color:#fff;
  margin:0.6rem 0 0.4rem;
  text-transform:none;
}
.yb-page-hero-text p{
  font-family:'Nunito Sans',sans-serif;
  font-size:1.05rem;
  color:rgba(255,255,255,0.6);
  max-width:560px;margin:0 auto;
}
.yb-page-hero-text .yb-hero-accent{
  display:block;width:50px;height:3px;
  background:var(--yellow);
  margin:1.2rem auto 0;
  border-radius:2px;
}

/* Breadcrumb */
.yb-breadcrumb{
  font-family:'Nunito Sans',sans-serif;
  font-size:0.82rem;
  color:rgba(255,255,255,0.45);
  letter-spacing:0.03em;
}
.yb-breadcrumb a{
  color:var(--yellow);text-decoration:none;
  transition:color 0.2s;
}
.yb-breadcrumb a:hover{color:#fff;}
.yb-bc-sep{
  margin:0 0.4rem;opacity:0.5;
}

/* Blog post hero — date styling inside hero */
.yb-page-hero-text .posted-on{
  font-family:'Nunito Sans',sans-serif;
  font-size:0.85rem;
  color:rgba(255,255,255,0.5);
}

/* Category pill */
.yb-cat-pill{
  display:inline-block;
  background:var(--yellow);color:var(--dark);
  font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.1em;
  padding:0.3rem 0.9rem;border-radius:50px;
  margin-bottom:0.5rem;
}
.yb-cat-pill--sm{font-size:0.6rem;padding:0.2rem 0.7rem;}

/* Single post layout */
.yb-single-post{max-width:780px;margin:0 auto;}
.yb-post-featured{margin-bottom:2rem;border-radius:16px;overflow:hidden;}
.yb-post-featured img{width:100%;display:block;border-radius:16px;}
.yb-post-body{font-size:1.08rem;line-height:1.9;color:var(--text);}
.yb-post-body h2{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:clamp(1.3rem,3vw,1.7rem);color:var(--dark);
  margin:2.5rem 0 1rem;text-transform:none;
}
.yb-post-body p{margin-bottom:1.4rem;}
.yb-post-body strong{color:var(--dark);}
.yb-post-body em{color:var(--slate);}

/* Social share */
.yb-share{
  margin-top:2.5rem;padding-top:1.5rem;
  border-top:1px solid rgba(0,0,0,0.08);
}
.yb-share-label{
  font-family:'Montserrat',sans-serif;font-size:0.72rem;
  font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted);display:block;margin-bottom:0.75rem;
}
.yb-share-buttons{display:flex;gap:0.6rem;}
.yb-share-btn{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:none;cursor:pointer;transition:transform 0.2s,background 0.2s;
  text-decoration:none;
}
.yb-share-btn:hover{transform:scale(1.1);}
.yb-share-fb{background:#1877F2;color:#fff;}
.yb-share-tw{background:#0f1419;color:#fff;}
.yb-share-wa{background:#25D366;color:#fff;}
.yb-share-li{background:#0A66C2;color:#fff;}
.yb-share-rd{background:#FF4500;color:#fff;}
.yb-share-pin{background:#E60023;color:#fff;}
.yb-share-email{background:#6B7280;color:#fff;}
.yb-share-copy{background:var(--blue-lt,#EEF2FB);color:var(--blue);}
.yb-share-copy.copied{background:var(--green,#2E7D32);color:#fff;}

/* Author card */
.yb-author-card{
  display:flex;gap:1.5rem;align-items:center;
  background:var(--blue-lt,#EEF2FB);border-radius:16px;
  padding:1.8rem;margin-top:3rem;
}
.yb-author-avatar{
  width:80px;height:80px;border-radius:50%;
  object-fit:cover;object-position:center 15%;
  flex-shrink:0;
}
.yb-author-name{
  font-family:'Montserrat',sans-serif;font-size:1rem;
  font-weight:800;color:var(--dark);display:block;margin-bottom:0.3rem;
}
.yb-author-bio{
  font-size:0.9rem;line-height:1.65;color:var(--muted);margin:0;
}

/* Read Next */
.yb-read-next{
  max-width:780px;margin:3rem auto 0;
  border-top:2px solid rgba(0,0,0,0.06);padding-top:2rem;
}
.yb-read-next-label{
  font-family:'Montserrat',sans-serif;font-size:0.72rem;
  font-weight:700;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--blue);display:block;margin-bottom:1rem;
}
.yb-read-next-card{
  display:flex;gap:1.5rem;align-items:center;
  background:var(--white,#fff);border-radius:16px;
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  overflow:hidden;text-decoration:none;color:inherit;
  transition:box-shadow 0.3s,transform 0.3s;
}
.yb-read-next-card:hover{
  box-shadow:0 8px 30px rgba(0,0,0,0.1);transform:translateY(-2px);
}
.yb-read-next-img{width:180px;flex-shrink:0;}
.yb-read-next-img img{width:100%;height:140px;object-fit:cover;display:block;}
.yb-read-next-text{padding:1.2rem 1.2rem 1.2rem 0;}
.yb-read-next-text h3{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:1.05rem;color:var(--dark);margin:0.4rem 0;
}
.yb-read-next-text p{
  font-size:0.85rem;line-height:1.6;color:var(--muted);margin:0;
}

/* Legacy fallback */
.yb-page-hero{
  position:relative;
  background:linear-gradient(135deg,#07091C 0%,#0A0F2E 40%,#12193A 100%);
  padding:160px 2rem 70px;
  text-align:center;
  overflow:hidden;
}

/* ============================================================
   GUTENBERG PAGE CONTENT WRAPPER
   ============================================================ */
.yb-page-content {
  padding-top: 3rem;
  padding-bottom: 0;
}
.yb-page-content > *:last-child{
  margin-bottom:0 !important;
}
.yb-page-content.has-cover-hero {
  padding-top: 0;
}
.yb-page-content.has-cover-hero > .wp-block-cover:first-child {
  margin-top: 0;
  padding-top: 160px;
  min-height: 400px;
  border-radius: 0;
}
.yb-page-content > * {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
.yb-page-content > .alignwide {
  max-width: 1200px;
}
.yb-page-content > .alignfull {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.yb-page-content > .wp-block-cover,
.yb-page-content > .wp-block-cover.alignfull {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

/* Inner page typography */
.yb-page-content h2{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:clamp(1.4rem,3vw,1.8rem);
  letter-spacing:-0.01em;
  color:var(--dark);
  margin-top:2.5rem;margin-bottom:1rem;
  text-transform:none;
}
.yb-page-content h3{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--slate);
  margin-top:2rem;margin-bottom:0.75rem;
}
.yb-page-content p{
  font-size:1.05rem;
  line-height:1.85;
  color:var(--text);
  margin-bottom:1.2rem;
}
.yb-page-content strong{
  color:var(--dark);
  font-weight:700;
}
.yb-page-content > .wp-block-group{
  margin:2rem auto;
}
.yb-page-content > .wp-block-separator{
  margin:2.5rem auto;
}

/* ============================================================
   MOBILE MENU — show/hide + hamburger animation
   ============================================================ */
.yb-menu-toggle{display:none;}

@media(max-width:1024px){
  /* Header mobile/tablet */
  .hdr-inner{padding:0 1rem !important;gap:0.5rem;}
  .yb-logo-sub{white-space:normal;font-size:0.45rem;letter-spacing:0.12em;max-width:160px;line-height:1.3;}
  .hdr-cta{display:none;}

  .yb-menu-toggle{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    background:none;border:none;cursor:pointer;padding:0.5rem;z-index:210;
    position:relative;
    margin-left:auto;
  }
  .yb-menu-toggle span{
    display:block;width:24px;height:2px;background:var(--white);
    transition:transform 0.3s,opacity 0.3s;
  }
  #yb-header.solid .yb-menu-toggle span{background:var(--dark);}
  .yb-menu-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .yb-menu-toggle.is-active span:nth-child(2){opacity:0;}
  .yb-menu-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .yb-nav{
    position:fixed !important;top:0 !important;right:0 !important;
    width:85%;max-width:360px;height:100vh;
    background:var(--dark) !important;
    display:flex !important;flex-direction:column !important;align-items:flex-start !important;
    padding:6rem 2.5rem 2rem;
    transform:translateX(100%);
    transition:transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94), visibility 0s linear 0.35s;
    box-shadow:-4px 0 30px rgba(0,0,0,0.3);
    overflow-y:auto;
    z-index:200;
    visibility:hidden;
    will-change:transform;
  }
  .yb-nav.is-open{
    transform:translateX(0);
    visibility:visible;
    transition:transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94), visibility 0s linear 0s;
  }
  .yb-nav ul{
    flex-direction:column;gap:0;width:100%;
  }
  .yb-nav ul li a{
    display:block;padding:1rem 0;font-size:0.95rem;color:var(--white) !important;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .yb-nav ul li a::after{display:none !important;}
  .yb-nav ul li a:hover{color:var(--yellow) !important;}

  /* Mobile overlay */
  .yb-nav::before{
    content:'';position:fixed;top:0;left:0;width:100vw;height:100vh;
    background:rgba(0,0,0,0.5);opacity:0;pointer-events:none;
    transition:opacity 0.35s ease;z-index:-1;
  }
  .yb-nav.is-open::before{opacity:1;pointer-events:auto;}

  /* Lock body scroll when menu is open */
  body.menu-open{overflow:hidden;}

  /* Mobile topbar */
  #yb-topbar{font-size:0.65rem;padding:0.35rem 0.75rem;line-height:1.3;}
  #yb-topbar a{display:block;margin-top:0.1rem;}
}

/* ============================================================
   EXTENDED RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Tablets + phones: hero goes full-bleed image with text overlay */
@media(max-width:900px){
  .hero{
    display:block;min-height:100vh;
  }
  /* Mobile: single image only — show s3 (caleb-dinosaurs), Caleb on the right & bigger */
  .hero .hslide.s1,.hero .hslide.s2{display:none !important;}
  .hero .hslide.s3{
    display:block !important;
    opacity:1 !important;
    background-position:95% 60% !important;
    background-size:170% auto !important;
  }
  .hero-r{transform:scaleX(-1) !important;}
  .hero-dots{display:none !important;}
  .hero-l{
    position:relative;z-index:3 !important;
    width:100%;min-height:100vh;
    display:flex;align-items:flex-end;
    padding:0 2rem 4rem 2rem !important;
  }
  .hero-content{
    max-width:500px;padding-top:140px;
  }
  .hero::after{
    background:linear-gradient(to top,
      rgba(7,9,28,0.4) 0%,
      rgba(7,9,28,0.2) 20%,
      rgba(7,9,28,0.05) 35%,
      transparent 50%) !important;
  }
  .hero-dots{bottom:1.2rem;right:1.2rem;}
  .hero-scroll{display:none;}
  .hero-hl .l-w,.hero-hl .l-y{font-size:clamp(3.8rem,14vw,6rem);}
  .hero-hl .l-d{font-size:clamp(1.8rem,6vw,2.8rem);}
  .hero-hl,.hero-hl .l-w,.hero-hl .l-y,.hero-hl .l-d{
    text-shadow:0 1px 4px rgba(0,0,0,0.4);
  }

  /* Page hero mobile */
  .yb-page-hero-img{height:200px;}
  .yb-page-hero-text{padding:140px 1.5rem 2rem;}
  .yb-page-hero-text h1{font-size:clamp(2rem,8vw,3rem);}
  .yb-page-hero{padding:130px 1.5rem 50px;}
  .yb-page-hero h1{font-size:clamp(2rem,8vw,3rem);}

  /* Stats — keep in one row on mobile */
  .statsbar .stats-inner{
    flex-wrap:nowrap;justify-content:space-around;gap:0.25rem;padding:1.2rem 0.5rem;
  }
  .stat-n{font-size:1.5rem;}
  .stat-l{font-size:0.5rem;letter-spacing:0.1em;}
  .stat-sep{display:none;}

  /* Content sections */
  .feature{flex-direction:column;gap:2rem;}
  .feat-img{max-width:100%;margin:0 auto;}
  .meet-grid{flex-direction:column;gap:2rem;}
  .meet-img{max-width:100%;margin:0 auto;}
  .fun-facts{grid-template-columns:1fr 1fr;}
  .roar-inner{flex-direction:column;gap:2rem;}
  .spotlight-inner{flex-direction:column;gap:2rem;}
  .spotlight-ph{max-width:100%;}
  .sec-header{flex-direction:column;gap:1rem;align-items:flex-start;}
  .grid-3{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .card{min-width:0;}

  /* Quote */
  .quote-strip{padding:2.5rem 1.5rem;}
  .quote-q{font-size:1.1rem !important;}

  /* Footer */
  .footer-grid{flex-direction:column;gap:2rem;}
  .footer-enhance{flex-wrap:wrap;gap:0.5rem;}
  .footer-inline-links{flex-wrap:wrap;}

  /* Page content */
  .yb-page-content > *{padding-left:1.5rem;padding-right:1.5rem;}
}

/* Phones */
@media(max-width:480px){
  .hero-l{
    padding:0 1.5rem 3rem 1.5rem !important;
    min-height:100svh;
  }
  .hero-content{padding-top:120px;}
  .hero-hl .l-w,.hero-hl .l-y{font-size:clamp(3.5rem,13vw,5.5rem);}
  .hero-hl .l-d{font-size:clamp(1.7rem,5.5vw,2.6rem);}
  .hero-badge{font-size:0.6rem;padding:0.3rem 0.8rem;}
  .hero-desc{font-size:0.88rem;}
  .btn{font-size:0.82rem;padding:0.7rem 1.4rem;}
  .btn-group{flex-direction:column;gap:0.75rem;}
  .statsbar .stats-inner{flex-wrap:nowrap;gap:0.15rem;padding:1rem 0.25rem;}
  .stat-n{font-size:1.3rem;}
  .stat-l{font-size:0.42rem;letter-spacing:0.08em;}
  .stat-sep{display:none;}
  .stat-n{font-size:1.8rem;}
  .section,.section-white,.section-warm{padding:3rem 1rem;}
  .container{padding:0 1rem;}
  .sh{font-size:clamp(1.4rem,5vw,1.8rem);}
  .roar-heading{font-size:clamp(1.8rem,6vw,2.5rem);}
  .fun-facts{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:1fr;}

  /* Page hero */
  .yb-page-hero-img{height:180px;}
  .yb-page-hero-text{padding:130px 1rem 1.8rem;}
  .yb-page-hero{padding:110px 1rem 40px;}
}

/* Landscape mobile/tablet (short viewport) — e.g. Surface Duo 720x540 */
@media(max-width:900px) and (orientation:landscape){
  .hero .hslide.s3{
    background-position:95% 60% !important;
  }
  .hero-l{min-height:100vh;padding:0 2rem 2rem 2rem !important;}
  .hero-content{padding-top:100px;}
}

/* Very narrow screens (Galaxy Z Fold front, etc.) */
@media(max-width:360px){
  #yb-topbar{font-size:0.58rem;padding:0.3rem 0.5rem;}
}

/* Tablets */
@media(max-width:1399px) and (min-width:901px){
  .hero{display:block !important;grid-template-columns:none !important;min-height:100vh;}
  .hero .hslide.s1,.hero .hslide.s2{display:none !important;}
  .hero .hslide.s3{
    display:block !important;
    opacity:1 !important;
    background-position:95% 60% !important;
    background-size:170% auto !important;
  }
  .hero-dots{display:none !important;}
  .hero-r{
    position:absolute !important;inset:0;width:100% !important;height:100% !important;
    z-index:1;
    transform:scaleX(-1) !important;
  }
  .hero-l{
    position:relative;z-index:3 !important;
    width:100%;min-height:100vh;
    display:flex !important;align-items:flex-end;
    padding:0 2rem 4rem 2rem !important;
  }
  .hero-content{padding:145px 2rem 2rem 2rem;max-width:600px;}
  .hero::after{
    background:linear-gradient(to top,
      rgba(7,9,28,0.4) 0%,
      rgba(7,9,28,0.2) 20%,
      rgba(7,9,28,0.05) 35%,
      transparent 50%) !important;
  }
  .hero-scroll{display:none;}
  .hero-hl,.hero-hl .l-w,.hero-hl .l-y,.hero-hl .l-d{
    text-shadow:0 1px 4px rgba(0,0,0,0.4);
  }
  .container{max-width:95%;padding:0 1.5rem;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
}

/* Large screens */
@media(min-width:1440px){
  .container{max-width:1300px;}
}

/* ============================================================
   404 PAGE
   ============================================================ */
.yb-404{
  text-align:center;max-width:600px;margin:0 auto;padding:3rem 1rem 4rem;
}
.yb-404-emoji{font-size:4rem;margin-bottom:1rem;}
.yb-404 h2{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:clamp(1.4rem,3vw,1.8rem);color:var(--dark);
  margin-bottom:1rem;
}
.yb-404 p{
  font-family:'Nunito Sans',sans-serif;font-size:1.05rem;
  line-height:1.8;color:var(--muted);margin-bottom:1.5rem;
}
.yb-404-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem;}

/* ============================================================
   FOCUS STYLES — Accessibility
   ============================================================ */
*:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:2px;
  border-radius:4px;
}
a:focus-visible,button:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:2px;
}
.btn:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:3px;
  box-shadow:0 0 0 6px rgba(255,184,0,0.25);
}

/* ============================================================
   HIDE SOCIALS (temporary)
   ============================================================ */
.yb-footer__social,
.footer-social{
  display:none !important;
}
.footer-col:has(.yb-footer__social),
.yb-footer__social-col{
  display:none !important;
}

/* ============================================================
   BACK TO TOP BUTTON
   ============================================================ */
.yb-btt{
  position:fixed;bottom:2rem;right:2rem;z-index:999;
  width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,0.18);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity 0.35s,visibility 0.35s,transform 0.35s,background 0.2s;
}
.yb-btt.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.yb-btt:hover{background:var(--blue-d);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,0.22);}
@media(max-width:480px){
  .yb-btt{bottom:1.2rem;right:1.2rem;width:40px;height:40px;}
}

/* ============================================================
   FOOTER — mobile fixes
   ============================================================ */
@media(max-width:900px){
  .yb-footer{padding:3rem 0 1.5rem;}
  .yb-footer__grid,.footer-grid{
    grid-template-columns:1fr !important;
    gap:2rem;
  }
  .footer-enhance{
    flex-wrap:wrap;gap:0.4rem;padding:1rem;
    justify-content:center;
  }
  .footer-enhance-label{width:100%;text-align:center;margin-right:0;margin-bottom:0.3rem;}
  .footer-pill{font-size:0.62rem;padding:0.2rem 0.6rem;}
  .footer-inline-links{
    flex-wrap:wrap;gap:0.4rem 0;justify-content:center;
  }
  .footer-inline-links a{
    padding:0.3rem 0.5rem;font-size:0.65rem;
    border-right:none;
  }
  .footer-brand,.yb-footer__brand{font-size:1.5rem;text-align:center;}
  .footer-tag,.yb-footer__tagline{text-align:center;font-size:0.82rem;}
  .yb-footer__copyright,.footer-copy{
    flex-direction:column;text-align:center;gap:0.3rem;
  }
  .footer-dev{text-align:center;}
}


/* ============================================================
   EMPTY BLOG STATE — "Stories are on the way"
   ============================================================ */
.yb-empty-blog{display:flex;flex-direction:column;gap:3rem;margin:2rem 0 4rem;}
.yb-empty-blog__panel{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);
  color:#fff;border-radius:22px;
  padding:3.5rem 3rem;text-align:center;
  box-shadow:0 18px 50px -20px rgba(7,9,28,0.45);
}
.yb-empty-blog__panel::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 20% 0%,rgba(255,184,0,0.18) 0%,transparent 55%),
             radial-gradient(circle at 85% 100%,rgba(255,255,255,0.10) 0%,transparent 60%);
}
.yb-empty-blog__panel > *{position:relative;z-index:1;}
.yb-empty-blog__tag{
  display:inline-block;font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:800;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--yellow);
  padding:0.35rem 0.9rem;border:1.5px solid rgba(255,184,0,0.55);border-radius:999px;
  margin-bottom:1.4rem;
}
.yb-empty-blog__title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,4.5vw,3.4rem);
  letter-spacing:0.02em;line-height:1.05;color:#fff;margin:0 0 1rem;
}
.yb-empty-blog__desc{
  max-width:640px;margin:0 auto 2rem;
  font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,0.88);
}
.yb-empty-blog__ctas{display:flex;flex-wrap:wrap;gap:0.9rem;justify-content:center;}
.yb-empty-blog__ctas .btn-outline-blue{background:transparent;color:#fff;border-color:rgba(255,255,255,0.55);}
.yb-empty-blog__ctas .btn-outline-blue:hover{background:#fff;color:var(--blue);border-color:#fff;}

.yb-empty-blog__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
}
.yb-empty-blog__card{
  position:relative;display:flex;flex-direction:column;gap:0.55rem;
  background:#fff;border:1px solid var(--border);border-radius:18px;
  padding:1.75rem 1.75rem 2.2rem;text-decoration:none;color:var(--text);
  transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease;
  overflow:hidden;
}
.yb-empty-blog__card::after{
  content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(to right,var(--blue),var(--yellow));
  transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease;
}
.yb-empty-blog__card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 40px -18px rgba(7,9,28,0.22);
  border-color:transparent;
}
.yb-empty-blog__card:hover::after{transform:scaleX(1);}
.yb-empty-blog__card-kicker{
  font-family:'Montserrat',sans-serif;font-size:0.68rem;font-weight:800;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);
}
.yb-empty-blog__card h3{
  font-family:'Bebas Neue',sans-serif;font-size:1.55rem;letter-spacing:0.02em;
  color:var(--dark);margin:0;
}
.yb-empty-blog__card p{
  font-size:0.95rem;line-height:1.55;color:var(--muted);margin:0;
}
.yb-empty-blog__card-arrow{
  position:absolute;right:1.5rem;bottom:1.5rem;
  font-size:1.4rem;color:var(--blue);
  transition:transform 0.22s ease;
}
.yb-empty-blog__card:hover .yb-empty-blog__card-arrow{transform:translateX(4px);}

@media (max-width:880px){
  .yb-empty-blog__panel{padding:2.5rem 1.5rem;}
  .yb-empty-blog__grid{grid-template-columns:1fr;}
}

/* ============================================================
   BREADCRUMB BAR — sits above cover-hero pages so breadcrumbs
   always render, with the same dark color as the hero so it
   reads as one continuous block.
   ============================================================ */
.yb-bc-bar{
  background:var(--dark);
  padding:130px 0 0.85rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.yb-bc-bar__inner{
  max-width:1200px;margin:0 auto;padding:0 2rem;
  display:flex;align-items:center;
}
.yb-bc-bar .yb-breadcrumb{
  font-size:0.78rem;color:rgba(255,255,255,0.55);
}
.yb-bc-bar .yb-breadcrumb a{color:rgba(255,184,0,0.95);}
.yb-bc-bar .yb-breadcrumb a:hover{color:#fff;}

/* Solid-color cover heroes: tighten now that the image is gone */
.wp-block-cover.alignfull{min-height:0 !important;}
.yb-page-content.has-cover-hero > .wp-block-cover:first-child{
  padding-top:3rem !important;padding-bottom:3rem !important;min-height:0 !important;
}

@media (max-width:880px){
  .yb-bc-bar{padding:110px 0 0.75rem;}
  .yb-bc-bar__inner{padding:0 1rem;}
}

/* Centered variant of section header (used for From the Blog) */
.sec-header.sec-header--centered{
  flex-direction:column;align-items:center;text-align:center;
}
.sec-header.sec-header--centered > div{display:flex;flex-direction:column;align-items:center;}
.sec-header.sec-header--centered .sb{text-align:center;}

/* ============================================================
   READ NEXT — "More from Caleb" panel under single posts
   ============================================================ */
.yb-read-next{
  margin:4rem auto 1rem;max-width:1200px;
  padding:2.5rem 1.5rem 1rem;
}
.yb-read-next__head{
  text-align:center;margin-bottom:2rem;
}
.yb-read-next__eyebrow{
  display:inline-block;font-family:'Montserrat',sans-serif;font-size:0.7rem;font-weight:800;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--blue);
  margin-bottom:0.5rem;
}
.yb-read-next__title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(1.9rem,3.2vw,2.6rem);
  letter-spacing:0.02em;color:var(--dark);margin:0;
}
.yb-read-next__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;
}
.yb-rn-card{
  position:relative;display:flex;flex-direction:column;gap:0.65rem;
  background:#fff;border:1px solid var(--border);border-radius:18px;
  padding:1.5rem 1.5rem 1.6rem;text-decoration:none;color:var(--text);
  overflow:hidden;
  transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease;
}
.yb-rn-card::before{
  content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(to right,var(--blue),var(--yellow));
  transform:scaleX(0);transform-origin:left;transition:transform 0.3s ease;
}
.yb-rn-card:hover{
  transform:translateY(-3px);
  border-color:transparent;
  box-shadow:0 16px 40px -18px rgba(7,9,28,0.22);
  color:var(--text);
}
.yb-rn-card:hover::before{transform:scaleX(1);}
.yb-rn-card__cat{
  align-self:flex-start;
  font-family:'Montserrat',sans-serif;font-size:0.62rem;font-weight:800;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);
  background:var(--blue-lt);padding:0.3rem 0.7rem;border-radius:999px;
}
.yb-rn-card__title{
  font-family:'Bebas Neue',sans-serif;font-size:1.35rem;letter-spacing:0.02em;
  line-height:1.15;color:var(--dark);margin:0;
}
.yb-rn-card__excerpt{
  font-size:0.92rem;line-height:1.55;color:var(--muted);margin:0;
  flex-grow:1;
}
.yb-rn-card__meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid var(--border);
  font-size:0.82rem;color:var(--muted);
}
.yb-rn-card__arrow{
  color:var(--blue);font-size:1.1rem;font-weight:800;
  transition:transform 0.22s ease;
}
.yb-rn-card:hover .yb-rn-card__arrow{transform:translateX(4px);}

@media (max-width:880px){
  .yb-read-next{padding:2rem 1rem 0;margin-top:3rem;}
  .yb-read-next__grid{grid-template-columns:1fr;gap:1rem;}
}
@media (min-width:881px) and (max-width:1100px){
  .yb-read-next__grid{grid-template-columns:repeat(2,1fr);}
}

/* ============================================================
   BLOG INDEX — make the 3-col grid fill the content area
   ============================================================ */
.yb-blog-layout{max-width:1200px;margin:0 auto;}
.yb-blog-layout > div{min-width:0;} /* prevent grid blowout */
@media (min-width:768px){
  .yb-blog-layout:not(.yb-blog-layout--sidebar) .yb-grid--3{
    grid-template-columns:repeat(3,1fr);
  }
}

/* ============================================================
   SOLID-COLOR PAGE HERO — same look as in-content cover blocks
   so legal pages, the blog index and single posts share one
   consistent breadcrumb + hero position with the main pages.
   ============================================================ */
.yb-solid-hero{
  background:var(--dark);
  padding:3rem 1.5rem;
  text-align:center;
}
.yb-solid-hero__inner{
  max-width:900px;margin:0 auto;
}
.yb-solid-hero__title{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-0.01em;
  color:#fff;margin:0;
}
.yb-solid-hero__sub{
  font-family:'Nunito Sans',sans-serif;
  font-size:1.1rem;line-height:1.55;
  color:var(--yellow-lt);
  max-width:640px;margin:0.9rem auto 0;
}
.yb-solid-hero__meta{
  margin-top:0.85rem;font-size:0.9rem;color:rgba(255,255,255,0.55);
}
.yb-solid-hero__meta a{color:rgba(255,255,255,0.85);}

@media (max-width:880px){
  .yb-solid-hero{padding:2.25rem 1rem;}
}

/* Hide slider controls below the desktop threshold where the slider isn't running */
@media (max-width:1399px){
  .hero-arrow,
  .hero-dots{display:none !important;}
}

/* ============================================================
   CATEGORY NAV — pills above the blog grid / category archive
   ============================================================ */
.yb-cat-nav{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  margin:1.5rem auto 2.25rem;padding:0 1rem;
  max-width:1100px;justify-content:center;
}
.yb-cat-nav__label{
  font-family:'Montserrat',sans-serif;font-size:0.72rem;font-weight:800;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);
}
.yb-cat-nav__list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;
}
.yb-cat-nav .yb-cat-pill{
  display:inline-flex;align-items:center;gap:0.45rem;
  font-family:'Montserrat',sans-serif;font-size:0.78rem;font-weight:700;
  letter-spacing:0.04em;
  padding:0.55rem 1rem;border-radius:999px;
  background:#fff;color:var(--dark);
  border:1.5px solid var(--border);text-decoration:none;
  transition:all 0.2s ease;
}
.yb-cat-nav .yb-cat-pill:hover{
  border-color:var(--blue);color:var(--blue);
  transform:translateY(-1px);
  box-shadow:0 6px 18px -10px rgba(30,79,191,0.45);
}
.yb-cat-nav .yb-cat-pill.is-active{
  background:var(--blue);color:#fff;border-color:var(--blue);
  box-shadow:0 6px 18px -8px rgba(30,79,191,0.55);
}
.yb-cat-nav .yb-cat-pill__count{
  font-size:0.68rem;font-weight:800;
  padding:0.1rem 0.45rem;border-radius:999px;
  background:rgba(0,0,0,0.07);color:inherit;line-height:1.2;
}
.yb-cat-nav .yb-cat-pill.is-active .yb-cat-pill__count{
  background:rgba(255,255,255,0.22);
}

@media (max-width:680px){
  .yb-cat-nav{gap:0.6rem;}
  .yb-cat-nav__label{width:100%;text-align:center;}
}

/* ============================================================
   PAGINATION
   ============================================================ */
.yb-pagination{margin:3rem 0 1rem;display:flex;justify-content:center;}
.yb-pagination .nav-links,
.yb-pagination .page-numbers{
  display:inline-flex;gap:0.35rem;align-items:center;flex-wrap:wrap;justify-content:center;
}
.yb-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 0.85rem;
  font-family:'Montserrat',sans-serif;font-size:0.85rem;font-weight:700;
  color:var(--dark);background:#fff;
  border:1.5px solid var(--border);border-radius:10px;
  text-decoration:none;transition:all 0.2s ease;
}
.yb-pagination .page-numbers:hover{
  border-color:var(--blue);color:var(--blue);
  transform:translateY(-1px);
}
.yb-pagination .page-numbers.current{
  background:var(--blue);color:#fff;border-color:var(--blue);
  box-shadow:0 6px 18px -8px rgba(30,79,191,0.55);
}
.yb-pagination .page-numbers.dots{
  background:transparent;border-color:transparent;color:var(--muted);
}
.yb-pagination .prev,
.yb-pagination .next{
  padding:0 1.1rem;font-weight:800;
}
