/* ===== DRB-APP consolidated stylesheet =====
   Built by concatenating the existing linked stylesheets in their
   EXACT browser load order so rendering is byte-identical.
   Source order: fx-home -> density -> mobile -> stats -> newhome -> polish2 -> menu-fix
   Backup: /home/drbusiness/backups/cssconsolidation-20260604-001509/
   ===== */

/* ========== [1] drb-fx-home.css ========== */
.drbfx-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform;}
.drbfx-reveal.drbfx-in{opacity:1;transform:none;}
.drbfx-tilt{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .3s ease;transform-style:preserve-3d;will-change:transform;}
#drbfx-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;background:linear-gradient(90deg,#FF5A45,#ff8a73);box-shadow:0 0 12px rgba(255,90,69,.6);pointer-events:none;}
#drbfx-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
#drbfx-bg .drbfx-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;will-change:transform;}
#drbfx-bg .drbfx-orb.o1{width:420px;height:420px;background:radial-gradient(circle,rgba(255,90,69,.42),transparent 70%);top:-120px;left:-80px;animation:drbfxFloat1 22s ease-in-out infinite;}
#drbfx-bg .drbfx-orb.o2{width:520px;height:520px;background:radial-gradient(circle,rgba(255,138,115,.30),transparent 70%);bottom:-160px;right:-120px;animation:drbfxFloat2 28s ease-in-out infinite;}
#drbfx-bg .drbfx-orb.o3{width:360px;height:360px;background:radial-gradient(circle,rgba(255,90,69,.22),transparent 70%);top:40%;left:55%;animation:drbfxFloat3 25s ease-in-out infinite;}
@keyframes drbfxFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(60px,40px)}}
@keyframes drbfxFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(-50px,-30px)}}
@keyframes drbfxFloat3{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,50px)}}
#drbfx-net{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;}
#drbfx-cursor{position:fixed;top:0;left:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,69,.10),transparent 60%);z-index:1;pointer-events:none;transition:opacity .3s;mix-blend-mode:normal;}
body.brx-body{position:relative;}
main,section,header,footer,.brx-content{position:relative;z-index:2;}
@media (prefers-reduced-motion:reduce){.drbfx-reveal{opacity:1!important;transform:none!important}#drbfx-bg,#drbfx-net,#drbfx-cursor,#drbfx-prog{display:none!important}.drbfx-tilt{transform:none!important}}
@media (hover:none){#drbfx-cursor{display:none!important}.drbfx-tilt{transform:none!important}#drbfx-net{opacity:.35}}

/* ========== [2] drb-density.css ========== */
/* DRB density pass v2 */
body .section { padding-block: 56px !important; }
body .hero { padding-block: 56px 40px !important; }
body .hero__title { font-size: clamp(36px, 6.5vw, 84px) !important; line-height: 1.08 !important; }
body .hero__eyebrow { margin: 0 0 18px !important; }
body .hero__sub { margin-top: 20px !important; }
body .hero__cta-row { margin-top: 24px !important; }
body .hero__legend { margin-top: 36px !important; }
body #cta { padding-block: 56px !important; }
body #principles { padding-block: 48px !important; }
body #faq { padding-block: 52px !important; }
body #audit { padding-block: 60px !important; }
body #audit .wrap.audit-hero { padding-block: 0 !important; }
body .section .wrap { row-gap: 18px !important; gap: 18px !important; }
.eyebrow.reveal { margin: 0 0 6px !important; }
.title-lg.reveal { margin: 0 !important; line-height: 1.12 !important; }
.title-lg { font-size: clamp(30px, 3.8vw, 48px) !important; }
.lead.reveal { margin-top: 10px !important; font-size: 16px !important; }
.sysv2-grid, .cases { margin-top: 24px !important; }
.sys-footnote.reveal, .cases__note.reveal { margin-top: 14px !important; }
.audit-copy.reveal > * + * { margin-top: 12px !important; }
.audit-points { gap: 8px !important; margin-top: 14px !important; }
.ai-layer .wrap > * + *, .principles .wrap > * + *, .about .wrap > * + * { margin-top: 12px !important; }
.faq-list { margin-top: 16px !important; }
.faq-item { padding-block: 12px !important; }
.about-grid { gap: 36px !important; }
.case-card { min-height: 0 !important; }
.sysv2 { min-height: 0 !important; }
@media (max-width: 820px) {
  body .section { padding-block: 40px !important; }
  body .hero { padding-block: 48px 32px !important; }
  body .hero__title { font-size: clamp(28px, 8vw, 44px) !important; }
  body .hero__inner { gap: 32px !important; }
  body .section .wrap { row-gap: 14px !important; gap: 14px !important; }
  .title-lg { font-size: clamp(24px, 6.5vw, 32px) !important; }
  .sysv2-grid, .cases { margin-top: 18px !important; }
  .about-grid { gap: 24px !important; }
}

/* ========== [3] drb-mobile.css ========== */
/* DRB Mobile Responsive Overhaul */
body { max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas, iframe { max-width: 100%; height: auto; }

/* TABLET <= 980px */
@media (max-width: 980px) {
  body .section { padding-block: 48px !important; }
  body .hero { padding-block: 48px 32px !important; }
  body .hero__title { font-size: clamp(34px, 7.2vw, 64px) !important; line-height: 1.12 !important; }
  body .hero__sub { font-size: 16px !important; }
  .title-lg { font-size: clamp(26px, 4.6vw, 40px) !important; line-height: 1.18 !important; }
  .lead { font-size: 15px !important; }
  .systems { padding-block: 32px !important; }
  .about-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .layer-grid, .principles, .case-row, .footer__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
}

/* MOBILE <= 720px */
@media (max-width: 720px) {
  body .section { padding-block: 40px !important; padding-inline: 16px !important; }
  body .hero { padding-block: 40px 28px !important; padding-inline: 16px !important; }
  .hero__inner { gap: 24px !important; flex-direction: column !important; align-items: stretch !important; }
  body .hero__title { font-size: clamp(28px, 9vw, 44px) !important; line-height: 1.15 !important; }
  body .hero__sub { font-size: 15px !important; line-height: 1.6 !important; margin-top: 14px !important; }
  .eyebrow { font-size: 12px !important; }
  .hero__cta-row, .hero__cta, .cta-row, .audit-cta-row { display: flex !important; flex-direction: column !important; gap: 12px !important; align-items: stretch !important; }
  .hero__cta-row .btn-primary, .hero__cta-row .btn-ghost, .hero__cta-row .btn-cta-big,
  .audit-cta-row .btn-primary, .audit-cta-row .btn-ghost, .audit-cta-row .btn-cta-big,
  .cta-row .btn-primary, .cta-row .btn-ghost, .cta-row .btn-cta-big {
    width: 100% !important; min-width: 0 !important; justify-content: center !important; text-align: center !important; font-size: 15px !important; padding: 14px 18px !important;
  }
  .title-lg { font-size: clamp(22px, 6.5vw, 32px) !important; line-height: 1.2 !important; }
  .lead { font-size: 14.5px !important; line-height: 1.7 !important; }
  .systems-orbit, .systems__orbit { display: none !important; }
  .systems__cards, .systems__grid { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; position: static !important; transform: none !important; }
  .systems__card, .sys-card { position: static !important; transform: none !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  .report--v2 { transform: scale(0.78) !important; transform-origin: center top !important; margin-bottom: -120px !important; }
  .about-grid, .layer-grid, .principles, .case-row, .footer__grid, .audit-hero { grid-template-columns: 1fr !important; gap: 20px !important; }
  .about-portrait { max-width: 280px !important; margin: 0 auto !important; }
  .about-stats { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
  .about-stat__num { font-size: 26px !important; }
  .about-stat__lbl { font-size: 12px !important; }
  .case-card { padding: 18px !important; }
  .case-card__num { font-size: 28px !important; }
  .cases__note { font-size: 13px !important; }
  .principle { padding: 16px !important; }
  .principle__title { font-size: 16px !important; }
  .principle__body { font-size: 14px !important; }
  .faq__q { font-size: 15px !important; padding: 14px 16px !important; }
  .faq__a { font-size: 14px !important; padding: 0 16px 14px !important; line-height: 1.7 !important; }
  .faq__heading { font-size: 22px !important; }
  .nav, header nav { gap: 8px !important; padding: 10px 12px !important; flex-wrap: wrap !important; }
  .nav a, header nav a { font-size: 13px !important; padding: 6px 8px !important; }
  .brand__mark, .brand { font-size: 16px !important; }
  .footer { padding: 32px 16px 24px !important; }
  .footer__grid { gap: 20px !important; }
  .footer__desc { font-size: 13px !important; }
  .footer__bottom { font-size: 12px !important; flex-direction: column !important; gap: 8px !important; text-align: center !important; }
  .about-academy__head { font-size: 20px !important; }
  .about-academy__cta { width: 100% !important; justify-content: center !important; }
  .final-cta { padding: 32px 16px !important; }
  .audit-deliv { padding: 16px !important; }
  .audit-deliv__t { font-size: 14px !important; }
  .audit-trust { font-size: 12px !important; }
  .report__sheet { padding: 18px 16px !important; }
  .report__header { gap: 8px !important; }
  .report__avatar { width: 36px !important; height: 36px !important; font-size: 13px !important; }
  .report__kicker { font-size: 13px !important; }
  .report__meta { font-size: 11px !important; }
}

/* SMALL MOBILE <= 480px */
@media (max-width: 480px) {
  body .section { padding-block: 32px !important; padding-inline: 14px !important; }
  body .hero { padding-block: 32px 24px !important; padding-inline: 14px !important; }
  body .hero__title { font-size: clamp(26px, 9.5vw, 38px) !important; }
  .title-lg { font-size: clamp(20px, 6.8vw, 28px) !important; }
  .lead, body .hero__sub { font-size: 14px !important; }
  .eyebrow { font-size: 11px !important; letter-spacing: 0.05em !important; }
  .btn-primary, .btn-cta-big, .btn-ghost { font-size: 14px !important; padding: 12px 16px !important; }
  .btn-pill { font-size: 12px !important; padding: 6px 10px !important; }
  .report--v2 { transform: scale(0.68) !important; margin-bottom: -180px !important; }
  .audit-section, .about-section, .systems, .faq, .work { min-height: 0 !important; }
  .about-stats { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .about-stat__num { font-size: 22px !important; }
  .about-stat__lbl { font-size: 11px !important; line-height: 1.35 !important; }
  .layer-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .layer-card { padding: 16px !important; }
  .layer-card__title { font-size: 15px !important; }
  .layer-card__body { font-size: 13.5px !important; line-height: 1.65 !important; }
  .faq__q { font-size: 14px !important; padding: 12px 14px !important; }
  .faq__a { font-size: 13.5px !important; padding: 0 14px 12px !important; }
  .nav, header nav { padding: 8px 10px !important; }
  .nav a, header nav a { font-size: 12px !important; padding: 4px 6px !important; }
}

/* ULTRA NARROW <= 360px */
@media (max-width: 360px) {
  body .section { padding-block: 28px !important; padding-inline: 12px !important; }
  body .hero__title { font-size: clamp(22px, 10vw, 32px) !important; }
  .title-lg { font-size: clamp(18px, 7.5vw, 24px) !important; }
  .report--v2 { transform: scale(0.6) !important; margin-bottom: -220px !important; }
  .about-stats { grid-template-columns: 1fr !important; gap: 6px !important; }
}

/* TOUCH TARGETS WCAG */
@media (max-width: 720px) and (pointer: coarse) {
  a, button, .btn-primary, .btn-ghost, .btn-cta-big, .btn-pill, .faq__q, .nav a { min-height: 44px !important; }
  .faq__q, .nav a, button { display: flex !important; align-items: center !important; }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
/* ========== [4] drb-stats.css ========== */
/* DRB Stats Pill - matches reference: unified card, dividers, Arabic-Indic numerals */
.stats { margin-top: 40px !important; padding: 0 16px !important; }
.stats__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  align-items: center !important;
  gap: 0 !important;
  background: rgba(255, 248, 244, 0.65) !important;
  border: 1px solid rgba(232, 106, 90, 0.18) !important;
  border-radius: 18px !important;
  padding: 22px 8px !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02), 0 8px 24px -16px rgba(232, 106, 90, 0.18) !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.stats__grid .stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 4px 14px !important;
  position: relative !important;
  min-height: 0 !important;
  width: auto !important;
}
/* Vertical dividers between cells (RTL-aware: works in either direction) */
.stats__grid .stat + .stat::before {
  content: '' !important;
  position: absolute !important;
  top: 18% !important;
  bottom: 18% !important;
  inset-inline-start: 0 !important;
  width: 1px !important;
  background: rgba(232, 106, 90, 0.18) !important;
}
.stats__grid .stat__num {
  font-size: clamp(28px, 3.4vw, 44px) !important;
  font-weight: 800 !important;
  color: #e85a4f !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 6px !important;
  /* Use Arabic-Indic numerals */
  font-feature-settings: 'lnum' off !important;
  font-variant-numeric: tabular-nums !important;
}
.stats__grid .stat__num .unit {
  font-size: 0.55em !important;
  font-weight: 700 !important;
  margin-inline-start: 2px !important;
  opacity: 0.85 !important;
}
.stats__grid .stat__label {
  font-size: 12.5px !important;
  color: #6b6358 !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}
/* Force Arabic-Indic digits via Unicode locale override */
.stats__grid .stat__num { unicode-bidi: plaintext; }

/* TABLET <= 980px */
@media (max-width: 980px) {
  .stats__grid { padding: 18px 6px !important; }
  .stats__grid .stat__num { font-size: clamp(24px, 4vw, 36px) !important; }
  .stats__grid .stat__label { font-size: 11.5px !important; }
}

/* MOBILE <= 720px - 2x2 grid */
@media (max-width: 720px) {
  .stats { margin-top: 28px !important; padding: 0 12px !important; }
  .stats__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px 0 !important;
    padding: 16px 8px !important;
    border-radius: 16px !important;
  }
  .stats__grid .stat { padding: 12px 10px !important; }
  .stats__grid .stat__num { font-size: clamp(22px, 6vw, 30px) !important; margin-bottom: 4px !important; }
  .stats__grid .stat__label { font-size: 11px !important; }
  /* Reset dividers - only between columns, not between rows */
  .stats__grid .stat + .stat::before { display: none !important; }
  /* Show divider only between col 1 and col 2 of each row */
  .stats__grid .stat:nth-child(2n)::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 18% !important; bottom: 18% !important;
    inset-inline-start: 0 !important;
    width: 1px !important;
    background: rgba(232, 106, 90, 0.18) !important;
  }
  /* Horizontal divider between row 1 and row 2 */
  .stats__grid .stat:nth-child(3)::after,
  .stats__grid .stat:nth-child(4)::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 8% !important; right: 8% !important;
    height: 1px !important;
    background: rgba(232, 106, 90, 0.14) !important;
  }
}

/* SMALL MOBILE <= 480px */
@media (max-width: 480px) {
  .stats__grid .stat__num { font-size: clamp(20px, 6.5vw, 26px) !important; }
  .stats__grid .stat__label { font-size: 10.5px !important; line-height: 1.35 !important; }
  .stats__grid .stat { padding: 10px 6px !important; }
}

/* Ensure stats don't overlap with content above - force section containment */
.hero .stats, .hero--v2 .stats { position: relative !important; z-index: 2 !important; clear: both !important; }
.hero .wrap, .hero--v2 .wrap { overflow: visible !important; }
/* ========== [5] drb-newhome.css ========== */

/* === DRB NewHome — Bricks/Automatic.css override layer === */
body.page-id-33526 section.brxe-section { display: block; gap: 0; }
body.page-id-33526 .bricks-lazy-hidden { opacity: 1 !important; transform: none !important; }
body.page-id-33526 .brxe-button.bricks-button { display: inline-flex; padding: 0; background: transparent; border: 0; color: inherit; font: inherit; }
body.page-id-33526 .brxe-heading { margin: 0; }
/* automaticcss-core resets — nuke gap/align on section > div */
/* === end DRB override === */

/* === style block 1 === */

:root {
  --cream: #f4ede1;
  --cream-2: #ece3d2;
  --cream-3: #e2d6be;
  --ink: #10141e;
  --ink-2: #1a1f2c;
  --coral: #e86a5a;
  --coral-2: #d4523f;
  --text: #1a1a22;
  --text-soft: #5a5247;
  --text-dim: #8a816f;
  --on-dark: #f4ede1;
  --on-dark-soft: #b7b3a8;
  --rule: rgba(26, 26, 34, 0.12);
  --rule-dark: rgba(244, 237, 225, 0.14);
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Tahoma, Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
p, h1, h2, h3 { margin: 0; }
ul { margin: 0; padding: 0; }
.skip-link {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 9999;
  transform: translateY(-140%);
  background: var(--ink);
  color: var(--cream);
  padding: 10px 16px;
  border-radius: 8px;
  font-weight: 800;
}
.skip-link:focus-visible { transform: translateY(0); }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 4px;
  border-radius: 8px;
}
div.page { overflow: hidden; }
.wrap {
  width: min(100% - 112px, 1280px);
  margin-inline: auto;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--rule);
  background: rgba(244, 237, 225, 0.84);
  backdrop-filter: blur(14px) saturate(140%);
}
.topbar__row {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  font-size: 18px;
  white-space: nowrap;
}
.brand__mark {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--ink);
  color: var(--cream);
  font-size: 12px;
  letter-spacing: 0.04em;
}
.nav {
  display: flex;
  align-items: center;
  gap: 32px;
  color: var(--text-soft);
  font-size: 14px;
}
.nav a:hover { color: var(--coral); }
.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: transparent;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}
.nav-toggle span {
  width: 18px;
  height: 2px;
  background: var(--ink);
  border-radius: 999px;
}
.btn-pill, .btn-primary, .btn-cta-big {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  white-space: nowrap;
}
.btn-pill {
  padding: 10px 22px;
  background: var(--ink);
  color: var(--cream);
  font-size: 14px;
}
.btn-primary {
  padding: 16px 28px;
  background: var(--coral);
  color: var(--cream);
  box-shadow: 0 16px 34px -16px rgba(232, 106, 90, 0.72);
}
.btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  border-bottom: 1.5px solid var(--ink);
  font-weight: 800;
}
.btn-primary:hover, .btn-pill:hover, .btn-cta-big:hover { transform: translateY(-1px); }
.bg-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, rgba(26,26,34,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(26,26,34,0.05) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at center, black 35%, transparent 82%);
}
.hero {
  position: relative;
  padding: 64px 0 72px;
}
.hero__bg-shape {
  position: absolute;
  inset: 0 0 auto auto;
  width: 52vw;
  height: 52vw;
  max-height: 720px;
  background: radial-gradient(circle, rgba(232,106,90,0.12), transparent 68%);
  pointer-events: none;
}
.hero__inner--v2 {
  position: relative;
  z-index: 1;
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 1.1fr);
  align-items: center;
  gap: 56px;
}
.hero__text { min-width: 0; }
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  padding: 7px 14px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: rgba(255,255,255,0.42);
  color: var(--text-soft);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
}
.dot-live, .hero__legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  display: inline-block;
  background: #5bd98a;
  box-shadow: 0 0 0 7px rgba(91,217,138,0.18);
}
.dot-live.small { width: 8px; height: 8px; }
.hero__title {
  font-weight: 900;
  font-size: clamp(56px, 7vw, 104px);
  line-height: 1.18;
  letter-spacing: 0;
  color: var(--ink);
  text-wrap: balance;
}
.hero__title .under-1 { color: var(--coral); position: relative; display: inline-block; }
.hero__title .under-1::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 7px;
  border-radius: 999px;
  background: rgba(232,106,90,0.22);
}
.hero__title .under-2 { position: relative; display: inline-block; }
.hero__title .under-2 svg {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -12px;
  width: 100%;
  height: 18px;
  overflow: visible;
}
.hero__title .under-2 path {
  stroke: var(--coral);
  stroke-width: 4;
  fill: none;
  stroke-linecap: round;
}
.hero__sub {
  margin-top: 28px;
  max-width: 560px;
  color: var(--text-soft);
  font-size: 18px;
}
.hero__cta-row {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 34px;
}
.hero__legend {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 88px;
  padding-top: 24px;
  border-top: 1px dashed var(--rule);
  color: var(--text-soft);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}
.hero__legend-item { display: inline-flex; align-items: center; gap: 8px; }
.hero__legend-dot { width: 7px; height: 7px; background: var(--coral); box-shadow: 0 0 0 5px rgba(232,106,90,0.14); }
.hero__legend-spacer { flex: 1; }
.hero__legend-note { color: var(--text-dim); }
.hero__stage--diagram {
  width: 100%;
  max-width: 640px;
  aspect-ratio: 1;
  margin-inline: auto;
  overflow: visible;
}
.sysdiag {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.sysdiag__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: visible;
}
.sysdiag__line {
  fill: none;
  stroke: var(--coral);
  stroke-width: 1.7;
  stroke-dasharray: 5 7;
  stroke-linecap: round;
  opacity: 0.72;
  animation: dash 15s linear infinite;
}
.sysdiag__hub {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 32%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
}
.sysdiag__hub-ring {
  position: absolute;
  inset: 0;
  border: 1px dashed rgba(16,20,30,0.18);
  border-radius: 999px;
  animation: spin 50s linear infinite;
}
.sysdiag__hub-ring--2 {
  inset: 15%;
  border-style: solid;
  border-color: rgba(232,106,90,0.24);
  animation: none;
}
.sysdiag__hub-core {
  position: relative;
  z-index: 2;
  width: 56%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--ink);
  color: var(--coral);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  box-shadow: 0 24px 50px -16px rgba(16,20,30,0.4);
}
.sysdiag__card {
  position: absolute;
  z-index: 4;
  width: 28%;
  min-width: 158px;
  padding: 18px 18px 16px;
  border: 1px solid var(--rule);
  border-radius: 18px;
  background: rgba(244,237,225,0.9);
  box-shadow: 0 24px 50px -22px rgba(16,20,30,0.24);
  text-align: right;
  animation: float-card 7s ease-in-out infinite;
}
.sysdiag__card--site { top: -4%; left: -4%; }
.sysdiag__card--ops { top: -4%; right: -4%; animation-delay: -2.4s; }
.sysdiag__card--content { bottom: -8%; left: 50%; transform: translateX(-50%); animation-name: float-card-center; animation-delay: -4.8s; }
.sysdiag__card-tag {
  position: absolute;
  top: 16px;
  left: 18px;
  color: var(--coral);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
}
.sysdiag__card-name { font-size: 15px; line-height: 1.35; color: var(--ink); }
.sysdiag__card-body {
  margin-top: 6px;
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.55;
}
.sysdiag__card-meter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  padding-top: 9px;
  border-top: 1px dashed var(--rule);
  color: var(--text-dim);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
}
.stats {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  opacity: 0.42;
}
.stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.stat {
  padding: 20px;
  text-align: center;
  border-radius: 14px;
  background: rgba(255,255,255,0.18);
}
.stat__num {
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 900;
  color: rgba(232,106,90,0.35);
  line-height: 1;
}
.stat__label {
  margin-top: 8px;
  color: var(--text-dim);
  font-size: 12px;
}
.section {
  position: relative;
  padding: 88px 0;
  scroll-margin-top: 92px;
}
.section--dark {
  background: var(--ink);
  color: var(--on-dark);
  overflow: hidden;
}
.section--dark .bg-grid {
  background-image:
    linear-gradient(to right, rgba(244,237,225,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(244,237,225,0.04) 1px, transparent 1px);
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: var(--text-dim);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
}
.section--dark .eyebrow { color: rgba(244,237,225,0.62); }
.eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--coral);
}
.title-lg {
  max-width: 920px;
  color: var(--ink);
  font-size: clamp(34px, 5vw, 66px);
  line-height: 1.22;
  font-weight: 900;
  text-wrap: balance;
}
.section--dark .title-lg { color: var(--on-dark); }
.title-xl {
  font-size: clamp(42px, 7vw, 92px);
  line-height: 1.24;
  font-weight: 900;
  text-align: center;
  text-wrap: balance;
}
.title-sm { font-size: 22px; line-height: 1.35; }
.lead {
  margin-top: 22px;
  max-width: 720px;
  color: var(--text-soft);
  font-size: 18px;
  line-height: 1.75;
}
.section--dark .lead { color: var(--on-dark-soft); }
.body {
  color: var(--text-soft);
  line-height: 1.8;
}
.audit-hero, .about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.75fr);
  gap: 64px;
  align-items: center;
}
.audit-deliv {
  list-style: none;
  display: grid;
  gap: 12px;
  margin-top: 28px;
}
.audit-deliv li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: rgba(255,255,255,0.28);
}
.audit-deliv__t {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--cream-2);
  color: var(--coral);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.audit-cta-row {
  display: flex;
  gap: 22px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}
.audit-trust { display: grid; gap: 2px; color: var(--text-soft); }
.audit-trust strong { color: var(--ink); font-size: 22px; }
.report {
  position: relative;
  padding: 22px;
  border-radius: 18px;
  background: rgba(255,255,255,0.3);
  border: 1px solid var(--rule);
  box-shadow: 0 24px 70px -36px rgba(16,20,30,0.35);
}
.report__sheet--front {
  display: grid;
  gap: 16px;
  padding: 24px;
  border-radius: 14px;
  background: #fbf6ec;
  border: 1px solid var(--rule);
}
.report__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}
.report__kicker, .report__axis-val, .report__tag, .sysv2__cat, .sysv2__num, .sysv2__price-label, .sysv2__price-note, .case-card__num, .case-card__domain, .case-card__label, .principle__num {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.report__t { font-size: 26px; color: var(--ink); }
.report__score {
  color: var(--coral);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}
.report__axis {
  display: grid;
  grid-template-columns: 90px 1fr 44px;
  gap: 12px;
  align-items: center;
}
.report__axis-bar {
  height: 7px;
  border-radius: 999px;
  background: var(--cream-2);
  overflow: hidden;
}
.report__axis-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--coral);
}
.report__foot {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--rule);
}
.report__foot span { display: block; color: var(--text-dim); font-size: 11px; }
.report__foot strong { color: var(--ink); font-size: 13px; }
.report__tag {
  position: absolute;
  top: -12px;
  left: -8px;
  display: inline-flex;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--ink);
  color: var(--cream);
  font-size: 11px;
}
.report__tag span:first-child {
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--coral);
}
.layer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 46px;
}
.layer-card, .principle {
  min-height: 230px;
  padding: 26px;
  border: 1px solid var(--rule-dark);
  border-radius: 10px;
  background: rgba(244,237,225,0.04);
}
.layer-card__tag { color: var(--coral); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.layer-card__title, .principle__title { margin-top: 18px; font-size: 22px; color: var(--on-dark); }
.layer-card__body, .principle__body { margin-top: 14px; color: var(--on-dark-soft); }
.sysv2-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 48px;
}
.sysv2 {
  display: flex;
  flex-direction: column;
  padding: 30px 26px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--cream-2);
}
.sysv2--ops { background: var(--cream-3); }
.sysv2__head { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.sysv2__num { color: var(--coral); font-weight: 900; font-size: 22px; }
.sysv2__cat { color: var(--text-soft); font-size: 11px; letter-spacing: 0.08em; }
.sysv2__title { color: var(--ink); font-size: 24px; line-height: 1.32; }
.sysv2__title-em { color: var(--coral); }
.sysv2__desc { margin-top: 16px; color: var(--text-soft); }
.sysv2__packages { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.sysv2__pkg {
  padding: 5px 12px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  color: var(--text-soft);
  font-size: 12px;
}
.sysv2__pkg.is-anchor { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.sysv2__price {
  margin-top: auto;
  padding: 18px 0;
  border-top: 1px dashed var(--rule);
  border-bottom: 1px dashed var(--rule);
}
.sysv2__price-range { color: var(--ink); font-size: 28px; font-weight: 900; }
.sysv2__price-note, .sysv2__price-label { color: var(--text-dim); font-size: 11px; }
.sysv2__cta {
  width: fit-content;
  margin-top: 20px;
  border-bottom: 1.5px solid var(--ink);
  font-weight: 800;
}
.sys-footnote {
  margin-top: 34px;
  padding: 18px 22px;
  border-right: 4px solid var(--coral);
  border-radius: 8px;
  background: var(--cream-2);
  color: var(--text-soft);
}
.cases {
  display: grid;
  grid-template-columns: repeat(5, minmax(250px, 1fr));
  gap: 18px;
  margin-top: 48px;
  overflow-x: auto;
  padding-bottom: 10px;
}
.case-card {
  min-height: 360px;
  padding: 26px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--cream-2);
}
.case-card__num { color: var(--coral); font-weight: 800; }
.case-card__sector { margin-top: 16px; color: var(--ink); font-size: 22px; }
.case-card__domain { margin-top: 6px; color: var(--text-dim); font-size: 12px; }
.case-card__row { margin-top: 24px; padding-top: 18px; border-top: 1px dashed var(--rule); }
.case-card__label { color: var(--coral); font-size: 11px; margin-bottom: 8px; }
.case-card__system, .case-card__impact { color: var(--text-soft); font-size: 14px; line-height: 1.7; }
.cases__note { margin-top: 18px; color: var(--text-dim); }
.principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 44px;
}
.principle__num { color: var(--coral); }
.about-portrait {
  min-height: 520px;
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(232,106,90,0.92), rgba(232,106,90,0.65)),
    radial-gradient(circle at 50% 20%, rgba(255,255,255,0.28), transparent 42%);
  position: relative;
  overflow: hidden;
}
.about-portrait::before {
  content: "DR";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgba(16,20,30,0.82);
  font-size: clamp(88px, 12vw, 150px);
  font-weight: 900;
  letter-spacing: 0.08em;
}
.about-portrait__tag {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(244,237,225,0.86);
  color: var(--ink);
}
.about-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 28px 0;
  padding: 22px 0;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.about-stat__num { color: var(--ink); font-size: 28px; font-weight: 900; }
.about-stat__lbl { color: var(--text-soft); font-size: 12px; }
.about-academy {
  padding: 22px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--cream-2);
}
.about-academy__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.about-academy__tag {
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(232,106,90,0.1);
  color: var(--coral);
  font-size: 12px;
}
.about-academy__cta { display: inline-flex; margin-top: 14px; border-bottom: 1.5px solid var(--ink); font-weight: 800; }
.faq {
  margin-top: 44px;
  border-top: 1px solid var(--rule);
}
.faq__item {
  border-bottom: 1px solid var(--rule);
  padding: 0;
}
.faq__heading { margin: 0; }
.faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  border: 0;
  background: transparent;
  text-align: right;
  cursor: pointer;
  font-weight: 800;
}
.faq__icon { transition: transform 0.2s; }
.faq__a {
  max-height: 0;
  overflow: hidden;
  color: var(--text-soft);
  transition: max-height 0.25s ease, padding-bottom 0.25s ease;
}
.faq__item.open .faq__a { max-height: 260px; padding-bottom: 20px; }
.faq__item.open .faq__icon { transform: rotate(45deg); }
.final-cta {
  text-align: center;
  padding: 84px 0;
}
.final-cta .wrap { position: relative; z-index: 1; }
.final-cta .lead { margin-inline: auto; }
.final-cta__glow {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 620px;
  height: 620px;
  transform: translate(-50%, -50%);
  border-radius: 999px;
  background: radial-gradient(circle, rgba(232,106,90,0.24), transparent 66%);
}
.btn-cta-big {
  margin-top: 30px;
  padding: 20px 34px;
  background: var(--coral);
  color: var(--cream);
}
.cta__small { margin-top: 14px; color: var(--on-dark-soft); font-size: 13px; }
.footer {
  padding: 58px 0 34px;
  background: #090c13;
  color: var(--on-dark);
}
.footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 0.7fr 0.7fr;
  gap: 48px;
}
.footer__desc { margin-top: 18px; max-width: 420px; color: var(--on-dark-soft); }
.footer h2 { font-size: 18px; margin-bottom: 14px; }
.footer ul { list-style: none; display: grid; gap: 10px; color: var(--on-dark-soft); }
.footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 38px;
  padding-top: 22px;
  border-top: 1px solid rgba(244,237,225,0.12);
  color: rgba(244,237,225,0.58);
  font-size: 13px;
}
.scroll-progress {
  position: fixed;
  inset: 0 0 auto 0;
  height: 2px;
  z-index: 200;
  pointer-events: none;
}
.scroll-progress__fill {
  width: 0;
  height: 100%;
  background: var(--coral);
}
.reveal {
  opacity: 1;
  transform: none;
}
@keyframes dash { to { stroke-dashoffset: -180; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes float-card { 50% { transform: translateY(-7px); } }
@keyframes float-card-center {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-7px); }
}
@media (max-width: 1100px) {
  .layer-grid, .sysv2-grid, .principles { grid-template-columns: 1fr 1fr; }
  .hero__inner--v2 { grid-template-columns: 1fr; min-height: 0; }
  .hero__text { text-align: center; }
  .hero__sub, .hero__cta-row { margin-inline: auto; justify-content: center; }
  .hero__legend { max-width: 620px; margin-inline: auto; }
}
@media (max-width: 760px) {
  .wrap { width: min(100% - 40px, 1280px); }
  .topbar__row { gap: 12px; }
  .brand { font-size: 14px; gap: 8px; overflow: hidden; text-overflow: ellipsis; }
  .brand__mark { width: 26px; height: 26px; border-radius: 6px; flex: 0 0 auto; }
  .nav-toggle { display: inline-flex; }
  .nav {
    position: fixed;
    inset: 68px 0 auto 0;
    display: grid;
    gap: 0;
    padding: 10px 20px 18px;
    border-bottom: 1px solid var(--rule);
    background: rgba(244,237,225,0.98);
    transform: translateY(-120%);
    transition: transform 0.24s ease;
  }
  .nav.is-open { transform: translateY(0); }
  .nav a { padding: 14px 0; border-bottom: 1px solid var(--rule); }
  .topbar .btn-pill { display: none; }
  .hero { padding-top: 36px; }
  .hero__title { font-size: clamp(42px, 13vw, 56px); text-align: center; }
  .hero__eyebrow { justify-content: center; white-space: normal; }
  .hero__sub { font-size: 16px; }
  .hero__legend { display: none; }
  .hero__cta-row {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  .hero__cta-row .btn-primary,
  .hero__cta-row .btn-ghost {
    width: min(100%, 320px);
    white-space: normal;
    text-align: center;
  }
  .hero__stage--diagram {
    max-width: 420px;
    width: 100%;
    aspect-ratio: auto;
    margin-top: 36px;
  }
  .sysdiag {
    display: grid;
    gap: 12px;
    height: auto;
  }
  .sysdiag__lines, .sysdiag__hub { display: none; }
  .sysdiag__card,
  .sysdiag__card--site,
  .sysdiag__card--ops,
  .sysdiag__card--content {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    bottom: auto;
    top: auto;
    width: 100%;
    min-width: 0;
    transform: none;
    animation: none;
    max-width: 320px;
    margin-inline: auto;
  }
  .stats__grid, .about-stats { grid-template-columns: 1fr 1fr; }
  .audit-hero, .about-grid, .footer__grid { grid-template-columns: 1fr; gap: 34px; }
  .layer-grid, .sysv2-grid, .principles { grid-template-columns: 1fr; }
  .section { padding: 68px 0; }
  .cases { grid-template-columns: 1fr; overflow: visible; }
  .case-card { min-height: 0; }
  .about-portrait { min-height: 320px; }
  .footer__bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}


/* === style block 2 === */

:root { color-scheme: light; }
.skip-link {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 9999;
  transform: translateY(-140%);
  background: var(--ink);
  color: var(--cream);
  padding: 10px 16px;
  border-radius: 8px;
  font-weight: 700;
}
.skip-link:focus-visible { transform: translateY(0); }
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 4px;
  border-radius: 8px;
}
.brand { text-decoration: none; }
.topbar .nav { align-items: center; }
.hero__stage--diagram {
  max-width: 640px;
  margin-inline: auto;
  overflow: visible;
}
.sysdiag { overflow: visible; }
.sysdiag__lines { inset: 0; width: 100%; height: 100%; z-index: 2; overflow: visible; }
.sysdiag__line { opacity: 0.72; stroke-width: 1.7; stroke-dasharray: 5 7; }
.sysdiag__card { width: 28%; min-width: 158px; z-index: 4; }
.sysdiag__card--site { top: -4%; left: -4%; }
.sysdiag__card--ops { top: -4%; right: -4%; }
.sysdiag__card--content { bottom: -8%; left: 50%; }
.sysdiag__hub { width: 32%; z-index: 3; }
.sysdiag__card-name { font-size: 15px; }
.sysdiag__card-body { font-size: 12px; }
.sysdiag__card-meter { padding-top: 8px; margin-top: 2px; }
.faq__item { cursor: default; }
.faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  text-align: right;
  color: inherit;
}
.faq__q span:first-child { flex: 1; }
.faq__item:not(.open) .faq__a { max-height: 0; padding-top: 0 !important; }
.faq__item.open .faq__a { max-height: 220px; }
.faq__item.open .faq__icon { transform: rotate(45deg); }
.faq__icon { transition: transform 0.25s ease; }
.site-main { display: block; }
.section[id] { scroll-margin-top: 92px; }
@media (max-width: 980px) {
  .sysdiag__card { width: 36%; min-width: 0; padding: 12px; }
  .sysdiag__card--site { top: 0; left: 0; }
  .sysdiag__card--ops { top: 0; right: 0; }
  .sysdiag__card--content { bottom: -4%; }
  .sysdiag__card-body { display: none; }
  .sysdiag__hub { width: 36%; }
}
@media (max-width: 700px) {
  .wrap { padding-inline: 20px; }
  .topbar__row { gap: 12px; height: 68px; }
  .brand { min-width: 0; font-size: 14px; gap: 8px; }
  .brand__mark { width: 24px; height: 24px; border-radius: 6px; }
  .nav { display: none; }
  .btn-pill { padding: 10px 16px; font-size: 13px; white-space: nowrap; }
  .hero--v2 { padding-top: 36px !important; }
  .hero__inner--v2 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 32px !important;
    width: 100%;
  }
  .hero__text {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-top: 0 !important;
    text-align: center;
  }
  .hero__eyebrow {
    max-width: 100%;
    white-space: normal;
    font-size: 12px;
    justify-content: center;
  }
  body .hero__title {
    max-width: 100%;
    font-size: clamp(40px, 13vw, 52px) !important;
    line-height: 1.28 !important;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .hero__sub {
    max-width: 100%;
    font-size: 16px;
  }
  .hero__cta-row { gap: 12px; justify-content: center; }
  .btn-primary,
  .btn-ghost { max-width: 100%; }
  .hero__legend { display: none; }
  .hero__stage--diagram {
    width: min(100%, 360px);
    aspect-ratio: 1;
    min-height: 0;
    margin: 4px auto 0;
  }
  .sysdiag__card { width: 40%; }
  .sysdiag__card-meter { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
  .sysdiag__line { animation: none !important; }
}


/* === PATH B FIXES 2026-05-23-pathb === */
/* WP body has .page class from body_class() which collides with source .page wrapper. Unfreeze scroll on body. */
body.page-id-33526 { overflow: visible !important; height: auto !important; }
body.page-id-33526.page { overflow: visible !important; }
/* removed html overflow-x: hidden (locked viewport scroll); body handles x-clip */
/* Restore Bricks-rendered html element to behave as a block container, not flex */
body.page-id-33526 main#main { display: block; }
/* Make sure source layout inside the html element flows naturally */
body.page-id-33526 .topbar { position: sticky; top: 0; z-index: 50; }
/* === END PATH B FIXES === */
body.page-id-33526 div.page { overflow: visible !important; }
body.page-id-33526 main { overflow: visible !important; }
body.page-id-33526.admin-bar .topbar { top: 32px !important; }

/* ========== [6] drb-polish2.css ========== */
/* drb-polish2.css desktop polish */
.about-portrait { overflow: visible !important; text-align: center; }
.about-portrait__block { position: relative; overflow: hidden; border-radius: inherit; }
.about-portrait .about-portrait__tag {
  position: relative !important;
  inset: auto !important;
  bottom: auto !important; left: auto !important; right: auto !important; top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center; gap: 8px;
  margin: 14px auto 0 auto !important;
  width: auto !important; max-width: 92% !important;
  background: rgba(244, 237, 225, 0.96) !important;
  color: #10141e !important;
  padding: 9px 16px !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 18px rgba(16,20,30,0.10) !important;
  font-weight: 600;
}
.about-portrait .about-portrait__tag .dot-live { background:#22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,0.18); }

@media (min-width: 901px) {
  .drb-timeline .drb-timeline__steps::before {
    background: none !important;
    border-top: 2px dashed rgba(232,90,79,0.45) !important;
    height: 0 !important;
    top: 9px !important;
    left: calc((100% / 3) / 2) !important;
    right: calc((100% / 3) / 2) !important;
    z-index: 0 !important;
  }
  .drb-timeline .drb-step__rail {
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative; z-index: 1;
    margin-bottom: 18px !important;
  }
  .drb-timeline .drb-step__dot {
    width: 18px !important; height: 18px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 3px solid #E85A4F !important;
    box-shadow: 0 0 0 6px rgba(232,90,79,0.10), 0 2px 8px rgba(232,90,79,0.22) !important;
    position: relative; z-index: 2;
  }
  .drb-timeline .drb-step__rail::before,
  .drb-timeline .drb-step__rail::after { content: none !important; display: none !important; }
  .drb-timeline .drb-step__card {
    background: #fff !important;
    border: 1px solid rgba(16,20,30,0.06) !important;
    box-shadow: 0 1px 0 rgba(16,20,30,0.04), 0 12px 28px -16px rgba(16,20,30,0.18) !important;
    border-radius: 16px !important;
    padding: 22px 22px 24px !important;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .drb-timeline .drb-step__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 0 rgba(16,20,30,0.04), 0 18px 34px -16px rgba(16,20,30,0.22) !important;
  }
  .drb-timeline .drb-step__meta { margin-bottom: 10px; }
  .drb-timeline .drb-step__num { color: #E85A4F !important; font-weight: 700; letter-spacing: .02em; }
}

/* About portrait tag positioning override v2: below portrait, not inside */
@media (min-width: 901px) {
  .about-section .about-portrait,
  .about-portrait { position: relative !important; overflow: visible !important; padding-bottom: 64px !important; }
  .about-section .about-portrait .about-portrait__tag,
  .about-portrait .about-portrait__tag {
    position: absolute !important;
    top: auto !important;
    bottom: 8px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    z-index: 5;
    white-space: nowrap;
  }
}

/* ==========================================================
   MOBILE  mirror desktop polish (about tag + timeline dots)
   ========================================================== */
@media (max-width: 900px) {
  /* Move Omar tag below his torso to clear his face */
  .about-section .about-portrait,
  .about-portrait { position: relative !important; overflow: visible !important; padding-bottom: 56px !important; }
  .about-section .about-portrait .about-portrait__tag,
  .about-portrait .about-portrait__tag {
    position: absolute !important;
    top: auto !important;
    bottom: 8px !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    z-index: 5;
    white-space: nowrap;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    background: rgba(244, 237, 225, 0.96) !important;
    color: #10141e !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 18px rgba(16,20,30,0.10) !important;
    font-weight: 600;
    font-size: 14px;
  }
  .about-portrait .about-portrait__tag .dot-live {
    background:#22c55e !important;
    box-shadow: 0 0 0 4px rgba(34,197,94,0.18) !important;
  }

  /* Mobile timeline dots: ring style to match desktop */
  .drb-timeline .drb-step__dot {
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 3px solid #E85A4F !important;
    box-shadow: 0 0 0 5px rgba(232,90,79,0.10), 0 2px 6px rgba(232,90,79,0.22) !important;
    position: relative;
    z-index: 2;
  }

  /* Mobile timeline connector  if it uses repeating gradient, soften to dashed border */
  .drb-timeline .drb-timeline__steps::before {
    background: none !important;
    border-left: 2px dashed rgba(232,90,79,0.40) !important;
    border-top: 0 !important;
    width: 0 !important;
  }

  /* Card refinements on mobile */
  .drb-timeline .drb-step__card {
    background: #fff !important;
    border: 1px solid rgba(16,20,30,0.06) !important;
    box-shadow: 0 1px 0 rgba(16,20,30,0.04), 0 8px 22px -12px rgba(16,20,30,0.16) !important;
    border-radius: 14px !important;
    padding: 18px 18px 20px !important;
  }
  .drb-timeline .drb-step__num { color: #E85A4F !important; font-weight: 700; }
}

/* ==========================================================
   MOBILE FIX v2  audit deliverables, cases grid, menu drawer
   ========================================================== */
@media (max-width: 900px) {
  /* --- Audit deliverables (#audit .audit-deliv) full-width stack --- */
  #audit .audit-hero,
  #audit .audit-copy { width: 100% !important; max-width: 100% !important; }
  #audit .audit-deliv {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    background: transparent !important;
  }
  #audit .audit-deliv li {
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    border: 1px solid rgba(16,20,30,0.08) !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    gap: 12px !important;
    align-items: flex-start !important;
    box-shadow: 0 1px 0 rgba(16,20,30,0.03), 0 6px 18px -12px rgba(16,20,30,0.14) !important;
  }
  #audit .audit-deliv li .audit-deliv__t {
    flex: 0 0 auto !important;
    width: 32px !important; height: 32px !important;
    display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    background: rgba(232,90,79,0.10) !important;
    color: #E85A4F !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 0 !important;
  }
  #audit .audit-deliv li > span:not(.audit-deliv__t) {
    flex: 1 1 auto !important;
    line-height: 1.55 !important;
    font-size: 15px !important;
    color: #10141e !important;
    text-align: right !important;
  }

  /* --- Work / Case cards (#work .cases) full-width stack --- */
  #work .cases {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 14px !important;
    padding: 0 !important;
  }
  #work .case-card {
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    border: 1px solid rgba(16,20,30,0.08) !important;
    border-radius: 16px !important;
    padding: 18px 18px 20px !important;
    box-shadow: 0 1px 0 rgba(16,20,30,0.03), 0 8px 22px -14px rgba(16,20,30,0.16) !important;
  }
  #work .case-card__num {
    color: #E85A4F !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: .04em;
    margin-bottom: 4px;
  }
  #work .case-card__sector { font-size: 18px !important; font-weight: 700 !important; margin: 2px 0 6px !important; }
  #work .case-card__domain { font-size: 13px !important; color: rgba(16,20,30,0.62) !important; margin-bottom: 12px !important; }
  #work .case-card__row {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px dashed rgba(16,20,30,0.10) !important;
  }
  #work .case-card__label { font-size: 11px !important; color: #E85A4F !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; }
  #work .case-card__system, #work .case-card__impact { font-size: 14px !important; line-height: 1.6 !important; color: #10141e !important; }

  /* --- Mobile menu drawer typography & contrast bump --- */
  body header.topbar nav#primary-nav.is-open,
  header.topbar nav#primary-nav.is-open,
  nav#primary-nav.is-open {
    background: #ffffff !important;
    box-shadow: -12px 0 32px rgba(16,20,30,0.18) !important;
  }
  header.topbar nav#primary-nav a,
  nav#primary-nav a {
    color: #10141e !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    padding: 16px 22px !important;
    border-bottom: 1px solid rgba(16,20,30,0.06) !important;
    display: block !important;
    text-align: right !important;
    width: 100% !important;
    background: transparent !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
  }
  header.topbar nav#primary-nav a:hover,
  header.topbar nav#primary-nav a:focus,
  nav#primary-nav a:hover, nav#primary-nav a:focus {
    background: rgba(232,90,79,0.06) !important;
    color: #E85A4F !important;
  }
  /* Backdrop dim layer (when body has drb-menu-open) */
  body.drb-menu-open::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(16,20,30,0.45) !important;
    z-index: 9998 !important;
    pointer-events: auto !important;
  }
  /* Make sure the drawer sits above topbar+backdrop */
  header.topbar nav#primary-nav { z-index: 9999 !important; }
  /* Drawer width on small screens  cover most of viewport */
  @media (max-width: 480px) {
    header.topbar nav#primary-nav { width: 86vw !important; max-width: 360px !important; }
  }
}

/* Audit hero  collapse 2-col grid to single column on mobile */
@media (max-width: 900px) {
  #audit .wrap.audit-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 56px 20px !important;
  }
  #audit .audit-copy { width: 100% !important; }
}

/* Specificity boost for audit hero collapse on mobile */
@media (max-width: 900px) {
  body section#audit > div.wrap.audit-hero,
  body section#audit .wrap.audit-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 28px !important;
    padding: 56px 20px !important;
  }
  body section#audit > div.wrap.audit-hero > .audit-copy,
  body section#audit .audit-copy { width: 100% !important; max-width: 100% !important; }
  body section#audit .audit-deliv {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body section#audit .audit-deliv li { width: 100% !important; max-width: 100% !important; }
}

/* ==========================================================
   MOBILE FIX v3  Collapse ALL multi-col grids that overflow
   ========================================================== */
@media (max-width: 900px) {
  /* AI layers ( /  /  etc.) */
  body .layer-grid,
  body section .layer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body .layer-card,
  body .layer-grid > .layer-card {
    width: 100% !important;
    max-width: 100% !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 14px !important;
    padding: 18px !important;
  }

  /* Principles cards ( ) */
  body .principles,
  body section .principles {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
  }
  body .principles > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Systems v2 packages flex row */
  body .sysv2__packages,
  body section .sysv2__packages {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }
  body .sysv2__packages > * { width: 100% !important; }

  /* About stats: 2x2 already done by mobile2  but ensure full width */
  body .about-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    gap: 14px !important;
  }

  /* Report axis grid inside audit PDF visual */
  body .report__axis {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 8px !important;
    align-items: center;
  }
}

/* MOBILE FIX v4  SPECIFICITY-WIN against Bricks inline !important rules */
@media (max-width: 900px) {
  /* layer-grid  must beat .layer-section .layer-grid (0,2,0) */
  html body section.layer-section .layer-grid,
  html body .layer-section .layer-grid,
  html body div.layer-grid {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  /* sysv2-grid and principles too */
  html body .sysv2-grid,
  html body .principles {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  /* cases */
  html body section#work .cases,
  html body #work .cases {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
}

/* MOBILE FIX v5  beat :has() selectors */
@media (max-width: 900px) {
  html body section.section--dark:has(> .wrap > .principles) .principles,
  html body section:has(.principles) .principles,
  html body div.principles {
    grid-template-columns: 1fr !important;
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 14px !important;
  }
}

/* MOBILE FIX v6  hardened menu drawer + close button styling */
@media (max-width: 900px) {
  /* Drawer background absolutely white + force */
  html body header.topbar nav#primary-nav,
  html body nav#primary-nav {
    background: #ffffff !important;
    padding-top: 64px !important;
  }
  /* Force all link colors to deep dark for maximum contrast */
  html body header.topbar nav#primary-nav > a,
  html body nav#primary-nav > a {
    color: #0a0a0f !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    opacity: 1 !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #0a0a0f !important;
  }
  /* Add a visible close cue at top-right of drawer */
  html body header.topbar nav#primary-nav.is-open::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 14px;
    width: 36px; height: 36px;
    display: inline-flex;
    align-items: center; justify-content: center;
    font-size: 26px;
    color: #10141e;
    background: rgba(16,20,30,0.05);
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
    font-weight: 300;
    line-height: 1;
  }
}

/* === drawer open-state fix vfp56 === */
@media (max-width: 900px) {
  html body header.topbar nav.nav#primary-nav.is-open,
  html body nav.nav#primary-nav.is-open,
  html body header.topbar nav#primary-nav.is-open,
  html body nav#primary-nav.is-open {
    transform: translateX(0) !important;
    -webkit-transform: translateX(0) !important;
  }
  /* drawer container hard-set */
  html body nav#primary-nav {
    background: #ffffff !important;
    width: min(86vw, 360px) !important;
    box-shadow: -16px 0 40px rgba(0,0,0,0.18) !important;
    border-left: 1px solid rgba(0,0,0,0.06) !important;
  }
  /* backdrop visible */
  #drb-mm-backdrop {
    background: rgba(10,10,15,0.55) !important;
    backdrop-filter: blur(2px) !important;
  }
}

/* === drawer final polish vfp57 === */
@media (max-width: 900px) {
  /* solid white background no transparency at any level */
  html body header.topbar nav.nav#primary-nav,
  html body nav.nav#primary-nav,
  html body header.topbar nav#primary-nav,
  html body nav#primary-nav {
    background-color: #ffffff !important;
    background-image: none !important;
    opacity: 1 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    padding: 80px 28px 28px !important;
    box-shadow: -20px 0 50px rgba(0,0,0,0.22) !important;
    overflow-y: auto !important;
  }
  /* link stack */
  html body nav#primary-nav > a,
  html body nav#primary-nav a {
    display: block !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0a0a0f !important;
    -webkit-text-fill-color: #0a0a0f !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(10,10,15,0.08) !important;
    line-height: 1.5 !important;
  }
  html body nav#primary-nav .pill,
  html body nav#primary-nav .btn,
  html body nav#primary-nav .cta-pill {
    display: inline-flex !important;
    margin-top: 18px !important;
    background: #e85a3c !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding: 12px 22px !important;
    border-radius: 999px !important;
    border-bottom: none !important;
    width: auto !important;
    align-self: flex-start !important;
  }
  /* close X button visible */
  #drb-mm-close,
  .drb-mm-close,
  nav#primary-nav .drb-mm-close {
    position: absolute !important;
    top: 18px !important;
    left: 18px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(10,10,15,0.06) !important;
    color: #0a0a0f !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    border: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
  }
  #drb-mm-close:hover {
    background: rgba(10,10,15,0.12) !important;
  }
}

/* === drawer bulletproof vfp58 === */
@media (max-width: 900px) {
  /* fully opaque drawer with ::before solid layer for screenshot safety */
  html body nav#primary-nav {
    background: #ffffff !important;
    isolation: isolate !important;
  }
  html body nav#primary-nav::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: #ffffff !important;
    z-index: -1 !important;
  }
  html body nav#primary-nav > * {
    position: relative !important;
    z-index: 1 !important;
  }
  /* faster transition so iframe simulator does not freeze mid-flight */
  html body header.topbar nav#primary-nav,
  html body nav#primary-nav {
    transition: transform 0.22s ease !important;
  }
  /* ensure the close X is visible even before mobilemenu.js injects it */
  html body nav#primary-nav .nav-toggle-inline,
  html body nav#primary-nav button.close {
    display: none !important;
  }
}

/* === vfp59 mobile triple-fix: FAQ collapse + audit column + drawer paint === */
@media (max-width: 900px) {
  /* ---- FAQ: closed items must be FULLY collapsed (no padding bleed) ---- */
  html body .faq .faq__item .faq__a,
  html body .faq__item .faq__a {
    max-height: 0 !important;
    height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: max-height 0.28s ease, opacity 0.2s ease, padding 0.28s ease !important;
  }
  html body .faq .faq__item.open .faq__a,
  html body .faq__item.open .faq__a {
    max-height: 600px !important;
    height: auto !important;
    padding: 4px 14px 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* FAQ question button polish */
  html body .faq .faq__item {
    background: #fff !important;
    border: 1px solid rgba(10,10,15,0.06) !important;
    border-radius: 14px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
  }
  html body .faq .faq__q {
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    padding: 16px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    text-align: right !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a22 !important;
    line-height: 1.5 !important;
  }
  html body .faq .faq__q > span:first-child {
    flex: 1 !important;
    text-align: right !important;
  }
  html body .faq .faq__icon {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(232,106,90,0.12) !important;
    color: #e86a5a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    transition: transform 0.2s ease !important;
  }
  html body .faq .faq__item.open .faq__icon {
    transform: rotate(45deg) !important;
  }

  /* ---- AUDIT hero: kill the fixed 299px column ---- */
  html body section#audit .wrap.audit-hero,
  html body section#audit > .wrap.audit-hero,
  html body #audit .audit-hero {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  html body #audit .audit-copy,
  html body #audit .audit-visual,
  html body #audit .audit-deliv {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
  }

  /* ---- DRAWER: nuclear background paint ---- */
  html body header.topbar nav.nav#primary-nav,
  html body nav.nav#primary-nav,
  html body header.topbar nav#primary-nav,
  html body nav#primary-nav,
  body nav#primary-nav,
  nav#primary-nav.nav {
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: linear-gradient(#fff, #fff) !important;
    color: #0a0a0f !important;
    -webkit-text-fill-color: initial !important;
    opacity: 1 !important;
    filter: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    mix-blend-mode: normal !important;
    isolation: isolate !important;
  }
}

/* === vfp60 FAQ hard-collapse (no transition, display:none on closed) === */
@media (max-width: 900px) {
  /* Closed FAQ answers are DISPLAY:NONE, no rendering at all */
  html body .faq .faq__item .faq__a,
  html body .faq__item .faq__a,
  .faq__item .faq__a,
  .faq__a {
    display: none !important;
    max-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: none !important;
  }
  /* Open items: show the answer */
  html body .faq .faq__item.open .faq__a,
  html body .faq__item.open .faq__a,
  .faq__item.open .faq__a {
    display: block !important;
    max-height: none !important;
    height: auto !important;
    padding: 4px 16px 18px !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #1a1a22 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  /* Also handle aria-expanded based state */
  html body .faq__item .faq__q[aria-expanded='false'] + .faq__a,
  html body .faq__q[aria-expanded='false'] ~ .faq__a {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
  }
}
/* Apply ALSO on desktop to be safe  closed FAQ = display none always */
html body .faq .faq__item:not(.open) .faq__a,
html body .faq__item:not(.open) .faq__a {
  display: none !important;
}

/* ==========================================================
   FINAL FIX v7  FAQ clip, hide 02 badge + eyebrow, drawer paint
   ========================================================== */

/* 1) FAQ  closed items: clip the answer BEHIND the question.
   Answer is positioned absolute behind the question header so
   closed items occupy ZERO extra space and the text is hidden.
   When .open is added, answer becomes static block below. */
.faq__item .faq__a {
  display: block !important;
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0,0,0,0) !important;
  clip-path: inset(50%) !important;
}
.faq__item.open .faq__a {
  position: static !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  max-height: 600px !important;
  padding: 12px 20px 20px !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
  color: #1a1a1a !important;
  line-height: 1.7 !important;
}

/* 2) Remove '02' floating badge on hero sysdiag card (both mobile + desktop) */
.sysdiag .sysdiag__card-tag,
.sysdiag__card .sysdiag__card-tag {
  display: none !important;
}

/* 3) Remove hero eyebrow pill '    ' (both mobile + desktop) */
.hero .hero__eyebrow,
.hero__text .hero__eyebrow,
span.hero__eyebrow,
.hero__eyebrow {
  display: none !important;
}

/* 4) Menu drawer  bulletproof solid white paint on real mobile devices.
   The issue: body::before backdrop creates stacking-context that traps
   the drawer. Fix: drawer goes to z-index 100001, backdrop stays at 9998,
   and we paint the drawer with multiple background layers + force
   no isolation so nothing can trap it. */
@media (max-width: 900px) {
  html body header.topbar nav#primary-nav.nav,
  html body header.topbar nav#primary-nav {
    z-index: 100001 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    background-image: linear-gradient(#ffffff, #ffffff) !important;
    isolation: auto !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
  html body header.topbar nav#primary-nav::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: #ffffff !important;
    z-index: -1 !important;
    opacity: 1 !important;
  }
  /* Force backdrop to a LOWER stacking layer + body, not blocking */
  body::before {
    z-index: 99998 !important;
  }
  /* Drawer links  force solid black */
  html body header.topbar nav#primary-nav a,
  html body header.topbar nav#primary-nav.is-open a {
    color: #0a0a0f !important;
    -webkit-text-fill-color: #0a0a0f !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background: transparent !important;
  }
}

/* ==========================================================
   FIX v8  escape header stacking context when drawer is open
   The header.topbar has position:sticky + z-index:100 which traps
   the drawer's z-index. When drawer is open, lift the entire
   header above the backdrop (which is at 9998).
   ========================================================== */
@media (max-width: 900px) {
  body.drb-menu-open header.topbar,
  body.nav-open header.topbar {
    z-index: 100000 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important;
  }
  /* When menu open, drop the topbar's translucent backdrop so it
     doesn't blur the drawer. The drawer itself paints its own bg. */
  body.drb-menu-open header.topbar::before,
  body.nav-open header.topbar::before {
    display: none !important;
  }
  /* Belt + suspenders: backdrop below header */
  #drb-mm-backdrop {
    z-index: 99990 !important;
  }
}

/* ==========================================================
   FIX v9  BREATHING ROOM & spacing polish
   Remove dead vertical space + improve section rhythm
   ========================================================== */

/* === DESKTOP & MOBILE: Drop min-height when cards stack === */
@media (max-width: 900px) {
  /* Layer cards (AI section)  was 230px, now auto */
  .layer-card,
  .layer-grid > .layer-card,
  html body section .layer-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 20px !important;
  }
  /* Principle cards  same fix */
  .principle,
  .principles > .principle,
  html body section .principle {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 20px !important;
  }
  /* Sysv2 packages  also tighten */
  .sysv2,
  html body section .sysv2 {
    min-height: 0 !important;
  }
  /* Generic: any card-like that's too tall */
  .case-card,
  .layer-card,
  .principle {
    min-height: 0 !important;
  }
  /* Better vertical rhythm between stacked cards */
  .layer-grid {
    gap: 14px !important;
  }
  .principles {
    gap: 14px !important;
  }
  .cases {
    gap: 16px !important;
  }
  /* Sections: tighten heavy top/bottom padding on mobile */
  section.section,
  section.audit-section,
  section.layer-section,
  #systems,
  #work,
  #faq,
  section.section--dark {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  /* Hero: a bit tighter */
  .hero.hero--v2,
  section.hero {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}

/* === DESKTOP: Cases grid should be more breathable (3-col, not 5) === */
@media (min-width: 901px) {
  /* Cases: 5 cards at 213px is too cramped. Go 3-col with 2 wrapping */
  .cases {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
  }
  .case-card {
    min-height: 0 !important;
    padding: 28px 26px !important;
  }
  /* Layer grid: 4 cards stay at 4-col but more padding */
  .layer-card {
    min-height: 250px !important;
    padding: 26px 24px !important;
  }
  /* Principles: 3 cards  keep 3-col but more padding */
  .principle {
    padding: 28px 26px !important;
  }
  /* Section breathing on desktop */
  section.section,
  section.audit-section,
  section.layer-section,
  #systems,
  #work,
  #faq,
  section.section--dark {
    padding-top: 88px !important;
    padding-bottom: 88px !important;
  }
  /* Hero a bit more space */
  .hero.hero--v2 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  /* Audit hero: a little more gap between columns */
  .audit-hero {
    gap: 80px !important;
  }
  /* Sysv2 cards padding bump */
  .sysv2 {
    padding: 30px 26px !important;
  }
}

/* === Header spacing: don't crowd the section beneath === */
.hero.hero--v2 {
  scroll-margin-top: 80px;
}
section[id] {
  scroll-margin-top: 80px;
}

/* FIX v9b  win specificity for cases grid + audit hero gap */
@media (min-width: 901px) {
  html body #work .cases {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
  }
  html body section#audit > div.wrap.audit-hero {
    gap: 80px !important;
  }
}

/* FIX v10 - HEADER OPACITY + SECTION OVERLAP */
html body header.topbar,
html body header.topbar.is-stuck,
html body header {
  background-color: #fdf6f2 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.06) !important;
}
html body.drb-scrolled header.topbar,
html body.drb-scrolled header {
  background-color: #fdf6f2 !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08) !important;
}
@media (max-width: 900px) {
  html body #audit {
    padding-top: 56px !important;
    margin-top: 12px !important;
  }
  html body section.hero.hero--v2 {
    padding-bottom: 36px !important;
    border-bottom: 1px solid rgba(0,0,0,0.06);
  }
  html body .stats.reveal {
    margin-bottom: 8px !important;
  }
}
@media (min-width: 901px) {
  html body header.topbar {
    background-color: rgba(253, 246, 242, 0.96) !important;
  }
}

/* FIX v11 - PDF report breathing room from 250 USD pill */
@media (max-width: 900px) {
  html body section#audit .wrap.audit-hero > .report,
  html body section#audit .wrap.audit-hero > .report.report--v2,
  html body section#audit aside.report {
    margin-top: 40px !important;
  }
  html body section#audit .audit-cta-row {
    margin-bottom: 16px !important;
  }
  /* Add internal spacing to make the report card itself feel less crowded */
  html body section#audit aside.report {
    margin-bottom: 12px !important;
  }
}

/* FIX v12 - kill header bleed-through definitively */
html body header.topbar,
html body header {
  z-index: 9999 !important;
  background-color: #fdf6f2 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  isolation: isolate;
}
html body .stats,
html body .stats.reveal,
html body .stat {
  z-index: 1 !important;
}
@media (max-width: 900px) {
  html body section.hero.hero--v2 {
    overflow: hidden !important;
    padding-bottom: 48px !important;
  }
  html body #audit {
    padding-top: 72px !important;
    margin-top: 16px !important;
  }
}

/* FIX v12 - audit eyebrow position bug on mobile (overlapping H2) */
@media (max-width: 900px) {
  html body section#audit > div.wrap.audit-hero > .audit-copy > .eyebrow,
  html body section#audit .audit-copy > .eyebrow,
  html body section#audit .audit-copy .eyebrow,
  html body #audit .eyebrow {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin: 0 0 12px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
}

/* FIX v13 - eyebrow RTL alignment + tighten section whitespace */

/* 1. Align audit-copy eyebrow to the right (RTL) like other section eyebrows */
html body .audit-copy .eyebrow,
html body section#audit .audit-copy > .eyebrow {
  align-self: flex-start !important;
  margin-inline-end: auto !important;
  margin-inline-start: 0 !important;
  justify-content: flex-start !important;
  text-align: right !important;
}

/* Make sure audit-copy contents align right consistently */
html body .audit-copy {
  align-items: flex-start !important;
  text-align: right !important;
}
/* Allow H2 to still be styled center-ish via its own width, but default right-align */
html body .audit-copy .title-lg,
html body .audit-copy .lead,
html body .audit-copy .audit-deliv,
html body .audit-copy .audit-cta-row {
  text-align: right !important;
  align-self: stretch !important;
}

/* 2. Tighten mobile section whitespace - consistent rhythm */
@media (max-width: 900px) {
  /* Standard section spacing */
  html body #systems,
  html body #work,
  html body #about,
  html body #drb-timeline,
  html body #faq,
  html body #cta {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Dark sections slightly more for visual weight */
  html body .layer-section,
  html body section.section.section--dark {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
  /* Audit: bump back down from 72 now that header z-index is fixed */
  html body #audit {
    padding-top: 48px !important;
    padding-bottom: 44px !important;
    margin-top: 8px !important;
  }
  /* Hero: keep tight */
  html body section.hero.hero--v2 {
    padding-top: 20px !important;
    padding-bottom: 32px !important;
  }
  /* Tighten internal spacing: card grids gap */
  html body .layer-cards,
  html body .principles,
  html body .sysv2,
  html body .cases {
    gap: 12px !important;
  }
  /* Card padding tighten */
  html body .layer-card,
  html body .principle,
  html body .case,
  html body .sysv2 {
    padding: 20px 18px !important;
  }
  /* Section heading bottom margin */
  html body .section-head,
  html body .section-header,
  html body .title-lg {
    margin-bottom: 16px !important;
  }
  /* Lead text margin */
  html body .lead,
  html body .section-lead {
    margin-bottom: 20px !important;
  }
}


/* FIX v14 - kill hero stage aspect-ratio dead space on mobile + tighten hero rhythm */
@media (max-width: 900px) {
  html body .hero__stage,
  html body .hero__stage--diagram {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
  html body .hero__inner,
  html body .hero__inner--v2 {
    gap: 16px !important;
  }
  /* Sysdiag pills - tighten internal spacing */
  html body .sysdiag {
    gap: 8px !important;
  }
  /* Stats grid: less margin from hero content */
  html body .stats,
  html body .stats.reveal {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
  }
  /* Hero text bottom margin */
  html body .hero__text {
    margin-bottom: 0 !important;
  }
  /* Hero section overall: also reduce bottom padding since stats sit at the bottom */
  html body section.hero.hero--v2 {
    padding-bottom: 24px !important;
  }
}

/* FIX v15 - kill report card dead height on mobile */
@media (max-width: 900px) {
  html body .report,
  html body .report.report--v2,
  html body aside.report,
  html body section#audit aside.report,
  html body section#audit .report.report--v2 {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }
  /* Also ensure the report's inner sheet sets the height naturally */
  html body .report__sheet.report__sheet--front {
    position: relative !important;
  }
  /* And the back decorative sheets shouldn't force taller height */
  html body .report__sheet.report__sheet--back-1,
  html body .report__sheet.report__sheet--back-2 {
    height: 100% !important;
  }
  /* Audit wrap shouldn't reserve extra height */
  html body section#audit .wrap.audit-hero {
    min-height: 0 !important;
    height: auto !important;
  }
}

/* FIX v16 - report sheet grid on mobile forces extra row height. Switch to block. */
@media (max-width: 900px) {
  html body .report__sheet,
  html body .report__sheet--front,
  html body .report__sheet--back-1,
  html body .report__sheet--back-2 {
    display: block !important;
    grid-template-rows: none !important;
    grid-template-columns: none !important;
  }
  html body .report__sheet--front > * {
    margin-bottom: 14px !important;
  }
  html body .report__sheet--front > *:last-child {
    margin-bottom: 0 !important;
  }
  /* Remove the transform scale on mobile so the card fills natural mobile width */
  html body section#audit aside.report,
  html body section#audit .report.report--v2 {
    transform: none !important;
    transform-origin: top right !important;
  }
}

/* v17: Footer color #1A1F2C +  heading white+bold matching  */
html body footer.footer { background-color: #1A1F2C !important; background: #1A1F2C !important; }
html body footer.footer h1, html body footer.footer h2, html body footer.footer h3, html body footer.footer h4, html body footer.footer h5, html body footer.footer h6 { color: #ffffff !important; font-weight: 700 !important; }
html body footer.footer .footer__title { color: #ffffff !important; font-weight: 700 !important; }

/* v18: Footer headings - bigger, bolder, pure white (force on all descendants) */
html body footer.footer h1, html body footer.footer h2, html body footer.footer h3, html body footer.footer h4, html body footer.footer h5, html body footer.footer h6,
html body footer.footer h1 *, html body footer.footer h2 *, html body footer.footer h3 *, html body footer.footer h4 *, html body footer.footer h5 *, html body footer.footer h6 *,
html body footer.footer .footer__title, html body footer.footer .footer__title * {
  color: #FFFFFF !important;
  font-weight: 900 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  margin-bottom: 14px !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
@media (max-width: 900px) {
  html body footer.footer h1, html body footer.footer h2, html body footer.footer h3, html body footer.footer h4, html body footer.footer h5, html body footer.footer h6 {
    font-size: 20px !important;
  }
}

/* v19: Header layout - group nav + CTA together so CTA isn't isolated (desktop only) */
@media (min-width: 901px) {
  html body header.topbar .topbar__row { justify-content: flex-start !important; gap: 28px !important; }
  html body header.topbar .topbar__row .brand { margin-inline-start: auto !important; order: 1 !important; }
  html body header.topbar .topbar__row .nav { order: 2 !important; gap: 22px !important; }
  html body header.topbar .topbar__row > a[href*="wa.me"] { order: 3 !important; margin-inline-end: 0 !important; }
  /* CTA polish - elevated pill style to feel like a primary action */
  html body header.topbar .topbar__row > a[href*="wa.me"] {
    background: #F08E72 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 9px 20px !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 16px rgba(240,142,114,0.28) !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
  }
  html body header.topbar .topbar__row > a[href*="wa.me"]:hover {
    background: #E97A5C !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 22px rgba(240,142,114,0.36) !important;
  }
  /* Nav links slightly tighter and consistent */
  html body header.topbar .topbar__row .nav a { font-weight: 600 !important; }
}

/* v20: Force header to span full viewport width (was shrinking to content because parent is flex column align-items:flex-start) */
html body header.topbar {
  width: 100% !important;
  max-width: 100% !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  left: 0 !important;
  right: 0 !important;
}
html body header.topbar .wrap.topbar__row {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* v21: Header layout fix - keep wrap full-width, cluster brand/nav/CTA on RTL start (right), keep CTA visually attached */
@media (min-width: 901px) {
  /* Reset v19 ordering disasters */
  html body header.topbar .topbar__row { justify-content: flex-end !important; gap: 28px !important; flex-direction: row !important; }
  html body header.topbar .topbar__row .brand { order: 0 !important; margin: 0 !important; }
  html body header.topbar .topbar__row .nav { order: 0 !important; gap: 22px !important; margin: 0 !important; }
  html body header.topbar .topbar__row > a[href*="wa.me"] { order: 0 !important; margin: 0 !important; }
}

/* v22: RTL flex-start to push cluster to the RIGHT side */
@media (min-width: 901px) {
  html body header.topbar .topbar__row { justify-content: flex-start !important; }
}

/* ============================================================
   v23: Floating glass-pill header (award-winning treatment)
   - Detached pill with backdrop-blur + soft elevation
   - Dark charcoal CTA (complements hero peach instead of competing)
   - Animated underline on nav links
   - Refined DR brand mark with inner ring
   - Scroll-aware shrink behavior
   ============================================================ */
@media (min-width: 901px) {
  /* Sticky container becomes invisible track */
  html body header.topbar {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    top: 0 !important;
    transition: padding .25s ease !important;
  }
  html body header.topbar::before, html body header.topbar::after { display: none !important; content: none !important; }

  /* The floating pill itself */
  html body header.topbar .wrap.topbar__row {
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 10px 18px 10px 10px !important;
    background: rgba(253, 246, 242, 0.72) !important;
    -webkit-backdrop-filter: blur(20px) saturate(140%) !important;
    backdrop-filter: blur(20px) saturate(140%) !important;
    border: 1px solid rgba(20, 20, 30, 0.06) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 28px rgba(20, 20, 30, 0.06), 0 1px 0 rgba(255,255,255,0.6) inset !important;
    justify-content: flex-start !important;
    gap: 24px !important;
    transition: box-shadow .3s ease, background .3s ease, transform .3s ease !important;
  }
  html body.drb-scrolled header.topbar .wrap.topbar__row {
    background: rgba(253, 246, 242, 0.88) !important;
    box-shadow: 0 12px 36px rgba(20, 20, 30, 0.10), 0 1px 0 rgba(255,255,255,0.6) inset !important;
  }

  /* Brand mark refined */
  html body header.topbar .brand {
    gap: 10px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    color: #10141E !important;
  }
  html body header.topbar .brand__mark {
    width: 36px !important;
    height: 36px !important;
    border-radius: 999px !important;
    background: #10141E !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08), 0 4px 10px rgba(16,20,30,0.18) !important;
  }
  html body header.topbar .brand__mark span { color: #ffffff !important; }

  /* Nav links - animated underline */
  html body header.topbar .nav { gap: 26px !important; }
  html body header.topbar .nav a {
    position: relative !important;
    color: #10141E !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    padding: 6px 2px !important;
    transition: color .2s ease !important;
  }
  html body header.topbar .nav a::after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 2px !important;
    background: #F08E72 !important;
    border-radius: 2px !important;
    transition: width .25s ease !important;
  }
  html body header.topbar .nav a:hover { color: #F08E72 !important; }
  html body header.topbar .nav a:hover::after { width: 100% !important; }

  /* CTA - dark charcoal pill, complements hero peach */
  html body header.topbar .topbar__row > a[href*="wa.me"] {
    background: #10141E !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
    border-radius: 999px !important;
    box-shadow: 0 4px 12px rgba(16,20,30,0.18) !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
    letter-spacing: 0 !important;
  }
  html body header.topbar .topbar__row > a[href*="wa.me"]:hover {
    background: #1A1F2C !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 20px rgba(16,20,30,0.28) !important;
  }
}

/* Mobile: keep glass pill aesthetic, simpler layout */
@media (max-width: 900px) {
  html body header.topbar {
    background: transparent !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  html body header.topbar .wrap.topbar__row {
    background: rgba(253, 246, 242, 0.85) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    border: 1px solid rgba(20, 20, 30, 0.06) !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 20px rgba(20,20,30,0.08) !important;
    padding: 8px 14px !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
  html body header.topbar .brand__mark { width: 32px !important; height: 32px !important; background: #10141E !important; color: #fff !important; }
}

/* ============================================================
   v24: 9+ OVERHAUL - editorial discipline, design system lock
   ============================================================ */

/* ---------- 1. WhatsApp FAB - charcoal refined pill ---------- */
html body #drb-wa-fab {
  background: #10141E !important;
  background-image: none !important;
  border-radius: 999px !important;
  width: auto !important;
  min-width: 56px !important;
  height: 56px !important;
  padding: 0 22px 0 18px !important;
  box-shadow: 0 10px 30px rgba(16,20,30,0.22), 0 2px 6px rgba(16,20,30,0.18) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  z-index: 90 !important;
}
html body #drb-wa-fab:hover {
  background: #1A1F2C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 40px rgba(16,20,30,0.32), 0 2px 6px rgba(16,20,30,0.18) !important;
}
html body #drb-wa-fab svg, html body #drb-wa-fab img, html body #drb-wa-fab i {
  filter: brightness(0) invert(1) !important;
  width: 20px !important;
  height: 20px !important;
}

/* ---------- 2. Hero orbital diagram - refined elevation ---------- */
html body .hero__stage--diagram { isolation: isolate !important; }
html body .sysdiag__node, html body .sysdiag .node, html body .sysdiag [class*="card"], html body .hero__stage--diagram .card {
  background: #FFFFFF !important;
  border: 1px solid rgba(20,20,30,0.06) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(20,20,30,0.07), 0 2px 6px rgba(20,20,30,0.04) !important;
  backdrop-filter: none !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
html body .sysdiag__node:hover, html body .hero__stage--diagram .card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 44px rgba(20,20,30,0.10), 0 2px 6px rgba(20,20,30,0.04) !important;
}
/* Hub center - true black with refined ring */
html body .sysdiag__hub, html body .sysdiag .hub {
  background: #10141E !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.06) inset, 0 12px 32px rgba(16,20,30,0.28), 0 0 0 8px rgba(240,142,114,0.08), 0 0 0 16px rgba(240,142,114,0.04) !important;
}

/* ---------- 3. Color system lock - kill beige #F4EDE1 ---------- */
html body { background: #FDF6F2 !important; }
html body .stats, html body .stats *, html body .report, html body .audit-pricepill {
  background-color: #FFFFFF !important;
}
/* Audit price pill - refined */
html body .audit-pricepill {
  background: linear-gradient(180deg, #FFFFFF, #FCF1EB) !important;
  border: 1px solid rgba(240,142,114,0.18) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 24px rgba(240,142,114,0.10) !important;
}

/* ---------- 4. Stats card - editorial refinement ---------- */
html body .stats {
  background: #FFFFFF !important;
  border: 1px solid rgba(20,20,30,0.05) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 48px rgba(20,20,30,0.05), 0 2px 6px rgba(20,20,30,0.03) !important;
  padding: 28px !important;
}
html body .stat { background: transparent !important; border: 0 !important; padding: 16px 12px !important; }
html body .stat__num, html body .stat strong, html body .stat .num {
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: #F08E72 !important;
}
html body .stat__label, html body .stat small, html body .stat span:not(.num) {
  color: #4A5568 !important;
  font-weight: 500 !important;
}

/* ---------- 5. Section eyebrows - refined editorial ---------- */
html body .eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #F08E72 !important;
  opacity: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
html body .eyebrow::before {
  content: '' !important;
  display: inline-block !important;
  width: 28px !important;
  height: 1px !important;
  background: #F08E72 !important;
  opacity: 0.5 !important;
}

/* ---------- 6. H2 hierarchy - editorial display sizing ---------- */
@media (min-width: 901px) {
  html body .title-lg, html body h2.title-lg, html body section h2 {
    font-size: clamp(36px, 4.2vw, 56px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
    font-weight: 800 !important;
    color: #10141E !important;
  }
}

/* ---------- 7. Lead paragraph - softer body color ---------- */
html body .lead { color: #4A5568 !important; line-height: 1.7 !important; }

/* ---------- 8. All CTA buttons - design system lock ---------- */
html body .btn-primary, html body a.btn-primary {
  background: #F08E72 !important;
  color: #FFFFFF !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  box-shadow: 0 10px 24px rgba(240,142,114,0.22), 0 2px 6px rgba(240,142,114,0.12) !important;
  border: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
html body .btn-primary:hover, html body a.btn-primary:hover {
  background: #E97A5C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 32px rgba(240,142,114,0.30), 0 2px 6px rgba(240,142,114,0.16) !important;
}

/* ---------- 9. Card baseline - all cards use same shadow language ---------- */
html body .sysv2, html body .case-card, html body .layer-card, html body .priority-card, html body .step-card, html body .faq-item, html body .about-academy {
  border-radius: 20px !important;
  border: 1px solid rgba(20,20,30,0.06) !important;
  box-shadow: 0 8px 24px rgba(20,20,30,0.04), 0 1px 3px rgba(20,20,30,0.02) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
html body .sysv2:hover, html body .case-card:hover, html body .layer-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 40px rgba(20,20,30,0.07), 0 2px 6px rgba(20,20,30,0.03) !important;
}

/* ---------- 10. Dark sections - true charcoal not blue ---------- */
html body .principles, html body .cta-final, html body section[class*="dark"] {
  background: #10141E !important;
}

/* ---------- 11. Mobile refinement ---------- */
@media (max-width: 900px) {
  html body #drb-wa-fab { padding: 0 18px 0 14px !important; height: 50px !important; }
  html body .title-lg, html body h2.title-lg { font-size: clamp(28px, 7vw, 36px) !important; letter-spacing: -0.02em !important; }
  html body .eyebrow { font-size: 11px !important; }
  html body .eyebrow::before { width: 20px !important; }
}

/* v24.1: Hub round + node cards properly styled (not overriding hub) */
html body .sysdiag__hub {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
}
/* Make sure .sysdiag__node (the orbit cards) get the white card treatment, but NOT the hub */
html body .sysdiag__node {
  background: #FFFFFF !important;
  border: 1px solid rgba(20,20,30,0.06) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(20,20,30,0.07), 0 2px 6px rgba(20,20,30,0.04) !important;
  backdrop-filter: none !important;
}

/* v24.2: Fix dark-section text visibility + PDF report background */
/* Dark sections must keep white text */
html body .section--dark h2, html body .section--dark .title-lg, html body .layer-section h2, html body .layer-section .title-lg,
html body .principles h2, html body .principles .title-lg, html body .cta-final h2, html body .cta-final .title-lg,
html body section.section--dark h2, html body section[class*="dark"] h2 {
  color: #FFFFFF !important;
}
html body .section--dark .lead, html body .layer-section .lead, html body .principles .lead, html body .cta-final .lead,
html body section[class*="dark"] .lead, html body section[class*="dark"] p {
  color: rgba(255,255,255,0.72) !important;
}
html body .section--dark .eyebrow, html body .layer-section .eyebrow, html body .principles .eyebrow, html body .cta-final .eyebrow,
html body section[class*="dark"] .eyebrow { color: #F08E72 !important; }

/* Layer cards on dark section - subtle glass treatment */
html body .layer-card, html body .section--dark [class*="card"], html body .layer-section [class*="card"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18) !important;
  border-radius: 20px !important;
}
html body .layer-card h3, html body .layer-card h4, html body .layer-card strong, html body .section--dark [class*="card"] h3, html body .section--dark [class*="card"] h4 { color: #FFFFFF !important; }
html body .layer-card p, html body .layer-card li, html body .section--dark [class*="card"] p { color: rgba(255,255,255,0.72) !important; }

/* Principles cards - similar treatment */
html body .principles [class*="card"], html body .principles [class*="item"] {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
}

/* PDF Report card - restore proper background */
html body aside.report, html body .report, html body .report__sheet, html body .report__sheet--front {
  background-color: #FFFFFF !important;
}
html body .report { border: 1px solid rgba(20,20,30,0.06) !important; box-shadow: 0 16px 48px rgba(20,20,30,0.06), 0 2px 6px rgba(20,20,30,0.03) !important; border-radius: 24px !important; }

/* Footer must stay dark - my rule shouldn't have broken it */
html body footer.footer h2, html body footer.footer h3, html body footer.footer h4 { color: #FFFFFF !important; }
html body footer.footer p, html body footer.footer a { color: rgba(255,255,255,0.72) !important; }
html body footer.footer a:hover { color: #FFFFFF !important; }


/* v24.3: Final design system lock - kill remaining beige tints */
html body .sysv2, html body .sysv2--site, html body .sysv2--ops, html body .sysv2--content {
  background: #FFFFFF !important;
  border: 1px solid rgba(20,20,30,0.06) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(20,20,30,0.04), 0 1px 3px rgba(20,20,30,0.02) !important;
}
/* Featured middle card - subtle peach tint to highlight */
html body .sysv2--featured, html body .sysv2.is-featured, html body .sysv2--ops {
  background: linear-gradient(180deg, #FFFFFF, #FFF8F4) !important;
  border-color: rgba(240,142,114,0.18) !important;
  box-shadow: 0 12px 32px rgba(240,142,114,0.10), 0 2px 6px rgba(240,142,114,0.06) !important;
}
/* Layer-section card inner pill labels ( , etc) */
html body .layer-card [class*="pill"], html body .layer-card [class*="tag"], html body .layer-card span:first-child {
  background: rgba(240,142,114,0.14) !important;
  color: #F08E72 !important;
  border: 1px solid rgba(240,142,114,0.24) !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}
/* Make sure the dark sections kill any leftover beige from priority cards on dark bg */
html body .section--dark .priority-card, html body section[class*="dark"] .priority-card {
  background: rgba(255,255,255,0.04) !important;
  color: #FFFFFF !important;
  border-color: rgba(255,255,255,0.08) !important;
}

/* ==========================================================================
   v25 - ORBIT ANIMATION + STATEMENT SECTION
   The "moment" between hero and audit + breathing orbit metaphor
   ========================================================================== */

/* ---------- Orbit metaphor: living, breathing diagram ---------- */

/* The hub now has a slow pulse breathing */
@keyframes drb-hub-breathe {
  0%, 100% {
    box-shadow:
      0 18px 48px -20px rgba(16, 20, 30, 0.55),
      0 0 0 1px rgba(255, 255, 255, 0.06) inset,
      0 0 0 8px rgba(240, 142, 114, 0.10),
      0 0 0 16px rgba(240, 142, 114, 0.04);
  }
  50% {
    box-shadow:
      0 24px 60px -18px rgba(16, 20, 30, 0.65),
      0 0 0 1px rgba(255, 255, 255, 0.10) inset,
      0 0 0 14px rgba(240, 142, 114, 0.14),
      0 0 0 28px rgba(240, 142, 114, 0.06);
  }
}

html body .sysdiag .sysdiag__hub {
  animation: drb-hub-breathe 4.5s ease-in-out infinite !important;
}

/* Orbit rings rotate slowly, opposite directions */
@keyframes drb-ring-rotate-cw {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes drb-ring-rotate-ccw {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(-360deg); }
}

html body .sysdiag .sysdiag__hub-ring {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  border: 1px dashed rgba(240, 142, 114, 0.28) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
html body .sysdiag .sysdiag__hub-ring--1 {
  width: 140% !important;
  height: 140% !important;
  animation: drb-ring-rotate-cw 28s linear infinite !important;
  border-style: dashed !important;
  border-color: rgba(240, 142, 114, 0.32) !important;
}
html body .sysdiag .sysdiag__hub-ring--2 {
  width: 180% !important;
  height: 180% !important;
  animation: drb-ring-rotate-ccw 42s linear infinite !important;
  border-style: dotted !important;
  border-color: rgba(240, 142, 114, 0.18) !important;
}

/* SVG flow lines: animated dash, flowing from hub outward */
@keyframes drb-line-flow {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -40; }
}

html body .sysdiag svg.sysdiag__lines .sysdiag__line {
  stroke: rgba(240, 142, 114, 0.45) !important;
  stroke-width: 1.4 !important;
  stroke-dasharray: 4 6 !important;
  fill: none !important;
  animation: drb-line-flow 2.4s linear infinite !important;
}

/* Orbit nodes (the 3 cards): gentle float */
@keyframes drb-orbit-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

html body .sysdiag .sysdiag__node {
  animation: drb-orbit-float 5s ease-in-out infinite !important;
  will-change: transform;
}
html body .sysdiag .sysdiag__node:nth-of-type(2) { animation-delay: -1.6s !important; }
html body .sysdiag .sysdiag__node:nth-of-type(3) { animation-delay: -3.2s !important; }
html body .sysdiag .sysdiag__node:nth-of-type(4) { animation-delay: -0.8s !important; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  html body .sysdiag .sysdiag__hub,
  html body .sysdiag .sysdiag__hub-ring,
  html body .sysdiag svg.sysdiag__lines .sysdiag__line,
  html body .sysdiag .sysdiag__node {
    animation: none !important;
  }
}

/* ---------- Statement section: the editorial moment ---------- */

html body .drb-statement {
  position: relative;
  background-color: #FDF6F2;
  padding: clamp(80px, 12vw, 140px) 24px;
  overflow: hidden;
  isolation: isolate;
}

/* Subtle peach gradient corner accent */
html body .drb-statement::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 80% 20%, rgba(240, 142, 114, 0.10), transparent 60%),
    radial-gradient(ellipse 50% 40% at 20% 90%, rgba(240, 142, 114, 0.06), transparent 60%);
  z-index: 0;
  pointer-events: none;
}

/* Giant decorative quote mark  Arabic-aware */
html body .drb-statement::after {
  content: "";
  position: absolute;
  top: 24px;
  inset-inline-start: clamp(24px, 6vw, 80px);
  width: clamp(60px, 8vw, 110px);
  height: clamp(60px, 8vw, 110px);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M22 18c-8 4-14 12-14 22 0 8 6 14 14 14s14-6 14-14c0-7-5-13-12-14 1-3 4-6 8-8l-2-4c-3 1-6 2-8 4zm32 0c-8 4-14 12-14 22 0 8 6 14 14 14s14-6 14-14c0-7-5-13-12-14 1-3 4-6 8-8l-2-4c-3 1-6 2-8 4z' fill='%23F08E72' opacity='0.18'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
  pointer-events: none;
}

html body .drb-statement__wrap {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

html body .drb-statement__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #F08E72;
  margin-bottom: 32px;
}
html body .drb-statement__eyebrow::before,
html body .drb-statement__eyebrow::after {
  content: "";
  width: 28px;
  height: 1px;
  background: #F08E72;
  display: inline-block;
}

html body .drb-statement__quote {
  font-family: inherit;
  font-size: clamp(32px, 5.2vw, 64px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #10141E;
  margin: 0 0 28px 0;
}

html body .drb-statement__quote .accent {
  position: relative;
  display: inline-block;
  color: #10141E;
}
html body .drb-statement__quote .accent::after {
  content: "";
  position: absolute;
  inset-inline: -2%;
  bottom: 6%;
  height: 14%;
  background: rgba(240, 142, 114, 0.42);
  z-index: -1;
  border-radius: 4px;
}

html body .drb-statement__sub {
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.7;
  color: rgb(74, 85, 104);
  max-width: 620px;
  margin: 0 auto 40px auto;
  font-weight: 400;
}

html body .drb-statement__sig {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 20px 10px 10px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(16, 20, 30, 0.06);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: #10141E;
  letter-spacing: 0.02em;
}
html body .drb-statement__sig-mark {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #10141E;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  font-family: 'Inter', system-ui, sans-serif;
}

/* Mobile statement tuning */
@media (max-width: 900px) {
  html body .drb-statement {
    padding: 72px 20px;
  }
  html body .drb-statement__quote {
    font-size: clamp(26px, 7vw, 38px);
    line-height: 1.2;
  }
  html body .drb-statement__sub {
    font-size: 15px;
  }
  html body .drb-statement__eyebrow {
    margin-bottom: 24px;
  }
}

/* Reveal on scroll */
html body .drb-statement__wrap > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
html body .drb-statement.in-view .drb-statement__wrap > * {
  opacity: 1;
  transform: translateY(0);
}
html body .drb-statement.in-view .drb-statement__eyebrow { transition-delay: 0.05s; }
html body .drb-statement.in-view .drb-statement__quote   { transition-delay: 0.15s; }
html body .drb-statement.in-view .drb-statement__sub     { transition-delay: 0.30s; }
html body .drb-statement.in-view .drb-statement__sig     { transition-delay: 0.45s; }

@media (prefers-reduced-motion: reduce) {
  html body .drb-statement__wrap > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* v25.1 - statement section wrap MUST be block (Bricks flex was crushing children) */
html body section.drb-statement .drb-statement__wrap {
  display: block !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  text-align: center !important;
  align-items: initial !important;
  flex-direction: initial !important;
}
html body section.drb-statement .drb-statement__quote,
html body section.drb-statement .drb-statement__sub,
html body section.drb-statement .drb-statement__eyebrow,
html body section.drb-statement .drb-statement__sig {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
}
html body section.drb-statement .drb-statement__eyebrow {
  display: inline-flex !important;
}
html body section.drb-statement .drb-statement__sig {
  display: inline-flex !important;
}
html body section.drb-statement .drb-statement__quote {
  text-align: center !important;
  width: 100% !important;
}
html body section.drb-statement .drb-statement__sub {
  text-align: center !important;
  max-width: 620px !important;
  margin-inline: auto !important;
}

/* ==========================================================================
   v26 - CASES (04) + FAQ (07) EDITORIAL REFINEMENT
   ========================================================================== */

/* ---------- CASES: from generic beige cards to editorial portfolio ---------- */

html body #work .cases {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin-top: 56px !important;
}

/* Case card: pure white, refined elevation, character */
html body #work .case-card {
  position: relative !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1px solid rgba(16, 20, 30, 0.06) !important;
  border-radius: 20px !important;
  padding: 32px 28px 28px 28px !important;
  box-shadow:
    0 1px 2px rgba(16, 20, 30, 0.04),
    0 8px 24px -12px rgba(16, 20, 30, 0.08) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.3s ease !important;
  overflow: hidden;
  isolation: isolate;
  display: flex !important;
  flex-direction: column !important;
}

/* Big numeral as background watermark */
html body #work .case-card::before {
  content: "";
  position: absolute;
  inset-block-start: -10px;
  inset-inline-start: -10px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240, 142, 114, 0.10) 0%, transparent 70%);
  z-index: 0;
  pointer-events: none;
}

html body #work .case-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(240, 142, 114, 0.35) !important;
  box-shadow:
    0 1px 2px rgba(16, 20, 30, 0.04),
    0 16px 40px -16px rgba(16, 20, 30, 0.14),
    0 4px 12px -4px rgba(240, 142, 114, 0.12) !important;
}

/* Number badge - peach pill, editorial */
html body #work .case-card__num {
  position: relative !important;
  z-index: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 44px !important;
  height: 28px !important;
  padding: 0 12px !important;
  background: linear-gradient(135deg, #F08E72, #E87858) !important;
  color: #FFFFFF !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  border-radius: 999px !important;
  margin-bottom: 20px !important;
  align-self: flex-start !important;
  box-shadow: 0 4px 12px -4px rgba(240, 142, 114, 0.4) !important;
}

html body #work .case-card__sector {
  position: relative !important;
  z-index: 1 !important;
  font-size: clamp(20px, 1.5vw, 24px) !important;
  font-weight: 800 !important;
  color: #10141E !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  margin: 0 0 6px 0 !important;
}

html body #work .case-card__domain {
  position: relative !important;
  z-index: 1 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgb(120, 130, 145) !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 22px !important;
  padding-bottom: 22px !important;
  border-bottom: 1px dashed rgba(16, 20, 30, 0.08) !important;
}

html body #work .case-card__row {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  margin-bottom: 16px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
html body #work .case-card__row:last-of-type {
  margin-bottom: 0 !important;
}

html body #work .case-card__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #F08E72 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
html body #work .case-card__label::before {
  content: "";
  width: 14px;
  height: 1px;
  background: #F08E72;
}

html body #work .case-card__system {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #10141E !important;
  line-height: 1.4 !important;
}

html body #work .case-card__impact {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: rgb(74, 85, 104) !important;
  line-height: 1.65 !important;
}

/* Mobile cases */
@media (max-width: 900px) {
  html body #work .cases {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  html body #work .case-card {
    padding: 26px 22px !important;
  }
}


/* ---------- FAQ (07): premium accordion treatment ---------- */

html body .faq {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  max-width: 880px !important;
  margin: 56px auto 0 auto !important;
}

/* FAQ item: white card with clean elevation */
html body .faq__item {
  position: relative !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1px solid rgba(16, 20, 30, 0.06) !important;
  border-radius: 16px !important;
  padding: 0 !important;
  box-shadow:
    0 1px 2px rgba(16, 20, 30, 0.03),
    0 4px 16px -8px rgba(16, 20, 30, 0.06) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
  overflow: hidden !important;
}

html body .faq__item:hover {
  border-color: rgba(240, 142, 114, 0.25) !important;
  box-shadow:
    0 1px 2px rgba(16, 20, 30, 0.03),
    0 8px 24px -10px rgba(16, 20, 30, 0.10) !important;
}

html body .faq__item.open {
  border-color: rgba(240, 142, 114, 0.35) !important;
  box-shadow:
    0 1px 2px rgba(16, 20, 30, 0.03),
    0 12px 32px -12px rgba(240, 142, 114, 0.18),
    0 4px 12px -4px rgba(16, 20, 30, 0.06) !important;
}

/* The heading wrapper */
html body .faq__heading {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* The question button */
html body .faq__q {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 22px 26px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  text-align: start !important;
  font-family: inherit !important;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  font-weight: 700 !important;
  color: #10141E !important;
  line-height: 1.5 !important;
  letter-spacing: -0.005em !important;
  transition: color 0.2s ease !important;
}

html body .faq__q:hover {
  color: #F08E72 !important;
}

html body .faq__item.open .faq__q {
  color: #10141E !important;
  padding-bottom: 14px !important;
}

/* Icon: replace text + with a real chevron-plus circle */
html body .faq__icon {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(240, 142, 114, 0.10) !important;
  color: transparent !important;
  font-size: 0 !important;
  border: 1px solid rgba(240, 142, 114, 0.20) !important;
  transition: background 0.3s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Horizontal bar */
html body .faq__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background: #F08E72;
  transform: translate(-50%, -50%);
  border-radius: 2px;
  transition: background 0.3s ease;
}

/* Vertical bar (forms +) */
html body .faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 12px;
  background: #F08E72;
  transform: translate(-50%, -50%);
  border-radius: 2px;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease;
}

/* Open state: rotate icon to X-like, charcoal fill */
html body .faq__item.open .faq__icon {
  background: #10141E !important;
  border-color: #10141E !important;
  transform: rotate(45deg) !important;
}
html body .faq__item.open .faq__icon::before,
html body .faq__item.open .faq__icon::after {
  background: #FFFFFF !important;
}

html body .faq__q:hover .faq__icon {
  background: rgba(240, 142, 114, 0.18) !important;
  border-color: rgba(240, 142, 114, 0.35) !important;
}

/* Answer block */
html body .faq__a {
  padding: 0 26px 24px 26px !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: rgb(74, 85, 104) !important;
  line-height: 1.75 !important;
  letter-spacing: 0.005em !important;
  background: transparent !important;
  border-top: 1px solid rgba(240, 142, 114, 0.10) !important;
  padding-top: 18px !important;
}

/* Closed answers: hidden completely (no pixel rendering) */
html body .faq__item:not(.open) .faq__a {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  visibility: hidden !important;
}

/* Mobile FAQ */
@media (max-width: 900px) {
  html body .faq {
    gap: 10px !important;
    margin-top: 40px !important;
  }
  html body .faq__q {
    padding: 18px 20px !important;
    font-size: 15px !important;
    gap: 14px !important;
  }
  html body .faq__icon {
    width: 28px !important;
    height: 28px !important;
  }
  html body .faq__icon::before {
    width: 10px;
  }
  html body .faq__icon::after {
    height: 10px;
  }
  html body .faq__a {
    padding: 16px 20px 20px 20px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
}



/* ======================================================== */
/* === v27  LANGUAGE SWITCHER + ENGLISH (LTR) OVERRIDES === */
/* ======================================================== */

/* Language switcher  sits inside the floating topbar pill */
html body .drb-langswitch{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin:0 .55rem 0 .55rem;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.04);
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1;
  white-space:nowrap;
  pointer-events:auto;
}
html body .drb-langswitch__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 28px;
  padding: 3px 6px;
  color: #1A1F2C !important;
  text-decoration: none !important;
  border-radius: 8px;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
html body .drb-langswitch__btn:hover{
  color: #E07A4B !important;
  background: transparent;
}
html body .drb-langswitch__btn.is-active{position:relative;background:transparent !important;border-radius:0 !important;font-weight:700 !important;text-decoration:none !important;border-bottom:2px solid #E86A5A !important;padding-bottom:2px !important}
html body .drb-langswitch__btn.is-active::after{
}
html body .drb-langswitch__sep{
  color: rgba(26,31,44,.25);
  font-weight: 300;
  pointer-events:none;
  user-select:none;
}

/* Floating fallback (if mount target not found) */
html body .drb-langswitch--floating{
  position: fixed;
  top: 18px;
  inset-inline-start: 18px;
  z-index: 9999;
  background: rgba(255,255,255,.95);
  box-shadow: 0 6px 24px rgba(26,31,44,.10);
}

/* Mobile: tuck switcher in nicely */
@media (max-width: 900px){
  html body .drb-langswitch{
    margin: 0 .35rem;
    padding: 4px 8px;
    font-size: 12px;
  }
  html body .drb-langswitch__btn{ min-width: 24px; padding: 2px 4px; }
}

/* ============================================ */
/* === ENGLISH (LTR)  html[lang="en"] block === */
/* ============================================ */

html[lang="en"], html[lang^="en-"]{
  direction: ltr;
}
html[lang="en"] body, html[lang^="en-"] body{
  direction: ltr;
  text-align: left;
  font-family: 'Inter', 'Shne', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* Force LTR on key wrappers (Bricks/RTL plugin may set RTL globally) */
html[lang="en"] [dir="rtl"],
html[lang^="en-"] [dir="rtl"]{ direction: ltr !important; text-align: left !important; }

/* Headings retain Inter/system stack instead of Arabic font */
html[lang="en"] h1, html[lang="en"] h2, html[lang="en"] h3,
html[lang="en"] h4, html[lang="en"] h5, html[lang="en"] h6,
html[lang^="en-"] h1, html[lang^="en-"] h2, html[lang^="en-"] h3,
html[lang^="en-"] h4, html[lang^="en-"] h5, html[lang^="en-"] h6{
  font-family: 'Inter', 'Shne', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  letter-spacing: -0.015em;
}

/* Numbers/measurements look more refined in tabular */
html[lang="en"] .stat__num, html[lang="en"] .price__big,
html[lang^="en-"] .stat__num, html[lang^="en-"] .price__big{
  font-variant-numeric: tabular-nums;
}

/* Hero  give English a tighter tracking for long headlines */
html[lang="en"] .hero h1, html[lang^="en-"] .hero h1{
  letter-spacing: -0.025em;
  line-height: 1.05;
}
html[lang="en"] .hero .lead, html[lang^="en-"] .hero .lead{
  max-width: 56ch;
}

/* Section eyebrow numbers (01  Diagnostic)  keep number prefix logical in LTR */
html[lang="en"] .eyebrow, html[lang^="en-"] .eyebrow{ direction: ltr; }

/* Statement quote  slightly more elegant in English */
html[lang="en"] .drb-statement__quote,
html[lang^="en-"] .drb-statement__quote{
  font-family: 'Inter', 'Shne', system-ui, sans-serif;
  letter-spacing: -0.022em;
  line-height: 1.18;
  max-width: 22ch;
}
html[lang="en"] .drb-statement__brand,
html[lang^="en-"] .drb-statement__brand{
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}

/* Orbit hub label  keep English readable */
html[lang="en"] .sysdiag__hub-label,
html[lang^="en-"] .sysdiag__hub-label{
  font-family: 'Inter', 'Shne', system-ui, sans-serif;
  letter-spacing: .04em;
}

/* Case card labels: " / " become "System / Impact" via WPML; just tighten styling */
html[lang="en"] .case-card__label,
html[lang^="en-"] .case-card__label{
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
}

/* Footer */
html[lang="en"] .footer, html[lang^="en-"] .footer{ direction: ltr; }
html[lang="en"] .footer h4, html[lang^="en-"] .footer h4{
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 13px;
}

/* WhatsApp floating button  keep on right in EN (LTR) */
html[lang="en"] .whatsapp-float,
html[lang^="en-"] .whatsapp-float,
html[lang="en"] .wa-float,
html[lang^="en-"] .wa-float{
  right: 20px !important; left: auto !important;
}

/* Mobile menu close icon  mirror for LTR */
html[lang="en"] .nav-toggle, html[lang^="en-"] .nav-toggle{ transform: none; }

/* Language switcher position adjustment for LTR header layout */
html[lang="en"] body .drb-langswitch,
html[lang^="en-"] body .drb-langswitch{ margin: 0 .55rem; }

/* ========== [7] menu-fix.css (consolidated menu + logo) ========== */
/* ============================================================
   DRB CONSOLIDATED MENU + MOBILE OVERRIDE  (loads dead-last)
   Single source of truth for the mobile nav drawer + brand logo.
   Wins via html body[...] + duplicated class/id specificity.
   Fully reversible: delete this plugin folder to revert.
   ============================================================ */

@media (max-width: 900px) {

  /* ---- Kill the competing newhome dropdown design on #primary-nav ---- */
  html body header.topbar nav.nav#primary-nav,
  html body nav.nav#primary-nav#primary-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    inset: 0 0 0 auto !important;
    width: min(86vw, 360px) !important;
    max-width: 360px !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 100001 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 78px 24px 28px !important;
    box-shadow: -20px 0 50px rgba(0,0,0,0.22) !important;
    overflow-y: auto !important;
    transform: translateX(100%) !important;
    -webkit-transform: translateX(100%) !important;
    transition: transform 280ms cubic-bezier(.4,0,.2,1) !important;
  }

  /* ---- OPEN STATE: highest-specificity, beats every closed rule ---- */
  html body header.topbar nav.nav#primary-nav.is-open.is-open,
  html body nav.nav#primary-nav#primary-nav.is-open {
    transform: translateX(0) !important;
    -webkit-transform: translateX(0) !important;
    pointer-events: auto !important;
  }

  /* ---- Links: crisp, opaque, full-size touch targets, clickable ---- */
  html body nav#primary-nav#primary-nav a,
  html body nav.nav#primary-nav a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 13px 14px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #0a0a0f !important;
    -webkit-text-fill-color: #0a0a0f !important;
    text-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    filter: none !important;
    border-bottom: 1px solid rgba(10,10,15,0.08) !important;
    border-radius: 8px !important;
    pointer-events: auto !important;
  }
  html body nav#primary-nav#primary-nav a:hover,
  html body nav#primary-nav#primary-nav a:focus {
    background: rgba(0,0,0,0.05) !important;
    outline: none !important;
  }
  /* CTA pill = last link */
  html body nav#primary-nav#primary-nav a:last-child {
    justify-content: center !important;
    margin-top: 14px !important;
    background: #e85a3c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-radius: 999px !important;
    border-bottom: none !important;
    min-height: 54px !important;
    font-weight: 700 !important;
  }

  /* ---- Backdrop: dim only, no blur ---- */
  html body #drb-mm-backdrop,
  html body #drb-mobile-menu-backdrop {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(10,10,15,0.5) !important;
  }

  /* ---- Hamburger -> X, proper 44px target ---- */
  html body header.topbar .nav-toggle {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 1px solid rgba(0,0,0,0.14) !important;
    border-radius: 11px !important;
    cursor: pointer !important;
    z-index: 100002 !important;
  }
  html body header.topbar .nav-toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    background: #1a1a1a !important;
    border-radius: 2px !important;
    transition: transform 220ms ease, opacity 220ms ease !important;
  }
  html body header.topbar .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
  html body header.topbar .nav-toggle.is-open span:nth-child(2) { opacity: 0 !important; }
  html body header.topbar .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }

  /* ---- BRAND LOGO: stop the 0x0 collapse ---- */
  html body header .brand,
  html body header a[rel="home"],
  html body header [class*="brand"] {
    overflow: visible !important;
    min-width: auto !important;
    max-width: none !important;
  }
  html body header .brand img,
  html body header a[rel="home"] img,
  html body header [class*="brand"] img {
    height: 34px !important;
    width: auto !important;
    max-width: 60vw !important;
    flex: 0 0 auto !important;
    object-fit: contain !important;
    display: block !important;
  }
}

/* RTL drawer comes from the right too (Arabic) - same side panel, mirrored padding only */
@media (max-width: 900px) {
  html body[dir="rtl"] nav#primary-nav#primary-nav,
  html[dir="rtl"] body nav#primary-nav#primary-nav {
    direction: rtl !important;
  }
}

/* ============================================================
   BACKDROP Z-ORDER FIX: every backdrop must sit BELOW the drawer
   so the nav links remain hit-testable. The legacy backdrops
   (#drb-mm-backdrop / -injected) were intercepting clicks.
   ============================================================ */
@media (max-width: 900px) {
  html body #drb-mm-backdrop,
  html body #drb-mm-backdrop-injected,
  html body #drb-mobile-menu-backdrop {
    z-index: 99990 !important;
  }
  /* Drawer must outrank ALL backdrops for hit-testing */
  html body header.topbar nav.nav#primary-nav,
  html body nav.nav#primary-nav#primary-nav {
    z-index: 100050 !important;
  }
  html body header.topbar nav.nav#primary-nav.is-open.is-open,
  html body nav.nav#primary-nav#primary-nav.is-open {
    z-index: 100050 !important;
    pointer-events: auto !important;
  }
  html body nav#primary-nav#primary-nav a,
  html body nav.nav#primary-nav a {
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }
  /* When the drawer is CLOSED, neutralise any stray full-screen backdrop
     that legacy scripts leave with pointer-events on. */
  html body #drb-mm-backdrop:not(.is-open),
  html body #drb-mm-backdrop-injected:not(.is-open),
  html body #drb-mobile-menu-backdrop:not(.is-open) {
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

/* === STEP5 overflow-x clip (appended; reversible) =========================
   Goal: stop the ~19px horizontal bleed from decorative .drbfx-orb elements
   WITHOUT disturbing the existing body.page-id-33526 { overflow:visible }
   vertical fixes. overflow-x:clip clips the X axis only and does NOT create
   a scroll container, so vertical sticky/height behaviour is unaffected.
   To revert: delete this block. ------------------------------------------- */
/* html overflow-x intentionally NOT set: overflow on html creates a scroll container that locks viewport scroll. overflow-x is handled on body. */
body { overflow-x: hidden !important; }
body.page-id-33526,
body.page-id-33550 { overflow-x: hidden !important; }
/* === end STEP5 overflow-x clip =========================================== */
/* DRB-METER-RESET */ html body .sysdiag .sysdiag__card .sysdiag__card-meter{background:transparent!important;border:0!important;border-top:1px dashed var(--rule)!important;border-radius:0!important;box-shadow:none!important;padding:8px 0 0!important;}


/* ===== DRB-MOBILE-FIX-V2 (mobile overflow + card stacking) =====
   Single source of truth for narrow-viewport corrections.
   Placed last so it wins over the conflicting earlier breakpoints
   without reordering them. Reversible: delete this block to revert. */
@media (max-width: 700px){
  /* Hero headline: let it wrap naturally instead of overflowing.
     The markup has hardcoded <br> tags that force lines wider than
     the phone viewport (clipping off-screen in both LTR and RTL). */
  body .hero__title{
    font-size: clamp(26px, 8.5vw, 40px) !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
  /* DRB-V8 fix: keep the authored hero line-breaks on mobile.
     Hiding <br> merged words because the spans have no trailing
     spaces (e.g. "شيء"+"عليك"). Restore the break instead. */
  html body .hero__title br{ display: block !important; height: 0 !important; }
  body .hero__title .ink,
  body .hero__title .under-1,
  body .hero__title .under-2{ display: inline !important; }

  /* EN/AR diagram cards: stop the absolute 40% overlap; stack them
     full-width in normal flow so titles & badges are never clipped. */
  .sysdiag__stage .sysdiag__card,
  .sysdiag .sysdiag__card,
  .sysdiag__card,
  .sysdiag__card--site,
  .sysdiag__card--ops,
  .sysdiag__card--content{
    position: relative !important;
    inset: auto !important;
    top: auto !important; right: auto !important;
    bottom: auto !important; left: auto !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 0 12px 0 !important;
    z-index: auto !important;
  }
  .sysdiag__card-body{ display: block !important; }
  .sysdiag__card-meter{ display: block !important; }
  /* Hide the connector lines on mobile (they target desktop positions) */
  .sysdiag__lines{ display: none !important; }
}


/* ===== DRB-MOBILE-FIX-V3-OVERFLOW (AR mobile horizontal bleed) =====
   The AR page (page-id-33526) sets `overflow: visible !important` on
   body AND on `body.page-id-33526.page` (2-class, higher specificity)
   so the closed off-screen mobile nav drawer (position:fixed, translated
   ~354px to the right) extends the document scroll width by ~104px on
   phones. We clip the X axis only, at mobile widths only, with a
   specificity (html body.page-id-33526.page) that beats the existing
   visible rule. overflow-x:clip does NOT create a scroll container, so
   desktop bleed (>700px) and sticky/height behaviour are untouched.
   Reversible: delete this block. */
@media (max-width: 700px){
  /* Clip the X axis on the ROOT scroll container at mobile only.
     overflow-x:clip (NOT hidden) clips horizontal bleed WITHOUT creating
     a scroll container, so vertical scrolling, sticky and height behaviour
     are unaffected (verified: page scrolls vertically fine). This single
     root-level clip neutralises every horizontal bleeder on phones at once
     (off-screen nav drawer, rotated report__sheet stack, decorative orbs)
     instead of chasing each element. Desktop (>700px) keeps overflow:visible
     so intentional desktop bleed still shows. */
  html{ overflow-x: clip !important; }
  html body,
  html body.page-id-33526,
  html body.page-id-33526.page,
  html body.page-id-33550,
  html body.page-id-33550.page{
    overflow-x: clip !important;
    max-width: 100% !important;
  }
  /* Keep the closed mobile nav drawer from forcing horizontal scroll
     even where clip is not honoured: hide it until opened. */
  /* An existing rule forces `display:flex !important` on the mobile
     drawer via a 2-ID specificity hack (nav#primary-nav#primary-nav).
     We beat it with 3 ID references, only while the drawer is CLOSED,
     so the off-screen fixed drawer stops extending document width. */
  html body nav.nav#primary-nav#primary-nav#primary-nav:not(.is-open):not(.nav-open):not(.open){
    display: none !important;
  }
  html body nav.nav#primary-nav#primary-nav#primary-nav.is-open,
  html body nav.nav#primary-nav#primary-nav#primary-nav.nav-open,
  html body nav.nav#primary-nav#primary-nav#primary-nav.open{ display: flex !important; }
}


/* ===== DRB-MOBILE-FIX-V4-CONTENTCARD =====
   The content diagram card has a page-scoped rule
   `body.page-id-33550 .sysdiag__card--content{ transform:translateX(-50%);
   left:50% !important }` with no media query, so on mobile it stayed
   shifted ~172px left (clipped). Override it for both languages at the
   mobile breakpoint with equal page-scoped specificity. Reversible. */
@media (max-width: 700px){
  /* The reveal system keeps translateX(-50%) on this card and it cannot
     be reliably cleared. Instead of fighting it, we PAIR it with left:50%
     (the original centering math) so the stacked full-width card nets to
     centered (left:50% of parent, minus 50% of its own width = centered),
     and we use a left/right margin to keep it inside the rail. */
  body.page-id-33550 .sysdiag__card--content,
  body.page-id-33526 .sysdiag__card--content,
  body .sysdiag__card--content{
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
  }
}


/* ===== DRB-MOBILE-FIX-V5-CARDTITLE =====
   Ensure diagram-card titles never clip on mobile regardless of the
   card width the reveal system settles on: full width, left/right aligned
   by direction, no overflow clipping, wrap allowed. Reversible. */
@media (max-width: 700px){
  .sysdiag__card .sysdiag__card-name,
  .sysdiag__card .sysdiag__card-tag,
  .sysdiag__card .sysdiag__card-body,
  .sysdiag__card .sysdiag__card-meter{
    position: relative !important;
    left: auto !important; right: auto !important;
    transition: none !important;
    transform: none !important;
    width: 100% !important; max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    text-align: start !important;
  }
  .sysdiag__card{ overflow: visible !important; }
}


/* ===== DRB-MOBILE-FIX-V6-CONTENTCARD-HARD =====
   Final, highest-specificity override for the content card's stuck
   desktop-centering (transform:translateX(-50%); left:50%). Uses
   html + 2 page classes + descendant to exceed every other rule, and
   pins the stacked card to natural flow. Reversible. */
@media (max-width: 700px){
  html body.page-id-33550 .sysdiag .sysdiag__card--content,
  html body.page-id-33550.page .sysdiag .sysdiag__card--content,
  html body.page-id-33526 .sysdiag .sysdiag__card--content,
  html body.page-id-33526.page .sysdiag .sysdiag__card--content,
  html body .sysdiag .sysdiag__card--content{
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    /* Kill the stuck transform TRANSITION: it was frozen at its start
       keyframe translateX(-50%) and never advanced to none, shifting the
       card ~172px left. transition:none makes transform resolve instantly
       to none so the card aligns with the others. THIS is the real fix. */
    transition: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    margin: 0 0 12px 0 !important;
    width: 100% !important;
  }
}

/* ============================================================
   DRB-MOBILE-FIX-V7  (2026-06-05)
   1. EN: remove the status "white box" + green indicator on
      the stacked diagram cards (Connected/Running/Calendar).
   2. EN: $250 credit block reads left-to-right (was right-aligned).
   3. AR: add breathing room so the 250 credit pill no longer
      overlaps the diagnostic report card, plus gentle vertical
      spacing across stacked sections.
   ============================================================ */
@media (max-width: 700px){

  /* (1) EN diagram cards: hide the status meter pill entirely */
  html body.page-id-33550 .sysdiag .sysdiag__card .sysdiag__card-meter.sysdiag__card-meter{
    display: none !important;
  }

  /* (2) EN $250 credit block -> proper LTR alignment */
  body.page-id-33550 .audit-trust,
  body.page-id-33550 .audit-trust *{
    direction: ltr !important;
    text-align: left !important;
  }

  /* (3) AR: clear the overlap between the credit pill and report card.
     High specificity (ID + html/body) to beat the 900px theme rule. */
  html body.page-id-33526 section#audit .wrap.audit-hero > .report,
  html body.page-id-33526 section#audit .wrap.audit-hero > .report.report--v2,
  html body.page-id-33526 section#audit aside.report{
    margin-top: 72px !important;
  }
  html body.page-id-33526 section#audit .audit-cta-row{
    margin-bottom: 40px !important;
  }
  /* gentle breathing room across stacked AR sections */
  html body.page-id-33526 section#audit .audit-deliv{
    margin-bottom: 40px !important;
  }
  html body.page-id-33526 section#audit .drb-audit-note{
    margin-bottom: 40px !important;
  }
}


/* ===== DRB-CONSOLIDATED: drb-en-overrides (folded 2026-06-05) =====
   Was a separate competing <style> on EN page-33550. Now the single
   source of truth lives here, loaded dead-last. ===== */
body.page-id-33550 { direction: ltr !important; text-align: left !important; }
body.page-id-33550 main, body.page-id-33550 #main, body.page-id-33550 .site-main { direction: ltr !important; }
body.page-id-33550 main *, body.page-id-33550 .site-main * { unicode-bidi: isolate; }

body.page-id-33550 .hero__inner.hero__inner--v2 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr) !important;
  gap: 40px !important;
}
body.page-id-33550 .hero .hero__title {
  font-size: clamp(46px, 5.2vw, 72px) !important;
  line-height: 1.04 !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: left !important;
  letter-spacing: -0.02em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
body.page-id-33550 .hero__title .under-1 { position: relative !important; display: inline !important; }
body.page-id-33550 .hero__title .under-1 svg {
  position: absolute !important;
  left: 0 !important; right: auto !important; bottom: -8px !important;
  width: 100% !important; height: 14px !important;
  pointer-events: none !important;
  display: block !important;
}
body.page-id-33550 .hero__title .ink { display: inline !important; line-height: inherit !important; }
body.page-id-33550 .hero p, body.page-id-33550 .hero__lede, body.page-id-33550 .hero__sub {
  text-align: left !important; max-width: 560px !important; direction: ltr !important;
}
body.page-id-33550 .hero .cta-row, body.page-id-33550 .hero__cta { justify-content: flex-start !important; text-align: left !important; }

body.page-id-33550 .stats { max-width: 560px; }
body.page-id-33550 .stats__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 18px !important;
  width: 100% !important;
}
body.page-id-33550 .stat { min-width: 0 !important; text-align: left !important; }
body.page-id-33550 .stat__num {
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  direction: ltr !important;
}
body.page-id-33550 .stat__num .unit { font-size: 0.55em !important; margin-left: 2px !important; }
body.page-id-33550 .stat__label { font-size: 11px !important; line-height: 1.35 !important; margin-top: 6px !important; text-align: left !important; }

/* PHASE-B removed: stale translateX overrides; Block C now positions cards. body.page-id-33550 .sysdiag__card--site { left: auto !important; right: auto !important; top: 40px !important; transform: translateX(-220px) !important; }
body.page-id-33550 .sysdiag__card--ops  { left: auto !important; right: auto !important; top: 40px !important; transform: translateX(220px) !important; }
body.page-id-33550 .sysdiag__card--content { left: 50% !important; right: auto !important; top: 360px !important; transform: translateX(-50%) !important; }
body.page-id-33550 .sysdiag__hub { top: 80px !important; } */

html body.page-id-33550 .audit-copy,
html body.page-id-33550 #audit .audit-copy,
html body.page-id-33550 .audit-copy .title-lg,
html body.page-id-33550 .audit-copy h2,
html body.page-id-33550 .audit-copy .lead,
html body.page-id-33550 #audit .audit-copy h2,
html body.page-id-33550 #audit .audit-copy .title-lg,
html body.page-id-33550 #audit .audit-copy .lead {
  text-align: left !important;
  align-items: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

html body.page-id-33550 .eyebrow:not(#cta .eyebrow),
html body.page-id-33550 #audit .audit-copy > .eyebrow,
html body.page-id-33550 #audit .audit-copy .eyebrow,
html body.page-id-33550 #about > .wrap > .eyebrow,
html body.page-id-33550 #about .about-copy > .eyebrow,
html body.page-id-33550 #systems > .wrap > .eyebrow,
html body.page-id-33550 #work > .wrap > .eyebrow,
html body.page-id-33550 .layer-section > .wrap > .eyebrow,
html body.page-id-33550 section.section--dark > .wrap > .eyebrow,
html body.page-id-33550 #faq > .wrap > .eyebrow {
  position: static !important;
  top: auto !important; right: auto !important; left: auto !important;
  text-align: left !important;
  justify-content: flex-start !important;
  align-self: flex-start !important;
  margin: 0 0 18px 0 !important;
  width: auto !important; max-width: none !important;
  display: inline-flex !important;
}

html body.page-id-33550 #systems .title-lg, html body.page-id-33550 #systems h2, html body.page-id-33550 #systems .lead,
html body.page-id-33550 #work .title-lg, html body.page-id-33550 #work h2, html body.page-id-33550 #work .lead,
html body.page-id-33550 #about .title-lg, html body.page-id-33550 #about h2, html body.page-id-33550 #about .lead,
html body.page-id-33550 #about .about-copy h2, html body.page-id-33550 #about .about-copy .title-lg,
html body.page-id-33550 #about .about-copy p, html body.page-id-33550 #about .about-copy .lead,
html body.page-id-33550 .layer-section h2, html body.page-id-33550 .layer-section .title-lg, html body.page-id-33550 .layer-section .lead,
html body.page-id-33550 section.section--dark h2, html body.page-id-33550 section.section--dark .title-lg, html body.page-id-33550 section.section--dark .lead {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

html body.page-id-33550 #cta .title-lg, html body.page-id-33550 #cta h2,
html body.page-id-33550 #cta .lead, html body.page-id-33550 #cta .eyebrow {
  text-align: center !important; margin-left: auto !important; margin-right: auto !important;
}

html body.page-id-33550 #audit .audit-copy ul, html body.page-id-33550 #audit .audit-copy ol,
html body.page-id-33550 #audit .audit-copy .audit-deliv, html body.page-id-33550 .audit-deliv,
html body.page-id-33550 .audit-deliv li {
  text-align: left !important; direction: ltr !important;
  margin-left: 0 !important; margin-right: auto !important;
}

body.page-id-33550 .faq__item:not(.is-open) .faq__answer,
body.page-id-33550 .faq__item:not([open]) .faq__answer,
body.page-id-33550 .faq__a[hidden],
body.page-id-33550 [data-faq-a][aria-hidden="true"] {
  display: none !important; height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; overflow: hidden !important;
}

body.page-id-33550 header, body.page-id-33550 .brxe-section[data-name*="header"] { direction: ltr !important; }

@media (max-width: 768px){
  body.page-id-33550 .hero .hero__title { font-size: clamp(36px, 9vw, 56px) !important; max-width: 100% !important; }
  body.page-id-33550 .stats__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
  body.page-id-33550 .sysdiag__card--site,
  body.page-id-33550 .sysdiag__card--ops,
  body.page-id-33550 .sysdiag__card--content {
    position: relative !important; left: auto !important; right: auto !important; top: auto !important;
    transform: none !important; margin: 12px auto !important;
  }
}
/* EN badge override */
body.page-id-33550 .sysv2--ops::before { content: "Most Popular" !important; direction: ltr !important; letter-spacing: 0.04em !important; }

/* === EN POLISH FIXES === */

/* Force LTR + plaintext bidi on all descendants of audit + sysdiag report card */
body.page-id-33550 .audit, body.page-id-33550 .audit *,
body.page-id-33550 [class*="audit__"], body.page-id-33550 [class*="audit__"] *,
body.page-id-33550 [class*="report__"], body.page-id-33550 [class*="report__"] *,
body.page-id-33550 [class*="report_"], body.page-id-33550 [class*="report_"] * {
  direction: ltr !important;
  unicode-bidi: plaintext !important;
  text-align: start !important;
}

/* Audit eyebrow alignment (01  THE DIAGNOSTIC should be left for LTR) */
body.page-id-33550 .audit__eyebrow,
body.page-id-33550 [class*="audit__"][class*="eyebrow"] {
  text-align: left !important;
  direction: ltr !important;
}

/* Diagnostic report card internal layout - prevent bidi reorder of timeline blocks */
body.page-id-33550 .report__rec-t,
body.page-id-33550 .report__rec_t,
body.page-id-33550 [class*="report"] strong,
body.page-id-33550 [class*="report"] em,
body.page-id-33550 [class*="report"] span,
body.page-id-33550 [class*="report"] div,
body.page-id-33550 [class*="report"] li,
body.page-id-33550 [class*="report"] p,
body.page-id-33550 [class*="report"] h4,
body.page-id-33550 .audit-trust,
body.page-id-33550 .audit-trust * {
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

/* Hero orbit cards: keep original AR positions in LTR (site=top-left, ops=top-right, content=bottom-center) */
body.page-id-33550 .sysdiag__card--site {
  left: -4% !important;
  right: auto !important;
  top: -4% !important;
}
body.page-id-33550 .sysdiag__card--ops {
  right: -4% !important;
  left: auto !important;
  top: -4% !important;
}
body.page-id-33550 .sysdiag__card--content {
  bottom: -8% !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

/* Mobile orbit reset (matches original mobile rule but with EN scope) */
@media (max-width: 768px) {
  body.page-id-33550 .sysdiag__card--site,
  body.page-id-33550 .sysdiag__card--ops,
  body.page-id-33550 .sysdiag__card--content {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 12px auto !important;
  }
}
/* === END EN POLISH FIXES === */
/* ===== end folded en-overrides ===== */


/* DRB-EN-REPORT-LTR :: force LTR on the audit report card on the English homepage (page 33550). The .report--v2 container inherits direction:rtl from Bricks element custom CSS; existing en overrides target only its children, and the [dir=rtl] safety net misses it because it has no dir attribute. Scoped to page-id-33550 so the Arabic page (33526) is untouched. */
body.page-id-33550 .report,
body.page-id-33550 .report.report--v2,
body.page-id-33550 aside.report.report--v2{
  direction:ltr !important;
  text-align:left !important;
}


/* DRB-EN-LTR-AUDIT :: Comprehensive English LTR normalisation. The base theme CSS right-aligns content for the Arabic (RTL) layout via unscoped global rules (.sysdiag__card, .faq__q, etc.), which leak onto the English page. These rules are scoped to html[lang^="en-"] so they apply to the English homepage AND any future English pages, and never touch Arabic. Only flips right-alignment to left; centred elements are left alone. Loads dead-last so it wins. */

/* (A) Header on mobile: hide the CTA pill (matches Arabic behaviour) and let the hamburger sit naturally so it is never pushed off-screen. */
@media (max-width: 900px){
  html[lang^="en-"] body header .btn-pill,
  html[lang^="en-"] body header .topbar .btn-pill{ display:none !important; }
  html[lang^="en-"] body header .nav-toggle{ order:2 !important; }
  html[lang^="en-"] body header .topbar__row{ justify-content:space-between !important; flex-wrap:nowrap !important; }
}

/* (B) Text alignment: force LTR / left-align across the content sections that leak. */
html[lang^="en-"] body,
html[lang^="en-"] body .sysdiag__card,
html[lang^="en-"] body .sysdiag__card *,
html[lang^="en-"] body .audit-cta-row, html[lang^="en-"] body .audit-cta-row *,
html[lang^="en-"] body #audit, html[lang^="en-"] body #audit span, html[lang^="en-"] body #audit p, html[lang^="en-"] body #audit h2, html[lang^="en-"] body #audit h3,
html[lang^="en-"] body #systems, html[lang^="en-"] body #systems h2, html[lang^="en-"] body #systems .title-lg, html[lang^="en-"] body #systems .lead, html[lang^="en-"] body #systems p, html[lang^="en-"] body #systems span,
html[lang^="en-"] body #work, html[lang^="en-"] body #work h2, html[lang^="en-"] body #work .title-lg, html[lang^="en-"] body #work .lead, html[lang^="en-"] body #work p, html[lang^="en-"] body #work span,
html[lang^="en-"] body #principles, html[lang^="en-"] body #principles h2, html[lang^="en-"] body #principles .title-lg, html[lang^="en-"] body #principles .lead, html[lang^="en-"] body #principles p,
html[lang^="en-"] body #about, html[lang^="en-"] body #about *,
html[lang^="en-"] body .about-stat__num, html[lang^="en-"] body .about-stat__lbl, html[lang^="en-"] body .about-copy, html[lang^="en-"] body .about-copy *,
html[lang^="en-"] body .about-academy, html[lang^="en-"] body .about-academy *,
html[lang^="en-"] body #faq, html[lang^="en-"] body .faq, html[lang^="en-"] body .faq__q, html[lang^="en-"] body .faq__q *, html[lang^="en-"] body .faq__a, html[lang^="en-"] body .faq__a *,
html[lang^="en-"] body .title-lg, html[lang^="en-"] body .title-sm, html[lang^="en-"] body .lead{
  direction:ltr !important;
  text-align:left !important;
}

/* (C) Keep elements that are meant to be centred actually centred (re-assert after the broad left rule). */
html[lang^="en-"] body .text-center, html[lang^="en-"] body [style*="text-align:center"], html[lang^="en-"] body [style*="text-align: center"],
html[lang^="en-"] body .audit-cta-row .btn-cta-big, html[lang^="en-"] body .sysdiag__card-meter{
  text-align:center !important;
}


/* DRB-EN-LTR-BRICKS :: Bricks injects high-specificity !important text-align:right rules (its inline CSS) for the RTL layout. These mirror those exact section/element selectors with an html[lang^="en-"] prefix so specificity wins on English pages and forces left alignment. */
html[lang^="en-"] #audit h2,
html[lang^="en-"] #audit > .wrap > h2,
html[lang^="en-"] #audit .title-lg,
html[lang^="en-"] #audit > .wrap > .title-lg,
html[lang^="en-"] #audit .title-xl,
html[lang^="en-"] #audit > .wrap > .title-xl,
html[lang^="en-"] #audit .title-sm,
html[lang^="en-"] #audit > .wrap > .title-sm,
html[lang^="en-"] #audit .lead,
html[lang^="en-"] #audit > .wrap > .lead,
html[lang^="en-"] #audit .eyebrow,
html[lang^="en-"] #audit > .wrap > .eyebrow,
html[lang^="en-"] #audit p,
html[lang^="en-"] #audit > .wrap > p,
html[lang^="en-"] #audit span,
html[lang^="en-"] #audit > .wrap > span,
html[lang^="en-"] #audit li,
html[lang^="en-"] #audit > .wrap > li,
html[lang^="en-"] #audit .audit-list,
html[lang^="en-"] #audit > .wrap > .audit-list,
html[lang^="en-"] #audit .checklist,
html[lang^="en-"] #audit > .wrap > .checklist,
html[lang^="en-"] #audit ul,
html[lang^="en-"] #audit > .wrap > ul,
html[lang^="en-"] #audit ol,
html[lang^="en-"] #audit > .wrap > ol,
html[lang^="en-"] #systems h2,
html[lang^="en-"] #systems > .wrap > h2,
html[lang^="en-"] #systems .title-lg,
html[lang^="en-"] #systems > .wrap > .title-lg,
html[lang^="en-"] #systems .title-xl,
html[lang^="en-"] #systems > .wrap > .title-xl,
html[lang^="en-"] #systems .title-sm,
html[lang^="en-"] #systems > .wrap > .title-sm,
html[lang^="en-"] #systems .lead,
html[lang^="en-"] #systems > .wrap > .lead,
html[lang^="en-"] #systems .eyebrow,
html[lang^="en-"] #systems > .wrap > .eyebrow,
html[lang^="en-"] #systems p,
html[lang^="en-"] #systems > .wrap > p,
html[lang^="en-"] #systems span,
html[lang^="en-"] #systems > .wrap > span,
html[lang^="en-"] #systems li,
html[lang^="en-"] #systems > .wrap > li,
html[lang^="en-"] #systems .audit-list,
html[lang^="en-"] #systems > .wrap > .audit-list,
html[lang^="en-"] #systems .checklist,
html[lang^="en-"] #systems > .wrap > .checklist,
html[lang^="en-"] #systems ul,
html[lang^="en-"] #systems > .wrap > ul,
html[lang^="en-"] #systems ol,
html[lang^="en-"] #systems > .wrap > ol,
html[lang^="en-"] #work h2,
html[lang^="en-"] #work > .wrap > h2,
html[lang^="en-"] #work .title-lg,
html[lang^="en-"] #work > .wrap > .title-lg,
html[lang^="en-"] #work .title-xl,
html[lang^="en-"] #work > .wrap > .title-xl,
html[lang^="en-"] #work .title-sm,
html[lang^="en-"] #work > .wrap > .title-sm,
html[lang^="en-"] #work .lead,
html[lang^="en-"] #work > .wrap > .lead,
html[lang^="en-"] #work .eyebrow,
html[lang^="en-"] #work > .wrap > .eyebrow,
html[lang^="en-"] #work p,
html[lang^="en-"] #work > .wrap > p,
html[lang^="en-"] #work span,
html[lang^="en-"] #work > .wrap > span,
html[lang^="en-"] #work li,
html[lang^="en-"] #work > .wrap > li,
html[lang^="en-"] #work .audit-list,
html[lang^="en-"] #work > .wrap > .audit-list,
html[lang^="en-"] #work .checklist,
html[lang^="en-"] #work > .wrap > .checklist,
html[lang^="en-"] #work ul,
html[lang^="en-"] #work > .wrap > ul,
html[lang^="en-"] #work ol,
html[lang^="en-"] #work > .wrap > ol,
html[lang^="en-"] #about h2,
html[lang^="en-"] #about > .wrap > h2,
html[lang^="en-"] #about .title-lg,
html[lang^="en-"] #about > .wrap > .title-lg,
html[lang^="en-"] #about .title-xl,
html[lang^="en-"] #about > .wrap > .title-xl,
html[lang^="en-"] #about .title-sm,
html[lang^="en-"] #about > .wrap > .title-sm,
html[lang^="en-"] #about .lead,
html[lang^="en-"] #about > .wrap > .lead,
html[lang^="en-"] #about .eyebrow,
html[lang^="en-"] #about > .wrap > .eyebrow,
html[lang^="en-"] #about p,
html[lang^="en-"] #about > .wrap > p,
html[lang^="en-"] #about span,
html[lang^="en-"] #about > .wrap > span,
html[lang^="en-"] #about li,
html[lang^="en-"] #about > .wrap > li,
html[lang^="en-"] #about .audit-list,
html[lang^="en-"] #about > .wrap > .audit-list,
html[lang^="en-"] #about .checklist,
html[lang^="en-"] #about > .wrap > .checklist,
html[lang^="en-"] #about ul,
html[lang^="en-"] #about > .wrap > ul,
html[lang^="en-"] #about ol,
html[lang^="en-"] #about > .wrap > ol,
html[lang^="en-"] #faq h2,
html[lang^="en-"] #faq > .wrap > h2,
html[lang^="en-"] #faq .title-lg,
html[lang^="en-"] #faq > .wrap > .title-lg,
html[lang^="en-"] #faq .title-xl,
html[lang^="en-"] #faq > .wrap > .title-xl,
html[lang^="en-"] #faq .title-sm,
html[lang^="en-"] #faq > .wrap > .title-sm,
html[lang^="en-"] #faq .lead,
html[lang^="en-"] #faq > .wrap > .lead,
html[lang^="en-"] #faq .eyebrow,
html[lang^="en-"] #faq > .wrap > .eyebrow,
html[lang^="en-"] #faq p,
html[lang^="en-"] #faq > .wrap > p,
html[lang^="en-"] #faq span,
html[lang^="en-"] #faq > .wrap > span,
html[lang^="en-"] #faq li,
html[lang^="en-"] #faq > .wrap > li,
html[lang^="en-"] #faq .audit-list,
html[lang^="en-"] #faq > .wrap > .audit-list,
html[lang^="en-"] #faq .checklist,
html[lang^="en-"] #faq > .wrap > .checklist,
html[lang^="en-"] #faq ul,
html[lang^="en-"] #faq > .wrap > ul,
html[lang^="en-"] #faq ol,
html[lang^="en-"] #faq > .wrap > ol,
html[lang^="en-"] #cta h2,
html[lang^="en-"] #cta > .wrap > h2,
html[lang^="en-"] #cta .title-lg,
html[lang^="en-"] #cta > .wrap > .title-lg,
html[lang^="en-"] #cta .title-xl,
html[lang^="en-"] #cta > .wrap > .title-xl,
html[lang^="en-"] #cta .title-sm,
html[lang^="en-"] #cta > .wrap > .title-sm,
html[lang^="en-"] #cta .lead,
html[lang^="en-"] #cta > .wrap > .lead,
html[lang^="en-"] #cta .eyebrow,
html[lang^="en-"] #cta > .wrap > .eyebrow,
html[lang^="en-"] #cta p,
html[lang^="en-"] #cta > .wrap > p,
html[lang^="en-"] #cta span,
html[lang^="en-"] #cta > .wrap > span,
html[lang^="en-"] #cta li,
html[lang^="en-"] #cta > .wrap > li,
html[lang^="en-"] #cta .audit-list,
html[lang^="en-"] #cta > .wrap > .audit-list,
html[lang^="en-"] #cta .checklist,
html[lang^="en-"] #cta > .wrap > .checklist,
html[lang^="en-"] #cta ul,
html[lang^="en-"] #cta > .wrap > ul,
html[lang^="en-"] #cta ol,
html[lang^="en-"] #cta > .wrap > ol,
html[lang^="en-"] .layer-section h2,
html[lang^="en-"] .layer-section > .wrap > h2,
html[lang^="en-"] .layer-section .title-lg,
html[lang^="en-"] .layer-section > .wrap > .title-lg,
html[lang^="en-"] .layer-section .title-xl,
html[lang^="en-"] .layer-section > .wrap > .title-xl,
html[lang^="en-"] .layer-section .title-sm,
html[lang^="en-"] .layer-section > .wrap > .title-sm,
html[lang^="en-"] .layer-section .lead,
html[lang^="en-"] .layer-section > .wrap > .lead,
html[lang^="en-"] .layer-section .eyebrow,
html[lang^="en-"] .layer-section > .wrap > .eyebrow,
html[lang^="en-"] .layer-section p,
html[lang^="en-"] .layer-section > .wrap > p,
html[lang^="en-"] .layer-section span,
html[lang^="en-"] .layer-section > .wrap > span,
html[lang^="en-"] .layer-section li,
html[lang^="en-"] .layer-section > .wrap > li,
html[lang^="en-"] .layer-section .audit-list,
html[lang^="en-"] .layer-section > .wrap > .audit-list,
html[lang^="en-"] .layer-section .checklist,
html[lang^="en-"] .layer-section > .wrap > .checklist,
html[lang^="en-"] .layer-section ul,
html[lang^="en-"] .layer-section > .wrap > ul,
html[lang^="en-"] .layer-section ol,
html[lang^="en-"] .layer-section > .wrap > ol,
html[lang^="en-"] section.section--dark h2,
html[lang^="en-"] section.section--dark > .wrap > h2,
html[lang^="en-"] section.section--dark .title-lg,
html[lang^="en-"] section.section--dark > .wrap > .title-lg,
html[lang^="en-"] section.section--dark .title-xl,
html[lang^="en-"] section.section--dark > .wrap > .title-xl,
html[lang^="en-"] section.section--dark .title-sm,
html[lang^="en-"] section.section--dark > .wrap > .title-sm,
html[lang^="en-"] section.section--dark .lead,
html[lang^="en-"] section.section--dark > .wrap > .lead,
html[lang^="en-"] section.section--dark .eyebrow,
html[lang^="en-"] section.section--dark > .wrap > .eyebrow,
html[lang^="en-"] section.section--dark p,
html[lang^="en-"] section.section--dark > .wrap > p,
html[lang^="en-"] section.section--dark span,
html[lang^="en-"] section.section--dark > .wrap > span,
html[lang^="en-"] section.section--dark li,
html[lang^="en-"] section.section--dark > .wrap > li,
html[lang^="en-"] section.section--dark .audit-list,
html[lang^="en-"] section.section--dark > .wrap > .audit-list,
html[lang^="en-"] section.section--dark .checklist,
html[lang^="en-"] section.section--dark > .wrap > .checklist,
html[lang^="en-"] section.section--dark ul,
html[lang^="en-"] section.section--dark > .wrap > ul,
html[lang^="en-"] section.section--dark ol,
html[lang^="en-"] section.section--dark > .wrap > ol,
html[lang^="en-"] #about .about-copy h2,
html[lang^="en-"] #about .about-copy > h2,
html[lang^="en-"] #about .about-copy .title-lg,
html[lang^="en-"] #about .about-copy > .title-lg,
html[lang^="en-"] #about .about-copy .lead,
html[lang^="en-"] #about .about-copy > .lead,
html[lang^="en-"] #about .about-copy p,
html[lang^="en-"] #about .about-copy > p,
html[lang^="en-"] #about .about-copy .eyebrow,
html[lang^="en-"] #about .about-copy > .eyebrow,
html[lang^="en-"] section.section--dark:not(.layer-section) h2,
html[lang^="en-"] section.section--dark:not(.layer-section) > .wrap > h2,
html[lang^="en-"] section.section--dark:not(.layer-section) .title-lg,
html[lang^="en-"] section.section--dark:not(.layer-section) > .wrap > .title-lg,
html[lang^="en-"] section.section--dark:not(.layer-section) .lead,
html[lang^="en-"] section.section--dark:not(.layer-section) > .wrap > .lead,
html[lang^="en-"] section.section--dark:not(.layer-section) .eyebrow,
html[lang^="en-"] section.section--dark:not(.layer-section) > .wrap > .eyebrow,
html[lang^="en-"] #audit .audit-copy ul,
html[lang^="en-"] #audit .audit-copy ol,
html[lang^="en-"] #audit .audit-copy .audit-list,
html[lang^="en-"] #audit .audit-copy .checklist,
html[lang^="en-"] #faq .eyebrow,
html[lang^="en-"] #faq #faq-title{
  text-align:left !important;
  direction:ltr !important;
}


/* DRB-EN-LTR-SPECIFIC :: last few high-specificity right-align rules that the broad EN block did not outrank. Mirrors the exact offending selectors with an html[lang^="en-"] prefix. */
html[lang^="en-"] #audit .audit-deliv li > span:not(.audit-deliv__t),
html[lang^="en-"] #audit .audit-deliv li > span,
html[lang^="en-"] #about .about-grid .about-copy,
html[lang^="en-"] #about .about-grid > .about-copy,
html[lang^="en-"] #about .about-grid .about-copy *{
  text-align:left !important;
  direction:ltr !important;
}

/* DRB-ABOUT-MOBILE-STACK */
@media (max-width: 760px){
  #about .about-grid{
    display:block !important;
    grid-template-columns:none !important;
  }
  #about .about-grid .about-copy{
    order:1 !important; width:auto !important; max-width:none !important; margin:0 !important;
  }
  #about .about-grid .about-portrait,
  #about .about-portrait{
    order:2 !important; float:none !important; position:relative !important;
    margin:32px auto 0 !important; max-width:320px !important; width:100% !important;
    aspect-ratio:3 / 4 !important; height:auto !important; overflow:hidden !important;
  }
}


/* DRB-LOGO-MOBILE-SIZE */
@media (max-width: 900px){
  html body header .brand img,
  html body header a[rel="home"] img{
    height:40px !important;
    width:auto !important;
    max-width:min(60vw, 200px) !important;
  }
}

/* DRB-POLISH-V1 */
@media(min-width:901px){
html body section#work .cases{display:flex!important;flex-wrap:wrap;justify-content:center;gap:20px;align-items:stretch;}
html body section#work .cases > .case-card{flex:0 1 364px;}
.case-card__sector{min-height:58px;}
}
.about-copy .body{margin-top:0.85em;}

/* DRB-REMOVE-SMALL-QUOTE */
html body section.drb-statement .drb-statement__wrap::before{content:none!important;}

/* DRB-AR-CONTENT-CENTER */
@media(min-width:761px){body.page-id-33526 .sysdiag__card--content{left:auto!important;inset-inline-end:auto!important;inset-inline-start:230px!important;}}

/* DRB-SYSDIAG-CSS (moved from mu-plugin) */
.sysdiag__card .sysdiag__card-meter{display:none!important;}
.sysdiag__card--growth{display:none!important;}
.sysdiag__lines #line-growth{display:none!important;}
body.page-id-33526 .sysdiag__lines > circle:last-of-type{display:none!important;}
body.page-id-33550 #line-content{d:path("M 300 401 Q 300 475 300 548")!important;}
body.page-id-33550 .sysdiag__lines > circle:last-of-type{display:none!important;}

/* DRB-ABOUT-PAGE */
.drb-about{display:block;font-family:Tajawal,system-ui,sans-serif;}
.drb-about .drba-wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
.drb-about .drba-eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#e86a5a;font-weight:700;margin:0 0 14px;}
.drb-about .drba-h1{font-weight:900;font-size:clamp(34px,5vw,62px);line-height:1.06;letter-spacing:-.02em;color:#10141e;margin:0 0 22px;}
.drb-about .drba-h2{font-weight:900;font-size:clamp(26px,3.4vw,40px);line-height:1.12;letter-spacing:-.01em;color:#10141e;margin:0 0 16px;}
.drb-about .drba-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:#5a5247;max-width:760px;margin:0;}
.drba-hero{padding:104px 0 56px;}
.drba-origin{padding:46px 0;}
.drba-origin__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start;}
.drba-origin__body p{font-size:17px;line-height:1.75;color:#3a3630;margin:0 0 16px;}
.drba-origin__body p:last-child{margin-bottom:0;}
.drba-founder{padding:56px 0;}
.drba-founder__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;}
.drba-founder__photo{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#f7bdad,#e86a5a);aspect-ratio:4/5;max-width:400px;width:100%;}
.drba-founder__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.drba-founder__tag{position:absolute;inset-inline-start:16px;bottom:16px;background:rgba(16,20,30,.8);color:#fff;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;z-index:2;}
.drba-founder__copy p{font-size:17px;line-height:1.75;color:#3a3630;margin:0 0 16px;}
.drba-founder__copy p:last-child{margin-bottom:0;}
.drba-principles{padding:56px 0;}
.drba-principles__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px;}
.drba-principle{background:#fff;border:1px solid rgba(20,20,30,.07);border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(20,20,30,.05);}
.drba-principle__n{display:inline-block;font-weight:900;color:#e86a5a;font-size:13px;letter-spacing:.12em;margin-bottom:12px;}
.drba-principle h3{font-size:19px;font-weight:800;color:#10141e;margin:0 0 9px;}
.drba-principle p{font-size:15px;line-height:1.6;color:#5a5247;margin:0;}
.drba-build{padding:56px 0;}
.drba-build__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px;}
.drba-card{display:block;background:#10141e;color:#fff;border-radius:18px;padding:26px;text-decoration:none;transition:transform .2s ease;}
.drba-card:hover{transform:translateY(-4px);}
.drba-card h3{font-size:18px;font-weight:800;margin:0 0 9px;color:#fff;}
.drba-card p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.74);margin:0;}
.drba-stats{padding:44px 0;}
.drba-stats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid rgba(20,20,30,.1);border-bottom:1px solid rgba(20,20,30,.1);padding:36px 0;}
.drba-stat{text-align:center;}
.drba-stat__num{display:block;font-weight:900;font-size:clamp(32px,4vw,46px);color:#e86a5a;line-height:1;}
.drba-stat__label{display:block;font-size:14px;color:#5a5247;margin-top:8px;}
.drba-cta{padding:64px 0 96px;}
.drba-cta__inner{background:linear-gradient(160deg,#fff3ee,#fbe1d6);border-radius:28px;padding:56px 40px;text-align:center;}
.drba-cta__inner .drba-h2{margin-bottom:14px;}
.drba-cta__inner p{font-size:18px;color:#5a5247;margin:0 auto 26px;max-width:560px;line-height:1.6;}
.drba-cta__btn{display:inline-block;background:#e86a5a;color:#fff;font-weight:700;font-size:17px;padding:16px 30px;border-radius:999px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;}
.drba-cta__btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(232,106,90,.35);}
@media(max-width:820px){.drba-origin__grid,.drba-founder__grid{grid-template-columns:1fr;gap:26px;}.drba-principles__grid,.drba-build__grid,.drba-stats__grid{grid-template-columns:1fr;}.drba-founder__photo{max-width:100%;}.drba-hero{padding:86px 0 44px;}}

/* DRB-ABOUT-SCROLL-FIX */
body.page-id-11586,body.page-id-11586 .page{overflow-y:auto!important;overflow-x:hidden!important;}

/* DRB-ABOUT-REFINE */
.drb-about .drba-wrap{max-width:1180px;}
.drb-about{position:relative;}
.drb-about::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,rgba(20,20,30,.04) 1px,transparent 1px),linear-gradient(rgba(20,20,30,.04) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:linear-gradient(180deg,#000,#000 58%,transparent);mask-image:linear-gradient(180deg,#000,#000 58%,transparent);}
.drb-about::after{content:"";position:absolute;top:-140px;right:-180px;width:780px;height:780px;border-radius:50%;background:radial-gradient(circle,rgba(232,106,90,.16),transparent 62%);pointer-events:none;z-index:0;}
.drb-about > section{position:relative;z-index:1;}
body.page-id-11586 .drb-timeline{display:none!important;}
.drba-hero{padding:120px 0 60px;}
.drb-about .drba-h1{font-size:clamp(38px,5.4vw,70px);}
.drba-founder__photo{max-width:440px;}
.drba-origin,.drba-founder,.drba-principles,.drba-build{padding:64px 0;}

/* DRB-ABOUT-BRAND */
.drb-about,.drb-about .drba-h1,.drb-about .drba-h2,.drba-line__text,.drb-about .drba-lead,.drb-about p,.drb-about h3,.drb-about span{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;}
.drb-about .drba-eyebrow{color:#FF5A45;letter-spacing:.16em;}
.drba-stat__num,.drba-principle__n,.drba-step__n,.drba-line__text .drba-coral{color:#FF5A45;}
.drb-about::after{background:radial-gradient(circle,rgba(255,90,69,.14),transparent 62%);}
.drb-about .drba-h1{font-size:clamp(40px,6vw,82px);line-height:.96;letter-spacing:-.02em;}
.drba-hero{padding:124px 0 52px;}
.drb-about .drba-lead{font-size:clamp(18px,1.7vw,22px);}
.drba-line{background:#1a1a22;padding:72px 0;margin:30px 0;}
.drba-line .drba-wrap{max-width:1180px;}
.drba-line__text{font-weight:900;font-size:clamp(26px,3.8vw,48px);line-height:1.12;letter-spacing:-.015em;color:#FDF6F2;margin:0;max-width:900px;}
.drba-steps{padding:64px 0;}
.drba-steps__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px;}
.drba-step{background:#fff;border:1px solid rgba(20,20,30,.07);border-radius:18px;padding:28px;box-shadow:0 12px 30px rgba(20,20,30,.05);}
.drba-step__n{display:inline-block;font-weight:900;font-size:13px;letter-spacing:.14em;margin-bottom:14px;}
.drba-step h3{font-size:21px;font-weight:800;color:#10141e;margin:0 0 9px;}
.drba-step p{font-size:15px;line-height:1.6;color:#5a5247;margin:0;}
.drba-principle__n{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:900;}
.drba-founder__photo{background:#1a1a22;}
.drba-cta__inner{background:linear-gradient(160deg,#fff3ef,#ffe4dc);}
.drba-cta__btn{background:#FF5A45;color:#1a1a22;}
.drba-cta__btn:hover{box-shadow:0 14px 30px rgba(255,90,69,.32);}

/* DRB-ABOUT-BRAND-FONT */
body.page-id-11586 .drb-about,
body.page-id-11586 .drb-about .drba-h1,
body.page-id-11586 .drb-about .drba-h2,
body.page-id-11586 .drb-about .drba-eyebrow,
body.page-id-11586 .drb-about .drba-lead,
body.page-id-11586 .drb-about .drba-line__text,
body.page-id-11586 .drb-about h1,
body.page-id-11586 .drb-about h2,
body.page-id-11586 .drb-about h3,
body.page-id-11586 .drb-about p,
body.page-id-11586 .drb-about a,
body.page-id-11586 .drb-about span,
body.page-id-11586 .drb-about div{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;}

/* DRB-ABOUT-FULLWIDTH */
body.page-id-11586 .page{max-width:none!important;width:auto!important;}
body.page-id-11586 .drb-about{max-width:none!important;width:auto!important;}
body.page-id-11586 .drba-hero,
body.page-id-11586 .drba-line,
body.page-id-11586 .drba-origin,
body.page-id-11586 .drba-steps,
body.page-id-11586 .drba-founder,
body.page-id-11586 .drba-principles,
body.page-id-11586 .drba-stats,
body.page-id-11586 .drba-cta{width:auto!important;max-width:none!important;}
body.page-id-11586 .drba-hero .drba-wrap{max-width:1560px!important;}

/* DRB-ABOUT-FW2 */
body.page-id-11586 .drb-about{width:100%!important;max-width:none!important;align-self:stretch!important;}

/* DRB-ABOUT-FW3 */
body.page-id-11586 .page{width:100%!important;max-width:none!important;}
body.page-id-11586 .topbar,
body.page-id-11586 .footer{width:100%!important;max-width:none!important;}

/* DRB-ABOUT-ELEVATE */
@media (min-width:921px){
body.page-id-11586 .drba-hero .drba-wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.82fr);align-items:center;gap:50px;max-width:1480px!important;width:100%;margin-inline:auto;}
body.page-id-11586 .drba-hero .drba-wrap>*{grid-column:1;justify-self:start;}
body.page-id-11586 .drba-hero .drba-wrap::before,
body.page-id-11586 .drba-hero .drba-wrap::after{content:"";grid-column:2;grid-row:1/-1;align-self:center;justify-self:center;width:min(440px,94%);aspect-ratio:1;pointer-events:none;}
body.page-id-11586 .drba-hero .drba-wrap::before{border-radius:50%;border:1.5px dashed rgba(20,20,30,.16);}
body.page-id-11586 .drba-hero .drba-wrap::after{background:url(/wp-content/uploads/drba-hero-motif.svg) center/contain no-repeat;}
}
@keyframes drbaSpin{to{transform:rotate(360deg);}}
@keyframes drbaFloat{0%,100%{transform:translateY(-6px);}50%{transform:translateY(6px);}}
@keyframes drbaReveal{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:no-preference) and (min-width:921px){
body.page-id-11586 .drba-hero .drba-wrap::before{animation:drbaSpin 70s linear infinite;}
body.page-id-11586 .drba-hero .drba-wrap::after{animation:drbaFloat 7s ease-in-out infinite;}
}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
body.page-id-11586 .drba-origin .drba-wrap,
body.page-id-11586 .drba-steps__grid,
body.page-id-11586 .drba-founder .drba-wrap,
body.page-id-11586 .drba-principles .drba-wrap,
body.page-id-11586 .drba-stats .drba-wrap,
body.page-id-11586 .drba-cta__inner{animation:drbaReveal both linear;animation-timeline:view();animation-range:entry 6% entry 42%;}
}
}
body.page-id-11586 .drba-step,
body.page-id-11586 .drba-principle{transition:transform .28s cubic-bezier(.2,.7,.3,1),box-shadow .28s ease,border-color .28s ease;}
body.page-id-11586 .drba-step:hover,
body.page-id-11586 .drba-principle:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(20,20,30,.10);border-color:rgba(255,90,69,.40);}
body.page-id-11586 .drba-cta__btn{transition:transform .25s ease,box-shadow .25s ease;}
body.page-id-11586 .drba-cta__btn:hover{transform:translateY(-2px);}

/* DRB-ABOUT-ELEVATE2 */
body.page-id-11586 .drb-about .drba-h1{font-size:clamp(36px,4.4vw,64px)!important;}
body.page-id-11586 .drba-hero{padding:92px 0 44px!important;}
@media (min-width:921px){
body.page-id-11586 .drba-hero .drba-wrap::before,
body.page-id-11586 .drba-hero .drba-wrap::after{width:min(380px,88%)!important;}
}

/* DRB-ABOUT-ALIGN */
body.page-id-11586,
body.page-id-11586 .page{overflow:visible!important;}
@media (min-width:921px){
body.page-id-11586 .drba-hero .drba-wrap{max-width:1180px!important;grid-template-columns:minmax(0,1fr) minmax(0,360px)!important;gap:44px!important;}
}
body.page-id-11586 .drba-line .drba-wrap,
body.page-id-11586 .drba-stats .drba-wrap,
body.page-id-11586 .drba-cta .drba-wrap{width:100%!important;max-width:1180px!important;}
body.page-id-11586 .drba-line .drba-wrap{justify-content:flex-start!important;}
body.page-id-11586 .drba-stats .drba-wrap{justify-content:start!important;}

/* DRB-ABOUT-REVEAL */
body.page-id-11586,
body.page-id-11586 .page{overflow-x:hidden!important;overflow-y:auto!important;}
@media (prefers-reduced-motion:no-preference){
body.page-id-11586 .drba-reveal{animation:none!important;opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1);will-change:opacity,transform;}
body.page-id-11586 .drba-reveal.is-in{opacity:1;transform:none;}
}

/* DRB-ABOUT-REVEAL2 */
html body.page-id-11586 .drba-reveal{transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)!important;}

/* DRB-ABOUT-AR : Arabic About (page-id-12764), RTL, Tajawal */
body.page-id-12764 .drb-about,
body.page-id-12764 .drb-about h1,
body.page-id-12764 .drb-about h2,
body.page-id-12764 .drb-about h3,
body.page-id-12764 .drb-about p,
body.page-id-12764 .drb-about span,
body.page-id-12764 .drb-about a,
body.page-id-12764 .drb-about div{font-family:'Tajawal',system-ui,-apple-system,'Segoe UI',Tahoma,Arial,sans-serif!important;}
body.page-id-12764,
body.page-id-12764 .page{overflow-x:hidden!important;overflow-y:auto!important;}
body.page-id-12764 .page{width:100%!important;max-width:none!important;}
body.page-id-12764 .drb-about{width:100%!important;max-width:none!important;align-self:stretch!important;}
body.page-id-12764 .topbar,
body.page-id-12764 .footer{width:100%!important;max-width:none!important;}
body.page-id-12764 .drb-about .drba-h1{font-size:clamp(36px,4.4vw,64px)!important;line-height:1.05;letter-spacing:-.01em;}
body.page-id-12764 .drba-hero{padding:92px 0 44px!important;}
body.page-id-12764 .drba-line .drba-wrap,
body.page-id-12764 .drba-stats .drba-wrap,
body.page-id-12764 .drba-cta .drba-wrap{width:100%!important;max-width:1180px!important;}
body.page-id-12764 .drba-line .drba-wrap,
body.page-id-12764 .drba-stats .drba-wrap{justify-content:flex-start!important;}
@media (min-width:921px){
body.page-id-12764 .drba-hero .drba-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px)!important;align-items:center;gap:44px;max-width:1180px!important;width:100%;margin-inline:auto;}
body.page-id-12764 .drba-hero .drba-wrap>*{grid-column:1;justify-self:start;}
body.page-id-12764 .drba-hero .drba-wrap::before,
body.page-id-12764 .drba-hero .drba-wrap::after{content:"";grid-column:2;grid-row:1/-1;align-self:center;justify-self:center;width:min(380px,88%);aspect-ratio:1;pointer-events:none;}
body.page-id-12764 .drba-hero .drba-wrap::before{border-radius:50%;border:1.5px dashed rgba(20,20,30,.16);}
body.page-id-12764 .drba-hero .drba-wrap::after{background:url(/wp-content/uploads/drba-hero-motif.svg) center/contain no-repeat;}
}
@media (prefers-reduced-motion:no-preference) and (min-width:921px){
body.page-id-12764 .drba-hero .drba-wrap::before{animation:drbaSpin 70s linear infinite;}
body.page-id-12764 .drba-hero .drba-wrap::after{animation:drbaFloat 7s ease-in-out infinite;}
}

/* DRB-ABOUT-AUDITFIX */
body.page-id-11586 .drba-eyebrow,
body.page-id-12764 .drba-eyebrow{color:#C0392B!important;}
body.page-id-11586 .drba-founder__photo,
body.page-id-12764 .drba-founder__photo{aspect-ratio:4/5;overflow:hidden;}
body.page-id-11586 .drba-founder__photo img,
body.page-id-12764 .drba-founder__photo img{filter:grayscale(.5) contrast(1.04);}
.drba-midcta{display:flex;justify-content:center;margin:6px 0 52px;padding:0 24px;}
.drba-midcta .drba-cta__btn{margin:0;}

/* DRB-ABOUT-AR-TIMELINE-HIDE */
body.page-id-12764 .drb-timeline{display:none!important;}


/* ===================================================================
   DRB-ABOUT-ELEVATE-V3  (brand-aligned: Cream/Ink/Coral, Inter/Tajawal)
   Targets EN About (11586) + AR About (12764)
   Brand rules: 60/30/10, coral capped + one job, no float/spin,
   no layout-shifting hovers, ink for hooks/quotes/CTAs, fade+rise motion,
   signature "draw from core outward, core lights coral last".
   Paired with JS appended to drba-reveal.js (injects the SVG + delays).
   =================================================================== */

/* ---- 1. HERO DIAGRAM CONTAINER ---- */
/* Hide the old static motif AND the spinning ring pseudo-elements (brand: no spin/float). */
body.page-id-11586 .drba-hero .drba-wrap::before,
body.page-id-11586 .drba-hero .drba-wrap::after,
body.page-id-12764 .drba-hero .drba-wrap::before,
body.page-id-12764 .drba-hero .drba-wrap::after{
  display:none!important;content:none!important;background:none!important;animation:none!important;}

/* Injected diagram: fixed px size (avoids cyclic grid+aspect-ratio layout), desktop only. */
@media (min-width:921px){
  body.page-id-11586 .drba-hero .drba-wrap .drba-figure,
  body.page-id-12764 .drba-hero .drba-wrap .drba-figure{
    grid-column:2;grid-row:1;align-self:center;justify-self:center;
    width:430px;height:430px;max-width:92%;position:relative;z-index:1;}
}
@media (max-width:920px){.drba-figure{display:none!important;}}

.drba-net{display:block;width:100%;height:100%;overflow:visible;}
.drba-net .drba-net__ring{fill:none;stroke:rgba(26,26,34,.10);stroke-width:1.5;}      /* faint STATIC ring (baked into SVG) */
.drba-net .drba-net__link{stroke:#1A1A22;stroke-width:2;fill:none;stroke-linecap:round;}
.drba-net .drba-net__node{fill:#1A1A22;}
.drba-net .drba-net__core{fill:#FF5A45;}  /* coral by default = reduced-motion final state; JS sets ink first so it lights coral LAST */

/* ---- 2. SIGNATURE MOTION: draw once on load (brand SS14). Delays are set inline by JS. ---- */
@media (prefers-reduced-motion:no-preference){
  .drba-net.is-drawing .drba-net__link{animation:drbaDraw .6s cubic-bezier(.2,.7,.3,1) forwards;}
  .drba-net.is-drawing .drba-net__node{transform:scale(0);transform-box:fill-box;transform-origin:center;
    animation:drbaPop .42s cubic-bezier(.2,.7,.3,1) forwards;}
  .drba-net.is-drawing .drba-net__core{transform:scale(.55);transform-box:fill-box;transform-origin:center;
    animation:drbaCore .55s cubic-bezier(.2,.7,.3,1) forwards;}
}
@keyframes drbaDraw{to{stroke-dashoffset:0;}}
@keyframes drbaPop{from{transform:scale(0);}to{transform:scale(1);}}
@keyframes drbaCore{0%{transform:scale(.55);fill:#1A1A22;}60%{transform:scale(1.14);fill:#FF5A45;}100%{transform:scale(1);fill:#FF5A45;}}

/* ---- 3. EYEBROW: coral never for text (brand SS05). Ink label + coral node dot (coral as shape). ---- */
body.page-id-11586 .drba-eyebrow,
body.page-id-12764 .drba-eyebrow{
  color:#1A1A22!important;display:inline-flex!important;align-items:center;gap:.55em;
  letter-spacing:.16em;font-weight:700;opacity:.92;}
body.page-id-11586 .drba-eyebrow::before,
body.page-id-12764 .drba-eyebrow::before{
  content:"";width:.5em;height:.5em;border-radius:50%;background:#FF5A45;flex:0 0 auto;}

/* ---- 4. INK BACKGROUNDS for hooks / CTA (brand SS10) ---- */
body.page-id-11586 .drba-line,
body.page-id-12764 .drba-line{background:#1A1A22!important;padding-top:62px!important;padding-bottom:62px!important;}
body.page-id-11586 .drba-line .drba-line__text,
body.page-id-12764 .drba-line .drba-line__text{color:#FDF6F2!important;}
body.page-id-11586 .drba-line .drba-coral,
body.page-id-12764 .drba-line .drba-coral{color:#FF5A45!important;}  /* single coral word, large display = allowed */

body.page-id-11586 .drba-cta,
body.page-id-12764 .drba-cta{background:#1A1A22!important;}
body.page-id-11586 .drba-cta .drba-h2,
body.page-id-11586 .drba-cta p,
body.page-id-12764 .drba-cta .drba-h2,
body.page-id-12764 .drba-cta p{color:#FDF6F2!important;}
body.page-id-11586 .drba-cta .drba-cta__btn,
body.page-id-12764 .drba-cta .drba-cta__btn{
  background:#FF5A45!important;color:#1A1A22!important;border:none!important;
  transition:background-color .3s ease!important;transform:none!important;font-weight:800;}
body.page-id-11586 .drba-cta .drba-cta__btn:hover,
body.page-id-12764 .drba-cta .drba-cta__btn:hover{
  background:#E84A35!important;color:#1A1A22!important;transform:none!important;}  /* coral -8%, nothing moves */

/* ---- 5. HOVERS: nothing moves, nothing shifts layout (brand SS14) ---- */
body.page-id-11586 .drba-step,
body.page-id-12764 .drba-step{
  border:1px solid rgba(26,26,34,.08)!important;
  transition:border-color .3s ease, box-shadow .3s ease!important;}
body.page-id-11586 .drba-step:hover,
body.page-id-12764 .drba-step:hover{
  transform:none!important;border-color:#FF5A45!important;
  box-shadow:0 10px 30px -18px rgba(26,26,34,.35)!important;}
body.page-id-11586 .drba-principle:hover,
body.page-id-12764 .drba-principle:hover{transform:none!important;}
body.page-id-11586 .drba-step__n,
body.page-id-12764 .drba-step__n{color:#1A1A22!important;opacity:.30;font-weight:800;}

/* ---- 6. FOUNDER PHOTO: natural treatment + subtle ink grounding (brand SS11) ---- */
body.page-id-11586 .drba-founder__photo,
body.page-id-12764 .drba-founder__photo{position:relative;overflow:hidden;aspect-ratio:4/5;}
body.page-id-11586 .drba-founder__photo img,
body.page-id-12764 .drba-founder__photo img{
  filter:none!important;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
body.page-id-11586 .drba-founder__photo::after,
body.page-id-12764 .drba-founder__photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(26,26,34,0) 62%,rgba(26,26,34,.28) 100%);}

/* ---- 7. REVEAL: fade + 12px rise, ease-out ~450ms (brand SS14 standard transition) ---- */
@media (prefers-reduced-motion:no-preference){
  html body.page-id-11586 .drba-reveal,
  html body.page-id-12764 .drba-reveal{
    opacity:0;transform:translateY(12px)!important;
    transition:opacity .45s ease-out, transform .45s ease-out!important;will-change:opacity,transform;}
  html body.page-id-11586 .drba-reveal.is-in,
  html body.page-id-12764 .drba-reveal.is-in{opacity:1;transform:none!important;}
}


/* ===================================================================
   DRB-ABOUT-FIXES-V1  (audit fixes — appended after ELEVATE-V3)
   #1 sticky header (pin to viewport), #8 founder on ink,
   #5 reveal hidden process timeline (EN has real content).
   =================================================================== */

/* ---- FIX #1: HEADER — pin to viewport on About + AR (they use native scroll,
   so position:sticky scrolls away; position:fixed is viewport-relative). ---- */
body.page-id-11586 .topbar,
body.page-id-12764 .topbar{
  position:fixed!important;top:0;left:0;right:0;width:100%;z-index:99999!important;}
/* content offset so the hero clears the now-fixed header (JS refines to exact px) */
body.page-id-11586 .drb-about,
body.page-id-12764 .drb-about{padding-top:112px;}

/* ---- FIX #8: FOUNDER section on ink (brand SS10/SS11 — strengthens 60/30/10) ---- */
body.page-id-11586 .drba-founder,
body.page-id-12764 .drba-founder{background:#1A1A22!important;}
body.page-id-11586 .drba-founder .drba-h2,
body.page-id-11586 .drba-founder .drba-founder__copy p,
body.page-id-11586 .drba-founder p,
body.page-id-12764 .drba-founder .drba-h2,
body.page-id-12764 .drba-founder .drba-founder__copy p,
body.page-id-12764 .drba-founder p{color:#FDF6F2!important;}
/* eyebrow text must flip to cream on ink (its coral dot stays coral) */
body.page-id-11586 .drba-founder .drba-eyebrow,
body.page-id-12764 .drba-founder .drba-eyebrow{color:#FDF6F2!important;}
body.page-id-11586 .drba-founder .drba-founder__tag,
body.page-id-12764 .drba-founder .drba-founder__tag{color:#FDF6F2!important;opacity:.9;}

/* ---- FIX #5: SHOW the process timeline on EN (real content: 90-min session,
   48-hr report, system build). AR is un-hidden only after AR content is added. ---- */
body.page-id-11586 .drb-timeline{display:block!important;}

/* AR timeline show */
body.page-id-12764 .drb-timeline{display:block!important;}

/* DRB-ALIGN-FIX */
body.page-id-11586 .drb-timeline,body.page-id-12764 .drb-timeline{width:100%!important;max-width:100%!important;}
body.page-id-11586 .drb-timeline__inner,body.page-id-12764 .drb-timeline__inner{margin-left:auto!important;margin-right:auto!important;max-width:1180px;padding-left:24px;padding-right:24px;box-sizing:border-box;}
body.page-id-11586 .drba-cta__inner,body.page-id-12764 .drba-cta__inner{background:none!important;}

body.page-id-11586 .drba-hero .drba-wrap .drba-figure,body.page-id-12764 .drba-hero .drba-wrap .drba-figure{grid-row:1 / -1 !important;align-self:center !important;}

/* DRB-HERO-ALIGN2 */
@media (min-width:921px){
body.page-id-11586 .drba-hero .drba-wrap,body.page-id-12764 .drba-hero .drba-wrap{position:relative!important;}
body.page-id-11586 .drba-hero .drba-wrap .drba-figure,body.page-id-12764 .drba-hero .drba-wrap .drba-figure{position:absolute!important;top:50
/* DRB-MOBILE-FIX */
@media (max-width:820px){
body.page-id-11586 .drba-steps__grid,body.page-id-12764 .drba-steps__grid,body.page-id-11586 .drba-principles__grid,body.page-id-12764 .drba-principles__grid,body.page-id-11586 .drba-stats__grid,body.page-id-12764 .drba-stats__grid,body.page-id-11586 .drba-founder__grid,body.page-id-12764 .drba-founder__grid,body.page-id-11586 .drba-origin__grid,body.page-id-12764 .drba-origin__grid,body.page-id-11586 .drb-timeline__steps,body.page-id-12764 .drb-timeline__steps{grid-template-columns:1fr!important;}
body.page-id-11586 .drb-about,body.page-id-12764 .drb-about,body.page-id-11586 .drb-timeline,body.page-id-12764 .drb-timeline{overflow-x:hidden!important;}
}

/* ===================================================================
   DRB-POLISH-V1  (spacing rhythm + readability + hero header clearance)
   =================================================================== */

/* ---- Spacing rhythm: one disciplined scale (desktop) ---- */
@media (min-width:768px){
  body.page-id-11586 .drba-hero,body.page-id-12764 .drba-hero{padding-top:118px!important;padding-bottom:90px!important;}
  /* logo clears the fixed header + doesn't run into the next band */
  body.page-id-11586 .drba-hero .drba-wrap .drba-figure,body.page-id-12764 .drba-hero .drba-wrap .drba-figure{width:360px!important;height:360px!important;}
  body.page-id-11586 .drba-line,body.page-id-12764 .drba-line{padding-top:72px!important;padding-bottom:72px!important;}
  body.page-id-11586 .drba-origin,body.page-id-12764 .drba-origin,
  body.page-id-11586 .drba-steps,body.page-id-12764 .drba-steps,
  body.page-id-11586 .drba-founder,body.page-id-12764 .drba-founder,
  body.page-id-11586 .drba-principles,body.page-id-12764 .drba-principles,
  body.page-id-11586 .drb-timeline,body.page-id-12764 .drb-timeline{padding-top:88px!important;padding-bottom:88px!important;}
  body.page-id-11586 .drba-stats,body.page-id-12764 .drba-stats{padding-top:72px!important;padding-bottom:72px!important;}
  body.page-id-11586 .drba-cta,body.page-id-12764 .drba-cta{padding-top:88px!important;padding-bottom:96px!important;}
}
/* ---- Spacing rhythm (mobile): tighter, even ---- */
@media (max-width:767px){
  body.page-id-11586 .drba-hero,body.page-id-12764 .drba-hero{padding-top:60px!important;padding-bottom:48px!important;}
  body.page-id-11586 .drba-line,body.page-id-12764 .drba-line,
  body.page-id-11586 .drba-origin,body.page-id-12764 .drba-origin,
  body.page-id-11586 .drba-steps,body.page-id-12764 .drba-steps,
  body.page-id-11586 .drba-founder,body.page-id-12764 .drba-founder,
  body.page-id-11586 .drba-principles,body.page-id-12764 .drba-principles,
  body.page-id-11586 .drba-stats,body.page-id-12764 .drba-stats,
  body.page-id-11586 .drba-cta,body.page-id-12764 .drba-cta,
  body.page-id-11586 .drb-timeline,body.page-id-12764 .drb-timeline{padding-top:56px!important;padding-bottom:56px!important;}
}

/* ---- Readability: one body size + comfortable measure ---- */
body.page-id-11586 .drba-step p,body.page-id-12764 .drba-step p{font-size:17px!important;line-height:1.6!important;}
body.page-id-11586 .drba-lead{color:#3a3630!important;}  /* darker hero lead, better contrast */
body.page-id-11586 .drba-lead,
body.page-id-11586 .drba-origin__body p,
body.page-id-11586 .drba-founder__copy p{max-width:64ch;}

/* ---- Arabic readability: more line-height + tighter measure (brand SS07) ---- */
body.page-id-12764 .drba-lead,
body.page-id-12764 .drba-origin__body p,
body.page-id-12764 .drba-founder__copy p,
body.page-id-12764 .drba-step p{line-height:1.85!important;}
body.page-id-12764 .drba-lead,
body.page-id-12764 .drba-origin__body p,
body.page-id-12764 .drba-founder__copy p{max-width:60ch;}

/* ===== DRB-POLISH-FORCE (higher specificity to beat the stale wp_head inline) ===== */
@media (min-width:768px){
  html body.page-id-11586 .drba-hero,html body.page-id-12764 .drba-hero{padding-top:118px!important;padding-bottom:90px!important;}
  html body.page-id-11586 .drba-hero .drba-wrap .drba-figure,html body.page-id-12764 .drba-hero .drba-wrap .drba-figure{width:360px!important;height:360px!important;}
  html body.page-id-11586 .drba-line,html body.page-id-12764 .drba-line{padding-top:72px!important;padding-bottom:72px!important;}
  html body.page-id-11586 .drba-origin,html body.page-id-12764 .drba-origin,
  html body.page-id-11586 .drba-steps,html body.page-id-12764 .drba-steps,
  html body.page-id-11586 .drba-founder,html body.page-id-12764 .drba-founder,
  html body.page-id-11586 .drba-principles,html body.page-id-12764 .drba-principles,
  html body.page-id-11586 .drb-timeline,html body.page-id-12764 .drb-timeline{padding-top:88px!important;padding-bottom:88px!important;}
  html body.page-id-11586 .drba-stats,html body.page-id-12764 .drba-stats{padding-top:72px!important;padding-bottom:72px!important;}
  html body.page-id-11586 .drba-cta,html body.page-id-12764 .drba-cta{padding-top:88px!important;padding-bottom:96px!important;}
}
html body.page-id-11586 .drba-step p,html body.page-id-12764 .drba-step p{font-size:17px!important;line-height:1.6!important;}
html body.page-id-11586 .drba-lead{color:#3a3630!important;}
html body.page-id-11586 .drba-lead,html body.page-id-11586 .drba-origin__body p,html body.page-id-11586 .drba-founder__copy p{max-width:64ch!important;}
html body.page-id-12764 .drba-lead,html body.page-id-12764 .drba-origin__body p,html body.page-id-12764 .drba-founder__copy p,html body.page-id-12764 .drba-step p{line-height:1.85!important;}
html body.page-id-12764 .drba-lead,html body.page-id-12764 .drba-origin__body p,html body.page-id-12764 .drba-founder__copy p{max-width:60ch!important;}

/* DRB mobile fix AR+EN */
@media (max-width: 900px){ html body header.topbar .wrap.topbar__row{ background:#FDF6F2 !important; } html body header.topbar .drb-langswitch{ position:absolute !important; top:50% !important; transform:translateY(-50%) !important; inset-inline-end:54px !important; inset-inline-start:auto !important; height:auto !important; margin:0 !important; } }

/* DRB mobile fix v2 (higher specificity) AR+EN */
@media (max-width: 900px){ html body header.topbar.topbar .wrap.topbar__row.topbar__row{ background:#FDF6F2 !important; } html body header.topbar.topbar .drb-langswitch.drb-langswitch{ position:absolute !important; top:50% !important; transform:translateY(-50%) !important; inset-inline-end:54px !important; inset-inline-start:auto !important; height:auto !important; margin:0 !important; } }

}}
/* === v28 LANGSWITCH CLEARANCE (2026-07-18) === */
@media (min-width: 761px) and (max-width: 900px){
  html body header.topbar .topbar__row .drb-langswitch{
    inset-inline-end: 158px !important;
  }
}
@media (max-width: 360px){
  html body header.topbar .topbar__row .drb-langswitch{
    padding: 3px 6px !important;
    font-size: 11px !important;
    gap: .25rem !important;
  }
  html body header.topbar .topbar__row .drb-langswitch .drb-langswitch__btn{
    min-width: 20px !important;
    padding: 2px 3px !important;
  }
}

/* === v29 BLOG POST HEADER DECLUTTER (2026-07-18) === */
/* Featured image = clean banner; title+meta on cream band below. */
html body .bricks-post-header.has-image{
  min-height: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  background-size: cover !important;
  background-position: center !important;
  padding: 0 !important;
}
html body .bricks-post-header.has-image::after{
  content: '';
  display: block;
  order: -1;
  width: 100%;
  aspect-ratio: 21 / 9;
  min-height: 240px;
  max-height: 430px;
}
html body .bricks-post-header.has-image .brxe-container{
  background: #FDF6F2 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 26px clamp(20px, 6vw, 64px) 22px !important;
  border-bottom: 1px solid rgba(26,26,34,.08);
}
html body .bricks-post-header.has-image .brxe-post-title{
  color: #1A1A22 !important;
  text-shadow: none !important;
  font-size: clamp(26px, 4.5vw, 42px) !important;
  line-height: 1.3 !important;
  margin: 0 0 10px !important;
}
html body .bricks-post-header.has-image .brxe-post-meta,
html body .bricks-post-header.has-image .brxe-post-meta .item,
html body .bricks-post-header.has-image .brxe-post-meta .separator{
  color: rgba(26,26,34,.62) !important;
  text-shadow: none !important;
}

/* === v30 ANCHOR SCROLL FIX (2026-07-19) ===
   scroll-behavior:smooth is starved by the drbfx rAF loops in Chromium,
   killing ALL anchor navigation (nav, hero CTA, footer) until first manual
   scroll. Instant jumps are reliable; scroll-margin-top 92px keeps offset. */
html{scroll-behavior:auto !important}

/* === v31 AI LAYER-CARDS: remove skeleton-looking child backgrounds (2026-07-19) === */
html body .layer-card__head,
html body .layer-card__title,
html body .layer-card__body{
  background: transparent !important;
}

/* ============================================================
   v32 — 2026-07-26 — brand + WCAG correctness (AR + EN, all breakpoints)
   Colour-only and font-feature-only. No layout, spacing or size changes,
   so responsive behaviour is unaffected by construction.

   Coral system (measured against the real rendered surfaces):
     #FF5A45  brand  — fills, and coral text on dark ink (5.96:1) ....... unchanged
     #d4523f  deep   — LARGE coral display text on light (3.87:1 cream)
     #ad3b28  ink    — SMALL coral text on light (5.72 cream / 4.80 cream-2)
   Retires the drifted values #e86a5a, #e85a4f, #E85A4F on light surfaces.
   ============================================================ */

/* --- tokens so future work has one place to reach for --- */
:root{
  --drb-coral: #FF5A45;        /* fills + on-dark text */
  --drb-coral-deep: #d4523f;   /* large display text on light */
  --drb-coral-ink: #ad3b28;    /* small text on light */
}

/* --- 1. LARGE coral display text on light surfaces ---------------------
   was #e86a5a = 2.96:1 on cream, which fails WCAG AA-large (needs 3:1). */
html body .under-1,
html body #hero-title .under-1,
html body #audit-title span,
html body .hero__text .under-1{
  color: var(--drb-coral-deep) !important;   /* 3.87:1 on #fdf6f2 */
}

/* --- 2. SMALL coral text on light surfaces -----------------------------
   Step numerals and eyebrow-scale coral sit below the 18.66px-bold /
   24px large-text threshold, so they need the full 4.5:1. */
html body .audit-deliv__t,
html body .drb-step__num,
html body .drba-step__n{
  color: var(--drb-coral-ink) !important;    /* 5.72:1 cream, 4.80:1 cream-2 */
}

/* --- 3. Numerals: Western sitewide (locked brand rule) -----------------
   The two Arabic-Indic converters were removed from drb-overrides.php
   on 2026-07-26. `lnum 0` was forcing non-lining figures on the stats;
   lining + tabular is correct for an aligned stat row. */
html body .stat__num{
  font-feature-settings: "lnum" 1, "tnum" 1 !important;
  font-variant-numeric: lining-nums tabular-nums !important;
}

/* ------------------------------------------------------------------
   v32.1 — 2026-07-26 — specificity correction to v32.
   v32 set `html body .drb-step__num` (0,2,2 with !important) but LOST to
   `.drb-timeline .drb-step__num` (0,2,0 !important), which is declared twice
   inside @media (min-width:901px) and @media (max-width:900px) — i.e. at every
   viewport. Same !important, and the timeline rule appears later, so it won.
   Measured result of that loss: 13px/700 #e85a4f on #fdf2f1 = 3.18:1 (needs 4.5).
   Fixed by matching the timeline scope explicitly at both breakpoints.
   ------------------------------------------------------------------ */
html body .drb-timeline .drb-step__num,
html body .drb-timeline .drb-step__dur{
  color: var(--drb-coral-ink) !important;   /* #ad3b28 */
}
@media (min-width: 901px){
  html body .drb-timeline .drb-step__num{ color: var(--drb-coral-ink) !important; }
}
@media (max-width: 900px){
  html body .drb-timeline .drb-step__num{ color: var(--drb-coral-ink) !important; }
}

/* ==========================================================
   v33 — 2026-07-26 — case-card contrast (WCAG AA)
   Found while building /systems/operations/, but the defect is shared:
   the same component renders in the homepage #work section.

   .case-card__num  18px  #e86a5a on #ece3d2 = 2.48:1  (needs 4.5)
   .case-card__label 11px #e86a5a on #ece3d2 = 2.48:1  (needs 4.5)

   Both are SMALL coral text on a light surface, so the v32 system says
   --drb-coral-ink (#ad3b28) = 4.80:1 on cream-2. Colour only; no layout impact.
   Doubled class selectors so this does not lose a specificity war the way v32 did.
   ========================================================== */
html body .case-card__num.case-card__num,
html body .case-card__label.case-card__label{
  color: var(--drb-coral-ink) !important;   /* #ad3b28 — 4.80:1 on #ece3d2 */
}

/* ==========================================================
   v34 — 2026-07-26 — contrast fixes found on the new /systems/ pages.
   Several are shared components, so these also repair the homepage.

   CRITICAL (introduced by placing light-surface components on dark sections):
     .section--dark .btn-ghost     rgb(26,26,34) on rgb(16,20,30)  = 1.06:1  (invisible)
     .section--dark .sys-footnote  white text on its own cream pill = 1.27:1  (invisible)

   PRE-EXISTING small text below 4.5:1 on light surfaces:
     .eyebrow 12px 2.23 · .sysv2__price-label/note 11px 3.60
     .case-card__domain 12px 3.02 · .cases__note 18px 3.60

   Colour only. No layout, spacing or size changes — responsive-safe by construction.
   Doubled/scoped selectors so these do not lose a specificity war.
   ========================================================== */

/* --- 1. dark-section corrections (CRITICAL) --- */
html body .section--dark .btn-ghost,
html body .final-cta .btn-ghost{
  color: var(--on-dark, #f4ede1) !important;
  border-color: rgba(244, 237, 225, .38) !important;
}
html body .section--dark .sys-footnote,
html body .final-cta .sys-footnote{
  background: transparent !important;
  color: var(--on-dark-soft, #b7b3a8) !important;
}
html body .section--dark .sys-footnote a,
html body .final-cta .sys-footnote a{
  color: var(--on-dark, #f4ede1) !important;
}

/* --- 2. small text on LIGHT surfaces (>=4.5:1) --- */
html body .eyebrow.eyebrow{ color: var(--drb-coral-ink, #ad3b28) !important; }        /* 5.72:1 on cream */
html body .section--dark .eyebrow.eyebrow{ color: #f0a08e !important; }               /* keep it light on ink */

html body .sysv2__price-label.sysv2__price-label,
html body .sysv2__price-note.sysv2__price-note,
html body .case-card__domain.case-card__domain,
html body .cases__note.cases__note{
  color: var(--text-soft, #5a5247) !important;                                        /* 7.19:1 on cream */
}
html body .section--dark .cases__note.cases__note{
  color: var(--on-dark-soft, #b7b3a8) !important;
}

/* ==========================================================
   v35 — 2026-07-26 — last two contrast items on /systems/*, plus an off-brand link colour.

   1. .report__foot span  #8a816f on #fff = 3.85:1 (needs 4.5). Pre-existing component,
      so this also repairs the homepage report mock.
   2. Inline links inside .sys-footnote and .principle__body were rendering
      rgb(50,162,193) — a DEFAULT CYAN. Off-brand and 2.33:1 on cream-2.
      Nothing in the design system styles a plain <a> inside these components.

   Colour only. Light and dark contexts handled separately.
   ========================================================== */

/* 1. report footer meta labels */
html body .report__foot span{
  color: var(--text-soft, #5a5247) !important;      /* 7.7:1 on white */
}

/* 2a. inline links on LIGHT surfaces */
html body .sys-footnote a,
html body .principle__body a,
html body .cases__note a{
  color: var(--drb-coral-ink, #ad3b28) !important;  /* 4.80:1 on cream-2, 5.72:1 on cream */
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 2b. same links on DARK surfaces */
html body .section--dark .sys-footnote a,
html body .section--dark .principle__body a,
html body .section--dark .cases__note a,
html body .final-cta .sys-footnote a{
  color: var(--on-dark, #f4ede1) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body .section--dark .principle__body a:hover,
html body .sys-footnote a:hover{
  opacity: .82;
}

/* ==========================================================
   v36 — 2026-07-26 — layout corrections on /systems/* ("broken and boxed").

   Root causes found by measuring, not guessing:
   1. .layer-card gives EVERY child (__head, __title, __body) its own
      1px solid rgba(255,255,255,.04) border + panel background. Boxes inside
      boxes — the v31 "skeleton" look. Scoped to the new pages so the
      homepage AI-layer section is untouched.
   2. New helper classes for the price line, risk line and cross-links.

   All scoped by [data-bricks-section^="sys-"] / [data-bricks-section^="hub-"],
   so nothing here can affect the homepage, about, blog or contact.
   ========================================================== */

/* 1. de-box the pillar cards: keep ONE card edge, remove the inner panels */
html body [data-bricks-section="sys-pillars"] .layer-card__head,
html body [data-bricks-section="sys-pillars"] .layer-card__title,
html body [data-bricks-section="sys-pillars"] .layer-card__body{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body [data-bricks-section="sys-pillars"] .layer-card{
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
}

/* 2. price line in the hero — emphasis without a box */
html body .drb-priceline{
  margin-top: 6px !important;
  font-size: 17px !important;
}
html body .drb-priceline strong{ color: var(--drb-coral-ink, #ad3b28) !important; }
html body .section--dark .drb-priceline strong{ color: var(--drb-coral, #FF5A45) !important; }

/* 3. risk-reduction line under the CTAs — quiet, not a box */
html body .drb-risk{
  margin-top: 14px !important;
  font-size: 15px !important;
  color: var(--text-soft, #5a5247) !important;
  max-width: 640px;
}
html body .section--dark .drb-risk{ color: var(--on-dark-soft, #b7b3a8) !important; }

/* 4. cross-links: text rows with a hairline rule, no cards */
html body .drb-xlink{
  padding: 22px 0 !important;
  border-block-end: 1px solid rgba(26,26,34,.10) !important;
}
html body .drb-xlink:last-of-type{ border-block-end: 0 !important; }
html body .drb-xlink h3{ margin: 0 0 6px !important; }
html body .drb-xlink h3 a{
  color: var(--text, #1a1a22) !important;
  text-decoration: none !important;
}
html body .drb-xlink h3 a:hover{ color: var(--drb-coral-ink, #ad3b28) !important; }
html body .drb-xlink p{ margin: 0 0 4px !important; font-size: 16px !important; }
html body .drb-xlink p strong{ color: var(--drb-coral-ink, #ad3b28) !important; }

/* 5. objections: readable measure and spacing, no cards */
html body [data-bricks-section="sys-faq"] h3.title-sm{ margin: 30px 0 8px !important; }
html body [data-bricks-section="sys-faq"] p.lead{ margin: 0 !important; }

/* v37 — 2026-07-26 — hub "how it runs" rows. .checklist expects <li>; these are
   <p> rows, so they get their own rule instead of borrowing a list component. */
html body .drb-steps p{ margin: 0 0 14px !important; }
html body .drb-steps p strong{ color: var(--drb-coral-ink, #ad3b28) !important; }
html body .section--dark .drb-steps p strong{ color: var(--drb-coral, #FF5A45) !important; }

/* v38 — 2026-07-26 — inline links inside the new /systems/ sections.
   v35 covered .sys-footnote / .principle__body / .cases__note, but plain <a>
   inside .lead and .audit-copy still fell back to a default colour at 2.78:1.
   Generic rule scoped to the new sections only. */
html body [data-bricks-section^="sys-"] .lead a,
html body [data-bricks-section^="hub-"] .lead a,
html body [data-bricks-section^="sys-"] .audit-copy a,
html body [data-bricks-section^="sys-"] .drb-xlink a{
  color: var(--drb-coral-ink, #ad3b28) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body [data-bricks-section^="sys-"].section--dark .lead a,
html body [data-bricks-section^="hub-"].section--dark .lead a,
html body [data-bricks-section^="sys-"].section--dark .audit-copy a{
  color: var(--on-dark, #f4ede1) !important;
}

/* ==========================================================
   v39 — 2026-07-26 — container grid alignment.
   The house container is 1180px + 24px padding, but it is applied through
   SECTION-ID selectors (#audit > .wrap, #systems > .wrap, #work > .wrap …).
   New sections have different ids, so they fell through to the 1560px default
   and every section ended up a different width — 1015 / 1068 / 777 / 648 / 808.
   Nothing lined up vertically, which is why the pages read as not matching the site.
   This applies the same container the homepage uses. Homepage FAQ is 920px, so the
   objections block matches that.
   ========================================================== */
html body [data-bricks-section^="sys-"] > .wrap,
html body [data-bricks-section^="hub-"] > .wrap{
  max-width: 1180px !important;
  padding-inline: 24px !important;
  margin-inline: auto !important;
  width: 100% !important;
}
html body [data-bricks-section^="sys-"] > .wrap.drb-wrap-narrow{
  max-width: 920px !important;   /* matches the homepage FAQ container */
}

/* ==========================================================
   v40 — 2026-07-26 — THE fix for "boxed / doesn't match the site".
   Bricks wraps page content in .brxe-section, which is display:flex and does not
   stretch its children. My inner <section> elements were therefore shrink-to-fit:
   at a 1920 viewport they measured 1175 / 937 / 808 / 968 / 697 and sat at
   different left offsets. Consequence: .section--dark rendered as an inset dark
   BOX instead of a full-bleed band, and no two sections lined up.
   The homepage escapes this because its sections are styled by id.
   Forcing full-bleed restores the house rhythm: edge-to-edge bands, 1180 inner wrap.
   ========================================================== */
html body [data-bricks-section^="sys-"],
html body [data-bricks-section^="hub-"]{
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  flex: 0 0 auto !important;
}
/* the Bricks wrapper itself must not centre-shrink its children */
html body .brxe-section:has(> [data-bricks-section^="sys-"]),
html body .brxe-section:has(> [data-bricks-section^="hub-"]){
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  padding: 0 !important;
}

/* v41 — 2026-07-26 — remove the 67.5px flex gap Bricks puts between sections.
   It inserted a light strip between every band, so two consecutive .section--dark
   blocks were separated by a cream stripe. Sections carry their own 88px padding;
   the gap is pure interference. */
html body .brxe-section:has(> [data-bricks-section^="sys-"]),
html body .brxe-section:has(> [data-bricks-section^="hub-"]){
  gap: 0 !important;
  row-gap: 0 !important;
}

/* ==========================================================
   v42 — 2026-07-27 — homepage system cards gain a depth path.

   Each .sysv2 card now carries a secondary link to its
   /systems/<slug>/ page, sitting under the unchanged primary
   diagnostic CTA. Reason: the homepage previously offered exactly
   one action (book the diagnostic). A reader who is interested but
   not ready to book had nowhere to go. This is the "learn more
   first" path; it does not compete with the CTA visually.

   Colour: --drb-coral-ink (#ad3b28), the small-text-on-light token.
   Never #FF5A45 here — these cards sit on a light surface.
   ========================================================== */
html body .sysv2__more{
  display: inline-flex !important;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  margin-block-start: 12px;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  color: var(--drb-coral-ink, #ad3b28) !important;
  text-decoration: none !important;
  border-block-end: 1px solid rgba(173, 59, 40, .30);
  padding-block-end: 2px;
  transition: border-color .18s ease, color .18s ease;
}
html body .sysv2__more:hover,
html body .sysv2__more:focus-visible{
  border-block-end-color: currentColor;
}
html body .sysv2__more span{ font-size: 1.05em; line-height: 1; }

/* on any dark surface the small-text-on-light token would fail — swap up */
html body .section--dark .sysv2__more,
html body .sysv2.is-dark .sysv2__more{
  color: var(--drb-coral, #FF5A45) !important;
  border-block-end-color: rgba(255, 90, 69, .35);
}

/* phones: give it room and keep the tap target honest */
@media (max-width: 700px){
  html body .sysv2__more{
    margin-block-start: 14px;
    padding-block: 4px 4px;
  }
}

/* ==========================================================
   v43 — 2026-07-27

   1. .sys-priceframe — new element. Each system page now says what
      moves a project up its price range (and, on paid-growth, that
      ad spend is NOT included). A wide range with no explanation
      reads as "we'll decide later"; this turns it into a
      qualification signal.

   2. Typographic hierarchy. The design pass flagged one font family
      carrying every role 7 times over. The family stays (it is the
      brand face) — what changes is that each role now has its own
      tracking, size and case, so hierarchy survives without adding
      a second typeface.

   Scoped to [data-bricks-section^="sys-"] / ^="hub-" so the
   homepage, about, blog and contact are untouched.
   ========================================================== */

/* --- 1. price framing line --- */
html body .sys-priceframe{
  margin-block-start: 8px !important;
  margin-block-end: 0 !important;
  max-width: 620px;
  font-size: 15px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  color: var(--text-soft, #5a5247) !important;
}
html body .section--dark .sys-priceframe{
  color: var(--on-dark-soft, #b7b3a8) !important;
}

/* --- 2. role separation for the one font family --- */
/* eyebrow: smallest, widest tracking, uppercase — pure navigation */
html body [data-bricks-section^="sys-"] .eyebrow,
html body [data-bricks-section^="hub-"] .eyebrow{
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  line-height: 1.3 !important;
}
/* Arabic does not have case, and uppercase on Arabic glyphs is a no-op
   that only widens tracking wrongly — opt it back out. */
html[lang^="ar"] body [data-bricks-section^="sys-"] .eyebrow,
html[lang^="ar"] body [data-bricks-section^="hub-"] .eyebrow{
  text-transform: none;
  letter-spacing: .04em !important;
}

/* lede: largest body role, lighter weight, generous measure */
html body [data-bricks-section^="sys-"] .lead,
html body [data-bricks-section^="hub-"] .lead{
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  max-width: 68ch;
}

/* section titles: tightest tracking, heaviest — the opposite pole to eyebrow */
html body [data-bricks-section^="sys-"] .title-lg,
html body [data-bricks-section^="hub-"] .title-lg{
  letter-spacing: -.02em !important;
}
html body [data-bricks-section^="sys-"] .title-sm,
html body [data-bricks-section^="hub-"] .title-sm{
  letter-spacing: -.01em !important;
}

@media (max-width: 700px){
  html body .sys-priceframe{ font-size: 14.5px !important; }
}

/* ==========================================================
   v44 — 2026-07-27 — make two trap components fail safe.

   Both of these bit during the /systems/ build and were only
   documented, not fixed. Documentation does not stop the next
   person hitting them, so they now degrade sanely instead.

   1. .sysv2__price is designed to sit inside a .sysv2 card. Used
      standalone it renders as a stray 1px dashed box with no
      context. Outside a card it now renders as plain text.
   2. .layer-card gives EVERY child (__head, __title, __body) its
      own border + panel, so any new use produces boxes inside
      boxes. v36 fixed that for [data-bricks-section="sys-pillars"]
      only. This generalises it to every page EXCEPT the homepage,
      which is the one place the nested look is intentional.
   ========================================================== */

/* 1. price block outside its card: strip the decoration, keep the text */
html body .sysv2__price:not(.sysv2 *){
  border: 0 !important;
  background: none !important;
  padding-inline: 0 !important;
  border-radius: 0 !important;
}
html body .sysv2__price:not(.sysv2 *) .sysv2__price-range{
  font-size: 20px !important;
  font-weight: 800 !important;
}

/* 2. layer-card children: one card edge, not four. Homepage exempted. */
html body:not(.home) .layer-card__head,
html body:not(.home) .layer-card__title,
html body:not(.home) .layer-card__body{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body:not(.home) .layer-card{
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
}
/* on light surfaces the translucent-white card is invisible — give it an edge */
html body:not(.home) .section:not(.section--dark) .layer-card{
  background: rgba(26,26,34,.02) !important;
  border-color: rgba(26,26,34,.10) !important;
}

/* ==========================================================
   v45 — 2026-07-27 — .drb-related-system

   The contextual route from an article to the system that solves
   what the article describes. Before this block existed, 82 posts
   linked to the offer only through header/footer boilerplate.

   Deliberately quiet: a hairline rule and a coral link, not a
   promo card. It has to read as an editorial aside, or it gets
   banner-blindness'd like every other end-of-post CTA.
   ========================================================== */
html body .drb-related-system{
  margin-block: 44px 8px !important;
  padding-block-start: 24px !important;
  border-block-start: 1px solid rgba(26,26,34,.12) !important;
  max-width: 68ch;
}
html body .drb-related-system__eyebrow{
  margin: 0 0 8px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
  color: var(--drb-coral-ink, #ad3b28) !important;
}
html[lang^="ar"] body .drb-related-system__eyebrow{
  text-transform: none;
  letter-spacing: .04em !important;
}
html body .drb-related-system__body{
  margin: 0 0 12px !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--text, #1a1a22) !important;
}
html body .drb-related-system__cta{ margin: 0 !important; }
html body .drb-related-system__cta a{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--drb-coral-ink, #ad3b28) !important;
  text-decoration: none !important;
  border-block-end: 1px solid rgba(173,59,40,.32);
  padding-block-end: 2px;
}
html body .drb-related-system__cta a:hover,
html body .drb-related-system__cta a:focus-visible{
  border-block-end-color: currentColor;
}
html body .section--dark .drb-related-system__eyebrow,
html body .section--dark .drb-related-system__cta a{
  color: var(--drb-coral, #FF5A45) !important;
}
@media (max-width: 700px){
  html body .drb-related-system{ margin-block-start: 34px !important; }
  html body .drb-related-system__body{ font-size: 16px !important; }
}

/* ==========================================================
   v46 — 2026-07-27 — mobile tap targets + small body text.

   Measured at a real 375px viewport on /systems/operations/:
     13 of 27 interactive elements were under 24px tall (WCAG 2.2
     AA, 2.5.8 Target Size Minimum), and 8 paragraphs rendered
     below 15px.

   Only the 10 standalone controls are enlarged. The 2 remaining
   are inline links inside sentences (.lead a), which 2.5.8
   explicitly exempts - padding there would shove their underline
   off the baseline for no accessibility gain.

   Mobile-only, so desktop layout is untouched by construction.
   ========================================================== */
@media (max-width: 700px){

  /* --- tap targets: grow the hit box, not the type --- */
  html body .footer__grid a,
  html body .drb-blog-flink{
    display: inline-block;
    padding-block: 4px !important;      /* 19px -> 27px */
  }
  html body .drb-langswitch__btn{
    padding-block: 4px !important;      /* 18-20px -> 26-28px */
    display: inline-flex;
    align-items: center;
  }

  /* --- readable body copy: nothing carrying real content below 15px --- */
  html body .layer-card__body{  font-size: 15px !important; }   /* was 13.5 */
  html body .principle__body{   font-size: 15px !important; }   /* was 14   */
  html body .lead{              font-size: 15.5px !important; } /* was 14   */

  /* genuinely secondary notes: lifted to 14, not to body size */
  html body .cases__note,
  html body .footer__desc{      font-size: 14px !important; }   /* was 13   */
  html body .sys-footnote,
  html body .sys-priceframe{    font-size: 14.5px !important; }
}

/* --- v46.1 — 2026-07-27 — finish the tap-target pass.
   v46 took 13 sub-24px targets down to 4. The stragglers:
   1. .drb-langswitch__btn reached only 22px - it is absolutely positioned and
      translateY(-50%) centred, so it grows symmetrically; it just needed a
      hard min-height rather than padding alone.
   2. Two links that are the SOLE content of a .lead paragraph. v46 exempted
      ".lead a" as inline-in-a-sentence per WCAG 2.5.8, but a link that is the
      only child of its paragraph is a standalone CTA, not inline text - the
      exemption does not apply to it. Scoped with :only-child so genuine
      mid-sentence links stay untouched. --- */
@media (max-width: 700px){
  html body .drb-langswitch__btn{
    min-height: 26px !important;
    padding-block: 5px !important;
  }
  html body p.lead > a:only-child,
  html body p.drb-related-system__cta > a:only-child{
    display: inline-flex;
    align-items: center;
    min-height: 26px !important;
    padding-block: 3px !important;
  }
}

/* ==========================================================
   v47 — 2026-07-27 — tap targets at ALL viewports.

   v46 fixed mobile only. WCAG 2.5.8 (Target Size Minimum, AA)
   has no viewport exemption, and desktop still measured 17
   controls under 24px: 14 in the header, 2 in the footer.

   Method matters here. Using min-height + inline-flex rather
   than padding, because the header row is a flex line whose
   height is set by its TALLEST child. Measured before writing
   this: row 68px, tallest child 40px, nav links 22px.
   Measured AFTER: the flex row is unchanged at 68px, but the
   header as a whole went 92px -> 100px. The earlier claim that
   it could not change was wrong - a second line in the header
   absorbed the taller links. 8px is an acceptable trade for
   meeting 2.5.8; recorded here so nobody re-measures and thinks
   something regressed.
   ========================================================== */
html body header.topbar #primary-nav a,
html body header.topbar .drb-blog-link,
html body header.topbar .drb-blog-flink,
html body .drb-langswitch__btn,
html body .footer__grid a,
html body footer a:not(.btn-primary):not(.btn-ghost){
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}

/* the footer stacks, so give its links a little vertical breathing room too -
   this does grow the footer slightly, which is fine and improves scannability */
html body .footer__grid a{
  padding-block: 2px;
}

/* v47.1 - the last sub-24px control at desktop: a link that is the only child
   of its paragraph (e.g. "كل الأنظمة"). v46.1 already handled these but was
   scoped inside @media (max-width:700px), so desktop kept a 22px target. */
html body p.lead > a:only-child,
html body p.drb-related-system__cta > a:only-child{
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}

/* ==========================================================
   v48 — 2026-07-27 — make /systems/* match the homepage's
   visual language. Omar: "the new designs feel off, they need
   to match what was built before."

   Measured both pages rather than guessing. Typography and
   rhythm already matched (H2 54/800, 88px sections, same coral,
   uppercase eyebrows). Three real divergences:

   1. DARK-BAND RHYTHM — the actual cause.
      home : light light DARK light light DARK light light light DARK  (3/10, never adjacent)
      sys  : light light DARK DARK  light DARK light light light DARK  (4/10, TWO ADJACENT)
      sys-pillars and sys-bounds sat back to back, producing a heavy
      dark slab mid-page that appears nowhere on the homepage.
      Fixed in build-systems.php by dropping section--dark from
      sys-bounds, which restores the homepage's exact cadence.

   2. CARD RADIUS — the house card language is 20px (.sysv2,
      .case-card, .faq-item all 20px). v36/v44 set .layer-card to
      16px, so the new pages' cards were subtly the wrong shape.
      That was my regression; restored here.

   3. EYEBROW SIZE — v43 set 13px on the systems pages; the
      homepage uses 12px everywhere.
   ========================================================== */

/* 2. card radius back to the house value */
html body [data-bricks-section^="sys-"] .layer-card,
html body [data-bricks-section^="hub-"] .layer-card{
  border-radius: 20px !important;
}

/* 3. eyebrow matches the homepage exactly */
html body [data-bricks-section^="sys-"] .eyebrow,
html body [data-bricks-section^="hub-"] .eyebrow{
  font-size: 12px !important;
}

/* sys-bounds is now a light section: give its cards the light-surface
   treatment explicitly rather than relying on the generic fallback, and
   make sure the text inside is ink, not on-dark. */
html body [data-bricks-section="sys-bounds"] .layer-card{
  background: rgba(26, 26, 34, .025) !important;
  border: 1px solid rgba(26, 26, 34, .10) !important;
  box-shadow: 0 8px 24px rgba(20, 20, 30, .04) !important;
}
html body [data-bricks-section="sys-bounds"] .layer-card__title,
html body [data-bricks-section="sys-bounds"] h3{
  color: var(--text, #1a1a22) !important;
}
html body [data-bricks-section="sys-bounds"] .layer-card__body,
html body [data-bricks-section="sys-bounds"] p{
  color: var(--text-soft, #5a5247) !important;
}

/* --- v48.1 — 2026-07-27 — correction to v48.
   v48 made sys-bounds a light section and then restyled `.layer-card`
   inside it. Wrong component: sys-bounds is built from `.principles` /
   `.principle`, and `.principles` carries its OWN hard-coded dark
   background (rgb(16,20,30)) because on the homepage it always lives in
   a dark section. Result: ink text on a still-dark slab, measured at
   1.02:1 — worse than before.

   Fix: dissolve the `.principles` dark slab inside sys-bounds and give
   the individual `.principle` cards the light-surface treatment, so the
   whole section genuinely reads light and the homepage's dark cadence
   (darks at sections 3, 6 and 10) is preserved. Homepage `.principles`
   is untouched — this is scoped to sys-bounds only. --- */
html body [data-bricks-section="sys-bounds"] .principles{
  background: transparent !important;
  box-shadow: none !important;
}
html body [data-bricks-section="sys-bounds"] .principle{
  background: rgba(26, 26, 34, .025) !important;
  border: 1px solid rgba(26, 26, 34, .10) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(20, 20, 30, .04) !important;
}
html body [data-bricks-section="sys-bounds"] .principle__title{
  color: var(--text, #1a1a22) !important;
}
html body [data-bricks-section="sys-bounds"] .principle__body,
html body [data-bricks-section="sys-bounds"] .principle p{
  color: var(--text-soft, #5a5247) !important;
}
html body [data-bricks-section="sys-bounds"] .principle__num{
  color: var(--drb-coral-ink, #ad3b28) !important;
}

/* ==========================================================
   v49 — 2026-07-27 — craft pass on /systems/*.

   Diagnosis first: the page is 8,159px tall, 4,347 characters,
   with ZERO images and ZERO svgs, and 8 of 10 sections use a
   single layout arrangement. It reads flat because there are no
   visual anchors and no rhythm variation — not because it lacks
   colour.

   This block adds the craft layer that costs nothing structurally:
   staggered entrances, hover life, depth on the dark bands, and an
   editorial accent on headings. The structural fix (diagrams,
   asymmetry) is separate and needs content, not CSS.

   Brand-safe by construction: no new hues, no gradients on light
   surfaces, no glow on coral. Ink/cream/coral only.
   ========================================================== */

/* --- 1. staggered entrance for card groups -------------------
   Everything currently reveals at once, which reads mechanical.
   A 60ms cascade makes a group feel authored. Capped at 6 so a
   long list never crawls in.                                   */
@media (prefers-reduced-motion: no-preference){
  [data-bricks-section^="sys-"] .layer-grid > *,
  [data-bricks-section^="sys-"] .principles > *,
  [data-bricks-section^="sys-"] .cases > *,
  [data-bricks-section^="sys-"] .faq > *{
    transition-delay: 0ms;
  }
  [data-bricks-section^="sys-"] .layer-grid > *:nth-child(2),
  [data-bricks-section^="sys-"] .principles > *:nth-child(2),
  [data-bricks-section^="sys-"] .cases > *:nth-child(2),
  [data-bricks-section^="sys-"] .faq > *:nth-child(2){ transition-delay: 60ms; }
  [data-bricks-section^="sys-"] .layer-grid > *:nth-child(3),
  [data-bricks-section^="sys-"] .principles > *:nth-child(3),
  [data-bricks-section^="sys-"] .cases > *:nth-child(3),
  [data-bricks-section^="sys-"] .faq > *:nth-child(3){ transition-delay: 120ms; }
  [data-bricks-section^="sys-"] .cases > *:nth-child(4),
  [data-bricks-section^="sys-"] .faq > *:nth-child(4){ transition-delay: 180ms; }
  [data-bricks-section^="sys-"] .cases > *:nth-child(5),
  [data-bricks-section^="sys-"] .faq > *:nth-child(5){ transition-delay: 240ms; }
}

/* --- 2. cards gain life on hover -----------------------------
   Short, eased-out, transform-only so it stays on the compositor. */
@media (hover: hover) and (prefers-reduced-motion: no-preference){
  [data-bricks-section^="sys-"] .layer-card,
  [data-bricks-section^="sys-"] .principle,
  [data-bricks-section^="sys-"] .case-card{
    transition: transform .28s cubic-bezier(.22,1,.36,1),
                box-shadow .28s cubic-bezier(.22,1,.36,1),
                border-color .28s ease;
    will-change: transform;
  }
  [data-bricks-section^="sys-"] .layer-card:hover,
  [data-bricks-section^="sys-"] .principle:hover,
  [data-bricks-section^="sys-"] .case-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(20,20,30,.10) !important;
    border-color: rgba(212,82,63,.34) !important;
  }
  html body [data-bricks-section^="sys-"] .section--dark .layer-card:hover{
    box-shadow: 0 14px 34px rgba(0,0,0,.30) !important;
    border-color: rgba(255,90,69,.30) !important;
  }
}

/* --- 3. depth on the dark bands ------------------------------
   A single soft radial from the top so the ink sections read as
   lit rather than as a flat rectangle. One layer only — the
   design pass flagged dark-glow overuse, so this is deliberately
   restrained and sits behind content.                          */
html body [data-bricks-section^="sys-"].section--dark:not(.final-cta),
html body [data-bricks-section^="hub-"].section--dark:not(.final-cta){
  position: relative;
  isolation: isolate;
}
/* CTA sections are EXCLUDED. .final-cta carries its own positioning and the
   inset:0 pseudo overflowed it by 85px, pushing page scrollWidth 1265 -> 1350.
   Measured by disabling this rule: overflow vanished. The CTA band is already
   near-black (#0a0d15) and needs no extra depth. */
html body [data-bricks-section^="sys-"].section--dark:not(.final-cta)::before,
html body [data-bricks-section^="hub-"].section--dark:not(.final-cta)::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(120% 70% at 50% 0%,
              rgba(255,90,69,.075) 0%,
              rgba(255,90,69,.028) 38%,
              transparent 72%);
  pointer-events: none;
}

/* --- 4. editorial accent under section headings --------------
   A short coral rule under each h2 gives the eye a landmark and
   makes the numbered eyebrow read as a system, not a label.    */
html body [data-bricks-section^="sys-"] .title-lg{
  position: relative;
  padding-block-end: 18px;
}
html body [data-bricks-section^="sys-"] .title-lg::after{
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  width: 52px;
  height: 3px;
  border-radius: 2px;
  background: var(--drb-coral, #FF5A45);
  opacity: .9;
}
html body [data-bricks-section="sys-cta"] .title-lg::after{
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

/* --- 5. amplify the numerals that already exist --------------
   .principle__num is a real anchor already; make it structural
   rather than incidental.                                       */
html body [data-bricks-section="sys-bounds"] .principle__num{
  font-size: 34px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -.02em !important;
  opacity: .92;
}

/* ============================================================================
   v49 — 2026-07-27 — FOCUS RING (WCAG 1.4.11) + mobile body-copy floor

   WHY: drb-app.css already declared
        `a:focus-visible, button:focus-visible { outline: 3px solid var(--coral) }`
        TWICE (lines ~361 and ~1255) and NEITHER ever applied. Automatic.css ships
        `body.bricks-is-frontend.bricks-is-frontend :focus-visible { outline: var(--focus-color) }`
        in automatic-bricks.css — specificity (0,3,1) vs our (0,2,0), and ours has
        no !important. ACSS won on every element, so every focus ring on the site
        rendered as --focus-color = #32a2c1 (ACSS DEFAULT CYAN) at 2px.

        Measured live with real keyboard :focus-visible, alpha-composited:
          .btn-primary on coral #FF5A45 ... 1.04:1   <-- primary CTA, invisible
          .about-academy__cta on cream-2 .. 2.33:1
          .drb-langswitch__btn ............ 2.54:1
          cream #fdf6f2 (h1/ghost/brand) .. 2.78:1
          white cards (.sysv2__cta/__more)  2.97:1
          .btn-pill on dark ink ........... 6.20:1  (only pass)
        6 of 7 surfaces failed the 3:1 requirement.

        NOTE: simply out-specifying ACSS was NOT enough — var(--coral) resolves to
        #e86a5a (a legacy coral), which on the coral CTA is still near-invisible.
        The ring colour has to be chosen per surface, not taken from the brand.

   RING SYSTEM (2 values, mirroring the ink/cream surface split):
     ink  #10141e  default — on cream 15.9:1, white 17.4:1, coral #FF5A45 5.80:1
     cream #fdf6f2 on dark surfaces — on ink 15.9:1
   Selector is (0,4,2) + !important so it beats ACSS's (0,3,1).
   ⚠️ Colour + outline only. No layout, no box model, no breakpoint-dependent
   rules — responsive behaviour is unaffected by construction.
   ============================================================================ */

html body.bricks-is-frontend.bricks-is-frontend a:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend button:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend [role="button"]:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend input:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend select:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend textarea:focus-visible {
  outline: 3px solid #10141e !important;
  outline-offset: 3px !important;
  border-radius: 8px;
}

/* Dark surfaces: an ink ring on ink is invisible, so invert to cream.
   .btn-pill carries its OWN dark background (header CTA) — it is not inside a
   dark section, which is why it is listed explicitly rather than by ancestor. */
html body.bricks-is-frontend.bricks-is-frontend .section--dark a:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend .section--dark button:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend .footer a:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend .footer button:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend .final-cta a:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend .final-cta button:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend .principles a:focus-visible,
html body.bricks-is-frontend.bricks-is-frontend a.btn-pill:focus-visible {
  outline-color: #fdf6f2 !important;
}

/* The skip link renders on ink; keep its ring cream so it stays visible as the
   very first thing a keyboard user reaches. */
html body.bricks-is-frontend.bricks-is-frontend .skip-link:focus-visible {
  outline: 3px solid #fdf6f2 !important;
  outline-offset: 3px !important;
}

/* ---------------------------------------------------------------------------
   v49.1 — mobile body-copy floor.
   House standard (set in the 2026-07-27 a11y pass): primary body copy 15px+,
   secondary notes floored at 14px. Two elements measured at 375px were below it:
     .hero__sub ...... 14px  (primary body copy — the sentence that explains
                              what the studio does; raised to 15px)
     .report__rec-p .. 12.5px (secondary note; raised to 14px)
   ⚠️ .report--v2 also carries transform:scale(.68) at <=480, so .report__rec-p
   was rendering at roughly 8.5px effective. The scale is deliberate (it shrinks
   the report mock to fit) and is left alone — only the type size is raised.
   .footer__desc / .cases__note / .sys-footnote already meet the 14px floor via
   the v46/v47 rules and are untouched here.
   --------------------------------------------------------------------------- */
@media (max-width: 480px) {
  html body .hero__sub { font-size: 15px !important; line-height: 1.6 !important; }
  html body .report__rec-p { font-size: 14px !important; }
}
@media (max-width: 720px) {
  html body .report__rec-p { font-size: 14px !important; }
}

/* ============================================================================
   v50 — 2026-07-27 — /systems/ hub hero headline on mobile

   MEASURED at a real 375px viewport before changing anything:
     /en/systems/  h1.title-xl  42px / line-height 52.08px / 4 lines / 208px tall
                   h1 bottom edge at y=385, pushing the lede and CTA down
     /en/          h1.hero__title  30.75px   <- the house mobile H1 size
     /en/systems/operations/  h1.title-lg    <- child pages, smaller again
   The hub was the ONLY page whose mobile H1 ran at 42px, so it read as a
   different design system from both the homepage above it and the child pages
   below it.

   Target ~34px: still the largest H1 in the tree (it is the hub), but in the
   same family as the homepage's 30.75px rather than 37% larger.

   ⚠️ Scoped to [data-bricks-section^="hub-"] ONLY. `.title-xl` is also used by
   the homepage sections (#audit, #systems, #work, #about, #faq, #cta each have
   their own .title-xl rules around lines 4573-4703 of this file) — an unscoped
   change would resize all of them.
   ============================================================================ */

@media (max-width: 480px) {
  html body [data-bricks-section^="hub-"] h1.title-xl {
    font-size: 34px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
  }
}

@media (min-width: 481px) and (max-width: 720px) {
  html body [data-bricks-section^="hub-"] h1.title-xl {
    font-size: 38px !important;
    line-height: 1.2 !important;
  }
}

/* ============================================================================
   v51 — 2026-07-27 — system diagrams on /systems/* (one per child page)

   Markup comes from /root/systems-diagrams.php via build-systems.php.
   Two SVGs per page: .drb-dg--desk (wide) and .drb-dg--mob (tall), swapped at
   720px. Without the mobile variant the wide artwork would force sideways
   dragging on a phone — measured at 375px before this existed.

   ⚠️ Stroke colour is #d4523f, NOT var(--coral). --coral resolves to the legacy
   #e86a5a, which is 2.96:1 on cream. These diagrams carry meaning, so WCAG
   1.4.11 requires 3:1 for the graphic itself; #d4523f measures 3.87:1.

   ⚠️ Never set `direction` on SVG <text>. On SVG it inverts what
   text-anchor:start/end mean and throws every left-anchored label off the
   opposite edge (measured: a lane label landed at x=-23). unicode-bidi:plaintext
   lets the first strong character choose the run direction while x/text-anchor
   keep identical geometry in Arabic and English — one asset serves both.

   Scale note: the desktop viewBox is 760 wide inside the 1180px house wrap
   (~1.55x), so 13px authored renders ~20px. The mobile viewBox is 360 wide in
   ~329px (~0.91x), so mobile sizes are authored LARGER to land in the same
   optical range. Do not "normalise" the two sets — they are different on purpose.
   ============================================================================ */

.drb-dgwrap{ margin:0; padding:0; }
html body [data-bricks-section="sys-diagram"] .wrap{ max-width:1180px; }

.drb-dg{ display:block; width:100%; height:auto; overflow:visible; }
.drb-dg--mob{ display:none; }
@media (max-width:720px){
  .drb-dg--desk{ display:none; }
  .drb-dg--mob{ display:block; }
}

.drb-dg text{ unicode-bidi:plaintext; }

/* connectors — same language as the homepage .sysdiag */
.drb-dg-l{
  fill:none; stroke:#d4523f; stroke-width:1.7; stroke-dasharray:5 7;
  stroke-linecap:round; opacity:.85; animation:drbDgDash 15s linear infinite;
}
.drb-dg-l--g{ stroke-width:1.2; opacity:.42; }
@keyframes drbDgDash{ to{ stroke-dashoffset:-240; } }

/* nodes */
.drb-dg-b{ fill:#fff; stroke:rgba(16,20,30,.16); stroke-width:1.2; }
.drb-dg-b--a{ fill:#FF5A45; stroke:none; }

/* type */
.drb-dg-t{ font-size:13px; font-weight:700; fill:#10141e; }
.drb-dg-t--on{ fill:#10141e; }
.drb-dg-s{ font-size:11px; font-weight:600; fill:#5f6672; }
.drb-dg-n{ font-size:10.5px; font-weight:800; letter-spacing:.1em; fill:#ad3b28; }
.drb-dg-you{ font-size:11.5px; font-weight:800; fill:#ad3b28; letter-spacing:.04em; }

/* the founder glyph */
.drb-dg-ring{ fill:none; stroke:#d4523f; stroke-width:2; }
.drb-dg-core{ fill:#10141e; }

/* travelling dots */
.drb-dg-d{ fill:#FF5A45; }

/* mobile: authored larger so the 0.91x render lands in the same optical range */
@media (max-width:720px){
  .drb-dg--mob .drb-dg-t{ font-size:17px; }
  .drb-dg--mob .drb-dg-s{ font-size:14.5px; }
  .drb-dg--mob .drb-dg-n{ font-size:13px; }
  .drb-dg--mob .drb-dg-you{ font-size:15px; }
}

/* dark bands, if a diagram is ever placed on one */
.section--dark .drb-dg-b{ fill:#202834; stroke:rgba(244,237,225,.2); }
.section--dark .drb-dg-t{ fill:#eae3dc; }
.section--dark .drb-dg-t--on{ fill:#10141e; }
.section--dark .drb-dg-s{ fill:#9aa3b2; }
.section--dark .drb-dg-l,
.section--dark .drb-dg-ring{ stroke:#FF5A45; }
.section--dark .drb-dg-n,
.section--dark .drb-dg-you{ fill:#FF5A45; }
.section--dark .drb-dg-core{ fill:#f2ece6; }

@media (prefers-reduced-motion:reduce){
  .drb-dg-l{ animation:none; }
}

/* ----------------------------------------------------------------------------
   v51.1 — 2026-07-27 — the diagram figure was collapsing to 300px

   MEASURED on production: .drb-dgwrap rendered 300px wide inside a 1180px .wrap,
   so every diagram displayed at its intrinsic SVG default of 300x150.

   CAUSE: the documented Bricks trap — `.brxe-section` is display:flex and does
   NOT stretch its children, so a <figure> whose only child is a viewBox-only SVG
   (no width attribute, therefore 300x150 intrinsic) shrinks to fit that default.
   The `.drb-dg{width:100%}` rule was applying correctly the whole time; it was
   100% of a 300px parent.

   FIX: make the figure claim the full row explicitly. flex-basis is what does the
   work in the flex parent; width/max-width cover the non-flex case.
   ---------------------------------------------------------------------------- */

html body .drb-dgwrap{
  width:100% !important;
  max-width:100% !important;
  flex:1 1 100% !important;
  align-self:stretch;
  margin:0;
}
html body .drb-dgwrap .drb-dg{
  width:100% !important;
  max-width:100% !important;
  height:auto;
}

/* ----------------------------------------------------------------------------
   v51.2 — 2026-07-27 — diagram labels flew off the canvas on the ARABIC pages

   MEASURED live on /systems/operations/ (ar):
     "مسار 02 · التقارير"      x=60  rendered [-24..60]   (off the left edge)
     "التقارير تصل تلقائياً"    x=700 rendered [700..793]  (off the right edge)

   CAUSE: the Arabic pages are <html dir="rtl">, and SVG <text> INHERITS the
   `direction` property from the document. text-anchor:start/end resolve against
   the inline base direction, so every anchor silently mirrored. The local
   preview never showed this because that page was LTR.

   `unicode-bidi:plaintext` alone does NOT fix it — plaintext decides the base
   direction of the glyph run from the content, but ANCHOR resolution follows the
   `direction` property. Both are needed:
     direction:ltr        -> x + text-anchor mean the same thing in both languages
     unicode-bidi:plaintext -> Arabic still shapes and orders correctly from content

   ⚠️ Do not "simplify" this to one declaration. Removing direction:ltr breaks the
   Arabic pages; removing plaintext risks mis-ordering mixed Arabic/number runs
   like "مسار 02 · التقارير".
   ---------------------------------------------------------------------------- */

html body .drb-dg text{
  direction: ltr;
  unicode-bidi: plaintext;
}

/* ============================================================================
   v52 — 2026-07-27 — homepage system diagram, moved out of the hero

   The `.sysdiag` markup now sits immediately before the four `.sysv2` cards
   instead of inside `.hero__stage--diagram`. That move is what un-hides it:
   drba-reveal.js block B only hides a `.sysdiag` it finds INSIDE the hero stage,
   so with the markup elsewhere block B does nothing to it and still draws the
   brand mark in the hero. Block B is untouched — do not disable it.

   ⚠️ `.sysdiag` is `position:relative; width:100%; HEIGHT:100%` and its cards are
   absolutely positioned by percentage. It only renders inside a parent that has a
   size. The hero stage supplied `max-width:640px; aspect-ratio:1`. This wrapper
   reproduces exactly that, or the whole diagram collapses to zero height.

   Mobile is already handled by drb-sysdiag-mobile.php (<=720px: it stacks the
   cards, hides the connector svg and sets the diagram to height:auto). The
   wrapper therefore has to DROP the square aspect-ratio at that breakpoint or it
   would leave a tall empty box under the stacked cards.
   ============================================================================ */

html body .drb-homediag{
  width: 100%;
  max-width: 640px;
  aspect-ratio: 1;
  margin: 0 auto 40px;
  overflow: visible;
  position: relative;
}

@media (max-width: 720px){
  html body .drb-homediag{
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
    max-width: 420px;
    margin: 0 auto 28px;
  }
}

@media (prefers-reduced-motion: reduce){
  html body .drb-homediag .sysdiag__card,
  html body .drb-homediag .sysdiag__hub-ring{ animation: none !important; }
  html body .drb-homediag .sysdiag__line{ animation: none !important; }
}

/* ----------------------------------------------------------------------------
   v52.1 — 2026-07-27 — clear the sysdiag card overhang

   MEASURED at 1280px: `.sysdiag__card` is positioned at top:-4% / left:-4% /
   bottom:-8%, so the cards sit 26-32px OUTSIDE the 640px wrapper on every side.
   With `margin-top:0` the wrapper's first card overlapped the section lead by 8px.
   Top margin therefore has to clear the overhang, not just look like a gap.
   ---------------------------------------------------------------------------- */

html body .drb-homediag{ margin: 52px auto 60px; }

@media (max-width: 720px){
  /* mobile stacks the cards statically (drb-sysdiag-mobile.php), so there is no
     overhang to clear and the large margins would just add dead scroll. */
  html body .drb-homediag{ margin: 24px auto 28px; }
}
