/* ====================================================================
   EDITORIAL MAGAZINE LAYOUT
   Inspired by The New Yorker / Monocle — cream paper, huge serif,
   drop-caps, pull-quotes, asymmetric columns, restrained accent.
   Scope: body[data-layout="editorial"]
   ==================================================================== */

body[data-layout="editorial"]{
  --bg:          #faf7f0;
  --bg-soft:     #f3efe4;
  --bg-elev:     #ffffff;
  --ink:         #121110;
  --ink-dim:     #3d3b36;
  --ink-mute:    #6e6a61;
  --line:        rgba(18,17,16,.12);
  --line-strong: rgba(18,17,16,.22);
  --maxw: 1180px;
  --pad:  clamp(22px, 5vw, 56px);
  background: var(--bg);
}

body[data-layout="editorial"][data-theme="dark"]{
  --bg:     #1a1714;
  --bg-soft:#221e19;
  --bg-elev:#2a2520;
  --ink:    #f5ede0;
  --ink-dim:#d8cfbf;
  --ink-mute:#9a907e;
  --line:   rgba(245,237,224,.1);
  --line-strong: rgba(245,237,224,.2);
}

/* Kill the cinematic orbs + grid — editorial is static and printed */
body[data-layout="editorial"] .grain-orb,
body[data-layout="editorial"] .hero-bg,
body[data-layout="editorial"] .hero-beam,
body[data-layout="editorial"] .hero-grid,
body[data-layout="editorial"] .scroll-hint{ display: none !important; }

body[data-layout="editorial"] .noise{ opacity: .04; mix-blend-mode: multiply; }

/* ---- Typography reset: serif-first, tighter ---- */
body[data-layout="editorial"]{
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -.005em;
}
body[data-layout="editorial"] .display,
body[data-layout="editorial"] .display-2,
body[data-layout="editorial"] h1,
body[data-layout="editorial"] h2,
body[data-layout="editorial"] h3{
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -.028em;
  line-height: .95;
}
body[data-layout="editorial"] .display{ font-size: clamp(56px, 10vw, 176px); }
body[data-layout="editorial"] .display em{ font-style: italic; color: var(--accent); font-weight: 400; }

body[data-layout="editorial"] .eyebrow,
body[data-layout="editorial"] .kicker,
body[data-layout="editorial"] .stat-label,
body[data-layout="editorial"] .meta-label{
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink-mute);
}

/* ---- Masthead nav — rule above + below, like a magazine header ---- */
body[data-layout="editorial"] .nav{
  background: var(--bg) !important;
  border-bottom: 1px solid var(--ink);
  border-top: 1px solid var(--ink);
  backdrop-filter: none;
}
body[data-layout="editorial"] .nav-inner{ padding: 14px 0; }
body[data-layout="editorial"] .brand-mark{
  font-family: var(--font-serif);
  background: transparent !important;
  color: var(--ink) !important;
  border: 1px solid var(--ink);
  border-radius: 0;
  font-style: italic;
  font-weight: 400;
}
body[data-layout="editorial"] .nav-links a{
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* ---- Hero as masthead + standfirst ---- */
body[data-layout="editorial"] .hero{
  padding-top: clamp(80px, 12vw, 160px);
  padding-bottom: clamp(80px, 10vw, 140px);
  border-bottom: 1px solid var(--line);
  min-height: auto;
}
body[data-layout="editorial"] .hero-inner{
  display: grid;
  grid-template-columns: 1.5fr .9fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: end;
}
body[data-layout="editorial"] .hero-copy{ max-width: none; }
body[data-layout="editorial"] .kicker{
  display: inline-flex;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 6px 0;
  background: transparent;
}
body[data-layout="editorial"] .kicker-dot{ display: none; }
body[data-layout="editorial"] .hero .display{
  margin-top: 26px;
  letter-spacing: -.03em;
}
body[data-layout="editorial"] .hero .lead{
  font-family: var(--font-serif);
  font-size: clamp(20px, 2vw, 28px);
  font-style: italic;
  color: var(--ink);
  border-left: 2px solid var(--accent);
  padding-left: 22px;
  max-width: 60ch;
  line-height: 1.45;
}
body[data-layout="editorial"] .hero-meta{
  border-top: 1px solid var(--ink);
  padding-top: 22px;
  margin-top: 40px;
  gap: 36px;
}
body[data-layout="editorial"] .meta-value{
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 400;
}

/* ---- Hero card → portrait plate with caption ---- */
body[data-layout="editorial"] .hero-card{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body[data-layout="editorial"] .hero-card-top{ display: none; }
body[data-layout="editorial"] .hero-portrait{
  border-radius: 0;
  aspect-ratio: 3/4;
  border: 1px solid var(--ink);
  overflow: hidden;
  filter: grayscale(.15) contrast(1.03);
}
body[data-layout="editorial"] .portrait-frame{ border-radius: 0; }
body[data-layout="editorial"] .portrait-img{ border-radius: 0; }
body[data-layout="editorial"] .portrait-badge{ display: none; }
body[data-layout="editorial"] .hero-card-body{
  padding-top: 18px;
  border-top: 1px solid var(--ink);
  margin-top: 18px;
  text-align: left;
}
body[data-layout="editorial"] .hero-card-name{
  font-family: var(--font-serif);
  font-size: 20px;
  font-style: italic;
  font-weight: 400;
}
body[data-layout="editorial"] .hero-card-role{
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
body[data-layout="editorial"] .hero-card-quote{
  font-family: var(--font-serif);
  font-size: 17px;
  font-style: italic;
  border-left: 2px solid var(--accent);
  padding: 6px 0 6px 14px;
  margin-top: 14px;
  background: transparent;
}
body[data-layout="editorial"] .hero-card-foot{
  border-top: 1px solid var(--line);
  padding-top: 12px;
  margin-top: 14px;
}
body[data-layout="editorial"] .hero-card-foot a{
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

/* ---- Section headers = issue-style rules ---- */
body[data-layout="editorial"] section{
  padding: clamp(70px, 9vw, 130px) 0;
  border-bottom: 1px solid var(--line);
}
body[data-layout="editorial"] .section-head{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 32px;
  align-items: start;
  border-top: 1px solid var(--ink);
  padding-top: 20px;
  margin-bottom: clamp(40px, 6vw, 80px);
  max-width: none;
}
body[data-layout="editorial"] .eyebrow{
  font-size: 10px;
  letter-spacing: .28em;
  padding-top: 10px;
}
body[data-layout="editorial"] .section-head h2,
body[data-layout="editorial"] .section-head .display-2{
  font-size: clamp(34px, 5vw, 72px);
  letter-spacing: -.02em;
  line-height: 1;
  margin: 0;
}
body[data-layout="editorial"] .section-sub{
  grid-column: 2;
  margin-top: 22px;
  font-size: 18px;
  line-height: 1.55;
  max-width: 56ch;
}

/* ---- About: drop-cap + pull-quote ---- */
body[data-layout="editorial"] .about-grid{
  display: grid;
  grid-template-columns: 1.35fr .75fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
}
body[data-layout="editorial"] .about-main p:first-of-type::first-letter,
body[data-layout="editorial"] .about-lede::first-letter{
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 5.2em;
  line-height: .82;
  float: left;
  padding: 6px 12px 0 0;
  color: var(--accent);
}
body[data-layout="editorial"] .about-main p,
body[data-layout="editorial"] .about-text p{
  font-size: 19px;
  line-height: 1.65;
  color: var(--ink-dim);
  margin-bottom: 1.1em;
  font-family: var(--font-serif);
}
body[data-layout="editorial"] .about-quote{
  border: none;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 28px 0;
  font-family: var(--font-serif);
  font-size: clamp(22px, 2.4vw, 32px);
  font-style: italic;
  line-height: 1.25;
  background: transparent;
  text-align: left;
  color: var(--ink);
}
body[data-layout="editorial"] .quote-mark{ display: none; }
body[data-layout="editorial"] .about-facts{
  background: transparent;
  border: none;
  border-top: 1px solid var(--ink);
  border-radius: 0;
  padding: 22px 0 0;
}
body[data-layout="editorial"] .about-facts > div + div{ border-top: 1px dotted var(--line-strong); padding-top: 14px; margin-top: 14px; }

/* ---- Stats = broadsheet numerals ---- */
body[data-layout="editorial"] .stats{
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  padding: 46px 0;
}
body[data-layout="editorial"] .stats-grid{ gap: 0; }
body[data-layout="editorial"] .stats-grid > *{ border-right: 1px solid var(--line); padding: 0 32px; }
body[data-layout="editorial"] .stats-grid > *:first-child{ padding-left: 0; }
body[data-layout="editorial"] .stats-grid > *:last-child{ border-right: none; padding-right: 0; }
body[data-layout="editorial"] .stat-value{
  font-family: var(--font-serif);
  font-size: clamp(44px, 6.5vw, 96px);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1;
}

/* ---- Positions, projects, awards = listed items with rule dividers ---- */
body[data-layout="editorial"] .positions-grid,
body[data-layout="editorial"] .projects-grid,
body[data-layout="editorial"] .awards-list{
  grid-template-columns: 1fr;
  gap: 0;
}
body[data-layout="editorial"] .pos-card,
body[data-layout="editorial"] .project-card,
body[data-layout="editorial"] .award-item{
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  padding: 28px 0 !important;
  display: grid !important;
  grid-template-columns: 80px 1fr auto;
  gap: 28px;
  align-items: baseline;
}
body[data-layout="editorial"] .pos-card:last-child,
body[data-layout="editorial"] .project-card:last-child,
body[data-layout="editorial"] .award-item:last-child{ border-bottom: 1px solid var(--line-strong); }
body[data-layout="editorial"] .pos-num,
body[data-layout="editorial"] .project-card .year,
body[data-layout="editorial"] .award-item .year{
  font-family: var(--font-serif);
  font-size: 20px;
  font-style: italic;
  color: var(--ink-mute);
}
body[data-layout="editorial"] .pos-title,
body[data-layout="editorial"] .project-card h3,
body[data-layout="editorial"] .award-item h3{
  font-family: var(--font-serif);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 400;
  letter-spacing: -.01em;
}
body[data-layout="editorial"] .pos-tag{
  justify-self: end;
  font-family: var(--font-sans);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  background: transparent;
  border: 1px solid var(--ink);
  color: var(--ink);
  border-radius: 0;
  padding: 4px 10px;
}
body[data-layout="editorial"] .pos-line{ display: none; }

/* ---- Services, government, facts — same rule-divider treatment ---- */
body[data-layout="editorial"] .services-grid{ grid-template-columns: repeat(2, 1fr); gap: 0; }
body[data-layout="editorial"] .service-card{
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  padding: 32px 24px 32px 0 !important;
}
body[data-layout="editorial"] .service-card:nth-child(odd){ border-right: 1px solid var(--line-strong); padding-right: 32px; }
@media (max-width: 768px){
  body[data-layout="editorial"] .services-grid{ grid-template-columns: 1fr; }
  body[data-layout="editorial"] .service-card:nth-child(odd){ border-right: none; padding-right: 0; }
}
body[data-layout="editorial"] .service-card h3{ font-family: var(--font-serif); font-size: 24px; font-weight: 400; margin-top: 12px; }

/* ---- Buttons: underlined links, not pills ---- */
body[data-layout="editorial"] .btn{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
  color: var(--ink) !important;
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  position: relative;
  box-shadow: none !important;
}
body[data-layout="editorial"] .btn::after{
  content: "";
  position: absolute; left: 0; right: 0; bottom: -2px;
  height: 1px; background: var(--ink);
}
body[data-layout="editorial"] .btn-primary{ color: var(--accent) !important; }
body[data-layout="editorial"] .btn-primary::after{ background: var(--accent); height: 2px; }

/* ---- Footer ---- */
body[data-layout="editorial"] .footer{
  border-top: 1px solid var(--ink);
  background: var(--bg);
}
body[data-layout="editorial"] .foot-giant{
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.04em;
}

/* ---- Responsive ---- */
@media (max-width: 860px){
  body[data-layout="editorial"] .hero-inner{ grid-template-columns: 1fr; gap: 40px; }
  body[data-layout="editorial"] .about-grid{ grid-template-columns: 1fr; }
  body[data-layout="editorial"] .section-head{ grid-template-columns: 1fr; gap: 10px; }
  body[data-layout="editorial"] .section-sub{ grid-column: 1; }
  body[data-layout="editorial"] .stats-grid{ grid-template-columns: repeat(2, 1fr); gap: 30px; }
  body[data-layout="editorial"] .stats-grid > *{ border-right: none; padding: 0; }
  body[data-layout="editorial"] .pos-card,
  body[data-layout="editorial"] .project-card,
  body[data-layout="editorial"] .award-item{ grid-template-columns: 1fr; gap: 8px; }
  body[data-layout="editorial"] .pos-tag{ justify-self: start; }
}

/* ====================================================================
   MADINAH LAYER — emerald + sand identity (Raheem Safaideen)
   Sand-paper ground, green-black ink, emerald accent, 8-point-star
   lattice, engraved-plate portrait, broadsheet stats in deep emerald.
   NOTE: data-theme lives on <html>, layout on <body> — scope toggles
   as html[data-theme=...] body[data-layout=...].
   ==================================================================== */

/* ---- Palette shift: sand paper + green-black ink ---- */
body[data-layout="editorial"]{
  --bg:          #f6f1e4;
  --bg-soft:     #efe7d3;
  --bg-elev:     #fbf8ef;
  --ink:         #15241c;
  --ink-dim:     #3d4c43;
  --ink-mute:    #6d7a70;
  --line:        rgba(21,36,28,.14);
  --line-strong: rgba(21,36,28,.26);
  --radius-sm: 2px;
  --radius:    4px;
  --radius-lg: 8px;
}
html[data-theme="dark"] body[data-layout="editorial"]{
  --bg:     #0a1a14;
  --bg-soft:#0d211a;
  --bg-elev:#112920;
  --ink:    #f0ead8;
  --ink-dim:#ccc6b1;
  --ink-mute:#93a89a;
  --line:   rgba(240,234,216,.13);
  --line-strong: rgba(240,234,216,.24);
}

body[data-layout="editorial"] ::selection{ background: var(--accent); color: #f6f1e4; }

/* ---- Masthead: heavier top rule, magazine style ---- */
body[data-layout="editorial"] .nav{
  border-top-width: 3px;
}

/* ---- Hero: 8-point star lattice on sand ---- */
html[data-theme="light"] body[data-layout="editorial"] .hero{
  background-color: var(--bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 128 128'%3E%3Cg fill='none' stroke='%230b5f40' stroke-opacity='.07'%3E%3Crect x='39' y='39' width='50' height='50'/%3E%3Crect x='39' y='39' width='50' height='50' transform='rotate(45 64 64)'/%3E%3Ccircle cx='64' cy='64' r='7'/%3E%3C/g%3E%3C/svg%3E");
}
html[data-theme="dark"] body[data-layout="editorial"] .hero{
  background-color: var(--bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 128 128'%3E%3Cg fill='none' stroke='%2335c493' stroke-opacity='.08'%3E%3Crect x='39' y='39' width='50' height='50'/%3E%3Crect x='39' y='39' width='50' height='50' transform='rotate(45 64 64)'/%3E%3Ccircle cx='64' cy='64' r='7'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---- Portrait: engraved plate — inner rule + offset outer hairline ---- */
body[data-layout="editorial"] .hero-portrait{
  outline: 1px solid var(--line-strong);
  outline-offset: 9px;
}
body[data-layout="editorial"] .hero-portrait,
body[data-layout="editorial"] .about-figure img{
  filter: grayscale(.12) contrast(1.04) sepia(.06);
}
body[data-layout="editorial"] .about-figure img{
  outline: 1px solid var(--line-strong);
  outline-offset: 8px;
}

/* ---- Section eyebrows get a diamond marker ---- */
body[data-layout="editorial"] .eyebrow::before{
  content: "";
  display: inline-block;
  width: 7px; height: 7px;
  background: var(--accent);
  transform: rotate(45deg);
  margin-right: 12px;
  vertical-align: 1px;
}

/* ---- Stats: broadsheet band in deep emerald (light) ---- */
html[data-theme="light"] body[data-layout="editorial"] .stats{
  background: linear-gradient(180deg, #0d4432, #093023);
  border-top-color: #093023;
  border-bottom-color: #093023;
}
html[data-theme="light"] body[data-layout="editorial"] .stat-value{ color: #f2ecdb; }
html[data-theme="light"] body[data-layout="editorial"] .stat-label{ color: #9fc0ae; }
html[data-theme="light"] body[data-layout="editorial"] .stats-grid > *{ border-right-color: rgba(242,236,219,.18); }

/* ---- Positions & explore: rule-divider directory, stable areas ---- */
body[data-layout="editorial"] .pos-card{
  grid-template-columns: 72px 1fr;
  grid-template-areas: "num tag" "num title" "num org";
  gap: 8px 26px;
  align-items: start;
}
body[data-layout="editorial"] .pos-num{ grid-area: num; }
body[data-layout="editorial"] .pos-tag{ grid-area: tag; justify-self: start; }
body[data-layout="editorial"] .pos-title{ grid-area: title; }
body[data-layout="editorial"] .pos-org{
  grid-area: org;
  font-family: var(--font-sans);
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-dim);
}

/* ---- Bridge: projects (.proj) get the same rule-divider treatment ---- */
body[data-layout="editorial"] .projects-grid{ grid-template-columns: 1fr; gap: 0; }
body[data-layout="editorial"] .proj{
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 30px 0 !important;
  display: grid !important;
  grid-template-columns: 120px 1fr;
  gap: 6px 28px;
  align-items: baseline;
}
body[data-layout="editorial"] .proj:hover{ transform: none; border-color: var(--ink) !important; }
body[data-layout="editorial"] .proj:last-child{ border-bottom: 1px solid var(--line-strong); }
body[data-layout="editorial"] .proj-year{
  grid-row: 1;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 18px;
  color: var(--accent);
  background: none;
  border: none;
  padding: 0;
  width: auto;
}
body[data-layout="editorial"] .proj-title{
  grid-column: 2;
  font-family: var(--font-serif);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 400;
}
body[data-layout="editorial"] .proj-detail{ grid-column: 2; font-size: 16px; line-height: 1.65; color: var(--ink-dim); }
body[data-layout="editorial"] .proj-glow{ display: none; }
@media (max-width: 640px){
  body[data-layout="editorial"] .proj{ grid-template-columns: 1fr; }
  body[data-layout="editorial"] .proj-title,
  body[data-layout="editorial"] .proj-detail{ grid-column: 1; }
}

/* ---- Bridge: services (.svc) — rule-divider 2-col list ---- */
body[data-layout="editorial"] .svc{
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 30px 0 30px 28px !important;
}
body[data-layout="editorial"] .services-grid .svc:nth-child(odd){ border-right: 1px solid var(--line-strong); padding-right: 28px; }
body[data-layout="editorial"] .svc-icon{
  background: transparent !important;
  border: 1px solid var(--line-strong);
  border-radius: 0 !important;
  color: var(--accent) !important;
  box-shadow: none !important;
}
body[data-layout="editorial"] .svc h3{ font-family: var(--font-serif); font-weight: 400; }
@media (max-width: 768px){
  body[data-layout="editorial"] .services-grid .svc:nth-child(odd){ border-right: none; padding-right: 0; }
  body[data-layout="editorial"] .svc{ padding-left: 0 !important; }
}

/* ---- Bridge: education medals (.medal) — rule-divider list ---- */
body[data-layout="editorial"] .govt{ background: none; }
body[data-layout="editorial"] .govt-grid{ grid-template-columns: 1fr; gap: 0; }
body[data-layout="editorial"] .medal{
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 32px 0 !important;
  display: grid !important;
  grid-template-columns: 96px 1fr;
  gap: 30px;
  align-items: center;
}
body[data-layout="editorial"] .medal:last-child{ border-bottom: 1px solid var(--line-strong); }
body[data-layout="editorial"] .medal-ring svg{ animation: none; }
body[data-layout="editorial"] .medal-award{ font-weight: 400; letter-spacing: -.01em; }
body[data-layout="editorial"] .medal-note{ max-width: 62ch; }

/* ---- Bridge: FAQ facts (.fact) — hairline accordion ---- */
body[data-layout="editorial"] .facts-wrap{ border-bottom: 1px solid var(--line); }
body[data-layout="editorial"] .fact{
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 20px 0 !important;
}
body[data-layout="editorial"] .fact-q{ font-family: var(--font-serif); font-size: 20px; font-weight: 400; }
body[data-layout="editorial"] .fact-a{ color: var(--ink-dim); }

/* ---- Contact: hairline plates ---- */
body[data-layout="editorial"] .contact-info,
body[data-layout="editorial"] .contact-form{
  background: transparent !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body[data-layout="editorial"] .contact-form input,
body[data-layout="editorial"] .contact-form textarea,
body[data-layout="editorial"] .contact-form select{
  border-radius: 0;
  background: var(--bg-elev);
}

/* ---- CTA: deep emerald plate with sand type (light) ---- */
html[data-theme="light"] body[data-layout="editorial"] .cta-card{
  background: linear-gradient(160deg, #0d4432, #083023);
  border: none;
  border-radius: 0;
  box-shadow: 0 30px 60px -40px rgba(9,48,35,.8);
}
html[data-theme="light"] body[data-layout="editorial"] .cta-card .display-2{ color: #f2ecdb; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .display-2 em{ color: #8fe6bd; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .eyebrow{ color: #9fc0ae; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .section-sub{ color: #c9d8cd; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .btn{ color: #eef3e4 !important; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .btn::after{ background: #eef3e4; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .btn-primary{ color: #8fe6bd !important; }
html[data-theme="light"] body[data-layout="editorial"] .cta-card .btn-primary::after{ background: #8fe6bd; }

/* ---- Footer: emerald ghost giant ---- */
body[data-layout="editorial"] .foot-giant{ color: color-mix(in srgb, var(--accent) 12%, transparent); }

/* ---- BizChat FAB: emerald, square ---- */
body[data-layout="editorial"] .bz-fab{ border-radius: 0; }
html[data-theme="light"] body[data-layout="editorial"] .bz-fab,
html[data-theme="light"] body[data-layout="editorial"] .bz-fab .bz-fab-open{ background: var(--accent); }

/* ---- Madinah: cap the hero display — 3-line title must sit beside the portrait ---- */
body[data-layout="editorial"] .hero .display{
  font-size: clamp(42px, 6vw, 96px);
  line-height: 1.02;
}
body[data-layout="editorial"] .hero .lead{ max-width: 52ch; }

/* ---- Madinah: kill base hero-inner min-height (78vh stretch gotcha) ---- */
body[data-layout="editorial"] .hero-inner{ min-height: auto; }
