﻿    :root {
      color-scheme: dark;
      --bg: #070707;
      --panel: #111113;
      --panel-soft: #171719;
      --panel-hover: #1d1d21;
      --line: rgba(255, 255, 255, .09);
      --line-strong: rgba(216, 173, 99, .34);
      --text: #f5efe5;
      --muted: #aaa197;
      --dim: #766f66;
      --gold: #d8ad63;
      --gold-2: #f0cf8a;
      --green: #7ed9a7;
      --red: #f07675;
      --blue: #8ab4ff;
      --radius: 8px;
      --shadow: 0 18px 60px rgba(0, 0, 0, .38);
      --shadow-soft: 0 10px 34px rgba(0, 0, 0, .22);
      --theme-glow: rgba(216, 173, 99, .055);
      --theme-grid: rgba(255,255,255,.018);
      --theme-panel-tint: rgba(216, 173, 99, .03);
      --theme-aura: rgba(216, 173, 99, .24);
      --theme-hero-wash: rgba(216, 173, 99, .08);
      --theme-symbol: "\2726";
      --theme-particle-color: #f0cf8a;
      --theme-page-pattern:
        radial-gradient(circle at 16% 18%, var(--theme-aura), transparent 26%),
        radial-gradient(circle at 84% 76%, rgba(138,180,255,.08), transparent 28%);
      --theme-card-texture:
        radial-gradient(circle at 14% 0%, var(--theme-hero-wash), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.045), transparent 46%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold), transparent 44%, var(--blue));
      --theme-corner-pattern:
        linear-gradient(90deg, var(--gold), transparent 64%) top left / 76px 1px no-repeat,
        linear-gradient(180deg, var(--gold), transparent 64%) top left / 1px 76px no-repeat,
        linear-gradient(270deg, var(--blue), transparent 64%) bottom right / 76px 1px no-repeat,
        linear-gradient(0deg, var(--blue), transparent 64%) bottom right / 1px 76px no-repeat;
      --theme-rune-opacity: .18;
      font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    html[data-site-theme="yule"] {
      --theme-grid: rgba(168,199,255,.026);
      --theme-page-pattern:
        radial-gradient(circle at 18% 14%, rgba(168,199,255,.13) 0 1px, transparent 2px),
        radial-gradient(circle at 74% 28%, rgba(255,240,184,.13) 0 1px, transparent 2px),
        repeating-linear-gradient(135deg, rgba(168,199,255,.035) 0 1px, transparent 1px 28px);
      --theme-card-texture:
        radial-gradient(circle at 22% 12%, rgba(168,199,255,.12), transparent 28%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 18px);
      --theme-edge-pattern: repeating-linear-gradient(180deg, var(--gold-2) 0 8px, transparent 8px 17px);
      --theme-rune-opacity: .22;
    }
    html[data-site-theme="imbolc"] {
      --theme-grid: rgba(158,231,228,.024);
      --theme-page-pattern:
        radial-gradient(circle at 20% 20%, rgba(215,255,251,.12), transparent 24%),
        linear-gradient(115deg, transparent 0 44%, rgba(158,231,228,.055) 45% 46%, transparent 47% 100%);
      --theme-card-texture:
        radial-gradient(circle at 16% 0%, rgba(215,255,251,.13), transparent 32%),
        linear-gradient(115deg, rgba(158,231,228,.06), transparent 58%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold-2), transparent 28%, var(--green));
      --theme-rune-opacity: .2;
    }
    html[data-site-theme="ostara"] {
      --theme-grid: rgba(152,223,138,.024);
      --theme-page-pattern:
        radial-gradient(circle at 14% 22%, rgba(255,183,200,.11), transparent 24%),
        radial-gradient(circle at 72% 18%, rgba(152,223,138,.1), transparent 22%),
        repeating-radial-gradient(circle at 80% 78%, rgba(152,223,138,.035) 0 1px, transparent 1px 16px);
      --theme-card-texture:
        radial-gradient(circle at 12% 16%, rgba(255,183,200,.1), transparent 24%),
        radial-gradient(circle at 88% 12%, rgba(152,223,138,.1), transparent 26%);
      --theme-edge-pattern: linear-gradient(180deg, var(--blue), transparent 35%, var(--green));
      --theme-rune-opacity: .19;
    }
    html[data-site-theme="beltane"] {
      --theme-grid: rgba(255,106,61,.022);
      --theme-page-pattern:
        radial-gradient(circle at 20% 72%, rgba(255,106,61,.12), transparent 25%),
        radial-gradient(circle at 78% 22%, rgba(249,214,107,.1), transparent 24%),
        linear-gradient(180deg, transparent, rgba(255,106,61,.035));
      --theme-card-texture:
        radial-gradient(circle at 18% 100%, rgba(255,106,61,.14), transparent 30%),
        linear-gradient(22deg, rgba(255,106,61,.08), transparent 42%);
      --theme-edge-pattern: linear-gradient(180deg, var(--blue), var(--gold), transparent 58%);
      --theme-rune-opacity: .24;
    }
    html[data-site-theme="litha"] {
      --theme-grid: rgba(255,209,92,.024);
      --theme-page-pattern:
        conic-gradient(from 12deg at 50% -10%, rgba(255,209,92,.11), transparent 12deg 34deg, rgba(255,158,100,.07) 36deg 46deg, transparent 48deg),
        radial-gradient(circle at 72% 22%, rgba(255,209,92,.13), transparent 24%);
      --theme-card-texture:
        conic-gradient(from 0deg at 18% 0%, rgba(255,209,92,.12), transparent 16deg 42deg, rgba(255,158,100,.08) 46deg 60deg, transparent 70deg),
        linear-gradient(145deg, rgba(255,255,255,.045), transparent);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold-2), var(--gold), transparent 62%);
      --theme-rune-opacity: .23;
    }
    html[data-site-theme="lammas"] {
      --theme-grid: rgba(217,164,65,.024);
      --theme-page-pattern:
        repeating-linear-gradient(25deg, rgba(217,164,65,.035) 0 1px, transparent 1px 26px),
        radial-gradient(circle at 76% 72%, rgba(158,197,107,.1), transparent 28%);
      --theme-card-texture:
        repeating-linear-gradient(25deg, rgba(217,164,65,.046) 0 1px, transparent 1px 18px),
        radial-gradient(circle at 88% 0%, rgba(242,209,138,.1), transparent 24%);
      --theme-edge-pattern: repeating-linear-gradient(180deg, var(--gold) 0 11px, transparent 11px 18px);
      --theme-rune-opacity: .18;
    }
    html[data-site-theme="mabon"] {
      --theme-grid: rgba(191,122,69,.023);
      --theme-page-pattern:
        radial-gradient(ellipse at 20% 18%, rgba(191,122,69,.13), transparent 25%),
        radial-gradient(ellipse at 76% 70%, rgba(181,138,214,.09), transparent 28%),
        repeating-linear-gradient(145deg, rgba(191,122,69,.03) 0 1px, transparent 1px 30px);
      --theme-card-texture:
        radial-gradient(ellipse at 10% 20%, rgba(240,177,116,.11), transparent 28%),
        linear-gradient(145deg, rgba(181,138,214,.05), transparent 50%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold-2), transparent 34%, var(--blue));
      --theme-rune-opacity: .2;
    }
    html[data-site-theme="samhain"] {
      --theme-grid: rgba(167,139,250,.025);
      --theme-page-pattern:
        radial-gradient(circle at 76% 18%, rgba(167,139,250,.14), transparent 22%),
        radial-gradient(circle at 22% 70%, rgba(240,163,94,.08), transparent 26%),
        repeating-radial-gradient(circle at 50% 20%, rgba(167,139,250,.032) 0 1px, transparent 1px 24px);
      --theme-card-texture:
        radial-gradient(circle at 86% 0%, rgba(167,139,250,.13), transparent 30%),
        linear-gradient(155deg, rgba(240,163,94,.055), transparent 52%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold-2), transparent 38%, var(--green));
      --theme-rune-opacity: .25;
    }
    html[data-site-theme="aula-aberta"] {
      --theme-grid: rgba(138,180,255,.024);
      --theme-page-pattern:
        linear-gradient(90deg, rgba(138,180,255,.055), transparent 28%, transparent 72%, rgba(240,207,138,.045)),
        radial-gradient(circle at 18% 20%, rgba(138,180,255,.11), transparent 24%);
      --theme-card-texture:
        linear-gradient(120deg, rgba(138,180,255,.085), transparent 52%),
        radial-gradient(circle at 86% 12%, rgba(240,207,138,.09), transparent 22%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold), transparent 42%, var(--blue));
      --theme-rune-opacity: .18;
    }
    html[data-site-theme="semana-estudos"] {
      --theme-grid: rgba(159,183,168,.026);
      --theme-page-pattern:
        repeating-linear-gradient(0deg, rgba(159,183,168,.035) 0 1px, transparent 1px 30px),
        repeating-linear-gradient(90deg, rgba(159,183,168,.028) 0 1px, transparent 1px 42px);
      --theme-card-texture:
        linear-gradient(90deg, rgba(159,183,168,.07), transparent 42%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 14px);
      --theme-edge-pattern: repeating-linear-gradient(180deg, var(--green) 0 5px, transparent 5px 12px);
      --theme-rune-opacity: .16;
    }
    html[data-site-theme="lancamento"] {
      --theme-grid: rgba(245,197,66,.024);
      --theme-page-pattern:
        radial-gradient(circle at 20% 24%, rgba(245,197,66,.15), transparent 22%),
        radial-gradient(circle at 80% 64%, rgba(255,143,171,.11), transparent 25%),
        linear-gradient(135deg, transparent 0 44%, rgba(99,230,190,.052) 45% 46%, transparent 47% 100%);
      --theme-card-texture:
        radial-gradient(circle at 18% 0%, rgba(245,197,66,.15), transparent 28%),
        linear-gradient(120deg, rgba(255,143,171,.07), transparent 52%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold-2), var(--blue), transparent 62%);
      --theme-rune-opacity: .26;
    }
    html[data-site-theme="encontro-ao-vivo"] {
      --theme-grid: rgba(125,211,252,.024);
      --theme-page-pattern:
        radial-gradient(circle at 24% 20%, rgba(125,211,252,.14), transparent 24%),
        radial-gradient(circle at 78% 74%, rgba(192,132,252,.12), transparent 28%),
        repeating-linear-gradient(90deg, rgba(125,211,252,.028) 0 1px, transparent 1px 36px);
      --theme-card-texture:
        radial-gradient(circle at 86% 0%, rgba(192,132,252,.13), transparent 26%),
        linear-gradient(135deg, rgba(125,211,252,.08), transparent 50%);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold), var(--green), transparent 58%);
      --theme-rune-opacity: .22;
    }
    html[data-site-theme="comunicado"] {
      --theme-grid: rgba(230,192,123,.021);
      --theme-page-pattern:
        linear-gradient(180deg, rgba(230,192,123,.055), transparent 32%),
        repeating-linear-gradient(90deg, rgba(183,190,207,.028) 0 1px, transparent 1px 58px);
      --theme-card-texture:
        linear-gradient(180deg, rgba(230,192,123,.07), transparent 42%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.022) 0 1px, transparent 1px 22px);
      --theme-edge-pattern: linear-gradient(180deg, var(--gold), transparent 48%, var(--blue));
      --theme-rune-opacity: .16;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      min-height: 100vh;
      background:
        linear-gradient(180deg, var(--theme-glow), transparent 340px),
        repeating-linear-gradient(90deg, var(--theme-grid) 0 1px, transparent 1px 118px),
        repeating-linear-gradient(180deg, rgba(255,255,255,.014) 0 1px, transparent 1px 118px),
        var(--bg);
      color: var(--text);
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: var(--theme-page-pattern);
      opacity: .58;
      mix-blend-mode: screen;
      transition: opacity .25s ease, background .25s ease;
    }
    body.modal-open { overflow: hidden; }
    button, input, textarea, select { font: inherit; }
    button { cursor: pointer; }
    button:disabled { cursor: not-allowed; opacity: .65; }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    ::-webkit-scrollbar { width: 8px; height: 8px; }
    ::-webkit-scrollbar-track { background: #050505; }
    ::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: linear-gradient(180deg, var(--gold), var(--blue));
    }
    .theme-particles {
      position: fixed;
      inset: 0;
      z-index: 2;
      overflow: hidden;
      pointer-events: none;
      opacity: .42;
      mix-blend-mode: screen;
    }
    .theme-particle {
      position: absolute;
      left: var(--x);
      top: var(--y);
      color: var(--theme-particle-color);
      font-size: var(--size);
      opacity: 0;
      text-shadow: 0 0 16px currentColor;
      filter: saturate(1.1);
      animation: particleDrift var(--duration) linear infinite;
      animation-delay: var(--delay);
      transform: translate3d(0, 0, 0) rotate(var(--rot));
    }
    .theme-particles.rise .theme-particle { animation-name: particleRise; }
    .theme-particles.fall .theme-particle { animation-name: particleFall; }
    .theme-particles.spark .theme-particle { animation-name: particleSpark; }
    @keyframes particleDrift {
      0% { opacity: 0; transform: translate3d(0, 16px, 0) rotate(var(--rot)); }
      12% { opacity: .72; }
      82% { opacity: .45; }
      100% { opacity: 0; transform: translate3d(var(--dx), -120px, 0) rotate(calc(var(--rot) + 120deg)); }
    }
    @keyframes particleRise {
      0% { opacity: 0; transform: translate3d(0, 40px, 0) rotate(var(--rot)) scale(.75); }
      15% { opacity: .78; }
      100% { opacity: 0; transform: translate3d(var(--dx), -180px, 0) rotate(calc(var(--rot) + 160deg)) scale(1.12); }
    }
    @keyframes particleFall {
      0% { opacity: 0; transform: translate3d(0, -48px, 0) rotate(var(--rot)) scale(.8); }
      15% { opacity: .72; }
      100% { opacity: 0; transform: translate3d(var(--dx), 190px, 0) rotate(calc(var(--rot) + 140deg)) scale(1.04); }
    }
    @keyframes particleSpark {
      0%, 100% { opacity: 0; transform: translate3d(0, 0, 0) scale(.5) rotate(var(--rot)); }
      35% { opacity: .92; transform: translate3d(var(--dx), -34px, 0) scale(1.14) rotate(calc(var(--rot) + 45deg)); }
      70% { opacity: .18; transform: translate3d(calc(var(--dx) * -1), -82px, 0) scale(.84) rotate(calc(var(--rot) + 120deg)); }
    }
    main, footer { position: relative; z-index: 3; }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 40;
      height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 0 28px;
      border-bottom: 1px solid var(--line);
      background: rgba(7, 7, 7, .86);
      backdrop-filter: blur(18px);
      max-width: 100%;
      overflow: hidden;
    }
    .brand {
      flex: 0 1 220px;
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .brand-mark {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line-strong);
      border-radius: 50%;
      color: var(--gold-2);
      background: #070707;
      box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 0 22px rgba(216,173,99,.16);
      overflow: hidden;
      padding: 2px;
    }
    .brand-logo {
      width: 100%;
      height: 100%;
      border-radius: inherit;
      object-fit: cover;
      display: block;
    }
    html[data-site-theme] .brand-mark,
    html[data-site-theme] .module-icon,
    html[data-site-theme] .feature-icon {
      box-shadow: inset 0 1px rgba(255,255,255,.1), 0 0 22px var(--theme-aura);
    }
    .brand small {
      display: block;
      margin-bottom: 3px;
      color: var(--gold);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .28em;
      text-transform: uppercase;
    }
    .brand strong {
      display: block;
      font-family: Cinzel, serif;
      font-size: 16px;
      line-height: 1;
      letter-spacing: .12em;
    }
    .desktop-nav {
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .03);
    }
    .actions {
      flex: 0 1 220px;
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
    }
    .nav-btn, .icon-btn, .ghost-btn, .primary-btn, .danger-btn, .quiet-btn {
      border: 0;
      border-radius: var(--radius);
      background: transparent;
      color: var(--text);
      transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    }
    .nav-btn {
      min-height: 38px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 0 clamp(8px, .85vw, 13px);
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .nav-btn:hover, .nav-btn.active {
      background: rgba(216, 173, 99, .12);
      color: var(--gold-2);
    }
    .user-chip {
      display: none;
      max-width: 150px;
      min-width: 0;
      align-items: center;
      gap: 9px;
      min-height: 40px;
      padding: 0 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--muted);
      background: rgba(255, 255, 255, .03);
      font-size: 12px;
    }
    .user-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .icon-btn {
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      color: var(--muted);
      background: rgba(255, 255, 255, .03);
    }
    .icon-btn:hover {
      border-color: var(--line-strong);
      color: var(--gold-2);
      background: rgba(216, 173, 99, .1);
    }
    .primary-btn, .ghost-btn, .danger-btn, .quiet-btn {
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 0 16px;
      border: 1px solid transparent;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .primary-btn {
      color: #17120b;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      box-shadow: 0 12px 30px rgba(216, 173, 99, .14);
    }
    .primary-btn:hover { transform: translateY(-1px); }
    .ghost-btn {
      color: var(--gold-2);
      border-color: var(--line-strong);
      background: rgba(216, 173, 99, .06);
    }
    .ghost-btn:hover { background: rgba(216, 173, 99, .13); }
    .quiet-btn {
      color: var(--muted);
      border-color: var(--line);
      background: rgba(255, 255, 255, .03);
    }
    .quiet-btn:hover {
      color: var(--text);
      background: rgba(255, 255, 255, .07);
    }
    .danger-btn {
      color: #ffd1d1;
      border-color: rgba(240, 118, 117, .3);
      background: rgba(240, 118, 117, .09);
    }
    .danger-btn:hover { background: rgba(240, 118, 117, .16); }
    .mobile-menu-btn { display: none; }
    .mobile-app-nav { display: none; }
    .mobile-panel {
      display: none;
      position: fixed;
      inset: 76px 0 auto 0;
      z-index: 39;
      padding: 18px;
      border-bottom: 1px solid var(--line);
      background: rgba(7, 7, 7, .96);
      box-shadow: var(--shadow);
    }
    .mobile-panel.open { display: block; }
    .mobile-panel .nav-btn {
      width: 100%;
      justify-content: flex-start;
      margin-bottom: 8px;
      padding: 14px;
    }

    main { padding: 34px 28px 80px; }
    .view { display: none; }
    .view.active { display: block; animation: fadeUp .22s ease both; }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(8px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .container { width: min(1240px, 100%); margin: 0 auto; }
    .narrow { width: min(880px, 100%); margin: 0 auto; }

    .hero {
      min-height: calc(100vh - 160px);
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr);
      gap: 28px;
      align-items: stretch;
    }
    .hero-copy {
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 56px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)), rgba(17, 17, 19, .82);
      box-shadow: var(--shadow);
    }
    .hero-copy::after {
      content: "";
      position: absolute;
      inset: auto -20% -38% 24%;
      height: 260px;
      background: radial-gradient(circle, rgba(216, 173, 99, .16), transparent 68%);
      pointer-events: none;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--gold);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .24em;
      text-transform: uppercase;
    }
    .eyebrow::before {
      content: "";
      width: 36px;
      height: 1px;
      background: var(--gold);
      opacity: .75;
    }
    .hero h1, .section-title h2 {
      margin: 18px 0;
      font-family: Cinzel, serif;
      line-height: .96;
      letter-spacing: .03em;
    }
    .hero h1 { font-size: 88px; }
    .hero p {
      max-width: 650px;
      margin: 0;
      color: var(--muted);
      font-size: 18px;
      line-height: 1.75;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
      margin-top: 34px;
    }
    .hero-panel {
      overflow: hidden;
      display: grid;
      grid-template-rows: 230px 1fr;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(13, 13, 14, .82);
      box-shadow: var(--shadow);
    }
    .hero-image {
      border-bottom: 1px solid var(--line);
      background:
        linear-gradient(180deg, transparent 20%, rgba(7, 7, 7, .86)),
        url("../assets/hero-coven-academy.jpg") center/cover;
    }
    .hero-insight {
      display: grid;
      gap: 16px;
      align-content: start;
      padding: 28px;
    }
    .insight-row {
      display: flex;
      justify-content: space-between;
      gap: 16px;
      padding: 15px 0;
      border-bottom: 1px solid var(--line);
    }
    .insight-row:last-child { border-bottom: 0; }
    .insight-row span {
      color: var(--dim);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .insight-row strong {
      color: var(--text);
      font-size: 13px;
      text-align: right;
    }

    .section-title {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin: 0 0 24px;
    }
    .section-title h2 {
      margin: 8px 0 0;
      font-size: 44px;
    }
    .section-title p {
      max-width: 640px;
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }
    .toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin-bottom: 24px;
    }
    .search-box {
      position: relative;
      flex: 1;
      min-width: min(420px, 100%);
    }
    .search-box i {
      position: absolute;
      left: 14px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--dim);
    }
    .search-box input { padding-left: 40px; }
    .segmented {
      display: inline-flex;
      gap: 4px;
      padding: 4px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .03);
    }
    .segment {
      min-height: 36px;
      padding: 0 13px;
      border: 0;
      border-radius: 6px;
      color: var(--muted);
      background: transparent;
      font-size: 12px;
      font-weight: 900;
    }
    .segment.active {
      color: var(--gold-2);
      background: rgba(216, 173, 99, .14);
    }

    .grid { display: grid; gap: 18px; }
    .stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .modules-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .library-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .admin-grid { grid-template-columns: 1.2fr .8fr; align-items: start; }
    .card, .module-card, .lesson-card, .admin-card, .feed-card, .profile-card {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        var(--theme-card-texture),
        linear-gradient(145deg, var(--theme-panel-tint), rgba(17, 17, 19, .86));
      box-shadow: var(--shadow-soft);
    }
    .card > *,
    .module-card > *,
    .lesson-card > *,
    .admin-card > *,
    .feed-card > *,
    .profile-card > * {
      position: relative;
      z-index: 1;
    }
    .card { padding: 22px; }
    .card::before,
    .admin-card::before,
    .feed-card::before,
    .profile-card::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      border-radius: inherit;
      background: var(--theme-corner-pattern);
      opacity: .72;
    }
    .stat-card {
      position: relative;
      overflow: hidden;
      min-height: 130px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border-top: 1px solid rgba(216, 173, 99, .36);
    }
    .stat-card::after {
      content: var(--theme-symbol);
      position: absolute;
      right: 18px;
      top: 14px;
      color: var(--gold-2);
      font-size: 34px;
      opacity: var(--theme-rune-opacity);
      pointer-events: none;
      transform: rotate(12deg);
      text-shadow: 0 0 22px var(--theme-aura);
    }
    .stat-card i { color: var(--gold); font-size: 20px; }
    .stat-card strong { font-size: 34px; letter-spacing: -.02em; }
    .stat-card span {
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .module-card {
      position: relative;
      overflow: hidden;
      min-height: 260px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 24px;
      text-align: left;
      border-top-color: rgba(216, 173, 99, .28);
      transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
    }
    .module-card::before,
    .course-card::before,
    .lesson-card::before,
    .reader-main::before,
    .experience-card::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      border-radius: inherit;
      background:
        var(--theme-corner-pattern),
        var(--theme-card-texture),
        var(--theme-edge-pattern) top left / 3px 100% no-repeat,
        linear-gradient(90deg, transparent, var(--theme-aura), transparent) top left / 100% 1px no-repeat,
        linear-gradient(180deg, var(--theme-aura), transparent 44%) top left / 1px 100% no-repeat,
        linear-gradient(180deg, transparent 54%, rgba(255,255,255,.05)) bottom right / 1px 100% no-repeat;
      opacity: .86;
    }
    .module-card::after,
    .course-card::after,
    .lesson-card::after {
      content: var(--theme-symbol);
      position: absolute;
      right: 18px;
      top: 14px;
      color: var(--gold-2);
      font-size: 18px;
      opacity: calc(var(--theme-rune-opacity) + .04);
      pointer-events: none;
      text-shadow: 0 0 18px var(--theme-aura);
    }
    .module-card:hover {
      transform: translateY(-2px);
      border-color: var(--line-strong);
      background: var(--panel-hover);
      box-shadow: 0 18px 54px rgba(0, 0, 0, .32);
    }
    .module-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 14px;
    }
    .module-icon {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius);
      color: var(--gold-2);
      background: rgba(216, 173, 99, .08);
    }
    .module-card h3 {
      margin: 18px 0 10px;
      font-family: Cinzel, serif;
      font-size: 22px;
      line-height: 1.2;
    }
    .module-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.6;
    }
    .progress {
      height: 8px;
      margin-top: 22px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255, 255, 255, .06);
    }
    .progress span {
      display: block;
      width: 0%;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--gold), var(--green));
    }
    html[data-site-theme] .reader-progress-line span,
    html[data-site-theme] .progress span,
    html[data-site-theme] .preview-bar i {
      background: linear-gradient(90deg, var(--gold), var(--green), var(--blue));
    }
    .meta-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-top: 16px;
      color: var(--dim);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .badge {
      min-height: 28px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 0 10px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--muted);
      background: rgba(255, 255, 255, .03);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .badge.gold { color: var(--gold-2); border-color: var(--line-strong); background: rgba(216, 173, 99, .08); }
    .badge.green { color: var(--green); border-color: rgba(126, 217, 167, .3); background: rgba(126, 217, 167, .08); }
    .badge.red { color: var(--red); border-color: rgba(240, 118, 117, .32); background: rgba(240, 118, 117, .08); }
    .badge.blue { color: var(--blue); border-color: rgba(138, 180, 255, .3); background: rgba(138, 180, 255, .08); }

    .lesson-layout {
      display: grid;
      grid-template-columns: 320px 1fr;
      gap: 22px;
      align-items: start;
    }
    .module-aside {
      position: sticky;
      top: 100px;
      padding: 22px;
    }
    .module-aside h3 {
      margin: 10px 0;
      font-family: Cinzel, serif;
      font-size: 28px;
    }
    .lesson-list { display: grid; gap: 12px; }
    .lesson-card {
      min-height: 112px;
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 18px;
      padding: 18px;
      border-left-color: rgba(216, 173, 99, .18);
      transition: border-color .18s ease, background .18s ease, transform .18s ease;
    }
    .lesson-card::before {
      background:
        var(--theme-corner-pattern),
        var(--theme-card-texture),
        var(--theme-edge-pattern) top left / 3px 100% no-repeat,
        repeating-linear-gradient(180deg, var(--gold) 0 8px, transparent 8px 14px) top left / 2px 100% no-repeat,
        linear-gradient(90deg, var(--theme-aura), transparent 58%) top left / 100% 1px no-repeat;
      opacity: .68;
    }
    .lesson-card.available:hover {
      transform: translateX(2px);
      border-color: var(--line-strong);
      background: var(--panel-hover);
    }
    .lesson-card.locked { opacity: .68; }
    .lesson-card.paid-locked {
      opacity: 1;
      border-color: rgba(37, 211, 102, .28);
    }
    .lesson-content { min-width: 0; }
    .lesson-index {
      position: relative;
      overflow: hidden;
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--dim);
      font-weight: 900;
    }
    .lesson-index::after {
      content: "";
      position: absolute;
      left: 9px;
      right: 9px;
      bottom: 8px;
      height: 1px;
      background: var(--theme-edge-pattern);
      opacity: .58;
    }
    .lesson-card.completed .lesson-index { color: #07110c; background: var(--green); border-color: var(--green); }
    .lesson-card.available .lesson-index { color: #17120b; background: var(--gold); border-color: var(--gold); }
    .lesson-card h4 { margin: 0 0 7px; font-size: 18px; }
    .lesson-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
    .lesson-action {
      display: grid;
      justify-items: end;
      gap: 10px;
    }
    .lesson-thumb-index {
      position: absolute;
      left: 7px;
      top: 7px;
      z-index: 2;
      min-width: 24px;
      height: 24px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(0,0,0,.22);
      border-radius: 999px;
      color: #17120b;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      font-size: 10px;
      font-weight: 900;
      box-shadow: 0 8px 18px rgba(0,0,0,.28);
    }
    .whatsapp-btn {
      min-height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      padding: 0 15px;
      border: 1px solid rgba(37, 211, 102, .34);
      border-radius: var(--radius);
      color: #06130c;
      background: linear-gradient(135deg, #b8ffd0, #25d366);
      box-shadow: 0 14px 34px rgba(37, 211, 102, .16);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: transform .18s ease, filter .18s ease;
    }
    .whatsapp-btn:hover {
      filter: brightness(1.04);
      transform: translateY(-1px);
    }
    .whatsapp-access-banner {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: 46px 1fr auto;
      gap: 14px;
      align-items: center;
      margin-top: 18px;
      padding: 14px 16px;
      border: 1px solid rgba(37, 211, 102, .28);
      border-radius: var(--radius);
      color: var(--text);
      background:
        radial-gradient(circle at 0% 0%, rgba(37, 211, 102, .16), transparent 32%),
        linear-gradient(135deg, rgba(37, 211, 102, .08), rgba(255,255,255,.025));
      box-shadow: 0 16px 44px rgba(0,0,0,.22);
    }
    .whatsapp-access-banner::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(37, 211, 102, .38), transparent 56%) top left / 100% 1px no-repeat,
        linear-gradient(180deg, rgba(37, 211, 102, .26), transparent 68%) top left / 1px 100% no-repeat;
    }
    .whatsapp-access-banner > * {
      position: relative;
      z-index: 1;
    }
    .whatsapp-orb {
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border-radius: 16px;
      color: #06130c;
      background: linear-gradient(135deg, #b8ffd0, #25d366);
      box-shadow: 0 12px 28px rgba(37, 211, 102, .18);
      font-size: 21px;
    }
    .whatsapp-access-banner strong,
    .whatsapp-access-banner small {
      display: block;
    }
    .whatsapp-access-banner strong {
      margin-bottom: 3px;
      font-family: Cinzel, serif;
      font-size: 18px;
    }
    .whatsapp-access-banner small {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
    }
    .whatsapp-access-banner > .fa-arrow-right {
      color: #25d366;
    }
    .reader {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 300px;
      gap: 22px;
      align-items: start;
    }
    .reader-main {
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(17, 17, 19, .88);
      box-shadow: var(--shadow-soft);
    }
    .reader-cover {
      position: relative;
      height: 390px;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
      background: #111;
    }
    .reader-cover img { width: 100%; height: 100%; object-fit: cover; opacity: .84; }
    .reader-cover::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 20%, rgba(17, 17, 19, .9));
    }
    .reader-body { padding: clamp(24px, 5vw, 58px); }
    .reader-body h1 {
      margin: 0 0 14px;
      font-family: Cinzel, serif;
      font-size: 56px;
      line-height: 1.05;
    }
    .reader-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-bottom: 32px;
    }
    .content { color: #ddd7cf; font-size: 18px; line-height: 1.9; }
    .content h3 {
      margin: 42px 0 14px;
      color: var(--text);
      font-family: Cinzel, serif;
      font-size: 28px;
    }
    .content strong { color: var(--gold-2); }
    .content figure { margin: 28px 0; }
    .content img {
      width: 100%;
      margin: 0 0 8px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
    }
    .content figcaption {
      color: var(--dim);
      font-size: 12px;
      text-align: center;
    }
    .reader-side {
      position: sticky;
      top: 100px;
      display: grid;
      gap: 14px;
    }
    .side-panel {
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(17, 17, 19, .84);
    }
    .side-panel h3 {
      margin: 0 0 12px;
      font-size: 14px;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .comments {
      margin-top: 42px;
      padding-top: 30px;
      border-top: 1px solid var(--line);
    }
    .comment-list {
      display: grid;
      gap: 12px;
      margin: 18px 0;
    }
    .comment-item {
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255, 255, 255, .025);
    }
    .comment-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
      color: var(--dim);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .comment-item p { margin: 0; color: var(--muted); line-height: 1.6; }

    .admin-card, .profile-card { padding: 22px; }
    .admin-card h3, .profile-card h3 {
      margin: 0 0 18px;
      font-family: Cinzel, serif;
      font-size: 22px;
    }
    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 13px;
    }
    .field { display: grid; gap: 8px; }
    .field.full, .full { grid-column: 1 / -1; }
    label {
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    input, textarea, select {
      width: 100%;
      min-height: 44px;
      padding: 12px 13px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      outline: 0;
      color: var(--text);
      background: rgba(0, 0, 0, .24);
      transition: border-color .18s ease, background .18s ease;
    }
    textarea { resize: vertical; line-height: 1.6; }
    input:focus, textarea:focus, select:focus {
      border-color: var(--line-strong);
      background: rgba(0, 0, 0, .34);
    }
    .upload-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 8px;
      align-items: center;
    }
    .hidden-file { display: none; }
    .status-line {
      min-height: 18px;
      margin: 10px 0 0;
      color: var(--gold);
      font-size: 12px;
    }
    .list { display: grid; gap: 9px; }
    .list-item {
      display: grid;
      grid-template-columns: 1fr auto;
      align-items: center;
      gap: 12px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--muted);
      background: rgba(0, 0, 0, .18);
      font-size: 13px;
    }
    .list-item strong {
      display: block;
      margin-bottom: 3px;
      color: var(--text);
    }
    .inline-actions { display: flex; align-items: center; gap: 6px; }

    .feed-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 340px;
      gap: 22px;
      align-items: start;
    }
    .feed-card { display: grid; gap: 16px; padding: 22px; }
    .feed-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }
    .author { display: flex; align-items: center; gap: 12px; }
    .avatar {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line-strong);
      border-radius: 50%;
      color: var(--gold-2);
      background: rgba(216, 173, 99, .11);
    }
    .feed-card img {
      width: 100%;
      max-height: 520px;
      object-fit: cover;
      border: 1px solid var(--line);
      border-radius: var(--radius);
    }
    .feed-body { color: #ddd7cf; line-height: 1.75; white-space: pre-wrap; }
    .feed-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
    }

    .book-section { margin-bottom: 40px; }
    .book-section h3 {
      margin: 0 0 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
      font-family: Cinzel, serif;
      font-size: 24px;
    }
    .book-card {
      position: relative;
      overflow: hidden;
      min-height: 310px;
      display: flex;
      flex-direction: column;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(17, 17, 19, .88);
      transition: transform .18s ease, border-color .18s ease;
      box-shadow: var(--shadow-soft);
    }
    .book-card:hover {
      transform: translateY(-2px);
      border-color: var(--line-strong);
    }
    .book-cover { position: relative; height: 230px; overflow: hidden; background: #111; }
    .book-cover img { width: 100%; height: 100%; object-fit: cover; }
    .book-cover.locked::after {
      content: "\f023";
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
      color: var(--gold-2);
      background: rgba(0, 0, 0, .54);
      font-family: "Font Awesome 6 Free";
      font-size: 34px;
      font-weight: 900;
    }
    .book-info {
      display: grid;
      gap: 8px;
      padding: 14px;
    }
    .book-info h4 { margin: 0; font-size: 15px; line-height: 1.25; }
    .book-info span {
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .profile-grid {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 22px;
      align-items: start;
    }
    .avatar-options {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
    }
    .avatar-options input { display: none; }
    .avatar-options label {
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--muted);
      background: rgba(255, 255, 255, .03);
      cursor: pointer;
      font-size: 16px;
    }
    .avatar-options input:checked + label {
      border-color: var(--line-strong);
      color: #17120b;
      background: var(--gold);
    }
    .badge-wall { display: flex; flex-wrap: wrap; gap: 10px; }

    .modal {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 80;
      align-items: center;
      justify-content: center;
      padding: 22px;
      background: rgba(0, 0, 0, .78);
      backdrop-filter: blur(10px);
    }
    .modal.open { display: flex; }
    .modal-card {
      width: min(520px, 100%);
      max-height: calc(100vh - 44px);
      overflow-y: auto;
      padding: 26px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #111113;
      box-shadow: var(--shadow);
    }
    .modal-head {
      display: flex;
      align-items: start;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 20px;
    }
    .modal-head h2 {
      margin: 0;
      font-family: Cinzel, serif;
      font-size: 26px;
    }
    .empty {
      min-height: 170px;
      display: grid;
      place-items: center;
      padding: 24px;
      border: 1px dashed var(--line);
      border-radius: var(--radius);
      color: var(--dim);
      text-align: center;
    }
    .loading {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 100;
      place-items: center;
      background: rgba(0, 0, 0, .72);
      backdrop-filter: blur(8px);
    }
    .loading.show { display: grid; }
    .spinner {
      width: 42px;
      height: 42px;
      border: 3px solid rgba(255, 255, 255, .12);
      border-top-color: var(--gold);
      border-radius: 50%;
      animation: spin .8s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }
    .toast {
      display: none;
      position: fixed;
      right: 24px;
      bottom: 24px;
      z-index: 120;
      max-width: 360px;
      padding: 14px 16px;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius);
      color: var(--text);
      background: rgba(17, 17, 19, .96);
      box-shadow: var(--shadow);
      line-height: 1.5;
    }
    .toast.show { display: block; animation: fadeUp .18s ease both; }
    footer {
      padding: 28px;
      border-top: 1px solid var(--line);
      color: var(--dim);
      text-align: center;
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    /* Landing premium */
    main { padding-top: 0; }
    main > .view:not(#home-view) { padding-top: 34px; }
    #home-view { margin: -34px -28px -80px; }
    .landing { overflow: hidden; background: #050505; }
    .landing-hero {
      position: relative;
      min-height: clamp(560px, calc(100vh - 128px), 660px);
      display: flex;
      align-items: flex-end;
      padding: 88px 28px 54px;
      isolation: isolate;
    }
    .landing-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -3;
      background:
        linear-gradient(90deg, rgba(5, 5, 5, .95) 0%, rgba(5, 5, 5, .78) 42%, rgba(5, 5, 5, .32) 100%),
        linear-gradient(180deg, rgba(5, 5, 5, .12), #050505 100%),
        url("../assets/hero-coven-academy.jpg") center right 18% / cover no-repeat;
      transform: scale(1.02);
      animation: heroBreath 18s ease-in-out infinite alternate;
    }
    .landing-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      background:
        linear-gradient(115deg, transparent 0 38%, rgba(216, 173, 99, .08) 39%, transparent 40% 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 120px);
      mask-image: linear-gradient(180deg, transparent, #000 18%, #000 72%, transparent);
      opacity: .65;
      animation: slowScan 14s linear infinite;
    }
    @keyframes heroBreath {
      from { transform: scale(1.02) translateX(0); filter: saturate(.9) contrast(1.05); }
      to { transform: scale(1.08) translateX(-10px); filter: saturate(1.08) contrast(1.12); }
    }
    @keyframes slowScan {
      from { background-position: 0 0, 0 0; }
      to { background-position: 160px 0, 240px 0; }
    }
    .landing-constellation {
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      opacity: .72;
      background-image:
        radial-gradient(circle at 18% 24%, rgba(240, 207, 138, .62) 0 1px, transparent 2px),
        radial-gradient(circle at 31% 68%, rgba(255, 255, 255, .48) 0 1px, transparent 2px),
        radial-gradient(circle at 66% 24%, rgba(240, 207, 138, .46) 0 1px, transparent 2px),
        radial-gradient(circle at 82% 62%, rgba(255, 255, 255, .42) 0 1px, transparent 2px);
      animation: starDrift 16s ease-in-out infinite alternate;
    }
    @keyframes starDrift {
      from { transform: translateY(0); opacity: .42; }
      to { transform: translateY(-18px); opacity: .8; }
    }
    .landing-hero-inner {
      width: min(1200px, 100%);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 380px;
      gap: 36px;
      align-items: center;
    }
    .landing-copy {
      max-width: 700px;
      padding-bottom: 0;
    }
    .landing-copy h1 {
      margin: 14px 0 18px;
      font-family: Cinzel, serif;
      font-size: 68px;
      line-height: .94;
      letter-spacing: 0;
      text-wrap: balance;
      text-shadow: 0 18px 60px rgba(0,0,0,.65);
    }
    .landing-copy p {
      max-width: 620px;
      margin: 0;
      color: #d8d0c6;
      font-size: 18px;
      line-height: 1.62;
      text-shadow: 0 10px 30px rgba(0,0,0,.7);
    }
    .landing-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 26px;
    }
    .landing-hero .landing-actions { display: none; }
    .landing-proof {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }
    .mobile-study-hub { display: none; }
    .proof-pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 34px;
      padding: 0 12px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 999px;
      color: #e8ded2;
      background: rgba(0,0,0,.34);
      backdrop-filter: blur(12px);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .hero-command {
      align-self: stretch;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 12px;
    }
    .command-panel {
      position: relative;
      overflow: hidden;
      border: 1px solid rgba(216,173,99,.28);
      border-radius: var(--radius);
      padding: 20px;
      background: rgba(10,10,11,.58);
      backdrop-filter: blur(18px);
      box-shadow: var(--shadow);
      animation: panelFloat 6s ease-in-out infinite alternate;
    }
    .command-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent, rgba(255,255,255,.09), transparent);
      transform: translateX(-110%);
      animation: sheen 7s ease-in-out infinite;
      pointer-events: none;
    }
    @keyframes panelFloat {
      from { transform: translateY(0); }
      to { transform: translateY(-10px); }
    }
    @keyframes sheen {
      0%, 45% { transform: translateX(-110%); }
      70%, 100% { transform: translateX(110%); }
    }
    .command-panel h3 {
      margin: 0 0 14px;
      font-family: Cinzel, serif;
      font-size: 22px;
    }
    .command-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 13px 0;
      border-top: 1px solid rgba(255,255,255,.1);
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .command-row strong { color: var(--gold-2); }
    .landing-stats {
      width: min(1200px, calc(100% - 56px));
      margin: -92px auto 0;
      position: relative;
      z-index: 4;
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .landing-stats::before {
      content: "";
      position: absolute;
      inset: -14px;
      z-index: 0;
      pointer-events: none;
      border: 1px solid rgba(255,255,255,.06);
      border-radius: calc(var(--radius) + 8px);
      background:
        linear-gradient(180deg, rgba(5,5,5,.94), rgba(5,5,5,.78)),
        var(--theme-card-texture);
      box-shadow: 0 -24px 70px rgba(0,0,0,.48);
      backdrop-filter: blur(14px);
    }
    .landing-stats > * {
      position: relative;
      z-index: 1;
    }
    .landing-stats .stat-card {
      min-height: 118px;
      background: rgba(17,17,19,.82);
      backdrop-filter: blur(16px);
    }
    .landing-section {
      width: min(1200px, calc(100% - 56px));
      margin: 0 auto;
      padding: 100px 0 0;
    }
    .landing-section-header {
      display: flex;
      justify-content: space-between;
      gap: 28px;
      align-items: end;
      margin-bottom: 26px;
    }
    .landing-section-header h2 {
      margin: 8px 0 0;
      font-family: Cinzel, serif;
      font-size: 48px;
      line-height: 1;
      text-wrap: balance;
    }
    .landing-section-header p {
      max-width: 520px;
      margin: 0;
      color: var(--muted);
      line-height: 1.7;
    }
    .experience-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 18px;
    }
    .experience-card {
      position: relative;
      overflow: hidden;
      min-height: 260px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 26px;
      background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    }
    .experience-card.large {
      min-height: 360px;
      background:
        linear-gradient(180deg, rgba(5,5,5,.22), rgba(5,5,5,.92)),
        url("../assets/hero-coven-academy.jpg") center / cover no-repeat;
    }
    .experience-card h3 {
      margin: 0 0 12px;
      font-family: Cinzel, serif;
      font-size: 28px;
    }
    .experience-card p {
      margin: 0;
      max-width: 560px;
      color: var(--muted);
      line-height: 1.7;
    }
    .experience-card .card-bottom {
      position: absolute;
      left: 26px;
      right: 26px;
      bottom: 24px;
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
    }
    .process-lane {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 18px;
    }
    .process-step {
      min-height: 160px;
      padding: 18px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.03);
    }
    .process-step span {
      color: var(--gold);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .process-step h3 {
      margin: 16px 0 8px;
      font-size: 18px;
    }
    .process-step p {
      margin: 0;
      color: var(--muted);
      line-height: 1.55;
      font-size: 13px;
    }
    .landing-feature-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
      margin-top: 22px;
    }
    .feature-card {
      position: relative;
      overflow: hidden;
      min-height: 230px;
      padding: 22px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.032);
      transition: transform .22s ease, border-color .22s ease, background .22s ease;
    }
    .feature-card:hover {
      transform: translateY(-4px);
      border-color: var(--line-strong);
      background: rgba(216,173,99,.075);
    }
    .feature-icon {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius);
      color: var(--gold-2);
      background: rgba(216,173,99,.08);
      margin-bottom: 22px;
    }
    .feature-card h3 {
      margin: 0 0 10px;
      font-family: Cinzel, serif;
      font-size: 21px;
      line-height: 1.15;
    }
    .feature-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
      font-size: 14px;
    }
    .premium-experience {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 18px;
      min-height: 560px;
      padding: 18px;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 26px;
      background:
        radial-gradient(circle at 78% 18%, rgba(138,180,255,.12), transparent 30%),
        radial-gradient(circle at 10% 82%, rgba(126,217,167,.09), transparent 30%),
        linear-gradient(135deg, rgba(216,173,99,.11), transparent 48%),
        rgba(10,10,12,.84);
      box-shadow: var(--shadow-soft);
    }
    .premium-experience::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(216,173,99,.46), transparent 26%, transparent 74%, rgba(138,180,255,.28)) top / 100% 1px no-repeat,
        repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 112px),
        repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 88px);
      opacity: .75;
    }
    .premium-experience-copy,
    .experience-orbit {
      position: relative;
      z-index: 1;
    }
    .premium-experience-copy {
      min-height: 520px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 36px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 20px;
      background:
        linear-gradient(180deg, rgba(5,5,5,.16), rgba(5,5,5,.86)),
        url("../assets/hero-coven-academy.jpg") center / cover no-repeat;
    }
    .premium-experience-copy h2 {
      margin: 10px 0 14px;
      font-family: Cinzel, serif;
      font-size: 46px;
      line-height: 1;
      text-wrap: balance;
    }
    .premium-experience-copy p {
      max-width: 560px;
      margin: 0;
      color: #ded4ca;
      font-size: 17px;
      line-height: 1.72;
    }
    .premium-checklist {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 24px;
    }
    .premium-checklist span {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-height: 34px;
      padding: 0 12px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 999px;
      color: #ece3d8;
      background: rgba(0,0,0,.34);
      backdrop-filter: blur(12px);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .premium-checklist i {
      color: var(--green);
    }
    .experience-orbit {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .orbit-card {
      position: relative;
      overflow: hidden;
      min-height: 170px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 22px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 20px;
      background:
        var(--theme-card-texture),
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
      transition: transform .24s ease, border-color .24s ease, background .24s ease;
    }
    .orbit-card::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        var(--theme-corner-pattern),
        radial-gradient(circle at 100% 0%, rgba(216,173,99,.12), transparent 34%);
      opacity: .5;
    }
    .orbit-card > * {
      position: relative;
      z-index: 1;
    }
    .orbit-card:hover {
      transform: translateY(-5px);
      border-color: var(--line-strong);
      background:
        var(--theme-card-texture),
        linear-gradient(180deg, rgba(216,173,99,.08), rgba(255,255,255,.02));
    }
    .orbit-card-main {
      grid-row: span 2;
      min-height: 100%;
      background:
        linear-gradient(180deg, rgba(10,10,12,.28), rgba(10,10,12,.92)),
        radial-gradient(circle at 55% 8%, rgba(216,173,99,.2), transparent 32%),
        rgba(12,12,14,.9);
    }
    .orbit-card i {
      position: absolute;
      top: 20px;
      right: 20px;
      color: var(--gold-2);
      font-size: 24px;
      opacity: .76;
    }
    .orbit-card span {
      color: var(--gold-2);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .orbit-card strong {
      display: block;
      max-width: 360px;
      margin-top: 10px;
      font-family: Cinzel, serif;
      font-size: 23px;
      line-height: 1.12;
    }
    .orbit-card-main strong {
      font-size: 32px;
      line-height: 1.04;
    }
    .orbit-lines {
      display: grid;
      gap: 10px;
      margin-top: 34px;
      max-width: 360px;
    }
    .orbit-lines i {
      position: static;
      display: block;
      height: 9px;
      border-radius: 999px;
      background: linear-gradient(90deg, rgba(216,173,99,.7), rgba(138,180,255,.28), transparent);
      opacity: .9;
      animation: orbitLine 3.8s ease-in-out infinite alternate;
    }
    .orbit-lines i:nth-child(2) {
      width: 72%;
      animation-delay: .35s;
    }
    .orbit-lines i:nth-child(3) {
      width: 48%;
      animation-delay: .7s;
    }
    @keyframes orbitLine {
      from { transform: scaleX(.82); transform-origin: left; opacity: .52; }
      to { transform: scaleX(1); transform-origin: left; opacity: .95; }
    }
    .platform-showcase {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 18px;
      align-items: stretch;
    }
    .showcase-copy {
      min-height: 430px;
      padding: 32px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        linear-gradient(180deg, rgba(5,5,5,.16), rgba(5,5,5,.92)),
        url("../assets/hero-coven-academy.jpg") center / cover no-repeat;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      overflow: hidden;
    }
    .showcase-copy h3 {
      margin: 0 0 12px;
      font-family: Cinzel, serif;
      font-size: 38px;
      line-height: 1;
    }
    .showcase-copy p {
      margin: 0;
      max-width: 560px;
      color: #d9d1c8;
      line-height: 1.7;
    }
    .preview-window {
      position: relative;
      overflow: hidden;
      min-height: 430px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(14,14,16,.9);
      box-shadow: var(--shadow);
    }
    .preview-topbar {
      height: 48px;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 0 18px;
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,.035);
    }
    .preview-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--gold);
      opacity: .75;
    }
    .preview-body {
      display: grid;
      grid-template-columns: 180px 1fr;
      min-height: 382px;
    }
    .preview-sidebar {
      padding: 18px;
      border-right: 1px solid var(--line);
      background: rgba(0,0,0,.2);
    }
    .preview-nav-item {
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 42px;
      padding: 0 10px;
      border: 1px solid transparent;
      border-radius: var(--radius);
      color: var(--muted);
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .preview-nav-item.active {
      color: var(--gold-2);
      border-color: var(--line-strong);
      background: rgba(216,173,99,.08);
    }
    .preview-main {
      padding: 20px;
      display: grid;
      gap: 12px;
      align-content: start;
    }
    .preview-course {
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.018));
      animation: previewPulse 5s ease-in-out infinite alternate;
    }
    .preview-course:nth-child(2) { animation-delay: .8s; }
    .preview-course:nth-child(3) { animation-delay: 1.6s; }
    @keyframes previewPulse {
      from { border-color: rgba(255,255,255,.09); transform: translateY(0); }
      to { border-color: rgba(216,173,99,.34); transform: translateY(-3px); }
    }
    .preview-course strong {
      display: block;
      margin-bottom: 8px;
      font-family: Cinzel, serif;
      font-size: 18px;
    }
    .preview-course span {
      color: var(--dim);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .preview-bar {
      height: 8px;
      margin-top: 14px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
    }
    .preview-bar i {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--gold), var(--green));
    }
    .persona-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }
    .persona-card {
      min-height: 190px;
      padding: 22px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.03);
    }
    .persona-card h3 {
      margin: 0 0 10px;
      font-family: Cinzel, serif;
      font-size: 23px;
    }
    .persona-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }
    .priest-section {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 18px;
      align-items: stretch;
    }
    .priest-photo {
      position: relative;
      min-height: 520px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #111;
      box-shadow: var(--shadow-soft);
    }
    .priest-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.9) contrast(1.05);
      transition: filter .35s ease, transform .35s ease;
    }
    .priest-photo:hover img {
      filter: saturate(1.08) contrast(1.08);
      transform: scale(1.025);
    }
    .priest-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 42%, rgba(5,5,5,.8));
      pointer-events: none;
    }
    .priest-bio {
      min-height: 520px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 18px;
      padding: 42px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        linear-gradient(135deg, var(--theme-hero-wash), transparent 58%),
        rgba(17,17,19,.86);
      box-shadow: var(--shadow-soft);
    }
    .priest-bio h2 {
      margin: 8px 0 0;
      font-family: Cinzel, serif;
      font-size: 52px;
      line-height: 1;
    }
    .priest-bio p {
      margin: 0;
      color: #d8d0c6;
      font-size: 17px;
      line-height: 1.75;
    }
    .priest-signature {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding-top: 12px;
    }
    .cta-panel {
      position: relative;
      overflow: hidden;
      padding: 42px;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius);
      background:
        linear-gradient(120deg, rgba(216,173,99,.11), transparent 52%),
        rgba(17,17,19,.84);
      box-shadow: var(--shadow-soft);
    }
    .cta-panel h2 {
      max-width: 780px;
      margin: 10px 0 14px;
      font-family: Cinzel, serif;
      font-size: 48px;
      line-height: 1;
    }
    .cta-panel p {
      max-width: 680px;
      margin: 0 0 24px;
      color: var(--muted);
      line-height: 1.7;
    }

    /* Courses and lessons premium */
    .academy-hero {
      position: relative;
      overflow: hidden;
      margin-bottom: 24px;
      padding: 30px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        var(--theme-card-texture),
        linear-gradient(115deg, rgba(216,173,99,.11), transparent 45%),
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
      box-shadow: var(--shadow-soft);
    }
    .academy-hero::before {
      content: "";
      position: absolute;
      left: 0;
      top: 22px;
      bottom: 22px;
      width: 3px;
      background: linear-gradient(180deg, var(--gold), var(--green));
      opacity: .85;
    }
    .academy-hero::after {
      content: var(--theme-symbol);
      position: absolute;
      right: 24px;
      top: 18px;
      color: var(--gold-2);
      font-size: 46px;
      opacity: var(--theme-rune-opacity);
      text-shadow: 0 0 28px var(--theme-aura);
      pointer-events: none;
    }
    .academy-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 22px;
    }
    .academy-metric {
      position: relative;
      overflow: hidden;
      min-height: 86px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        var(--theme-card-texture),
        rgba(0,0,0,.22);
    }
    .academy-metric::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: var(--theme-corner-pattern);
      opacity: .58;
    }
    .academy-metric > * {
      position: relative;
      z-index: 1;
    }
    .academy-metric strong { display: block; font-size: 28px; }
    .academy-metric span {
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .course-card {
      position: relative;
      overflow: hidden;
      min-height: 340px;
      padding: 0;
      background: #101011;
      box-shadow: var(--shadow-soft);
    }
    .course-cover {
      position: relative;
      height: 160px;
      overflow: hidden;
      background: linear-gradient(135deg, rgba(216,173,99,.18), rgba(138,180,255,.08));
    }
    .course-cover::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        var(--theme-card-texture),
        linear-gradient(115deg, var(--theme-aura), transparent 42%);
      mix-blend-mode: screen;
      opacity: .62;
    }
    .course-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .72;
      transform: scale(1.03);
      transition: transform .45s ease, opacity .45s ease;
    }
    .course-card:hover .course-cover img {
      transform: scale(1.09);
      opacity: .92;
    }
    .course-cover::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      background: linear-gradient(180deg, transparent 10%, rgba(16,16,17,.96));
    }
    .course-body {
      display: flex;
      flex-direction: column;
      min-height: 180px;
      padding: 0 22px 22px;
      margin-top: -44px;
      position: relative;
      z-index: 2;
    }
    .course-number {
      position: relative;
      overflow: hidden;
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius);
      color: #17120b;
      background: var(--gold);
      font-weight: 900;
      box-shadow: 0 12px 30px rgba(0,0,0,.36);
    }
    .course-number::after {
      content: var(--theme-symbol);
      position: absolute;
      right: 5px;
      bottom: 2px;
      color: rgba(0,0,0,.24);
      font-size: 16px;
      line-height: 1;
    }
    .course-card .module-top { align-items: center; }
    .course-card h3 { margin-top: 18px; }
    .lesson-card {
      position: relative;
      overflow: hidden;
      grid-template-columns: 92px 1fr auto;
      min-height: 136px;
      background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
    }
    .lesson-thumb {
      position: relative;
      width: 74px;
      height: 74px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #121214;
    }
    .lesson-thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(135deg, transparent, var(--theme-aura)),
        var(--theme-corner-pattern);
      opacity: .55;
      pointer-events: none;
      mix-blend-mode: screen;
    }
    .lesson-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .76;
    }
    .lesson-card.completed .lesson-thumb,
    .lesson-card.available .lesson-thumb { border-color: var(--line-strong); }
    .lesson-title-row {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      align-items: center;
      margin-bottom: 8px;
    }
    .lesson-mini-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }
    .lesson-mini-meta span {
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .lesson-launch {
      min-width: 118px;
    }

    /* Reader premium */
    .reader {
      grid-template-columns: minmax(0, 1fr) 330px;
    }
    .reader-main {
      position: relative;
      background: #0e0e10;
    }
    .reader-main::after {
      content: var(--theme-symbol);
      position: absolute;
      top: 18px;
      right: 20px;
      z-index: 3;
      color: var(--gold-2);
      font-size: 28px;
      opacity: .28;
      text-shadow: 0 0 24px var(--theme-aura);
      pointer-events: none;
    }
    .reader-progress-line {
      height: 5px;
      background: rgba(255,255,255,.06);
    }
    .reader-progress-line span {
      display: block;
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, var(--gold), var(--green));
    }
    .reader-cover {
      height: clamp(340px, 48vw, 560px);
    }
    .reader-cover::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 2;
      pointer-events: none;
      background:
        var(--theme-corner-pattern),
        var(--theme-card-texture),
        linear-gradient(90deg, var(--theme-aura), transparent 32%, transparent 68%, var(--theme-aura)),
        linear-gradient(180deg, var(--theme-aura), transparent 18%);
      opacity: .32;
    }
    .reader-cover img {
      transform: scale(1.02);
      animation: readerImageDrift 18s ease-in-out infinite alternate;
    }
    @keyframes readerImageDrift {
      from { transform: scale(1.02); }
      to { transform: scale(1.08) translateY(-8px); }
    }
    .reader-body {
      position: relative;
      max-width: 900px;
      margin: -84px auto 0;
      border-top: 1px solid rgba(216,173,99,.24);
      background: linear-gradient(180deg, rgba(14,14,16,.96), rgba(14,14,16,1));
    }
    .reader-body h1 {
      text-wrap: balance;
    }
    .reader-lead {
      margin: -12px 0 30px;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.65;
    }
    .reader-side .side-panel {
      background: rgba(17,17,19,.9);
      backdrop-filter: blur(16px);
    }
    .reader-module-map {
      display: grid;
      gap: 8px;
    }
    .map-item {
      display: grid;
      grid-template-columns: 28px 1fr;
      gap: 10px;
      align-items: center;
      min-height: 46px;
      padding: 9px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--muted);
      background: rgba(255,255,255,.025);
      text-align: left;
    }
    .map-item.active {
      color: var(--gold-2);
      border-color: var(--line-strong);
      background: rgba(216,173,99,.08);
    }
    .map-dot {
      width: 28px;
      height: 28px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      color: #17120b;
      background: var(--gold);
      font-size: 11px;
      font-weight: 900;
    }
    .map-item.locked .map-dot { color: var(--dim); background: rgba(255,255,255,.08); }
    .map-item.completed .map-dot { color: #07110c; background: var(--green); }
    .theme-preview-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      margin-top: 12px;
    }
    .theme-swatch {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: 32px 1fr;
      gap: 10px;
      align-items: center;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        radial-gradient(circle at 14% 10%, color-mix(in srgb, var(--theme-color, var(--gold)) 28%, transparent), transparent 28%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 16px),
        rgba(255,255,255,.025);
      color: var(--muted);
      text-align: left;
    }
    .theme-swatch::after {
      content: var(--swatch-symbol, var(--theme-symbol));
      position: absolute;
      right: 10px;
      top: 6px;
      color: var(--theme-color, var(--gold));
      font-size: 18px;
      opacity: .22;
      pointer-events: none;
      text-shadow: 0 0 14px currentColor;
    }
    .theme-swatch.active {
      border-color: var(--line-strong);
      color: var(--text);
      background:
        radial-gradient(circle at 14% 10%, color-mix(in srgb, var(--theme-color, var(--gold)) 34%, transparent), transparent 28%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 16px),
        rgba(255,255,255,.055);
    }
    .theme-swatch i {
      width: 32px;
      height: 32px;
      display: grid;
      place-items: center;
      border-radius: var(--radius);
      color: #17120b;
      background: var(--theme-color, var(--gold));
    }
    .theme-swatch strong {
      display: block;
      margin-bottom: 2px;
      color: inherit;
      font-size: 12px;
    }
    .theme-swatch span {
      display: block;
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    @media (max-width: 1100px) {
      .hero, .reader, .feed-layout, .admin-grid, .profile-grid, .lesson-layout { grid-template-columns: 1fr; }
      .module-aside, .reader-side { position: static; }
      .modules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .landing-hero-inner,
      .experience-grid { grid-template-columns: 1fr; }
      .hero-command { max-width: 620px; }
      .premium-experience { grid-template-columns: 1fr; }
      .premium-experience-copy { min-height: 380px; }
      .landing-stats,
      .process-lane,
      .academy-metrics,
      .landing-feature-grid,
      .persona-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .platform-showcase { grid-template-columns: 1fr; }
      .priest-section { grid-template-columns: 1fr; }
      .landing-section-header { align-items: start; flex-direction: column; }
    }
    @media (max-width: 820px) {
      .desktop-nav { display: none; }
      .mobile-menu-btn { display: none; }
      .actions { min-width: auto; }
      .user-chip { max-width: 130px; }
      body {
        background:
          linear-gradient(180deg, rgba(216,173,99,.045), transparent 260px),
          #070707;
        -webkit-tap-highlight-color: transparent;
      }
      main { padding: 14px 14px calc(170px + env(safe-area-inset-bottom)); }
      main > .view:not(#home-view) { padding-top: 22px; }
      .topbar {
        height: 72px;
        padding: 0 14px;
        border-bottom-color: rgba(255,255,255,.07);
      }
      .brand { min-width: auto; }
      .brand small { display: none; }
      .brand-mark {
        width: 38px;
        height: 38px;
      }
      .brand strong {
        max-width: 126px;
        font-size: 13px;
        line-height: 1.1;
        letter-spacing: .08em;
      }
      #login-btn {
        width: 40px;
        padding: 0;
        font-size: 0;
      }
      #login-btn i { font-size: 14px; }
      .user-chip {
        width: 40px;
        padding: 0;
        justify-content: center;
      }
      .user-chip span { display: none; }
      .mobile-app-nav {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: calc(10px + env(safe-area-inset-bottom));
        z-index: 60;
        min-height: 74px;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
        gap: 5px;
        padding: 8px;
        border: 1px solid rgba(255,255,255,.14);
        border-radius: 24px;
        background: rgba(11,11,12,.9);
        backdrop-filter: blur(24px) saturate(1.25);
        box-shadow: 0 18px 54px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.08);
      }
      .mobile-app-nav .nav-btn {
        min-height: 58px;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        padding: 0;
        border-radius: 18px;
        letter-spacing: 0;
        text-transform: none;
        font-size: 10px;
      }
      .mobile-app-nav .nav-btn i { font-size: 15px; }
      .mobile-app-nav .nav-btn.active {
        color: #17120b;
        background: linear-gradient(135deg, var(--gold-2), var(--gold));
        box-shadow: 0 10px 24px rgba(216,173,99,.18);
      }
      .mobile-panel { display: none !important; }
      footer { display: none; }
      .hero-copy { min-height: 520px; padding: 30px; }
      .hero-panel { grid-template-rows: 190px 1fr; }
      .section-title { align-items: start; flex-direction: column; }
      .section-title h2 { font-size: 32px; line-height: 1.04; }
      .modules-grid, .library-grid, .stats-grid, .form-grid { grid-template-columns: 1fr; }
      .lesson-card { grid-template-columns: auto 1fr; }
      .lesson-card .lesson-action { grid-column: 1 / -1; }
      .upload-row { grid-template-columns: 1fr; }
      #home-view {
        margin: -14px -14px 0;
        padding-bottom: 132px;
      }
      .landing-hero {
        min-height: 0;
        padding: 238px 16px 14px;
        align-items: end;
      }
      .landing-hero::before {
        inset: 84px 16px auto;
        height: 142px;
        border: 1px solid var(--line);
        border-radius: 18px;
        box-shadow: var(--shadow-soft);
        background:
          linear-gradient(180deg, rgba(5,5,5,.04), rgba(5,5,5,.54)),
          url("../assets/hero-coven-academy.jpg") center 38% / cover no-repeat;
        transform: none;
        animation: none;
      }
      .landing-hero::after,
      .landing-constellation { display: none; }
      .landing-copy { padding-bottom: 0; }
      .landing-copy h1 { font-size: 31px; line-height: 1.04; }
      .landing-copy p { font-size: 14.5px; line-height: 1.5; }
      .landing-actions { margin-top: 22px; gap: 10px; }
      .landing-hero .landing-actions { display: none; }
      .landing-actions .primary-btn,
      .landing-actions .quiet-btn { width: 100%; }
      .landing-proof { display: none; }
      .hero-command { display: none; }
      .mobile-study-hub {
        width: calc(100% - 32px);
        margin: 0 auto;
        display: grid;
        gap: 12px;
      }
      .mobile-hub-head {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 0 2px;
      }
      .mobile-hub-head span {
        color: var(--dim);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .14em;
        text-transform: uppercase;
      }
      .mobile-hub-head strong {
        max-width: 180px;
        color: var(--gold-2);
        text-align: right;
        font-size: 12px;
        line-height: 1.3;
      }
      .mobile-hub-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
      }
      .mobile-hub-actions .quiet-btn {
        min-height: 76px;
        flex-direction: column;
        gap: 8px;
        padding: 10px 6px;
        letter-spacing: 0;
        text-transform: none;
        font-size: 11px;
      }
      .mobile-hub-card {
        display: grid;
        grid-template-columns: 42px 1fr;
        gap: 12px;
        align-items: center;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: 16px;
        background: rgba(255,255,255,.035);
      }
      .mobile-hub-card i {
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border-radius: 13px;
        color: #17120b;
        background: var(--gold);
      }
      .mobile-hub-card span {
        display: block;
        color: var(--dim);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .12em;
        text-transform: uppercase;
      }
      .mobile-hub-card strong {
        display: block;
        margin-top: 4px;
        font-size: 14px;
        line-height: 1.35;
      }
      .landing-stats {
        width: calc(100% - 32px);
        max-width: calc(100% - 32px);
        margin-top: 14px;
        display: flex;
        gap: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 2px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        contain: paint;
      }
      .landing-stats::before { display: none; }
      .landing-stats::-webkit-scrollbar { display: none; }
      .landing-stats .stat-card {
        min-width: 142px;
        min-height: 108px;
        scroll-snap-align: start;
      }
      .landing-section {
        width: calc(100% - 32px);
        padding-top: 64px;
      }
      .landing-section-header h2 { font-size: 34px; }
      .landing-section-header p { font-size: 15px; }
      .experience-grid,
      .process-lane,
      .academy-metrics,
      .landing-feature-grid,
      .persona-grid,
      .platform-showcase,
      .premium-experience,
      .experience-orbit,
      .priest-section { grid-template-columns: 1fr; }
      .premium-experience {
        min-height: 0;
        padding: 12px;
        border-radius: 20px;
      }
      .premium-experience-copy {
        min-height: 330px;
        padding: 24px;
        border-radius: 16px;
      }
      .premium-experience-copy h2 {
        font-size: 30px;
        line-height: 1.05;
      }
      .premium-experience-copy p {
        font-size: 14.5px;
        line-height: 1.58;
      }
      .premium-checklist {
        display: grid;
        grid-template-columns: 1fr;
      }
      .orbit-card,
      .orbit-card-main {
        min-height: 154px;
        border-radius: 16px;
      }
      .orbit-card strong,
      .orbit-card-main strong {
        font-size: 20px;
        line-height: 1.18;
      }
      .orbit-lines {
        margin-top: 22px;
      }
      .experience-card,
      .experience-card.large { min-height: 260px; }
      .feature-card { min-height: 210px; }
      .showcase-copy {
        min-height: 360px;
        padding: 24px;
      }
      .showcase-copy h3 { font-size: 30px; }
      .preview-body { grid-template-columns: 1fr; }
      .preview-sidebar {
        border-right: 0;
        border-bottom: 1px solid var(--line);
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }
      .preview-window { min-height: 0; }
      .priest-photo { min-height: 430px; border-radius: 16px; }
      .priest-bio {
        min-height: 0;
        padding: 26px 22px;
        border-radius: 16px;
      }
      .priest-bio h2 { font-size: 34px; }
      .priest-bio p { font-size: 15px; }
      .cta-panel { padding: 28px; }
      .cta-panel h2 { font-size: 30px; line-height: 1.06; }
      .academy-hero {
        padding: 20px 18px;
        margin-bottom: 18px;
        border-radius: 16px;
      }
      .academy-metrics {
        display: flex;
        gap: 10px;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 2px;
        scrollbar-width: none;
        contain: paint;
      }
      .academy-metrics::-webkit-scrollbar { display: none; }
      .academy-metric {
        min-width: 154px;
        border-radius: 14px;
      }
      .toolbar {
        position: sticky;
        top: 72px;
        z-index: 12;
        margin: 0 -14px 18px;
        padding: 12px 14px;
        background: rgba(7,7,7,.92);
        backdrop-filter: blur(14px);
        border-bottom: 1px solid var(--line);
      }
      .segmented { width: 100%; overflow-x: auto; }
      .segmented { scrollbar-width: none; }
      .segmented::-webkit-scrollbar { display: none; }
      .segment { flex: 1; min-width: max-content; }
      .course-card {
        min-height: 0;
        border-radius: 16px;
      }
      .course-cover { height: 118px; }
      .course-body {
        min-height: 0;
        padding: 0 18px 18px;
      }
      .course-card h3 { font-size: 20px; }
      .lesson-card {
        grid-template-columns: 62px 1fr;
        min-height: 0;
        padding: 14px;
        border-radius: 16px;
      }
      .lesson-thumb {
        width: 54px;
        height: 54px;
      }
      .lesson-launch {
        width: 100%;
        min-width: 0;
      }
      .module-aside {
        border-radius: 16px;
        padding: 18px;
      }
      .reader-cover { height: 320px; }
      .reader-body {
        margin-top: -42px;
        padding: 26px 18px;
      }
      .reader-body h1 { font-size: 38px; }
      .reader-side {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 2px;
        scrollbar-width: none;
      }
      .reader-side::-webkit-scrollbar { display: none; }
      .reader-side .side-panel {
        min-width: 270px;
        border-radius: 16px;
      }
      .whatsapp-access-banner {
        grid-template-columns: 42px 1fr;
        gap: 12px;
        margin-top: 14px;
        padding: 12px;
        border-radius: 18px;
      }
      .whatsapp-access-banner > .fa-arrow-right { display: none; }
      .whatsapp-access-banner strong { font-size: 16px; }
      .whatsapp-access-banner small { font-size: 12px; }
      .whatsapp-orb {
        width: 42px;
        height: 42px;
        border-radius: 15px;
      }
      .lesson-layout { gap: 14px; }
      .lesson-list { gap: 12px; }
      .lesson-card {
        grid-template-columns: 74px minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        min-height: 0;
        padding: 12px;
        border-radius: 20px;
      }
      .lesson-card::after {
        right: 13px;
        top: 11px;
        font-size: 15px;
      }
      .lesson-card .lesson-action {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 8px;
      }
      .lesson-action .badge {
        justify-self: start;
        max-width: 100%;
        min-height: 26px;
        white-space: normal;
        line-height: 1.25;
      }
      .lesson-thumb {
        width: 68px;
        height: 68px;
        border-radius: 18px;
      }
      .lesson-thumb-index {
        left: 6px;
        top: 6px;
        min-width: 22px;
        height: 22px;
        font-size: 9px;
      }
      .lesson-title-row {
        display: block;
        margin-bottom: 6px;
      }
      .lesson-title-row .lesson-index { display: none; }
      .lesson-card h4 {
        padding-right: 22px;
        font-size: 16px;
        line-height: 1.25;
        overflow-wrap: anywhere;
      }
      .lesson-card p {
        font-size: 12.5px;
        line-height: 1.45;
      }
      .lesson-mini-meta {
        gap: 6px;
        margin-top: 10px;
      }
      .lesson-mini-meta span {
        font-size: 9px;
        line-height: 1.25;
        white-space: normal;
      }
      .lesson-launch,
      .whatsapp-btn {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        border-radius: 15px;
        text-align: center;
        letter-spacing: .04em;
      }
      .lesson-card.paid-locked {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 12px;
        border-color: rgba(37, 211, 102, .34);
        box-shadow: 0 16px 42px rgba(0,0,0,.26), 0 0 0 1px rgba(37,211,102,.06);
      }
      .lesson-card.paid-locked .lesson-thumb {
        width: 100%;
        height: 132px;
        border-radius: 18px;
      }
      .lesson-card.paid-locked .lesson-content { padding: 0 2px; }
      .reader-side {
        margin-bottom: 8px;
        padding-bottom: 8px;
      }
      .reader-side .side-panel { min-width: min(82vw, 330px); }
      .theme-preview-grid { grid-template-columns: 1fr; }
    }
    /* Platform upgrade layer */
    .global-search-trigger {
      min-width: 42px;
    }
    .event-spotlight,
    .student-hub,
    .trail-panel,
    .course-premium-hero,
    .library-toolbar,
    .journey-panel,
    .reader-next-card,
    .install-app-panel {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background:
        var(--theme-card-texture),
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
      box-shadow: var(--shadow-soft);
    }
    .event-spotlight::before,
    .student-hub::before,
    .trail-panel::before,
    .course-premium-hero::before,
    .library-toolbar::before,
    .journey-panel::before,
    .reader-next-card::before,
    .install-app-panel::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      border-radius: inherit;
      background: var(--theme-corner-pattern);
      opacity: .66;
    }
    .event-spotlight > *,
    .student-hub > *,
    .trail-panel > *,
    .course-premium-hero > *,
    .library-toolbar > *,
    .journey-panel > *,
    .reader-next-card > *,
    .install-app-panel > * {
      position: relative;
      z-index: 1;
    }
    .event-spotlight {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 18px;
      align-items: stretch;
      padding: 18px;
    }
    .event-media {
      min-height: 260px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: #111;
    }
    .event-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: .86;
    }
    .event-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 14px;
      padding: 18px;
    }
    .event-copy h3,
    .event-copy h2,
    .student-hub h3,
    .student-hub h2,
    .trail-panel h3,
    .trail-panel h2,
    .course-premium-hero h3,
    .course-premium-hero h2,
    .journey-panel h3,
    .journey-panel h2,
    .reader-next-card h3 {
      margin: 0;
      font-family: Cinzel, serif;
      line-height: 1.06;
    }
    .event-copy h2,
    .event-copy h3 { font-size: clamp(30px, 4vw, 52px); }
    .event-copy p,
    .student-hub p,
    .trail-panel p,
    .course-premium-hero p,
    .reader-next-card p,
    .install-app-panel p {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
    }
    .countdown-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .countdown-box {
      min-height: 64px;
      display: grid;
      place-items: center;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(0,0,0,.22);
      text-align: center;
    }
    .countdown-box strong {
      display: block;
      color: var(--gold-2);
      font-size: 22px;
      line-height: 1;
    }
    .countdown-box span {
      display: block;
      margin-top: 6px;
      color: var(--dim);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .student-hub {
      padding: 22px;
    }
    .student-hub-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
    }
    .student-hub-grid {
      display: grid;
      grid-template-columns: 1.1fr .9fr .9fr;
      gap: 14px;
      margin-top: 18px;
    }
    .hub-tile {
      min-height: 132px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(0,0,0,.2);
    }
    .hub-tile strong {
      display: block;
      margin: 8px 0;
      font-size: 20px;
      line-height: 1.18;
    }
    .hub-tile span,
    .trail-card span,
    .course-stat span,
    .journey-metric span {
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .next-step-panel,
    .question-board,
    .checkin-panel,
    .reader-comfort-panel,
    .lesson-workbook,
    .admin-radar,
    .admin-inbox {
      position: relative;
      overflow: hidden;
      border: 1px solid color-mix(in srgb, var(--gold) 22%, var(--line));
      border-radius: 22px;
      background:
        radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
      box-shadow: var(--shadow);
    }
    .next-step-panel {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
      gap: 20px;
      padding: clamp(22px, 4vw, 34px);
      align-items: stretch;
    }
    .next-step-main {
      display: grid;
      gap: 14px;
      align-content: center;
    }
    .next-step-main h2 {
      margin: 0;
      font-family: Cinzel, Georgia, serif;
      font-size: clamp(30px, 4vw, 54px);
      line-height: 1.02;
    }
    .next-step-main p {
      max-width: 760px;
      margin: 0;
      color: var(--muted);
      line-height: 1.7;
    }
    .next-step-meta,
    .next-step-actions,
    .question-toolbar,
    .reader-comfort-actions,
    .workbook-actions,
    .status-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .next-step-meta span,
    .status-pill {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 34px;
      padding: 8px 11px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--muted);
      background: rgba(0,0,0,.22);
      font-size: 12px;
      font-weight: 800;
    }
    .next-step-side,
    .question-form,
    .question-list,
    .workbook-meta,
    .radar-grid {
      display: grid;
      gap: 10px;
    }
    .next-step-card {
      min-height: 98px;
      padding: 15px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(0,0,0,.24);
    }
    .next-step-card span,
    .question-card span,
    .workbook-meta span,
    .radar-item span,
    .admin-inbox-item span {
      display: block;
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .next-step-card strong {
      display: block;
      margin-top: 7px;
      font-size: 16px;
      line-height: 1.35;
    }
    .next-step-card small {
      display: block;
      margin-top: 5px;
      color: var(--muted);
      line-height: 1.45;
    }
    .reader-comfort-panel,
    .lesson-workbook,
    .checkin-panel {
      display: grid;
      gap: 12px;
      padding: 16px;
    }
    body.reader-clean[data-active-view="reader-view"] .reader-cover,
    body.reader-clean[data-active-view="reader-view"] .reader-side,
    body.reader-clean[data-active-view="reader-view"] .reader-progress-line,
    body.reader-clean[data-active-view="reader-view"] header,
    body.reader-clean[data-active-view="reader-view"] .mobile-tabbar,
    body.reader-clean[data-active-view="reader-view"] .mobile-app-nav,
    body.reader-clean[data-active-view="reader-view"] .mobile-panel {
      display: none !important;
    }
    body.reader-clean[data-active-view="reader-view"] .reader {
      grid-template-columns: minmax(0, 860px);
      justify-content: center;
    }
    body.reader-clean[data-active-view="reader-view"] .reader-main {
      box-shadow: none;
      border-color: transparent;
      background: #070707;
    }
    body.reader-font-large #reader-content { font-size: 1.12em; }
    body.reader-font-larger #reader-content { font-size: 1.24em; }
    .lesson-workbook textarea,
    .question-form textarea {
      min-height: 92px;
    }
    .workbook-highlight-list {
      display: grid;
      gap: 8px;
      max-height: 180px;
      overflow: auto;
    }
    .workbook-highlight {
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 12px;
      color: var(--muted);
      background: rgba(0,0,0,.22);
      font-size: 13px;
      line-height: 1.5;
    }
    .question-board {
      display: grid;
      grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
      gap: 18px;
      padding: clamp(18px, 3vw, 26px);
    }
    .question-card,
    .radar-item,
    .admin-inbox-item {
      display: grid;
      gap: 10px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(0,0,0,.23);
    }
    .question-card strong {
      font-size: 17px;
      line-height: 1.35;
    }
    .question-card p,
    .admin-inbox-item p {
      margin: 0;
      color: var(--muted);
      line-height: 1.58;
    }
    .question-answer {
      padding: 12px;
      border-left: 3px solid var(--gold);
      border-radius: 10px;
      background: rgba(216,173,99,.08);
    }
    .checkin-options {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .checkin-options label {
      display: grid;
      place-items: center;
      min-height: 46px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 12px;
      color: var(--muted);
      background: rgba(0,0,0,.22);
      cursor: pointer;
      text-align: center;
      font-size: 13px;
      font-weight: 800;
    }
    .checkin-options input { display: none; }
    .checkin-options label:has(input:checked) {
      color: #12100d;
      border-color: var(--gold);
      background: linear-gradient(135deg, var(--gold), var(--gold-2));
    }
    .radar-item {
      grid-template-columns: 34px minmax(0, 1fr) auto;
      align-items: center;
    }
    .radar-item i {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      color: var(--gold-2);
      background: rgba(216,173,99,.1);
    }
    .trail-panel {
      margin: 20px 0 18px;
      padding: 20px;
      max-width: 100%;
    }
    .trail-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      margin-top: 14px;
      max-width: 100%;
    }
    .trail-card {
      min-height: 148px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--text);
      background: rgba(0,0,0,.2);
      text-align: left;
    }
    .trail-card.active,
    .trail-card:hover {
      border-color: var(--line-strong);
      background: rgba(216,173,99,.08);
      transform: translateY(-2px);
    }
    .trail-card i {
      color: var(--gold-2);
      font-size: 18px;
    }
    .trail-card strong {
      display: block;
      margin: 16px 0 8px;
      font-family: Cinzel, serif;
      font-size: 20px;
    }
    .course-premium-hero {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 18px;
      align-items: end;
      margin-bottom: 18px;
      padding: 22px;
    }
    .course-premium-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .course-stat-grid,
    .journey-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-top: 16px;
    }
    .course-stat,
    .journey-metric {
      min-height: 76px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(0,0,0,.2);
    }
    .course-stat strong,
    .journey-metric strong {
      display: block;
      font-size: 26px;
      line-height: 1.1;
    }
    .library-toolbar {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 12px;
      align-items: center;
      margin-bottom: 22px;
      padding: 14px;
    }
    .library-actions,
    .reader-inline-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .reader-next-card {
      margin-top: 34px;
      padding: 18px;
    }
    .chapter-list {
      display: grid;
      gap: 8px;
    }
    .chapter-link {
      min-height: 38px;
      display: flex;
      align-items: center;
      gap: 9px;
      padding: 8px 10px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      color: var(--muted);
      background: rgba(255,255,255,.025);
      font-size: 12px;
      text-align: left;
    }
    .chapter-link:hover {
      color: var(--gold-2);
      border-color: var(--line-strong);
    }
    .journey-panel {
      padding: 20px;
      margin-bottom: 18px;
    }
    .journey-timeline {
      display: grid;
      gap: 10px;
      margin-top: 16px;
    }
    .timeline-item {
      display: grid;
      grid-template-columns: 34px 1fr;
      gap: 10px;
      align-items: start;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(0,0,0,.18);
    }
    .timeline-dot {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      color: #17120b;
      background: var(--gold);
    }
    .book-card { position: relative; }
    .book-open {
      display: flex;
      flex: 1;
      min-height: 0;
      flex-direction: column;
    }
    .book-favorite,
    .lesson-favorite {
      min-height: 34px;
      padding: 0 11px;
      border-radius: 999px;
      font-size: 11px;
      letter-spacing: .04em;
    }
    .book-favorite {
      align-self: flex-start;
      margin: 0 14px 14px;
    }
    .book-favorite.active,
    .lesson-favorite.active {
      color: #17120b;
      background: linear-gradient(135deg, var(--gold-2), var(--gold));
      border-color: transparent;
    }
    .search-modal-card {
      width: min(760px, calc(100% - 28px));
    }
    .app-install-card {
      width: min(460px, calc(100% - 28px));
      text-align: center;
    }
    .app-install-logo {
      width: 96px;
      height: 96px;
      display: block;
      margin: 0 auto 18px;
      border: 1px solid var(--line-strong);
      border-radius: 24px;
      object-fit: cover;
      box-shadow: 0 18px 48px rgba(216,173,99,.18);
    }
    .app-install-card p {
      color: var(--muted);
      line-height: 1.65;
      margin: 10px 0 0;
    }
    .app-install-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-top: 20px;
    }
    .app-install-help {
      min-height: 0;
      margin-top: 14px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.025);
      color: var(--muted);
      line-height: 1.55;
      font-size: 13px;
    }
    .global-results {
      display: grid;
      gap: 10px;
      max-height: min(62vh, 560px);
      overflow: auto;
      margin-top: 14px;
      padding-right: 4px;
    }
    .global-result {
      display: grid;
      grid-template-columns: 42px 1fr auto;
      gap: 12px;
      align-items: center;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.025);
      text-align: left;
    }
    .global-result span {
      display: grid;
      gap: 4px;
    }
    .global-result small {
      color: var(--dim);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .global-result i {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      color: var(--gold-2);
      background: rgba(216,173,99,.08);
    }
    .event-admin-list {
      display: grid;
      gap: 8px;
      margin-top: 14px;
    }
    .crm-metrics,
    .student-detail-metrics {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin: 14px 0;
    }
    .crm-metric,
    .student-detail-metric {
      min-height: 78px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(0,0,0,.2);
    }
    .crm-metric span,
    .student-detail-metric span,
    .admin-lesson-meta {
      display: block;
      color: var(--dim);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .crm-metric strong,
    .student-detail-metric strong {
      display: block;
      margin-top: 7px;
      font-size: 24px;
      line-height: 1.05;
    }
    .crm-toolbar {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
      align-items: center;
      margin: 12px 0;
    }
    .crm-student-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 10px;
      align-items: center;
    }
    .student-progress-mini {
      width: min(180px, 100%);
      height: 7px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255,255,255,.08);
    }
    .student-progress-mini span {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--gold), var(--green));
    }
    .student-lessons-list {
      display: grid;
      gap: 8px;
      max-height: 260px;
      overflow: auto;
      margin: 8px 0 16px;
    }
    .student-password-panel {
      display: grid;
      gap: 12px;
      margin: 0 0 16px;
      padding: 16px;
      border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--line));
      border-radius: var(--radius);
      background:
        radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 34%),
        rgba(0,0,0,.22);
    }
    .student-password-panel h3 {
      margin: 4px 0 6px;
      font-size: 18px;
    }
    .student-password-panel p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
    }
    .student-password-actions {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .admin-lessons-list {
      display: grid;
      gap: 8px;
      margin-top: 12px;
      max-height: 420px;
      overflow: auto;
      padding-right: 4px;
    }
    .pdf-export-panel {
      display: grid;
      gap: 14px;
    }
    .pdf-export-summary {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
    .pdf-export-summary .crm-metric {
      margin: 0;
    }
    .pdf-export-document {
      width: 794px;
      padding: 52px;
      background: #fbf8f1;
      color: #17130f;
      font-family: Georgia, "Times New Roman", serif;
    }
    .pdf-export-document * {
      box-sizing: border-box;
    }
    .pdf-cover {
      min-height: 980px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border: 2px solid #b88a3a;
      padding: 56px;
      text-align: center;
      page-break-after: always;
    }
    .pdf-cover img {
      width: 126px;
      height: 126px;
      object-fit: cover;
      border-radius: 28px;
      margin: 0 auto 28px;
    }
    .pdf-cover h1 {
      margin: 0;
      font-family: Georgia, "Times New Roman", serif;
      font-size: 42px;
      line-height: 1.12;
    }
    .pdf-cover p,
    .pdf-toc p,
    .pdf-lesson-meta {
      color: #6f6254;
      line-height: 1.65;
    }
    .pdf-toc {
      page-break-after: always;
    }
    .pdf-toc h2,
    .pdf-lesson h2 {
      margin: 0 0 18px;
      color: #17130f;
      font-size: 30px;
      line-height: 1.15;
    }
    .pdf-toc ol {
      padding-left: 22px;
      line-height: 1.8;
    }
    .pdf-lesson {
      page-break-before: always;
      padding-top: 12px;
    }
    .pdf-lesson:first-of-type {
      page-break-before: auto;
    }
    .pdf-lesson h1,
    .pdf-lesson h2,
    .pdf-lesson h3 {
      color: #17130f;
      font-family: Georgia, "Times New Roman", serif;
      page-break-after: avoid;
    }
    .pdf-content {
      color: #24201b;
      font-size: 15px;
      line-height: 1.72;
    }
    .pdf-content img {
      max-width: 100%;
      height: auto;
      margin: 18px auto;
      border-radius: 8px;
      page-break-inside: avoid;
    }
    .pdf-content figure {
      margin: 18px 0;
      page-break-inside: avoid;
    }
    .install-app-panel {
      display: none;
      gap: 12px;
      align-items: center;
      margin-top: 14px;
      padding: 14px;
    }
    body.pwa-ready .install-app-panel { display: flex; }

    /* Home redesign */
    #home-view {
      background:
        linear-gradient(180deg, rgba(5,5,5,0) 0, #050505 780px),
        #050505;
    }
    .landing {
      background:
        radial-gradient(circle at 50% -10%, rgba(216,173,99,.08), transparent 34%),
        linear-gradient(180deg, #030303, #070707 36%, #050505);
    }
    body.landing-reveal-ready #home-view .landing-section,
    body.landing-reveal-ready #home-view .landing-stats,
    body.landing-reveal-ready #home-view .hero-live-card,
    body.landing-reveal-ready #home-view .hero-pathway article,
    body.landing-reveal-ready #home-view .mobile-study-hub {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity .72s ease, transform .72s cubic-bezier(.2,.7,.2,1);
    }
    body.landing-reveal-ready #home-view .hero-pathway article:nth-child(2) { transition-delay: .08s; }
    body.landing-reveal-ready #home-view .hero-pathway article:nth-child(3) { transition-delay: .16s; }
    body.landing-reveal-ready #home-view .landing-section.is-visible,
    body.landing-reveal-ready #home-view .landing-stats.is-visible,
    body.landing-reveal-ready #home-view .hero-live-card.is-visible,
    body.landing-reveal-ready #home-view .hero-pathway article.is-visible,
    body.landing-reveal-ready #home-view .mobile-study-hub.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    .landing-hero {
      min-height: calc(100svh - 18px);
      align-items: center;
      padding: 74px 28px 112px;
    }
    .landing-hero::before {
      background:
        linear-gradient(90deg, rgba(3,3,3,.96) 0%, rgba(3,3,3,.84) 38%, rgba(3,3,3,.42) 68%, rgba(3,3,3,.2) 100%),
        linear-gradient(180deg, rgba(3,3,3,.06), #050505 100%),
        url("../assets/hero-coven-academy.jpg") center right 14% / cover no-repeat;
      filter: saturate(1.04) contrast(1.08);
    }
    .landing-hero::after {
      background:
        linear-gradient(115deg, transparent 0 34%, rgba(216, 173, 99, .11) 35%, transparent 36% 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.032) 0 1px, transparent 1px 116px),
        repeating-linear-gradient(0deg, rgba(138,180,255,.026) 0 1px, transparent 1px 148px);
      opacity: .74;
    }
    .hero-veil {
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      background:
        linear-gradient(180deg, transparent 0 68%, rgba(5,5,5,.86) 100%),
        radial-gradient(ellipse at 28% 50%, rgba(216,173,99,.12), transparent 34%),
        radial-gradient(ellipse at 76% 28%, rgba(106,157,120,.10), transparent 28%);
      mix-blend-mode: screen;
      opacity: .9;
    }
    .landing-constellation {
      opacity: .9;
      background-image:
        radial-gradient(circle at 12% 20%, rgba(240, 207, 138, .72) 0 1px, transparent 2px),
        radial-gradient(circle at 26% 74%, rgba(255, 255, 255, .48) 0 1px, transparent 2px),
        radial-gradient(circle at 55% 18%, rgba(138, 180, 255, .54) 0 1px, transparent 2px),
        radial-gradient(circle at 74% 66%, rgba(159, 183, 168, .48) 0 1px, transparent 2px),
        radial-gradient(circle at 90% 36%, rgba(240, 207, 138, .44) 0 1px, transparent 2px);
    }
    .landing-hero-inner {
      position: relative;
      grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);
      gap: clamp(28px, 6vw, 84px);
      align-items: center;
      transform: translateY(-18px);
    }
    .landing-copy {
      max-width: 820px;
    }
    .landing-copy .eyebrow {
      color: var(--gold-2);
      text-shadow: 0 0 28px rgba(216,173,99,.38);
    }
    .landing-copy h1 {
      max-width: 860px;
      margin: 16px 0 20px;
      font-size: clamp(42px, 4.4vw, 58px);
      line-height: .95;
      letter-spacing: 0;
    }
    .landing-copy p {
      max-width: 690px;
      font-size: clamp(16px, 1.2vw, 18px);
      color: #e2d8cd;
    }
    .landing-hero .landing-actions {
      display: flex;
      margin-top: 30px;
    }
    .landing-proof {
      margin-top: 18px;
    }
    .proof-pill {
      min-height: 38px;
      padding: 0 14px;
      border-color: rgba(216,173,99,.22);
      background: rgba(0,0,0,.38);
    }
    .hero-command {
      align-self: center;
      display: grid;
      gap: 14px;
      justify-content: stretch;
    }
    .hero-portal {
      position: relative;
      min-height: 244px;
      display: grid;
      place-items: center;
      isolation: isolate;
    }
    .portal-ring,
    .portal-ring span {
      position: absolute;
      inset: 16px;
      border-radius: 999px;
      border: 1px solid rgba(216,173,99,.22);
    }
    .portal-ring {
      background:
        repeating-conic-gradient(from 24deg, rgba(216,173,99,.24) 0 2deg, transparent 2deg 18deg),
        radial-gradient(circle, rgba(5,5,5,.08), rgba(5,5,5,.72));
      animation: portalTurn 34s linear infinite;
      box-shadow: inset 0 0 60px rgba(216,173,99,.08), 0 24px 80px rgba(0,0,0,.45);
    }
    .portal-ring span:nth-child(1) {
      inset: 28px;
      border-color: rgba(138,180,255,.2);
      animation: portalTurn 26s linear infinite reverse;
    }
    .portal-ring span:nth-child(2) {
      inset: 50px;
      border-style: dashed;
      border-color: rgba(159,183,168,.25);
      animation: portalTurn 22s linear infinite;
    }
    .portal-ring span:nth-child(3) {
      inset: 76px;
      border-color: rgba(240,207,138,.25);
    }
    @keyframes portalTurn {
      to { transform: rotate(360deg); }
    }
    .portal-center {
      position: relative;
      z-index: 2;
      width: 150px;
      aspect-ratio: 1;
      display: grid;
      place-items: center;
      text-align: center;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 999px;
      background: rgba(5,5,5,.62);
      backdrop-filter: blur(18px);
      box-shadow: 0 22px 70px rgba(0,0,0,.48);
    }
    .portal-center img {
      width: 48px;
      height: 48px;
      object-fit: contain;
      margin-bottom: 4px;
    }
    .portal-center strong {
      font-family: Cinzel, serif;
      font-size: 16px;
      line-height: 1.05;
    }
    .portal-center small {
      color: var(--muted);
      font-size: 11px;
      line-height: 1.35;
    }
    .hero-stats-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      padding: 7px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 16px;
      background: rgba(5,5,5,.55);
      backdrop-filter: blur(20px);
    }
    .hero-stat {
      min-height: 66px;
      display: grid;
      align-content: center;
      gap: 5px;
      padding: 12px;
      border-radius: 12px;
      background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      text-align: center;
    }
    .hero-stat span {
      color: var(--dim);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .11em;
      text-transform: uppercase;
    }
    .hero-stat strong {
      color: var(--gold-2);
      font-size: 21px;
      line-height: 1;
    }
    .hero-live-card {
      position: relative;
      overflow: hidden;
      padding: 15px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 18px;
      background:
        linear-gradient(135deg, rgba(216,173,99,.11), transparent 48%),
        rgba(5,5,5,.52);
      backdrop-filter: blur(18px);
      box-shadow: 0 18px 60px rgba(0,0,0,.32);
    }
    .hero-live-card::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(216,173,99,.5), transparent 28%, transparent 72%, rgba(138,180,255,.28)) top / 100% 1px no-repeat,
        repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 18px);
      opacity: .62;
    }
    .hero-live-card > * {
      position: relative;
      z-index: 1;
    }
    .hero-live-card span {
      display: block;
      color: var(--gold-2);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .hero-live-card strong {
      display: block;
      margin-top: 8px;
      font-family: Cinzel, serif;
      font-size: 17px;
      line-height: 1.12;
    }
    .hero-live-card small {
      display: block;
      margin-top: 7px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }
    .command-panel {
      display: none;
    }
    .hero-pathway {
      position: absolute;
      left: max(28px, calc((100% - 1200px) / 2));
      right: max(28px, calc((100% - 1200px) / 2));
      bottom: 18px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      z-index: 3;
    }
    .hero-pathway article {
      min-height: 84px;
      padding: 14px 16px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 16px;
      background: rgba(8,8,9,.58);
      backdrop-filter: blur(18px);
    }
    .hero-pathway span {
      display: block;
      color: var(--gold-2);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .hero-pathway strong {
      display: block;
      margin-top: 9px;
      font-size: 16px;
      line-height: 1.2;
    }
    .hero-pathway small {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      line-height: 1.38;
    }
    .landing-stats {
      margin: 18px auto 0;
      transform: translateY(-22px);
    }
    .landing-stats::before {
      background:
        linear-gradient(180deg, rgba(8,8,9,.88), rgba(8,8,9,.62)),
        var(--theme-card-texture);
    }
    .next-step-panel {
      border-radius: 24px;
      background:
        linear-gradient(135deg, rgba(216,173,99,.12), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
    }
    .landing-section:nth-of-type(4) .landing-section-header {
      padding: 24px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255,255,255,.025);
    }
    .coven-overview-section {
      padding-top: 72px;
    }
    .coven-overview {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: 18px;
      align-items: stretch;
      padding: 18px;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 24px;
      background:
        linear-gradient(135deg, rgba(216,173,99,.1), transparent 46%),
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
      box-shadow: var(--shadow-soft);
    }
    .coven-overview::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(216,173,99,.44), transparent 22%, transparent 78%, rgba(138,180,255,.28)) top / 100% 1px no-repeat,
        linear-gradient(90deg, rgba(126,217,167,.24), transparent 26%, transparent 74%, rgba(216,173,99,.36)) bottom / 100% 1px no-repeat,
        repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 1px, transparent 1px 84px);
      opacity: .72;
    }
    .coven-overview > * {
      position: relative;
      z-index: 1;
    }
    .coven-overview-copy {
      min-height: 460px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 34px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 18px;
      background:
        linear-gradient(180deg, rgba(5,5,5,.08), rgba(5,5,5,.88)),
        url("../assets/hero-coven-academy.jpg") center / cover no-repeat;
    }
    .coven-overview-copy h2 {
      max-width: 620px;
      margin: 10px 0 14px;
      font-family: Cinzel, serif;
      font-size: 48px;
      line-height: 1;
      text-wrap: balance;
    }
    .coven-overview-copy p {
      max-width: 560px;
      margin: 0;
      color: #ded4ca;
      font-size: 17px;
      line-height: 1.7;
    }
    .overview-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 24px;
    }
    .coven-flow {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .coven-flow::before {
      content: "";
      position: absolute;
      left: 50%;
      top: 28px;
      bottom: 28px;
      width: 1px;
      background: linear-gradient(180deg, transparent, rgba(216,173,99,.36), transparent);
      opacity: .82;
    }
    .coven-flow article {
      position: relative;
      overflow: hidden;
      min-height: 224px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 18px;
      background:
        var(--theme-card-texture),
        rgba(10,10,12,.72);
      transition: transform .22s ease, border-color .22s ease, background .22s ease;
    }
    .coven-flow article:hover {
      transform: translateY(-4px);
      border-color: var(--line-strong);
      background:
        var(--theme-card-texture),
        rgba(216,173,99,.07);
    }
    .coven-flow article::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: var(--theme-corner-pattern);
      opacity: .48;
    }
    .coven-flow article > * {
      position: relative;
      z-index: 1;
    }
    .coven-flow i {
      position: absolute;
      top: 18px;
      right: 18px;
      color: var(--gold-2);
      font-size: 24px;
      opacity: .72;
    }
    .coven-flow span {
      color: var(--gold);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .coven-flow strong {
      display: block;
      margin-top: 10px;
      font-family: Cinzel, serif;
      font-size: 24px;
      line-height: 1.05;
    }
    .coven-flow small {
      display: block;
      margin-top: 9px;
      color: var(--muted);
      line-height: 1.5;
    }
    .rhythm-board {
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 24px;
      align-items: stretch;
      padding: 28px;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 24px;
      background:
        linear-gradient(115deg, rgba(216,173,99,.12), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.016));
      box-shadow: var(--shadow-soft);
    }
    .rhythm-board::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(ellipse at 16% 0%, rgba(216,173,99,.16), transparent 28%),
        linear-gradient(90deg, transparent, rgba(255,255,255,.04), transparent);
      opacity: .9;
    }
    .rhythm-board-copy,
    .rhythm-columns {
      position: relative;
      z-index: 1;
    }
    .rhythm-board-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 360px;
      padding: 24px;
    }
    .rhythm-board-copy h2 {
      margin: 10px 0 14px;
      font-family: Cinzel, serif;
      font-size: 48px;
      line-height: 1;
      text-wrap: balance;
    }
    .rhythm-board-copy p {
      margin: 0;
      color: #d8d0c6;
      font-size: 17px;
      line-height: 1.75;
    }
    .rhythm-columns {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }
    .rhythm-columns article {
      min-height: 172px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 20px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 18px;
      background:
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
        rgba(0,0,0,.2);
      transition: transform .22s ease, border-color .22s ease;
    }
    .rhythm-columns article:hover {
      transform: translateY(-4px);
      border-color: var(--line-strong);
    }
    .rhythm-columns span {
      color: var(--gold-2);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    .rhythm-columns strong {
      max-width: 320px;
      font-size: 18px;
      line-height: 1.35;
    }

    @media (max-width: 980px) {
      .landing-hero {
        min-height: auto;
        padding: 92px 18px 24px;
        align-items: end;
      }
      .landing-hero::before {
        background:
          linear-gradient(180deg, rgba(3,3,3,.34) 0%, rgba(3,3,3,.82) 52%, #050505 100%),
          url("../assets/hero-coven-academy.jpg") center 28% / cover no-repeat;
      }
      .landing-hero::after,
      .hero-veil {
        opacity: .58;
      }
      .landing-hero-inner {
        grid-template-columns: 1fr;
        gap: 22px;
        transform: none;
      }
      .landing-copy h1 {
        font-size: clamp(38px, 11vw, 58px);
        line-height: .95;
      }
      .landing-copy p {
        font-size: 16px;
        line-height: 1.55;
      }
      .landing-hero .landing-actions {
        display: grid;
        grid-template-columns: 1fr;
      }
      .landing-proof {
        display: grid;
        grid-template-columns: 1fr;
      }
      .hero-command {
        display: none;
      }
      .hero-pathway {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: min(100%, 1200px);
        margin: 28px auto 0;
        grid-template-columns: 1fr;
      }
      .hero-pathway article {
        min-height: 86px;
      }
      .landing-stats {
        transform: none;
        margin-top: 18px;
      }
      .coven-overview,
      .rhythm-board {
        grid-template-columns: 1fr;
      }
      .coven-overview-copy,
      .rhythm-board-copy {
        min-height: 340px;
      }
    }
    @media (max-width: 820px) {
      .global-search-trigger {
        display: grid;
      }
      .event-spotlight,
      .next-step-panel,
      .question-board,
      .student-hub-grid,
      .course-premium-hero,
      .course-premium-grid,
      .library-toolbar {
        grid-template-columns: 1fr;
      }
      .student-hub-head {
        align-items: flex-start;
        flex-direction: column;
      }
      .event-spotlight {
        padding: 12px;
        border-radius: 20px;
      }
      .event-media { min-height: 180px; border-radius: 18px; }
      .event-copy { padding: 8px 4px 4px; }
      .countdown-grid { grid-template-columns: repeat(4, minmax(58px, 1fr)); overflow-x: auto; }
      .trail-grid {
        display: flex;
        gap: 10px;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        contain: paint;
      }
      .trail-grid::-webkit-scrollbar { display: none; }
      .trail-card { min-width: 220px; border-radius: 18px; }
      .student-hub,
      .trail-panel,
      .course-premium-hero,
      .library-toolbar,
      .journey-panel,
      .reader-next-card {
        border-radius: 20px;
      }
      .student-hub-grid,
      .course-stat-grid,
      .journey-metrics,
      .crm-metrics,
      .student-detail-metrics,
      .crm-toolbar,
      .pdf-export-summary,
      .student-password-actions,
      .checkin-options,
      .student-password-actions {
        grid-template-columns: 1fr;
      }
      .next-step-panel { border-radius: 20px; padding: 18px; }
      .next-step-actions,
      .reader-comfort-actions,
      .workbook-actions,
      .question-toolbar {
        display: grid;
        grid-template-columns: 1fr;
      }
      .radar-item {
        grid-template-columns: 34px 1fr;
      }
      .radar-item .badge {
        grid-column: 1 / -1;
        justify-self: start;
      }
      .library-actions,
      .reader-inline-actions {
        display: grid;
        grid-template-columns: 1fr;
      }
      .global-result {
        grid-template-columns: 38px 1fr;
      }
      .global-result .badge { grid-column: 1 / -1; justify-self: start; }
      .app-install-actions {
        grid-template-columns: 1fr;
      }
    }

/* Final home mobile override */
@media (max-width: 820px) {
  .landing-hero {
    min-height: auto;
    padding: 92px 18px 24px;
    align-items: end;
  }
  .landing-hero::before {
    background:
      linear-gradient(180deg, rgba(3,3,3,.34) 0%, rgba(3,3,3,.84) 52%, #050505 100%),
      url("../assets/hero-coven-academy.jpg") center 28% / cover no-repeat;
  }
  .landing-hero .landing-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 18px;
  }
  .landing-copy h1 {
    font-size: 34px;
    line-height: 1.04;
  }
  .landing-copy p {
    font-size: 14px;
    line-height: 1.52;
  }
  .landing-hero .landing-actions .quiet-btn {
    display: none;
  }
  .landing-proof {
    display: none;
  }
  .hero-command {
    display: none;
  }
  .hero-pathway {
    display: none;
  }
  .landing-stats {
    transform: none;
    margin-top: 18px;
  }
  .coven-overview-section {
    padding-top: 44px;
  }
  .coven-overview,
  .rhythm-board {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px;
    border-radius: 20px;
  }
  .coven-overview-copy,
  .rhythm-board-copy {
    min-height: 330px;
    padding: 22px;
    border-radius: 16px;
  }
  .coven-overview-copy h2,
  .rhythm-board-copy h2 {
    font-size: 30px;
    line-height: 1.05;
  }
  .coven-overview-copy p,
  .rhythm-board-copy p {
    font-size: 14.5px;
    line-height: 1.58;
  }
  .overview-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .coven-flow,
  .rhythm-columns {
    grid-template-columns: 1fr;
  }
  .coven-flow::before {
    left: 28px;
    top: 20px;
    bottom: 20px;
  }
  .coven-flow article,
  .rhythm-columns article {
    min-height: 150px;
    border-radius: 16px;
  }
  .coven-flow strong {
    font-size: 21px;
  }
  .rhythm-columns strong {
    font-size: 16px;
  }
}

/* Lesson experience rebuild */
#academy-view,
#module-view,
#reader-view {
  isolation: isolate;
}
.academy-shell,
.module-shell {
  display: grid;
  gap: 24px;
}
.academy-hero-pro {
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
  gap: 22px;
  align-items: stretch;
  padding: 22px;
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(5,5,5,.94), rgba(5,5,5,.7) 54%, rgba(5,5,5,.36)),
    url("../assets/hero-coven-academy.jpg") center right / cover no-repeat;
}
.academy-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 386px;
  padding: clamp(24px, 4vw, 42px);
}
.academy-hero-copy h2 {
  max-width: 780px;
  margin: 10px 0 16px;
  font-family: Cinzel, serif;
  font-size: clamp(42px, 6vw, 74px);
  line-height: .92;
  text-wrap: balance;
}
.academy-hero-copy p {
  max-width: 680px;
  margin: 0;
  color: #ded5cb;
  font-size: 18px;
  line-height: 1.68;
}
.academy-hero-actions,
.module-stage-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}
.academy-command-center {
  display: grid;
  align-content: end;
  gap: 12px;
}
.academy-hero-pro .academy-metrics {
  grid-template-columns: 1fr;
  margin-top: 0;
}
.academy-hero-pro .academy-metric {
  min-height: 104px;
  border-radius: 18px;
  backdrop-filter: blur(18px);
}
.academy-hero-pro .academy-metric strong {
  font-size: 34px;
}
.academy-panels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 18px;
  align-items: stretch;
}
.academy-trails,
.academy-focus-card,
.academy-toolbar {
  border-radius: 24px;
}
.academy-focus-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 280px;
  padding: 24px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 82% 10%, rgba(138,180,255,.12), transparent 34%),
    var(--theme-card-texture),
    rgba(13,13,15,.82);
  box-shadow: var(--shadow-soft);
}
.academy-focus-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--theme-corner-pattern);
  opacity: .62;
}
.academy-focus-card > * {
  position: relative;
  z-index: 1;
}
.academy-focus-card h3 {
  margin: 10px 0 12px;
  font-family: Cinzel, serif;
  font-size: 27px;
  line-height: 1.08;
}
.academy-focus-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}
.focus-steps {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}
.focus-steps span,
.course-insight-row span,
.module-stage-pill,
.reader-study-strip span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(0,0,0,.24);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.academy-toolbar {
  position: sticky;
  top: 88px;
  z-index: 15;
  margin-top: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(8,8,9,.86);
  backdrop-filter: blur(18px);
}
.academy-course-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
}
.academy-course-grid .course-card {
  min-height: 440px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(13,13,15,.92);
}
.academy-course-grid .course-cover {
  height: 208px;
}
.course-cover-shade {
  position: absolute;
  inset: 0;
  z-index: 3;
  background:
    linear-gradient(180deg, transparent 0 32%, rgba(10,10,12,.82) 100%),
    linear-gradient(90deg, rgba(216,173,99,.18), transparent 48%);
}
.course-cover-label {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 4;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid rgba(216,173,99,.28);
  border-radius: 999px;
  color: var(--gold-2);
  background: rgba(0,0,0,.44);
  backdrop-filter: blur(12px);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.course-card .course-body {
  min-height: 232px;
  padding: 0 22px 22px;
}
.course-card h3 {
  font-size: 25px;
  line-height: 1.08;
}
.course-insight-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 16px;
}
.course-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.course-card-footer span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.course-card-footer i {
  color: var(--gold-2);
}
.module-back-btn {
  width: fit-content;
  margin-bottom: 0;
}
.module-stage {
  min-height: 380px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 22px;
  align-items: end;
  padding: clamp(24px, 4vw, 38px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 82% 12%, rgba(138,180,255,.13), transparent 32%),
    linear-gradient(135deg, rgba(216,173,99,.13), transparent 46%),
    var(--theme-card-texture),
    rgba(12,12,14,.9);
}
.module-stage-copy h2 {
  max-width: 780px;
  margin: 10px 0 14px;
  font-family: Cinzel, serif;
  font-size: clamp(38px, 5vw, 66px);
  line-height: .96;
  text-wrap: balance;
}
.module-stage-copy p {
  max-width: 700px;
  color: #d8d0c6;
  font-size: 17px;
}
.module-stage .course-premium-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: stretch;
}
.module-learning-board {
  grid-template-columns: minmax(280px, 350px) minmax(0, 1fr);
  gap: 20px;
}
.module-intel {
  position: sticky;
  top: 100px;
  align-self: start;
  padding: 24px;
  border-radius: 24px;
}
.module-orbit-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  color: #17120b;
  background: linear-gradient(135deg, var(--gold-2), var(--gold));
  box-shadow: 0 16px 34px rgba(216,173,99,.16);
}
.module-intel h3 {
  margin-top: 8px;
  font-family: Cinzel, serif;
  font-size: 27px;
}
.module-intel-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 18px;
}
.module-intel-grid span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  color: var(--muted);
  background: rgba(0,0,0,.2);
}
.module-practice {
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid rgba(126,217,167,.2);
  border-radius: 16px;
  color: #cfd8d1;
  background: rgba(126,217,167,.055);
  line-height: 1.55;
}
.curriculum-panel {
  min-width: 0;
}
.curriculum-title p {
  max-width: 760px;
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.62;
}
.lesson-list {
  gap: 14px;
}
.lesson-card {
  grid-template-columns: 96px minmax(0, 1fr) minmax(150px, auto);
  align-items: center;
  gap: 16px;
  min-height: 150px;
  padding: 16px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(12,12,14,.9);
}
.lesson-card.available:hover {
  transform: translateY(-3px);
  border-color: var(--line-strong);
  background:
    linear-gradient(135deg, rgba(216,173,99,.085), rgba(255,255,255,.018)),
    rgba(14,14,16,.94);
}
.lesson-thumb {
  width: 84px;
  height: 84px;
  border-radius: 20px;
}
.lesson-title-row {
  align-items: flex-start;
}
.lesson-card h4 {
  font-family: Cinzel, serif;
  font-size: 21px;
  line-height: 1.16;
}
.lesson-card p {
  max-width: 700px;
  font-size: 14px;
}
.lesson-mini-meta {
  gap: 7px;
}
.lesson-action {
  display: grid;
  justify-items: end;
  gap: 9px;
}
.lesson-launch {
  border-radius: 999px;
}
.reader-premium {
  grid-template-columns: minmax(0, 1fr) minmax(310px, 360px);
  gap: 24px;
}
.reader-premium .reader-main {
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    #0c0c0e;
}
.reader-premium .reader-cover {
  height: clamp(380px, 42vw, 560px);
}
.reader-premium .reader-cover img {
  opacity: .82;
  filter: saturate(.95) contrast(1.05);
}
.reader-premium .reader-cover::after {
  background:
    linear-gradient(180deg, rgba(5,5,5,.06) 0%, rgba(8,8,9,.38) 52%, #0c0c0e 100%),
    linear-gradient(90deg, rgba(216,173,99,.12), transparent 44%);
}
.reader-premium .reader-body {
  position: relative;
  max-width: 900px;
  margin: -92px auto 0;
  padding: clamp(24px, 5vw, 58px);
  border: 1px solid rgba(216,173,99,.18);
  border-bottom: 0;
  border-radius: 28px 28px 0 0;
  background: linear-gradient(180deg, rgba(13,13,15,.96), #0c0c0e 220px);
}
.reader-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.reader-premium .reader-meta {
  margin-bottom: 0;
}
.reader-premium .reader-body h1 {
  max-width: 820px;
  margin-bottom: 14px;
  font-size: clamp(40px, 5.2vw, 68px);
  line-height: .98;
  text-wrap: balance;
}
.reader-study-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 26px 0 34px;
}
.reader-study-strip span {
  justify-content: center;
  border-radius: 16px;
  white-space: normal;
  text-align: center;
}
.reader-content-shell {
  position: relative;
  padding-top: 8px;
}
.reader-content-shell::before {
  content: "";
  display: block;
  width: 86px;
  height: 1px;
  margin-bottom: 28px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.reader-premium .content {
  color: #e5ded5;
  font-size: 18.5px;
  line-height: 1.92;
}
.reader-premium .content h2,
.reader-premium .content h3 {
  margin: 48px 0 16px;
  font-family: Cinzel, serif;
  line-height: 1.12;
}
.reader-premium .content h2 {
  font-size: 34px;
}
.reader-premium .content h3 {
  font-size: 28px;
}
.reader-premium .content ul {
  padding-left: 24px;
}
.reader-premium .content li {
  margin: 8px 0;
}
.reader-comments {
  border-top-color: rgba(216,173,99,.2);
}
.reader-comments > p {
  max-width: 620px;
  margin: 8px 0 18px;
  color: var(--muted);
  line-height: 1.6;
}
.reader-premium .reader-side {
  top: 92px;
  gap: 12px;
}
.reader-premium .side-panel {
  border-radius: 20px;
  background:
    var(--theme-card-texture),
    rgba(14,14,16,.88);
  backdrop-filter: blur(14px);
}
.reader-premium .side-panel h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.reader-module-map {
  gap: 9px;
}
.map-item {
  grid-template-columns: 32px 1fr;
  min-height: 58px;
  border-radius: 16px;
}
.map-item span:last-child {
  min-width: 0;
}
.map-item strong,
.map-item small {
  display: block;
}
.map-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.map-item small {
  margin-top: 3px;
  color: var(--dim);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.chapter-link {
  border-radius: 14px;
}

@media (max-width: 1100px) {
  .academy-hero-pro,
  .academy-panels,
  .module-stage,
  .module-learning-board,
  .reader-premium {
    grid-template-columns: 1fr;
  }
  .academy-command-center,
  .module-stage .course-premium-grid {
    max-width: none;
  }
  .module-intel,
  .reader-premium .reader-side {
    position: static;
  }
}

@media (max-width: 820px) {
  .academy-shell,
  .module-shell {
    gap: 16px;
  }
  .academy-hero-pro {
    min-height: 0;
    padding: 14px;
    border-radius: 22px;
  }
  .academy-hero-copy {
    min-height: 390px;
    padding: 22px;
  }
  .academy-hero-copy h2 {
    font-size: 36px;
    line-height: 1;
  }
  .academy-hero-copy p,
  .module-stage-copy p {
    font-size: 14.5px;
    line-height: 1.56;
  }
  .academy-hero-actions,
  .module-stage-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .academy-hero-pro .academy-metrics,
  .module-stage .course-premium-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .academy-hero-pro .academy-metrics::-webkit-scrollbar,
  .module-stage .course-premium-grid::-webkit-scrollbar {
    display: none;
  }
  .academy-hero-pro .academy-metric,
  .module-stage .course-stat {
    min-width: 160px;
  }
  .academy-panels {
    gap: 12px;
  }
  .academy-focus-card {
    min-height: 240px;
    border-radius: 20px;
  }
  .academy-toolbar {
    top: 72px;
    margin: 0 -14px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
  }
  .academy-course-grid {
    grid-template-columns: 1fr;
  }
  .academy-course-grid .course-card {
    min-height: 0;
    border-radius: 22px;
  }
  .academy-course-grid .course-cover {
    height: 150px;
  }
  .course-card .course-body {
    min-height: 0;
  }
  .course-insight-row {
    display: grid;
    grid-template-columns: 1fr;
  }
  .course-card-footer span {
    white-space: normal;
  }
  .module-stage {
    min-height: 0;
    padding: 20px;
    border-radius: 22px;
  }
  .module-stage-copy h2 {
    font-size: 35px;
    line-height: 1.02;
  }
  .module-intel {
    border-radius: 20px;
  }
  .curriculum-title h2 {
    font-size: 29px !important;
  }
  .lesson-card {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border-radius: 20px;
  }
  .lesson-thumb {
    width: 68px;
    height: 68px;
  }
  .lesson-card .lesson-action {
    grid-column: 1 / -1;
    justify-items: stretch;
  }
  .lesson-mini-meta {
    display: grid;
    grid-template-columns: 1fr;
  }
  .reader-premium {
    gap: 14px;
  }
  .reader-premium .reader-main {
    border-radius: 22px;
  }
  .reader-premium .reader-cover {
    height: 280px;
  }
  .reader-premium .reader-body {
    margin-top: -42px;
    padding: 22px 18px 28px;
    border-radius: 22px 22px 0 0;
  }
  .reader-topline {
    display: grid;
    gap: 12px;
  }
  .reader-premium .reader-body h1 {
    font-size: 35px;
    line-height: 1.04;
  }
  .reader-study-strip {
    grid-template-columns: 1fr;
    margin: 20px 0 26px;
  }
  .reader-premium .content {
    font-size: 16.5px;
    line-height: 1.82;
  }
  .reader-premium .content h2 {
    font-size: 27px;
  }
  .reader-premium .content h3 {
    font-size: 23px;
  }
  .reader-premium .reader-side {
    display: grid;
    overflow: visible;
  }
  .reader-premium .reader-side .side-panel {
    min-width: 0;
    border-radius: 18px;
  }
}

/* Clean reader and academy modules visual pass */
.reader-clean-toolbar {
  display: none;
}

body.reader-clean[data-active-view="reader-view"] {
  background:
    radial-gradient(circle at 50% -10%, rgba(216,173,99,.14), transparent 34%),
    linear-gradient(180deg, #050505, #0a0908 44%, #050505);
}

body.reader-clean[data-active-view="reader-view"] .reader-clean-toolbar {
  position: fixed;
  left: 50%;
  top: 16px;
  z-index: 120;
  width: min(calc(100vw - 28px), 760px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(216,173,99,.2);
  border-radius: 18px;
  background: rgba(8,8,8,.86);
  box-shadow: 0 18px 70px rgba(0,0,0,.45);
  backdrop-filter: blur(20px);
  transform: translateX(-50%);
}

.reader-clean-fonts {
  display: flex;
  gap: 6px;
}

body.reader-clean[data-active-view="reader-view"] .reader-cover,
body.reader-clean[data-active-view="reader-view"] .reader-side,
body.reader-clean[data-active-view="reader-view"] .reader-progress-line,
body.reader-clean[data-active-view="reader-view"] .reader-topline,
body.reader-clean[data-active-view="reader-view"] .reader-lead,
body.reader-clean[data-active-view="reader-view"] .reader-study-strip,
body.reader-clean[data-active-view="reader-view"] .reader-comments,
body.reader-clean[data-active-view="reader-view"] .reader-next-card,
body.reader-clean[data-active-view="reader-view"] #reader-attachment,
body.reader-clean[data-active-view="reader-view"] header,
body.reader-clean[data-active-view="reader-view"] footer,
body.reader-clean[data-active-view="reader-view"] .mobile-tabbar,
body.reader-clean[data-active-view="reader-view"] .mobile-app-nav,
body.reader-clean[data-active-view="reader-view"] .mobile-panel {
  display: none !important;
}

body.reader-clean[data-active-view="reader-view"] main {
  padding-bottom: 28px;
}

body.reader-clean[data-active-view="reader-view"] .reader.reader-premium {
  width: min(100%, 980px);
  grid-template-columns: minmax(0, 1fr);
  padding-top: 88px;
}

body.reader-clean[data-active-view="reader-view"] .reader-premium .reader-main {
  border: 1px solid rgba(216,173,99,.16);
  border-radius: 30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),
    #090908;
  box-shadow: 0 32px 110px rgba(0,0,0,.5);
}

body.reader-clean[data-active-view="reader-view"] .reader-premium .reader-body {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(28px, 6vw, 74px);
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.reader-clean[data-active-view="reader-view"] .reader-premium .reader-body h1 {
  max-width: 760px;
  margin-bottom: 34px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(216,173,99,.18);
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.06;
}

body.reader-clean[data-active-view="reader-view"] .reader-content-shell {
  padding-top: 0;
}

body.reader-clean[data-active-view="reader-view"] .reader-content-shell::before {
  display: none;
}

body.reader-clean[data-active-view="reader-view"] .reader-premium .content {
  max-width: 760px;
  margin: 0 auto;
  color: #efe8dc;
  font-size: 19.5px;
  line-height: 2;
}

.academy-course-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.academy-course-grid .course-card {
  --course-glow: rgba(216,173,99,.18);
  --course-accent: var(--gold);
  grid-column: span 2;
  min-height: 520px;
  display: grid;
  grid-template-rows: 220px minmax(0, 1fr);
  padding: 0;
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 30px;
  background:
    radial-gradient(circle at 82% 12%, var(--course-glow), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.018)),
    #0d0d0f;
  box-shadow: 0 24px 76px rgba(0,0,0,.36);
  transform: translateZ(0);
}

.academy-course-grid .course-card-featured {
  grid-column: span 4;
  grid-template-columns: minmax(300px, .92fr) minmax(0, 1.08fr);
  grid-template-rows: minmax(0, 1fr);
  min-height: 560px;
}

.academy-course-grid .course-card:hover {
  transform: translateY(-7px);
  border-color: color-mix(in srgb, var(--course-accent) 48%, rgba(255,255,255,.18));
  box-shadow: 0 34px 110px rgba(0,0,0,.48), 0 0 70px var(--course-glow);
}

.course-tone-hekate { --course-accent: #d8ad63; --course-glow: rgba(216,173,99,.22); }
.course-tone-nyx { --course-accent: #8ab4ff; --course-glow: rgba(138,180,255,.22); }
.course-tone-bruxaria { --course-accent: #7ed9a7; --course-glow: rgba(126,217,167,.2); }
.course-tone-historia { --course-accent: #d79b7e; --course-glow: rgba(215,155,126,.2); }
.course-tone-elementos { --course-accent: #b2d8d8; --course-glow: rgba(178,216,216,.18); }
.course-tone-blue { --course-accent: #8ab4ff; --course-glow: rgba(138,180,255,.18); }
.course-tone-green { --course-accent: #7ed9a7; --course-glow: rgba(126,217,167,.18); }
.course-tone-gold { --course-accent: #d8ad63; --course-glow: rgba(216,173,99,.18); }

.academy-course-grid .course-card::before {
  background:
    var(--theme-corner-pattern),
    linear-gradient(90deg, var(--course-accent), transparent 44%) top left / 100% 1px no-repeat,
    linear-gradient(180deg, var(--course-accent), transparent 38%) top left / 1px 100% no-repeat,
    radial-gradient(circle at 0 0, var(--course-glow), transparent 34%);
  opacity: .62;
}

.academy-course-grid .course-card::after {
  right: 24px;
  top: 22px;
  color: var(--course-accent);
  font-size: 28px;
  opacity: .2;
}

.course-ambient {
  position: absolute;
  inset: -30%;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, var(--course-glow), transparent 22%),
    radial-gradient(circle at 78% 72%, rgba(255,255,255,.06), transparent 25%);
  opacity: .78;
  transform: rotate(-8deg);
}

.academy-course-grid .course-cover {
  height: auto;
  min-height: 220px;
  border-radius: 30px 30px 0 0;
  background:
    linear-gradient(135deg, var(--course-glow), rgba(255,255,255,.035)),
    #111;
}

.academy-course-grid .course-card-featured .course-cover {
  min-height: 100%;
  border-radius: 30px 0 0 30px;
}

.academy-course-grid .course-cover img {
  opacity: .84;
  filter: saturate(1.02) contrast(1.08);
}

.academy-course-grid .course-card:hover .course-cover img {
  opacity: .98;
  transform: scale(1.08);
}

.course-cover-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--course-accent);
  font-size: 72px;
  background:
    radial-gradient(circle at 50% 40%, var(--course-glow), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.04), rgba(0,0,0,.12));
}

.academy-course-grid .course-cover-shade {
  background:
    linear-gradient(180deg, transparent 0 26%, rgba(8,8,10,.9) 100%),
    linear-gradient(135deg, rgba(0,0,0,.16), var(--course-glow));
}

.academy-course-grid .course-card-featured .course-cover-shade {
  background:
    linear-gradient(90deg, transparent 0 38%, rgba(8,8,10,.9) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.64));
}

.academy-course-grid .course-cover-label {
  border-color: color-mix(in srgb, var(--course-accent) 38%, rgba(255,255,255,.18));
  color: #fff5e6;
  background: rgba(0,0,0,.46);
}

.academy-course-grid .course-body {
  min-height: 0;
  padding: 24px;
  margin-top: 0;
  justify-content: space-between;
}

.course-card-head {
  align-items: center;
}

.course-index-stack {
  display: flex;
  align-items: center;
  gap: 10px;
}

.course-index-stack small {
  color: var(--dim);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.academy-course-grid .course-number {
  width: 52px;
  height: 52px;
  border-color: color-mix(in srgb, var(--course-accent) 46%, rgba(255,255,255,.18));
  color: #0d0b08;
  background: linear-gradient(135deg, #fff0c7, var(--course-accent));
}

.course-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 74px;
  gap: 14px;
  align-items: start;
  margin-top: 18px;
}

.academy-course-grid .course-card h3 {
  margin: 0;
  color: #fff8ee;
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.02;
}

.course-card-featured h3 {
  font-size: clamp(34px, 4.4vw, 58px) !important;
  line-height: .94 !important;
}

.course-progress-orb {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 999px;
  background:
    radial-gradient(circle, #101010 0 54%, transparent 55%),
    conic-gradient(var(--course-accent) var(--course-progress), rgba(255,255,255,.1) 0);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 28px var(--course-glow);
}

.course-progress-orb strong {
  font-size: 15px;
  line-height: 1;
}

.course-progress-orb span {
  margin-top: 3px;
  color: var(--dim);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.course-description {
  margin-top: 14px !important;
  color: #cfc7bc !important;
  font-size: 14.5px;
}

.academy-course-grid .course-insight-row span {
  border-color: rgba(255,255,255,.11);
  background: rgba(0,0,0,.28);
}

.course-preview-list {
  display: grid;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.course-preview-list li,
.course-preview-empty {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 14px;
  color: var(--muted);
  background: rgba(0,0,0,.2);
}

.course-preview-list span {
  color: var(--course-accent);
  font-size: 11px;
  font-weight: 900;
}

.course-preview-list b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #e8dfd5;
  font-size: 12.5px;
}

.academy-course-grid .course-card .progress {
  height: 6px;
  margin-top: 18px;
  background: rgba(255,255,255,.075);
}

.academy-course-grid .course-card .progress span {
  background: linear-gradient(90deg, var(--course-accent), #fff1c2);
}

.academy-course-grid .course-card-footer {
  margin-top: 16px;
  padding-top: 16px;
  border-top-color: rgba(255,255,255,.085);
}

.academy-course-grid .course-card-footer span {
  display: grid;
  gap: 4px;
  white-space: normal;
}

.academy-course-grid .course-card-footer b {
  color: #fff4df;
  font-size: 13px;
}

.academy-course-grid .course-card-footer small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--dim);
}

.academy-course-grid .course-card-footer i {
  width: 42px;
  height: 42px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  color: #111;
  background: linear-gradient(135deg, #fff0c7, var(--course-accent));
  box-shadow: 0 12px 30px var(--course-glow);
}

@media (max-width: 1120px) {
  .academy-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .academy-course-grid .course-card,
  .academy-course-grid .course-card-featured {
    grid-column: span 1;
    grid-template-columns: 1fr;
    grid-template-rows: 200px minmax(0, 1fr);
    min-height: 0;
  }

  .academy-course-grid .course-card-featured .course-cover {
    min-height: 200px;
    border-radius: 30px 30px 0 0;
  }

  .course-card-featured h3 {
    font-size: 34px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 820px) {
  body.reader-clean[data-active-view="reader-view"] .reader-clean-toolbar {
    top: 10px;
    width: calc(100vw - 18px);
    border-radius: 16px;
  }

  body.reader-clean[data-active-view="reader-view"] .reader-clean-toolbar .quiet-btn {
    min-height: 38px;
    padding-inline: 10px;
    font-size: 11px;
  }

  body.reader-clean[data-active-view="reader-view"] .reader.reader-premium {
    padding-top: 72px;
  }

  body.reader-clean[data-active-view="reader-view"] .reader-premium .reader-body {
    padding: 24px 18px 38px;
  }

  body.reader-clean[data-active-view="reader-view"] .reader-premium .content {
    font-size: 17px;
    line-height: 1.88;
  }

  body.reader-clean[data-active-view="reader-view"] main {
    padding-bottom: calc(28px + env(safe-area-inset-bottom));
  }

  .academy-course-grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0 -2px;
  }

  .academy-course-grid .course-card,
  .academy-course-grid .course-card-featured {
    min-height: 0;
    grid-template-rows: 168px minmax(0, 1fr);
    border-radius: 24px;
  }

  .academy-course-grid .course-card-featured .course-cover,
  .academy-course-grid .course-cover {
    min-height: 168px;
    border-radius: 24px 24px 0 0;
  }

  .academy-course-grid .course-body {
    padding: 18px;
  }

  .course-title-row {
    grid-template-columns: minmax(0, 1fr) 62px;
    gap: 10px;
  }

  .academy-course-grid .course-card h3,
  .course-card-featured h3 {
    font-size: 28px !important;
    line-height: 1.02 !important;
  }

  .course-progress-orb {
    width: 60px;
    height: 60px;
  }

  .course-preview-list {
    gap: 6px;
  }

  .course-preview-list li {
    min-height: 38px;
  }

  .academy-course-grid .course-card-footer small {
    white-space: normal;
  }
}

@media (max-width: 420px) {
  .mobile-app-nav {
    display: flex;
    align-items: stretch;
    min-height: 68px;
    gap: 4px;
    padding: 7px;
  }

  .mobile-app-nav .nav-btn {
    flex: 1 1 0;
    min-width: 0;
    min-height: 54px;
    padding: 0 2px;
    border-radius: 16px;
    font-size: 9px;
    line-height: 1;
  }

  .mobile-app-nav .nav-btn span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  main {
    padding-inline: 10px;
    padding-bottom: calc(142px + env(safe-area-inset-bottom));
  }

  #home-view {
    margin-inline: -10px;
    padding-bottom: 116px;
  }

  .mobile-app-nav {
    left: 6px;
    right: 6px;
    bottom: calc(7px + env(safe-area-inset-bottom));
    min-height: 62px;
    padding: 6px;
    border-radius: 20px;
  }

  .mobile-app-nav .nav-btn {
    min-height: 50px;
    gap: 4px;
    border-radius: 14px;
    font-size: 8.5px;
  }

  .mobile-app-nav .nav-btn i {
    font-size: 14px;
  }

  .landing-hero {
    padding-inline: 12px;
  }

  .landing-copy h1 {
    font-size: 27px;
    line-height: 1.05;
  }

  .landing-copy p {
    font-size: 13.8px;
  }
}
