/* ---------- SR Design ---------- */
    :root {
      --saffron-clay: #b5431c;
      --temple-terracotta: #8e2f12;
      --deep-maroon: #5a1a08;
      --sacred-gold: #d9a441;
      --brass-light: #e8c275;
      --ghee-cream: #f6ecd7;
      --sandal-beige: #d9c2a0;
      --ink-black: #1b0f0a;

      --grad-brass: linear-gradient(135deg, #e8c275 0%, #d9a441 45%, #a87420 100%);
      --grad-temple: radial-gradient(circle at 30% 20%, #b5431c 0%, #7a2810 70%, #5a1a08 100%);

      --font-display: "Cormorant Garamond", "Playfair Display", serif;
      --font-body: "Inter", system-ui, sans-serif;

      --ease-ritual: cubic-bezier(0.22, 0.61, 0.36, 1);
      --shadow-emboss: inset 0 1px 0 rgba(255, 255, 255, 0.25),
        0 1px 0 rgba(0, 0, 0, 0.25);
    }

    /* ---------- Reset ---------- */
    *,
    *::before,
    *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    html,
    body {
      height: 100%;
    }

    body {
      font-family: var(--font-body);
      color: var(--ghee-cream);
      background: var(--deep-maroon);
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* ---------- Stage ---------- */
    .stage {
      min-height: 100vh;
      min-height: 100dvh;
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      padding: 24px 24px 20px;
      background: var(--grad-temple);
      overflow: hidden;
      isolation: isolate;
    }

    /* Subtle grain */
    .stage::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.85  0 0 0 0 0.65  0 0 0 0 0.30  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");
      opacity: 0.07;
      pointer-events: none;
      z-index: 0;
    }

    /* Mandala rings */
    .mandala {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: min(60vmin, 460px);
      aspect-ratio: 1;
      pointer-events: none;
      opacity: 0.15;
      z-index: 0;
      animation: rotate 90s linear infinite;
    }

    @keyframes rotate {
      to {
        transform: translate(-50%, -50%) rotate(360deg);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .mandala {
        animation: none;
      }
    }

    /* ---------- Hero ---------- */
    .hero {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      width: 100%;
      max-width: 980px;
      margin-inline: auto;
      padding: 8px 0;
    }

    .logo-frame {
      position: relative;
      width: clamp(250px, 40vh, 410px);
      aspect-ratio: 1;
      margin-bottom: 24px;
      animation: rise 1200ms var(--ease-ritual) both;
    }

    .logo-frame::before {
      content: "";
      position: absolute;
      inset: -18px;
      border-radius: 50%;
      background: var(--grad-brass);
      opacity: 0.35;
      filter: blur(28px);
      z-index: -1;
      animation: glow 4s ease-in-out infinite alternate;
    }

    .logo-frame img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      border-radius: 50%;
      box-shadow:
        0 0 0 2px var(--sacred-gold),
        0 0 0 8px rgba(217, 164, 65, 0.15),
        0 24px 60px rgba(0, 0, 0, 0.45);
      background: var(--saffron-clay);
    }

    @keyframes glow {
      from {
        opacity: 0.25;
        transform: scale(0.98);
      }
      to {
        opacity: 0.45;
        transform: scale(1.04);
      }
    }

    h1 {
      font-family: var(--font-display);
      font-weight: 500;
      font-size: clamp(30px, 8vw, 50px);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      line-height: 1.05;
      color: var(--ghee-cream);
      margin-bottom: 12px;
      animation: rise 1200ms 350ms var(--ease-ritual) both;
    }

    h1 .accent {
      color: var(--sacred-gold);
    }

    /* Divider */
    .divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin: 4px 0 18px;
      animation: rise 1200ms 600ms var(--ease-ritual) both;
    }

    .divider .rule {
      width: clamp(40px, 12vw, 90px);
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent,
        var(--sacred-gold),
        transparent
      );
    }

    .divider svg {
      width: 22px;
      height: 22px;
      color: var(--sacred-gold);
    }

    .tagline {
      font-family: var(--font-display);
      font-weight: 500;
      font-size: clamp(15px, 1.9vw, 20px);
      color: var(--ghee-cream);
      width: 100%;
      max-width: 110ch;
      margin-inline: auto;
      line-height: 1.55;
      margin-bottom: 8px;
      animation: rise 1200ms 700ms var(--ease-ritual) both;
    }

    /* ---------- Footer ---------- */
    .footer {
      position: relative;
      z-index: 2;
      width: 100%;
      max-width: 1200px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      padding-top: 12px;
    }

    .socials {
      display: flex;
      gap: 14px;
    }

    .socials a {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: 1px solid rgba(217, 164, 65, 0.5);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--sacred-gold);
      transition: background 300ms var(--ease-ritual),
        color 300ms var(--ease-ritual),
        transform 300ms var(--ease-ritual);
    }

    .socials a:hover,
    .socials a:focus-visible {
      background: var(--sacred-gold);
      color: var(--ink-black);
      transform: translateY(-2px);
      outline: none;
    }

    .socials svg {
      width: 18px;
      height: 18px;
    }

    .copy {
      font-size: 11px;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: rgba(246, 236, 215, 0.55);
      text-align: center;
    }

    /* ---------- Animations ---------- */
    @keyframes rise {
      from {
        opacity: 0;
        transform: translateY(14px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
      }
    }

    /* ---------- Responsive CSS---------- */
    @media (max-width: 480px) {
      .stage {
        padding: 18px 16px;
      }
      .logo-frame {
        width: clamp(230px, 60vw, 330px);
        margin-bottom: 18px;
      }
      .field {
        flex-direction: column;
        border-radius: 20px;
        padding: 8px;
      }
      .field input {
        text-align: center;
        padding: 12px;
      }
      .btn {
        width: 100%;
        padding: 14px 22px;
      }
    }