/* ==========================================================================
   quran.html — مبادرة «حفظ، فهم، تطبيق»
   A calm sub-identity inside Yanabee: emerald (--t1) + warm gold, an eight-pointed
   star («۞») motif, Amiri for the verse, the hadith and the three words.
   Page-local tokens below are defined for BOTH themes.
   ========================================================================== */
body[data-page="quran.html"]{
  --q-em:#0a7352;            /* emerald for text (AA on light surfaces) */
  --q-em-2:var(--t1);        /* emerald for strokes, fills */
  --q-gold:#8a6411;          /* gold for text */
  --q-gold-2:#c79a34;        /* gold for ornament */
  --q-gold-hi:#e8c873;       /* gold on deep emerald */
  --q-gold-soft:color-mix(in oklab,var(--q-gold-2) 14%,transparent);
  --q-deep:#083d30;--q-deep-2:#0e5a45;--q-on-deep:#f1faf6;--q-on-deep-2:#c3e4d6;
  --q-ivory:#fbf7ec;
  --q-hero-a:#f8f2e2;--q-hero-b:#e8f4ee;
  --q-line:color-mix(in oklab,var(--q-gold-2) 34%,var(--line));
  --q-med-fill:color-mix(in oklab,var(--q-gold-2) 11%,var(--surface));
  --q-ring:var(--t1);
  --q-pat:.17;
  --q-glow:26%;--q-glow-cta:40%;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body[data-page="quran.html"]{
  --q-em:#4fd8a3;--q-gold:#e6c470;--q-gold-2:#cfa955;--q-gold-hi:#ecd08a;
  --q-deep:#0a3027;--q-deep-2:#0f4537;--q-on-deep:#eef8f3;--q-on-deep-2:#b2d8c8;
  --q-ivory:#0b211d;
  --q-hero-a:#071d18;--q-hero-b:#05171a;
  --q-line:color-mix(in oklab,var(--q-gold-2) 26%,var(--line));
  --q-med-fill:color-mix(in oklab,var(--q-gold-2) 13%,var(--surface));
  --q-pat:.16;
  --q-glow:11%;--q-glow-cta:20%;
}}
:root[data-theme=dark] body[data-page="quran.html"]{
  --q-em:#4fd8a3;--q-gold:#e6c470;--q-gold-2:#cfa955;--q-gold-hi:#ecd08a;
  --q-deep:#0a3027;--q-deep-2:#0f4537;--q-on-deep:#eef8f3;--q-on-deep-2:#b2d8c8;
  --q-ivory:#0b211d;
  --q-hero-a:#071d18;--q-hero-b:#05171a;
  --q-line:color-mix(in oklab,var(--q-gold-2) 26%,var(--line));
  --q-med-fill:color-mix(in oklab,var(--q-gold-2) 13%,var(--surface));
  --q-pat:.16;
  --q-glow:11%;--q-glow-cta:20%;
}

/* ---------- shared bits ---------- */
.q-hero ol,.q-layout ol{list-style:none}
.q-med{--ms:40px;position:relative;display:inline-grid;place-items:center;width:var(--ms);height:var(--ms);flex:none}
.q-med>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.q-med-s{fill:var(--q-med-fill);stroke:var(--q-gold-2);stroke-width:1.5;stroke-linejoin:round}
.q-med-c{fill:none;stroke:var(--q-gold-2);stroke-width:1;opacity:.55}
.q-med-v{position:relative;display:grid;place-items:center;font-family:var(--font-h);font-weight:700;font-size:calc(var(--ms)*.36);line-height:1;color:var(--q-em)}
.q-med-v .i{width:calc(var(--ms)*.4);height:calc(var(--ms)*.4)}
.q-med-lg{--ms:66px}
.q-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;
  background:color-mix(in oklab,var(--q-em-2) 12%,transparent);color:var(--q-em)}
.q-ic .i{width:23px;height:23px}
.q-paren{display:inline-block;font-size:.6em;font-weight:500;color:var(--muted)}
h3 .q-paren,h4 .q-paren{display:inline;font-size:.8em}
.q-main mark{white-space:nowrap;background:linear-gradient(transparent 52%,color-mix(in oklab,var(--q-gold-2) 34%,transparent) 0);color:var(--head);font-weight:600;padding-inline:2px;border-radius:2px}
.q-main strong{color:var(--head);font-weight:700}

/* hover lift uses `translate` so it never fights the .rv reveal (`transform`) */
.q-card,.q-tile,.q-goal,.q-role,.q-kpi,.q-col,.q-feat,.q-org-node,.q-step-c{transition:translate .35s var(--ease),box-shadow .35s,border-color .35s,background-color .35s}
.js .q-card.rv,.js .q-goal.rv,.js .q-role.rv,.js .q-kpi.rv,.js .q-col.rv,.js .q-feat.rv,.js .q-org-node.rv{
  transition:opacity .7s var(--ease),transform .7s var(--ease),translate .35s var(--ease),box-shadow .35s,border-color .35s;
  transition-delay:var(--d,0s),var(--d,0s),0s,0s,0s}
@media (hover:hover){
  .q-card:hover,.q-goal:hover,.q-role:hover,.q-kpi:hover,.q-col:hover,.q-org-node:hover{translate:0 -4px;box-shadow:var(--shadow);border-color:color-mix(in oklab,var(--q-gold-2) 50%,var(--line))}
  .q-feat:hover{border-color:color-mix(in oklab,var(--q-em-2) 45%,var(--line));box-shadow:var(--shadow)}
}

/* ==========================================================================
   Hero
   ========================================================================== */
.q-hero{padding:calc(var(--nav-h) + clamp(52px,7vw,96px)) 0 clamp(40px,5vw,64px);text-align:center}
.q-hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;
  background:linear-gradient(180deg,var(--q-hero-a) 0%,var(--q-hero-b) 58%,var(--bg) 100%);
  -webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.q-pattern{position:absolute;inset:0;width:100%;height:100%;color:var(--q-gold-2);opacity:var(--q-pat);
  -webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 30%,#000 15%,transparent 78%);mask-image:radial-gradient(ellipse 75% 70% at 50% 30%,#000 15%,transparent 78%)}
.q-glow{position:absolute;border-radius:50%;filter:blur(70px)}
.q-glow.g1{width:620px;height:420px;top:-160px;inset-inline:0;margin-inline:auto;background:color-mix(in oklab,var(--q-gold-2) var(--q-glow),transparent)}
.q-glow.g2{width:520px;height:420px;top:38%;inset-inline-start:-220px;background:color-mix(in oklab,var(--q-em-2) 18%,transparent)}
.q-rosette{position:absolute;width:min(760px,150vw);height:auto;aspect-ratio:1;inset-inline:0;margin-inline:auto;top:calc(var(--nav-h) - 120px);
  color:var(--q-gold-2);opacity:.2;stroke-width:1}
@media (prefers-reduced-motion:no-preference){.q-rosette{animation:q-spin 180s linear infinite}}
@keyframes q-spin{to{rotate:360deg}}
.q-hero-in{display:flex;flex-direction:column;align-items:center}
.q-hero .eyebrow{color:var(--q-em)}
.q-hero h1{display:flex;flex-direction:column;align-items:center;gap:0;margin:20px 0 6px;line-height:1.2}
.q-h1-pre{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;color:var(--q-gold)}
.q-h1-main{display:inline-block;padding:.08em .1em .22em;font-family:var(--font-q);font-weight:700;font-size:clamp(2.4rem,11vw,5.4rem);line-height:1.25;
  background:linear-gradient(175deg,color-mix(in oklab,var(--q-em-2) 80%,var(--q-gold-2)) 0%,var(--q-em) 62%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.q-q{-webkit-text-fill-color:var(--q-gold-2);font-weight:400}
.q-sub{display:flex;align-items:center;gap:14px;font-family:var(--font-h);font-weight:500;font-size:clamp(1.05rem,2vw,1.32rem);color:var(--ink-2)}
.q-sub::before,.q-sub::after{content:"";width:clamp(24px,5vw,56px);height:1px;background:linear-gradient(90deg,transparent,var(--q-gold-2))}
.q-sub::after{background:linear-gradient(270deg,transparent,var(--q-gold-2))}
@media (max-width:600px){.q-sub{text-wrap:balance;max-width:20em}.q-sub::before,.q-sub::after{display:none}}
.q-trio-nav{width:100%;max-width:1020px;margin-top:clamp(28px,4vw,48px)}
.q-trio{--gap:clamp(16px,2.4vw,30px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.q-trio>li{position:relative}
.q-trio>li+li::before{content:"";position:absolute;top:50%;inset-inline-start:calc(var(--gap)*-1);width:var(--gap);border-top:1.5px dashed var(--q-gold-2);opacity:.8}
.q-tile{position:relative;display:flex;flex-direction:column;align-items:center;height:100%;padding:26px 20px 22px;border-radius:var(--r);text-decoration:none;
  background:color-mix(in oklab,var(--surface) 80%,transparent);border:1px solid var(--q-line);box-shadow:var(--shadow-sm);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.q-tile:hover{translate:0 -5px;box-shadow:var(--shadow);border-color:color-mix(in oklab,var(--q-gold-2) 70%,transparent)}
.q-tile>.q-med{--ms:48px}
.q-word{font-family:var(--font-q);font-weight:700;font-size:clamp(2.5rem,4.6vw,3.5rem);line-height:1.45;color:var(--q-em);margin:4px 0 14px}
.q-tile-k{font-family:var(--font-h);font-weight:600;font-size:.84rem;color:var(--q-gold)}
.q-tile-t{color:var(--ink-2);font-size:1rem;line-height:1.65;margin-top:2px}
.q-tile-go{margin-top:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--q-em);
  background:color-mix(in oklab,var(--q-em-2) 12%,transparent);transition:translate .3s var(--ease),background-color .3s,color .3s}
.q-tile-go .i{width:18px;height:18px}
.q-tile:hover .q-tile-go{translate:-4px 0;background:var(--q-em);color:var(--on-brand)}
@media (max-width:720px){
  .q-trio{--gap:12px;grid-template-columns:1fr}
  .q-trio>li+li::before{top:calc(var(--gap)*-1);inset-inline-start:calc(16px + 2.6rem);width:0;height:var(--gap);border-top:0;border-inline-start:1.5px dashed var(--q-gold-2)}
  .q-tile{display:grid;grid-template-columns:5.2rem minmax(0,1fr) auto;grid-template-areas:"w k g" "w t g";column-gap:12px;align-items:center;
    text-align:start;padding:12px 16px 12px 12px}
  .q-tile>.q-med{display:none}
  .q-word{grid-area:w;font-size:2.15rem;line-height:1.4;margin:0;text-align:center}
  .q-tile-k{grid-area:k;align-self:end}
  .q-tile-t{grid-area:t;align-self:start;font-size:.95rem;line-height:1.55;margin:0}
  .q-tile-go{grid-area:g;margin:0;width:34px;height:34px}
}

/* ==========================================================================
   Layout: axis navigator + content
   ========================================================================== */
.q-layout{max-width:1320px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
.q-main{min-width:0}
.q-aside{position:sticky;top:calc(var(--nav-h) + 34px);align-self:start;transition:top .45s var(--ease);z-index:40;margin-top:clamp(40px,5vw,72px)}
body:has(.nav.hide) .q-aside{top:20px}
.q-nav-title{display:flex;align-items:center;gap:8px;font-family:var(--font-h);font-weight:600;font-size:.88rem;color:var(--q-gold);margin:0 6px 10px}
.q-nav-title .i{width:18px;height:18px}
.q-nav-scroll{max-height:calc(100vh - var(--nav-h) - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:6px;margin-inline:-6px}
.q-nav-in{position:relative}
.q-track{position:absolute;inset-inline-start:23px;top:22px;bottom:22px;width:2px;border-radius:2px;background:var(--line)}
.q-track i{display:block;width:100%;height:calc(var(--q-p,0)*100%);border-radius:2px;background:linear-gradient(var(--q-em-2),var(--q-gold-2));transition:height .5s var(--ease)}
.q-nav-list{position:relative;display:grid;gap:2px}
.q-nav-list a{position:relative;display:flex;align-items:center;gap:12px;padding:6px 8px 6px 12px;border-radius:12px;text-decoration:none;color:var(--ink-2);
  transition:background-color .2s,color .2s}
.q-nav-n{position:relative;flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-h);font-size:.8rem;font-weight:700;
  background:var(--bg);border:1.5px solid var(--line-2);color:var(--muted);transition:background-color .25s,border-color .25s,color .25s}
.q-nav-n .i{width:15px;height:15px}
.q-nav-x{display:flex;flex-direction:column;min-width:0;line-height:1.4}
.q-nav-k{font-size:.72rem;font-weight:500;color:var(--muted)}
.q-nav-t{font-size:.9rem;font-weight:500}
.q-nav-list a:hover{background:color-mix(in oklab,var(--q-em-2) 7%,transparent);color:var(--head)}
.q-nav-list a:hover .q-nav-n{border-color:var(--q-em-2);color:var(--q-em)}
.q-nav-list a.current{background:color-mix(in oklab,var(--q-em-2) 12%,transparent);color:var(--q-em)}
.q-nav-list a.current .q-nav-t{font-weight:700}
.q-nav-list a.current .q-nav-n{background:var(--q-em);border-color:var(--q-em);color:var(--on-brand);box-shadow:0 0 0 4px color-mix(in oklab,var(--q-gold-2) 30%,transparent)}

@media (max-width:1079px){
  .q-layout{display:block}
  .q-aside{top:calc(var(--nav-h) + 18px);margin:0 -24px;padding:0;
    background:color-mix(in oklab,var(--bg) 84%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
    border-block:1px solid var(--glass-line)}
  body:has(.nav.hide) .q-aside{top:0}
  .q-nav-title,.q-track{display:none}
  .q-nav-scroll{max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;padding:0;margin:0;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%)}
  .q-nav-scroll::-webkit-scrollbar{display:none}
  .q-nav-in{width:max-content}
  .q-nav-list{display:flex;gap:8px;padding:10px 24px}
  .q-nav-list a{gap:8px;padding:4px 14px 4px 5px;border-radius:999px;background:var(--surface);border:1px solid var(--line);white-space:nowrap;min-height:40px}
  .q-nav-list a.current{background:var(--q-em);border-color:var(--q-em);color:var(--on-brand)}
  .q-nav-list a.current .q-nav-n{background:var(--on-brand);color:var(--q-em);border-color:transparent;box-shadow:none}
  .q-nav-n{width:28px;height:28px}
  .q-nav-k{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .q-nav-t{font-size:.88rem}
}
@media (max-width:860px){.q-aside{top:calc(58px + 16px)}}
/* With the sticky strip, anchor offsets live on the targets: html's shared scroll-padding
   would otherwise make focusing a chip of the (stuck) strip scroll the whole page. */
@media (max-width:1079px){
  html:has(> body[data-page="quran.html"]){scroll-padding-top:0}
  .q-sec{scroll-margin-top:84px}
  .q-main [id]:not(.q-sec){scroll-margin-top:150px}
}
@media (max-width:600px){.q-aside{margin-inline:-18px}.q-nav-list{padding-inline:18px}}

/* ==========================================================================
   Sections
   ========================================================================== */
.q-sec{position:relative;padding-block:clamp(56px,7vw,92px)}
.q-sec+.q-sec{border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,var(--q-line) 18%,var(--q-line) 82%,transparent) 1}
.q-sec+.q-sec::before{content:"";position:absolute;top:-12px;inset-inline:0;margin-inline:auto;width:23px;height:23px;background:var(--q-gold-2);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .4l3.4 3.4h4.8v4.8l3.4 3.4-3.4 3.4v4.8h-4.8L12 23.6l-3.4-3.4H3.8v-4.8L.4 12l3.4-3.4V3.8h4.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .4l3.4 3.4h4.8v4.8l3.4 3.4-3.4 3.4v4.8h-4.8L12 23.6l-3.4-3.4H3.8v-4.8L.4 12l3.4-3.4V3.8h4.8z'/%3E%3C/svg%3E") center/contain no-repeat}
.q-sec.flash{animation:none}
.q-sec.flash .q-head h2{animation:q-flash 1.8s var(--ease)}
@keyframes q-flash{0%,35%{color:var(--q-em)}}
.q-head{display:flex;align-items:center;gap:18px;margin-bottom:clamp(24px,3.4vw,38px)}
.q-head-t{min-width:0}
.q-kick{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-h);font-weight:600;font-size:.92rem;color:var(--q-gold)}
.q-kick .i{width:18px;height:18px}
.q-head h2{font-size:clamp(1.55rem,3vw,2.3rem);line-height:1.4}
.q-lead{max-width:none;margin-bottom:28px}
.q-subh{display:flex;align-items:center;gap:10px;font-size:clamp(1.15rem,2vw,1.35rem);margin-bottom:18px}
.q-subh>.i{width:22px;height:22px;color:var(--q-gold)}
.q-k{font-family:var(--font-h);font-size:.78rem;font-weight:700;color:var(--q-gold);background:var(--q-gold-soft);padding:2px 12px;border-radius:999px}

/* cards */
.q-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,2.4vw,28px);box-shadow:var(--shadow-sm)}
.q-card>.q-ic{margin-bottom:14px}
.q-card h3{font-size:1.14rem;line-height:1.5;margin-bottom:6px}
.q-card p{color:var(--ink-2)}
.q-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.q-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:760px){.q-grid2,.q-grid3{grid-template-columns:1fr}}
@media (min-width:761px) and (max-width:1079px){.q-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.q-grid3>:last-child:nth-child(odd){grid-column:1/-1}}

/* ---------- intro ---------- */
.q-opening{font-family:var(--font-q);font-size:clamp(1.2rem,2vw,1.45rem);line-height:2;color:var(--head);text-align:center;max-width:760px;margin:0 auto 30px;text-wrap:balance}
.q-frame{position:relative;isolation:isolate;overflow:hidden;text-align:center;border-radius:var(--r-lg);
  padding:clamp(30px,5vw,58px) clamp(22px,5.5vw,72px) clamp(28px,4.5vw,52px);
  background:radial-gradient(120% 90% at 50% 0%,color-mix(in oklab,var(--q-gold-2) 13%,transparent),transparent 65%),var(--q-ivory);
  border:1px solid color-mix(in oklab,var(--q-gold-2) 55%,transparent);
  box-shadow:inset 0 0 0 7px var(--q-ivory),inset 0 0 0 8px color-mix(in oklab,var(--q-gold-2) 35%,transparent),var(--shadow)}
.q-frame .q-pattern{z-index:-1;opacity:calc(var(--q-pat)*.5);-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,transparent 30%,#000 100%);mask-image:radial-gradient(ellipse 60% 70% at 50% 50%,transparent 30%,#000 100%)}
.q-corner{position:absolute;width:26px;height:26px;color:var(--q-gold-2)}
.q-corner svg{width:100%;height:100%}
.q-corner path{fill:var(--q-ivory);stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}
.q-corner circle{fill:currentColor}
.q-c0{top:16px;inset-inline-start:16px}.q-c1{top:16px;inset-inline-end:16px}.q-c2{bottom:16px;inset-inline-start:16px}.q-c3{bottom:16px;inset-inline-end:16px}
.q-frame-cap{display:inline-block;font-family:var(--font-h);font-weight:500;font-size:.98rem;color:var(--q-gold);margin-bottom:12px;padding-inline:8px}
.q-frame .verse{font-size:clamp(1.55rem,2.9vw,2.15rem);line-height:2.25;color:var(--head)}
.q-ayah{--ms:44px;vertical-align:middle;margin-inline-start:4px}
.q-ayah .q-med-v{font-size:.8rem;color:var(--q-gold)}
.q-hadith{position:relative;margin-top:26px;padding:clamp(24px,3.6vw,40px) clamp(20px,4.5vw,56px);border-radius:var(--r-lg);background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:center}
.q-hadith::before{content:"";position:absolute;inset-block:36px;inset-inline-start:0;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(var(--q-em-2),var(--q-gold-2))}
.q-hadith-cap{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-h);font-weight:500;color:var(--q-em);font-size:1rem;margin-bottom:10px;text-align:start}
.q-hadith-cap .q-ic{width:40px;height:40px;border-radius:12px}
.q-hadith-cap .q-ic .i{width:20px;height:20px}
.q-hadith .hadith{font-size:clamp(1.3rem,2.3vw,1.62rem);line-height:2.15}
.q-src{margin-top:8px;color:var(--muted);font-size:.95rem;font-family:var(--font-h)}
.q-statement{position:relative;margin-top:26px;padding:clamp(24px,3.4vw,36px) clamp(22px,4vw,44px);border-radius:var(--r-lg);
  font-size:clamp(1.1rem,1.7vw,1.26rem);line-height:2;color:var(--q-on-deep-2);
  background:radial-gradient(90% 120% at 100% 0%,color-mix(in oklab,var(--q-gold-2) 22%,transparent),transparent 60%),linear-gradient(150deg,var(--q-deep-2),var(--q-deep));
  box-shadow:var(--shadow)}
.q-statement strong{color:var(--q-gold-hi);font-weight:700}
.q-main .q-statement strong{color:var(--q-gold-hi)}

/* ---------- goals ---------- */
.q-goals{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.q-goal{grid-column:span 3;position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;border-radius:var(--r);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-goal p{color:var(--ink-2);line-height:1.85}
.q-goal-n{font-family:var(--font-h);font-weight:700;font-size:2.3rem;line-height:1;color:transparent;-webkit-text-stroke:1.3px var(--q-gold-2)}
.q-goal-i{position:absolute;top:20px;inset-inline-end:20px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--q-gold-soft);color:var(--q-gold)}
.q-goal-i .i{width:20px;height:20px}
.q-goal.core{grid-column:span 4;border-color:transparent;padding:22px 24px 26px;
  background:radial-gradient(100% 80% at 0% 0%,color-mix(in oklab,var(--q-gold-2) 20%,transparent),transparent 60%),linear-gradient(155deg,var(--q-deep-2),var(--q-deep))}
.q-goal.core p{color:var(--q-on-deep-2)}
.q-goal.core .q-goal-n{-webkit-text-stroke-color:var(--q-gold-hi);opacity:.85}
.q-key{display:block;font-family:var(--font-q);font-size:2rem;line-height:1.5;color:var(--q-gold-hi)!important}
@media (max-width:900px){
  .q-goals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .q-goal,.q-goal.core{grid-column:span 1}
  .q-goal.core{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center}
  .q-goal.core .q-goal-n{grid-row:span 1}
}
@media (max-width:520px){
  .q-goals{grid-template-columns:1fr;gap:12px}
  .q-goal{flex-direction:row;align-items:flex-start;gap:14px;padding:16px 18px}
  .q-goal .q-goal-n{font-size:1.9rem;min-width:1.2em}
  .q-goal-i{position:static;order:-1;flex:none}
  .q-goal:not(.core) .q-goal-n{display:none}
  .q-goal.core{padding:16px 18px 18px}
  .q-key{font-size:1.75rem}
}

/* ---------- a1 ---------- */
.q-a1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.q-num-card{overflow:hidden}
.q-num-card::after{content:"";position:absolute;inset-inline-end:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:var(--q-gold-soft);pointer-events:none}
.q-num{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.q-num b{font-family:var(--font-h);font-weight:700;font-size:clamp(2.6rem,5vw,3.5rem);line-height:1.15;color:var(--q-gold)}
.q-num .i{width:30px;height:30px;color:var(--q-em)}
@media (max-width:760px){.q-a1{grid-template-columns:1fr}}

/* ---------- a2 ---------- */
.q-tone::before{content:"";position:absolute;top:0;inset-inline:28px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--q-gold-2),var(--q-em-2))}

/* ---------- a3: team diagram ---------- */
.q-team{position:relative;margin-bottom:22px}
.q-team-root{position:relative;z-index:1;display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;margin-inline:auto;padding:12px 28px 12px 14px;border-radius:999px;
  background:linear-gradient(150deg,var(--q-deep-2),var(--q-deep));box-shadow:var(--shadow)}
.q-team-root .q-ic{width:44px;height:44px;border-radius:50%;background:color-mix(in oklab,var(--q-gold-hi) 18%,transparent);color:var(--q-gold-hi)}
.q-team-root h3{color:var(--q-on-deep);font-size:clamp(1.05rem,2vw,1.25rem)}
.q-pill{color:var(--q-gold-hi);font-weight:600;font-size:.9em;white-space:nowrap}
.q-roles{--g:18px;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);margin-top:58px}
.q-roles::before{content:"";position:absolute;top:-29px;inset-inline:calc(100%/6 - var(--g)/3);height:2px;background:var(--q-line)}
.q-roles::after{content:"";position:absolute;top:-58px;height:29px;width:2px;inset-inline:0;margin-inline:auto;background:var(--q-line)}
.q-role{position:relative;text-align:center;padding:24px 20px 22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-role::before{content:"";position:absolute;top:-29px;height:29px;width:2px;inset-inline:0;margin-inline:auto;background:var(--q-line)}
.q-role::after{content:"";position:absolute;top:-5px;inset-inline:0;margin-inline:auto;width:9px;height:9px;rotate:45deg;background:var(--q-gold-2);border-radius:2px}
.q-role .q-ic{margin:0 auto 12px}
.q-role h4{font-size:1.08rem;margin-bottom:6px}
.q-role p{color:var(--ink-2);font-size:.98rem}
.q-a3-more{margin-top:18px}
.q-pair{display:flex;align-items:center;gap:0;margin-bottom:14px}
.q-pair span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--q-em-2) 12%,var(--surface));color:var(--q-em);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.q-pair span+i+span{background:var(--q-gold-soft);color:var(--q-gold)}
.q-pair i{display:grid;place-items:center;width:34px;color:var(--q-gold-2)}
.q-pair i .i{width:18px;height:18px}
.q-cup span{background:var(--q-gold-soft);color:var(--q-gold)}
.q-points{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.q-point{padding:5px 14px;border-radius:14px;line-height:1.6;font-size:.93rem;font-weight:600;color:var(--q-em);
  background:color-mix(in oklab,var(--q-em-2) 9%,transparent);border:1px solid color-mix(in oklab,var(--q-em-2) 26%,transparent)}
.q-plus{font-family:var(--font-h);font-weight:700;color:var(--q-gold);font-size:1.1rem;line-height:1}
@media (max-width:760px){
  .q-team-root{border-radius:var(--r);padding:12px 18px 12px 12px}
  .q-roles{grid-template-columns:1fr;margin-top:30px}
  .q-roles::before{display:none}
  .q-roles::after{top:-30px;height:30px}
  .q-role::before{top:calc(var(--g)*-1);height:var(--g)}
  .q-role:first-child::before{display:none}
}

/* ---------- a4: stepper ---------- */
.q-steps{position:relative;display:grid;gap:16px}
.q-steps::before{content:"";position:absolute;inset-inline-start:27px;top:30px;bottom:30px;width:2px;border-radius:2px;
  background:linear-gradient(var(--q-em-2),var(--q-gold-2));opacity:.55}
.q-step{display:flex;align-items:flex-start;gap:18px}
.q-step>.q-med{--ms:56px;margin-top:10px}
.q-step-c{flex:1;min-width:0;padding:20px 24px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-step-c h3{display:flex;align-items:center;gap:12px;font-size:1.12rem;line-height:1.5;margin-bottom:8px}
.q-step-c h3 .q-ic{width:36px;height:36px;border-radius:11px}
.q-step-c h3 .q-ic .i{width:19px;height:19px}
.q-step-c p{color:var(--ink-2)}
@media (hover:hover){.q-step:hover .q-step-c{border-color:color-mix(in oklab,var(--q-gold-2) 50%,var(--line));box-shadow:var(--shadow)}}
@media (max-width:600px){
  .q-steps::before{inset-inline-start:21px}
  .q-step{gap:12px}
  .q-step>.q-med{--ms:44px;margin-top:14px}
  .q-step-c{padding:16px 18px}
  .q-step-c h3{font-size:1.05rem}
}

/* ---------- a5: app ---------- */
.q-app{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);align-items:center}
.q-phone-wrap{position:relative;display:grid;place-items:center;padding:18px 0 26px}
.q-phone-wrap::before{content:"";position:absolute;width:86%;aspect-ratio:1;border-radius:50%;top:12%;inset-inline:0;margin-inline:auto;
  background:radial-gradient(closest-side,color-mix(in oklab,var(--q-em-2) 22%,transparent),transparent)}
.q-phone{position:relative;width:min(272px,100%);aspect-ratio:9/17.6;border-radius:44px;padding:11px;
  background:linear-gradient(160deg,var(--q-deep-2),var(--q-deep));box-shadow:var(--shadow-lg),inset 0 0 0 1.5px color-mix(in oklab,var(--q-gold-2) 60%,transparent)}
.q-notch{position:absolute;top:19px;inset-inline:0;margin-inline:auto;width:86px;height:24px;border-radius:14px;background:var(--q-deep);z-index:2}
.q-screen{height:100%;border-radius:34px;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:50px 14px 14px;background:var(--bg)}
.q-app-head{display:flex;align-items:center;gap:8px;font-family:var(--font-h);font-size:.86rem;color:var(--head);line-height:1.3}
.q-app-head .logo{width:26px;height:26px}
.q-app-hero{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:86px;padding:14px;border-radius:18px;
  background:radial-gradient(80% 120% at 0% 0%,color-mix(in oklab,var(--q-gold-2) 45%,transparent),transparent 70%),linear-gradient(140deg,var(--q-deep-2),var(--q-deep))}
.q-app-bars{display:grid;gap:7px;flex:1}
.q-app-bars i{display:block;height:6px;border-radius:4px;background:color-mix(in oklab,var(--q-on-deep) 70%,transparent)}
.q-app-bars i:nth-child(2){width:72%;opacity:.7}.q-app-bars i:nth-child(3){width:46%;background:var(--q-gold-hi)}
.q-app-ring{width:50px;height:50px;border-radius:50%;flex:none;border:5px solid var(--q-gold-hi);box-shadow:inset 0 0 0 5px color-mix(in oklab,var(--q-on-deep) 18%,transparent)}
.q-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.q-app-tile{display:flex;flex-direction:column;gap:6px;padding:11px 10px;border-radius:15px;background:var(--surface);border:1px solid var(--line);
  font-size:.66rem;line-height:1.5;color:var(--ink-2);transition:translate .3s var(--ease),border-color .3s,box-shadow .3s}
.q-app-tile .i{width:20px;height:20px;color:var(--q-em)}
.q-app-list{display:grid;gap:8px}
.q-app-list span{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.q-app-list i{width:18px;height:18px;border-radius:50%;flex:none;background:var(--q-gold-soft);border:1.5px solid var(--q-gold-2)}
.q-app-list b{height:5px;border-radius:3px;flex:1;background:var(--line-2)}
.q-app-list span+span b{flex:.6}
.q-app-dock{margin-top:auto;display:flex;justify-content:space-around;align-items:center;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.q-app-dock i{width:18px;height:4px;border-radius:3px;background:var(--line-2)}
.q-app-dock i:first-child{background:var(--q-em-2);width:24px}
.q-toast{position:absolute;top:24%;inset-inline-end:-2%;display:flex;align-items:center;gap:8px;max-width:210px;padding:10px 14px;border-radius:16px;
  font-family:var(--font-h);font-size:.78rem;line-height:1.5;font-weight:500;color:var(--head);background:var(--glass);border:1px solid var(--q-line);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.q-toast .i{width:18px;height:18px;color:var(--q-gold);flex:none}
@media (prefers-reduced-motion:no-preference){.q-toast{animation:q-bob 6s ease-in-out infinite}}
@keyframes q-bob{50%{translate:0 -8px}}
.q-feats{display:grid;gap:12px}
.q-feat{display:flex;align-items:flex-start;gap:16px;padding:18px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-feat h3{font-size:1.06rem;line-height:1.5;margin-bottom:4px}
.q-feat p{color:var(--ink-2);font-size:.98rem}
.q-feat .q-paren{display:inline;font-size:.78em}
.q-app:has(.q-feat:nth-child(1):hover) .q-app-tile:nth-child(1),
.q-app:has(.q-feat:nth-child(2):hover) .q-app-tile:nth-child(2),
.q-app:has(.q-feat:nth-child(3):hover) .q-app-tile:nth-child(3),
.q-app:has(.q-feat:nth-child(4):hover) .q-app-tile:nth-child(4){translate:0 -3px;border-color:var(--q-em-2);box-shadow:0 0 0 3px color-mix(in oklab,var(--q-em-2) 22%,transparent)}
@media (max-width:900px){
  .q-app{grid-template-columns:1fr}
  .q-phone{width:min(240px,100%)}
}

/* ---------- a6: campaign ---------- */
.q-aim{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:26px;padding:20px 24px;border-radius:var(--r);font-size:clamp(1.04rem,1.6vw,1.16rem);color:var(--ink-2);
  background:linear-gradient(135deg,color-mix(in oklab,var(--q-gold-2) 13%,var(--surface)),var(--surface) 70%);border:1px solid var(--q-line)}
.q-aim-l{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-h);font-weight:700;color:var(--q-gold)}
.q-aim-l .i{width:20px;height:20px}
.q-aim>span:last-child{flex:1 1 320px}
.q-flow{--g:16px;position:relative;display:grid;gap:var(--g)}
.q-col{position:relative;display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:24px;padding:24px 26px;border-radius:var(--r);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-col+.q-col::before{content:"";position:absolute;top:calc(var(--g)*-1 - 1px);inset-inline-start:46px;height:var(--g);border-inline-start:2px dotted var(--q-gold-2)}
.q-col-h{display:flex;align-items:flex-start;gap:14px}
.q-col-h .q-med{--ms:46px}
.q-col-h h3{font-size:1.12rem;line-height:1.55;padding-top:9px}
.q-col-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px 26px}
.q-col-list>li{display:flex;align-items:flex-start;gap:12px}
.q-col-list .q-ic{width:38px;height:38px;border-radius:11px}
.q-col-list .q-ic .i{width:19px;height:19px}
.q-col-list h4{font-size:1rem;line-height:1.55;margin-bottom:2px}
.q-col-list p{font-size:.96rem;color:var(--ink-2);line-height:1.85}
@media (max-width:760px){
  .q-col{grid-template-columns:1fr;gap:14px;padding:20px 18px}
  .q-col+.q-col::before{inset-inline-start:40px}
  .q-col-h h3{padding-top:8px}
  .q-col-list>li+li{padding-top:16px;border-top:1px dashed var(--line-2)}
}

/* ---------- a7 ---------- */
.q-pillar{background:linear-gradient(180deg,var(--surface) 55%,color-mix(in oklab,var(--q-em-2) 7%,var(--surface)))}
.q-pillar>.q-ic{width:54px;height:54px;border-radius:50%;background:linear-gradient(140deg,color-mix(in oklab,var(--q-em-2) 18%,transparent),var(--q-gold-soft))}

/* ---------- a8: org chart ---------- */
.q-org{display:flex;flex-direction:column;align-items:center}
.q-org>.q-subh{align-self:stretch}
.q-org-top{position:relative;z-index:1;max-width:560px;text-align:center;padding:22px 28px 24px;border-radius:var(--r);
  background:radial-gradient(90% 100% at 50% 0%,color-mix(in oklab,var(--q-gold-2) 24%,transparent),transparent 70%),linear-gradient(155deg,var(--q-deep-2),var(--q-deep));box-shadow:var(--shadow)}
.q-org-top .q-ic{margin:0 auto 10px;border-radius:50%;background:color-mix(in oklab,var(--q-gold-hi) 18%,transparent);color:var(--q-gold-hi)}
.q-org-top h4{color:var(--q-on-deep);font-size:1.2rem;margin-bottom:4px}
.q-org-top p{color:var(--q-on-deep-2)}
.q-org-row{--g:24px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--g);width:100%;margin-top:58px}
.q-org-row::before{content:"";position:absolute;top:-29px;inset-inline:calc(25% - var(--g)/4);height:2px;background:var(--q-line)}
.q-org-row::after{content:"";position:absolute;top:-58px;height:29px;width:2px;inset-inline:0;margin-inline:auto;background:var(--q-line)}
.q-org-node{position:relative;text-align:center;padding:22px 22px 24px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-org-node::before{content:"";position:absolute;top:-29px;height:29px;width:2px;inset-inline:0;margin-inline:auto;background:var(--q-line)}
.q-org-node::after{content:"";position:absolute;top:-5px;inset-inline:0;margin-inline:auto;width:9px;height:9px;rotate:45deg;background:var(--q-gold-2);border-radius:2px}
.q-org-node .q-ic{margin:0 auto 12px}
.q-org-node h4{font-size:1.08rem;margin-bottom:4px}
.q-org-node p{color:var(--ink-2)}
.q-follow{display:flex;align-items:center;gap:20px;margin-top:22px;padding:22px 26px;border-radius:var(--r);background:var(--q-ivory);border:1px dashed color-mix(in oklab,var(--q-gold-2) 60%,transparent)}
.q-follow-ic{width:58px;height:58px;border-radius:50%;flex:none;display:grid;place-items:center;color:var(--q-gold);background:var(--q-gold-soft);border:1px solid var(--q-line)}
.q-follow-ic .i{width:26px;height:26px}
@media (prefers-reduced-motion:no-preference){.q-follow-ic .i{animation:q-spin 14s linear infinite}}
.q-follow h3{font-size:1.1rem;margin-bottom:2px}
.q-follow p{color:var(--ink-2)}
@media (max-width:600px){
  .q-org-row{grid-template-columns:1fr;margin-top:30px;--g:16px}
  .q-org-row::before{display:none}
  .q-org-row::after{top:-30px;height:30px}
  .q-org-node::before{top:calc(var(--g)*-1);height:var(--g)}
  .q-org-node:first-child::before{display:none}
  .q-follow{flex-direction:column;align-items:flex-start;gap:12px;padding:20px}
}

/* ---------- a9 ---------- */
.q-fund{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-content:start}
.q-fund>.q-ic{grid-row:span 2;margin:0;width:52px;height:52px;border-radius:16px;background:var(--q-gold-soft);color:var(--q-gold)}
.q-fund h3{align-self:center}

/* ---------- a10: awards ---------- */
.q-awards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.q-award-grp{padding:24px 24px 10px;border-radius:var(--r-lg);border:1px solid var(--q-line);box-shadow:var(--shadow-sm)}
.q-periodic{background:linear-gradient(165deg,color-mix(in oklab,var(--q-em-2) 10%,var(--surface)),var(--surface) 65%)}
.q-annual{background:linear-gradient(165deg,color-mix(in oklab,var(--q-gold-2) 16%,var(--surface)),var(--surface) 65%)}
.q-award-grp .q-col-h{margin-bottom:8px;align-items:center}
.q-award-grp .q-col-h .q-med{--ms:40px}
.q-award-grp .q-col-h h3{padding-top:0}
.q-award-grp h3 .q-paren{display:block;font-size:.78em;line-height:1.5}
.q-award{display:flex;align-items:flex-start;gap:16px;padding-block:16px}
.q-award+.q-award{border-top:1px dashed var(--q-line)}
.q-award h4{font-size:1.04rem;margin-bottom:2px}
.q-award p{color:var(--ink-2);font-size:.98rem}
.q-badge{position:relative;width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;margin-top:2px;
  color:var(--q-on-deep);background:radial-gradient(circle at 32% 28%,color-mix(in oklab,var(--q-em-2) 70%,var(--q-on-deep)),var(--q-deep-2) 75%);
  box-shadow:inset 0 0 0 3px color-mix(in oklab,var(--q-on-deep) 25%,transparent),0 8px 18px -8px color-mix(in oklab,var(--q-deep) 80%,transparent)}
.q-badge .i{width:23px;height:23px}
.q-annual .q-badge{color:var(--q-deep);background:radial-gradient(circle at 32% 28%,var(--q-gold-hi),var(--q-gold-2) 70%)}
@media (max-width:900px){.q-awards{grid-template-columns:1fr}}
@media (max-width:600px){.q-award-grp{padding:20px 18px 6px}.q-award{gap:14px}.q-badge{width:46px;height:46px}}

/* ---------- a11: levels + KPIs ---------- */
.q-subsec+.q-subsec{margin-top:clamp(36px,5vw,56px)}
.q-tbl thead th{background:var(--q-deep);color:var(--q-on-deep)}
[data-theme=dark] .q-tbl thead th{background:var(--q-deep-2);color:var(--q-on-deep)}
.q-tbl tbody th{color:var(--q-em)}
.q-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.q-kpi{display:flex;flex-direction:column;gap:12px;padding:20px 20px 22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.q-kpi-top{display:flex;align-items:center;gap:14px}
.q-kpi .ring{--rs:78px;--rw:8px;flex:none}
.q-kpi .ring span{font-size:1.1rem}
.q-kpi .ring.q-3d span{font-size:.95rem}
.q-kpi-ic{width:78px;height:78px;border-radius:50%;flex:none;display:grid;place-items:center;color:var(--q-gold);background:var(--q-gold-soft);
  border:2px dashed color-mix(in oklab,var(--q-gold-2) 55%,transparent)}
.q-kpi-ic .i{width:30px;height:30px}
.q-kpi-h{min-width:0}
.q-kpi-tag{display:inline-block;font-family:var(--font-h);font-size:.78rem;font-weight:700;color:var(--q-gold);background:var(--q-gold-soft);padding:1px 10px;border-radius:999px}
.q-kpi h4{font-size:1.02rem;line-height:1.5;margin-top:4px}
.q-kpi p{font-size:.96rem;color:var(--ink-2);line-height:1.85}
.q-kpi p strong{color:var(--q-em)}
@media (max-width:1240px){.q-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.q-kpis{grid-template-columns:1fr}}

/* ---------- CTA (page tint) ---------- */
body[data-page="quran.html"] .cta-bg{background:
  radial-gradient(600px 300px at 85% 0%,color-mix(in oklab,var(--q-gold-2) var(--q-glow-cta),transparent),transparent 60%),
  radial-gradient(520px 320px at 10% 100%,color-mix(in oklab,var(--t1) 45%,transparent),transparent 60%),
  linear-gradient(135deg,var(--q-deep-2),var(--q-deep))}

/* ---------- print ---------- */
@media print{
  .q-aside,.q-phone-wrap,.q-hero-bg,.q-trio-nav,.q-sec+.q-sec::before{display:none!important}
  .q-layout{display:block}
  .q-app,.q-a1,.q-grid2,.q-grid3,.q-flow,.q-awards,.q-kpis,.q-roles,.q-org-row{grid-template-columns:1fr!important}
  .q-statement,.q-goal.core,.q-team-root,.q-org-top{background:none!important;color:#000;border:1px solid #999}
  .q-statement strong,.q-key,.q-team-root h3,.q-org-top h4,.q-org-top p,.q-goal.core p{color:#000!important}
}
