@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&family=Amiri:wght@400;700&family=Aref+Ruqaa&display=swap');
/*! The Foundations Press: layer v8 (press-v8.css)
 * Replaces press-v3.css to press-v7.css. Brand faces: Cormorant Garamond + DM Sans; Amiri for Arabic. Stampd editorial aesthetic: alternating dark/light sections,
 * large condensed typography, section watermarks, ruled grid system.
 * Written against real class names — zero attribute-wildcard selectors.
 * Version the filename on every change: /assets/* is cached for a year.
 */

:root{
  --p-gold:#8B7355; --p-gold-l:#b09a72; --p-teal:#2E8B8B; --p-purple:#5B4A8A;
  --p-parch:#F5EDDA; --p-red:#B23A2F;
  --p-ink:#111; --p-dark:#0e0e0e; --p-card:#161616; --p-card-rule:#2a2a2a;
  --p-cream:#f4f1ea; --p-stone:#f5f5f3; --p-rule:#e3e3e0; --p-mute:#6b6b68;
  --p-sans:"Archivo","Archivo Narrow","Arial Narrow",Arial,sans-serif;
  --p-serif:"Amiri",Georgia,serif;
  --p-gutter:clamp(24px,5vw,80px);
}

/* ═══════════ 0. UNDO v1's wildcard damage ═══════════ */
.product-badge,.product-type,.product-title,.product-price,.product-note,.product-desc,.product-grid,
.tier-grid,.tier-num,.tier-title,.tier-text,
.gate-list,.gate-label,.gate-title,.gate-text,
.lp-card-grid,.related-card-label,.curriculum-pages-grid,.curriculum-page-link,
.stat-item,.stat-num,.stat-label,.stats-bar,.stats-inner{
  background:transparent!important; border:0!important;
}
.product-card:hover,.program-card:hover,.partner-card:hover,.commission-card:hover,
.lp-card:hover,.related-card:hover,.tier-card:hover{ border-color:var(--p-rule)!important; }

/* Restore buttons v1 damaged */
.faq-q{
  display:flex!important; justify-content:space-between!important; align-items:center!important;
  width:100%!important; min-height:0!important; padding:18px 0!important;
  border:0!important; background:transparent!important; color:var(--p-ink)!important;
  font-family:var(--p-sans)!important; font-stretch:75%!important; font-weight:500!important;
  font-size:13px!important; letter-spacing:.14em!important; text-transform:uppercase!important; text-align:left!important;
}
.faq-q:hover{ background:transparent!important; color:var(--p-gold)!important; }
.faq-q::after{ color:var(--p-ink); font-size:18px; letter-spacing:0; }
.faq-list{ border-top:1px solid var(--p-ink)!important; }
.faq-item{ border-bottom:1px solid var(--p-rule)!important; }
.faq-a{ font-family:var(--p-serif); font-size:17px; line-height:1.7; color:#2a2a2a!important; }

.announce-close{
  min-height:0!important; padding:2px 8px!important; border:0!important; background:transparent!important;
  color:#d8d4cb!important; font-size:18px!important; letter-spacing:0!important;
}
.announce-close:hover{ background:transparent!important; color:#fff!important; }

.nav-hamburger{ min-height:0!important; padding:8px!important; border:0!important; background:transparent!important; gap:5px; }
.nav-hamburger span{ display:block; width:22px; height:2px; background:var(--p-ink); }
.nav-hamburger span:nth-child(2){ width:16px; } .nav-hamburger span:nth-child(3){ width:10px; }
.nav-hamburger:hover{ background:transparent!important; }
@media (max-width:768px){ .nav-links{ display:none; } .nav-links.is-open,.nav-links[style*="flex"]{ display:flex!important; } }

.tfp-logo{ letter-spacing:0!important; font-stretch:100%!important; font-weight:400!important; }
.tfp-wm .top,.tfp-wm .bot{ font-family:var(--p-sans)!important; font-stretch:75%; font-size:8px!important; letter-spacing:.35em!important; }
.tfp-wm .mid{ font-family:var(--p-sans)!important; font-stretch:75%; font-weight:700!important; font-size:14px!important; letter-spacing:.28em!important; }
.tfp-mark span,.footer-mark span{ border-radius:0!important; }
.footer-brand{ letter-spacing:0!important; font-stretch:100%!important; }

/* ═══════════ 1. Global page rhythm ═══════════ */
hr.divider{ display:none!important; }
section.section{
  border-top:1px solid var(--p-rule)!important;
  padding-top:clamp(72px,9vw,128px)!important;
  padding-bottom:clamp(72px,9vw,128px)!important;
}
section:nth-of-type(even):not(.press-hero){ background-color:transparent; }
.section-alt{ background:var(--p-stone)!important; }

/* Labels — all of them, one rule */
.section-label,.prog-for,.partner-tag,.tier-num,.gate-label,.seq-num,.why-label,
.ep-num,.press-pub,.disc-anchor,.disc-qanchor,.product-type,.lp-eyebrow,
.related-card-label,.curriculum-pages-label,.footer-col-title,.stat-label{
  font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase;
  letter-spacing:.28em!important; font-size:10px!important; color:var(--p-mute)!important; font-weight:500!important;
}

/* Section titles — MUCH larger, condensed, editorial */
.section-title{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:clamp(38px,5.5vw,80px)!important; font-weight:700!important;
  letter-spacing:-.02em!important; line-height:.98!important;
  margin-bottom:.45em!important; color:var(--p-ink)!important;
}
.section-intro,.gov-intro,.commission-intro,.contact-intro{
  font-family:var(--p-serif)!important; font-size:20px!important; line-height:1.65!important; color:#2a2a2a!important; max-width:640px;
}
.disc-text,.seq-text,.why-text,.prog-text,.partner-text,.comm-text,.gate-text,.tier-text,
.pipeline-box p,.ai-disclosure,.source-hierarchy,.founder-text p,.press-sub,.store-footer{
  font-size:15px!important; line-height:1.65!important; color:#333!important;
}

/* Stats bar — dramatic large numerals */
.stats-bar{ border-top:1px solid var(--p-rule)!important; border-bottom:1px solid var(--p-rule)!important; background:#fff!important; }
.stat-item{ border-right:1px solid var(--p-rule)!important; padding:clamp(32px,4vw,56px) clamp(24px,3vw,48px)!important; }
.stat-item:last-child{ border-right:0!important; }
.stat-num{
  font-family:var(--p-sans)!important; font-stretch:75%!important; font-weight:700!important;
  font-size:clamp(52px,6vw,88px)!important; letter-spacing:-.04em!important; line-height:1!important;
  color:var(--p-ink)!important; display:block; margin-bottom:8px;
}
.stat-label{ font-size:9px!important; letter-spacing:.32em!important; }

/* ═══════════ 2. Hero ═══════════ */
#hero.press-hero .container{ max-width:none!important; padding:0!important; }
.press-hero{ min-height:min(88vh,860px)!important; }
.press-hero p{ font-family:var(--p-serif)!important; font-size:20px!important; line-height:1.5!important; }
.press-hero .cta-row,.press-hero .lp-cta-row{ gap:12px; }
.press-hero .btn-gold,.press-hero.is-dark a.btn-gold{ background:var(--p-cream)!important; color:var(--p-ink)!important; border-color:var(--p-cream)!important; }
.press-hero .btn-gold:hover,.press-hero.is-dark a.btn-gold:hover{ background:transparent!important; color:var(--p-cream)!important; }
.press-hero .btn-outline{ color:var(--p-cream)!important; border-color:rgba(244,241,234,.6)!important; }
.press-hero .btn-outline:hover{ background:var(--p-cream)!important; color:var(--p-ink)!important; }
.press-hero.is-light .btn-gold{ background:var(--p-ink)!important; color:var(--p-cream)!important; border-color:var(--p-ink)!important; }
.press-hero.is-light .btn-outline{ color:var(--p-ink)!important; border-color:var(--p-ink)!important; }

/* LP/blog hero */
.lp-hero{ background:transparent!important; padding:0!important; border:0!important; }
.lp-hero-inner.press-hero{ min-height:min(72vh,720px)!important; padding:120px var(--p-gutter) 56px!important; }
.lp-hero-inner.press-hero .lp-breadcrumb,.lp-hero-inner.press-hero .lp-breadcrumb a{
  color:rgba(244,241,234,.6)!important; font-family:var(--p-sans)!important; font-stretch:75%;
  font-size:10px!important; letter-spacing:.2em; text-transform:uppercase;
}
.lp-hero-inner.press-hero .lp-eyebrow{ color:rgba(244,241,234,.7)!important; margin-bottom:14px; }
.lp-hero-inner.press-hero.is-light .lp-breadcrumb,.lp-hero-inner.press-hero.is-light .lp-breadcrumb a,
.lp-hero-inner.press-hero.is-light .lp-eyebrow{ color:var(--p-mute)!important; }
.lp-h1{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:clamp(36px,5vw,72px)!important; font-weight:700!important;
  letter-spacing:-.02em!important; line-height:.98!important;
}
.lp-hero-inner:not(.press-hero){ padding:96px var(--p-gutter) 56px; max-width:none; border-bottom:1px solid var(--p-rule); }
.lp-hero-inner:not(.press-hero) > *{ max-width:760px; }

/* ═══════════ 3. Homepage panels (mounted by press-v1.js) ═══════════
 * Hidden by default. press-shelf-v2.js adds .is-kept to exactly two:
 *   "Behind the Word — Taʾdīb, not Tarbiyah" (open muṣḥaf, كان خلقه القرآن)
 *   "Manṭiq — The Science of Correct Reasoning"
 * The :has() line keeps the Qur'an panel visible even if the script is late.
 */
.press-panel{ display:none!important; border-top:0!important; }
.press-panel.is-kept,
.press-panel:has(svg[aria-label="Cairo skyline of domes and minarets in greyscale"]){ display:block!important; }
.press-panel.is-hidden{ display:none!important; }
.press-panel-cap{ font-size:11px; }

/* ═══════════ 4. Cards — flat, ruled, square ═══════════ */
.why-block,.program-card,.partner-card,.commission-card,.tier-card,.pipeline-box,
.ai-disclosure,.episode,.lp-card,.related-card,.blog-cta{
  background:#fff!important; border:1px solid var(--p-rule)!important; border-radius:0!important; padding:32px!important;
}
.section-alt .why-block,.section-alt .program-card,.section-alt .partner-card,
.section-alt .commission-card,.section-alt .episode{ background:#fff!important; }
.lp-card,.related-card{ background:var(--p-stone)!important; border:0!important; border-top:2px solid var(--p-ink)!important; }
.lp-card h3{ color:var(--p-ink)!important; font-size:13px!important; margin-bottom:10px!important; }
.lp-section .lp-card p,.lp-card p,.related-card p{ font-size:15px!important; line-height:1.6!important; color:#333!important; }
.prog-icon,.founder-moon{ display:none!important; }
.prog-features li{ border-bottom:1px solid var(--p-rule)!important; padding:8px 0!important; font-size:14px!important; }
.prog-features li::before{ content:"— "!important; color:var(--p-gold)!important; }
.prog-title,.partner-title,.comm-title,.tier-title,.seq-title,.pipeline-box h3,.ep-title,.disc-name,.why-title{
  color:var(--p-ink)!important;
}
.why-title{ font-family:var(--p-serif)!important; font-size:21px!important; font-weight:400!important; line-height:1.4!important; }
.disc-name{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; font-size:20px!important; letter-spacing:.04em; font-weight:700; }
.disc-source{ font-family:var(--p-serif)!important; font-style:italic; font-size:14px!important; color:var(--p-gold)!important; }
.discipline{ border-bottom:1px solid var(--p-rule)!important; padding-bottom:28px!important; margin-bottom:28px!important; }

/* Gates — rule-left, no fill */
.gate{ background:transparent!important; border:0!important; border-left:2px solid var(--p-ink)!important; padding:4px 0 4px 20px!important; }
.gate-title{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.06em; font-size:15px!important; color:var(--p-ink)!important; }
.gov-scholars{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.12em; font-size:12px!important; color:var(--p-ink)!important; }

/* Notices */
.program-notice{ background:var(--p-stone)!important; border:0!important; border-left:2px solid var(--p-gold)!important; padding:18px 24px!important; font-size:14px!important; line-height:1.6; }
.program-notice a,.program-notice strong{ color:var(--p-ink)!important; }

/* Arabic quote block */
.arabic-quote{ background:transparent!important; border:0!important; border-top:1px solid var(--p-ink)!important; border-bottom:1px solid var(--p-ink)!important; padding:40px 0!important; margin:48px 0!important; }
.arabic-quote .arabic-text{ font-size:40px!important; line-height:1.8!important; color:var(--p-ink)!important; }
.arabic-quote p{ font-family:var(--p-serif)!important; }
.arabic-attr{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.22em; font-size:10px!important; color:var(--p-mute)!important; font-style:normal!important; }

/* Dark CTA panels */
.license-box,.lp-cta-box{ background:var(--p-ink)!important; border:0!important; border-radius:0!important; padding:72px 56px!important; text-align:left!important; }
.license-box h2,.license-box h3,.lp-cta-box h2{ color:var(--p-cream)!important; }
.license-box p,.lp-cta-box p{ color:rgba(244,241,234,.75)!important; font-family:var(--p-serif)!important; font-size:19px!important; max-width:560px; }
.license-price{ font-family:var(--p-sans)!important; font-stretch:75%!important; text-transform:uppercase; letter-spacing:.2em; font-size:11px!important; font-style:normal!important; color:var(--p-gold-l)!important; }
.license-box .btn,.lp-cta-box .btn{ color:var(--p-cream)!important; border-color:var(--p-cream)!important; }
.license-box .btn-gold,.lp-cta-box .btn-gold{ background:var(--p-cream)!important; color:var(--p-ink)!important; }
.license-box .btn-gold:hover,.lp-cta-box .btn-gold:hover{ background:transparent!important; color:var(--p-cream)!important; }

/* Buttons */
.btn-gold{ background:var(--p-ink)!important; color:var(--p-cream)!important; border-color:var(--p-ink)!important; }
.btn-gold:hover{ background:transparent!important; color:var(--p-ink)!important; }
.interest-option,.platform-btn,.curriculum-page-link{
  display:inline-flex; align-items:center; min-height:38px; padding:0 18px!important;
  border:1px solid var(--p-ink)!important; background:transparent!important; color:var(--p-ink)!important;
  font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase;
  letter-spacing:.16em; font-size:11px!important; border-radius:0!important; text-decoration:none!important;
}
.interest-option:hover,.platform-btn:hover,.curriculum-page-link:hover{ background:var(--p-ink)!important; color:var(--p-cream)!important; }
.interest-quiz{ background:#fff!important; border-top:1px solid var(--p-rule)!important; border-bottom:0!important; }
.interest-quiz h2{ font-size:13px!important; letter-spacing:.2em!important; color:var(--p-mute)!important; margin-bottom:18px!important; }
.quick-nav{ border-bottom:1px solid var(--p-rule)!important; }
.quick-nav-link{ font-family:var(--p-sans)!important; font-stretch:75%; letter-spacing:.2em!important; font-size:10px!important; color:var(--p-mute)!important; }
.quick-nav-link.active{ color:var(--p-ink)!important; border-bottom-color:var(--p-ink)!important; }
.nav-dropdown{ border-radius:0!important; border:1px solid var(--p-rule)!important; background:#fff!important; }
.nav-dropdown-item > a::after{ content:" ▾"; }

/* ═══════════ 5. PROGRAMS SECTION — dark editorial ═══════════ */
#programs.section{
  background:var(--p-dark)!important;
  color:var(--p-cream)!important;
  border-top:0!important;
  position:relative;
  overflow:hidden;
}
/* Watermark: "V" for the five disciplines */
#programs.section::before{
  content:'V';
  position:absolute; right:-40px; bottom:-60px;
  font-family:var(--p-sans); font-size:min(440px,38vw); font-weight:900; font-stretch:75%;
  line-height:1; letter-spacing:-.06em;
  color:rgba(255,255,255,.03); pointer-events:none; user-select:none; z-index:0;
}
#programs .container{ position:relative; z-index:1; }
#programs .section-label{ color:rgba(244,241,234,.4)!important; }
#programs .section-title{ color:var(--p-cream)!important; }
#programs .section-intro{ color:rgba(244,241,234,.75)!important; }
#programs .program-card{
  background:rgba(255,255,255,.04)!important; border-color:rgba(255,255,255,.1)!important; color:var(--p-cream)!important;
  transition:background .22s;
}
#programs .program-card:hover{ background:rgba(255,255,255,.08)!important; border-color:rgba(255,255,255,.2)!important; }
#programs .prog-title{ color:var(--p-cream)!important; font-family:var(--p-sans)!important; font-stretch:75%; font-size:18px!important; letter-spacing:.03em; }
#programs .prog-for{ color:rgba(244,241,234,.45)!important; }
#programs .prog-text{ color:rgba(244,241,234,.72)!important; }
#programs .prog-features li{ border-color:rgba(255,255,255,.1)!important; color:rgba(244,241,234,.8)!important; font-size:14px!important; }
#programs .program-notice{ background:rgba(139,115,85,.15)!important; border-color:var(--p-gold-l)!important; color:rgba(244,241,234,.8)!important; }
#programs .program-notice a,.programs .program-notice strong{ color:var(--p-gold-l)!important; }
#programs a.btn{ color:var(--p-cream)!important; border-color:rgba(244,241,234,.35)!important; background:transparent!important; }
#programs a.btn:hover{ background:var(--p-cream)!important; color:var(--p-ink)!important; border-color:var(--p-cream)!important; }
#programs a.btn-gold{ background:var(--p-gold-l)!important; border-color:var(--p-gold-l)!important; color:var(--p-ink)!important; }
#programs a.btn-gold:hover{ background:transparent!important; color:var(--p-cream)!important; border-color:var(--p-gold-l)!important; }

/* ═══════════ 6. CERTIFICATION TIERS ═══════════ */
.tier-grid{ gap:0!important; border:1px solid var(--p-rule); }
.tier-card{
  border:0!important; border-right:1px solid var(--p-rule)!important;
  border-top:3px solid var(--p-ink)!important;
  padding:40px 32px!important;
  position:relative; overflow:hidden;
}
.tier-card:last-child{ border-right:0!important; }
.tier-card.t2{ border-top-color:var(--p-teal)!important; }
.tier-card.t3{ border-top-color:var(--p-gold)!important; }
.tier-card.t1,.tier-card.t2,.tier-card.t3{ background:#fff!important; }
/* watermark tier number — homepage tier-card */
.tier-card.t1::after{ content:'I'; }
.tier-card.t2::after{ content:'II'; }
.tier-card.t3::after{ content:'III'; }
.tier-card::after{
  position:absolute; right:-12px; bottom:-24px;
  font-family:var(--p-sans); font-size:120px; font-weight:900; font-stretch:75%;
  line-height:1; letter-spacing:-.04em; color:rgba(0,0,0,.04);
  pointer-events:none; user-select:none;
}

/* watermark tier number — /islamic-teacher-certification/ lp-card grid */
.lp-card-grid{ position:relative; }
.lp-card-grid .lp-card{ position:relative!important; overflow:hidden!important; }
.lp-card-grid .lp-card:nth-child(1)::after{ content:'I'; }
.lp-card-grid .lp-card:nth-child(2)::after{ content:'II'; }
.lp-card-grid .lp-card:nth-child(3)::after{ content:'III'; }
.lp-card-grid .lp-card::after{
  position:absolute; right:-12px; bottom:-24px;
  font-family:var(--p-sans); font-size:120px; font-weight:900; font-stretch:75%;
  line-height:1; letter-spacing:-.04em; color:rgba(0,0,0,.04);
  pointer-events:none; user-select:none;
}
.tier-num{ margin-bottom:16px!important; }
.tier-title{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; font-size:16px!important; font-weight:700; letter-spacing:.04em; margin-bottom:16px!important; }
.cert-quote{ font-family:var(--p-serif)!important; font-size:22px!important; color:var(--p-ink)!important; line-height:1.55!important; }
@media (max-width:768px){
  .tier-card{ border-right:0!important; border-bottom:1px solid var(--p-rule)!important; }
  .tier-card:last-child{ border-bottom:0!important; }
}

/* ═══════════ 7. THE STORE — dark shelf ═══════════ */
#store.section{ background:var(--p-dark)!important; color:var(--p-cream)!important; border-top:0!important; }
#store .section-label{ color:rgba(244,241,234,.55)!important; }
#store .section-title{ color:var(--p-cream)!important; }
#store .store-intro{ font-family:var(--p-serif)!important; font-style:italic; font-size:18px!important; color:rgba(244,241,234,.75)!important; margin-top:0!important; }
#store .store-intro + .store-intro{ font-family:var(--p-sans)!important; font-style:normal; font-stretch:75%; text-transform:uppercase; letter-spacing:.2em; font-size:10px!important; color:rgba(244,241,234,.45)!important; margin-top:6px!important; }
#store .container > h3{
  color:var(--p-cream)!important; font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase;
  font-size:11px!important; letter-spacing:.34em!important; font-weight:600;
  margin:64px 0 0!important; padding-bottom:16px; border-bottom:1px solid var(--p-card-rule);
}
#store .product-grid{ margin-top:0!important; gap:0!important; border-left:1px solid var(--p-card-rule); }
#store .product-card{
  background:var(--p-dark)!important; border:0!important;
  border-right:1px solid var(--p-card-rule)!important; border-bottom:1px solid var(--p-card-rule)!important;
  padding:0!important; color:var(--p-cream)!important; transition:background .25s;
  display:flex; flex-direction:column;
}
#store .product-card:hover{ background:var(--p-card)!important; }
#store .product-card > *:not(.shelf-cover){ margin-left:22px!important; margin-right:22px!important; }
#store .shelf-cover{
  position:relative; display:block; width:100%; aspect-ratio:3/3.8; overflow:hidden;
  border-bottom:1px solid var(--p-card-rule);
  background:linear-gradient(180deg,#141414 0%,#0c0c0c 100%);
}
#store .shelf-cover svg{
  position:absolute; left:50%; bottom:0; width:62%; height:auto;
  transform:translateX(-50%); transition:transform .38s cubic-bezier(.2,.7,.2,1); display:block;
}
#store .product-card:hover .shelf-cover svg{ transform:translateX(-50%) translateY(-12px); }
#store .shelf-cover::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:#3a3a3a; }
#store .product-badge{
  margin:20px 22px 12px!important; padding:5px 9px!important; align-self:flex-start;
  border:1px solid rgba(244,241,234,.35)!important; color:rgba(244,241,234,.8)!important; background:transparent!important;
  font-family:var(--p-sans)!important; font-stretch:75%; font-size:9px!important; letter-spacing:.22em!important; text-transform:uppercase;
}
#store .badge-free{ border-color:var(--p-red)!important; color:#e0705f!important; }
#store .product-type{ color:rgba(244,241,234,.4)!important; margin-bottom:6px!important; }
#store .product-title{
  color:var(--p-cream)!important; font-family:var(--p-sans)!important; font-stretch:75%;
  font-size:14px!important; letter-spacing:.05em!important; line-height:1.3!important;
  margin-bottom:10px!important; min-height:2.6em; font-weight:600;
}
#store .product-price{
  font-family:var(--p-sans)!important; font-stretch:75%!important; font-weight:700!important;
  font-size:28px!important; letter-spacing:-.02em!important; color:var(--p-cream)!important; margin-bottom:4px!important;
}
#store .product-note{ font-family:var(--p-serif)!important; font-style:italic; font-size:14px!important; color:rgba(244,241,234,.5)!important; margin-bottom:12px!important; }
#store .product-note.is-empty{ display:none!important; }
#store .product-desc{ font-size:13px!important; line-height:1.6!important; color:rgba(244,241,234,.65)!important; margin-bottom:24px!important; flex-grow:1; }
#store .btn{ margin-bottom:24px!important; align-self:flex-start; color:var(--p-cream)!important; border-color:rgba(244,241,234,.4)!important; background:transparent!important; }
#store .btn:hover{ background:var(--p-cream)!important; color:var(--p-ink)!important; border-color:var(--p-cream)!important; }
#store .btn-gold{ background:var(--p-cream)!important; color:var(--p-ink)!important; border-color:var(--p-cream)!important; }
#store .btn-gold:hover{ background:transparent!important; color:var(--p-cream)!important; }
#store .store-footer{ margin-top:56px!important; color:rgba(244,241,234,.45)!important; font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.18em; font-size:10px!important; line-height:2.2!important; }
#store .store-footer a{ color:var(--p-cream)!important; text-decoration:underline!important; }
#store .container{ max-width:1200px!important; }

/* ═══════════ 8. GOVERNANCE — architectural grid with rule-columns ═══════════ */
#governance.section{
  position:relative; overflow:hidden;
}
#governance.section::before{
  content:'';
  position:absolute; left:0; top:0; right:0; bottom:0;
  background-image:
    repeating-linear-gradient(90deg, transparent, transparent calc(25% - 1px), var(--p-rule) calc(25% - 1px), var(--p-rule) 25%);
  opacity:.35; pointer-events:none; z-index:0;
}
#governance .container{ position:relative; z-index:1; }

/* ═══════════ 9. Landing & blog body ═══════════ */
.lp-body{ padding:80px var(--p-gutter)!important; max-width:none!important; }
.lp-body article{ max-width:720px; margin:0 auto; }
.lp-section{ margin-bottom:56px; }
.lp-section h2{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:clamp(28px,3vw,42px)!important; font-weight:700!important; letter-spacing:-.02em!important; line-height:1!important;
  margin:0 0 .6em!important; padding-top:40px; border-top:1px solid var(--p-rule);
}
.lp-section h3{ color:var(--p-ink)!important; margin-top:1.8em!important; font-family:var(--p-sans)!important; font-stretch:75%; letter-spacing:.03em; font-size:15px!important; text-transform:uppercase; }
.lp-section p,.lp-section li,article p,article li{
  font-family:var(--p-serif)!important; font-size:20px!important; line-height:1.7!important; color:#1f1f1f!important;
}
/* Blog drop cap */
article .lp-section:first-child p:first-child::first-letter{
  float:left; font-family:var(--p-sans); font-stretch:75%; font-weight:900;
  font-size:4.4em; line-height:.8; margin:4px 8px 0 0; color:var(--p-ink);
}
.lp-section ul{ list-style:none!important; padding-left:0!important; }
.lp-section ul li{ border-bottom:1px solid var(--p-rule); padding:10px 0; margin:0!important; }
.lp-faq{ border-top:1px solid var(--p-ink)!important; margin-top:64px; }
.lp-faq h2{
  font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase;
  font-size:10px!important; letter-spacing:.32em!important; color:var(--p-mute)!important; margin-bottom:0!important; padding:28px 0 0;
}
.lp-faq-item{ border-bottom:1px solid var(--p-rule)!important; padding:24px 0!important; }
.lp-faq-item h3{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase!important; letter-spacing:.12em!important; font-size:13px!important; color:var(--p-ink)!important; margin:0 0 10px!important; }
.lp-faq-item p{ font-family:var(--p-serif)!important; font-size:18px!important; line-height:1.65!important; }

/* Blockquote — Stampd rule-framed */
article blockquote,.blog-post blockquote{
  font-family:var(--p-serif)!important; font-size:22px!important; line-height:1.65!important;
  background:transparent!important; border:0!important;
  border-top:1px solid var(--p-ink)!important; border-bottom:1px solid var(--p-ink)!important;
  padding:28px 0!important; margin:48px 0!important;
  color:var(--p-ink)!important; font-style:normal!important;
}

/* Related posts */
.related-posts{ border-top:1px solid var(--p-ink)!important; padding-top:56px!important; }
.related-posts h3{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; font-size:10px!important; letter-spacing:.32em!important; color:var(--p-mute)!important; margin-bottom:28px!important; }
.related-card h4{ font-family:var(--p-sans)!important; font-size:13px!important; letter-spacing:.06em!important; line-height:1.4!important; color:var(--p-ink)!important; }
.related-grid{ grid-template-columns:repeat(3,1fr)!important; gap:1px!important; background:var(--p-rule)!important; border:1px solid var(--p-rule); }
.related-card{ background:#fff!important; border:0!important; border-top:2px solid var(--p-ink)!important; padding:24px!important; }

/* ═══════════ 10. Press / blog list items ═══════════ */
.press-item{ border-bottom:1px solid var(--p-rule)!important; padding:28px 0!important; }
.press-title a{ font-family:var(--p-serif)!important; font-size:20px!important; color:var(--p-ink)!important; }
.founder-name{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.12em; font-size:13px!important; color:var(--p-ink)!important; }
.founder-email a{ color:var(--p-ink)!important; text-decoration:underline!important; }

/* ═══════════ 11. Footer — dark bookend ═══════════ */
footer.site-footer{
  background:var(--p-dark)!important; color:#c8c4bb!important; border-top:0!important;
  padding:80px 0 40px!important;
}
footer.site-footer a{ color:#c8c4bb!important; }
footer.site-footer a:hover{ color:var(--p-cream)!important; opacity:1; }
footer.site-footer .footer-col-title{ color:#6b6660!important; }
footer.site-footer .footer-tagline{ color:#8a867e!important; font-stretch:75%; letter-spacing:.18em; text-transform:uppercase; font-size:10px!important; line-height:1.9!important; }
footer.site-footer .footer-bottom{ border-top:1px solid #2a2a2a!important; margin-top:48px; padding-top:24px; }
footer.site-footer .footer-bottom p,footer.site-footer .footer-bottom a{ color:#6b6660!important; font-size:11px!important; }
footer .tfp-mark span{ background:var(--p-gold-l)!important; }

/* ═══════════ 12. Forms ═══════════ */
.contact-form input,.contact-form select,.contact-form textarea{ border-bottom-color:var(--p-rule)!important; border-radius:0!important; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{ border-bottom-color:var(--p-ink)!important; }
#form-success{ border-radius:0!important; border:1px solid var(--p-teal)!important; background:#fff!important; }

/* ═══════════ 13. Global overrides (desktop + mobile) ═══════════ */
/* Second announcement bar — always hidden; one bar is enough */
.announce-2{ display:none!important; }
/* Secondary tab-nav row — redundant with dropdown nav on desktop */
.quick-nav{ display:none!important; }

@media (max-width:760px){
  .announce{ display:block!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding:9px 40px 9px 14px!important; text-align:left!important; font-size:9px!important; }
  .announce-close{ display:none!important; }
  .press-hero.is-dark::after{ background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.2) 80%)!important; }
  .press-hero{ min-height:min(76vh,660px)!important; padding:88px 20px 32px!important; }
  .lp-hero-inner.press-hero{ min-height:min(64vh,560px)!important; }
  .press-hero p{ font-size:18px!important; }
  .press-hero a.btn{ width:100%; }
  section.section{ padding-top:56px!important; padding-bottom:56px!important; }
  .section-title{ font-size:clamp(30px,9vw,52px)!important; }
  .stat-num{ font-size:clamp(44px,12vw,72px)!important; }
  .lp-body{ padding:44px 20px!important; }
  .lp-section p,.lp-section li,article p,article li{ font-size:18px!important; }
  article blockquote,.blog-post blockquote{ font-size:19px!important; }
  .license-box,.lp-cta-box{ padding:44px 24px!important; }
  .arabic-quote .arabic-text{ font-size:30px!important; }
  .tier-grid{ border:0; }
  .tier-card{ border:1px solid var(--p-rule)!important; border-top:3px solid var(--p-ink)!important; margin-bottom:16px; }
  .tier-card.t2{ border-top-color:var(--p-teal)!important; } .tier-card.t3{ border-top-color:var(--p-gold)!important; }
  #store .product-grid{ grid-template-columns:1fr 1fr!important; }
  #store .shelf-cover svg{ width:64%; }
  #store .product-card > *:not(.shelf-cover){ margin-left:16px!important; margin-right:16px!important; }
  #store .product-badge{ margin:16px 16px 10px!important; }
  #store .product-title{ font-size:13px!important; }
  #store .product-price{ font-size:22px!important; }
  .quick-nav-inner{ padding:0 12px; }
  .interest-option,.platform-btn,.curriculum-page-link{ width:auto!important; }
  .stat-item{ border-right:0!important; border-bottom:1px solid var(--p-rule)!important; padding:24px 20px!important; }
  .related-grid{ grid-template-columns:1fr!important; }
  #programs.section::before{ display:none; }
  #governance.section::before{ display:none; }
  /* layout grid collapses */
  .why-grid,.program-grid,.partner-grid,.commission-grid,.pipeline-grid{ grid-template-columns:1fr!important; }
  .why-grid{ background:transparent!important; }
  .why-grid .why-block,.pipeline-grid .pipeline-box{ border:1px solid var(--p-rule)!important; }
  .disc-inner{ flex-direction:column!important; gap:12px!important; }
  .seq-item{ gap:16px!important; }
  .seq-num{ font-size:28px!important; min-width:40px!important; }
  .contact-grid{ grid-template-columns:1fr!important; }
  .founder-grid{ grid-template-columns:1fr!important; }
  .blog-cta h3{ font-size:22px!important; }
  #store.section::before{ display:none; }
}
@media (max-width:480px){
  #store .product-grid{ grid-template-columns:1fr!important; }
  #store .shelf-cover svg{ width:50%; }
  .program-grid,.partner-grid,.commission-grid{ grid-template-columns:1fr!important; gap:16px!important; }
}

/* ═══════════ 14. Navigation refinements ═══════════ */
.nav-link{
  font-family:var(--p-sans)!important;
  font-stretch:75%!important;
  font-size:10.5px!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  color:var(--p-mute)!important;
  text-decoration:none!important;
  transition:color .18s;
}
.nav-link:hover{ color:var(--p-ink)!important; }
.nav-link.active,.nav-link[aria-current="page"],.nav-link.is-active{
  color:var(--p-ink)!important;
  border-bottom:1px solid var(--p-ink)!important;
}
.nav-cta,.nav-cta-link{
  font-family:var(--p-sans)!important;
  font-stretch:75%!important;
  font-size:10px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.site-nav,.nav-wrap{
  background:#fff!important;
  border-bottom:1px solid var(--p-rule)!important;
}
.nav-dropdown{ box-shadow:0 4px 16px rgba(0,0,0,.08)!important; }
.nav-dropdown-link{
  font-family:var(--p-sans)!important;
  font-stretch:75%!important;
  font-size:10px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:var(--p-mute)!important;
}
.nav-dropdown-link:hover{ color:var(--p-ink)!important; background:var(--p-stone)!important; }

/* ═══════════ 15. Layout grids ═══════════ */
/* Why / feature blocks — ruled tile grid */
.why-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:1px!important;
  background:var(--p-rule)!important;
  border:1px solid var(--p-rule)!important;
  margin-top:48px!important;
}
.why-block{ background:#fff!important; border:0!important; border-radius:0!important; margin:0!important; }
.section-alt .why-block{ background:var(--p-stone)!important; }

/* Program / offering cards */
.program-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:24px!important;
}

/* Partner logos / institutions */
.partner-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:24px!important;
}

/* Commission / custom work cards */
.commission-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:24px!important;
}

/* Curriculum discipline rows */
.discipline-list{ border-top:1px solid var(--p-rule)!important; }
.discipline:first-child{ border-top:0!important; }
.disc-inner{ display:flex!important; gap:clamp(24px,4vw,56px)!important; align-items:start!important; }
.disc-head{ min-width:220px!important; flex-shrink:0!important; }

/* Numbered sequence list */
.seq-list{ border-top:1px solid var(--p-rule)!important; }
.seq-item{
  display:flex!important; gap:28px!important; align-items:start!important;
  border-bottom:1px solid var(--p-rule)!important; padding:24px 0!important; margin:0!important;
}
.seq-item:last-child{ border-bottom:0!important; }
.seq-num{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:36px!important; font-weight:900!important; letter-spacing:-.04em!important;
  color:rgba(17,17,17,.12)!important; line-height:1!important;
  min-width:52px!important; flex-shrink:0!important; margin-top:-2px!important;
}

/* Pipeline / AI governance grid */
.pipeline-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:1px!important;
  background:var(--p-rule)!important;
  border:1px solid var(--p-rule)!important;
}
.pipeline-grid .pipeline-box{ background:#fff!important; border:0!important; border-radius:0!important; margin:0!important; }

/* Gate / criterion list */
.gate-list{ display:flex!important; flex-direction:column!important; gap:20px!important; }

/* Curriculum page nav buttons */
.curriculum-pages-grid{ display:flex!important; flex-wrap:wrap!important; gap:8px!important; }

/* Interest quiz + platform option rows */
.interest-options{ display:flex!important; flex-wrap:wrap!important; gap:10px!important; margin-top:16px!important; }
.platform-options{ display:flex!important; flex-wrap:wrap!important; gap:10px!important; margin-top:16px!important; }

/* Episode / podcast list */
.episode-list,.podcast-list{ border-top:1px solid var(--p-rule)!important; display:flex!important; flex-direction:column!important; }
.episode-list .episode,.podcast-list .episode{
  border:0!important; border-radius:0!important; background:transparent!important;
  border-bottom:1px solid var(--p-rule)!important; padding:32px 0!important;
}
.ep-title{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:18px!important; font-weight:700!important; letter-spacing:.02em!important;
  color:var(--p-ink)!important; line-height:1.2!important; margin-bottom:10px!important;
}

/* Contact two-column layout */
.contact-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:clamp(32px,5vw,80px)!important;
  align-items:start!important;
}

/* Founder / about section */
.founder-grid{
  display:grid!important;
  grid-template-columns:1fr 2fr!important;
  gap:clamp(32px,5vw,80px)!important;
  align-items:start!important;
}

/* ═══════════ 16. Article & blog refinements ═══════════ */
article a,.blog-post a{
  color:var(--p-ink)!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  text-decoration-thickness:1px!important;
}
article a:hover,.blog-post a:hover{ color:var(--p-gold)!important; }

/* Standalone article headings (not inside .lp-section) */
article h2{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:clamp(28px,3vw,42px)!important; font-weight:700!important;
  letter-spacing:-.02em!important; line-height:1!important;
  margin:0 0 .6em!important; padding-top:40px!important;
  border-top:1px solid var(--p-rule)!important;
}
article h3{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:13px!important; font-weight:700!important;
  letter-spacing:.16em!important; text-transform:uppercase!important;
  color:var(--p-ink)!important; margin-top:2em!important; margin-bottom:.8em!important;
}
article figure{ margin:48px 0!important; }
article figure img{
  width:100%!important; height:auto!important; display:block!important;
  border:1px solid var(--p-rule)!important;
}
article figcaption{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:10px!important; letter-spacing:.24em!important; text-transform:uppercase!important;
  color:var(--p-mute)!important; margin-top:10px!important;
}

/* Blog CTA pull strip */
.blog-cta{
  background:transparent!important; border-radius:0!important;
  border:0!important;
  border-top:2px solid var(--p-ink)!important;
  border-bottom:1px solid var(--p-rule)!important;
  padding:32px 0!important; margin:56px 0!important;
}
.blog-cta h3{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:clamp(22px,2.5vw,32px)!important; font-weight:700!important;
  letter-spacing:-.02em!important; margin-bottom:.4em!important; color:var(--p-ink)!important;
}

/* AI / ethics disclosure — gold rule left */
.ai-disclosure{ border-left:3px solid var(--p-gold)!important; background:var(--p-stone)!important; }

/* Source hierarchy list */
.source-hierarchy{ font-family:var(--p-serif)!important; margin-top:24px!important; }
.source-hierarchy li{
  border-bottom:1px solid var(--p-rule)!important; padding:10px 0!important;
  margin:0!important; list-style:none!important;
  font-size:16px!important; line-height:1.6!important;
}
.source-hierarchy li::before{ content:"— "; color:var(--p-gold)!important; }

/* Press / blog list page */
.press-list{ border-top:1px solid var(--p-rule)!important; }
.press-meta{
  font-family:var(--p-sans)!important; font-stretch:75%!important;
  font-size:9px!important; letter-spacing:.26em!important; text-transform:uppercase!important;
  color:var(--p-mute)!important; margin-bottom:8px!important; display:block!important;
}
.press-excerpt{
  font-family:var(--p-serif)!important;
  font-size:17px!important; line-height:1.6!important; color:#333!important; margin-top:8px!important;
}
.press-title a:hover{ color:var(--p-gold)!important; }

/* ═══════════ 17. Store: close the grid + watermark ═══════════ */
/* Top border closes the dark ruled grid */
#store .product-grid{ border-top:1px solid var(--p-card-rule)!important; }
/* Ghost Arabic watermark — ك (kāf / kitāb / book) */
#store.section{ position:relative!important; overflow:hidden!important; }
#store.section::before{
  content:'ك';
  position:absolute; right:-40px; bottom:-80px;
  font-family:var(--p-serif); font-size:min(560px,44vw); font-weight:400;
  line-height:1; color:rgba(255,255,255,.025);
  pointer-events:none; user-select:none; z-index:0;
}
/* ensure container clears watermark */
#store .container{ position:relative!important; z-index:1!important; }

/* ═══════════ 18. Accessibility & polish ═══════════ */
/* Brand-colored focus ring */
:focus-visible{ outline:2px solid var(--p-gold)!important; outline-offset:2px!important; }
/* Text selection color */
::selection{ background:rgba(139,115,85,.22)!important; color:var(--p-ink)!important; }
/* Smooth scroll */
html{ scroll-behavior:smooth; }
/* Skip-to-content link */
.skip-to-content{
  position:absolute; top:-100px; left:16px;
  background:var(--p-ink); color:var(--p-cream);
  padding:12px 20px;
  font-family:var(--p-sans); font-stretch:75%; font-size:12px;
  letter-spacing:.12em; text-transform:uppercase;
  z-index:9999; text-decoration:none; transition:top .12s;
}
.skip-to-content:focus{ top:16px!important; }
/* Smooth transitions on interactive elements */
.btn,.product-card,.program-card,.partner-card,.lp-card,.tier-card,.why-block{
  transition:background .22s, border-color .22s, color .18s;
}

/* ═══════════ 19. Homepage audit pass (v5) ═══════════════════════════════
 * Every rule below fixes a defect found in a full-page render at 1440px and 390px.
 */

/* 19.1 Second announcement bar: the mobile .announce rule was re-showing it */
.announce.announce-2{ display:none!important; }

/* 19.2 Hero headline at Stampd scale */
#hero h1{
  font-family:var(--p-sans)!important; font-stretch:75%!important; font-weight:700!important;
  font-size:clamp(40px,4.6vw,64px)!important; letter-spacing:-.02em!important; line-height:.95!important; max-width:9.5em;
  margin-bottom:24px!important;
}
#hero p{ max-width:560px; }

/* 19.3 Section titles: large but readable; long titles no longer run 4–5 lines */
.section-title{ font-size:clamp(32px,4.6vw,66px)!important; text-wrap:balance; }
#license-heading{ font-family:var(--p-sans)!important; font-stretch:75%!important; font-weight:700!important; font-size:clamp(32px,4vw,56px)!important; letter-spacing:-.02em!important; line-height:1!important; }

/* 19.4 Stats bar: "4-Gate" / "Al-Azhar" were wrapping onto two lines */
.stat-item{ padding:clamp(28px,3.4vw,48px) 16px!important; }
.stat-num{ white-space:nowrap!important; font-size:clamp(34px,4vw,60px)!important; }

/* 19.5 Interest quiz: a deliberate 3 × 2 grid instead of 5 + 1 orphan */
.interest-options{
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important; max-width:920px; margin:16px auto 0!important;
}
.interest-option{ justify-content:center!important; text-align:center; width:auto!important; min-height:44px!important; }

/* 19.6 Editorial prose in serif (it was falling back to the sans UI face) */
#problem-heading ~ p{
  font-family:var(--p-serif)!important; font-size:19px!important; line-height:1.72!important;
  color:#1f1f1f!important; max-width:680px;
}
.founder-text p{ font-family:var(--p-serif)!important; font-size:18px!important; line-height:1.72!important; color:#1f1f1f!important; }
.founder-text p:first-child{ font-size:22px!important; line-height:1.5!important; color:var(--p-ink)!important; }
.essays-text{ font-family:var(--p-serif)!important; font-size:20px!important; line-height:1.65!important; color:#2a2a2a!important; max-width:640px; }
.disc-text{ font-family:var(--p-serif)!important; font-size:17px!important; line-height:1.7!important; color:#2a2a2a!important; }

/* 19.7 Ḥadīth attribution: was inheriting the serif of the quote block */
.arabic-quote .arabic-attr{
  font-family:var(--p-sans)!important; font-stretch:75%; font-style:normal!important;
  text-transform:uppercase; letter-spacing:.22em!important; font-size:10px!important;
  color:var(--p-mute)!important; margin-top:14px!important;
}

/* 19.8 Sequence: numerals read as Roman numerals (sans I/II/III looked like bars) */
.seq-num{
  font-family:var(--p-serif)!important; font-weight:400!important; font-size:40px!important;
  letter-spacing:.02em!important; color:var(--p-gold)!important; text-transform:none!important;
  line-height:1!important; margin:0 0 14px!important;
}
/* Why Sīrah / Why Manṭiq: flush to the column edge, ruled, no floating white boxes */
.why-blocks{ gap:0!important; border-top:1px solid var(--p-ink)!important; margin-top:72px!important; }
.why-block,.section-alt .why-block{ background:transparent!important; border:0!important; padding:32px 40px 0 0!important; }
.why-block + .why-block{ border-left:1px solid var(--p-rule)!important; padding:32px 0 0 40px!important; }

/* 19.9 Curriculum rows: wider label column so names stop wrapping 4 lines */
@media (min-width:761px){
  .discipline{ grid-template-columns:260px 1fr!important; column-gap:56px!important; }
  .discipline > .disc-text{ grid-column:2!important; }
}
.discipline > .disc-text + .disc-text{
  font-family:var(--p-sans)!important; font-size:13px!important; color:var(--p-mute)!important;
  border-top:1px solid var(--p-rule); padding-top:16px!important; margin-top:20px!important;
}
.discipline > .disc-text + .disc-text a{ color:var(--p-ink)!important; text-decoration:underline!important; text-underline-offset:2px; }
/* "Explore dedicated pages": align to the section column, even grid instead of ragged rows */
.curriculum-pages-links{ padding-left:32px!important; padding-right:32px!important; }
.curriculum-pages-grid{ display:grid!important; grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important; gap:8px!important; }
.curriculum-page-link{ justify-content:space-between!important; }

/* 19.10 Programs (dark): wide shelf like the store, three columns, no white box */
#programs .container{ max-width:1200px!important; }
@media (min-width:1000px){ #programs .program-grid{ grid-template-columns:repeat(3,minmax(0,1fr))!important; } }
#programs .program-notice strong{ color:var(--p-cream)!important; }
#programs .pipeline-box{
  background:transparent!important; border:0!important; border-top:1px solid rgba(244,241,234,.22)!important;
  padding:40px 0 0!important; margin-top:24px!important;
}
#programs .pipeline-box h3{ color:var(--p-cream)!important; font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.06em; font-size:16px!important; }
#programs .pipeline-box p{ color:rgba(244,241,234,.75)!important; font-family:var(--p-serif)!important; font-size:19px!important; line-height:1.65!important; max-width:760px; }
#programs.section::before{ font-family:var(--p-serif)!important; font-weight:400!important; color:rgba(255,255,255,.035)!important; }

/* 19.11 License box: the price line was rendering as 19px spaced serif caps */
.license-box .license-price{
  font-family:var(--p-sans)!important; font-stretch:75%!important; font-size:11px!important;
  letter-spacing:.24em!important; text-transform:uppercase; color:var(--p-gold-l)!important;
  line-height:1.9!important; margin:28px 0!important;
}
.license-box .btn + p{ margin-top:32px!important; font-size:16px!important; color:rgba(244,241,234,.55)!important; }

/* 19.12 Tier watermarks: serif Roman numerals (sans versions read as stray bars) */
.tier-card::after,.lp-card-grid .lp-card::after{
  font-family:var(--p-serif)!important; font-weight:400!important; font-size:120px!important;
  right:16px!important; bottom:-8px!important; color:rgba(0,0,0,.045)!important; z-index:0;
}

/* 19.13 Governance: the 4-column rule lines didn't line up with the content column */
#governance.section::before{ display:none!important; }

/* 19.14 Founder: name block sits left and stays with the letter */
@media (min-width:761px){
  .founder-grid{ grid-template-columns:200px 1fr!important; gap:56px!important; }
  .founder-img{ position:sticky; top:96px; }
}
.founder-img{ text-align:left!important; border-top:2px solid var(--p-ink); padding-top:16px; }

/* 19.15 Partner cards: no stretched empty card beside the long one */
.partner-grid{ align-items:start!important; }
.partner-cta a,.partner-cta{ font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase; letter-spacing:.18em; font-size:11px!important; color:var(--p-ink)!important; }

/* 19.16 Store */
/* cover sits on the shelf without a tall empty void above it */
#store .shelf-cover{ aspect-ratio:1/1!important; }
#store .shelf-cover svg{ height:88%!important; width:auto!important; }
/* one button style per shelf (was a mix of filled and outline) */
#store .btn-gold{ background:transparent!important; color:var(--p-cream)!important; border-color:rgba(244,241,234,.4)!important; }
#store .btn-gold:hover{ background:var(--p-cream)!important; color:var(--p-ink)!important; border-color:var(--p-cream)!important; }
/* watermark: كتب (books), serif, very faint */
#store.section::before{ content:'كتب'!important; font-size:min(420px,34vw)!important; right:-20px!important; bottom:-60px!important; color:rgba(255,255,255,.022)!important; }

/* 19.17 Listen: "Coming soon" tag in the label system */
.episode .ep-num span,.episode .ep-num + span{
  font-family:var(--p-sans)!important; font-stretch:75%; font-size:9px!important; letter-spacing:.22em!important;
  text-transform:uppercase; background:transparent!important; border:1px solid var(--p-teal)!important;
  color:var(--p-teal)!important; padding:3px 8px!important; border-radius:0!important;
}

/* 19.18 Contact form: labels in the label system; select matches the inputs */
.form-group label{
  font-family:var(--p-sans)!important; font-stretch:75%; text-transform:uppercase;
  letter-spacing:.24em!important; font-size:10px!important; color:var(--p-mute)!important;
}
.form-group select{ background-color:transparent!important; border:0!important; border-bottom:1px solid var(--p-rule)!important; border-radius:0!important; padding-left:0!important; }
.form-group select:focus{ border-bottom-color:var(--p-ink)!important; }

/* 19.19 Mobile */
@media (max-width:760px){
  #hero h1{ font-size:clamp(38px,11vw,56px)!important; }
  /* announcement: the CTA link was cut off by the one-line ellipsis */
  .announce{ white-space:normal!important; text-overflow:clip!important; text-align:center!important; justify-content:center!important; padding:8px 16px!important; line-height:1.8!important; }
  .interest-options{ grid-template-columns:1fr 1fr!important; }
  .interest-option{ padding:0 10px!important; font-size:10px!important; letter-spacing:.1em!important; }
  .stat-item{ padding:24px 12px!important; }
  .stat-num{ font-size:clamp(30px,9vw,44px)!important; }
  .why-block,.why-block + .why-block{ padding:28px 0 0!important; border-left:0!important; }
  .why-block + .why-block{ border-top:1px solid var(--p-rule)!important; margin-top:28px; }
  .curriculum-pages-links{ padding-left:20px!important; padding-right:20px!important; }
  .curriculum-pages-grid{ grid-template-columns:1fr!important; }
  .founder-img{ position:static; }
  .founder-grid{ grid-template-columns:1fr!important; gap:24px!important; }
  /* store buttons were overflowing the card edge (v1 forces width:100% on mobile) */
  #store .product-card .btn{ width:auto!important; align-self:stretch!important; text-align:center; justify-content:center; }
  #programs .program-card .btn{ width:100%!important; }
}
@media (max-width:480px){
  #store .shelf-cover{ aspect-ratio:4/3!important; }
}

/* ═══════════ 20. Brand standard pass (v6) ═══════════════════════════════
 * Brings the layer to the FISLI brand standard (§06 palette, §07 type) while
 * keeping the Stampd structure: dark/light rhythm, very large display type,
 * hairline rules, watermarks, flat ruled cards.
 */

/* 20.1 Brand faces and palette roles */
:root{
  --p-sans:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --p-serif:"Cormorant Garamond","Amiri",Georgia,serif;
  --p-arabic:"Amiri","Scheherazade New","Noto Naskh Arabic",serif;
  --p-orange:#D4622A; --p-slate:#3A3A3A; --p-parch:#F5EDDA;
}
/* DM Sans has no condensed width; drop the stretch everywhere it was set */
*{ font-stretch:100%!important; }
body{ color:var(--p-slate); }

/* Display type: Cormorant at Stampd scale */
.section-title,#license-heading,.lp-h1,.lp-section h2,article h2,.blog-cta h3{
  font-family:var(--p-serif)!important; font-weight:500!important; text-transform:none!important;
  letter-spacing:-.012em!important; line-height:1.02!important;
}
.section-title{ font-size:clamp(38px,5.4vw,80px)!important; }
.lp-h1{ font-size:clamp(40px,5.6vw,84px)!important; }
.lp-section h2,article h2{ font-size:clamp(30px,3.4vw,48px)!important; }
#hero h1{
  font-family:var(--p-serif)!important; font-weight:500!important; text-transform:uppercase;
  font-size:clamp(46px,6vw,92px)!important; letter-spacing:.015em!important; line-height:.94!important; max-width:none;
}
.stat-num,#store .product-price{ font-family:var(--p-serif)!important; font-weight:500!important; letter-spacing:0!important; }
.stat-num{ font-size:clamp(44px,5vw,76px)!important; }
#store .product-price{ font-size:34px!important; }
.seq-num,.tier-card::after,.lp-card-grid .lp-card::after,#programs.section::before{ font-family:var(--p-serif)!important; }

/* Reading type: Cormorant needs a larger size than Georgia for the same colour on the page */
.section-intro,.gov-intro,.commission-intro,.contact-intro,.essays-text{ font-size:23px!important; line-height:1.55!important; }
#problem-heading ~ p,.disc-text,.founder-text p{ font-size:21px!important; line-height:1.6!important; }
.founder-text p:first-child{ font-size:27px!important; line-height:1.35!important; }
.why-title{ font-size:25px!important; font-weight:500!important; }
.cert-quote{ font-size:28px!important; line-height:1.45!important; }
.license-box p,.lp-cta-box p,#programs .pipeline-box p{ font-size:21px!important; }
.lp-section p,.lp-section li,article p,article li{ font-size:21px!important; line-height:1.65!important; }
article blockquote,.blog-post blockquote{ font-size:26px!important; }
.press-hero p,#hero p{ font-family:var(--p-serif)!important; font-size:23px!important; line-height:1.45!important; }
.press-title a{ font-size:23px!important; }
.faq-a{ font-size:19px!important; }
#store .product-note{ font-size:16px!important; }
/* Arabic always in Amiri */
.arabic-text,.arabic-quote .arabic-text,[lang="ar"]{ font-family:var(--p-arabic)!important; }
#store.section::before{ font-family:var(--p-arabic)!important; }

/* UI type: DM Sans, sized for its wider set */
.nav-links a,.nav-dropdown li a{ font-family:var(--p-sans)!important; font-size:12px!important; letter-spacing:.06em!important; }
.btn,.interest-option,.platform-btn,.curriculum-page-link,.faq-q{ font-family:var(--p-sans)!important; font-weight:500!important; }
.disc-name,.tier-title,.gate-title,.prog-title,.partner-title,.comm-title,.seq-title,.ep-title,.lp-card h3,
#store .product-title,.related-card h4,#programs .pipeline-box h3{ font-family:var(--p-sans)!important; font-weight:600!important; letter-spacing:.06em!important; }
.disc-name{ font-size:16px!important; }
.tfp-wm .top,.tfp-wm .mid,.tfp-wm .bot{ font-family:var(--p-sans)!important; }

/* Palette roles: gold = rules and labels · teal = verification · orange = free and urgent ·
   purple = Manṭiq only · red = rubber stamps only */
article a,.blog-post a{ text-decoration-color:var(--p-teal)!important; }
:focus-visible{ outline-color:var(--p-teal)!important; }
.gate{ border-left-color:var(--p-teal)!important; }
#store .badge-free{ border-color:var(--p-orange)!important; color:#ee8d5f!important; }
.discipline-list .discipline:last-child .disc-name,
.discipline-list .discipline:last-child .disc-qanchor{ color:var(--p-purple)!important; }
.discipline-list .discipline:last-child{ border-left:3px solid var(--p-purple)!important; padding-left:24px!important; margin-left:-27px; }
#reading-progress-bar{ background:var(--p-gold)!important; }
::selection{ background:rgba(46,139,139,.18)!important; }

/* 20.2 Numbered section index (Stampd's 01 / 02 / 03 rhythm) */
body{ counter-reset:psec; }
section.section .section-label{ counter-increment:psec; }
section.section .section-label::before{
  content:counter(psec,decimal-leading-zero); display:inline-block;
  margin-right:16px; padding-right:16px; border-right:1px solid currentColor;
  color:var(--p-gold); letter-spacing:.12em;
}
#programs .section-label::before,#store .section-label::before{ color:var(--p-gold-l); }

/* 20.3 Rubber stamps: crooked, double ruled, the brand's sticker system */
#governance .gate-list,.discipline-list,.license-box{ position:relative; }
#governance .gate-list::before,.discipline-list::before,.license-box::after{
  position:absolute; z-index:2; pointer-events:none;
  font-family:var(--p-sans); font-weight:700; font-size:11px; line-height:1; letter-spacing:.24em; text-transform:uppercase;
  padding:9px 12px 8px; border:2px solid currentColor; outline:1px solid currentColor; outline-offset:3px;
  opacity:.82;
}
#governance .gate-list::before{ content:"Four gates passed"; content:"Four gates passed" / ""; right:0; top:-14px; color:var(--p-teal); transform:rotate(-6deg); }
.discipline-list::before{ content:"Named sources · Verified dates"; content:"Named sources · Verified dates" / ""; right:0; top:-34px; color:var(--p-red); transform:rotate(4deg); }
.license-box::after{ content:"Zakat eligible"; content:"Zakat eligible" / ""; right:48px; top:44px; color:var(--p-gold-l); transform:rotate(-7deg); }

/* 20.4 The Margin: one line from the Margin bank between sections (inserted by press-shelf-v3.js) */
.press-margin{
  position:relative; background:var(--p-parch); color:var(--p-ink);
  border-top:1px solid rgba(26,26,24,.12); border-bottom:1px solid rgba(26,26,24,.12);
  padding:clamp(40px,5vw,72px) var(--p-gutter);
}
.press-margin::before{ /* ledger margin: the double rule of a ruled page */
  content:""; position:absolute; top:0; bottom:0; left:clamp(28px,6vw,96px);
  width:5px; border-left:1px solid rgba(178,58,47,.55); border-right:1px solid rgba(178,58,47,.55);
}
.press-margin-inner{ max-width:900px; margin:0 auto; padding-left:clamp(24px,4vw,48px); }
.press-margin-label{
  display:block; font-family:var(--p-sans); font-size:10px; font-weight:500; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(26,26,24,.5); margin-bottom:14px;
}
.press-margin-line{
  font-family:var(--p-serif); font-style:italic; font-weight:400;
  font-size:clamp(28px,3.4vw,46px); line-height:1.2; letter-spacing:-.005em; color:var(--p-ink); margin:0;
}

/* 20.5 Mobile menu: full-screen dark sheet, Curriculum opens as an accordion */
@media (max-width:768px){
  html.press-menu-open{ overflow:hidden; }
  .nav-links.is-open{
    display:flex!important; position:fixed!important; top:60px!important; left:0!important; right:0!important; bottom:0!important;
    flex-direction:column!important; align-items:stretch!important; gap:0!important;
    background:var(--p-dark)!important; padding:12px 24px 48px!important; overflow-y:auto!important;
    border:0!important; box-shadow:none!important; z-index:150!important;
  }
  .nav-links.is-open > li{ border-bottom:1px solid #262626!important; }
  .nav-links.is-open > li > a{
    display:block!important; color:var(--p-cream)!important; font-family:var(--p-serif)!important;
    font-size:30px!important; font-weight:500!important; letter-spacing:0!important; text-transform:none!important; padding:16px 0!important;
  }
  .nav-links.is-open .nav-dropdown{
    display:none!important; position:static!important; background:transparent!important; border:0!important;
    box-shadow:none!important; padding:0 0 18px!important; min-width:0!important;
  }
  .nav-links.is-open .nav-dropdown-item.is-open .nav-dropdown{ display:block!important; }
  .nav-links.is-open .nav-dropdown li{ border:0!important; }
  .nav-links.is-open .nav-dropdown a{
    color:rgba(244,241,234,.72)!important; font-family:var(--p-sans)!important; font-size:12px!important;
    letter-spacing:.16em!important; text-transform:uppercase!important; padding:11px 0!important; white-space:normal!important;
  }
  .nav-links.is-open .nav-dropdown-item > a::after{ content:"+"; display:inline-block; margin-left:12px; font-family:var(--p-sans); font-size:22px; opacity:.6; transition:transform .2s; }
  .nav-links.is-open .nav-dropdown-item.is-open > a::after{ transform:rotate(45deg); }
  .nav-hamburger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); width:22px; }
  .nav-hamburger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-hamburger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); width:22px; }
  .nav-hamburger span{ transition:transform .2s, opacity .2s; }
}

/* 20.6 Colophon in the footer (inserted by press-shelf-v3.js) */
.press-colophon{
  display:inline-block; margin:40px 0 0; padding:10px 14px 9px;
  font-family:var(--p-sans); font-size:10px; font-weight:700; letter-spacing:.26em; text-transform:uppercase;
  color:var(--p-gold-l); border:2px solid currentColor; outline:1px solid currentColor; outline-offset:3px;
  transform:rotate(-3deg); opacity:.85;
}

/* 20.7 Visual guardrails: no mosque skylines in generated art */
.press-panel svg[aria-label="Cairo skyline of domes and minarets in greyscale"]{ display:none!important; }
html[data-press-page="/al-azhar-governed-curriculum"] .press-art svg,html[data-press-page="/find-a-program"] .press-art svg{ display:none!important; }

@media (max-width:760px){
  .section-title{ font-size:clamp(34px,10vw,52px)!important; }
  #hero h1{ font-size:clamp(42px,12.5vw,64px)!important; }
  .section-intro,.gov-intro,.commission-intro,.contact-intro,.essays-text{ font-size:20px!important; }
  #problem-heading ~ p,.disc-text,.founder-text p,.lp-section p,.lp-section li,article p,article li{ font-size:19px!important; }
  .discipline-list .discipline:last-child{ margin-left:0; padding-left:16px!important; }
  #governance .gate-list::before,.discipline-list::before{ position:static; display:inline-block; margin:0 0 20px; }
  .license-box::after{ right:20px; top:20px; font-size:9px; }
  section.section .section-label::before{ margin-right:10px; padding-right:10px; }
}

/* 20.8 Hero composition: headline on two lines, the art moved right so type never crosses it */
@media (min-width:1024px){
  #hero h1{ max-width:11em!important; font-size:clamp(46px,5vw,76px)!important; }
  #hero .press-art svg[aria-label="An open book resting on a carved wooden reading stand in a dark studio"],
  #hero .press-art > div:first-child{ transform:translateX(20%); }
}
/* Dedicated-page buttons: DM Sans sets wider, keep each on one line */
.curriculum-page-link{ font-size:10px!important; letter-spacing:.12em!important; }
#governance .gate-list::before{ top:-58px; }

/* ═══════════ 21. Campaign images (Stampd split panels, shelf band, lookbook, statement) ═══════════
 * Figures are drawn by press-shelf-v3.js in the brand's three sets: the page, the shelf, the desk.
 */
body{ overflow-x:clip; }
section.section.press-split{ overflow:visible!important; }
.press-figure,.press-band{ margin:0; }
.press-figure svg,.press-band svg,.press-look svg{ display:block; width:100%; }

/* Split: image column + content column, alternating sides */
@media (min-width:1000px){
  section.section.press-split{
    display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    padding-top:0!important; padding-bottom:0!important; align-items:stretch;
  }
  section.press-split > .press-figure{ position:relative; overflow:clip; background:#0d0d0c; }
  section.press-split > .press-figure svg{ position:sticky; top:68px; height:min(100%, calc(100vh - 68px)); min-height:520px; }
  section.press-split > .container{
    max-width:none!important; margin:0!important; min-width:0;
    padding:clamp(80px,8vw,128px) clamp(32px,5vw,88px)!important;
  }
  section.press-split > .container > *{ max-width:640px; }
  section.press-split.is-right > .press-figure{ order:2; }
  section.press-split .founder-grid{ grid-template-columns:1fr!important; gap:28px!important; }
  section.press-split .founder-img{ position:static; }
}
@media (max-width:999px){
  section.press-split{ padding-top:0!important; }
  section.press-split > .press-figure svg{ aspect-ratio:4/3; height:auto; }
  section.press-split > .container{ padding-top:56px!important; }
}

/* The shelf: full-bleed band inside The Sequence */
.press-band{ width:100vw; margin:56px 0 56px calc(50% - 50vw); background:#121110; }
.press-band svg{ height:auto; aspect-ratio:1440/560; }
@media (max-width:760px){ .press-band svg{ aspect-ratio:auto; height:300px; } }

/* Curriculum lookbook: five product-style tiles */
.press-looks{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:64px 0 96px; }
@media (min-width:1000px){ .press-looks{ width:min(1200px, calc(100vw - 80px)); margin-left:calc(50% - min(600px, calc(50vw - 40px))); } }
.press-look{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.press-look svg{ height:auto; aspect-ratio:3/4; transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.press-look:hover svg{ transform:translateY(-6px); }
.press-look-num{ font-family:var(--p-serif); font-size:20px; font-weight:600; color:var(--p-gold); line-height:1; margin-top:8px; }
.press-look-name{ font-family:var(--p-sans); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--p-ink); }
.press-look.is-mantiq .press-look-num,.press-look.is-mantiq .press-look-name{ color:var(--p-purple); }
@media (max-width:760px){
  .press-looks{ grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:46%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .press-look{ scroll-snap-align:start; }
}
@media (prefers-reduced-motion:reduce){ .press-look svg{ transition:none; } }

/* Statement band: the store Margin set at poster scale */
.press-margin.is-statement{ background:var(--p-dark); border:0; padding:clamp(72px,9vw,140px) var(--p-gutter); }
.press-margin.is-statement::before{ border-color:rgba(176,154,114,.45); }
.press-margin.is-statement .press-margin-inner{ max-width:1240px; }
.press-margin.is-statement .press-margin-label{ color:rgba(244,241,234,.45); }
.press-margin.is-statement .press-margin-line{
  color:var(--p-cream); font-style:normal; font-weight:500;
  font-size:clamp(56px,10.5vw,176px); line-height:.92; letter-spacing:-.025em;
}

/* ═══════════ 22. Institution register (until the HTML pass removes these at source) ═══════════ */
section.section:has(#partners-heading){ display:none!important; }
.episode[hidden],section[hidden]{ display:none!important; }

/* ═══════════ 23. Phone pass: Arabic art and hero labels ═══════════ */
/* eyebrows and breadcrumbs inside heroes stay in the label system (a hero p rule was enlarging them) */
.press-hero .lp-eyebrow,.press-hero .lp-breadcrumb,.press-hero .lp-breadcrumb a{
  font-family:var(--p-sans)!important; font-size:10px!important; line-height:1.6!important;
  letter-spacing:.24em!important; text-transform:uppercase!important; font-style:normal!important;
}
@media (max-width:760px){
  /* hero art sits behind the headline on phones: quiet it so Arabic in the art never fights the text */
  .press-hero .press-art{ opacity:.32; }
  #hero .press-art{ opacity:.55; }
  /* split figures: show the whole drawing, no crop */
  section.press-split > .press-figure svg{ aspect-ratio:4/5!important; height:auto!important; }
  /* the kept Arabic panels: caption sits in the reserved band at the bottom of the phone drawing */
  .press-panel.is-kept .press-panel-cap{ bottom:14px!important; font-size:9px!important; letter-spacing:.18em!important; }
  .press-band svg{ height:260px!important; }
  .press-hero a.btn{ text-align:center!important; justify-content:center!important; line-height:1.5!important; }
}

/* ═══════════ 24. Final pass: contrast (WCAG AA), small type, narrow screens ═══════════ */
:root{ --p-gold-ink:#6f5a3f; }
/* wordmark small lines were 8px and below AA */
.tfp-wm .top,.tfp-wm .bot{ font-size:9px!important; }
.site-nav .tfp-wm .top{ color:var(--p-gold-ink)!important; }
.site-nav .tfp-wm .bot{ color:#5f5e5a!important; }
.skip-link{ background:var(--p-gold-ink)!important; color:#fff!important; }
/* gold as small text on light grounds uses the darker ink */
.disc-source,.press-year,.rf-over.rf-dark,.contact-essays a,section.section .section-label::before{ color:var(--p-gold-ink)!important; }
.press-margin-label{ color:rgba(26,26,24,.72)!important; }
.press-margin.is-statement .press-margin-label{ color:rgba(244,241,234,.66)!important; }
.founder-title{ color:var(--p-mute)!important; }
/* dark sections: muted text lifted to AA */
#programs .section-label,#programs .prog-for{ color:rgba(244,241,234,.64)!important; }
#store .store-intro + .store-intro,#store .product-type,#store .store-footer,#store .store-footer p{ color:rgba(244,241,234,.64)!important; }
footer.site-footer .footer-col-title,footer.site-footer .footer-bottom p,footer.site-footer .footer-bottom a,footer.site-footer .footer-top-link{ color:#9a958b!important; }
/* long email in the footer could push a 320px screen sideways */
footer.site-footer .footer-bottom{ display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; }
footer.site-footer .footer-bottom p,footer.site-footer .footer-bottom a{ overflow-wrap:anywhere; min-width:0; }
/* stats: a clean 2 × 2 grid on phones */
@media (max-width:760px){
  .stats-inner{ display:grid!important; grid-template-columns:1fr 1fr!important; }
  .stat-item{ min-width:0!important; border-right:0!important; border-bottom:1px solid var(--p-rule)!important; }
  .stat-item:nth-child(odd){ border-right:1px solid var(--p-rule)!important; }
}
/* in-page links land below the sticky nav */
html{ scroll-padding-top:80px; }
@media (max-width:768px){ html{ scroll-padding-top:12px; } }
@media (max-width:400px){
  .stat-num{ font-size:30px!important; }
  .stat-item{ padding:20px 8px!important; }
}
@media (max-width:360px){
  .press-looks{ grid-auto-columns:62%!important; }
  .nav-links.is-open > li > a{ font-size:26px!important; }
}

/* ── 25. v9: pages built on older templates ─────────────────────────────── */
/* breadcrumb and footer nav must never stick over the site nav */
nav.breadcrumb,footer nav,footer.site-footer nav{ position:static!important; top:auto!important; z-index:auto!important; border-bottom:0!important; }
/* footers on the older templates read on the dark ground */
footer.site-footer{ color:#c8c4bb!important; }
footer.site-footer .footer-email a,footer.site-footer .footer-brand p{ color:#c8c4bb!important; }
footer.site-footer .footer-inner,footer.site-footer .footer-grid{ min-width:0; }
@media (max-width:600px){
  footer.site-footer .footer-inner,footer.site-footer .footer-grid{ grid-template-columns:1fr!important; }
  footer.site-footer .footer-brand,footer.site-footer .footer-col{ min-width:0!important; max-width:100%!important; }
  footer.site-footer a{ overflow-wrap:anywhere; }
}
/* light heroes: breadcrumb and eyebrow to AA */
.press-hero.is-light .lp-eyebrow,.press-hero.is-light .lp-breadcrumb,.press-hero.is-light .lp-breadcrumb a{ color:#55554f!important; }
/* dark heroes on single column pages: the contents box joins the dark ground */
.press-hero.is-dark .contents{ background:transparent!important; border-color:rgba(244,241,234,.28)!important; }
.press-hero.is-dark .contents li,.press-hero.is-dark .contents p,.press-hero.is-dark .contents h2,.press-hero.is-dark .contents h3{ color:#e9e4d8!important; }
.press-hero.is-dark .author,.press-hero.is-dark .back{ color:#d6d0c2!important; }
/* invoice tool subtitle */
.page-header p{ color:#5f5a50!important; }
/* wide tables scroll inside their column on phones */
@media (max-width:760px){
  article table,.lp-section table,main table{ display:block; max-width:100%; overflow-x:auto; }
  .blog-card{ max-width:100%!important; min-width:0!important; }
  .blog-grid,.posts-grid{ grid-template-columns:minmax(0,1fr)!important; }
}
/* footer columns on templates that shipped without footer layout */
@media (min-width:761px){
  footer.site-footer .footer-inner:has(> .footer-nav){ display:flex!important; flex-wrap:wrap; gap:48px; justify-content:space-between; }
  footer.site-footer .footer-nav{ display:flex!important; flex-wrap:wrap; gap:32px 56px; }
}
footer.site-footer .press-colophon{ margin-top:28px!important; margin-bottom:40px!important; }
/* scholarly citations: muted lines to AA on the light ground */
.wrap .source .author,.wrap a.back{ color:#5f5a50!important; }
.wrap .press-hero.is-dark .source .author,.wrap .press-hero.is-dark a.back{ color:#d6d0c2!important; }
/* light heroes, stronger selector to beat the earlier v8 rule */
.lp-hero .lp-hero-inner.press-hero.is-light .lp-eyebrow,.lp-hero .lp-hero-inner.press-hero.is-light .lp-breadcrumb,.lp-hero .lp-hero-inner.press-hero.is-light .lp-breadcrumb a{ color:#55554f!important; }
/* menus on the older templates use the same phone menu as the rest of the site */
@media (min-width:769px){ .p9-ham{ display:none!important; } }
@media (max-width:768px){
  .p9-ham{ display:flex!important; flex-direction:column; align-items:flex-end; margin-left:auto; cursor:pointer; }
  .nav-links.is-open .nav-dropdown-menu{ display:none!important; }
}
/* announcement bars on the older templates: one centred line that wraps cleanly */
#announce-1:not(.announce),#announce-2:not(.announce){ display:block!important; text-align:center; padding:10px 44px!important; line-height:1.55; }
#announce-1:not(.announce) a,#announce-2:not(.announce) a{ white-space:nowrap; }
#announce-1:not(.announce),#announce-2:not(.announce){ border:0!important; border-bottom:1px solid #d6d3c8!important; outline:0!important; box-shadow:none!important; }
#announce-1:not(.announce) > button,#announce-2:not(.announce) > button{ position:absolute!important; right:10px!important; left:auto!important; top:50%!important; transform:translateY(-50%)!important; width:auto!important; min-height:0!important; padding:4px 6px!important; margin:0!important; border:0!important; background:none!important; }
nav.breadcrumb{ display:flex!important; flex-wrap:wrap!important; justify-content:flex-start!important; align-items:baseline!important; gap:6px 10px!important; }
nav.breadcrumb > *{ flex:0 1 auto!important; width:auto!important; }
/* Arabic must never be letterspaced: any tracking breaks the joining of letters on iPhone and iPad.
   press-v1 sets body{letter-spacing:.1px}, which every drawn image inherited. */
svg{ letter-spacing:normal!important; word-spacing:normal!important; }
:lang(ar),.arabic,.arabic-text,.arabic-block,.ar{ letter-spacing:0!important; word-spacing:normal!important; text-transform:none!important; font-style:normal!important; }
body{ letter-spacing:normal!important; }

/* Phones: hero art becomes its own picture above the headline, at full strength, instead of a faded
   layer behind the text (the faded layer made the Arabic in the art unreadable and collide with titles). */
@media (max-width:760px){
  .press-hero:not(#hero){ display:flex!important; flex-direction:column!important; padding-top:20px!important; min-height:0!important; }
  .press-hero:not(#hero) > .press-art{
    position:relative!important; inset:auto!important; order:-1; opacity:1!important;
    align-self:stretch!important; width:100%!important; max-width:none!important; height:auto!important;
    margin:0 calc(-1 * var(--p-gutter, 16px)) 28px!important; width:calc(100% + 2 * var(--p-gutter, 16px))!important; overflow:hidden!important;
  }
  .press-hero:not(#hero) > .press-art > svg.art{
    position:relative!important; inset:auto!important; display:block!important;
    width:100%!important; height:auto!important; max-height:72vh; transform:none!important;
  }
  .press-hero:not(#hero) > .press-art > :not(svg.art){ position:absolute!important; inset:0!important; width:100%!important; height:100%!important; }
}

@media print{ #store.section{ background:#fff!important; color:#000!important; } .shelf-cover{ display:none!important; } .press-panel,.press-panel.is-kept{ display:none!important; } .press-margin,.press-colophon,.press-figure,.press-band,.press-looks{ display:none!important; } }
