
    :root{
      --bg:#ffffff;
      --bg2:#fbf8ff;
      --surface:#ffffff;
      --surface2:#faf7ff;
      --line:#eadcff;
      --ink:#1f1633;
      --muted:#5a4b76;
      --muted2:#7a6b97;

      --brand:#8b5cf6;      /* purple */
      --brand2:#6d28d9;     /* deep purple */
      --lav:#f3e8ff;
      --lav2:#ede9fe;

      --shadow: 0 18px 48px rgba(31, 22, 51, .12);
      --shadow2: 0 10px 26px rgba(31, 22, 51, .10);

      --radius:24px;
      --radius2:16px;
      --max: 1180px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      color:var(--ink);
      background:
        radial-gradient(900px 520px at 12% 6%, rgba(139,92,246,.18), transparent 60%),
        radial-gradient(800px 520px at 88% 18%, rgba(109,40,217,.12), transparent 58%),
        linear-gradient(180deg, var(--bg), var(--bg2));
      line-height:1.75;
      overflow-x:hidden;
    }
    a{color:inherit}
    .wrap{max-width:var(--max); margin:0 auto; padding:26px 20px 90px}

    /* Top bar */
    .topbar{
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      padding:12px 14px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.88);
      border-radius:999px;
      backdrop-filter: blur(10px);
      box-shadow: var(--shadow2);
    }
    .brand{
      display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.2px;
    }
    .dot{
      width:12px; height:12px; border-radius:50%;
      background: radial-gradient(circle at 30% 30%, #fff, var(--brand));
      box-shadow: 0 0 0 6px rgba(139,92,246,.16);
    }
    .navlinks{display:flex; gap:14px; flex-wrap:wrap; font-size:13px; color:var(--muted)}
    .navlinks a{opacity:.95; text-decoration:none}
    .navlinks a:hover{opacity:1; text-decoration:underline}

    /* Hero */
    .hero{
      margin-top:18px;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:
        radial-gradient(900px 520px at 18% 22%, rgba(139,92,246,.16), transparent 62%),
        radial-gradient(700px 520px at 82% 20%, rgba(109,40,217,.10), transparent 58%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,255,.92));
      box-shadow: var(--shadow);
      padding:44px 26px;
      position:relative;
      overflow:hidden;
    }
    .hero:before{
      content:"";
      position:absolute; inset:-2px;
      background: linear-gradient(90deg, rgba(139,92,246,.22), rgba(237,233,254,.45), rgba(109,40,217,.14));
      opacity:.55;
      filter: blur(30px);
      z-index:0;
    }
    .hero > *{position:relative; z-index:1}
    .kicker{
      display:inline-flex; align-items:center; gap:10px;
      padding:8px 12px;
      border:1px solid rgba(109,40,217,.18);
      border-radius:999px;
      background:rgba(255,255,255,.86);
      color:var(--muted);
      font-size:12px;
    }
    .kicker strong{color:var(--ink); font-weight:900}
    h1{
      font-family:"Playfair Display", serif;
      margin:16px 0 10px;
      font-size:42px;
      line-height:1.15;
      letter-spacing:.2px;
    }
    .sub{
      max-width:930px;
      color:var(--muted);
      font-size:16px;
      margin:0 0 18px;
    }

    .ctaRow{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:18px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      padding:12px 16px;
      border-radius:999px;
      text-decoration:none;
      border:1px solid rgba(109,40,217,.18);
      background:rgba(255,255,255,.94);
      color:var(--ink);
      font-weight:800;
      font-size:14px;
      transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
      box-shadow: 0 10px 22px rgba(31,22,51,.10);
      white-space:nowrap;
    }
    .btn:hover{transform: translateY(-1px); background:#fff; box-shadow: 0 14px 26px rgba(31,22,51,.14)}
    .btnPrimary{
      background: linear-gradient(135deg, var(--brand), var(--brand2));
      color:#fff;
      border-color: rgba(109,40,217,.20);
      box-shadow: 0 18px 36px rgba(109,40,217,.22);
    }
    .btnPrimary:hover{background: linear-gradient(135deg, #9a70ff, #6a1fe0)}
    .btnGhost{font-weight:700; color:var(--muted)}
    .note{color:var(--muted2); font-size:13px}

    .pillRow{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 0}
    .pill{
      font-size:12px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid rgba(109,40,217,.16);
      background:rgba(243,232,255,.70);
      color:var(--muted);
      font-weight:600;
    }

    /* Layout */
    .grid{
      margin-top:20px;
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:18px;
      align-items:start;
    }
    @media (max-width: 980px){
      .grid{grid-template-columns:1fr}
      h1{font-size:36px}
    }
    .card{
      border:1px solid var(--line);
      border-radius:var(--radius);
      background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,255,.92));
      box-shadow: var(--shadow2);
      overflow:hidden;
    }
    .cardPad{padding:22px}
    .card h2{
      font-family:"Playfair Display", serif;
      margin:0 0 10px;
      font-size:26px;
    }
    .card h3{margin:18px 0 8px; font-size:16px; color:var(--ink)}
    .muted{color:var(--muted)}
    .muted2{color:var(--muted2)}
    .tiny{font-size:12px; color:var(--muted2)}
    .split{display:grid; grid-template-columns:1fr 1fr; gap:16px}
    @media (max-width: 980px){.split{grid-template-columns:1fr}}
    .list{margin:10px 0 0; padding-left:18px; color:var(--muted)}
    .list li{margin:7px 0}
    .callout{
      border:1px solid rgba(139,92,246,.22);
      background: linear-gradient(180deg, rgba(243,232,255,.78), rgba(255,255,255,.92));
      border-radius: var(--radius2);
      padding:16px;
      margin-top:14px;
      color:var(--muted);
    }
    .callout strong{color:var(--ink)}
    .hr{height:1px; background:rgba(234,220,255,1); margin:18px 0}

    .table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      overflow:hidden;
      border-radius:18px;
      border:1px solid var(--line);
      background:#fff;
      margin-top:12px;
    }
    .table th,.table td{
      padding:12px 12px;
      border-bottom:1px solid rgba(234,220,255,1);
      vertical-align:top;
      text-align:left;
      font-size:13px;
    }
    .table th{
      font-size:12px;
      letter-spacing:.3px;
      text-transform:uppercase;
      color:#4b2a7a;
      background:linear-gradient(180deg, rgba(243,232,255,.95), rgba(237,233,254,.75));
    }
    .table tr:last-child td{border-bottom:none}

    details{
      border:1px solid rgba(109,40,217,.16);
      background:rgba(243,232,255,.45);
      border-radius:16px;
      padding:12px 14px;
      margin:10px 0;
    }
    summary{
      cursor:pointer;
      font-weight:900;
      color:var(--ink);
    }
    details p{color:var(--muted); margin:10px 0 0}

    /* Images */
    .imgBlock{
      border:1px solid var(--line);
      border-radius:18px;
      overflow:hidden;
      background:#fff;
      box-shadow: var(--shadow2);
      margin-top:12px;
    }
    .imgMeta{
      padding:12px 14px;
      background:linear-gradient(180deg, rgba(243,232,255,.80), rgba(255,255,255,.92));
      border-bottom:1px solid var(--line);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
    }
    .badge{
      display:inline-flex; align-items:center; gap:8px;
      font-size:12px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid rgba(109,40,217,.16);
      background:rgba(255,255,255,.90);
      color:var(--muted);
      font-weight:800;
    }
    .imgWrap{padding:14px}
    .img{
      width:100%;
      height:auto;
      display:block;
      border-radius:14px;
      border:1px solid rgba(234,220,255,1);
      background: linear-gradient(180deg, rgba(243,232,255,.35), rgba(255,255,255,.95));
    }

    .footer{
      margin-top:26px;
      padding:18px 0 0;
      border-top:1px solid rgba(234,220,255,1);
      color:var(--muted2);
      font-size:13px;
      display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap;
    }
    .footer a{color:var(--muted); text-decoration:none}
    .footer a:hover{text-decoration:underline}
  