/*
Theme Name: Full Blooded Ìjẹ̀bú Child
Template: full-blooded-ijebu
Description: Child theme v8.7 — Mobile optimisation complete.
Version: 8.7.0
Author: Timi Adegunwa / The Heritage Gateway
Text Domain: fbi-child
*/

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

/* Yoruba glyph fix */
@font-face {
  font-family: 'HeritageDisplay';
  src: url('https://fonts.gstatic.com/s/anton/v25/1Ptgg87LROyAm0K08i4gS7lu.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
  unicode-range: U+00C0-00D6,U+00D8-00F6,U+00F8-00FF,U+0100-024F,U+0300-036F,U+1E00-1EFF;
}
@font-face {
  font-family: 'HeritageDisplay';
  src: url('https://fonts.gstatic.com/s/antonio/v21/gNMHW3x8Qoy5_mf8uUkJaA.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
  unicode-range: U+0020-007E,U+00A0-00BF;
}

:root {
  --font-display: 'HeritageDisplay','Antonio','Anton',sans-serif;
  --font-body:    'Montserrat','Helvetica Neue',Arial,sans-serif;
  --forest:       #0F2A1C;
  --forest-mid:   #1A3D29;
  --gold:         #BF8A20;
  --gold-lt:      #D4A83A;
  --cream:        #FAF8F4;
  --cream-dark:   #F0ECE4;
  --black:        #0A0A0A;
  --near-black:   #121212;
  --white:        #FFFFFF;
  --grey:         #7A7268;
  --grey-rule:    #D0C8B8;
  /* CONTAINER — everything aligned to this */
  --margin:       80px;
  --max-cont:     1540px;
  --hero-h:       620px;
  --card-gap:     8px;
}

*,*::before,*::after{box-sizing:border-box;}
body{font-family:var(--font-body)!important;font-size:16px!important;font-weight:400!important;color:#1A1A18!important;background:var(--cream)!important;overflow-x:hidden!important;margin:0!important;}
img:not(#sb_instagram img):not(#sb_instagram *){max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
svg:not(#sb_instagram svg):not(#sb_instagram *){max-width:100%!important;height:auto!important;}

/* ── HEADER ─────────────────────────────────────────────────
   The header-bar__inner is constrained to --max-cont
   so logo and socials align with everything below
   ────────────────────────────────────────────────────────── */
.site-header{position:sticky!important;top:0!important;z-index:900!important;}
.top-bar,.nav-inner{display:none!important;}

.header-bar{
  background:var(--black)!important;
  border-bottom:1px solid rgba(191,138,32,0.25)!important;
  width:100%!important;
}

/* This inner div is what constrains to container width */
.header-bar__inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  max-width:var(--max-cont)!important;
  margin:0 auto!important;
  padding:0 var(--margin)!important;
  height:104px!important;
}

.header-logo{display:flex!important;align-items:center!important;gap:18px!important;text-decoration:none!important;}
.header-crest{width:68px!important;height:68px!important;flex-shrink:0!important;}
.header-crest svg{width:68px!important;height:68px!important;max-width:68px!important;max-height:68px!important;}
.header-names{display:flex!important;flex-direction:column!important;gap:8px!important;}

/* Logo text — larger, more breathing room */
.header-site-name{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  font-size:28px!important;
  color:var(--white)!important;
  letter-spacing:0.04em!important;
  text-transform:uppercase!important;
  line-height:1!important;
}
.header-tagline{
  font-family:var(--font-body)!important;
  font-size:0.625rem!important;
  font-weight:600!important;
  letter-spacing:0.28em!important;
  text-transform:uppercase!important;
  color:var(--gold)!important;
  line-height:1!important;
}

.header-bar__right{display:flex!important;align-items:center!important;gap:10px!important;}

/* Social icons — white background, easy to see */
.header-social{
  width:36px!important;height:36px!important;
  background:var(--white)!important;
  border:1px solid rgba(191,138,32,0.3)!important;
  border-radius:50%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-family:var(--font-body)!important;
  font-size:0.5rem!important;font-weight:700!important;
  color:var(--forest)!important;
  transition:all 0.3s!important;
}
.header-social:hover{background:var(--gold)!important;color:var(--white)!important;border-color:var(--gold)!important;}

/* ── NAV — aligned to same container as header ──────────── */
.site-nav{background:var(--cream)!important;border-bottom:1px solid rgba(191,138,32,0.35)!important;}
.site-nav__inner{
  display:flex!important;align-items:center!important;
  height:56px!important;
  max-width:var(--max-cont)!important;
  margin:0 auto!important;
  padding:0 var(--margin)!important;
  width:100%!important;
}

#primary-menu{
  display:flex!important;list-style:none!important;
  margin:0!important;padding:0!important;
  width:100%!important;
  justify-content:space-between!important;
  align-items:center!important;
}

/* Nav font — 1rem, clearly legible */
#primary-menu>li>a{
  font-family:var(--font-display)!important;
  font-size:1rem!important;
  font-weight:700!important;
  letter-spacing:0.06em!important;
  text-transform:uppercase!important;
  color:var(--forest)!important;
  display:flex!important;align-items:center!important;
  height:56px!important;
  position:relative!important;
  white-space:nowrap!important;
  transition:color 0.25s!important;
}
#primary-menu>li>a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.3s;}
#primary-menu>li>a:hover,#primary-menu>li.current-menu-item>a{color:var(--gold)!important;}
#primary-menu>li>a:hover::after,#primary-menu>li.current-menu-item>a::after{transform:scaleX(1);}
.menu-toggle{display:none!important;}

/* ── CONTAINER ──────────────────────────────────────────── */
.container,.container--narrow{max-width:var(--max-cont)!important;margin:0 auto!important;padding:0 var(--margin)!important;width:100%!important;}

/* ── HERO ────────────────────────────────────────────────── */
.hero-outer{background:var(--cream);padding:var(--card-gap) 0 0;}
.hero{display:grid!important;grid-template-columns:3fr 2fr!important;gap:var(--card-gap)!important;max-width:var(--max-cont)!important;margin:0 auto!important;padding:0 var(--margin)!important;background:transparent!important;}
.hero__left{background:var(--forest)!important;display:flex!important;align-items:center!important;justify-content:center!important;height:var(--hero-h)!important;position:relative!important;overflow:hidden!important;}
.hero__left::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(191,138,32,0.04) 0,rgba(191,138,32,0.04) 1px,transparent 1px,transparent 36px);pointer-events:none;}
.hero__content{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;position:relative!important;z-index:1!important;padding:0 2.5rem!important;width:100%!important;}
.hero__headline{font-family:var(--font-display)!important;font-weight:700!important;font-size:clamp(48px,5.5vw,80px)!important;letter-spacing:-0.04em!important;line-height:0.95!important;color:var(--gold)!important;text-align:center!important;margin:0 0 1.25rem 0!important;text-transform:uppercase!important;}
.hero__headline-line,.hero__headline-last,.hero__headline-outline{display:block!important;color:var(--gold)!important;text-align:center!important;-webkit-text-stroke:unset!important;}
.hero__desc{font-family:var(--font-body)!important;font-size:1.0625rem!important;font-weight:400!important;color:rgba(245,239,224,0.7)!important;line-height:1.72!important;text-align:center!important;margin:0 0 1.875rem 0!important;max-width:460px!important;}
.hero__cta{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:10px!important;}
.btn--gold{background:var(--gold)!important;color:var(--forest)!important;border:none!important;font-family:var(--font-display)!important;font-size:0.75rem!important;font-weight:700!important;letter-spacing:0.08em!important;text-transform:uppercase!important;padding:0.9rem 1.75rem!important;display:inline-flex!important;align-items:center!important;cursor:pointer!important;transition:background 0.3s!important;white-space:nowrap!important;}
.btn--gold:hover{background:var(--gold-lt)!important;}
.btn--outline-gold{background:transparent!important;color:var(--gold)!important;border:1px solid rgba(191,138,32,0.55)!important;font-family:var(--font-display)!important;font-size:0.75rem!important;font-weight:700!important;letter-spacing:0.08em!important;text-transform:uppercase!important;padding:0.9rem 1.75rem!important;display:inline-flex!important;align-items:center!important;cursor:pointer!important;transition:all 0.3s!important;white-space:nowrap!important;}
.btn--outline-gold:hover{background:rgba(191,138,32,0.1)!important;border-color:var(--gold)!important;}
.hero__right{background:var(--forest-mid,#1A3D29)!important;position:relative!important;overflow:hidden!important;height:var(--hero-h)!important;}
.hero__right img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;}
.hero__photo-pattern{position:absolute;inset:0;background:linear-gradient(160deg,var(--forest-mid,#1A3D29),var(--forest));}
.hero__photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,0.92) 0%,rgba(8,8,8,0.22) 55%,transparent 80%);}
.hero__glow{position:absolute;top:0;right:0;width:60%;height:50%;background:radial-gradient(ellipse at 70% 30%,rgba(191,138,32,0.12) 0%,transparent 70%);}
.hero__issue-panel{position:absolute!important;bottom:0!important;left:0!important;right:0!important;background:rgba(8,8,8,0.9)!important;border-top:3px solid var(--gold)!important;padding:1.25rem 1.5rem!important;z-index:2!important;}
.hero__issue-label{font-family:var(--font-body)!important;font-size:0.5rem!important;letter-spacing:0.24em!important;text-transform:uppercase!important;color:var(--gold)!important;margin-bottom:0.375rem!important;font-weight:600!important;}
.hero__issue-name{font-family:var(--font-display)!important;font-size:16px!important;font-weight:700!important;color:var(--white)!important;line-height:1.2!important;margin-bottom:0.25rem!important;text-transform:uppercase!important;}
.hero__issue-role{font-family:var(--font-body)!important;font-size:0.75rem!important;color:rgba(255,255,255,0.5)!important;margin-bottom:0.625rem!important;}
.hero__issue-link{font-family:var(--font-body)!important;font-size:0.5rem!important;font-weight:700!important;letter-spacing:0.2em!important;text-transform:uppercase!important;color:var(--gold)!important;}
.hero__scroll,.hero__eyebrow{display:none!important;}

/* ── DATA STRIP ──────────────────────────────────────────── */
.data-strip{background:var(--forest)!important;border-top:2px solid var(--gold)!important;border-bottom:1px solid rgba(191,138,32,0.15)!important;padding:2.25rem 0!important;}
.data-strip__grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;max-width:var(--max-cont)!important;margin:0 auto!important;padding:0 var(--margin)!important;}
.data-item{text-align:center!important;padding:0 2rem!important;position:relative!important;}
.data-item+.data-item::before{content:'';position:absolute;left:0;top:15%;bottom:15%;width:1px;background:rgba(191,138,32,0.2);}
.data-item__number{font-family:var(--font-display)!important;font-size:clamp(24px,3.2vw,44px)!important;color:var(--gold)!important;line-height:1!important;display:block!important;margin-bottom:0.4rem!important;letter-spacing:-0.02em!important;text-transform:uppercase!important;}
.data-item__label{font-family:var(--font-body)!important;font-size:0.625rem!important;letter-spacing:0.16em!important;text-transform:uppercase!important;color:rgba(245,239,224,0.6)!important;font-weight:500!important;display:block!important;}

/* ── 6 CARDS — 2 ROWS OF 3
   ALL IDENTICAL: same height, same bottom panel, same fonts
   ────────────────────────────────────────────────────────── */
.cards-section{background:var(--cream)!important;padding:var(--card-gap) 0 0!important;}
.cards-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:var(--card-gap)!important;max-width:var(--max-cont)!important;margin:0 auto!important;padding:0 var(--margin)!important;}
.grid-card{position:relative!important;overflow:hidden!important;height:var(--hero-h)!important;background:var(--forest)!important;display:block!important;}

/* Top gold rule on every card */
.grid-card__top-rule{position:absolute!important;top:0!important;left:0!important;right:0!important;height:3px!important;background:var(--gold)!important;z-index:3!important;}

/* Photo fills the card — activates real image when added */
.grid-card__photo{position:absolute!important;inset:0!important;}
.grid-card__photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;transition:transform 0.7s!important;display:block!important;}
.grid-card--hes:hover .grid-card__photo img{transform:scale(1.04)!important;}
.grid-card__photo-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:linear-gradient(160deg,var(--forest-mid,#1A3D29),var(--forest))!important;}

/* No gradient overlay — clean image behind panel */
.grid-card__overlay{display:none!important;}

/* BOTTOM PANEL — solid dark, identical on every card */
.grid-card__meta{
  position:absolute!important;
  bottom:0!important;left:0!important;right:0!important;
  background:rgba(8,8,8,0.92)!important;
  border-top:3px solid var(--gold)!important;
  padding:1.25rem 1.5rem!important;
  z-index:4!important;
}

/* Issue label */
.grid-card__issue{
  font-family:var(--font-body)!important;
  font-size:0.5625rem!important;
  letter-spacing:0.22em!important;
  text-transform:uppercase!important;
  color:var(--gold)!important;
  font-weight:600!important;
  margin-bottom:0.5rem!important;
  display:block!important;
}

/* Name — large, Anton, uppercase, white */
.grid-card__name{
  font-family:var(--font-display)!important;
  font-size:clamp(20px,2.2vw,28px)!important;
  font-weight:700!important;
  color:var(--white)!important;
  text-transform:uppercase!important;
  letter-spacing:-0.02em!important;
  line-height:1.15!important;
  margin-bottom:0.375rem!important;
}
.grid-card__name a{color:var(--white)!important;}

/* Role */
.grid-card__role{
  font-family:var(--font-body)!important;
  font-size:0.8125rem!important;
  color:rgba(255,255,255,0.6)!important;
  margin-bottom:0.875rem!important;
  font-weight:400!important;
}

/* CTA link */
.grid-card__link{
  font-family:var(--font-body)!important;
  font-size:0.5rem!important;
  font-weight:700!important;
  letter-spacing:0.2em!important;
  text-transform:uppercase!important;
  color:var(--gold)!important;
}

.grid-card--hes{cursor:pointer!important;transition:transform 0.4s!important;}
.grid-card--hes:hover{transform:translateY(-3px)!important;}

/* Sponsor card */
.grid-card--sponsor{border-top:3px solid var(--gold)!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.grid-card--sponsor .sponsor-panel{width:100%!important;height:100%!important;position:absolute!important;inset:0!important;border-top:none!important;}

/* Ojúde Ọba card */
.grid-card--ojude{cursor:pointer!important;transition:transform 0.4s!important;border-top:3px solid var(--gold)!important;}
.grid-card--ojude:hover{transform:translateY(-3px)!important;}
.grid-card__bg{position:absolute;inset:0;background:linear-gradient(160deg,#1A3D29,var(--forest));}
.grid-card__pattern{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(191,138,32,0.07) 0,rgba(191,138,32,0.07) 1px,transparent 1px,transparent 28px);}
.grid-card__glow{position:absolute;top:20%;left:50%;transform:translateX(-50%);width:180px;height:180px;background:radial-gradient(ellipse,rgba(191,138,32,0.18) 0%,transparent 70%);}
.grid-card__crown{position:absolute;top:50%;left:50%;transform:translate(-50%,-70%);opacity:0.4;z-index:1;}
.grid-card__divider{height:1px;background:rgba(191,138,32,0.3);margin-bottom:0.75rem;}

/* ── SPONSOR PANEL ──────────────────────────────────────── */
.sponsor-panel{position:relative!important;overflow:hidden!important;background:var(--forest)!important;border-top:3px solid var(--gold)!important;display:flex!important;align-items:center!important;justify-content:center!important;height:100%!important;}
.sponsor-panel::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(191,138,32,0.06) 0,rgba(191,138,32,0.06) 1px,transparent 1px,transparent 28px);pointer-events:none;}
.sponsor-panel__bg{position:absolute;inset:0;background:linear-gradient(160deg,var(--forest-mid,#1A3D29),var(--forest));}
.sponsor-panel__corner{position:absolute;width:22px;height:22px;}
.sponsor-panel__corner--tl{top:16px;left:16px;border-top:1px solid rgba(191,138,32,0.4);border-left:1px solid rgba(191,138,32,0.4);}
.sponsor-panel__corner--tr{top:16px;right:16px;border-top:1px solid rgba(191,138,32,0.4);border-right:1px solid rgba(191,138,32,0.4);}
.sponsor-panel__corner--bl{bottom:16px;left:16px;border-bottom:1px solid rgba(191,138,32,0.4);border-left:1px solid rgba(191,138,32,0.4);}
.sponsor-panel__corner--br{bottom:16px;right:16px;border-bottom:1px solid rgba(191,138,32,0.4);border-right:1px solid rgba(191,138,32,0.4);}
.sponsor-panel__inner{position:relative;z-index:2;text-align:center;padding:2rem;}
.sponsor-panel__circle{width:72px;height:72px;border:1px solid rgba(191,138,32,0.22);border-radius:50%;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;}
.sponsor-panel__circle-inner{width:48px;height:48px;border:1px solid rgba(191,138,32,0.35);border-radius:50%;}
.sponsor-panel__label{font-family:var(--font-body)!important;font-size:0.5rem!important;letter-spacing:0.26em!important;text-transform:uppercase!important;color:var(--gold)!important;font-weight:600!important;margin-bottom:0.875rem!important;display:block!important;}
.sponsor-panel__rule{width:40px;height:1px;background:rgba(191,138,32,0.35);margin:0 auto 1rem;}
.sponsor-panel__title{font-family:var(--font-display)!important;font-size:clamp(16px,1.8vw,22px)!important;color:rgba(255,255,255,0.9)!important;letter-spacing:-0.02em!important;line-height:1.2!important;margin-bottom:1rem!important;text-transform:uppercase!important;}
.sponsor-panel__micro{font-family:var(--font-body)!important;font-size:0.9375rem!important;color:rgba(255,255,255,0.5)!important;line-height:1.7!important;max-width:240px;margin:0 auto 1.5rem;}
.sponsor-panel__cta{font-family:var(--font-body)!important;font-size:0.5rem!important;font-weight:700!important;letter-spacing:0.2em!important;text-transform:uppercase!important;color:var(--gold)!important;}
.sponsor-panel__logo{max-width:180px;max-height:80px;margin:0 auto;filter:brightness(0) invert(1);opacity:0.9;}

/* ── WHY FBI ─────────────────────────────────────────────── */
.why-fbi{background:var(--cream-dark)!important;border-top:1px solid var(--grey-rule)!important;padding:var(--card-gap) 0 0!important;}
.why-fbi .container{max-width:var(--max-cont)!important;padding:0 var(--margin)!important;}
.why-fbi__inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:var(--card-gap)!important;align-items:stretch!important;}
.why-fbi__left-box{background:var(--forest)!important;border-top:3px solid var(--gold)!important;padding:2rem!important;display:flex!important;flex-direction:column!important;}
.why-fbi__box-title{font-family:var(--font-display)!important;font-weight:700!important;font-size:clamp(22px,2.5vw,32px)!important;letter-spacing:-0.03em!important;text-transform:uppercase!important;color:var(--gold)!important;margin-bottom:1.25rem!important;}
.why-fbi__row{flex:1!important;display:grid!important;grid-template-columns:160px 1fr!important;gap:1rem!important;padding:0.875rem 0!important;border-bottom:1px solid rgba(191,138,32,0.14)!important;align-items:start!important;}
.why-fbi__row:last-child{border-bottom:none!important;}
.why-fbi__row-label{font-family:var(--font-body)!important;font-size:0.875rem!important;font-weight:600!important;color:var(--gold)!important;padding-top:2px!important;}
.why-fbi__row-text{font-family:var(--font-body)!important;font-size:1rem!important;font-weight:400!important;color:rgba(255,255,255,0.75)!important;line-height:1.72!important;margin:0!important;}
.why-fbi__sponsor{height:100%!important;min-height:300px!important;}
.why-fbi__sponsor .sponsor-panel{height:100%!important;min-height:100%!important;border-top:3px solid var(--gold)!important;}

/* ── PARTNER WITH US ─────────────────────────────────────── */
.partner-section{padding:48px 0!important;background:var(--cream)!important;}
.partner-section .container{max-width:var(--max-cont)!important;padding:0 var(--margin)!important;}
.partner-section__intro{font-family:var(--font-body)!important;font-size:1.0625rem!important;color:#1A1A18!important;max-width:680px!important;margin-top:0.75rem!important;}
.partner-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;margin-top:1.75rem!important;border-top:1px solid var(--grey-rule)!important;border-left:1px solid var(--grey-rule)!important;}
.partner-card{padding:2rem 1.75rem!important;border-right:1px solid var(--grey-rule)!important;border-bottom:1px solid var(--grey-rule)!important;position:relative!important;transition:background 0.3s!important;}
.partner-card:hover{background:var(--cream-dark)!important;}
.partner-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.partner-card:hover::before{transform:scaleX(1);}
.partner-card__number{font-family:var(--font-display)!important;font-size:44px!important;color:rgba(15,42,28,0.08)!important;margin-bottom:1rem!important;display:block!important;line-height:1!important;}
.partner-card__rule{display:block;width:32px;height:2px;background:var(--gold);margin-bottom:1rem;}
.partner-card__title{font-family:var(--font-display)!important;font-size:1.125rem!important;font-weight:700!important;color:var(--forest)!important;text-transform:uppercase!important;letter-spacing:-0.02em!important;margin-bottom:0.625rem!important;line-height:1.3!important;}
.partner-card__desc{font-family:var(--font-body)!important;font-size:0.9375rem!important;font-weight:400!important;color:#1A1A18!important;line-height:1.75!important;margin-bottom:1.375rem!important;}
.partner-card__link{font-family:var(--font-body)!important;font-size:0.5rem!important;font-weight:700!important;letter-spacing:0.18em!important;text-transform:uppercase!important;color:var(--gold)!important;}

/* ── FULL BLOODED LIVE ───────────────────────────────────── */
.fbl-section{background:var(--near-black)!important;border-top:2px solid var(--gold)!important;padding:48px 0!important;}
.fbl-section .container{max-width:var(--max-cont)!important;padding:0 var(--margin)!important;}
.fbl-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2px!important;margin-top:2.25rem!important;}
.fbl-card{background:var(--forest);overflow:hidden;}
.fbl-card__thumb{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--forest-mid);}
.fbl-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s;display:block;}
.fbl-card:hover .fbl-card__thumb img{transform:scale(1.05);}
.fbl-card__thumb-bg{width:100%;height:100%;background:var(--forest-mid);}
.fbl-card__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.3);}
.fbl-card__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border:1.5px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.fbl-card__play-icon{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid var(--gold);margin-left:4px;}
.fbl-card__duration{position:absolute;bottom:10px;right:12px;font-family:var(--font-body);font-size:0.75rem;color:rgba(255,255,255,0.6);}
.fbl-card__body{padding:1.375rem;border-top:2px solid var(--gold);}
.fbl-card__tag{font-family:var(--font-body)!important;font-size:0.5625rem!important;letter-spacing:0.2em!important;text-transform:uppercase!important;color:var(--gold)!important;margin-bottom:0.4rem!important;}
.fbl-card__title{font-family:var(--font-display)!important;font-size:1.0625rem!important;font-weight:700!important;color:var(--white)!important;text-transform:uppercase!important;letter-spacing:-0.02em!important;line-height:1.3!important;}
.fbl-card__title a{color:var(--white)!important;}

/* ── EQUESTRIAN ──────────────────────────────────────────── */
.equestrian{display:grid!important;grid-template-columns:1fr 1fr!important;max-width:var(--max-cont)!important;margin:0 auto!important;}
.equestrian__photo{position:relative;overflow:hidden;min-height:520px;background:var(--forest);}
.equestrian__photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.equestrian__photo-placeholder{width:100%;height:100%;min-height:520px;background:linear-gradient(160deg,var(--forest-mid),var(--forest));display:flex;align-items:center;justify-content:center;}
.equestrian__text{padding:clamp(44px,5vw,72px)!important;background:var(--cream)!important;display:flex;flex-direction:column;justify-content:center;}
.equestrian__subtitle{font-family:var(--font-body)!important;font-size:1.0625rem!important;font-style:italic!important;color:var(--grey)!important;margin-bottom:1.125rem!important;}
.equestrian__body{font-family:var(--font-body)!important;font-size:1.0625rem!important;color:#1A1A18!important;line-height:1.82!important;margin-bottom:1.5rem!important;}
.equestrian__list{list-style:none;margin-bottom:2.25rem;}
.equestrian__list li{display:flex;align-items:flex-start;gap:0.75rem;padding:0.5rem 0;border-bottom:1px solid var(--grey-rule);font-family:var(--font-body)!important;font-size:1rem!important;color:#1A1A18!important;}
.equestrian__list li::before{content:'◆';color:var(--gold);font-size:0.5rem;margin-top:0.45rem;flex-shrink:0;}

/* ── NEWSLETTER ──────────────────────────────────────────── */
.newsletter{background:var(--forest-mid,#1A3D29)!important;border-top:2px solid var(--gold)!important;padding:44px 0!important;}
.newsletter .container{max-width:var(--max-cont)!important;padding:0 var(--margin)!important;}
.newsletter__inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4rem!important;align-items:center!important;}
.newsletter__title{font-family:var(--font-display)!important;color:var(--white)!important;text-transform:uppercase!important;margin:0.75rem 0 0.5rem!important;font-size:clamp(28px,3vw,40px)!important;}
.newsletter__body{font-family:var(--font-body)!important;font-size:1rem!important;color:rgba(245,239,224,0.6)!important;line-height:1.75!important;}
.newsletter-form{display:flex;flex-direction:column;gap:0.875rem;}
.newsletter-form__row{display:flex;}
.newsletter-form__input{flex:1;background:rgba(245,239,224,0.05);border:1px solid rgba(191,138,32,0.22);border-right:none;color:var(--cream);font-family:var(--font-body);font-size:1rem;padding:0.95rem 1.25rem;outline:none;}
.newsletter-form__input::placeholder{color:rgba(245,239,224,0.3);}
.newsletter-form__btn{background:var(--gold);color:var(--forest);border:none;padding:0.95rem 1.625rem;font-family:var(--font-display);font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;}
.newsletter-form__note{font-family:var(--font-body);font-size:0.75rem;color:rgba(245,239,224,0.25);}

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer{background:var(--black)!important;border-top:2px solid var(--gold)!important;}
.footer__upper{padding:48px 0 32px!important;}
.site-footer .container{max-width:var(--max-cont)!important;padding:0 var(--margin)!important;}
.footer__grid{display:grid!important;grid-template-columns:2fr 1fr 1fr 1fr!important;gap:3rem!important;}
.footer__brand-name{font-family:var(--font-display)!important;font-size:22px!important;color:var(--white)!important;text-transform:uppercase!important;letter-spacing:0.04em!important;display:block!important;margin-bottom:4px!important;}
.footer__brand-tagline{font-family:var(--font-body)!important;font-size:0.5625rem!important;letter-spacing:0.24em!important;text-transform:uppercase!important;color:var(--gold)!important;font-weight:600!important;margin-bottom:1.125rem!important;display:block!important;}
.footer__brand-about{font-family:var(--font-body)!important;font-size:1rem!important;color:rgba(245,239,224,0.45)!important;line-height:1.78!important;margin-bottom:1.375rem!important;}
.footer__social{display:flex;gap:0.75rem;}
.footer__social-link{width:32px;height:32px;background:var(--white);border:1px solid rgba(191,138,32,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:0.5rem;color:var(--forest);transition:all 0.3s;}
.footer__social-link:hover{background:var(--gold);color:var(--white);border-color:var(--gold);}
.footer__col-title{font-family:var(--font-display)!important;font-size:0.875rem!important;font-weight:700!important;letter-spacing:0.1em!important;text-transform:uppercase!important;color:rgba(245,239,224,0.55)!important;margin-bottom:1.125rem!important;padding-bottom:0.75rem!important;border-bottom:1px solid rgba(191,138,32,0.14)!important;display:block!important;}
.footer__menu{list-style:none;}
.footer__menu li{margin-bottom:0.625rem;}
.footer__menu a{font-family:var(--font-body)!important;font-size:1rem!important;font-weight:300!important;color:rgba(245,239,224,0.38)!important;transition:color 0.3s,padding-left 0.25s!important;display:block!important;}
.footer__menu a:hover{color:var(--gold)!important;padding-left:5px!important;}
.footer__lower{border-top:1px solid rgba(255,255,255,0.05);padding:1.375rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
.footer__closing{width:100%;text-align:center;font-family:var(--font-body);font-size:0.75rem;letter-spacing:0.12em;color:rgba(191,138,32,0.4);padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,0.04);margin-bottom:0.75rem;}
.footer__copy{font-family:var(--font-body)!important;font-size:0.75rem!important;color:rgba(245,239,224,0.2)!important;}
.footer__trademark{font-family:var(--font-body)!important;font-size:0.625rem!important;color:rgba(191,138,32,0.35)!important;letter-spacing:0.06em!important;}

/* ── UTILITIES ───────────────────────────────────────────── */
.gold-rule{display:block;width:48px;height:2px;background:var(--gold);border:none;margin:0.875rem 0;}
.t-label{font-family:var(--font-body)!important;font-size:0.5625rem!important;font-weight:600!important;letter-spacing:0.22em!important;text-transform:uppercase!important;}
.c-gold{color:var(--gold)!important;}
.c-forest{color:var(--forest)!important;}
.c-white{color:var(--white)!important;}

/* ALL HEADINGS — HeritageDisplay, uppercase */
h1,h2,h3,h4,h5,
.t-display,.t-display--xl,.t-display--lg,.t-display--md,
.page-hero__title,.ojude-page-header__title{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  letter-spacing:-0.04em!important;
  text-transform:uppercase!important;
}
.t-display--lg{font-size:clamp(36px,4.5vw,60px)!important;}

/* ============================================================
   FINAL FIXES — clean, no contradictions
   ============================================================ */

/* GAP: data strip compact, no space between hero and cards */
.data-strip { padding: 1rem 0 !important; margin: 0 !important; }
.hero-outer { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.cards-section { margin-top: 0 !important; padding-top: var(--card-gap) !important; }

/* SPONSOR PANEL TEXT — white. Beat the global p { color:#1A1A18 } rule */
.sponsor-panel .sponsor-panel__micro { color: rgba(245,239,224,0.72) !important; }
.sponsor-panel__inner p { color: rgba(245,239,224,0.72) !important; }
.grid-card .grid-card__role { color: rgba(245,239,224,0.85) !important; }
.why-fbi__row-text { color: rgba(245,239,224,0.75) !important; }
.why-fbi__left-box p { color: rgba(245,239,224,0.75) !important; }

/* ALL TEXT ON DARK GREEN/BLACK BACKGROUNDS — white */
.fbl-section p { color: rgba(245,239,224,0.6) !important; }
.newsletter p, .newsletter__body { color: rgba(245,239,224,0.55) !important; }
.data-item__label { color: rgba(245,239,224,0.55) !important; }
.hero__desc { color: rgba(245,239,224,0.7) !important; }
.footer__brand-about { color: rgba(245,239,224,0.42) !important; }

/* CARD TITLE/SUBTITLE — swapped sizes, both Anton */
.grid-card .grid-card__name {
  font-family: 'Anton','HeritageDisplay','Antonio',sans-serif !important;
  font-size: clamp(11px,1.1vw,14px) !important;
  font-weight: 400 !important;
  color: #FFFFFF !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  margin-bottom: 0.375rem !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}
.grid-card .grid-card__name a { color: #FFFFFF !important; }
.grid-card .grid-card__role {
  font-family: 'Anton','HeritageDisplay','Antonio',sans-serif !important;
  font-size: clamp(20px,2.2vw,28px) !important;
  font-weight: 400 !important;
  color: rgba(245,239,224,0.95) !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
  margin-bottom: 0.875rem !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

/* BOTTOM PANEL — identical on all 6 cards */
.grid-card .grid-card__meta {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  background: rgba(8,8,8,0.92) !important;
  border-top: 3px solid #BF8A20 !important;
  padding: 1.25rem 1.5rem 1.375rem !important;
  z-index: 10 !important;
  display: block !important;
}
.grid-card .grid-card__overlay { display: none !important; }

/* SOCIAL ICONS — SVG icons, white background */
.header-social {
  width: 38px !important; height: 38px !important;
  background: #FFFFFF !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #0F2A1C !important; border: none !important; transition: all 0.3s !important;
}
.header-social:hover { background: #BF8A20 !important; color: #FFFFFF !important; }
.header-social svg { width: 16px !important; height: 16px !important; display: block !important; flex-shrink: 0 !important; }



/* ============================================================
   v7.7 — Gap fix, Ojúde Ọba header, card dividers
   ============================================================ */

/* 1. GAP FIX — parent theme sets min-height:calc(100vh-108px) on .hero
   Override to use our fixed height only, no viewport expansion */
.hero {
  min-height: 0 !important;
  height: var(--hero-h) !important;
}
.hero__left {
  min-height: 0 !important;
  height: var(--hero-h) !important;
}
.hero__right {
  min-height: 0 !important;
  height: var(--hero-h) !important;
}
.hero-outer {
  background: #0F2A1C !important; /* forest — no cream showing through */
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
/* Remove any inherited padding/margin on site-main above hero */
.site-main {
  padding: 0 !important;
  margin: 0 !important;
}

/* 2. OJÚDE ỌBA PAGE HEADER — match other pages exactly */
.ojude-page-header {
  background: var(--forest) !important;
  border-bottom: 3px solid var(--gold) !important;
  padding: clamp(48px,6vw,72px) 0 clamp(36px,4vw,52px) !important;
  display: block !important;
}
.ojude-page-header .container {
  max-width: var(--max-cont) !important;
  padding: 0 var(--margin) !important;
  margin: 0 auto !important;
}
.ojude-page-header__eyebrow {
  font-family: var(--font-body) !important;
  font-size: 0.5625rem !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
  display: block !important;
  margin-bottom: 0.875rem !important;
}
.ojude-page-header__title {
  font-family: var(--font-display) !important;
  font-size: clamp(44px,5.5vw,72px) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.04em !important;
  color: var(--white) !important;
  margin: 0 0 0.75rem 0 !important;
  line-height: 0.95 !important;
}
.ojude-page-header__desc {
  font-family: var(--font-body) !important;
  font-size: 1.0625rem !important;
  color: rgba(245,239,224,0.65) !important;
  max-width: 560px !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* 3. CARD DIVIDER LINE — gold horizontal rule under issue label
   Applied to all 6 cards and the hero issue panel */

/* After the issue label, before the name — gold rule */
.grid-card .grid-card__issue {
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  border-bottom: 1px solid rgba(191,138,32,0.35) !important;
  display: block !important;
}
.grid-card .grid-card__name {
  margin-top: 0 !important;
}

/* Hero issue panel — same divider under label */
.hero__issue-label {
  padding-bottom: 0.375rem !important;
  margin-bottom: 0.375rem !important;
  border-bottom: 1px solid rgba(191,138,32,0.35) !important;
}

/* Ojúde Oba card — divider under the date label */
.grid-card--ojude .grid-card__issue {
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  border-bottom: 1px solid rgba(191,138,32,0.35) !important;
}
/* Show the divider div for ojude card */
.grid-card--ojude .grid-card__divider {
  display: none !important; /* we use border-bottom on issue instead */
}

/* HES archive cards — same divider */
.hes-arc-card__issue {
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  border-bottom: 1px solid rgba(191,138,32,0.35) !important;
  display: block !important;
}

/* ============================================================
   v7.8 — Hero panel, Instagram, Footer text
   ============================================================ */

/* 1. HERO RIGHT ISSUE PANEL — match grid cards exactly
   Same font sizes, same layout as boxes 1,3,4,6 */
.hero__issue-panel {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  background: rgba(8,8,8,0.92) !important;
  border-top: 3px solid var(--gold) !important;
  padding: 1.25rem 1.5rem 1.375rem !important;
  z-index: 4 !important;
}
.hero__issue-label {
  font-family: var(--font-body) !important;
  font-size: 0.5625rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
  display: block !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 0.5rem !important;
  border-bottom: 1px solid rgba(191,138,32,0.35) !important;
}
/* Issue name = the role (large Anton) */
.hero__issue-name {
  font-family: 'Anton','HeritageDisplay','Antonio',sans-serif !important;
  font-size: clamp(20px,2.2vw,28px) !important;
  font-weight: 400 !important;
  color: var(--white) !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
  margin-bottom: 0.375rem !important;
  word-wrap: break-word !important;
  white-space: normal !important;
}
/* Issue role = the subtitle (small Anton) */
.hero__issue-role {
  font-family: 'Anton','HeritageDisplay','Antonio',sans-serif !important;
  font-size: clamp(11px,1.1vw,14px) !important;
  font-weight: 400 !important;
  color: rgba(245,239,224,0.75) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  margin-bottom: 0.875rem !important;
}
/* ============================================================
   FINAL — Hero swap + Instagram isolation
   ============================================================ */

/* HERO ISSUE PANEL — definitive sizes
   label = "ISSUE 001 · HERITAGE ELEGANCE SERIES" → BIG
   name  = "OMOOBA IJEBU"                         → SMALL
   role  = their role                             → tiny */
.hero__issue-panel {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  background: rgba(8,8,8,0.92) !important;
  border-top: 3px solid #BF8A20 !important;
  padding: 1.25rem 1.5rem 1.375rem !important;
  z-index: 10 !important;
}
/* BIG — the label (Heritage Elegance 001) */
.hero__issue-label {
  font-family: 'Anton','Antonio',sans-serif !important;
  font-size: clamp(20px,2.2vw,28px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  display: block !important;
  line-height: 1.1 !important;
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  border: none !important;
}
/* SMALL — the name (Omooba Ijebu) */
.hero__issue-name {
  font-family: 'Anton','Antonio',sans-serif !important;
  font-size: clamp(11px,1.1vw,14px) !important;
  font-weight: 400 !important;
  color: rgba(245,239,224,0.75) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
  display: block !important;
  margin: 0 0 0.375rem 0 !important;
}
/* TINY — the role */
.hero__issue-role {
  font-family: 'Montserrat',sans-serif !important;
  font-size: 0.6875rem !important;
  color: rgba(245,239,224,0.5) !important;
  text-transform: none !important;
  margin: 0 0 0.75rem 0 !important;
  display: block !important;
}
.hero__issue-link {
  font-family: 'Montserrat',sans-serif !important;
  font-size: 0.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #BF8A20 !important;
  display: block !important;
}


/* Footer text white */
.site-footer p,
.site-footer li,
.footer__brand-about { color: rgba(245,239,224,0.78) !important; }
.footer__menu a { color: rgba(245,239,224,0.78) !important; font-size: 1rem !important; }
.footer__menu a:hover { color: #BF8A20 !important; }
.footer__copy { color: rgba(245,239,224,0.45) !important; }

/* Smash Balloon carousel type indicators — hide the overlay squares */
/* sbi icon rules removed */

/* ============================================================
   MOBILE — complete rewrite for screens under 768px
   ============================================================ */

/* ============================================================
   TABLET — 1024px and below
   ============================================================ */
@media (max-width: 1024px) {
  :root { --margin: 40px; }

  .cards-grid { grid-template-columns: repeat(3,1fr) !important; }
  .partner-grid { grid-template-columns: 1fr 1fr !important; }
  .fbl-grid { grid-template-columns: 1fr 1fr !important; }
  .footer__grid { grid-template-columns: 1fr 1fr !important; gap: 2rem !important; }
  #primary-menu > li > a { font-size: 0.75rem !important; }
}

/* ============================================================
   MOBILE — 768px and below
   ============================================================ */
@media (max-width: 768px) {

  :root {
    --margin: 16px;
    --hero-h: auto;
    --card-gap: 6px;
  }

  /* HEADER */
  .header-bar__inner {
    padding: 0 16px !important;
    height: auto !important;
    min-height: 64px !important;
    flex-wrap: nowrap !important;
  }
  .header-logo { gap: 10px !important; }
  .header-crest { width: 40px !important; height: 40px !important; }
  .header-crest svg { width: 40px !important; height: 40px !important; max-width: 40px !important; max-height: 40px !important; }
  .header-site-name { font-size: 15px !important; }
  .header-tagline { font-size: 0.375rem !important; letter-spacing: 0.1em !important; }
  .header-bar__right { gap: 5px !important; }
  .header-social { width: 30px !important; height: 30px !important; }
  .header-social svg { width: 13px !important; height: 13px !important; }
  /* Show only IG and FB on small screens */
  .header-social:nth-child(n+3) { display: none !important; }

  /* NAV — horizontal scroll */
  .site-nav__inner {
    padding: 0 16px !important;
    height: auto !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .site-nav__inner::-webkit-scrollbar { display: none !important; }
  #primary-menu {
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    gap: 0 !important;
  }
  #primary-menu > li > a {
    font-size: 0.625rem !important;
    height: 44px !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
  }

  /* HERO — stack vertically */
  .hero {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .hero__left {
    height: auto !important;
    min-height: 400px !important;
    padding: 2.5rem 1.25rem !important;
  }
  .hero__headline { font-size: clamp(36px,9vw,52px) !important; }
  .hero__desc { font-size: 0.9375rem !important; max-width: 100% !important; }
  .hero__cta { gap: 8px !important; }
  .btn--gold, .btn--outline-gold { font-size: 0.5625rem !important; padding: 0.75rem 1.25rem !important; }
  .hero__right {
    height: 320px !important;
    min-height: 320px !important;
  }

  /* DATA STRIP */
  .data-strip__grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    padding: 0 16px !important;
  }
  .data-item + .data-item::before { display: none !important; }
  .data-item { padding: 0.75rem 0 !important; border-bottom: 1px solid rgba(191,138,32,0.15) !important; }
  .data-item:last-child { border-bottom: none !important; }

  /* 6 CARDS — single column */
  .cards-grid {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }
  .grid-card { height: 380px !important; }
  .grid-card__name { font-size: 12px !important; }
  .grid-card__role { font-size: clamp(18px,5vw,24px) !important; }

  /* WHY FBI */
  .why-fbi .container { padding: 0 !important; }
  .why-fbi__inner { grid-template-columns: 1fr !important; }
  .why-fbi__sponsor { display: none !important; }
  .why-fbi__left-box { padding: 1.25rem 1rem !important; }
  .why-fbi__box-title { font-size: 18px !important; }
  .why-fbi__row { grid-template-columns: 1fr !important; gap: 0.25rem !important; }
  .why-fbi__row-label { font-size: 0.75rem !important; }
  .why-fbi__row-text { font-size: 0.875rem !important; }

  /* PARTNER */
  .partner-grid { grid-template-columns: 1fr !important; }
  .partner-section .container { padding: 0 16px !important; }
  .partner-card { padding: 1.25rem !important; }

  /* FBL */
  .fbl-grid { grid-template-columns: 1fr !important; }
  .fbl-section .container { padding: 0 16px !important; }

  /* EQUESTRIAN */
  .equestrian { grid-template-columns: 1fr !important; }
  .equestrian__photo { min-height: 260px !important; }
  .equestrian__text { padding: 1.5rem 1rem !important; }
  .equestrian__body { font-size: 0.9375rem !important; }

  /* NEWSLETTER */
  .newsletter__inner { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
  .newsletter .container { padding: 0 16px !important; }
  .newsletter__title { font-size: clamp(22px,6vw,32px) !important; }

  /* FOOTER */
  .footer__grid { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
  .site-footer .container { padding: 0 16px !important; }
  .footer__lower { flex-direction: column !important; text-align: center !important; gap: 0.5rem !important; }

  /* PAGE HERO */
  .page-hero { padding: 2rem 0 !important; }
  .page-hero .container { padding: 0 16px !important; }
  .page-hero__title { font-size: clamp(28px,7vw,42px) !important; }
  .page-hero__desc { font-size: 0.9375rem !important; }

  /* OJÚDE ỌBA HEADER */
  .ojude-page-header { padding: 2rem 0 1.5rem !important; }
  .ojude-page-header .container { padding: 0 16px !important; }
  .ojude-page-header__title { font-size: clamp(28px,7vw,42px) !important; }
  .ojude-page-header__desc { font-size: 0.9375rem !important; }

  /* CONTAINERS */
  .container { padding: 0 16px !important; }

  /* HES ARCHIVE */
  .hes-archive-grid { grid-template-columns: 1fr !important; }
  .hes-arc-card { height: 380px !important; }
  .hes-arc-card__name { font-size: 20px !important; }

  /* BREADCRUMB */
  .breadcrumb-bar .container { padding: 0 16px !important; }

  /* ENTRY CONTENT */
  .entry-content { padding: 0 16px !important; }
  .entry-content p { font-size: 1rem !important; }
  .entry-content h2 { font-size: clamp(22px,5vw,32px) !important; }
}

/* ============================================================
   SMALL PHONES — 390px and below
   ============================================================ */
@media (max-width: 390px) {
  .header-site-name { font-size: 13px !important; }
  .header-tagline { display: none !important; }
  .hero__left { min-height: 360px !important; padding: 2rem 1rem !important; }
  .hero__headline { font-size: 32px !important; }
  .hero__right { height: 260px !important; }
  .grid-card { height: 340px !important; }
  #primary-menu > li > a { font-size: 0.5625rem !important; padding: 0 10px !important; }
}

/* ============================================================
   v8.7 — MOBILE OPTIMISATION PASS
   Fixes: hero panel overflow, nav tap targets, card meta
   clipping, HES archive on mobile, footer stacking,
   Ojúde Ọba countdown widget, single post layout,
   and touch-interaction improvements.
   ============================================================ */

/* ── GLOBAL TOUCH IMPROVEMENTS ─────────────────────────────── */
a, button, [role="button"] {
  -webkit-tap-highlight-color: rgba(191,138,32,0.18) !important;
}
input, textarea, select {
  font-size: 16px !important; /* prevent iOS zoom on focus */
}

/* ── HERO PANEL — prevent overflow on narrow screens ────────── */
@media (max-width: 768px) {
  .hero__issue-panel {
    padding: 1rem 1rem 1.125rem !important;
    overflow: hidden !important;
  }
  .hero__issue-label {
    font-size: clamp(16px,4.5vw,22px) !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
  .hero__issue-name {
    font-size: clamp(10px,2.8vw,13px) !important;
    white-space: normal !important;
  }
  .hero__issue-role {
    font-size: 0.625rem !important;
    white-space: normal !important;
  }
  .hero__issue-link {
    font-size: 0.4375rem !important;
  }

  /* ── NAV TAP TARGETS — minimum 44px tall ────────────────────── */
  #primary-menu > li > a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* ── GRID CARD META — prevent text overflow ─────────────────── */
  .grid-card .grid-card__meta {
    padding: 0.875rem 1rem 1rem !important;
    overflow: hidden !important;
  }
  .grid-card .grid-card__role {
    font-size: clamp(17px,4.5vw,22px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    word-break: break-word !important;
    margin-bottom: 0.5rem !important;
  }
  .grid-card .grid-card__name {
    font-size: clamp(10px,2.8vw,13px) !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
  .grid-card .grid-card__cta {
    font-size: 0.4375rem !important;
    letter-spacing: 0.15em !important;
  }

  /* ── HES ARCHIVE — two columns on portrait tablet ────────────── */
  .hes-archive-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
  }
  .hes-arc-card {
    height: 300px !important;
  }
  .hes-arc-card__meta {
    padding: 0.875rem 1rem !important;
  }
  .hes-arc-card__name {
    font-size: 16px !important;
    word-break: break-word !important;
  }
  .hes-arc-card__role {
    font-size: 0.6875rem !important;
  }

  /* ── SINGLE POST — readable line lengths ─────────────────────── */
  .single .entry-content,
  .single-heritage_elegance .entry-content {
    padding: 0 16px !important;
    max-width: 100% !important;
  }
  .single .entry-content p,
  .single-heritage_elegance .entry-content p {
    font-size: 1.0625rem !important;
    line-height: 1.78 !important;
  }
  .single .entry-content h2 {
    font-size: clamp(20px,5vw,28px) !important;
    margin-top: 1.75rem !important;
  }

  /* ── OJÚDE ỌBA COUNTDOWN — stack on mobile ──────────────────── */
  .countdown-grid {
    grid-template-columns: repeat(4,1fr) !important;
    gap: 4px !important;
  }
  .countdown-unit__number {
    font-size: clamp(28px,8vw,48px) !important;
  }
  .countdown-unit__label {
    font-size: 0.4375rem !important;
    letter-spacing: 0.12em !important;
  }
  .ojude-page-header__title {
    word-break: break-word !important;
  }

  /* ── CONTACT FORM — full width fields ───────────────────────── */
  .contact-form input,
  .contact-form textarea,
  .contact-form select,
  .wpcf7 input,
  .wpcf7 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ── INSTAGRAM GRID — 2 columns on mobile ───────────────────── */
  #sb_instagram .sbi_item_norm,
  .sbi_photo_wrap { width: 50% !important; }
  #sb_instagram #sbi_images { width: 100% !important; }

  /* ── FOOTER COPYRIGHT LINE — better small screen layout ─────── */
  .footer__lower {
    gap: 0.75rem !important;
    padding: 1rem 0 !important;
  }
  .footer__copy {
    font-size: 0.6875rem !important;
    line-height: 1.6 !important;
  }
  .footer__social-row {
    justify-content: center !important;
    gap: 8px !important;
  }
}

/* ── PORTRAIT TABLET — 540px to 768px ──────────────────────── */
@media (min-width: 541px) and (max-width: 768px) {
  .cards-grid {
    grid-template-columns: repeat(2,1fr) !important;
  }
  .grid-card { height: 360px !important; }
  .hes-archive-grid {
    grid-template-columns: repeat(2,1fr) !important;
  }
  .partner-grid { grid-template-columns: 1fr 1fr !important; }
  .fbl-grid { grid-template-columns: 1fr 1fr !important; }
}

/* ── SMALL PHONES — additions to existing 390px block ──────── */
@media (max-width: 390px) {
  /* Ensure cards never overflow viewport */
  .cards-grid {
    padding: 0 !important;
  }
  .grid-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* HES archive: single column on very small */
  .hes-archive-grid {
    grid-template-columns: 1fr !important;
  }
  .hes-arc-card { height: 320px !important; }
  /* Instagram: single column on smallest screens */
  #sb_instagram .sbi_item_norm { width: 100% !important; }
  /* Footer stacking */
  .footer__lower {
    flex-direction: column !important;
    align-items: center !important;
  }
  /* Countdown: show DDDD HHHH MMMM SSSS in 2x2 on tiny screens */
  .countdown-grid {
    grid-template-columns: repeat(2,1fr) !important;
    max-width: 220px !important;
    margin: 0 auto !important;
  }
}

/* ── SAFE AREA INSETS (iPhone notch / Dynamic Island) ───────── */
@supports (padding: env(safe-area-inset-left)) {
  .header-bar__inner {
    padding-left: calc(16px + env(safe-area-inset-left)) !important;
    padding-right: calc(16px + env(safe-area-inset-right)) !important;
  }
  .site-footer .container {
    padding-left: calc(16px + env(safe-area-inset-left)) !important;
    padding-right: calc(16px + env(safe-area-inset-right)) !important;
  }
}
