*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --void:       #04020c;
      --deep:       #0b0520;
      --amethyst:   #6b2fa0;
      --violet:     #9b4fd8;
      --lavender:   #c89eff;
      --lavender-lite:#d287fb;
      --gold:       #e8c84a;
      --gold-pale:  #f5e4a0;
      --gold-glow:  #ffda00;
      --teal:       #00d4c8;
      --teal-glow:  #00ffee;
      --rose:       #e84a8a;
      --rose-glow:  #ff6aaa;
      --star:       rgba(255,255,255,0.85);
      --frame-gold: #c8a030;
      --green:      #2cc74c;
      --green-glow: #8ff517;


/* Curtain Goddesses */ /* Incense Smoke */

       --left-img: url("../img-MAIN/goddess-mojo-8.png");
      --right-img: url("../img-MAIN/goddess-celtic-5.png");
      --reveal: 34vw;
       --revealz: 34vw;
      --speed: 900ms;
      --ease: cubic-bezier(.2,.9,.2,1);

/* Moon Widget & Sun Widget */
         --bg:#0b1020;
      --card:#121a33;
      --text:#eaf0ff;
      --muted:#a9b3d6;
      --ring:rgba(150,200,255,.18);
      --accent:#ffcf66;
      --accent2:#ffd2a6;


/* Goddess Portrait*/

    
  --radius: 16px;
    --border: rgba(255,255,255,.18);
    --border-2: rgba(255,255,255,.28);
    --glass: rgba(255,255,255,.06);
    --shadow: 0 10px 30px rgba(0,0,0,.35);
    }

    html, body {
      width: 100%;
      height: 100%;
      overflow: hidden;
      background: var(--void); 
      overflow-y: visible;
      margin-bottom: 56px;
    }
    .stage{
      min-height:100vh;
      display:flex;
      align-items:stretch;
      justify-content:center;
      position:relative;
    }

    main{
      width: min(1100px, 100%);
      margin:0 auto;
      padding: 28px 16px 80px;
      position:relative;
      z-index:1;
      color:#efeaff;
    }

    .hero-card{
      border-radius: 20px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(231,201,106,.22);
      box-shadow: 0 30px 100px rgba(0,0,0,.35);
      padding: 26px 22px;
      backdrop-filter: blur(6px);
  
 }  


  /* ══════════════════════════════════════════
  @FONT FACES
   ══════════════════════════════════════════ */
}
@font-face {
  font-family: 'Cinzel';
  src: url(../fonty/Cinzel-Regular.woff2) format('woff2');
}

@font-face {
  font-family: 'Cinzel Decorative';
  src: url(../fonty/CinzelDecorative-Black.woff2) format('woff2');
}

@font-face {
  font-family: 'IM Fell English';
  src: url(../fonty/IMFellEnglish-Regular.woff2) format('woff2');

}


@font-face {
  font-family: 'IM Fell English';
  src: url(../fonty/IMFellEnglish-Italic.woff2) format('woff2');

}    

  /* ══════════════════════════════════════════
   MOONPHASE WIDGET
   ══════════════════════════════════════════ */

#moon-body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(900px 500px at 20% 15%, rgba(154, 230, 255, 0.12), transparent 60%),
    radial-gradient(700px 450px at 80% 30%, rgba(194, 166, 255, 0.10), transparent 60%),
    radial-gradient(1200px 800px at 50% 90%, rgba(255, 255, 255, 0.06), transparent 55%),
    var(--bg);
  color: var(--text);
}

/* Click-to-enlarge moon wrapper */
.wrapz {
  width: min(860px, 94vw);
  margin: 30px auto;
  padding: 0;
  transition: transform 0.22s ease, width 0.22s ease, font-size 0.22s ease;
  transform-origin: center;
  cursor: pointer;
  user-select: none;
  outline: none;
  border-radius: 20px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-size: clamp(16px, 1.5vw, 18px);
}

.wrapz:focus-visible {
  box-shadow: 0 0 0 3px rgba(154, 230, 255, 0.35);
}

.wrapz:active {
  transform: scale(1.16);
}

.wrapz.expanded {
  width: min(1060px, 98vw);
  transform: scale(1.18);
  font-size: clamp(18px, 2vw, 22px);
}

@media (max-width: 760px) {
  .wrapz.expanded {
    transform: scale(1);
  }
}

.cardz {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(160, 200, 255, 0.18);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 16px 60px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
}

header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 14px;
}

h1 {
  margin: 0;
  font-size: 1.6rem;
  letter-spacing: 0.2px;
  font-weight: 750;
}

.subz {
  color: var(--muted);
  font-size: 0.86rem;
  margin-top: 6px;
  line-height: 1.35;
  max-width: 48ch;
}

.gridz {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 16px;
  align-items: start;
}

.wrapz.expanded .gridz {
  grid-template-columns: 360px 1fr;
}

@media (max-width: 760px) {
  .gridz {
    grid-template-columns: 1fr;
  }
  .wrapz.expanded .gridz {
    grid-template-columns: 1fr;
  }
}

.leftz {
  border-radius: 16px;
  border: 1px solid rgba(160, 200, 255, 0.15);
  background: rgba(0, 0, 0, 0.12);
  padding: 14px;
  position: relative;
  overflow: visible;
}

.leftz::before {
  content: "";
  position: absolute;
  inset: -80px;
  background:
    radial-gradient(closest-side at 40% 35%, rgba(154, 230, 255, 0.16), transparent 60%),
    radial-gradient(closest-side at 75% 70%, rgba(194, 166, 255, 0.14), transparent 62%);
  pointer-events: none;
}

.moonRow {
  display: flex;
  gap: 14px;
  align-items: center;
  position: relative;
}

.moonSvg {
  width: 150px;
  height: 150px;
  display: block;
  filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.45));
  transition: width 0.22s ease, height 0.22s ease;
}

.wrapz.expanded .moonSvg {
  width: 190px;
  height: 190px;
}

.phaseInfo {
  position: relative;
  flex: 1;
  min-width: 0;
}

.phaseName {
  font-size: 1.4rem;
  font-weight: 820;
  margin: 2px 0 6px;
  line-height: 1.1;
  transition: font-size 0.22s ease;
}

.wrapz.expanded .phaseName {
  font-size: 1.95rem;
}

.phaseMeta {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.45;
  transition: font-size 0.22s ease;
}

.wrapz.expanded .phaseMeta {
  font-size: 1.0rem;
}

.mystic {
  margin-top: 10px;
  font-size: 1.0rem;
  line-height: 1.55;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(160, 200, 255, 0.16);
  background: rgba(18, 26, 51, 0.55);
  color: #dbe4ff;
  transition: font-size 0.22s ease;
}

.wrapz.expanded .mystic {
  font-size: 1.1rem;
}

.rightz {
  border-radius: 16px;
  border: 1px solid rgba(160, 200, 255, 0.15);
  background: rgba(0, 0, 0, 0.10);
  padding: 14px;
}

.rowz {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.pill {
  transition: font-size 0.22s ease;
}

.wrapz.expanded .pill {
  font-size: 0.95rem;
}

.pill b {
  color: var(--text);
  font-weight: 780;
}

.listz {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 6px;
}

@media (max-width: 520px) {
  .listz {
    grid-template-columns: 1fr;
  }
}

.phaseCard {
  border: 1px solid rgba(160, 200, 255, 0.14);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(18, 26, 51, 0.36);
}

.phaseCard .t {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.phaseCard .n {
  font-weight: 760;
  font-size: 0.9rem;
  color: #e9f1ff;
  transition: font-size 0.22s ease;
}

.wrapz.expanded .phaseCard .n {
  font-size: 1.08rem;
}

.phaseCard .pct {
  font-size: 0.8rem;
  color: var(--muted);
  white-space: nowrap;
  transition: font-size 0.22s ease;
}

.wrapz.expanded .phaseCard .pct {
  font-size: 0.92rem;
}

.phaseCard .d {
  font-size: 0.95rem;
  color: #cfe0ff;
  line-height: 1.45;
  transition: font-size 0.22s ease;
}

.wrapz.expanded .phaseCard .d {
  font-size: 1.05rem;
}

.footerNote {
  margin-top: 10px;
  color: rgba(200, 220, 255, 0.65);
  font-size: 0.8rem;
  line-height: 1.45;
}

.hr {
  height: 1px;
  background: rgba(160, 200, 255, 0.16);
  border: 0;
  margin: 12px 0;
}



    /* ══════════════════════════════════════════
       VIDEO BACKGROUND
    ══════════════════════════════════════════ */
     .video-content {
      width: 50%;
      height: 50%;
      
    }
    .video-bg {
      position: fixed;
      inset: 0;
      z-index: 0;
    }

    /*
      VIDEO PLACEHOLDER
      Replace the placeholder div below with:
      <video autoplay muted loop playsinline style="width:100%;height:100%;object-fit:cover;opacity:0.6;">
        <source src="your-mystical-video.mp4" type="video/mp4" />
      </video>
    */
    .video-placeholder {
      width: 100%;
      height: 100%;
      background:
        radial-gradient(ellipse at 50% 0%,   #2a0a50 0%, transparent 60%),
        radial-gradient(ellipse at 20% 80%,  #0a1a40 0%, transparent 55%),
        radial-gradient(ellipse at 80% 70%,  #1a0a30 0%, transparent 55%),
        radial-gradient(ellipse at 50% 50%,  #0d0520 0%, #04020c 100%);
      animation: bgPulse 8s ease-in-out infinite alternate;
    }

    @keyframes bgPulse {
      0%   { filter: hue-rotate(0deg)   brightness(1); }
      50%  { filter: hue-rotate(20deg)  brightness(1.08); }
      100% { filter: hue-rotate(-15deg) brightness(0.95); }
    }

    /* Animated starfield */
    .stars {
      position: absolute;
      inset: 0;
      overflow: hidden;
    }

    .star {
      position: absolute;
      background: white;
      border-radius: 50%;
      animation: twinkle var(--dur) ease-in-out infinite alternate;
      opacity: 0;
    }

    @keyframes twinkle {
      0%   { opacity: 0; transform: scale(0.5); }
      50%  { opacity: var(--bright); }
      100% { opacity: calc(var(--bright) * 0.3); transform: scale(2.2); }
    }

    /* Floating orbs */
    .orb {
      position: absolute;
      border-radius: 50%;
      filter: blur(60px);
      animation: orbFloat var(--dur) ease-in-out infinite alternate;
      opacity: 0.18;
    }

    @keyframes orbFloat {
      0%   { transform: translate(0, 0) scale(1); }
      100% { transform: translate(var(--dx), var(--dy)) scale(2.15); }
    }

    /* Dark overlay for readability */
    .video-overlay {
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 40%, rgba(4,2,12,0.25) 0%, rgba(4,2,12,0.65) 100%);
    }

    /* ══════════════════════════════════════════
       SVG SWIRL FRAME BORDER
       To remove the frame, delete the .frame element
       and the .frame-corner elements below.
    ══════════════════════════════════════════ */
    .frame {
      position: fixed;
      inset: -10px;
      z-index: 10;
      pointer-events: none;
    }

    .frame svg {
      width: 100%;
      height: 100%;
    }

    /* ══════════════════════════════════════════
       MAIN CONTENT
    ══════════════════════════════════════════ */
    .splash {
      position: sticky;
      inset: 0;
      top: 0px;
      z-index: 5;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 3rem 2rem;
      text-align: center;
    }

    /* Bring modals (like age verification) above the nav bar while open */
    .splash:has(.modal-backdrop.open) {
      z-index: 200;
    }

    /* Top ornament */
    .ornament-top {
      font-family: 'Cinzel Decorative', serif;
      font-size: 28px;
      color: var(--gold);
      letter-spacing: 0.4em;
      margin-bottom: 1.2rem;
      margin-top: 150px;
      opacity: 0.75;
      animation: fadeUp 1.5s ease forwards;
      animation-delay: 0.3s;
      opacity: 0;
    }

    /* Subtitle above title */
    .pre-title {
      font-family: 'IM Fell English', Georgia, serif;
      font-style: italic;
      font-size: clamp(15px, 2vw, 20px);
      color: var(--lavender);
      letter-spacing: 0.25em;
      text-transform: uppercase;
      margin-bottom: 1.5rem;
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 0.6s;
      opacity: 0;
    }

    /* Main title */
    .main-title {
      font-family: 'Cinzel Decorative', serif;
      font-size: clamp(50px, 6vw, 80px);
      font-weight: 900;
      line-height: 1.1;
      letter-spacing: 0.04em;
      background: linear-gradient(135deg, #f5e4a0 0%, #e8c84a 30%, #ffffff 50%, #e8c84a 70%, #f5e4a0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      filter: drop-shadow(0 0 30px rgba(232,200,74,0.55));
      margin-bottom: 0.6rem;
      animation: fadeUp 1.4s ease forwards, titleGlow 4s ease-in-out infinite alternate;
      animation-delay: 0.9s, 2.3s;
      opacity: 0;
    }

    @keyframes titleGlow {
      0%   { filter: drop-shadow(0 0 22px rgba(232,200,74,0.45)); }
      100% { filter: drop-shadow(0 0 50px rgba(232,200,74,0.85)) drop-shadow(0 0 80px rgba(155,79,216,0.3)); }
    }

    @keyframes titleGlow2 {
      0%   { filter: drop-shadow(0 0 22px rgba(39, 245, 52, 0.33)); }
      100% { filter: drop-shadow(0 0 50px rgba(9, 153, 18, 0.33)) drop-shadow(0 0 80px rgba(155,79,216,0.3)); }
    }


    /* Divider rule */
    .title-rule {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin: 1.2rem auto 0.6rem;
      width: min(500px, 80vw);
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 1.1s;
      opacity: 0;
    }

    .title-rule::before, .title-rule::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(to right, transparent, var(--gold), transparent);
    }

    .title-rule-gem {
      font-size: 20px;
      color: var(--gold);
      filter: drop-shadow(0 0 8px var(--gold-glow));
    }

    /* Tagline */
    .tagline {
      font-family: 'IM Fell English', Georgia, serif;
 
      font-size: clamp(25px, 2.2vw, 30px);
      color: rgba(200,158,255,0.88);
      letter-spacing: 0.08em;
       margin-top:1rem;

      margin-bottom: 3rem;
      max-width: 100%;
      line-height: 1.6;
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 1.3s;
      opacity: 0;
        }

    /* Tagline */
    .tagline2 {
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
 
      font-size: clamp(18px, 2.2vw, 25px);
      color: white;
    
       margin-top:1rem;
 font-weight: 100;
      margin-bottom: 3rem;
      max-width: 100%;
      line-height: 1.6;
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 1.3s;
      opacity: 0;
    }


    /* Tagline */
    .tagline3 {
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
 
      font-size: clamp(18px, 2.2vw, 25px);
      color: white;
      letter-spacing: 0.08em;
       margin-top:1rem;
      font-weight: 100;
      margin-bottom: 3rem;
      max-width: 100%;
      line-height: 1.6;
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 1.3s;
      opacity: 0;
    }
 
    #pink-title {  

      color: var(--lavender-lite); 
    }
    /* ── Buttons ── */
    .button-row {
      display: flex;
      gap: 1.5rem;
      justify-content: center;
      flex-wrap: wrap;
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 1.0s;
      opacity: 0;
    }

    .mystic-btn {
      position: relative;
      font-family: 'Cinzel', serif;
      font-size: clamp(13px, 1.6vw, 16px);
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--gold-pale);
      padding: 14px 34px;
      border-radius: 50px;
      border: 1px solid rgba(232,200,74,0.4);
      background: rgba(11,5,32,0.6);
      backdrop-filter: blur(8px);
      cursor: pointer;
      transition: all 0.3s ease;
      overflow: hidden;
      min-width: 200px;
    }

    /* Shimmer layer */
    .mystic-btn::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(105deg,
        transparent 30%,
        rgba(255,255,255,0.08) 50%,
        transparent 70%
      );
      transform: translateX(-100%);
      transition: transform 0.5s ease;
    }

    .mystic-btn:hover::before { transform: translateX(100%); }

    /* Glow border on hover */
    .mystic-btn::after {
      content: '';
      position: absolute;
      inset: -1px;
      border-radius: 50px;
      opacity: 0;
      transition: opacity 0.3s;
    }

    /* Button 1 — gold glow */
    .btn-gold {
      border-color: rgba(232,200,74,0.5);
      box-shadow: 0 0 18px rgba(232,200,74,0.12), inset 0 0 20px rgba(232,200,74,0.05);
    }
    .btn-gold::after { box-shadow: 0 0 0 2px var(--gold-glow), 0 0 35px rgba(255,218,0,0.5); }
    .btn-gold:hover  { background: rgba(232,200,74,0.12); color: #fff; }
    .btn-gold:hover::after, .btn-gold:active::after { opacity: 1; }
    .btn-gold:active {
      transform: scale(0.97);
      box-shadow: 0 0 0 2px var(--gold-glow), 0 0 60px rgba(255,218,0,0.8), 0 0 120px rgba(255,218,0,0.4);
      background: rgba(232,200,74,0.2);
      color: #fff;
    }

    /* Button 2 — teal glow */
    .btn-teal {
      border-color: rgba(0,212,200,0.5);
      box-shadow: 0 0 18px rgba(0,212,200,0.12), inset 0 0 20px rgba(0,212,200,0.05);
      color: #a0f5f0;
    }
    .btn-teal::after { box-shadow: 0 0 0 2px var(--teal-glow), 0 0 35px rgba(0,255,238,0.5); }
    .btn-teal:hover  { background: rgba(0,212,200,0.12); color: #fff; }
    .btn-teal:hover::after, .btn-teal:active::after { opacity: 1; }
    .btn-teal:active {
      transform: scale(0.97);
      box-shadow: 0 0 0 2px var(--teal-glow), 0 0 60px rgba(0,255,238,0.8), 0 0 120px rgba(0,255,238,0.4);
      background: rgba(0,212,200,0.2);
      color: #fff;
    }

    /* Button 3 — rose glow */
    .btn-rose {
      border-color: rgba(232,74,138,0.5);
      box-shadow: 0 0 18px rgba(232,74,138,0.12), inset 0 0 20px rgba(232,74,138,0.05);
      color: #ffb0d0;
    }
    .btn-rose::after { box-shadow: 0 0 0 2px var(--rose-glow), 0 0 35px rgba(255,106,170,0.5); }
    .btn-rose:hover  { background: rgba(232,74,138,0.12); color: #fff; }
    .btn-rose:hover::after, .btn-rose:active::after { opacity: 1; }
    .btn-rose:active {
      transform: scale(0.97);
      box-shadow: 0 0 0 2px var(--rose-glow), 0 0 60px rgba(255,106,170,0.8), 0 0 120px rgba(255,106,170,0.4);
      background: rgba(232,74,138,0.2);
      color: #fff;
      }

    /* Button 3 — rose glow */
    .btn-green {
      border-color: rgba(15, 159, 54, 0.8);
      box-shadow: 0 0 18px rgba(15, 159, 54, 0.12), inset 0 0 20px rgba(15, 159, 54, 0.5);
      color: #92de56;
    }
    .btn-green::after { box-shadow: 0 0 0 2px var(--green-glow), 0 0 35px rgba(132, 244, 75, 0.8); }
    .btn-green:hover  { background: rgba(15, 159, 54, 0.12); color: #fff; }
    .btn-green:hover::after, .btn-green:active::after { opacity: 1; }
    .btn-green:active {
      transform: scale(0.97);
      box-shadow: 0 0 0 2px var(--green-glow), 0 0 60px rgba(132, 244, 75, 0.8), 0 0 120px rgba(132, 244, 75, 0.4);
      background: rgba(15, 159, 54, 0.5);
      color: #fff;
    }

    #enterPoem {
  font-size: clamp(14px, 1.6vw, 20px)!important;

    }

    /* Bottom ornament */
    .ornament-bottom {
      margin-top: 1rem;
       margin-bottom: 1rem;
      font-family: 'Cinzel Decorative', serif;
      font-size: 18px;
      color: var(--amethyst);
      letter-spacing: 0.5em;
      opacity: 0.5;
      animation: fadeUp 1.4s ease forwards;
      animation-delay: 2s;
      opacity: 0;
    }

    @keyframes fadeUp {
      0%   { opacity: 0; transform: translateY(22px); }
      100% { opacity: 1; transform: translateY(0); }
    }

    /* Particle sparkles */
    .sparkle {
      position: fixed;
      pointer-events: none;
      border-radius: 50%;
      animation: sparkleFly var(--dur) ease-out forwards;
      z-index: 60;
    }

    @keyframes sparkleFly {
      0%   { transform: translate(0,0) scale(1); opacity: 1; }
      100% { transform: translate(var(--tx), var(--ty)) scale(0); opacity: 0; }
    }
/* Sparkle Effect */
@keyframes sparkle {
    0% {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(var(--tx), var(--ty)) scale(0);
    }
}




    /* ── Floating Mandala ── */
    .mandala-wrap {
      position: fixed;
      z-index: 3;
      pointer-events: none;
      animation: mandalaFloat 38s ease-in-out infinite, mandalaDrift 60s linear infinite;
      opacity: 0;
      animation-fill-mode: forwards;
    }

    @keyframes mandalaFloat {
      0%   { opacity: 0;    transform: translateY(0px)    rotate(0deg); }
      8%   { opacity: 0.62; }
      50%  { opacity: 0.55; transform: translateY(-28px)  rotate(180deg); }
      92%  { opacity: 0.62; }
      100% { opacity: 0;    transform: translateY(0px)    rotate(360deg); }
    }

    @keyframes mandalaDrift {
      0%   { left: 8vw;  top: 55vh; }
      25%  { left: 72vw; top: 20vh; }
      50%  { left: 80vw; top: 65vh; }
      75%  { left: 20vw; top: 75vh; }
      100% { left: 8vw;  top: 55vh; }
    }

    .mandala-wrap svg {
      width: 220px;
      height: 220px;
      filter: drop-shadow(0 0 22px rgba(155,79,216,0.80))
              drop-shadow(0 0 45px rgba(232,200,74,0.50))
              drop-shadow(0 0 8px  rgba(200,158,255,0.60));
    }

   
    @media (max-width: 600px) {
      .button-row { flex-direction: column; align-items: center; }
      .mystic-btn { min-width: 240px; }
       } 
 
     
    }
    @media (max-width: 786px) {
      .button-row { flex-direction: column; align-items: center; }
      .mystic-btn { min-width: 240px; }
    }


    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: 0.01ms !important; }
    }

   /* NAV WRAPPER */
nav {
  position: sticky;
  top: 10px;
  z-index: 50;
  margin: 0 auto;
  width: min(1800px, calc(100% - 24px));
  border-radius: 18px;
  padding: 6px 18px 6px 18px;
  background:
    linear-gradient(180deg, rgba(20,10,35,.70), rgba(10,5,18,.55));
  border: 1px solid rgba(231,201,106,.35);
  box-shadow:
    0 20px 60px rgba(0,0,0,.45),
    inset 0 0 0 1px rgba(255,217,138,.08),
    0 0 0 1px rgba(178,120,255,.08);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

/* Corner filigree-ish glow */
nav::before {
  content: "";
  position: absolute;
  inset: -60px;
  background:
    radial-gradient(420px 120px at 15% 10%, rgba(231,201,106,.18), transparent 60%),
    radial-gradient(420px 120px at 85% 10%, rgba(178,120,255,.15), transparent 60%),
    radial-gradient(420px 160px at 10% 95%, rgba(178,120,255,.12), transparent 55%),
    radial-gradient(420px 160px at 90% 95%, rgba(231,201,106,.14), transparent 55%);
  pointer-events: none;
}

.nav-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 200px;
}

.seal {
  width: 90px;
  height: 90px;
  border-radius: 12px;
  border: 1px solid rgba(231,201,106,.38);
  background: none;
  box-shadow: 0 0 18px rgba(231,201,106,.18);
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}

.seal img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 0;
}

.seal::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: conic-gradient(from 180deg,
    rgba(255,217,138,0),
    rgba(255,217,138,.28),
    rgba(178,120,255,.22),
    rgba(255,217,138,0)
  );
  animation: spin 8s linear infinite;
  opacity: .8;
}

.seal span {
  position: relative;
  z-index: 1;
  font-weight: 900;
  color: var(--gold2);
  letter-spacing: .02em;
  text-shadow: 0 0 16px rgba(255,217,138,.25);
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.brand-title {
  line-height: 1.05;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(246,239,255,.92);
  margin-top: 10px;
}

.brand-title b {
  display: block;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  margin-top: 10px;
  font-size: 18px;
  letter-spacing: .06em;
  color: #fff;
  text-shadow: 0 0 18px rgba(255,217,138,.2);
  font-weight: 900;
}

/* Mobile menu */
.menu-toggle {
  display: none;
  border: 1px solid rgba(231,201,106,.35);
  background: rgba(15,8,30,.35);
  color: var(--rose);
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(255,217,138,.06);
}

.menu-toggle:focus-visible {
  outline: 3px solid rgba(231,201,106,.35);
  outline-offset: 2px;
}

/* NavLinks area */
.nav-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Responsive nav */
@media (max-width: 760px) {
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }

  .nav-inner {
    position: relative;
    padding: 12px;
  }

  .brand {
    min-width: unset;
    flex-direction: column;
    align-items: flex-start;
  }

  .nav-links {
    display: none;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    margin-top: 16px;
  }

  nav.open .nav-links {
    display: flex;
  }

  nav.open .nav-links .pill {
    width: 100%;
    text-align: center;
  }

  nav.open .seal {
    position: absolute;
    top: 12px;
    left: 40px;
    width: 100px;
    height: 100px;
    z-index: 60;
    transition: width .2s ease, height .2s ease, top .2s ease, left .2s ease;
  }

  .brand-title {
    margin-top: 0;
  }
}

    /* Modal Members*/
       /* ══════════════════════════════════════════
      MODAL POPUP
    ══════════════════════════════════════════ */
    .modal-backdrop{
      position:fixed; inset:0;
      background: radial-gradient(120% 100% at 50% 0%, rgba(107,47,160,.25), rgba(4,2,12,.75) 60%);
      backdrop-filter: blur(6px);
      display:grid;
      place-items:center;
      padding: 18px;
      z-index: 100;

      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .35s ease, visibility 0s linear .35s;
    }
    .modal-backdrop.open{
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition: opacity .35s ease, visibility 0s linear 0s;
    }

    .modal{
      width: min(520px, 100%);
      border-radius: 20px;
      border: 1px solid rgba(231,201,106,.4);
      background:
        radial-gradient(120% 140% at 20% 0%, rgba(155,79,216,.18), transparent 45%),
        radial-gradient(100% 120% at 100% 100%, rgba(0,212,200,.10), transparent 50%),
        linear-gradient(180deg, rgba(20,10,35,.94), rgba(8,4,16,.94));
      box-shadow:
        0 30px 90px rgba(0,0,0,.6),
        0 0 0 1px rgba(178,120,255,.08),
        0 0 60px rgba(155,79,216,.15);
      overflow:hidden;

      transform: scale(.92) translateY(14px);
      transition: transform .35s cubic-bezier(.2,.9,.2,1);
    }
    .modal-backdrop.open .modal{
      transform: scale(1) translateY(0);
    
    }

    .modal-header{
      position: relative;
      padding: 22px 48px 18px 22px;
      text-align: center;
      border-bottom: 1px solid rgba(231,201,106,.22);
    }

    .modal-eyebrow{
      font-family: 'Cinzel', serif;
      font-size: 18px;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: var(--gold);
      opacity: .8;
      margin-bottom: 6px;
    }

    .modal-title{
      font-family: 'Cinzel Decorative', serif;
      font-weight: 900;
      letter-spacing:.04em;
      text-transform: uppercase;
      font-size:30px;
      background: linear-gradient(135deg, #f5e4a0 0%, #e8c84a 40%, #ffffff 55%, #e8c84a 75%, #f5e4a0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      filter: drop-shadow(0 0 14px rgba(232,200,74,.4));
    }

    .modal-subtitle{
      font-family: 'IM Fell English', Georgia, serif;
      font-style: italic;
      font-size: 24px;
      color: rgba(200,158,255,.85);
      letter-spacing: .03em;
      margin-top: 8px;
      line-height: 1.5;
    }

    .modal-close{
      position: absolute;
      top: 14px;
      right: 14px;
      width: 34px;
      height: 34px;
      display:grid;
      place-items:center;
      background: rgba(231,201,106,.08);
      border: 1px solid rgba(231,201,106,.35);
      color: var(--rose-glow);
      border-radius: 10px;
      cursor:pointer;
      font-weight:800;
      transition: all .2s ease;
    }
    .modal-close:hover{
      background: rgba(232,74,138,.15);
      border-color: rgba(255,106,170,.6);
      box-shadow: 0 0 18px rgba(255,106,170,.35);
    }

    .modal-body{
      padding: 20px 22px 24px;
    }

    .auth-grid{
      display:grid;
      gap: 10px;
      grid-template-columns: 1fr;
    }
    @media (min-width: 520px){
      .auth-grid{ grid-template-columns: 1fr 1fr; }
    }

    .pill{
      position:relative;
      text-align:center;
      padding: 13px 14px;
      border-radius: 14px;
      border: 1px solid rgba(231,201,106,.32);
      background: rgba(255,217,138,.05);
      cursor:pointer;
      font-family: 'Cinzel', serif;
      font-weight: 700;
      font-size: 13px;
      letter-spacing: .04em;
      text-transform: uppercase;
      text-decoration:none;
      color: var(--gold-pale);
      transition: all .2s ease;
      overflow:hidden;
      touch-action: manipulation;
    }
    .pill::before{
      content:'';
      position:absolute; inset:0;
      background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.1) 50%, transparent 70%);
      transform: translateX(-100%);
      transition: transform .5s ease;
    }
    .pill:hover::before{ transform: translateX(100%); }
    .pill:hover{
      color:#fff;
      border-color: rgba(255,217,138,.7);
      background: rgba(255,217,138,.12);
      box-shadow: 0 0 24px rgba(232,200,74,.25);
      transform: translateY(-1px);
    }
    .pill:active{ transform: translateY(0) scale(.98); }

    .pill-pay{
      border-color: rgba(0,212,200,.4);
      color: #a0f5f0;
    }
    .pill-pay:hover{
      border-color: rgba(0,255,238,.65);
      background: rgba(0,212,200,.12);
      box-shadow: 0 0 24px rgba(0,212,200,.3);
    }

    .pay-row{
      margin-top: 16px;
      padding-top: 16px;
      border-top: 1px solid rgba(231,201,106,.18);
      display:grid;
      gap: 10px;
      grid-template-columns: 1fr;
    }
    @media (min-width: 520px){
      .pay-row{ grid-template-columns: 1fr 1fr; 
      }
    }
  
.moonsun-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  cursor: pointer;
  animation: softGlow 2s ease-in-out infinite;
  padding: 14px 12px  14px 12px;
  box-sizing: border-box;
 
    font-family: 'Cinzel', serif;
   font-size: clamp(14px, 1.35vw, 15px);
     font-weight:900;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  word-wrap: break-word;
  overflow: hidden;
  white-space: normal;
}


@keyframes softGlow {
  0%, 100% {
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
  }
  50% {
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
  }
}

 .sunmoon-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 40px;
  border: 1px solid rgba(218, 165, 32, 0.8);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  cursor: pointer;
  animation: softGlowGold 2s ease-in-out infinite;
  padding: 14px 12px 14px 12px;
  box-sizing: border-box;
  font-family: 'Cinzel', serif;
     
   font-size: clamp(14px, 1.35vw, 15px);
         font-weight:900;
  color: rgba(218, 165, 32, 0.9);
  text-align: center;
  word-wrap: break-word;
  overflow: hidden;
  white-space: normal;
}

@keyframes softGlowGold {
  0%, 100% {
    box-shadow: 0 0 10px rgba(218, 165, 32, 0.3);
  }
  50% {
    box-shadow: 0 0 20px rgba(218, 165, 32, 0.6);
  }
} 

   /* ══════════════════════════════════════════
       CURTAIN SIDES
    ══════════════════════════════════════════ */

    .curtain{
      position:fixed;
      top:0;
      height:100vh;
      width: 40vw;
      max-width: 520px;
      min-width: 280px;
      z-index:10;
      pointer-events:none;
      display:flex;
      align-items:stretch;
      justify-content:stretch;
      overflow:hidden; /* so canvas crops correctly */
      transition: transform var(--speed) var(--ease), opacity 1.8s ease;
      will-change: transform;
      filter: drop-shadow(0 18px 30px rgba(0,0,0,.35));
      transform: translateX(0);

      opacity: 0;
    }

    .curtain.loaded{
      opacity: 1;
    }

   .curtain .img{
      width:100%;
      height:100%;
       top:96px;
      background-repeat:no-repeat;
      background-position:center;
      background-size: contain;
      position:relative;
      z-index:8;
    }

.curtain canvas.smoke1,
.curtain canvas.smoke2{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:5;
  pointer-events:none;
  display:block;
  object-fit:contain;
  transform:none; /* important */
}

/* move smoke1 toward the RIGHT (in front of the left image) */
.curtain canvas.smoke1{
  left:24%;   /* adjust this (e.g. 8%..20%) */
  top:2%;
}

/* move smoke2 toward the LEFT (in front of the right image) */
.curtain canvas.smoke2{
  left:-20%;  /* adjust this (e.g. -8%..-20%) */
  top:2%;
}

}


   @media (max-width: 956px){
    .curtain canvas.smoke1 {


 left:-28%;  /* adjust this (e.g. -8%..-20%) */
 top:1%;
}

       /* left:50px;  adjust this (e.g. -8%..-20%) 
       top: 250px;*/
    }
  }
  @media (max-width: 956px){
    .curtain canvas.smoke2{

       left:-20%;  /* adjust this (e.g. -8%..-20%) */
  top:2%;
      /*  right:50px;  adjust this (e.g. -8%..-20%) 
       top: 250px;*/
    }
  }

  @media (max-width: 956px){
    .curtain .img {
       /* top:365px;*/
          top:96px;

}
    }

  @media (max-width: 768px){
    .curtain canvas.smoke1{
          left:24%;  /* adjust this (e.g. -8%..-20%) */
  top:26%;
      /* right:50px;   adjust this (e.g. -8%..-20%) 
       top: 250px;*/
    }
  }

  @media (max-width: 768px){
    .curtain canvas.smoke2{
          left:-21%;  /* adjust this (e.g. -8%..-20%) */
  top:26%;
      /* right:50px;   adjust this (e.g. -8%..-20%) 
       top: 250px;*/
    }
  }

  @media (max-width: 768px){
    .curtain .img {
       /*top:365px;*/
       top:370px;
    }
  }

    .curtain.left{ left:0; }
    .curtain.left .img{
      background-image: var(--left-img);
      transform: scaleX(-1);
    }
    .curtain.right{ right:0; }
    .curtain.right .img{ background-image: var(--right-img); }
    body.revealed .curtain.left{ transform: translateX(calc(-1 * var(--reveal))); }
    body.revealed .curtain.right{ transform: translateX(var(--reveal)); }
    @media (max-width: 760px){
      :root{ --reveal: 44vw; }
      .curtain{
        width: 46vw;
        min-width: 220px;
        max-width: 420px;
      }
      main{ padding: 18px 12px 60px; }
    }
    @media (prefers-reduced-motion: reduce){
      .curtain{ transition:none; }
    }

    .reveal-btn{
      margin-top: 16px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 12px 14px;
      border-radius: var(--radius);
      border: 1px solid rgba(231,201,106,.35);
      background: rgba(231,201,106,.08);
       font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
     font-size: clamp(13px, 1.6vw, 18px);
      color:var(--lavender-lite);
      cursor:pointer;
      pointer-events:auto;
      font-weight:700;
      letter-spacing:.01em;
      text-decoration:none;
    }
    .reveal-btn:active{ 
      transform: scale(.99); 
      

    }
        }
 
   .parent{
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      background: transparent;

    }

    .crystal-wrap{
      width: 300px;   /* smaller size */
      height: 300px;
       margin: 10px auto;
    }

    .crystal-wrap img{
      width: 100%;
      height: 100%;
      object-fit: contain;
      display: block;

        }
.fade-in {
  opacity: 0;
  animation:
  fadeIn 1.4s ease forwards, titleGlow2 4s ease-in-out infinite alternate;
  animation-delay: 0.7s;
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
 }
 /* ===== Sunflare namespace: sf- prefix for all classes ===== */
   /* ══════════════════════════════════════════
   SUNFLARE WIDGET
   ══════════════════════════════════════════ */

#sun-body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(900px 500px at 20% 15%, rgba(255, 207, 102, 0.12), transparent 60%),
    radial-gradient(700px 450px at 80% 30%, rgba(255, 210, 166, 0.10), transparent 60%),
    radial-gradient(1200px 800px at 50% 90%, rgba(255, 255, 255, 0.06), transparent 55%),
    var(--bg);
  color: var(--text);
}

/* Click-to-expand wrapper */
.sf-wrap {
  width: min(860px, 94vw);
  margin: 23px auto;
  transition: transform 0.22s ease, width 0.22s ease, font-size 0.22s ease;
  transform-origin: center;
  cursor: pointer;
  user-select: none;
  outline: none;
  border-radius: 20px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-size: clamp(16px, 1.5vw, 18px);
}

.sf-wrap:focus-visible {
  box-shadow: 0 0 0 3px rgba(154, 230, 255, 0.35);
}

.sf-wrap:active {
  transform: scale(1.16);
}

.sf-wrap.sf-expanded {
  width: min(1060px, 98vw);
  transform: scale(1.18);
  font-size: clamp(18px, 2vw, 22px);
}

@media (max-width: 760px) {
  .sf-wrap.sf-expanded {
    transform: scale(1);
  }
}

.sf-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(160, 200, 255, 0.18);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 16px 60px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
}

#sf-widgetRoot:focus-visible .sf-card {
  outline: 2px solid rgba(255, 210, 166, 0.55);
  outline-offset: 4px;
}

.sf-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 14px;
}

.sf-h1 {
  margin: 0;
  font-size: 1.6rem;
  letter-spacing: 0.2px;
  font-weight: 750;
}

.sf-sub {
  color: var(--muted);
  font-size: 0.86rem;
  margin-top: 6px;
  line-height: 1.35;
  max-width: 48ch;
}

.sf-grid {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 16px;
  align-items: start;
}

.sf-wrap.sf-expanded .sf-grid {
  grid-template-columns: 360px 1fr;
}

@media (max-width: 760px) {
  .sf-grid {
    grid-template-columns: 1fr;
  }
  .sf-wrap.sf-expanded .sf-grid {
    grid-template-columns: 1fr;
  }
}

.sf-left {
  border-radius: 16px;
  border: 1px solid rgba(160, 200, 255, 0.15);
  background: rgba(0, 0, 0, 0.12);
  padding: 14px;
  position: relative;
  overflow: visible;
}

.sf-left::before {
  content: "";
  position: absolute;
  inset: -80px;
  background:
    radial-gradient(closest-side at 40% 35%, rgba(255, 207, 102, 0.16), transparent 60%),
    radial-gradient(closest-side at 75% 70%, rgba(255, 210, 166, 0.14), transparent 62%);
  pointer-events: none;
}

.sf-sunRow {
  display: flex;
  gap: 14px;
  align-items: center;
  position: relative;
}

.sf-sunSvg {
  width: 150px;
  height: 150px;
  display: block;
  filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.45));
  transition: width 0.22s ease, height 0.22s ease;
}

.sf-wrap.sf-expanded .sf-sunSvg {
  width: 190px;
  height: 190px;
}

.sf-phaseInfo {
  position: relative;
  flex: 1;
  min-width: 0;
}

#sf-flareName {
  font-size: 1.4rem;
  font-weight: 820;
  margin: 2px 0 6px;
  line-height: 1.1;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded #sf-flareName {
  font-size: 1.95rem;
}

#sf-flareMeta {
  color: var(--muted);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.45;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded #sf-flareMeta {
  font-size: 1.0rem;
}

.sf-mystic {
  margin-top: 10px;
  font-size: 1.0rem;
  line-height: 1.55;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(160, 200, 255, 0.16);
  background: rgba(18, 26, 51, 0.55);
  color: #ffe7c2;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded .sf-mystic {
  font-size: 1.1rem;
}

.sf-right {
  border-radius: 16px;
  border: 1px solid rgba(160, 200, 255, 0.15);
  background: rgba(0, 0, 0, 0.10);
  padding: 14px;
}

.sf-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.sf-pill {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(160, 200, 255, 0.16);
  background: rgba(18, 26, 51, 0.45);
  color: var(--muted);
  font-size: 0.85rem;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded .sf-pill {
  font-size: 0.95rem;
}

.sf-pill b {
  color: var(--text);
  font-weight: 780;
}

.sf-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 6px;
}

@media (max-width: 520px) {
  .sf-list {
    grid-template-columns: 1fr;
  }
}

.sf-phaseCard {
  border: 1px solid rgba(160, 200, 255, 0.14);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(18, 26, 51, 0.36);
  transition: padding 0.22s ease;
}

.sf-wrap.sf-expanded .sf-phaseCard {
  padding: 12px 14px;
}

.sf-phaseCard .sf-t {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.sf-phaseCard .sf-n {
  font-weight: 760;
  font-size: 0.9rem;
  color: #e9f1ff;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded .sf-phaseCard .sf-n {
  font-size: 1.08rem;
}

.sf-phaseCard .sf-pct {
  font-size: 0.8rem;
  color: var(--muted);
  white-space: nowrap;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded .sf-phaseCard .sf-pct {
  font-size: 0.92rem;
}

.sf-d {
  font-size: 0.95rem;
  color: #fff0d6;
  line-height: 1.45;
  font-weight: 600;
  transition: font-size 0.22s ease;
}

.sf-wrap.sf-expanded .sf-d {
  font-size: 1.05rem;
}

.sf-footerNote {
  margin-top: 10px;
  color: rgba(200, 220, 255, 0.65);
  font-size: 0.8rem;
  line-height: 1.45;
}

.sf-hr {
  height: 1px;
  background: rgba(160, 200, 255, 0.16);
  border: 0;
  margin: 12px 0;
}

    /* CONTENT STYLE */


  .content-box{
    width: min(860px, 92vw);
    margin: 20px auto;
    padding: clamp(14px, 2.2vw, 18px);
    border-radius: var(--radius);
    background: var(--glass);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .title{
    margin: 0 0 10px;
    font-size: clamp(18px, 2.2vw, 22px);
    line-height: 1.2;
    font-weight: 500;
    color: rgba(255,255,255,.96);
    letter-spacing: .2px;

  }
  .title-pics{
    font-family: 'Cinzel Decorative', serif;
      font-size: clamp(24px, 6vw, 32px);
      font-weight: 900;
      line-height: 1.1;
      letter-spacing: 0.04em;
      background: linear-gradient(135deg, #f5e4a0 0%, #e8c84a 30%, #ffffff 50%, #e8c84a 70%, #f5e4a0 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      filter: drop-shadow(0 0 30px rgba(232,200,74,0.55));
      margin-bottom: 0.6rem;
      animation: fadeUp 1.4s ease forwards, titleGlow 4s ease-in-out infinite alternate;
      animation-delay: 0.9s, 2.3s;
      padding: 40px 24px 24px 24px;
      opacity: 0;
    
  }
  .image{
    height: clamp(360px, 26vw, 630px);
    border-radius: calc(var(--radius) - 3px);
    background-size: contain;
    background-position: center;
     background-repeat:no-repeat;
    border: 1px solid var(--border);
    box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
    margin-bottom: 12px;
  }

  .description{
    border-radius: calc(var(--radius) - 3px);
    border: 1px solid var(--border);
    background: rgba(0,0,0,.12);
    box-shadow: 0 1px 0 rgba(255,255,255,.06) inset;
    padding: clamp(11px, 2vw, 12px); 
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;  
      font-size: clamp(15px, 1.8vw, 20px);
      color: rgba(249, 230, 251, 0.8);
      font-weight: 100;
  
      margin-top: 8px;
      line-height: 1.5;
  }

  .description p{
    margin: auto;
    line-height: 1.55;
    font-size: clamp(20px, 1.8vw, 25px);
    color: rgba(255,255,255,.88);  
    font-family: 'Cinzel', serif;
    font-weight: 700;
     
       width: min(560px, 60vw);
      color: var(--gold);
      opacity: 1.9;
     
  }

  .content-box::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius: var(--radius);
    pointer-events:none;
    border: 1px solid rgba(255,255,255,.08);
  }

  .content-box:hover{
    border-color: var(--border-2);
  }
/* --- Click-to-enlarge (uses .enlarged on .content-box) --- */

.content-box{
  /* so the scaled image can sit above neighbors */
  position: relative;
}

.content-box .image{
  cursor: zoom-in;
  transition: transform 250ms ease, z-index 250ms ease, box-shadow 250ms ease;
  transform-origin: center;
}

.content-box.enlarged .image{
  cursor: zoom-out;
  transform: scale(1.45); /* increase/decrease to taste */
  z-index: 10;
  /* optional: give it a little pop when enlarged */
  box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset,
              0 10px 40px rgba(0,0,0,.35);
}

/* Optional: prevent layout shifting/gaps when scaling */
.content-box .image{
  display: block;
}

/* If your .content-box is inside a grid/flex, this helps prevent overflow clipping */
.content-box{
  overflow: visible;
}

  /*GLASS BUTTON*/
  .glass-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:10px;
  padding:12px 18px;
  border-radius:var(--radius);
  text-decoration:none;
  color:var(--gold-glow);
  font-weight:400;
  letter-spacing:.2px;

  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.25);

  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}




.glass-btn:hover{
  transform: translateY(-1px);
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.32);
  box-shadow:
    0 14px 40px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.28);
}

.glass-icon{
  width:100px;
  height:100px;
  object-fit:contain;
}

.glass-text{
  line-height:1;
  font-size:20px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;  

}

.glass-text-color {

 font-weight:700;
   color:var(--rose-glow);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;  

}
.top-row{
  display: flex;
  align-items: center;   /* vertical centering */
  justify-content: center;
}

.back-to-top{
  flex: 0 0 auto;
}

.glass-btn {
  margin: 0 10px;       /* spacing between svg and button */
  display: inline-flex;
  align-items: center;  /* vertical centering inside the button */
  justify-content: center;
}
.button-grid{
  display: flex;
  gap: 24px;           /* space between the 3 columns */
  align-items: flex-start;
}

.button-tile{
  display: flex;
  flex-direction: column; /* makes label go under the button */
  align-items: center;    /* center the label under the button */
}

.button-label{
  margin-top: 8px;        /* spacing between button and text */
}

.rosecolor {

 font-weight:500;
   color:var(--rose-glow);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; 
    font-style: italic; 

}
/* GLASS BUTTON (renamed to avoid clashes) */
.glass-btn-2{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:10px;
  padding:12px 18px;
  border-radius:var(--radius);
  text-decoration:none;

  /* RED text/icon hue */
  color: #ffd1d1;
  font-weight:400;
  letter-spacing:.2px;

  background:rgba(255, 255, 255, .12);
  border:1px solid rgba(255, 120, 120, .35);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.25);

  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
/* transparent red glass button (text/icon gold) */
.glass-btn-2{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:10px;
  padding:12px 18px;
  border-radius:var(--radius);
  text-decoration:none;

  /* gold text */
  color: #f6e7a7;
  font-weight:400;
  letter-spacing:.2px;

  /* red transparent glass */
  background: rgba(255, 70, 70, 0.12);
  border: 1px solid rgba(255, 70, 70, 0.30);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.22);

  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* hover: gray transparent glass; text stays gold */
.glass-btn-2:hover{
  transform: translateY(-1px);
  background: rgba(200, 200, 200, 0.18);   /* transparent gray */
  border-color: rgba(200, 200, 200, 0.40);

  box-shadow:
    0 14px 40px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.28);
}

/* If your SVG uses currentColor, this makes it gold without images */
.glass-btn-2 .glass-icon-2{
  width: 100px;
  height: 100px;
  display:block;

  /* SVG inherits button text color */
  color: #f6e7a7;

  /* make strokes/paths pop */
  filter: drop-shadow(0 0 10px rgba(243, 217, 137, .35));
}

/* gold text */
.glass-btn-2 .glass-text-color-2{
  color:#f3d989;
  font-weight:700;
  text-shadow: 0 0 12px rgba(243, 217, 137, .35);
}
/* blue transparent glass button (text/icon gold; hover gray glass) */
.glass-btn-3{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:10px;
  padding:12px 18px;
  border-radius:var(--radius);
  text-decoration:none;

  /* gold text */
  color: #f6e7a7;
  font-weight:400;
  letter-spacing:.2px;

  /* blue transparent glass */
  background: rgba(70, 130, 255, 0.12);
  border: 1px solid rgba(70, 130, 255, 0.30);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.22);

  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.glass-btn-3:hover{
  transform: translateY(-1px);
  background: rgba(200, 200, 200, 0.18);   /* transparent gray */
  border-color: rgba(200, 200, 200, 0.40);

  box-shadow:
    0 14px 40px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.28);
}

/* SVG icon (no img) — inherits button text color */
.glass-btn-3 .glass-icon-3{
  width: 100px;
  height: 100px;
  display:block;

  color: #f6e7a7;

  filter: drop-shadow(0 0 10px rgba(243, 217, 137, .35));
}

/* gold text */
.glass-btn-3 .glass-text-color-3{
  color:#f3d989;
  font-weight:700;
  text-shadow: 0 0 12px rgba(243, 217, 137, .35);
}

.image-text-wrap{
  position: relative;
  display: inline-block; /* or block; depends on your layout */
}

.base-img{
  display: block;
  width: 100%;
  height: auto;
margin:auto 0;
}

.overlay-text{
  position: absolute;
  inset: 0;              /* fill the image */
  display: flex;
  align-items: center;  /* vertical center */
  justify-content: center; /* horizontal center */
    font-family: 'Cinzel Decorative', serif;
      font-size: clamp(26px, 5vw, 30px);
   font-style: italic;
      line-height: 1.1;
      letter-spacing: 0.02em;
  color: #000;
  font-weight: 900;
  text-align: center;
  padding: 12px;

  /* Optional: helps black text stay readable */
  text-shadow: 0 1px 0 rgba(255,255,255,0.4);
}

            }
}
.sticky-footer{
    position: relative;
     font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    width:100%;
    left: 0;
    right: 0;
    bottom: 0;
    backdrop-filter: blur(6px);          /* optional, nicer on supported browsers */
    -webkit-backdrop-filter: blur(6px);  /* optional */
    padding: 12px 16px;
    text-align: center;
    z-index: 1;
    color: #fff;
  }
.footer-inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px 10px;
}

.footer-inner span:not(:last-child)::after{
  content: "•";
  margin-left: 10px;
  opacity: .5;
}

.sticky-footer a{
  text-decoration: none;
  color: #fff; /* default */
  
}

.sticky-footer a:hover{
  color: #ff6a00; /* hover color */
 
}
 }

    @media (max-width: 600px) {
      .button-row { flex-direction: column; align-items: center; }
      
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: 0.01ms !important; }
    }