  /* ==========================================================================
   TOKENS — Ilm Academy: manuscript-gold on deep masjid green
   Signature motif: the Rub-el-Hizb (۞) — two overlapping squares, the star
   used in Qur'an margins to mark the end of a quarter-hizb. It appears as
   the eyebrow bullet, section marker, hero medallion and card corner mark.
   ========================================================================== */
  
   :root {
      --bg: #060b09;
      --bg-soft: #091510;
      --surface: #0e1a15;
      --surface-2: #12241d;
      --surface-3: #172c23;
      --line: rgba(201, 162, 74, 0.22);
      --line-soft: rgba(238, 241, 236, 0.08);
      --gold: #c9a24a;
      --gold-light: #eccf85;
      --gold-dim: rgba(201, 162, 74, 0.35);
      --emerald: #0f5c3f;
      --emerald-light: #2e9166;
      --cream: #f3ead6;
      --text: #eef1ec;
      --text-mut: #9db0a7;
      --text-faint: #62766c;
      --cut: 14px;
      /* facet-cut corner size */
      --ease: cubic-bezier(.22, 1, .36, 1);
  }
  
  * {
      box-sizing: border-box;
  }
  
  html {
      scroll-behavior: smooth;
      scroll-padding-top: 120px;
      overflow-x: clip;
      max-width: 100%;
  }
  
  body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Poppins', sans-serif;
      font-weight: 300;
      overflow-x: clip;
      width: 100%;
      max-width: 100%;
  }
  
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .font-head {
      font-family: 'Outfit', sans-serif;
      font-weight: 600;
      letter-spacing: -.02em;
      color: var(--text);
  }
  
  .font-ar {
      font-family: 'Amiri', serif;
      direction: rtl;
  }
  
  a {
      text-decoration: none;
  }
  
   ::selection {
      background: var(--gold);
      color: #0a0f0d;
  }
  
  .container {
      position: relative;
      z-index: 2;
  }
  /* ==========================================================================
   RUB-EL-HIZB STAR — two overlapping squares (☆ used in Qur'an margins)
   ========================================================================== */
  
  .star8 {
      position: relative;
      display: inline-block;
      flex: none;
  }
  
  .star8 .sq {
      position: absolute;
      inset: 0;
      border: 2px solid currentColor;
  }
  
  .star8 .sq.b {
      transform: rotate(45deg);
  }
  
  .star8.filled .sq {
      background: currentColor;
      opacity: .14;
      border-width: 1.4px;
  }
  
  .star8-mark {
      color: var(--gold);
      width: 15px;
      height: 15px;
  }
  
  .star8-mark .sq {
      border-width: 1.6px;
  }
  /* frieze border strip — a row of tiny diamonds, like a tilework frieze */
  
  .frieze {
      display: flex;
      justify-content: center;
      gap: 15px;
      padding: 6px 0;
      opacity: .7;
  }
  
  .frieze span {
      width: 6px;
      height: 6px;
      background: var(--gold);
      transform: rotate(45deg);
      opacity: .55;
  }
  
  .frieze span:nth-child(3n) {
      background: var(--emerald-light);
  }
  
  .frieze span:nth-child(4) {
      opacity: 1;
      width: 8px;
      height: 8px;
  }
  /* subtle lattice texture (mashrabiya-like trellis) */
  
  .lattice {
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .05;
      background-image: repeating-linear-gradient(45deg, var(--gold) 0 1.5px, transparent 1.5px 46px), repeating-linear-gradient(-45deg, var(--gold) 0 1.5px, transparent 1.5px 46px);
  }
  
  .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      font-family: 'Outfit', sans-serif;
      font-size: .72rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--gold-light);
      padding: 7px 18px 7px 12px;
      border: 1px solid var(--line);
      background: rgba(201, 162, 74, .06);
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  }
  
  .section-title {
      font-size: clamp(1.9rem, 3.5vw, 2.8rem);
      margin: 16px 0 10px;
  }
  
  .section-sub {
      color: var(--text-mut);
      font-weight: 300;
      max-width: 560px;
  }
  
  .section-pad {
      padding: 110px 0 100px;
      position: relative;
  }
  
  @media(max-width:768px) {
      .section-pad {
          padding: 70px 0 64px;
          overflow-x: clip;
      }
  }
  /* facet-cut corner — the shared card signature */
  
  .facet {
      clip-path: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut));
  }
  /* reveal animations */
  
  .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: opacity .8s var(--ease), transform .8s var(--ease);
  }
  
  .reveal.in {
      opacity: 1;
      transform: translateY(0);
  }
  
  .reveal-left {
      opacity: 0;
      transform: translateX(-36px);
      transition: opacity .8s var(--ease), transform .8s var(--ease);
  }
  
  .reveal-left.in {
      opacity: 1;
      transform: translateX(0);
  }
  
  .reveal-right {
      opacity: 0;
      transform: translateX(36px);
      transition: opacity .8s var(--ease), transform .8s var(--ease);
  }
  
  .reveal-right.in {
      opacity: 1;
      transform: translateX(0);
  }
  
  .reveal-scale {
      opacity: 0;
      transform: scale(.93);
      transition: opacity .7s var(--ease), transform .7s var(--ease);
  }
  
  .reveal-scale.in {
      opacity: 1;
      transform: scale(1);
  }
  
  .d1 {
      transition-delay: .06s;
  }
  
  .d2 {
      transition-delay: .13s;
  }
  
  .d3 {
      transition-delay: .2s;
  }
  
  .d4 {
      transition-delay: .27s;
  }
  
  .d5 {
      transition-delay: .34s;
  }
  
  .d6 {
      transition-delay: .41s;
  }
  
  @keyframes spinSlow {
      from {
          transform: rotate(0);
      }
      to {
          transform: rotate(360deg);
      }
  }
  
  @keyframes spinRev {
      from {
          transform: rotate(360deg);
      }
      to {
          transform: rotate(0);
      }
  }
  
  @keyframes floatY {
      0%,
      100% {
          transform: translateY(0);
      }
      50% {
          transform: translateY(-12px);
      }
  }
  
  @keyframes pulseGlow {
      0%,
      100% {
          box-shadow: 0 0 0 0 rgba(201, 162, 74, .35);
      }
      50% {
          box-shadow: 0 0 0 14px rgba(201, 162, 74, 0);
      }
  }
  
  @keyframes shimmer {
      0% {
          background-position: -200% 0;
      }
      100% {
          background-position: 200% 0;
      }
  }
  
  @media (prefers-reduced-motion: reduce) {
      * {
          animation: none!important;
          transition: none!important;
      }
      .reveal,
      .reveal-left,
      .reveal-right,
      .reveal-scale {
          opacity: 1;
          transform: none;
      }
  }
  /* ==========================================================================
   TOP BAR — above the floating navbar
   ========================================================================== */

  .topbar {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      max-width: 100%;
      z-index: 1100;
      height: 38px;
      background: #050908;
      border-bottom: 1px solid var(--line);
      overflow: hidden;
  }

  .topbar-marquee {
      overflow: hidden;
      height: 38px;
      display: flex;
      align-items: center;
      mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }

  .topbar-track {
      display: flex;
      align-items: center;
      gap: 28px;
      width: max-content;
      padding-inline: 24px;
      animation: asmaScroll 160s linear infinite;
  }

  .topbar-marquee:hover .topbar-track {
      animation-play-state: paused;
  }

  .asma {
      display: inline-flex;
      align-items: baseline;
      gap: 7px;
      white-space: nowrap;
      color: var(--text-mut);
      font-size: .72rem;
      letter-spacing: .04em;
  }

  .asma b {
      font-family: 'Amiri', serif;
      font-weight: 700;
      color: var(--gold-light);
      font-size: .95rem;
  }

  @keyframes asmaScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
  }

  /* ==========================================================================
   NAVBAR — floating island pill, not stuck to the edge
   ========================================================================== */
  
  .navbar-noor {
      position: fixed;
      top: 50px;
      left: 0;
      right: 0;
      z-index: 1000;
      transition: top .4s var(--ease);
  }

  .nav-shell {
      max-width: 1300px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      background: rgba(9, 17, 14, .6);
      backdrop-filter: blur(16px) saturate(140%);
      border: 1px solid var(--line);
      border-radius: 100px;
      padding: 9px 10px 9px 20px;
      transition: all .4s var(--ease);
      box-shadow: 0 20px 50px -26px rgba(0, 0, 0, .8);
  }
  
  .navbar-noor.scrolled {
      top: 46px;
  }
  
  .navbar-noor.scrolled .nav-shell {
      background: rgba(6, 11, 9, .86);
      box-shadow: 0 22px 46px -20px rgba(0, 0, 0, .9);
  }
  
  .brand {
      display: flex;
      align-items: center;
      gap: 11px;
  }
  .brand-mark {
      width: 50px;
      height: auto;
      max-width: 50px;
      flex: 0 0 auto;
      display: block;
  }

  footer .brand-mark {
      width: auto;
      max-width: 160px;
      height: 52px;
  }
  
  .brand-text {
      font-family: 'Outfit', sans-serif;
      font-size: 1.14rem;
      font-weight: 700;
      line-height: 1;
  }
  
  .brand-text .ilm {
      color: var(--emerald-light);
  }
  
  .brand-text .academy {
      color: var(--gold-light);
  }
  
  .brand-text small {
      display: block;
      font-family: 'Poppins', sans-serif;
      font-size: .56rem;
      font-weight: 400;
      letter-spacing: .18em;
      color: var(--text-faint);
      text-transform: uppercase;
      margin-top: 3px;
  }
  
  .nav-links {
      display: flex;
      align-items: center;
      gap: 2px;
  }
  
  .nav-item {
      position: relative;
  }
  
  .nav-top {
      color: var(--text-mut);
      font-size: .86rem;
      padding: 9px 15px;
      border-radius: 30px;
      display: flex;
      align-items: center;
      gap: 5px;
      transition: color .3s, background .3s;
  }
  
  .nav-top:hover,
  .nav-top.active {
      color: var(--gold-light);
      background: rgba(201, 162, 74, .09);
  }
  
  .nav-caret {
      width: 12px;
      height: 12px;
      transition: transform .3s var(--ease);
      opacity: .6;
  }
  
  .nav-item:hover .nav-caret {
      transform: rotate(180deg);
      opacity: 1;
  }
  
  .mega-dropdown {
      position: absolute;
      top: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%) translateY(10px) scale(.98);
      width: min(560px, calc(100vw - 48px));
      background: radial-gradient(ellipse at 0% 0%, rgba(46, 145, 102, .16), transparent 46%), linear-gradient(165deg, rgba(18, 36, 29, .97), rgba(9, 21, 16, .98));
      border: 1px solid var(--line);
      padding: 14px;
      box-shadow: 0 32px 70px -20px rgba(0, 0, 0, .88), 0 0 0 1px rgba(201, 162, 74, .06) inset;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
      clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
      z-index: 20;
  }
  
  .mega-dropdown::before {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: -18px;
      height: 18px;
  }
  
  .mega-dropdown::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .045;
      background-image: repeating-linear-gradient(45deg, var(--gold) 0 1.5px, transparent 1.5px 42px), repeating-linear-gradient(-45deg, var(--gold) 0 1.5px, transparent 1.5px 42px);
  }
  
  .mega-dropdown-end {
      left: auto;
      right: 0;
      transform: translateY(10px) scale(.98);
  }
  
  .mega-pointer {
      position: absolute;
      top: -6px;
      left: 50%;
      width: 11px;
      height: 11px;
      background: rgba(18, 36, 29, .97);
      border-left: 1px solid var(--line);
      border-top: 1px solid var(--line);
      transform: translateX(-50%) rotate(45deg);
  }
  
  .mega-dropdown-end .mega-pointer {
      left: auto;
      right: 42px;
      transform: rotate(45deg);
  }
  
  .nav-item:hover .mega-dropdown {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0) scale(1);
  }
  
  .nav-item:hover .mega-dropdown-end {
      transform: translateY(0) scale(1);
  }
  
  .mega-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 12px;
      align-items: stretch;
  }
  
  .mega-col {
      display: flex;
      flex-direction: column;
      gap: 4px;
  }
  
  .mega-kicker {
      display: block;
      font-family: 'Outfit', sans-serif;
      font-size: .62rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--gold);
      padding: 4px 8px 8px;
  }
  
  .dd-link {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 9px 10px;
      color: var(--text-mut);
      font-size: .85rem;
      border: 1px solid transparent;
      background: transparent;
      transition: .28s var(--ease);
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
      opacity: 0;
      transform: translateY(8px);
  }
  
  .nav-item:hover .dd-link {
      opacity: 1;
      transform: none;
  }
  
  .nav-item:hover .dd-link:nth-of-type(1) {
      transition-delay: .04s;
  }
  
  .nav-item:hover .dd-link:nth-of-type(2) {
      transition-delay: .08s;
  }
  
  .nav-item:hover .dd-link:nth-of-type(3) {
      transition-delay: .12s;
  }
  
  .nav-item:hover .dd-link:nth-of-type(4) {
      transition-delay: .16s;
  }
  
  .dd-link:hover {
      background: rgba(201, 162, 74, .1);
      border-color: var(--line);
      color: var(--gold-light);
  }
  
  .dd-ico {
      width: 34px;
      height: 34px;
      flex: 0 0 34px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold);
      background: rgba(201, 162, 74, .08);
      border: 1px solid var(--line);
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
      transition: .28s var(--ease);
  }
  
  .dd-ico i {
      width: 15px;
      height: 15px;
  }
  
  .dd-link:hover .dd-ico {
      background: var(--gold);
      color: #0a0f0d;
      border-color: var(--gold);
  }
  
  .dd-copy {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
      flex: 1;
  }
  
  .dd-copy b {
      font-family: 'Outfit', sans-serif;
      font-weight: 600;
      font-size: .86rem;
      color: var(--text);
      letter-spacing: -.01em;
  }
  
  .dd-link:hover .dd-copy b {
      color: var(--gold-light);
  }
  
  .dd-copy small {
      color: var(--text-faint);
      font-size: .7rem;
      font-weight: 400;
      line-height: 1.3;
  }
  
  .dd-go {
      width: 14px;
      height: 14px;
      flex: 0 0 14px;
      opacity: 0;
      transform: translate(-4px, 4px);
      color: var(--gold-light);
      transition: .28s var(--ease);
  }
  
  .dd-link:hover .dd-go {
      opacity: 1;
      transform: none;
  }
  
  .mega-aside {
      position: relative;
      overflow: hidden;
      padding: 16px 16px 18px;
      background: radial-gradient(circle at 80% 0%, rgba(201, 162, 74, .16), transparent 55%), linear-gradient(180deg, rgba(15, 92, 63, .22), rgba(6, 11, 9, .35));
      border: 1px solid var(--line);
      clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
      display: flex;
      flex-direction: column;
      min-height: 100%;
      opacity: 0;
      transform: translateX(8px);
      transition: .4s var(--ease) .1s;
  }
  
  .nav-item:hover .mega-aside {
      opacity: 1;
      transform: none;
  }
  
  .mega-aside .mega-kicker {
      padding: 0 0 10px;
  }
  
  .mega-aside-ar {
      font-family: 'Amiri', serif;
      font-size: 1.22rem;
      line-height: 1.7;
      color: var(--gold-light);
      margin: 0 0 10px;
  }
  
  .mega-aside-text {
      color: var(--text-mut);
      font-size: .78rem;
      line-height: 1.55;
      margin: 0 0 auto;
  }
  
  .mega-aside-meta {
      color: var(--text-faint);
      font-size: .68rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin: 8px 0 14px;
  }
  
  .mega-aside-cta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 16px;
      color: var(--gold-light);
      font-family: 'Outfit', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      transition: gap .28s var(--ease);
  }
  
  .mega-aside-cta i {
      width: 14px;
      height: 14px;
  }
  
  .mega-aside-cta:hover {
      gap: 10px;
      color: var(--cream);
  }
  
  .dd-sep {
      height: 1px;
      background: var(--line-soft);
      margin: 6px 4px;
  }
  
  .btn-gold {
      background: linear-gradient(135deg, var(--gold), #a9843a);
      color: #0b0f0d;
      font-weight: 600;
      border: none;
      padding: 10px 22px;
      font-size: .85rem;
      letter-spacing: .01em;
      transition: transform .35s var(--ease), box-shadow .35s var(--ease);
      box-shadow: 0 8px 22px -8px rgba(201, 162, 74, .55);
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  }
  
  .btn-gold:hover {
      transform: translateY(-2px);
      box-shadow: 0 14px 28px -8px rgba(201, 162, 74, .7);
      color: #0b0f0d;
  }
  
  .btn-line {
      border: 1px solid var(--line);
      color: var(--text);
      padding: 9px 20px;
      font-size: .85rem;
      transition: .3s;
      background: transparent;
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  }
  
  .btn-line:hover {
      border-color: var(--gold);
      color: var(--gold-light);
      background: rgba(201, 162, 74, .06);
  }
  
  .burger-btn {
      width: 42px;
      height: 42px;
      border: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255, 255, 255, .02);
      color: var(--text);
      clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  }
  /* offcanvas — full viewport, above topbar (z-index 1100) */
  
  #mobileMenu.offcanvas.offcanvas-noor {
      --bs-offcanvas-width: 100%;
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      width: auto !important;
      max-width: none !important;
      height: auto !important;
      z-index: 2000 !important;
      align-items: stretch;
      background: #070d0a;
      color: var(--text);
      border: none;
  }
  
  .offcanvas-noor .offcanvas-header {
      width: 100%;
      max-width: none;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px;
      border-bottom: 1px solid var(--line-soft);
      box-sizing: border-box;
  }

  .offcanvas-noor .offcanvas-header .brand {
      flex: 1;
      min-width: 0;
  }
  
  .offcanvas-noor .btn-close {
      filter: invert(1) grayscale(1) brightness(2);
      opacity: .8;
  }
  
  .offcanvas-noor .offcanvas-body {
      width: 100%;
      max-width: none;
      flex: 1 1 auto;
      padding: 10px 12px 28px;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      box-sizing: border-box;
  }
  
  @keyframes ocIn {
      from {
          opacity: 0;
          transform: translateX(-26px);
      }
      to {
          opacity: 1;
          transform: translateX(0);
      }
  }
  
  .oc-spot {
      display: flex;
      flex-direction: column;
      gap: 4px;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      align-self: stretch;
      margin: 8px 0 14px;
      padding: 16px 16px 14px;
      background:
          radial-gradient(ellipse at 0% 0%, rgba(201, 162, 74, .16), transparent 50%),
          var(--surface);
      border: 1px solid var(--line);
      color: inherit;
      clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  }

  .oc-spot-kicker {
      font-size: .62rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold);
      font-family: 'Outfit', sans-serif;
  }

  .oc-spot-ar {
      font-family: 'Amiri', serif;
      font-size: 1.2rem;
      color: var(--gold-light);
      line-height: 1.6;
  }

  .oc-spot-en {
      font-size: .78rem;
      color: var(--text-mut);
  }

  .oc-link {
      font-family: 'Outfit', sans-serif;
      font-size: 1.02rem;
      font-weight: 600;
      color: var(--text);
      padding: 11px 10px;
      margin: 0 0 8px;
      border: 1px solid var(--line-soft);
      display: flex;
      align-items: center;
      gap: 12px;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      align-self: stretch;
      background: rgba(255, 255, 255, .02);
      text-align: left;
      opacity: 1;
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
      transition: color .3s, background .3s, border-color .3s;
  }

  .oc-ico {
      width: 42px;
      height: 42px;
      flex: 0 0 42px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold);
      background: rgba(201, 162, 74, .1);
      border: 1px solid var(--line);
      clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  }

  .oc-ico i,
  .oc-ico svg {
      width: 16px;
      height: 16px;
      opacity: 1;
      color: var(--gold);
  }

  .oc-copy {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
  }

  .oc-copy b {
      font-weight: 600;
      line-height: 1.2;
  }

  .oc-copy small {
      font-family: 'Poppins', sans-serif;
      font-size: .72rem;
      font-weight: 400;
      color: var(--text-faint);
  }

  .oc-end {
      margin-left: auto;
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 0 0 auto;
  }

  .oc-chip {
      font-family: 'Outfit', sans-serif;
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--gold);
      padding: 5px 8px;
      border: 1px solid var(--line);
      background: rgba(201, 162, 74, .08);
      clip-path: polygon(5px 0, 100% 0, 100% calc(100% - 5px), calc(100% - 5px) 100%, 0 100%, 0 5px);
      white-space: nowrap;
  }

  .oc-act {
      width: 32px;
      height: 32px;
      flex: 0 0 32px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--line);
      color: var(--gold);
      background: rgba(255, 255, 255, .03);
      clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
  }

  .oc-act i,
  .oc-act svg,
  .oc-caret {
      width: 14px;
      height: 14px;
      margin: 0;
  }

  .offcanvas-noor.show .offcanvas-body>* {
      animation: ocIn .6s var(--ease) both;
  }

  .offcanvas-noor.show .offcanvas-body>*:nth-child(1) { animation-delay: .04s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(2) { animation-delay: .08s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(3) { animation-delay: .12s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(4) { animation-delay: .16s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(5) { animation-delay: .20s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(6) { animation-delay: .24s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(7) { animation-delay: .28s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(8) { animation-delay: .32s; }
  .offcanvas-noor.show .offcanvas-body>*:nth-child(9) { animation-delay: .36s; }

  .oc-link i,
  .oc-link svg {
      width: 16px;
      height: 16px;
      color: var(--gold);
      opacity: .85;
      transition: transform .3s var(--ease), color .3s, opacity .3s;
      flex: 0 0 auto;
  }

  .oc-link:hover,
  .oc-acc.open .oc-acc-toggle {
      color: var(--gold-light);
      background: rgba(201, 162, 74, .08);
      border-color: var(--line);
  }

  .oc-link:hover .oc-ico,
  .oc-acc.open .oc-acc-toggle .oc-ico {
      background: var(--gold);
      color: #0a0f0d;
      border-color: var(--gold);
  }

  .oc-link:hover .oc-ico i,
  .oc-link:hover .oc-ico svg,
  .oc-acc.open .oc-acc-toggle .oc-ico i,
  .oc-acc.open .oc-acc-toggle .oc-ico svg {
      color: #0a0f0d;
      opacity: 1;
  }

  .oc-link:hover .oc-act,
  .oc-acc.open .oc-acc-toggle .oc-act {
      border-color: var(--gold);
      background: rgba(201, 162, 74, .12);
  }
  
  button.oc-link {
      appearance: none;
      -webkit-appearance: none;
      cursor: pointer;
  }
  
  .oc-acc {
      margin: 0;
      width: 100%;
      max-width: 100%;
      align-self: stretch;
      box-sizing: border-box;
  }
  
  .oc-acc .oc-link {
      width: 100%;
  }
  
  .oc-acc.open .oc-caret {
      transform: rotate(180deg);
      color: var(--gold-light);
  }
  
  .oc-acc-panel {
      max-height: 0;
      overflow: hidden;
      padding: 0 10px;
      transition: max-height .4s var(--ease), padding .4s var(--ease);
  }
  
  .oc-acc.open .oc-acc-panel {
      max-height: 280px;
      padding-bottom: 12px;
  }
  
  .oc-sub {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 11px 12px;
      color: var(--text-mut);
      font-size: .95rem;
      font-family: 'Poppins', sans-serif;
      font-weight: 400;
      border: 1px solid transparent;
      margin-bottom: 4px;
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
      transition: .28s var(--ease);
  }
  
  .oc-sub:hover,
  .oc-sub:active {
      color: var(--gold-light);
      background: rgba(201, 162, 74, .1);
      border-color: var(--line);
  }
  
  .oc-sub-ico {
      width: 32px;
      height: 32px;
      flex: 0 0 32px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold);
      background: rgba(201, 162, 74, .08);
      border: 1px solid var(--line);
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
  }
  
  .oc-sub-ico i {
      width: 14px;
      height: 14px;
  }
  
  .oc-foot {
      margin-top: auto;
      width: 100%;
      padding: 22px 16px 0;
      box-sizing: border-box;
  }
  
  .oc-social {
      display: flex;
      gap: 10px;
      margin-top: 16px;
  }
  
  .oc-social a {
      width: 40px;
      height: 40px;
      border: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--text-mut);
      transition: .3s;
      clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  }
  
  .oc-social a:hover {
      color: var(--gold-light);
      border-color: var(--gold);
      transform: translateY(-3px);
  }

  .oc-social svg {
      width: 16px;
      height: 16px;
      display: block;
  }
  /* ==========================================================================
   HERO — asymmetric split, star-lattice medallion
   ========================================================================== */
  
  .hero {
      min-height: 100vh;
      display: flex;
      align-items: center;
      padding: 188px 0 60px;
      overflow: hidden;
      position: relative;
  }
  
  .hero .lattice {
      opacity: .045;
  }
  
  .hero-glow {
      position: absolute;
      top: -10%;
      left: 50%;
      transform: translateX(-50%);
      width: min(1300px, 100%);
      max-width: 100%;
      height: 900px;
      background: radial-gradient(ellipse at center, rgba(15, 92, 63, .28), transparent 62%);
      pointer-events: none;
  }
  
  .hero-board {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 12px;
  }

  .hero-ayat {
      position: relative;
      overflow: hidden;
      padding: 22px 22px 20px;
      background:
          radial-gradient(ellipse at 100% 0%, rgba(201, 162, 74, .18), transparent 48%),
          linear-gradient(165deg, var(--surface-3), var(--surface));
      border: 1px solid var(--line);
      clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
  }

  .hero-ayat::after {
      content: '';
      position: absolute;
      inset: 0;
      opacity: .045;
      pointer-events: none;
      background-image: repeating-linear-gradient(45deg, var(--gold) 0 1.5px, transparent 1.5px 40px), repeating-linear-gradient(-45deg, var(--gold) 0 1.5px, transparent 1.5px 40px);
  }

  .hero-ayat-top {
      display: flex;
      align-items: center;
      gap: 10px;
      font-family: 'Outfit', sans-serif;
      font-size: .68rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 14px;
      position: relative;
      z-index: 1;
  }

  .hero-ayat-top small {
      margin-left: auto;
      color: var(--text-faint);
      letter-spacing: .12em;
  }

  .hero-ayat-ar {
      position: relative;
      z-index: 1;
      font-family: 'Amiri', serif;
      font-size: 1.55rem;
      line-height: 1.8;
      color: var(--gold-light);
      margin-bottom: 10px;
  }

  .hero-ayat p {
      position: relative;
      z-index: 1;
      color: var(--text-mut);
      font-size: .9rem;
      font-style: italic;
      margin-bottom: 16px;
  }

  .hero-ayat-foot {
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      border-top: 1px solid var(--line-soft);
      padding-top: 12px;
      font-size: .78rem;
      color: var(--text-faint);
  }

  .hero-ayat-foot a {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--gold-light);
      font-family: 'Outfit', sans-serif;
      font-weight: 600;
  }

  .hero-ayat-foot a i {
      width: 14px;
      height: 14px;
  }

  .hero-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
  }

  .hero-chip {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 14px;
      background: var(--surface);
      border: 1px solid var(--line-soft);
      color: inherit;
      clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
      transition: .3s var(--ease);
  }

  .hero-chip:hover {
      border-color: var(--gold-dim);
      transform: translateY(-3px);
      color: inherit;
  }

  .hero-chip-ico {
      width: 38px;
      height: 38px;
      flex: 0 0 38px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--line);
      color: var(--gold);
      clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  }

  .hero-chip-ico i {
      width: 16px;
      height: 16px;
  }

  .hero-chip-copy {
      display: flex;
      flex-direction: column;
      min-width: 0;
  }

  .hero-chip-copy b {
      font-family: 'Outfit', sans-serif;
      font-size: .86rem;
      color: var(--text);
  }

  .hero-chip-copy small {
      color: var(--text-faint);
      font-size: .72rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
  }

  .hero-progress {
      padding: 16px 18px 14px;
      background: linear-gradient(90deg, rgba(201, 162, 74, .08), var(--surface));
      border: 1px solid var(--line);
      clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  }

  .hero-progress-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      font-size: .72rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-faint);
      margin-bottom: 10px;
  }

  .hero-progress-bar {
      height: 4px;
      background: rgba(238, 241, 236, .08);
      margin-bottom: 12px;
      overflow: hidden;
  }

  .hero-progress-bar span {
      display: block;
      width: 22%;
      height: 100%;
      background: linear-gradient(90deg, var(--gold), var(--emerald-light));
  }

  .hero-progress-cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      color: var(--gold-light);
      font-family: 'Outfit', sans-serif;
      font-size: .86rem;
      font-weight: 600;
  }

  .hero-progress-cta i {
      width: 15px;
      height: 15px;
  }

  .hero-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
  }

  .hero-pills a {
      font-size: .72rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-mut);
      border: 1px solid var(--line-soft);
      padding: 7px 12px;
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
      transition: .25s;
  }

  .hero-pills a:hover {
      color: var(--gold-light);
      border-color: var(--gold);
  }

  .hero-kicker-ar {
      font-size: 2.3rem;
      color: var(--gold-light);
      line-height: 1;
      margin-bottom: 16px;
      opacity: .9;
  }
  
  .hero h1 {
      font-size: clamp(2.3rem, 5vw, 4.1rem);
      line-height: 1.06;
      margin-bottom: 20px;
  }
  
  .hero h1 .accent {
      background: linear-gradient(100deg, var(--gold-light), var(--gold) 40%, var(--emerald-light));
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      background-size: 200% auto;
      animation: shimmer 6s linear infinite;
  }
  
  .hero-lead {
      font-size: 1.05rem;
      color: var(--text-mut);
      max-width: 500px;
      margin-bottom: 32px;
  }
  
  .hero-cta {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-bottom: 48px;
  }
  
  .stat-strip {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px 14px;
      border-top: 1px solid var(--line-soft);
      padding-top: 24px;
      max-width: 560px;
  }

  .stat-strip .stat {
      min-width: 0;
      padding-right: 0;
  }

  .stat-strip .stat b {
      display: block;
      font-family: 'Outfit', sans-serif;
      font-size: 1.6rem;
      color: var(--gold-light);
  }

  .stat-strip .stat span {
      font-size: .72rem;
      color: var(--text-faint);
      letter-spacing: .05em;
      text-transform: uppercase;
      display: block;
      line-height: 1.35;
  }
  /* diagonal section seam, like a cut tile edge between hero and next section */
  
  .seam {
      position: relative;
      height: 70px;
      margin-top: -71px;
  }
  
  .seam svg {
      width: 100%;
      height: 100%;
      display: block;
  }
  /* ==========================================================================
   ABOUT / OWNER
   ========================================================================== */

  .about-owner {
      background: var(--bg-soft);
  }

  .owner-frame {
      position: relative;
      aspect-ratio: 4 / 3;
      overflow: hidden;
      background:
          radial-gradient(ellipse at 30% 20%, rgba(46, 145, 102, .22), transparent 55%),
          linear-gradient(165deg, var(--surface-2), var(--surface));
      border: 1px solid var(--line);
      clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 18px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 18px), 0 18px);
      box-shadow: 0 28px 60px -24px rgba(0, 0, 0, .75);
  }

  .owner-photo {
      position: relative;
      z-index: 2;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
  }

  .owner-photo.is-missing {
      display: none;
  }

  .owner-fallback {
      position: absolute;
      inset: 0;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      color: var(--text-mut);
      letter-spacing: .12em;
      text-transform: uppercase;
      font-size: .72rem;
      font-family: 'Outfit', sans-serif;
  }

  .owner-fallback i {
      width: 42px;
      height: 42px;
      color: var(--gold);
      margin-bottom: 4px;
  }

  .owner-fallback small {
      letter-spacing: 0;
      text-transform: none;
      color: var(--text-faint);
      font-family: 'Poppins', sans-serif;
      font-size: .72rem;
  }

  .owner-fallback code {
      color: var(--gold-light);
      font-size: .7rem;
  }

  .owner-badge {
      position: absolute;
      left: 18px;
      bottom: 18px;
      z-index: 3;
      background: rgba(6, 11, 9, .82);
      border: 1px solid var(--line);
      backdrop-filter: blur(10px);
      padding: 12px 16px 13px;
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  }

  .owner-badge b {
      display: block;
      font-family: 'Outfit', sans-serif;
      font-size: 1.35rem;
      color: var(--gold-light);
      line-height: 1;
      margin-bottom: 4px;
  }

  .owner-badge span {
      font-size: .72rem;
      color: var(--text-mut);
  }

  .owner-points {
      list-style: none;
      padding: 0;
      margin: 22px 0 28px;
  }

  .owner-points li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      color: var(--text);
      font-size: .92rem;
      margin-bottom: 12px;
      line-height: 1.45;
  }

  .owner-points i {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
      color: var(--gold);
      margin-top: 2px;
  }
  /* ==========================================================================
   CARDS — faceted (cut-corner) surfaces
   ========================================================================== */
  
  .f-card {
      background: linear-gradient(165deg, var(--surface-2), var(--surface));
      border: 1px solid var(--line-soft);
      padding: 28px 24px;
      height: 100%;
      transition: transform .4s var(--ease), border-color .4s, box-shadow .4s;
      position: relative;
  }
  
  .f-card:hover {
      transform: translateY(-7px);
      border-color: var(--gold-dim);
      box-shadow: 0 24px 48px -22px rgba(0, 0, 0, .65);
  }
  
  .f-icon {
      width: 50px;
      height: 50px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(201, 162, 74, .1);
      color: var(--gold-light);
      margin-bottom: 16px;
      transition: .4s;
      clip-path: polygon(8px 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%, 0 8px);
  }
  
  .f-icon i {
      width: 22px;
      height: 22px;
  }
  
  .f-card:hover .f-icon {
      background: var(--gold);
      color: #0a0f0d;
  }
  /* Quran surah row */

  .quran-sec {
      position: relative;
      overflow: hidden;
  }

  .quran-sec .lattice {
      opacity: .035;
  }

  .quran-head-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
      margin-bottom: 4px;
  }

  .quran-head-meta span {
      font-size: .72rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold-light);
      border: 1px solid var(--line);
      padding: 6px 12px;
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
  }

  .quran-featured {
      position: relative;
      display: grid;
      grid-template-columns: 1.4fr .7fr;
      gap: 20px;
      align-items: stretch;
      padding: 28px 28px 26px;
      background:
          radial-gradient(ellipse at 0% 0%, rgba(46, 145, 102, .18), transparent 50%),
          radial-gradient(ellipse at 100% 100%, rgba(201, 162, 74, .12), transparent 46%),
          linear-gradient(165deg, var(--surface-2), var(--surface));
      border: 1px solid var(--line);
      overflow: hidden;
      clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px);
  }

  .quran-featured::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .04;
      background-image: repeating-linear-gradient(45deg, var(--gold) 0 1.5px, transparent 1.5px 44px), repeating-linear-gradient(-45deg, var(--gold) 0 1.5px, transparent 1.5px 44px);
  }

  .qf-copy,
  .qf-side {
      position: relative;
      z-index: 1;
  }

  .qf-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: 'Outfit', sans-serif;
      font-size: .68rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 12px;
  }

  .qf-copy h3 {
      font-size: 1.7rem;
      margin: 0 0 12px;
  }

  .qf-copy h3 small {
      display: block;
      margin-top: 6px;
      font-family: 'Poppins', sans-serif;
      font-size: .78rem;
      font-weight: 400;
      letter-spacing: .04em;
      color: var(--text-faint);
  }

  .qf-ar {
      font-family: 'Amiri', serif;
      font-size: 1.45rem;
      color: var(--gold-light);
      line-height: 1.8;
      margin: 0 0 8px;
  }

  .qf-tr {
      color: var(--text-mut);
      font-size: .9rem;
      font-style: italic;
      margin-bottom: 18px;
  }

  .qf-bar {
      height: 4px;
      background: rgba(238, 241, 236, .08);
      margin-bottom: 20px;
      overflow: hidden;
  }

  .qf-bar span {
      display: block;
      height: 100%;
      background: linear-gradient(90deg, var(--gold), var(--emerald-light));
  }

  .qf-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
  }

  .qf-side {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      border: 1px solid var(--line);
      background: rgba(6, 11, 9, .35);
      clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
      padding: 24px 16px;
      min-height: 100%;
  }

  .qf-side-num {
      width: 54px;
      height: 54px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--gold);
      color: var(--gold-light);
      font-family: 'Outfit', sans-serif;
      font-size: 1.2rem;
      font-weight: 700;
      transform: rotate(45deg);
      margin-bottom: 22px;
  }

  .qf-side-num span {
      transform: rotate(-45deg);
  }

  .qf-side-ar {
      font-family: 'Amiri', serif;
      font-size: 2rem;
      color: var(--gold-light);
      line-height: 1;
      margin-bottom: 8px;
  }

  .qf-side small {
      color: var(--text-faint);
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: .68rem;
  }

  .surah-row {
      display: flex;
      align-items: center;
      gap: 14px;
      background: var(--surface);
      border: 1px solid var(--line-soft);
      padding: 16px 16px 16px 17px;
      transition: .35s var(--ease);
      height: 100%;
      color: inherit;
      position: relative;
      overflow: hidden;
      clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  }

  .surah-row::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 3px;
      background: var(--gold);
      opacity: 0;
      transition: .35s var(--ease);
  }

  .surah-row:hover,
  .surah-row.is-highlight {
      border-color: var(--gold-dim);
      background: linear-gradient(90deg, rgba(201, 162, 74, .08), var(--surface-2));
      transform: translateY(-4px);
      color: inherit;
      box-shadow: 0 18px 36px -22px rgba(0, 0, 0, .8);
  }

  .surah-row:hover::before,
  .surah-row.is-highlight::before {
      opacity: 1;
  }

  .surah-num {
      width: 42px;
      height: 42px;
      flex: 0 0 42px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--gold-dim);
      color: var(--gold-light);
      font-family: 'Outfit', sans-serif;
      font-weight: 600;
      transform: rotate(45deg);
      background: rgba(201, 162, 74, .06);
  }

  .surah-num span {
      transform: rotate(-45deg);
      font-size: .85rem;
  }

  .surah-info {
      min-width: 0;
      flex: 1;
  }

  .surah-info h6 {
      margin: 0 0 2px;
      font-size: .98rem;
  }

  .surah-info small {
      color: var(--text-faint);
      display: block;
      font-size: .75rem;
  }

  .surah-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 8px;
  }

  .surah-tags span {
      font-size: .62rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid var(--line);
      padding: 2px 7px;
  }

  .surah-ar {
      font-family: 'Amiri', serif;
      font-size: 1.35rem;
      color: var(--gold-light);
      flex: 0 0 auto;
      line-height: 1;
  }

  .surah-play {
      width: 16px;
      height: 16px;
      color: var(--gold-light);
      opacity: 0;
      transform: translateX(-6px);
      transition: .3s var(--ease);
      flex: 0 0 16px;
  }

  .surah-row:hover .surah-play {
      opacity: 1;
      transform: none;
  }
  /* hadith */

  .hadith-sec {
      position: relative;
      overflow: hidden;
  }

  .hadith-sec .lattice {
      opacity: .03;
  }

  .hadith-featured {
      position: relative;
      text-align: center;
      padding: 42px 36px 36px;
      margin-bottom: 28px;
      background:
          radial-gradient(ellipse at 50% 0%, rgba(201, 162, 74, .16), transparent 52%),
          radial-gradient(ellipse at 50% 100%, rgba(46, 145, 102, .12), transparent 50%),
          linear-gradient(165deg, var(--surface-2), var(--surface));
      border: 1px solid var(--line);
      overflow: hidden;
      clip-path: polygon(22px 0, calc(100% - 22px) 0, 100% 22px, 100% calc(100% - 22px), calc(100% - 22px) 100%, 22px 100%, 0 calc(100% - 22px), 0 22px);
  }

  .hadith-featured::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .04;
      background-image: repeating-linear-gradient(45deg, var(--gold) 0 1.5px, transparent 1.5px 46px), repeating-linear-gradient(-45deg, var(--gold) 0 1.5px, transparent 1.5px 46px);
  }

  .hf-ornament {
      width: 22px;
      height: 22px;
      color: var(--gold);
      margin: 0 auto 14px;
      position: relative;
      z-index: 1;
  }

  .hf-kicker {
      display: block;
      position: relative;
      z-index: 1;
      font-family: 'Outfit', sans-serif;
      font-size: .68rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 16px;
  }

  .hf-ar {
      position: relative;
      z-index: 1;
      font-family: 'Amiri', serif;
      font-size: clamp(1.4rem, 2.6vw, 2.05rem);
      line-height: 1.85;
      color: var(--gold-light);
      margin: 0 auto 14px;
      max-width: 820px;
  }

  .hf-en {
      position: relative;
      z-index: 1;
      color: var(--text);
      font-size: 1.12rem;
      line-height: 1.6;
      max-width: 680px;
      margin: 0 auto 22px;
      font-weight: 400;
  }

  .hf-foot {
      position: relative;
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: center;
      justify-content: center;
  }

  .hf-ref {
      font-size: .78rem;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--text-faint);
  }

  .hadith-books {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px;
      margin-bottom: 28px;
  }

  .hadith-books button {
      font-size: .72rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-faint);
      border: 1px solid var(--line-soft);
      background: transparent;
      padding: 8px 14px;
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
      cursor: pointer;
      transition: .28s var(--ease);
  }

  .hadith-books button:hover {
      color: var(--gold-light);
      border-color: var(--gold-dim);
  }

  .hadith-books button.is-on {
      color: #0b0f0d;
      background: linear-gradient(135deg, var(--gold), #a9843a);
      border-color: var(--gold);
  }

  .hadith-tile {
      background: linear-gradient(165deg, var(--surface-2), var(--surface));
      border: 1px solid var(--line-soft);
      padding: 26px 24px 22px;
      height: 100%;
      transition: .4s var(--ease);
      display: flex;
      flex-direction: column;
      clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
      position: relative;
      overflow: hidden;
  }

  .hadith-tile::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 3px;
      background: var(--gold);
      opacity: 0;
      transition: .35s;
  }

  .hadith-tile:hover {
      border-color: var(--gold-dim);
      transform: translateY(-6px);
      box-shadow: 0 22px 44px -24px rgba(0, 0, 0, .75);
  }

  .hadith-tile:hover::before {
      opacity: 1;
  }

  .hadith-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 10px;
  }

  .hadith-mark {
      width: 26px;
      height: 26px;
      color: var(--gold);
      opacity: .75;
  }

  .hadith-book {
      font-size: .64rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gold-light);
      border: 1px solid var(--line);
      padding: 4px 9px;
  }

  .hadith-ar {
      font-family: 'Amiri', serif;
      font-size: 1.18rem;
      line-height: 1.8;
      color: var(--gold-light);
      margin: 0 0 10px;
  }

  .hadith-tile p {
      color: var(--text);
      font-size: .98rem;
      line-height: 1.55;
      flex: 1;
      margin-bottom: 0;
  }

  .hadith-source {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-top: 16px;
      padding-top: 14px;
      border-top: 1px solid var(--line-soft);
  }

  .hadith-source i {
      width: 15px;
      height: 15px;
      color: var(--gold);
  }

  .hadith-tile .story-read {
      margin-top: 12px;
  }
  /* daily tiles */

  .daily-sec {
      background: var(--bg-soft);
  }

  .daily-tile {
      background: linear-gradient(180deg, var(--surface-3), var(--surface));
      border: 1px solid var(--line);
      padding: 38px 24px 28px;
      text-align: center;
      height: 100%;
      position: relative;
      transition: .5s var(--ease);
      overflow: hidden;
      clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px);
  }

  .daily-tile::before {
      content: '';
      position: absolute;
      left: 18px;
      right: 18px;
      top: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--gold), transparent);
  }

  .daily-no {
      position: absolute;
      top: 16px;
      right: 18px;
      font-family: 'Outfit', sans-serif;
      font-size: .72rem;
      letter-spacing: .16em;
      color: var(--gold-dim);
  }

  .daily-tile:hover {
      border-color: var(--gold);
      transform: translateY(-8px);
  }

  .daily-tile .star8-mark {
      margin-bottom: 16px;
  }

  .daily-tile .ar-text {
      font-family: 'Amiri', serif;
      font-size: 1.4rem;
      line-height: 2;
      color: var(--gold-light);
      margin: 10px 0;
  }

  .daily-tile .tr-text {
      color: var(--text-mut);
      font-size: .9rem;
      font-style: italic;
  }
  
  .daily-tile .tag {
      font-size: .66rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--text-faint);
      margin-top: 14px;
      display: block;
  }
  
  .copy-btn {
      margin-top: 16px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .76rem;
      color: var(--text-mut);
      border: 1px solid var(--line-soft);
      background: transparent;
      padding: 7px 15px;
      transition: .3s;
      clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
  }
  
  .copy-btn:hover {
      color: var(--gold-light);
      border-color: var(--gold);
  }
  
  .copy-btn i {
      width: 12px;
      height: 12px;
  }
  /* stories */

  .story-sec {
      background: var(--bg-soft);
  }

  .story-sec-alt {
      background: var(--bg);
  }

  .story-tile {
      background: var(--surface);
      border: 1px solid var(--line-soft);
      overflow: hidden;
      height: 100%;
      transition: .45s var(--ease);
      clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
      color: inherit;
      display: block;
  }

  .story-tile:hover .story-ico {
      background: var(--gold);
      color: #0a0f0d;
      box-shadow: 0 0 0 12px rgba(201, 162, 74, .12);
  }

  .story-tile:hover .story-ico i {
      color: #0a0f0d;
  }

  .story-media {
      height: 176px;
      position: relative;
      background:
          radial-gradient(circle at 30% 20%, rgba(201, 162, 74, .32), transparent 55%),
          radial-gradient(circle at 80% 80%, rgba(15, 92, 63, .4), transparent 55%),
          linear-gradient(135deg, var(--surface-3), var(--surface));
      display: flex;
      align-items: center;
      justify-content: center;
  }

  .story-media::after {
      content: '';
      position: absolute;
      inset: 0;
      opacity: .06;
      background-image: repeating-linear-gradient(45deg, var(--gold) 0 1.5px, transparent 1.5px 36px), repeating-linear-gradient(-45deg, var(--gold) 0 1.5px, transparent 1.5px 36px);
      pointer-events: none;
  }

  .story-ico {
      position: relative;
      z-index: 1;
      width: 64px;
      height: 64px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--gold);
      color: var(--gold-light);
      background: rgba(6, 11, 9, .35);
      transform: rotate(45deg);
      box-shadow: 0 0 0 10px rgba(201, 162, 74, .06);
  }

  .story-ico i {
      width: 26px;
      height: 26px;
      transform: rotate(-45deg);
      opacity: 1;
  }

  .story-media i {
      width: 26px;
      height: 26px;
      color: var(--gold-light);
      position: relative;
      z-index: 1;
  }

  .story-feature {
      height: 100%;
      min-height: 440px;
  }

  .story-feature .story-media {
      height: 100%;
      min-height: 440px;
      align-items: flex-end;
      justify-content: flex-start;
      padding: 0;
  }

  .story-feature .story-ico {
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -32px 0 0 -32px;
      width: 72px;
      height: 72px;
  }

  .story-feature .story-ico i {
      width: 30px;
      height: 30px;
  }

  .story-feature-copy {
      position: relative;
      z-index: 2;
      width: 100%;
      padding: 28px 26px 26px;
      background: linear-gradient(180deg, transparent, rgba(5, 9, 8, .92) 38%);
  }

  .story-feature-copy h3 {
      font-size: 1.55rem;
      margin: 6px 0 10px;
      color: var(--text);
  }

  .story-ar {
      font-family: 'Amiri', serif;
      color: var(--gold-light);
      font-size: 1.25rem;
      margin: 0 0 4px;
  }

  .story-feature-copy p:not(.story-ar) {
      color: var(--text-mut);
      font-size: .92rem;
      margin-bottom: 14px;
      max-width: 46ch;
  }

  .story-side {
      display: grid;
      grid-template-columns: 128px 1fr;
      min-height: 210px;
      height: auto;
  }

  .story-side .story-media {
      height: 100%;
      min-height: 210px;
  }

  .story-side .story-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
  }

  .story-side .story-content p {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
  }

  .story-cat {
      position: absolute;
      top: 13px;
      left: 13px;
      z-index: 1;
      font-size: .64rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      background: rgba(6, 11, 9, .72);
      color: var(--gold-light);
      padding: 5px 11px;
      border: 1px solid var(--line);
  }

  .story-content {
      padding: 20px 20px 22px;
  }

  .story-meta {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      font-size: .68rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-faint);
      margin-bottom: 8px;
  }

  .story-content h5 {
      font-size: 1.08rem;
      margin-bottom: 8px;
  }

  .story-content p {
      color: var(--text-mut);
      font-size: .88rem;
      margin-bottom: 14px;
  }

  .story-read {
      font-size: .83rem;
      color: var(--gold-light);
      display: inline-flex;
      align-items: center;
      gap: 6px;
  }

  .story-read i {
      width: 14px;
      height: 14px;
      transition: transform .3s;
  }

  .story-tile:hover .story-read i {
      transform: translateX(4px);
  }
  
  @keyframes fadeUp {
      from {
          opacity: 0;
          transform: translateY(14px);
      }
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }
  /* articles */

  .article-tile {
      background: var(--surface);
      border: 1px solid var(--line-soft);
      overflow: hidden;
      height: 100%;
      transition: .4s var(--ease);
      color: inherit;
      display: block;
      clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
  }

  .article-tile:hover {
      transform: translateY(-6px);
      border-color: var(--gold-dim);
      color: inherit;
      box-shadow: 0 22px 44px -24px rgba(0, 0, 0, .7);
  }

  .article-media {
      height: 120px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      background:
          radial-gradient(circle at 20% 30%, rgba(46, 145, 102, .28), transparent 50%),
          radial-gradient(circle at 80% 70%, rgba(201, 162, 74, .22), transparent 50%),
          linear-gradient(135deg, var(--surface-3), var(--surface));
  }

  .article-feature .article-media {
      height: 220px;
  }

  .article-cat {
      position: absolute;
      top: 14px;
      left: 14px;
      font-size: .64rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gold-light);
      border: 1px solid var(--line);
      background: rgba(6, 11, 9, .7);
      padding: 4px 10px;
  }

  .article-body {
      padding: 22px 24px 24px;
  }

  .article-feature .article-body h3 {
      font-size: 1.45rem;
      margin-bottom: 10px;
  }

  .article-body p {
      color: var(--text-mut);
      font-size: .9rem;
      margin-bottom: 14px;
  }

  .article-side {
      display: grid;
      grid-template-columns: 110px 1fr;
      min-height: 168px;
  }

  .article-side .article-media {
      height: 100%;
      min-height: 168px;
  }

  .article-side .article-body {
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 16px 18px;
  }

  .article-side .article-body p {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      margin-bottom: 10px;
  }

  .article-meta {
      display: flex;
      gap: 14px;
      font-size: .74rem;
      color: var(--text-faint);
      margin-bottom: 10px;
  }

  .article-meta span {
      display: flex;
      align-items: center;
      gap: 5px;
  }

  .article-meta i {
      width: 13px;
      height: 13px;
  }
  /* tools */

  .tools-sec {
      background: var(--bg-soft);
  }

  .tools-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
  }

  .tool-card {
      display: flex;
      flex-direction: column;
      gap: 12px;
      padding: 24px 22px 22px;
      background: var(--surface);
      border: 1px solid var(--line-soft);
      color: inherit;
      min-height: 180px;
      transition: .4s var(--ease);
      clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
  }

  .tool-card:hover {
      border-color: var(--gold-dim);
      transform: translateY(-5px);
      color: inherit;
      box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .7);
  }

  .tool-wide {
      grid-column: span 2;
      flex-direction: row;
      align-items: center;
      gap: 22px;
      min-height: 180px;
      background:
          radial-gradient(ellipse at 0% 50%, rgba(201, 162, 74, .14), transparent 50%),
          var(--surface);
  }

  .tool-card h5 {
      font-size: 1.05rem;
      margin: 0 0 6px;
  }

  .tool-card p {
      color: var(--text-mut);
      font-size: .86rem;
      margin: 0;
      line-height: 1.45;
  }

  .tool-card .qi {
      width: 52px;
      height: 52px;
      flex: 0 0 52px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--gold-dim);
      color: var(--gold-light);
      transition: .4s;
      clip-path: polygon(9px 0, calc(100% - 9px) 0, 100% 9px, 100% calc(100% - 9px), calc(100% - 9px) 100%, 9px 100%, 0 calc(100% - 9px), 0 9px);
  }

  .tool-card:hover .qi {
      background: var(--gold);
      color: #0a0f0d;
  }

  .tool-card .qi i {
      width: 21px;
      height: 21px;
  }

  .tool-wide .story-read {
      margin-top: 10px;
      display: inline-flex;
  }

  button.tool-card {
      appearance: none;
      -webkit-appearance: none;
      width: 100%;
      text-align: left;
      font: inherit;
      cursor: pointer;
  }
  /* qibla modal */

  .qibla-modal {
      z-index: 2200;
  }

  .qibla-modal + .modal-backdrop,
  .modal-backdrop.show:has(+ .qibla-modal),
  body:has(#qiblaModal.show) .modal-backdrop {
      z-index: 2150;
      background: rgba(4, 8, 6, .72);
  }

  .qibla-sheet {
      background: linear-gradient(180deg, #0e1a15, #070d0a);
      color: var(--text);
      border: 1px solid var(--line);
      border-radius: 0;
      clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
      padding: 22px 22px 24px;
  }

  .qibla-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
  }

  .qibla-head h2 {
      font-size: 1.45rem;
      margin: 8px 0 0;
  }

  .qibla-sheet .btn-close {
      filter: invert(1) grayscale(1) brightness(2);
      opacity: .8;
  }

  .qibla-dial-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 10px 0 8px;
      position: relative;
  }

  .qibla-face {
      font-family: 'Outfit', sans-serif;
      font-size: .68rem;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 8px;
  }

  .qibla-dial {
      position: relative;
      width: min(270px, 74vw);
      aspect-ratio: 1;
      border: 1px solid var(--line);
      border-radius: 50%;
      background:
          radial-gradient(circle at 50% 50%, rgba(201, 162, 74, .12), transparent 62%),
          var(--surface);
      box-shadow: inset 0 0 0 10px rgba(6, 11, 9, .45);
      overflow: hidden;
      transition: box-shadow .35s, border-color .35s;
  }

  .qibla-wrap-locked .qibla-dial {
      border-color: var(--gold);
      box-shadow:
          inset 0 0 0 10px rgba(6, 11, 9, .45),
          0 0 0 6px rgba(201, 162, 74, .28),
          0 0 32px rgba(201, 162, 74, .45);
      animation: qiblaPulse 1.4s ease-out 2;
  }

  @keyframes qiblaPulse {
      0% { box-shadow: inset 0 0 0 10px rgba(6, 11, 9, .45), 0 0 0 0 rgba(201, 162, 74, .55); }
      70% { box-shadow: inset 0 0 0 10px rgba(6, 11, 9, .45), 0 0 0 18px rgba(201, 162, 74, 0); }
      100% { box-shadow: inset 0 0 0 10px rgba(6, 11, 9, .45), 0 0 0 6px rgba(201, 162, 74, .28); }
  }

  .qibla-rose {
      position: absolute;
      inset: 0;
      transform-origin: 50% 50%;
      will-change: transform;
  }

  .qibla-tick {
      position: absolute;
      font-family: 'Outfit', sans-serif;
      font-size: .72rem;
      letter-spacing: .16em;
      color: var(--gold);
  }

  .qibla-n { top: 12px; left: 50%; transform: translateX(-50%); }
  .qibla-s { bottom: 12px; left: 50%; transform: translateX(-50%); }
  .qibla-e { right: 14px; top: 50%; transform: translateY(-50%); }
  .qibla-w { left: 14px; top: 50%; transform: translateY(-50%); }

  .qibla-kaaba-arm {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding-top: 22px;
      transform-origin: 50% 50%;
      pointer-events: none;
  }

  .qibla-arm-line {
      width: 3px;
      flex: 1;
      max-height: 42%;
      margin-top: 4px;
      background: linear-gradient(180deg, var(--gold), transparent);
      border-radius: 2px;
  }

  .qibla-kaaba {
      width: 22px;
      height: 26px;
      flex: 0 0 auto;
      background: linear-gradient(180deg, var(--gold-light), var(--gold));
      clip-path: polygon(20% 8%, 80% 8%, 100% 28%, 100% 100%, 0 100%, 0 28%);
      box-shadow: 0 8px 18px -10px rgba(201, 162, 74, .9);
  }

  .qibla-hub {
      position: absolute;
      inset: 46%;
      background: var(--gold);
      border-radius: 50%;
      z-index: 2;
  }

  .qibla-lock-tag {
      margin-top: 10px;
      min-height: 1.2em;
      font-family: 'Outfit', sans-serif;
      font-size: .78rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--gold-light);
      opacity: 0;
      transform: translateY(-4px);
      transition: .3s;
  }

  .qibla-wrap-locked .qibla-lock-tag {
      opacity: 1;
      transform: none;
  }

  .qibla-status {
      display: flex;
      justify-content: center;
      gap: 16px;
      margin: 4px 0 8px;
  }

  .qibla-dot {
      font-size: .72rem;
      color: var(--text-faint);
      display: flex;
      align-items: center;
      gap: 6px;
  }

  .qibla-dot::before {
      content: '';
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #5a6d64;
  }

  .qibla-dot.is-on {
      color: var(--gold-light);
  }

  .qibla-dot.is-on::before {
      background: #3dba6a;
      box-shadow: 0 0 8px #3dba6a;
  }

  .qibla-deg {
      text-align: center;
      font-family: 'Outfit', sans-serif;
      font-size: 1.35rem;
      color: var(--gold-light);
      margin: 6px 0 4px;
  }

  .qibla-hint,
  .qibla-meta {
      text-align: center;
      color: var(--text-mut);
      font-size: .88rem;
      margin: 0 0 6px;
  }

  .qibla-meta {
      color: var(--text-faint);
      font-size: .78rem;
  }

  .qibla-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      justify-content: center;
      margin-top: 16px;
  }

  .qibla-actions .btn-gold,
  .qibla-actions .btn-line {
      min-width: 150px;
  }
  /* newsletter */

  .newsletter {
      background: linear-gradient(120deg, var(--surface-3), var(--surface-2));
      border: 1px solid var(--line);
      padding: 36px 32px;
      clip-path: polygon(24px 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%, 0 24px);
  }

  .foot-news {
      margin-bottom: 48px;
  }

  .newsletter .form-control {
      background: rgba(255, 255, 255, .04);
      border: 1px solid var(--line-soft);
      color: var(--text);
      padding: 13px 20px;
      height: auto;
  }

  .newsletter .form-control:focus {
      box-shadow: none;
      border-color: var(--gold);
      background: rgba(255, 255, 255, .06);
      color: var(--text);
  }

  .newsletter .form-control::placeholder {
      color: var(--text-faint);
  }
  /* footer */

  footer {
      background: #050908;
      border-top: 1px solid var(--line-soft);
      padding: 48px 0 24px;
  }

  .foot-about p {
      color: var(--text-mut);
      font-size: .9rem;
      max-width: 340px;
  }

  .foot-title {
      font-family: 'Outfit', sans-serif;
      font-size: .98rem;
      margin-bottom: 18px;
  }

  .foot-links li {
      margin-bottom: 10px;
  }

  .foot-links a {
      color: var(--text-mut);
      font-size: .88rem;
      transition: .3s;
      display: inline-flex;
      align-items: center;
      gap: 8px;
  }

  .foot-links a:hover {
      color: var(--gold-light);
      padding-left: 4px;
  }

  .foot-links i {
      width: 13px;
      height: 13px;
  }

  .foot-social {
      display: flex;
      gap: 9px;
      margin-top: 18px;
  }

  .foot-social a {
      width: 36px;
      height: 36px;
      border: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--text);
      transition: .3s;
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
  }

  .foot-social a:hover {
      color: #0a0f0d;
      background: var(--gold);
      border-color: var(--gold);
      transform: translateY(-3px);
  }

  .foot-social i,
  .foot-social svg {
      width: 15px;
      height: 15px;
      display: block;
  }

  .foot-reach {
      display: flex;
      flex-direction: column;
      gap: 8px;
  }

  .foot-reach-item {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 12px 14px;
      border: 1px solid var(--line-soft);
      background: var(--surface);
      color: var(--text-mut);
      clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
      transition: .28s;
  }

  .foot-reach-item:hover {
      border-color: var(--gold-dim);
      color: var(--text);
  }

  .foot-reach-item i {
      width: 16px;
      height: 16px;
      color: var(--gold);
      flex: 0 0 16px;
      margin-top: 2px;
  }

  .foot-reach-item span {
      display: flex;
      flex-direction: column;
      gap: 2px;
      font-size: .86rem;
  }

  .foot-reach-item b {
      font-family: 'Outfit', sans-serif;
      font-size: .68rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--gold);
      font-weight: 600;
  }

  .foot-bottom {
      border-top: 1px solid var(--line-soft);
      margin-top: 46px;
      padding-top: 20px;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: space-between;
      color: var(--text-faint);
      font-size: .8rem;
  }

  .foot-contact li {
      display: flex;
      gap: 10px;
      color: var(--text-mut);
      font-size: .88rem;
      margin-bottom: 13px;
      align-items: flex-start;
  }

  .foot-contact i {
      width: 15px;
      height: 15px;
      color: var(--gold);
      flex: 0 0 15px;
      margin-top: 2px;
  }
  
  #toTop {
      position: fixed;
      right: 22px;
      bottom: 22px;
      width: 46px;
      height: 46px;
      background: var(--gold);
      color: #0a0f0d;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 900;
      opacity: 0;
      visibility: hidden;
      transform: translateY(14px);
      transition: .4s var(--ease);
      box-shadow: 0 10px 26px -8px rgba(201, 162, 74, .6);
      clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
  }
  
  #toTop.show {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
  }
  
  .wa-fab {
      position: fixed;
      left: 22px;
      bottom: 22px;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: #25D366;
      color: #06120c;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 900;
      box-shadow: 0 10px 26px -6px rgba(37, 211, 102, .6);
      transition: transform .35s var(--ease);
  }
  
  .wa-fab i {
      width: 26px;
      height: 26px;
  }
  
  .wa-fab::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 50%;
      background: #25D366;
      animation: waPulse 2.2s ease-out infinite;
      z-index: -1;
  }
  
  .wa-fab:hover {
      transform: translateY(-4px) scale(1.05);
      color: #06120c;
  }
  
  .wa-tip {
      position: absolute;
      left: 68px;
      top: 50%;
      transform: translateY(-50%);
      background: var(--surface-2);
      border: 1px solid var(--line);
      color: var(--text);
      padding: 8px 14px;
      font-size: .78rem;
      white-space: nowrap;
      opacity: 0;
      visibility: hidden;
      transition: .3s;
  }
  
  .wa-fab:hover .wa-tip {
      opacity: 1;
      visibility: visible;
      left: 74px;
  }
  
  @keyframes waPulse {
      0% {
          box-shadow: 0 0 0 0 rgba(37, 211, 102, .55);
      }
      100% {
          box-shadow: 0 0 0 22px rgba(37, 211, 102, 0);
      }
  }
  
  @media(max-width:1199px) {
      .mega-dropdown {
          width: min(380px, calc(100vw - 40px));
      }
      .mega-grid {
          grid-template-columns: 1fr;
      }
      .mega-aside {
          min-height: auto;
      }
  }

  @media(max-width:991px) {
      .quran-featured {
          grid-template-columns: 1fr;
          padding: 22px 18px;
      }

      .qf-side {
          min-height: 160px;
      }

      .quran-head-meta {
          justify-content: flex-start;
      }

      .nav-links {
          display: none;
      }

      .mega-dropdown {
          display: none !important;
      }

      .navbar-noor {
          top: 38px;
          padding: 0;
          left: 0;
          right: 0;
      }

      .navbar-noor.scrolled {
          top: 38px;
      }

      .navbar-noor .container {
          max-width: none !important;
          width: 100%;
          padding-left: 0;
          padding-right: 0;
      }

      .nav-shell {
          gap: 10px;
          padding: 8px 14px;
          max-width: none;
          width: 100%;
          border-radius: 0;
          border-left: none;
          border-right: none;
      }

      .brand {
          min-width: 0;
          flex: 1;
      }

      .brand-text {
          font-size: 1rem;
      }

      .brand-text small {
          letter-spacing: .1em;
          font-size: .48rem;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          max-width: 42vw;
      }

      .burger-btn {
          flex: 0 0 42px;
      }

      .hero {
          min-height: auto;
          padding: 128px 0 36px;
          overflow-x: clip;
      }

      .row,
      .row.g-5,
      .row.g-4 {
          --bs-gutter-x: 1rem;
      }

      .hero-board {
          margin-top: 8px;
      }

      .hero-pair {
          grid-template-columns: 1fr;
      }

      .tools-grid {
          grid-template-columns: 1fr 1fr;
      }

      .tool-wide {
          grid-column: span 2;
      }

      .hero-kicker-ar {
          font-size: 1.45rem;
          overflow-wrap: anywhere;
      }

      .hero-lead,
      .section-sub {
          font-size: .95rem;
          max-width: none;
          overflow-wrap: break-word;
      }

      .stat-strip {
          grid-template-columns: 1fr 1fr;
          gap: 18px 12px;
          max-width: none;
      }

      .stat-strip .stat b {
          font-size: 1.35rem;
      }

      .newsletter {
          padding: 24px 18px;
          clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%, 0 16px);
      }

      .foot-about p {
          max-width: none;
      }

      .foot-bottom {
          flex-direction: column;
          gap: 8px;
      }
  }

  @media(max-width:767px) {
      .tools-grid {
          grid-template-columns: 1fr;
      }

      .tool-wide {
          grid-column: span 1;
          flex-direction: column;
          align-items: flex-start;
      }

      .article-side {
          grid-template-columns: 1fr;
      }

      .article-side .article-media {
          min-height: 110px;
          height: 110px;
      }

      .story-feature,
      .story-feature .story-media {
          min-height: 340px;
      }

      .story-feature-copy h3 {
          font-size: 1.25rem;
      }

      .story-side {
          grid-template-columns: 1fr;
      }

      .story-side .story-media {
          min-height: 132px;
          height: 132px;
      }

      .container {
          padding-left: 16px;
          padding-right: 16px;
          max-width: 100%;
      }

      .navbar-noor .container {
          padding-left: 0;
          padding-right: 0;
      }

      .section-title {
          font-size: 1.7rem;
          line-height: 1.2;
      }

      .hadith-featured {
          padding: 28px 18px 24px;
      }

      .hf-en {
          font-size: 1rem;
      }

      .qf-copy h3 {
          font-size: 1.35rem;
      }

      .surah-play {
          display: none;
      }

      .hero-cta {
          margin-bottom: 28px;
          flex-direction: column;
          align-items: stretch;
      }

      .hero-cta .btn-gold,
      .hero-cta .btn-line {
          text-align: center;
          width: 100%;
      }

      .section-pad {
          padding: 64px 0 80px;
      }

      .daily-tile .ar-text {
          font-size: 1.15rem;
      }

      footer {
          padding: 48px 0 88px;
          overflow-x: clip;
      }

      .wa-fab {
          width: 48px;
          height: 48px;
          left: 12px;
          bottom: 12px;
      }

      #toTop {
          right: 12px;
          bottom: 12px;
          width: 40px;
          height: 40px;
      }

      .wa-tip {
          display: none;
      }
  }

  @media(max-width:400px) {
      .brand-text small {
          display: none;
      }

      .brand-mark {
          width: 42px;
          max-width: 42px;
      }
  }