/* === RESTORED CSS FOR CHAMBER I, II & III – INCLUDING SEAL FADE === */

  /* CHAMBER I – Golden to Clay Gradient + Parchment Interior */
  #chamber-1 {
    background: radial-gradient(circle at center, #fef6e4 0%, #fde3a7 25%, #f9c87c 50%, #f2a25c 75%, #d1773a 100%);
    padding: 96px 0;
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;
    z-index: 1;
  }

  .chamber-1 {
    background: none;
    padding: 48px 24px;
    font-family: 'Georgia', serif;
    color: #2d1003;
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .subtitle {
    font-size: 1.35rem;
    font-style: italic;
    color: #444;
    margin-top: 0.5rem;
  }

  .chamber-1 h2,
  .chamber-1 h3,
  .chamber-1 p {
    color: #2d1003;
  }

  /* CHAMBER II – Blue Gradient Strip + Parchment Interior */
  #chamber-2 {
    background: radial-gradient(circle at center, #eaeff7 0%, #b4c5d9 45%, #2d2d3a 100%);
    padding: 96px 0;
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;
    z-index: 1;
  }

  .chamber-2 {
    background: none;
    padding: 48px 24px;
    font-family: 'Georgia', serif;
    color: #132520;
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .chamber-2 h2,
  .chamber-2 h3,
  .chamber-2 p {
    color: #132520;
  }

  /* CHAMBER II – Watercolor Divider Enhancement */
  .watercolor-band {
    background: radial-gradient(circle at center, #e0eaf5 0%, #b6c5d6 45%, #2e2e3c 100%);
    padding: 160px 0 100px 0;
    /* extra top + bottom padding */
    margin-bottom: 60px;
    position: relative;
    text-align: center;
  }

  .watercolor-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("Zen Moon seal.png") no-repeat center;
    background-size: 88px;
    opacity: 0.08;
    z-index: 0;
  }

  .watercolor-band>* {
    position: relative;
    z-index: 1;
  }

  /* Center-aligned quote + seal after Chamber II */
  .final-zenmoon-quote {
    text-align: center;
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 60px auto 12px auto;
    color: #1f1f1f;
  }

  .final-zenmoon-seal {
    display: block;
    margin: 8px auto 80px auto;
    width: 88px;
    opacity: 1;
  }

.header-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 64px;
  padding-bottom: 32px;
  margin-bottom: 48px;
}

.header-container h1 {
  font-size: 2rem;
  margin-bottom: 8px;
  font-family: 'Georgia', serif;
}


  .header-container .subtitle {
    font-size: 1.1rem;
    font-style: italic;
    color: #444;
    margin-bottom: 24px;
  }

  .icon-divider {
    margin: 24px auto;
  }

  /* === SWIRL FINAL ENHANCEMENTS – CENTERED + SPACED === */
  .header-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 48px;
  }

  .header-swirl {
    margin: 24px auto;
    max-width: 280px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .header-swirl img {
    width: 100%;
    height: auto;
  }

  .header-text {
    text-align: center;
    margin-top: 16px;
    font-size: 1.7rem;
    font-weight: bold;
    font-family: 'Georgia', serif;
    color: #2d1003;
  }

  .donation-block {
    text-align: center;
    margin-top: 2.5rem;
    margin-bottom: 2rem;
    font-size: 1rem;
    color: #6b2e1f;
    font-style: italic;
  }


  /* === Transitional Dharma Reflection Block – Between Chamber I & II === */
  .chamber-transition.dharma-reflection {
    background: #fdf7ef;
    padding: 80px 32px 72px;
    border-top: 2px solid #e6d3b3;
    border-bottom: 2px solid #e6d3b3;
    font-family: 'Georgia', serif;
    text-align: center;
    color: #3c2b20;
    max-width: 880px;
    margin: 0 auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.03);
    border-radius: 14px;
    line-height: 1.8;
    font-size: 1.1rem;
    transition: all 0.4s ease;
  }

  .chamber-transition.dharma-reflection h2 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 24px;
    color: #2d1b0f;
  }

  .chamber-transition.dharma-reflection p {
    margin: 14px 0;
  }

  /* === Grounding Seal Under Dharma Block === */
  .zen-seal.under-dharma {
    width: 80px;
    margin: 40px auto 100px;
    opacity: 0.055;
    background-image: url('Zen Moon seal.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    pointer-events: none;
    animation: fadeIn 3s ease-in;
  }

  .final-zenmoon-seal {
    display: block;
    margin: 0.5rem auto 1.5rem;
    /* top | sides | bottom */
    width: 80px;
  }

  .seal-spacer-tight {
    margin-top: -45px;
    /* Pulls it upward */
    padding-top: 0;
  }

/* === Watercolor Dharma Block (merged) === */
.chamber-section {
  /* New visuals */
  background: linear-gradient(to bottom, #fff4e3 0%, #e8e2df 100%);
  padding: 88px 32px;
  margin: 96px auto 96px;

  /* Brought over from old block for layout/typography */
  max-width: 880px;
  text-align: center;
  font-family: 'Georgia', serif;

  /* Keep from new */
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.chamber-section h2 {
  color: #3d372c;
  font-size: 1.7rem;      /* new sizing */
  margin-bottom: 28px;    /* new spacing */
}

.chamber-section p {
  color: #3b3226;
  font-size: 1.12rem;     /* new sizing */
  line-height: 1.85;      /* new line-height */
  margin: 18px 0;         /* new spacing */
}

  @keyframes subtleFade {
    from {
      opacity: 0;
      transform: translate(-50%, -54%);
    }

    to {
      opacity: 0.045;
      transform: translate(-50%, -50%);
    }
  }

  /* === CHAMBER II ENHANCEMENTS === */

  /* Refined paragraph sizing for Chamber II */
  .chamber-2 p {
    font-size: 1.15rem;
    line-height: 1.85;
    color: #2e3a34;
    /* softened dark green-gray tone */
    margin-bottom: 18px;
  }

  /* Optional: slightly increase h2 size for better visual balance */
  .chamber-2 h2 {
    font-size: 1.75rem;
    color: #1d2b27;
    margin-bottom: 24px;
  }


  /* Dual Haiku + Dharma Sidebar Styling */

  .haiku-group {
    display: flex;
    flex-direction: column;
    gap: 64px;
    max-width: 800px;
    margin: 0 auto 80px;
  }

.haiku-block {
  margin: 64px auto 48px;
  padding: 48px 24px;
  background: linear-gradient(to bottom, #faf7f3, #eeeae4);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  text-align: center;
  position: relative;
  font-family: 'Georgia', serif;
  z-index: 1; /* keep content above the faint seal */
}


  .haiku-block h3 {
    font-size: 1.4rem;
    color: #423b30;
    margin-bottom: 24px;
    font-weight: 600;
  }

  .haiku-line {
    font-size: 1.15rem;
    font-style: italic;
    color: #2a2620;
    margin: 10px 0;
  }

  .haiku-block::before {
    content: "";
    background-image: url('Zen Moon seal.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.035;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
  }
.dharma-sidebar {
  font-family: 'Georgia', serif;
  font-size: 1rem;
  color: #3a2a1b;
  border-left: 3px solid #9e8f7c;
  padding: 16px 24px 8px 24px;
  margin: 48px auto;
  background: rgba(250, 248, 240, 0.75);
  max-width: 720px;
  text-align: left;
  line-height: 1.7;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

    /* Adjust bottom spacing for Dharma Sidebar signature */
    .signature-block {
      margin-bottom: 4px;
      padding-bottom: 0;
    }


  .dharma-sidebar em {
    display: block;
    margin-top: 12px;
    font-style: italic;
    color: #635747;
  }

  /* Zen Flows Block – Enhanced Typography */
  .zen-flows-block {
    font-size: 1.28rem;
    line-height: 1.85;
    color: #132520;
    font-family: 'Georgia', serif;
    max-width: 880px;
    margin: 0 auto 64px;
    text-align: center;
  }

  .zen-flows-block h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 24px;
    color: #132520;
  }

  .haiku-signature {
    margin-top: 20px;
    font-size: 0.95rem;
    font-style: normal;
    color: #5a5144;
  }

  .signature-block {
    position: relative;
    padding-bottom: 120px;
    /* extra space for the seal */
    text-align: center;
    color: #333;
    font-family: 'Georgia', serif;
    font-size: 1rem;
    z-index: 1;
  }

  .signature-block::after {
    content: "";
    background-image: url('Zen%20Moon%20seal.png');
    background-repeat: no-repeat;
    background-size: 80px;
    background-position: center bottom;
    opacity: 0.2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100px;
    width: 100px;
    z-index: 0;
  }

  .signature-block.no-seal::after {
    display: none;
  }

  /* ✅ Unified Chamber II Header Block */
  .chamber2-header-block {
    text-align: center;
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
  }

  .chamber2-header-block h2 {
    font-family: Georgia, serif;
    font-size: 2.2rem;
    font-weight: bold;
    color: #210100;
    margin-bottom: 0.25rem;
  }

  .chamber2-header-block p {
    font-style: italic;
    font-size: 1.35rem;
    color: #8a2c0d;
    margin: 0;
    /* Removes unnecessary spacing */
  }

  /* 📘 Chamber II Header Styling */
  .chamber-title.chamber-2 h2 {
    font-family: Georgia, serif;
    font-size: 2rem;
    font-weight: bold;
    color: #210100;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 0.25em;
  }

  /* Chamber II Closing Block */
  .subtext {
    text-align: center;
    font-size: 1.1rem;
    font-style: italic;
    color: #8a2c0d;
    /* Same as intro line */
    margin-top: 3em;
    margin-bottom: 0.5em;
  }


  .signature-block {
    text-align: center;
    font-size: 1rem;
    font-family: Georgia, serif;
  }

  .signature-block .line1 {
    font-weight: bold;
    margin-bottom: 2px;
  }

  .signature-block .line2 {
    font-style: italic;
    color: #555;
  }

/* Zoom toggle button */
.zoom-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  font-size: 1.2rem;
  padding: 6px 12px;
  background-color: #f5f0e6;
  border: 1px solid #d6d1c4;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  transition: background 0.3s ease, transform 0.2s ease, opacity 0.3s ease;
  opacity: 1;
}
.zoom-toggle:hover {
  background-color: #e0dbd0;
  transform: scale(1.05);
}
/* Hidden while scrolling down */
.zoom-toggle.hidden {
  opacity: 0;
  pointer-events: none;
}
/* Mobile position */
@media (max-width: 600px) {
  .zoom-toggle { top: auto; bottom: 20px; right: 20px; }
}

/* Zoomed state */
.chamber.zoomed { font-size: 1.3rem; line-height: 1.9; }
/* Smooth type scaling */
.chamber { transition: font-size 0.3s ease, line-height 0.3s ease; }


  /* Hidden state for scroll fade */
  .zoom-toggle.hidden {
    opacity: 0;
    pointer-events: none;
  }

  /* Founding Values Section */
  .founding-values {
    color: #f5f0e6;
    /* soft gold/ochre tone */
    font-family: 'Georgia', serif;
    margin-top: 2.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top: 1px solid #d6c9a4;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .founding-values h3,
  .founding-values h4 {
    color: #f5f0e6;
    margin-top: 1.5rem;
    font-weight: 600;
  }

  .founding-values p {
    margin-top: 1rem;
    line-height: 1.6;
    font-size: 1.05rem;
  }
/* Final Closing Block Styles */
.closing-block {
  background-color: #f8f8ff;
  padding: 2rem 1.5rem;
  max-width: 800px;
  margin: 4rem auto 2rem auto;
  position: relative;
  border-radius: 12px;
  animation: fadeInClosing 1.5s ease;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  text-align: center;
}

  /* Optional Zen Seal Watermark Behind */
/* Option 1: Watermark Behind */
.closing-block::before {
  content: "";
  background-image: url("Zen Moon seal.png");
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.05;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  pointer-events: none;
}

  .final-authorship-statement.vermillion-text {
    font-weight: bold;
    font-size: 1.4rem;
    color: #e34234;
    background-color: transparent;
    text-align: center;
    margin: 1.2rem auto 1rem auto;
    /* reduce top and bottom margin */
  }

  .dharma-room-teaser {
    font-size: 1rem;
    color: #555;
    font-style: italic;
  }

  .micro-signature {
    font-size: 1.4rem;
    font-style: italic;
    color: #4b2e1e;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 1.2rem;
    line-height: 1.6;
  }

  .closing-block {
    background-color: #f4f0fb;
    /* soft lavender */
    padding: 2rem;
    border: 2px solid #e34234;
    margin-top: 2rem;
    text-align: center;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }

  .donorbox-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 1.2rem;
    /* adjust as needed */
  }


 /* ✨ Tagline styling – base + mobile responsive */
  .subtitle {
    font-size: 1.7rem;
    /* Slightly larger for elegance */
    font-style: italic;
    font-weight: 400;
    color: #444;
    letter-spacing: 0.3px;
    /* Adds subtle breath */
    margin-bottom: 0.4rem;
    text-align: center;
  }


  .tagline+.swirl-divider {
    margin-top: 0.4rem;
  }

  /* 🌿 Mobile-only refinements */
  @media (max-width: 600px) {
    .subtitle {
      margin-top: 2.5rem !important;
      margin-bottom: 0.75rem !important;
      font-size: 1.35rem !important;
    }

    .swirl-divider {
      margin-top: -0.25rem !important;
      margin-bottom: 0.25rem !important;
    }
  }

  .future-dharma {
    font-size: 1.2rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    margin-top: 1rem;
  }

  @media (max-width: 600px) {
    .future-dharma {
      font-size: 1.05rem;
      line-height: 1.55;
    }
  }

  .donation-section {
    text-align: center;
    margin-top: 2.5rem;
    margin-bottom: 2rem;
  }

  .wallet-link {
    color: #c27615 !important;
    text-decoration: none;
    font-size: 1.1rem;
  }

  .wallet-link:hover {
    text-shadow: 0 0 8px #ffd700;
  }

  .glowing-moon {
    animation: glow 2s infinite ease-in-out;
    font-size: 1.2rem;
    display: inline-block;
    margin: 0 0.4rem;
  }

  @keyframes glow {

    0%,
    100% {
      opacity: 0.6;
    }

    50% {
      opacity: 1;
    }
  }
  .wallet-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 1rem;
  }

.wallet-link {
  color: #0645AD !important;            /* classic blue link */
  font-size: 1.15rem;
  font-weight: 600;
  text-decoration: underline !important; /* force underline */
  text-underline-offset: 3px;
  display: inline;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  text-align: center;
  cursor: pointer;
}

.wallet-link:hover,
.wallet-link:focus {
  color: #0B0080 !important;             /* darker blue on hover/focus */
  text-decoration: underline !important;
}



  /* ✅ Unified Styling for Donation Block (Mobile + Desktop) */
  .donation-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 3rem auto;
    text-align: center;
  }

  .donation-block img {
    margin: 1.6rem auto 2rem auto;
    width: 140px;
    height: auto;
  }
  .donation-note {
    font-size: 1.15rem;
    line-height: 1.6;
    font-weight: 500;
    text-align: center;
    padding: 0 1.2rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .donation-text {
    font-size: 1.05rem;
    line-height: 1.5;
    font-style: italic;
    color: #663300;
    text-align: center;
    padding: 0 1.2rem;
    margin-bottom: 0.6rem;
  }


    .glowing-moon {
      display: flex;
      justify-content: center;
      margin: 0 auto 1rem auto;
    }
  

    /* 🔒 Hidden class */
    .hidden {
      display: none;
    }

/* ✨ Thank-You Message Styling */
#thankYouMessage {
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
  color: #fff3e6;
  background: none;
  padding: 1rem;
  margin: 2.5rem auto 2rem;
  width: 400px;
  max-width: 90%;

  /* visibility + motion */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;

  /* initial display state */
  display: none;
}

/* 🌟 When visible */
#thankYouMessage.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  display: block;
  pointer-events: auto;
  animation: subtleGlow 2s ease-in-out infinite alternate; /* keep your glow */
}


    /* ✨ Glowing Animation */
    @keyframes subtleGlow {
      from {
        text-shadow: 0 0 4px #ffd9b3, 0 0 8px #ffc699;
      }

      to {
        text-shadow: 0 0 8px #ffcc99, 0 0 12px #ffb366;
      }
    }

.lineage-text {
  text-align: center;
  font-style: italic;
  color: #a62100; /* vermillion for authorship dignity */
  margin: 2.5rem 0 1.5rem 0;
  letter-spacing: 0.05em; /* subtle calligraphic spacing */
  font-size: 1.4rem;
  opacity: 0;
  animation: fadeInSeal 2s ease forwards;
  animation-delay: 0.5s; /* match seal’s timing for harmony */
}

@keyframes fadeInSeal {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.signature-line {
  display: block;
  font-size: 1.02em; /* Slightly larger than body */
  font-style: italic;
  font-weight: 500;
  color: #a12300; /* Deep vermillion */
  margin: 1.5rem auto 2rem auto; /* Balanced breathing space */
  letter-spacing: 0.5px; /* Calligraphic feel */
  text-align: center;
  max-width: 80%; /* Prevents overlong lines on large screens */

  /* Fade in with seal */
  opacity: 0;
  animation: fadeInSignature 2s ease forwards;
  animation-delay: 0.5s; /* Matches seal timing */
}

@keyframes fadeInSignature {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}


@keyframes fadeInSignature {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Skip link: visible when tabbed */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
  z-index: 10000;
  background: #ffffff;
  color: #000;
  padding: .5rem .75rem;
  border: 2px solid #000;
  border-radius: .25rem;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* Obvious keyboard focus */
:focus-visible {
  outline: 3px solid #0a66c2;
  outline-offset: 2px;
}

/* === CHAMBER III — Restore original look (CSS-only, no HTML changes) === */

/* 1) Give the chamber breathing space + side gutters so it’s not flush left */
#chamber-3{
  padding: 96px 48px 88px !important;            /* top/side/bottom like the original */
  background: radial-gradient(circle at 40% 10%, #262544 0%, #1f1e38 45%, #1b1a33 100%) !important;
  color: #f5d285;
  font-family: Georgia, serif;
}

/* If earlier rules forced full-bleed via :has(), neutralize them here */
.room-container:has(iframe[src*="donorbox.org"]){
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important; /* background handled by #chamber-3 */
}

/* 2) Constrain inner areas but keep chamber background full-bleed */
#chamber-3 .header-container,
#chamber-3 .section,
#chamber-3 .donation-section,
#chamber-3 .founding-values{
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

/* 3) Type scale + colors */
#chamber-3 .header-container h1{
  font-size: clamp(2.4rem, 3.6vw, 2.9rem);
  line-height: 1.15;
  margin: 0 0 1rem;
  color: #f5d285 !important; /* ochre */
  text-align: left;
}
#chamber-3 .header-container h2{               /* “ZenEnergy Organization” under logo */
  color: #f6f4ef !important;                    /* white */
  font-size: clamp(1.35rem, 2.2vw, 1.6rem);
}
#chamber-3 h2{                                  /* section headings */
  color: #f5d285 !important;
  font-size: clamp(1.35rem, 2.2vw, 1.6rem);
  margin: 1.25rem 0 .75rem;
  text-align: left;
}
#chamber-3 h3{
  color: #f5d285 !important;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  margin: 1rem 0 .5rem;
  text-align: left;
}
#chamber-3 p,
#chamber-3 li{
  font-size: 1.08rem;
  line-height: 1.75;
  color: #f5d285;
  text-align: left;
}

/* Make the “Founding Statement: About ZenEnergy Organization” header white */
#chamber-3 .founding-values > h3{
  color: #f6f4ef !important;                    /* white as in the original */
}

/* 4) Swirl width/appearance close to original */
#chamber-3 .swirl-divider{
  margin: 28px 0 36px !important;
}
#chamber-3 .swirl-divider svg{
  width: min(88vw, 1100px);
  height: auto;
  stroke: #c9c3b6 !important;
  stroke-width: 6 !important;
  opacity: .92 !important;
  filter: none !important;
  transform: none !important;
}

/* 5) HR like original */
#chamber-3 hr{
  border: 0;
  border-top: 1px solid #b89a64;
  width: min(90%, 980px);
  margin: 2rem auto;
  opacity: .75;
}

/* 6) Donation: left-align headings/text, center the iframe, hide fallback text */
#chamber-3 .donation-section{ text-align: left !important; }

#chamber-3 .donorbox-wrapper{
  display: flex !important;
  justify-content: center !important;           /* centers the widget */
  margin: 44px auto 24px !important;
}
#chamber-3 .donorbox-wrapper iframe{
  display: block !important;
  margin: 0 auto !important;
  max-width: 520px !important;
  width: 100% !important;
}

/* Hide the inline sentence “If the donation form does not load…” */
#chamber-3 .donorbox-wrapper > p{
  display: none !important;
}

/* 7) Links match ochre tone */
#chamber-3 a{ color: #f5d285; text-decoration: underline; text-underline-offset: 2px; }

/* 8) Mobile tweak */
@media (max-width: 600px){
  #chamber-3{ padding: 72px 18px 64px !important; }
}


/* === CHAMBER I — QR + wallet-copy sizing (final) === */

/* Make the QR image the smaller original size + center it */
#chamber-1 img[alt*="QR"],
#chamber-1 img[alt*="qr"],
#chamber-1 img[src*="QR"],
#chamber-1 img[src*="qr"],
#chamber-1 .qr img {
  width: 112px !important;   /* ≈ original */
  height: auto !important;
  display: block;
  margin: 10px auto 0;
}

/* Enlarge the three caption lines above the QR (“wallet fuels…”, “Note…”, and the
   short ‘zensupport.eth’ line). This targets the <p> siblings right after the micro-signature. */
#chamber-1 .micro-signature + p,
#chamber-1 .micro-signature + p + p,
#chamber-1 .micro-signature + p + p + p {
  font-size: clamp(1.06rem, 0.98rem + 0.35vw, 1.28rem) !important;
  line-height: 1.7;
  text-align: center;
  max-width: 680px;
  margin: 8px auto;
}

/* Make the single “zensupport.eth” line a touch tighter and clearly centered
   (will apply if it's a link or plain text). */
#chamber-1 .micro-signature + p + p + p,
#chamber-1 .wallet-link {
  letter-spacing: 0.01em;
  display: block;
  margin: 10px auto 14px !important;
  text-align: center;
}

/* === CHAMBER I — captions + QR (final override) === */
#chamber-1 .lineage-text,
#chamber-1 .micro-signature{
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  letter-spacing: 0.015em;
}

/* Band line */
#chamber-1 .lineage-text{
  font-size: clamp(1.32rem, 1.08rem + 0.90vw, 1.90rem) !important;
  line-height: 1.78;
  margin: 12px auto 16px;
}

/* Short line near the QR */
#chamber-1 .micro-signature{
  font-size: clamp(1.48rem, 1.18rem + 1.00vw, 2.10rem) !important;
  line-height: 1.82;
  margin: 14px auto 22px;
}

/* Exact QR size (match original) */
#chamber-1 .wallet-qr img,
#chamber-1 img[src*="qr"],
#chamber-1 img[alt*="QR"]{
  width: 120px !important;
  height: 120px !important;
  display: block;
  margin: 10px auto 18px;
}

/* Wallet link tone */
#chamber-1 .wallet-link{
  color: #6b2e1f !important;
  text-decoration: none;
}
#chamber-1 .wallet-link:hover{ text-decoration: underline; }

/* FINAL OVERRIDE: Chamber I one-liners */
#chamber-1 .lineage-text,
.chamber-1 .lineage-text {
  font-size: 1.4rem !important;   /* bump to 1.55rem if you want a touch bigger */
  line-height: 1.75 !important;
}

#chamber-1 .micro-signature,
.chamber-1 .micro-signature {
  font-size: 1.4rem !important;   /* bump to 1.55rem if you want a touch bigger */
  line-height: 1.75 !important;
}

.donorbox-fallback {
  text-align: center;
  margin-top: .75rem;
  font-size: 1rem;
}
.donorbox-fallback button {
  margin: 0 .4rem;
  padding: .4rem .75rem;
  border: 1px solid #d6d1c4;
  border-radius: 6px;
  background: #f5f0e6;
  cursor: pointer;
}
.donorbox-fallback button:hover { background: #eae5da; }


/* Visually hidden, still accessible to screen readers */
.sr-only {
  position:absolute !important;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Sidebar heading should look like the old <strong> */
#haiku-block .dharma-sidebar h4 {
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 .5rem 0;
}

/* No faint seal on the sidebar signature */
#haiku-block .signature-block.no-seal::after {
  display: none;
}

/* ===== FINAL PATCH: contain watermark + restore haiku cards ===== */

/* 1) Contain the Dharma watermark to its own block only */
.chamber-section { position: relative !important; }
.chamber-section::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;                     /* keep it inside the block */
  background: url("Zen Moon seal.png") center/72px no-repeat !important;
  opacity:.045 !important;
  pointer-events:none !important;
  z-index:0 !important;
}
/* keep real content above the watermark */
.chamber-section > * { position:relative; z-index:1; }

/* 2) Kill any in-card watermark on the haiku cards */
#haiku-block .haiku-block::before,
#haiku-block .haiku-group::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* HAIKU — Mobile fallback: no overlap, comfy padding */
@media (max-width:700px){
  #haiku-block .haiku-block{
    margin: 28px 16px 0 !important;
    padding: 40px 20px !important;
  }
  #haiku-block .haiku-block + .haiku-block{
    margin-top: 16px !important;
  }
  #haiku-block .haiku-block + .haiku-block::after{
    display: none !important; /* hide seam on phones */
  }
  #haiku-block .dharma-sidebar{
    margin-top: 8px !important; /* breathe under the seal */
  }
}

/* === CHAMBER II — Haiku cards: equal widths, tidy spacing ============== */
#haiku-block .haiku-group{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 36px !important;
  max-width: 1000px !important;
  margin: 0 auto 56px !important;
}

@media (min-width:1024px){
  #haiku-block .haiku-group{
    grid-template-columns: 1fr 1fr !important; /* equal column widths */
    align-items: start !important;
  }
}

#haiku-block .haiku-block{
  position: relative !important;
  margin: 0 !important;
  width: auto !important;                     /* let grid control width */
  box-sizing: border-box !important;
  padding: 56px 28px !important;
  background: linear-gradient(to bottom,#faf7f3,#eeeae4) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.06) !important;
  text-align: center !important;
}

/* kill any old “seam” or watermark rules inside the cards */
#haiku-block .haiku-block::before,
#haiku-block .haiku-block::after{ content:none !important; display:none !important; }

/* === Closing verse + its signature seal ================================== */
#haiku-block .subtext{ 
  margin: 32px auto 8px !important; 
  font-style: italic; 
  color:#8a2c0d !important;
}

#haiku-block .closing-signature{
  position: relative !important;
  margin: 8px auto 0 !important;
  padding-bottom: 96px !important;           /* space for the seal */
  text-align: center !important;
}
#haiku-block .closing-signature::after{
  content:"" !important;
  position: absolute !important;
  left: 50%; bottom: 8px;
  transform: translateX(-50%);
  width: 90px; height: 90px;
  background: url("Zen Moon seal.png") center/78px no-repeat;
  opacity: .18; pointer-events: none;
}

/* === Sidebar card + its own signature seal (under the two lines) ========= */
#haiku-block .dharma-sidebar{
  font-family: 'Georgia', serif;
  font-size: 1rem;
  color: #3a2a1b;
  border-left: 3px solid #9e8f7c;
  padding: 16px 24px 8px 24px;
  margin: 24px auto 48px !important;         /* a little breathing room */
  background: rgba(250,248,240,0.85);
  max-width: 880px;
  text-align: left;
  line-height: 1.7;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

#haiku-block .dharma-sidebar .signature-block{
  position: relative !important;
  text-align: center !important;
  padding-bottom: 92px !important;           /* room for the seal */
}
#haiku-block .dharma-sidebar .signature-block::after{
  content:"" !important;
  position: absolute !important;
  left: 50%; bottom: 8px;
  transform: translateX(-50%);
  width: 90px; height: 90px;
  background: url("Zen Moon seal.png") center/78px no-repeat;
  opacity: .18; pointer-events: none;
}
/* allow explicit opt-out if you ever add `no-seal` again */
#haiku-block .dharma-sidebar .signature-block.no-seal::after{ display:none !important; }

/* Nuke any background watermarks */
#haiku-block .haiku-block::before,
#haiku-block .haiku-group::before,
#haiku-block .dharma-sidebar::before{
  content:none !important; display:none !important; background:none !important;
}

/* Seal only under the two-line signatures */
#haiku-block .closing-signature,
#haiku-block .dharma-sidebar .signature-block{
  position:relative !important;
  padding-bottom:96px !important;  /* space for seal */
}

#haiku-block .closing-signature::after,
#haiku-block .dharma-sidebar .signature-block::after{
  content:"" !important;
  position:absolute !important;
  left:50%; bottom:0; transform:translateX(-50%);
  width:90px; height:90px;
  background:url("Zen Moon seal.png") center/78px no-repeat;
  opacity:.18; pointer-events:none;
}

/* === HAIKU — extra breathing room under the pair & verse/seal === */

/* more space below the two haiku cards before the verse */
#haiku-block .haiku-group{
  margin: 0 auto 96px !important;   /* was ~64px */
}

/* push the verse down from the cards a bit */
#haiku-block .subtext{
  margin-top: 44px !important;      /* was ~28–36px */
}

/* keep the seal clear + add space after the verse block */
#haiku-block .closing-signature{
  padding-bottom: 110px !important; /* room for the seal */
  margin-bottom: 28px !important;   /* gap after the verse block */
}

/* push the Dharma sidebar (“Signal Within the Noise”) further down */
#haiku-block .dharma-sidebar{
  margin-top: 56px !important;      /* larger gap after the verse/seal block */
}

/* mobile: still comfy but a touch tighter */
@media (max-width: 820px){
  #haiku-block .haiku-group{ margin-bottom: 72px !important; }
  #haiku-block .subtext{ margin-top: 36px !important; }
  #haiku-block .dharma-sidebar{ margin-top: 40px !important; }
}
.final-zenmoon-seal{ margin-bottom: 140px !important; }  /* increase floor space */

/* === Chamber II – breathing room tweaks (spacing only) ================= */

/* 1) More space between the *verse seal* and the Haiku cards */
#haiku-block .haiku-group{
  margin-top: 64px !important;     /* was tighter; gives clear air under the vermillion seal */
}

/* 2) More space between the “Signal Within the Noise” card and the big red seal */
#haiku-block .dharma-sidebar{
  margin-bottom: 56px !important;  /* push card away from the standalone seal */
}
.final-zenmoon-seal{
  margin-top: 64px !important;     /* gap above the red seal */
  margin-bottom: 120px !important; /* comfortable floor before Chamber III */
}

/* 3) Keep the faint in-card seal exactly as the 3rd item in the signature stack */
#haiku-block .dharma-sidebar .signature-block{
  padding-bottom: 96px !important; /* room for faint seal inside the card */
}
#haiku-block .dharma-sidebar .signature-block::after{
  left: 50% !important; bottom: 0 !important; transform: translateX(-50%) !important;
  width: 88px !important; height: 88px !important; background-size: 78px !important;
  opacity: .18 !important;
}

/* 4) (Optional) If you still want a touch more air, nudge these two: */
#haiku-block .closing-signature{ margin-bottom: 36px !important; }  /* under the verse */

/* === Spacing below “Signal Within the Noise” before the big red seal === */
#haiku-block .dharma-sidebar{
  margin-bottom: 96px !important;   /* +32px more breathing room */
}

/* If this wrapper exists on the section before the big seal, give it extra air */
.seal-spacer-tight{
  margin-top: 44px !important;      /* was ~26px */
}

/* Push the large red seal down a touch so the gap above it grows */
.final-zenmoon-seal{
  margin-top: 36px !important;      /* was smaller; increases space above seal */
  margin-bottom: 120px !important;  /* keeps room before next chamber */
}

/* === Haiku cards: slightly deeper shadow (to match the Signal card vibe) === */
#haiku-block .haiku-block{
  box-shadow:
    0 14px 36px rgba(0,0,0,.10),
    0 4px 12px rgba(0,0,0,.06) !important;
}

/* (Optional) a bit more room under the two-card bar as a whole */
#haiku-block .haiku-group{
  margin-bottom: 84px !important;
}

/* Mobile keeps the spacing gentle */
@media (max-width: 700px){
  #haiku-block .dharma-sidebar{ margin-bottom: 72px !important; }
  .final-zenmoon-seal{ margin-top: 28px !important; margin-bottom: 96px !important; }
}

/* === Equal breathing room around the big red seal ===================== */
/* remove any extra “spacer” above the seal */
.seal-spacer-tight{ margin-top: 0 !important; }

/* make spacing above and below the seal the same (works with #chamber-3 padding-top:96px) */
.final-zenmoon-seal{
  /* Top gap = 96 (from .dharma-sidebar mb) + 36 = 132
     Bottom gap = 36 + 96 (from #chamber-3 top padding) = 132 */
  margin-top: 36px !important;
  margin-bottom: 36px !important;
}

/* keep a comfortable floor on small screens */
@media (max-width:700px){
  .final-zenmoon-seal{ margin: 28px auto 28px !important; }
}

/* Signal Within the Noise — match haiku card shadow/feel */
#haiku-block .dharma-sidebar{
  /* keep your colors, but use a gentle parchment gradient like the cards */
  background: linear-gradient(to bottom, #faf7f3, #eeeae4) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;  /* same strength as cards */
  border-left: 3px solid #9e8f7c !important;           /* preserve the calligraphic bar */
  border-radius: 12px !important;
}

/* FINAL kill-switch: remove watermark on the standalone “Stillness…” card */
.chamber-section::before{
  content:none !important;
  display:none !important;
  background:none !important;
  opacity:0 !important;
}

/* Transitional bridge card (“Stillness…”) — flat, calm */
.chamber-section{
  box-shadow: none !important;                 /* kill any prior shadow */
  border: 1px solid rgba(0,0,0,.06) !important;/* soft hairline edge */
  border-radius: 12px;
  margin: 96px auto 96px;                      /* generous breathing room */
}

/* Tighter mobile margins */
@media (max-width:700px){
  .chamber-section{ margin: 72px 16px; }
}

/* === A11y patches (append to end) ===================================== */

/* 1) Link contrast + keep visible underline */
.wallet-link{
  color:#6b2e1f !important;            /* AA contrast on light bg */
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wallet-link:hover{ text-shadow:none !important; }

/* 2) Keep zoom button out of the focus order when hidden */
.zoom-toggle.hidden{
  opacity:0;
  pointer-events:none;
  visibility:hidden;                    /* prevents keyboard focus */
}

.donation-qr-btn{ background:none; border:0; padding:0; cursor:pointer; }
.donation-qr-btn:focus-visible{ outline:3px solid #0a66c2; outline-offset:2px; }

/* ✅ Guard to ensure thank-you message shows reliably */
#thankYouMessage.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ✅ Clearer zoomed state so the magnifying glass is obvious */
.chamber.zoomed {
  font-size: 1.38rem;   /* larger than normal */
  line-height: 1.95;    /* extra breathing room */
}

/* ✅ Zoom button toggle animation */
.zoom-toggle.animate {
  transform: scale(1.25);
  transition: transform 0.25s ease;
}

.zoom-toggle.animate:active {
  transform: scale(1.1);
}

/* ✅ Force QR to 80×80 in Chamber 1 */
#chamber-1 .donation-qr,
#chamber-1 .donation-qr-btn .donation-qr {
  width: 80px !important;
  height: 80px !important;
}

/* (optional) If you want 80×80 site-wide, not only in Chamber 1: */
.donation-block .donation-qr {
  width: 80px !important;
  height: 80px !important;
}
/* Slightly increase space above the QR */
.donation-qr {
  margin-top: 20px !important; /* was 10px */
}

/* Gentle affordance: outline on hover/focus */
.donation-qr-btn:focus-visible .donation-qr,
.donation-qr-btn:hover .donation-qr {
  outline: 2px solid rgba(166, 33, 0, 0.35); /* soft vermillion */
  outline-offset: 4px;
  border-radius: 6px;
}

/* === Mobile: subtle side borders + QR size parity === */
@media (max-width: 768px) {
  /* Let the body’s white background show at the sides */
  body { background:#fff; }

  /* Make the parchment wrapper narrower than the viewport and centered.
     This creates the left/right white "borders" like your original. */
  .chamber-wrapper.parchment {
    width: calc(100% - 24px) !important;  /* ~12px border each side */
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Keep inner content comfortably inset so text never hugs edges */
  .chamber,
  .chamber-1,
  .chamber-2,
  .chamber-3,
  .chamber-section,
  .founding-values,
  .zen-flows-block,
  .closing-block {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* Center seals/strip images and prevent overflow (keeps layout symmetric) */
  .gradient-seal-strip { overflow:hidden !important; padding-left:0 !important; padding-right:0 !important; }
  .gradient-seal-strip img,
  .zen-seal.watermark,
  .final-zenmoon-seal {
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
    max-width:100% !important;
    height:auto !important;
    transform:none !important;
  }

  /* Donation readability + QR size to match original feel */
  .donation-text { font-size: 1.08rem; line-height: 1.62; }
  .donation-note { font-size: 1.02rem; line-height: 1.55; }
  .wallet-link   { display:block; margin:8px auto 0; text-align:center; }

  /* Increase QR to ~110px (looks like the original in your screenshot 2) */
  .donation-qr { width: 110px !important; height:auto !important; display:block; margin:12px auto !important; }

  /* Safety: no right-side gutter from wide elements */
  html, body { overflow-x:hidden; }
  img, iframe { max-width:100%; height:auto; }
  .swirl-divider { overflow:hidden; }
  .swirl-divider svg { width:100% !important; max-width:100% !important; height:auto !important; transform:none !important; }
}

/* === FINAL MOBILE POLISH === */
@media (max-width: 768px) {

  /* Slightly bigger base font for readability */
  html { font-size: 17.5px !important; }
  body { line-height: 1.7 !important; }

  /* Donation block fixes */
  .donation-block {
    max-width: 95% !important;   /* let it breathe wider */
    margin: 0 auto 2.5rem auto !important;
    padding: 0 12px !important;
    text-align: center !important;
  }

  .donation-text {
    font-size: 1.18rem !important;
    line-height: 1.7 !important;
  }

  .donation-note {
    font-size: 1.12rem !important;
    line-height: 1.65 !important;
  }

  .wallet-link {
    font-size: 1.2rem !important;
    margin-top: 0.5rem !important;
  }

  .donation-qr {
    width: 110px !important;   /* closer to original eth look */
    height: auto !important;
    margin: 14px auto !important;
  }

  /* Relax side padding on core blocks */
  .chamber,
  .chamber-1,
  .chamber-2,
  .chamber-3,
  .chamber-section,
  .founding-values,
  .zen-flows-block,
  #haiku-block .haiku-group,
  #haiku-block .haiku-block,
  #haiku-block .dharma-sidebar,
  .closing-block {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
/* ✅ Keep "Chamber II: Zen Moon" on one line */
.chamber2-header-block h2 {
  white-space: nowrap;               /* prevent line break */
  font-size: clamp(1.6rem, 5vw, 2.2rem) !important; /* scale gracefully */
  line-height: 1.3 !important;
}

/* === Mobile: Donorbox full render + comfortable insets === */
@media (max-width: 768px) {
  /* Make the donation section/wrapper span the screen width */
  #chamber-3 .donation-section,
  #chamber-3 .donorbox-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;         /* prevent cropping */
  }

  /* Give the wrapper a small side cushion so it aligns with body text */
  #chamber-3 .donorbox-wrapper {
    padding: 0 12px !important;           /* subtle “border”, not boxed-in */
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  
  /* Force the iframe to be responsive and tall enough on iOS Safari */
  #chamber-3 .donorbox-wrapper iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 560px !important;         /* adjust to 600–640 if content still clipped */
    border: 0 !important;
    margin: 0 auto !important;
  }

  /* If any ancestor is clipping horizontally, neutralize it */
  #chamber-3,
  #chamber-3 .section {
    overflow-x: visible !important;
  }
}


/* === Mobile heading hierarchy for Chamber II === */
@media (max-width: 768px) {
  /* Keep the main chamber header the largest */
  .chamber2-header-block h2 {
    /* already on one line from earlier */
    white-space: nowrap;
    font-size: clamp(1.90rem, 6vw, 2.30rem) !important;
    line-height: 1.25 !important;
    letter-spacing: 0.2px;  /* tiny stability on iOS kerning */
  }

  /* Make the Zen Flows subheading clearly smaller than the h2 */
  .zen-flows-block h3 {
    font-size: clamp(1.50rem, 5vw, 1.90rem) !important; /* max never exceeds h2 */
    line-height: 1.28 !important;
    margin-top: 0.6rem !important;
    margin-bottom: 0.75rem !important;
  }
}  /* <— close the Chamber II media query */

/* ===== Chamber I → Gateway to Room 1 ===== */

/* Card container */
.room-link-block {
  text-align: center;
  margin: 3rem auto 2.5rem;
  padding: 2.5rem 1.5rem;
  max-width: 700px;
  border-radius: 14px;
  background: linear-gradient(to bottom, #fffaf0, #fce3b0);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  border-top: 1px solid #d1a974;
  position: relative;
  z-index: 2;
}

.room-link-block h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 2.4vw, 1.55rem);
  line-height: 1.3;
  color: #7d1600;
  word-break: break-word;
}

.room-link-block p {
  margin: 0 auto 1.5rem;
  font-size: clamp(1rem, 2.1vw, 1.1rem);
  line-height: 1.7;
  color: #2d1003;
  max-width: 560px;
}

/* Center the button wrapper */
.room-link-container {
  display: flex;
  justify-content: center;
}

/* Button base */
.room-link-button {
  display: inline-block;
  padding: 0.9rem 2.2rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #a64b2a, #7d1600);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  min-height: 44px;
  text-align: center;

  position: relative;
  z-index: 10;
  filter: none;              /* prevents Safari tap bug */
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Motion transitions (respects reduced-motion) */
@media (prefers-reduced-motion: no-preference) {
  .room-link-button {
    transition:
      background 0.3s ease,
      transform 0.15s ease,
      box-shadow 0.3s ease;
  }
  .room-link-button:hover {
    background: linear-gradient(135deg, #7d1600, #5a0f00);
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.25);
  }
  .room-link-button:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
  }
}

/* Accessible focus */
.room-link-button:focus,
.room-link-button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}

/* Halo effect — pseudo-element layer (never intercepts clicks) */
.room-link-button::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  filter: url(#glowHalo); /* defined in your invisible SVG */
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.room-link-button:hover::before,
.room-link-button:focus-visible::before {
  opacity: 1;
}

/* Mobile refinements */
@media (max-width: 768px) {
  .room-link-block {
    padding: 1.75rem 1rem;
    margin: 2rem 0 1.5rem;
  }
  .room-link-block h2 {
    margin-bottom: 0.75rem;
    white-space: normal;
  }
  .room-link-button {
    width: 100%;
    max-width: 420px;
  }
}

/* Extra-small phones */
@media (max-width: 360px) {
  .room-link-button {
    padding: 0.85rem 1.6rem;
  }
}  /* <-- add this closing brace */


/* === RESTORED CSS FOR CHAMBER I, II & III – INCLUDING SEAL FADE === */

  /* CHAMBER I – Golden to Clay Gradient + Parchment Interior */
  #chamber-1 {
    background: radial-gradient(circle at center, #fef6e4 0%, #fde3a7 25%, #f9c87c 50%, #f2a25c 75%, #d1773a 100%);
    padding: 96px 0;
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;
    z-index: 1;
  }

  .chamber-1 {
    background: none;
    padding: 48px 24px;
    font-family: 'Georgia', serif;
    color: #2d1003;
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .subtitle {
    font-size: 1.35rem;
    font-style: italic;
    color: #444;
    margin-top: 0.5rem;
  }

  .chamber-1 h2,
  .chamber-1 h3,
  .chamber-1 p {
    color: #2d1003;
  }

  /* CHAMBER II – Blue Gradient Strip + Parchment Interior */
  #chamber-2 {
    background: radial-gradient(circle at center, #eaeff7 0%, #b4c5d9 45%, #2d2d3a 100%);
    padding: 96px 0;
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;
    z-index: 1;
  }

  .chamber-2 {
    background: none;
    padding: 48px 24px;
    font-family: 'Georgia', serif;
    color: #132520;
    font-size: 1.1rem;
    line-height: 1.7;
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }

  .chamber-2 h2,
  .chamber-2 h3,
  .chamber-2 p {
    color: #132520;
  }

  /* CHAMBER II – Watercolor Divider Enhancement */
  .watercolor-band {
    background: radial-gradient(circle at center, #e0eaf5 0%, #b6c5d6 45%, #2e2e3c 100%);
    padding: 160px 0 100px 0;
    /* extra top + bottom padding */
    margin-bottom: 60px;
    position: relative;
    text-align: center;
  }

  .watercolor-band::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("Zen Moon seal.png") no-repeat center;
    background-size: 88px;
    opacity: 0.08;
    z-index: 0;
  }

  .watercolor-band>* {
    position: relative;
    z-index: 1;
  }

  /* Center-aligned quote + seal after Chamber II */
  .final-zenmoon-quote {
    text-align: center;
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 60px auto 12px auto;
    color: #1f1f1f;
  }

  .final-zenmoon-seal {
    display: block;
    margin: 8px auto 80px auto;
    width: 88px;
    opacity: 1;
  }

.header-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 64px;
  padding-bottom: 32px;
  margin-bottom: 48px;
}

.header-container h1 {
  font-size: 2rem;
  margin-bottom: 8px;
  font-family: 'Georgia', serif;
}


  .header-container .subtitle {
    font-size: 1.1rem;
    font-style: italic;
    color: #444;
    margin-bottom: 24px;
  }

  .icon-divider {
    margin: 24px auto;
  }

  /* === SWIRL FINAL ENHANCEMENTS – CENTERED + SPACED === */
  .header-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 48px;
  }

  .header-swirl {
    margin: 24px auto;
    max-width: 280px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .header-swirl img {
    width: 100%;
    height: auto;
  }

  .header-text {
    text-align: center;
    margin-top: 16px;
    font-size: 1.7rem;
    font-weight: bold;
    font-family: 'Georgia', serif;
    color: #2d1003;
  }

  .donation-block {
    text-align: center;
    margin-top: 2.5rem;
    margin-bottom: 2rem;
    font-size: 1rem;
    color: #6b2e1f;
    font-style: italic;
  }


  /* === Transitional Dharma Reflection Block – Between Chamber I & II === */
  .chamber-transition.dharma-reflection {
    background: #fdf7ef;
    padding: 80px 32px 72px;
    border-top: 2px solid #e6d3b3;
    border-bottom: 2px solid #e6d3b3;
    font-family: 'Georgia', serif;
    text-align: center;
    color: #3c2b20;
    max-width: 880px;
    margin: 0 auto;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.03);
    border-radius: 14px;
    line-height: 1.8;
    font-size: 1.1rem;
    transition: all 0.4s ease;
  }

  .chamber-transition.dharma-reflection h2 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 24px;
    color: #2d1b0f;
  }

  .chamber-transition.dharma-reflection p {
    margin: 14px 0;
  }

  /* === Grounding Seal Under Dharma Block === */
  .zen-seal.under-dharma {
    width: 80px;
    margin: 40px auto 100px;
    opacity: 0.055;
    background-image: url('Zen Moon seal.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    pointer-events: none;
    animation: fadeIn 3s ease-in;
  }

  .final-zenmoon-seal {
    display: block;
    margin: 0.5rem auto 1.5rem;
    /* top | sides | bottom */
    width: 80px;
  }

  .seal-spacer-tight {
    margin-top: -45px;
    /* Pulls it upward */
    padding-top: 0;
  }

/* === Watercolor Dharma Block (merged) === */
.chamber-section {
  /* New visuals */
  background: linear-gradient(to bottom, #fff4e3 0%, #e8e2df 100%);
  padding: 88px 32px;
  margin: 96px auto 96px;

  /* Brought over from old block for layout/typography */
  max-width: 880px;
  text-align: center;
  font-family: 'Georgia', serif;

  /* Keep from new */
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.chamber-section h2 {
  color: #3d372c;
  font-size: 1.7rem;      /* new sizing */
  margin-bottom: 28px;    /* new spacing */
}

.chamber-section p {
  color: #3b3226;
  font-size: 1.12rem;     /* new sizing */
  line-height: 1.85;      /* new line-height */
  margin: 18px 0;         /* new spacing */
}

  @keyframes subtleFade {
    from {
      opacity: 0;
      transform: translate(-50%, -54%);
    }

    to {
      opacity: 0.045;
      transform: translate(-50%, -50%);
    }
  }

  /* === CHAMBER II ENHANCEMENTS === */

  /* Refined paragraph sizing for Chamber II */
  .chamber-2 p {
    font-size: 1.15rem;
    line-height: 1.85;
    color: #2e3a34;
    /* softened dark green-gray tone */
    margin-bottom: 18px;
  }

  /* Optional: slightly increase h2 size for better visual balance */
  .chamber-2 h2 {
    font-size: 1.75rem;
    color: #1d2b27;
    margin-bottom: 24px;
  }


  /* Dual Haiku + Dharma Sidebar Styling */

  .haiku-group {
    display: flex;
    flex-direction: column;
    gap: 64px;
    max-width: 800px;
    margin: 0 auto 80px;
  }

.haiku-block {
  margin: 64px auto 48px;
  padding: 48px 24px;
  background: linear-gradient(to bottom, #faf7f3, #eeeae4);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
  text-align: center;
  position: relative;
  font-family: 'Georgia', serif;
  z-index: 1; /* keep content above the faint seal */
}


  .haiku-block h3 {
    font-size: 1.4rem;
    color: #423b30;
    margin-bottom: 24px;
    font-weight: 600;
  }

  .haiku-line {
    font-size: 1.15rem;
    font-style: italic;
    color: #2a2620;
    margin: 10px 0;
  }

  .haiku-block::before {
    content: "";
    background-image: url('Zen Moon seal.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.035;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
  }
.dharma-sidebar {
  font-family: 'Georgia', serif;
  font-size: 1rem;
  color: #3a2a1b;
  border-left: 3px solid #9e8f7c;
  padding: 16px 24px 8px 24px;
  margin: 48px auto;
  background: rgba(250, 248, 240, 0.75);
  max-width: 720px;
  text-align: left;
  line-height: 1.7;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

    /* Adjust bottom spacing for Dharma Sidebar signature */
    .signature-block {
      margin-bottom: 4px;
      padding-bottom: 0;
    }


  .dharma-sidebar em {
    display: block;
    margin-top: 12px;
    font-style: italic;
    color: #635747;
  }

  /* Zen Flows Block – Enhanced Typography */
  .zen-flows-block {
    font-size: 1.28rem;
    line-height: 1.85;
    color: #132520;
    font-family: 'Georgia', serif;
    max-width: 880px;
    margin: 0 auto 64px;
    text-align: center;
  }

  .zen-flows-block h3 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 24px;
    color: #132520;
  }

  .haiku-signature {
    margin-top: 20px;
    font-size: 0.95rem;
    font-style: normal;
    color: #5a5144;
  }

  .signature-block {
    position: relative;
    padding-bottom: 120px;
    /* extra space for the seal */
    text-align: center;
    color: #333;
    font-family: 'Georgia', serif;
    font-size: 1rem;
    z-index: 1;
  }

  .signature-block::after {
    content: "";
    background-image: url('Zen%20Moon%20seal.png');
    background-repeat: no-repeat;
    background-size: 80px;
    background-position: center bottom;
    opacity: 0.2;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100px;
    width: 100px;
    z-index: 0;
  }

  .signature-block.no-seal::after {
    display: none;
  }

  /* ✅ Unified Chamber II Header Block */
  .chamber2-header-block {
    text-align: center;
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
  }

  .chamber2-header-block h2 {
    font-family: Georgia, serif;
    font-size: 2.2rem;
    font-weight: bold;
    color: #210100;
    margin-bottom: 0.25rem;
  }

  .chamber2-header-block p {
    font-style: italic;
    font-size: 1.35rem;
    color: #8a2c0d;
    margin: 0;
    /* Removes unnecessary spacing */
  }

  /* 📘 Chamber II Header Styling */
  .chamber-title.chamber-2 h2 {
    font-family: Georgia, serif;
    font-size: 2rem;
    font-weight: bold;
    color: #210100;
    text-align: center;
    margin-top: 8px;
    margin-bottom: 0.25em;
  }

  /* Chamber II Closing Block */
  .subtext {
    text-align: center;
    font-size: 1.1rem;
    font-style: italic;
    color: #8a2c0d;
    /* Same as intro line */
    margin-top: 3em;
    margin-bottom: 0.5em;
  }


  .signature-block {
    text-align: center;
    font-size: 1rem;
    font-family: Georgia, serif;
  }

  .signature-block .line1 {
    font-weight: bold;
    margin-bottom: 2px;
  }

  .signature-block .line2 {
    font-style: italic;
    color: #555;
  }

/* Zoom toggle button */
.zoom-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  font-size: 1.2rem;
  padding: 6px 12px;
  background-color: #f5f0e6;
  border: 1px solid #d6d1c4;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  transition: background 0.3s ease, transform 0.2s ease, opacity 0.3s ease;
  opacity: 1;
}
.zoom-toggle:hover {
  background-color: #e0dbd0;
  transform: scale(1.05);
}
/* Hidden while scrolling down */
.zoom-toggle.hidden {
  opacity: 0;
  pointer-events: none;
}
/* Mobile position */
@media (max-width: 600px) {
  .zoom-toggle { top: auto; bottom: 20px; right: 20px; }
}

/* Zoomed state */
.chamber.zoomed { font-size: 1.3rem; line-height: 1.9; }
/* Smooth type scaling */
.chamber { transition: font-size 0.3s ease, line-height 0.3s ease; }


  /* Hidden state for scroll fade */
  .zoom-toggle.hidden {
    opacity: 0;
    pointer-events: none;
  }

  /* Founding Values Section */
  .founding-values {
    color: #f5f0e6;
    /* soft gold/ochre tone */
    font-family: 'Georgia', serif;
    margin-top: 2.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top: 1px solid #d6c9a4;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .founding-values h3,
  .founding-values h4 {
    color: #f5f0e6;
    margin-top: 1.5rem;
    font-weight: 600;
  }

  .founding-values p {
    margin-top: 1rem;
    line-height: 1.6;
    font-size: 1.05rem;
  }
/* Final Closing Block Styles */
.closing-block {
  background-color: #f8f8ff;
  padding: 2rem 1.5rem;
  max-width: 800px;
  margin: 4rem auto 2rem auto;
  position: relative;
  border-radius: 12px;
  animation: fadeInClosing 1.5s ease;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
  text-align: center;
}

  /* Optional Zen Seal Watermark Behind */
/* Option 1: Watermark Behind */
.closing-block::before {
  content: "";
  background-image: url("Zen Moon seal.png");
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.05;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  pointer-events: none;
}

  .final-authorship-statement.vermillion-text {
    font-weight: bold;
    font-size: 1.4rem;
    color: #e34234;
    background-color: transparent;
    text-align: center;
    margin: 1.2rem auto 1rem auto;
    /* reduce top and bottom margin */
  }

  .dharma-room-teaser {
    font-size: 1rem;
    color: #555;
    font-style: italic;
  }

  .micro-signature {
    font-size: 1.4rem;
    font-style: italic;
    color: #4b2e1e;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 1.2rem;
    line-height: 1.6;
  }

  .closing-block {
    background-color: #f4f0fb;
    /* soft lavender */
    padding: 2rem;
    border: 2px solid #e34234;
    margin-top: 2rem;
    text-align: center;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  }

  .donorbox-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 1.2rem;
    /* adjust as needed */
  }


 /* ✨ Tagline styling – base + mobile responsive */
  .subtitle {
    font-size: 1.7rem;
    /* Slightly larger for elegance */
    font-style: italic;
    font-weight: 400;
    color: #444;
    letter-spacing: 0.3px;
    /* Adds subtle breath */
    margin-bottom: 0.4rem;
    text-align: center;
  }


  .tagline+.swirl-divider {
    margin-top: 0.4rem;
  }

  /* 🌿 Mobile-only refinements */
  @media (max-width: 600px) {
    .subtitle {
      margin-top: 2.5rem !important;
      margin-bottom: 0.75rem !important;
      font-size: 1.35rem !important;
    }

    .swirl-divider {
      margin-top: -0.25rem !important;
      margin-bottom: 0.25rem !important;
    }
  }

  .future-dharma {
    font-size: 1.2rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    margin-top: 1rem;
  }

  @media (max-width: 600px) {
    .future-dharma {
      font-size: 1.05rem;
      line-height: 1.55;
    }
  }

  .donation-section {
    text-align: center;
    margin-top: 2.5rem;
    margin-bottom: 2rem;
  }

  .wallet-link {
    color: #c27615 !important;
    text-decoration: none;
    font-size: 1.1rem;
  }

  .wallet-link:hover {
    text-shadow: 0 0 8px #ffd700;
  }

  .glowing-moon {
    animation: glow 2s infinite ease-in-out;
    font-size: 1.2rem;
    display: inline-block;
    margin: 0 0.4rem;
  }

  @keyframes glow {

    0%,
    100% {
      opacity: 0.6;
    }

    50% {
      opacity: 1;
    }
  }
  .wallet-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 1rem;
  }

.wallet-link {
  color: #0645AD !important;            /* classic blue link */
  font-size: 1.15rem;
  font-weight: 600;
  text-decoration: underline !important; /* force underline */
  text-underline-offset: 3px;
  display: inline;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  text-align: center;
  cursor: pointer;
}

.wallet-link:hover,
.wallet-link:focus {
  color: #0B0080 !important;             /* darker blue on hover/focus */
  text-decoration: underline !important;
}



  /* ✅ Unified Styling for Donation Block (Mobile + Desktop) */
  .donation-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 3rem auto;
    text-align: center;
  }

  .donation-block img {
    margin: 1.6rem auto 2rem auto;
    width: 140px;
    height: auto;
  }
  .donation-note {
    font-size: 1.15rem;
    line-height: 1.6;
    font-weight: 500;
    text-align: center;
    padding: 0 1.2rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .donation-text {
    font-size: 1.05rem;
    line-height: 1.5;
    font-style: italic;
    color: #663300;
    text-align: center;
    padding: 0 1.2rem;
    margin-bottom: 0.6rem;
  }


    .glowing-moon {
      display: flex;
      justify-content: center;
      margin: 0 auto 1rem auto;
    }
  

    /* 🔒 Hidden class */
    .hidden {
      display: none;
    }

/* ✨ Thank-You Message Styling */
#thankYouMessage {
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
  color: #fff3e6;
  background: none;
  padding: 1rem;
  margin: 2.5rem auto 2rem;
  width: 400px;
  max-width: 90%;

  /* visibility + motion */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease;

  /* initial display state */
  display: none;
}

/* 🌟 When visible */
#thankYouMessage.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  display: block;
  pointer-events: auto;
  animation: subtleGlow 2s ease-in-out infinite alternate; /* keep your glow */
}


    /* ✨ Glowing Animation */
    @keyframes subtleGlow {
      from {
        text-shadow: 0 0 4px #ffd9b3, 0 0 8px #ffc699;
      }

      to {
        text-shadow: 0 0 8px #ffcc99, 0 0 12px #ffb366;
      }
    }

.lineage-text {
  text-align: center;
  font-style: italic;
  color: #a62100; /* vermillion for authorship dignity */
  margin: 2.5rem 0 1.5rem 0;
  letter-spacing: 0.05em; /* subtle calligraphic spacing */
  font-size: 1.4rem;
  opacity: 0;
  animation: fadeInSeal 2s ease forwards;
  animation-delay: 0.5s; /* match seal’s timing for harmony */
}

@keyframes fadeInSeal {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.signature-line {
  display: block;
  font-size: 1.02em; /* Slightly larger than body */
  font-style: italic;
  font-weight: 500;
  color: #a12300; /* Deep vermillion */
  margin: 1.5rem auto 2rem auto; /* Balanced breathing space */
  letter-spacing: 0.5px; /* Calligraphic feel */
  text-align: center;
  max-width: 80%; /* Prevents overlong lines on large screens */

  /* Fade in with seal */
  opacity: 0;
  animation: fadeInSignature 2s ease forwards;
  animation-delay: 0.5s; /* Matches seal timing */
}

@keyframes fadeInSignature {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}


@keyframes fadeInSignature {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Skip link: visible when tabbed */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
  z-index: 10000;
  background: #ffffff;
  color: #000;
  padding: .5rem .75rem;
  border: 2px solid #000;
  border-radius: .25rem;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* Obvious keyboard focus */
:focus-visible {
  outline: 3px solid #0a66c2;
  outline-offset: 2px;
}

/* === CHAMBER III — Restore original look (CSS-only, no HTML changes) === */

/* 1) Give the chamber breathing space + side gutters so it’s not flush left */
#chamber-3{
  padding: 96px 48px 88px !important;            /* top/side/bottom like the original */
  background: radial-gradient(circle at 40% 10%, #262544 0%, #1f1e38 45%, #1b1a33 100%) !important;
  color: #f5d285;
  font-family: Georgia, serif;
}

/* If earlier rules forced full-bleed via :has(), neutralize them here */
.room-container:has(iframe[src*="donorbox.org"]){
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important; /* background handled by #chamber-3 */
}

/* 2) Constrain inner areas but keep chamber background full-bleed */
#chamber-3 .header-container,
#chamber-3 .section,
#chamber-3 .donation-section,
#chamber-3 .founding-values{
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

/* 3) Type scale + colors */
#chamber-3 .header-container h1{
  font-size: clamp(2.4rem, 3.6vw, 2.9rem);
  line-height: 1.15;
  margin: 0 0 1rem;
  color: #f5d285 !important; /* ochre */
  text-align: left;
}
#chamber-3 .header-container h2{               /* “ZenEnergy Organization” under logo */
  color: #f6f4ef !important;                    /* white */
  font-size: clamp(1.35rem, 2.2vw, 1.6rem);
}
#chamber-3 h2{                                  /* section headings */
  color: #f5d285 !important;
  font-size: clamp(1.35rem, 2.2vw, 1.6rem);
  margin: 1.25rem 0 .75rem;
  text-align: left;
}
#chamber-3 h3{
  color: #f5d285 !important;
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  margin: 1rem 0 .5rem;
  text-align: left;
}
#chamber-3 p,
#chamber-3 li{
  font-size: 1.08rem;
  line-height: 1.75;
  color: #f5d285;
  text-align: left;
}

/* Make the “Founding Statement: About ZenEnergy Organization” header white */
#chamber-3 .founding-values > h3{
  color: #f6f4ef !important;                    /* white as in the original */
}

/* 4) Swirl width/appearance close to original */
#chamber-3 .swirl-divider{
  margin: 28px 0 36px !important;
}
#chamber-3 .swirl-divider svg{
  width: min(88vw, 1100px);
  height: auto;
  stroke: #c9c3b6 !important;
  stroke-width: 6 !important;
  opacity: .92 !important;
  filter: none !important;
  transform: none !important;
}

/* 5) HR like original */
#chamber-3 hr{
  border: 0;
  border-top: 1px solid #b89a64;
  width: min(90%, 980px);
  margin: 2rem auto;
  opacity: .75;
}

/* 6) Donation: left-align headings/text, center the iframe, hide fallback text */
#chamber-3 .donation-section{ text-align: left !important; }

#chamber-3 .donorbox-wrapper{
  display: flex !important;
  justify-content: center !important;           /* centers the widget */
  margin: 44px auto 24px !important;
}
#chamber-3 .donorbox-wrapper iframe{
  display: block !important;
  margin: 0 auto !important;
  max-width: 520px !important;
  width: 100% !important;
}

/* Hide the inline sentence “If the donation form does not load…” */
#chamber-3 .donorbox-wrapper > p{
  display: none !important;
}

/* 7) Links match ochre tone */
#chamber-3 a{ color: #f5d285; text-decoration: underline; text-underline-offset: 2px; }

/* 8) Mobile tweak */
@media (max-width: 600px){
  #chamber-3{ padding: 72px 18px 64px !important; }
}


/* === CHAMBER I — QR + wallet-copy sizing (final) === */

/* Make the QR image the smaller original size + center it */
#chamber-1 img[alt*="QR"],
#chamber-1 img[alt*="qr"],
#chamber-1 img[src*="QR"],
#chamber-1 img[src*="qr"],
#chamber-1 .qr img {
  width: 112px !important;   /* ≈ original */
  height: auto !important;
  display: block;
  margin: 10px auto 0;
}

/* Enlarge the three caption lines above the QR (“wallet fuels…”, “Note…”, and the
   short ‘zensupport.eth’ line). This targets the <p> siblings right after the micro-signature. */
#chamber-1 .micro-signature + p,
#chamber-1 .micro-signature + p + p,
#chamber-1 .micro-signature + p + p + p {
  font-size: clamp(1.06rem, 0.98rem + 0.35vw, 1.28rem) !important;
  line-height: 1.7;
  text-align: center;
  max-width: 680px;
  margin: 8px auto;
}

/* Make the single “zensupport.eth” line a touch tighter and clearly centered
   (will apply if it's a link or plain text). */
#chamber-1 .micro-signature + p + p + p,
#chamber-1 .wallet-link {
  letter-spacing: 0.01em;
  display: block;
  margin: 10px auto 14px !important;
  text-align: center;
}

/* === CHAMBER I — captions + QR (final override) === */
#chamber-1 .lineage-text,
#chamber-1 .micro-signature{
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  letter-spacing: 0.015em;
}

/* Band line */
#chamber-1 .lineage-text{
  font-size: clamp(1.32rem, 1.08rem + 0.90vw, 1.90rem) !important;
  line-height: 1.78;
  margin: 12px auto 16px;
}

/* Short line near the QR */
#chamber-1 .micro-signature{
  font-size: clamp(1.48rem, 1.18rem + 1.00vw, 2.10rem) !important;
  line-height: 1.82;
  margin: 14px auto 22px;
}

/* Exact QR size (match original) */
#chamber-1 .wallet-qr img,
#chamber-1 img[src*="qr"],
#chamber-1 img[alt*="QR"]{
  width: 120px !important;
  height: 120px !important;
  display: block;
  margin: 10px auto 18px;
}

/* Wallet link tone */
#chamber-1 .wallet-link{
  color: #6b2e1f !important;
  text-decoration: none;
}
#chamber-1 .wallet-link:hover{ text-decoration: underline; }

/* FINAL OVERRIDE: Chamber I one-liners */
#chamber-1 .lineage-text,
.chamber-1 .lineage-text {
  font-size: 1.4rem !important;   /* bump to 1.55rem if you want a touch bigger */
  line-height: 1.75 !important;
}

#chamber-1 .micro-signature,
.chamber-1 .micro-signature {
  font-size: 1.4rem !important;   /* bump to 1.55rem if you want a touch bigger */
  line-height: 1.75 !important;
}

.donorbox-fallback {
  text-align: center;
  margin-top: .75rem;
  font-size: 1rem;
}
.donorbox-fallback button {
  margin: 0 .4rem;
  padding: .4rem .75rem;
  border: 1px solid #d6d1c4;
  border-radius: 6px;
  background: #f5f0e6;
  cursor: pointer;
}
.donorbox-fallback button:hover { background: #eae5da; }


/* Visually hidden, still accessible to screen readers */
.sr-only {
  position:absolute !important;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Sidebar heading should look like the old <strong> */
#haiku-block .dharma-sidebar h4 {
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 .5rem 0;
}

/* No faint seal on the sidebar signature */
#haiku-block .signature-block.no-seal::after {
  display: none;
}

/* ===== FINAL PATCH: contain watermark + restore haiku cards ===== */

/* 1) Contain the Dharma watermark to its own block only */
.chamber-section { position: relative !important; }
.chamber-section::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;                     /* keep it inside the block */
  background: url("Zen Moon seal.png") center/72px no-repeat !important;
  opacity:.045 !important;
  pointer-events:none !important;
  z-index:0 !important;
}
/* keep real content above the watermark */
.chamber-section > * { position:relative; z-index:1; }

/* 2) Kill any in-card watermark on the haiku cards */
#haiku-block .haiku-block::before,
#haiku-block .haiku-group::before{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* HAIKU — Mobile fallback: no overlap, comfy padding */
@media (max-width:700px){
  #haiku-block .haiku-block{
    margin: 28px 16px 0 !important;
    padding: 40px 20px !important;
  }
  #haiku-block .haiku-block + .haiku-block{
    margin-top: 16px !important;
  }
  #haiku-block .haiku-block + .haiku-block::after{
    display: none !important; /* hide seam on phones */
  }
  #haiku-block .dharma-sidebar{
    margin-top: 8px !important; /* breathe under the seal */
  }
}

/* === CHAMBER II — Haiku cards: equal widths, tidy spacing ============== */
#haiku-block .haiku-group{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 36px !important;
  max-width: 1000px !important;
  margin: 0 auto 56px !important;
}

@media (min-width:1024px){
  #haiku-block .haiku-group{
    grid-template-columns: 1fr 1fr !important; /* equal column widths */
    align-items: start !important;
  }
}

#haiku-block .haiku-block{
  position: relative !important;
  margin: 0 !important;
  width: auto !important;                     /* let grid control width */
  box-sizing: border-box !important;
  padding: 56px 28px !important;
  background: linear-gradient(to bottom,#faf7f3,#eeeae4) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.06) !important;
  text-align: center !important;
}

/* kill any old “seam” or watermark rules inside the cards */
#haiku-block .haiku-block::before,
#haiku-block .haiku-block::after{ content:none !important; display:none !important; }

/* === Closing verse + its signature seal ================================== */
#haiku-block .subtext{ 
  margin: 32px auto 8px !important; 
  font-style: italic; 
  color:#8a2c0d !important;
}

#haiku-block .closing-signature{
  position: relative !important;
  margin: 8px auto 0 !important;
  padding-bottom: 96px !important;           /* space for the seal */
  text-align: center !important;
}
#haiku-block .closing-signature::after{
  content:"" !important;
  position: absolute !important;
  left: 50%; bottom: 8px;
  transform: translateX(-50%);
  width: 90px; height: 90px;
  background: url("Zen Moon seal.png") center/78px no-repeat;
  opacity: .18; pointer-events: none;
}

/* === Sidebar card + its own signature seal (under the two lines) ========= */
#haiku-block .dharma-sidebar{
  font-family: 'Georgia', serif;
  font-size: 1rem;
  color: #3a2a1b;
  border-left: 3px solid #9e8f7c;
  padding: 16px 24px 8px 24px;
  margin: 24px auto 48px !important;         /* a little breathing room */
  background: rgba(250,248,240,0.85);
  max-width: 880px;
  text-align: left;
  line-height: 1.7;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

#haiku-block .dharma-sidebar .signature-block{
  position: relative !important;
  text-align: center !important;
  padding-bottom: 92px !important;           /* room for the seal */
}
#haiku-block .dharma-sidebar .signature-block::after{
  content:"" !important;
  position: absolute !important;
  left: 50%; bottom: 8px;
  transform: translateX(-50%);
  width: 90px; height: 90px;
  background: url("Zen Moon seal.png") center/78px no-repeat;
  opacity: .18; pointer-events: none;
}
/* allow explicit opt-out if you ever add `no-seal` again */
#haiku-block .dharma-sidebar .signature-block.no-seal::after{ display:none !important; }

/* Nuke any background watermarks */
#haiku-block .haiku-block::before,
#haiku-block .haiku-group::before,
#haiku-block .dharma-sidebar::before{
  content:none !important; display:none !important; background:none !important;
}

/* Seal only under the two-line signatures */
#haiku-block .closing-signature,
#haiku-block .dharma-sidebar .signature-block{
  position:relative !important;
  padding-bottom:96px !important;  /* space for seal */
}

#haiku-block .closing-signature::after,
#haiku-block .dharma-sidebar .signature-block::after{
  content:"" !important;
  position:absolute !important;
  left:50%; bottom:0; transform:translateX(-50%);
  width:90px; height:90px;
  background:url("Zen Moon seal.png") center/78px no-repeat;
  opacity:.18; pointer-events:none;
}

/* === HAIKU — extra breathing room under the pair & verse/seal === */

/* more space below the two haiku cards before the verse */
#haiku-block .haiku-group{
  margin: 0 auto 96px !important;   /* was ~64px */
}

/* push the verse down from the cards a bit */
#haiku-block .subtext{
  margin-top: 44px !important;      /* was ~28–36px */
}

/* keep the seal clear + add space after the verse block */
#haiku-block .closing-signature{
  padding-bottom: 110px !important; /* room for the seal */
  margin-bottom: 28px !important;   /* gap after the verse block */
}

/* push the Dharma sidebar (“Signal Within the Noise”) further down */
#haiku-block .dharma-sidebar{
  margin-top: 56px !important;      /* larger gap after the verse/seal block */
}

/* mobile: still comfy but a touch tighter */
@media (max-width: 820px){
  #haiku-block .haiku-group{ margin-bottom: 72px !important; }
  #haiku-block .subtext{ margin-top: 36px !important; }
  #haiku-block .dharma-sidebar{ margin-top: 40px !important; }
}
.final-zenmoon-seal{ margin-bottom: 140px !important; }  /* increase floor space */

/* === Chamber II – breathing room tweaks (spacing only) ================= */

/* 1) More space between the *verse seal* and the Haiku cards */
#haiku-block .haiku-group{
  margin-top: 64px !important;     /* was tighter; gives clear air under the vermillion seal */
}

/* 2) More space between the “Signal Within the Noise” card and the big red seal */
#haiku-block .dharma-sidebar{
  margin-bottom: 56px !important;  /* push card away from the standalone seal */
}
.final-zenmoon-seal{
  margin-top: 64px !important;     /* gap above the red seal */
  margin-bottom: 120px !important; /* comfortable floor before Chamber III */
}

/* 3) Keep the faint in-card seal exactly as the 3rd item in the signature stack */
#haiku-block .dharma-sidebar .signature-block{
  padding-bottom: 96px !important; /* room for faint seal inside the card */
}
#haiku-block .dharma-sidebar .signature-block::after{
  left: 50% !important; bottom: 0 !important; transform: translateX(-50%) !important;
  width: 88px !important; height: 88px !important; background-size: 78px !important;
  opacity: .18 !important;
}

/* 4) (Optional) If you still want a touch more air, nudge these two: */
#haiku-block .closing-signature{ margin-bottom: 36px !important; }  /* under the verse */

/* === Spacing below “Signal Within the Noise” before the big red seal === */
#haiku-block .dharma-sidebar{
  margin-bottom: 96px !important;   /* +32px more breathing room */
}

/* If this wrapper exists on the section before the big seal, give it extra air */
.seal-spacer-tight{
  margin-top: 44px !important;      /* was ~26px */
}

/* Push the large red seal down a touch so the gap above it grows */
.final-zenmoon-seal{
  margin-top: 36px !important;      /* was smaller; increases space above seal */
  margin-bottom: 120px !important;  /* keeps room before next chamber */
}

/* === Haiku cards: slightly deeper shadow (to match the Signal card vibe) === */
#haiku-block .haiku-block{
  box-shadow:
    0 14px 36px rgba(0,0,0,.10),
    0 4px 12px rgba(0,0,0,.06) !important;
}

/* (Optional) a bit more room under the two-card bar as a whole */
#haiku-block .haiku-group{
  margin-bottom: 84px !important;
}

/* Mobile keeps the spacing gentle */
@media (max-width: 700px){
  #haiku-block .dharma-sidebar{ margin-bottom: 72px !important; }
  .final-zenmoon-seal{ margin-top: 28px !important; margin-bottom: 96px !important; }
}

/* === Equal breathing room around the big red seal ===================== */
/* remove any extra “spacer” above the seal */
.seal-spacer-tight{ margin-top: 0 !important; }

/* make spacing above and below the seal the same (works with #chamber-3 padding-top:96px) */
.final-zenmoon-seal{
  /* Top gap = 96 (from .dharma-sidebar mb) + 36 = 132
     Bottom gap = 36 + 96 (from #chamber-3 top padding) = 132 */
  margin-top: 36px !important;
  margin-bottom: 36px !important;
}

/* keep a comfortable floor on small screens */
@media (max-width:700px){
  .final-zenmoon-seal{ margin: 28px auto 28px !important; }
}

/* Signal Within the Noise — match haiku card shadow/feel */
#haiku-block .dharma-sidebar{
  /* keep your colors, but use a gentle parchment gradient like the cards */
  background: linear-gradient(to bottom, #faf7f3, #eeeae4) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;  /* same strength as cards */
  border-left: 3px solid #9e8f7c !important;           /* preserve the calligraphic bar */
  border-radius: 12px !important;
}

/* FINAL kill-switch: remove watermark on the standalone “Stillness…” card */
.chamber-section::before{
  content:none !important;
  display:none !important;
  background:none !important;
  opacity:0 !important;
}

/* Transitional bridge card (“Stillness…”) — flat, calm */
.chamber-section{
  box-shadow: none !important;                 /* kill any prior shadow */
  border: 1px solid rgba(0,0,0,.06) !important;/* soft hairline edge */
  border-radius: 12px;
  margin: 96px auto 96px;                      /* generous breathing room */
}

/* Tighter mobile margins */
@media (max-width:700px){
  .chamber-section{ margin: 72px 16px; }
}

/* === A11y patches (append to end) ===================================== */

/* 1) Link contrast + keep visible underline */
.wallet-link{
  color:#6b2e1f !important;            /* AA contrast on light bg */
  text-decoration: underline;
  text-underline-offset: 2px;
}
.wallet-link:hover{ text-shadow:none !important; }

/* 2) Keep zoom button out of the focus order when hidden */
.zoom-toggle.hidden{
  opacity:0;
  pointer-events:none;
  visibility:hidden;                    /* prevents keyboard focus */
}

.donation-qr-btn{ background:none; border:0; padding:0; cursor:pointer; }
.donation-qr-btn:focus-visible{ outline:3px solid #0a66c2; outline-offset:2px; }

/* ✅ Guard to ensure thank-you message shows reliably */
#thankYouMessage.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ✅ Clearer zoomed state so the magnifying glass is obvious */
.chamber.zoomed {
  font-size: 1.38rem;   /* larger than normal */
  line-height: 1.95;    /* extra breathing room */
}

/* ✅ Zoom button toggle animation */
.zoom-toggle.animate {
  transform: scale(1.25);
  transition: transform 0.25s ease;
}

.zoom-toggle.animate:active {
  transform: scale(1.1);
}

/* ✅ Force QR to 80×80 in Chamber 1 */
#chamber-1 .donation-qr,
#chamber-1 .donation-qr-btn .donation-qr {
  width: 80px !important;
  height: 80px !important;
}

/* (optional) If you want 80×80 site-wide, not only in Chamber 1: */
.donation-block .donation-qr {
  width: 80px !important;
  height: 80px !important;
}
/* Slightly increase space above the QR */
.donation-qr {
  margin-top: 20px !important; /* was 10px */
}

/* Gentle affordance: outline on hover/focus */
.donation-qr-btn:focus-visible .donation-qr,
.donation-qr-btn:hover .donation-qr {
  outline: 2px solid rgba(166, 33, 0, 0.35); /* soft vermillion */
  outline-offset: 4px;
  border-radius: 6px;
}

/* === Mobile: subtle side borders + QR size parity === */
@media (max-width: 768px) {
  /* Let the body’s white background show at the sides */
  body { background:#fff; }

  /* Make the parchment wrapper narrower than the viewport and centered.
     This creates the left/right white "borders" like your original. */
  .chamber-wrapper.parchment {
    width: calc(100% - 24px) !important;  /* ~12px border each side */
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Keep inner content comfortably inset so text never hugs edges */
  .chamber,
  .chamber-1,
  .chamber-2,
  .chamber-3,
  .chamber-section,
  .founding-values,
  .zen-flows-block,
  .closing-block {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* Center seals/strip images and prevent overflow (keeps layout symmetric) */
  .gradient-seal-strip { overflow:hidden !important; padding-left:0 !important; padding-right:0 !important; }
  .gradient-seal-strip img,
  .zen-seal.watermark,
  .final-zenmoon-seal {
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
    max-width:100% !important;
    height:auto !important;
    transform:none !important;
  }

  /* Donation readability + QR size to match original feel */
  .donation-text { font-size: 1.08rem; line-height: 1.62; }
  .donation-note { font-size: 1.02rem; line-height: 1.55; }
  .wallet-link   { display:block; margin:8px auto 0; text-align:center; }

  /* Increase QR to ~110px (looks like the original in your screenshot 2) */
  .donation-qr { width: 110px !important; height:auto !important; display:block; margin:12px auto !important; }

  /* Safety: no right-side gutter from wide elements */
  html, body { overflow-x:hidden; }
  img, iframe { max-width:100%; height:auto; }
  .swirl-divider { overflow:hidden; }
  .swirl-divider svg { width:100% !important; max-width:100% !important; height:auto !important; transform:none !important; }
}

/* === FINAL MOBILE POLISH === */
@media (max-width: 768px) {

  /* Slightly bigger base font for readability */
  html { font-size: 17.5px !important; }
  body { line-height: 1.7 !important; }

  /* Donation block fixes */
  .donation-block {
    max-width: 95% !important;   /* let it breathe wider */
    margin: 0 auto 2.5rem auto !important;
    padding: 0 12px !important;
    text-align: center !important;
  }

  .donation-text {
    font-size: 1.18rem !important;
    line-height: 1.7 !important;
  }

  .donation-note {
    font-size: 1.12rem !important;
    line-height: 1.65 !important;
  }

  .wallet-link {
    font-size: 1.2rem !important;
    margin-top: 0.5rem !important;
  }

  .donation-qr {
    width: 110px !important;   /* closer to original eth look */
    height: auto !important;
    margin: 14px auto !important;
  }

  /* Relax side padding on core blocks */
  .chamber,
  .chamber-1,
  .chamber-2,
  .chamber-3,
  .chamber-section,
  .founding-values,
  .zen-flows-block,
  #haiku-block .haiku-group,
  #haiku-block .haiku-block,
  #haiku-block .dharma-sidebar,
  .closing-block {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
/* ✅ Keep "Chamber II: Zen Moon" on one line */
.chamber2-header-block h2 {
  white-space: nowrap;               /* prevent line break */
  font-size: clamp(1.6rem, 5vw, 2.2rem) !important; /* scale gracefully */
  line-height: 1.3 !important;
}

/* === Mobile: Donorbox full render + comfortable insets === */
@media (max-width: 768px) {
  /* Make the donation section/wrapper span the screen width */
  #chamber-3 .donation-section,
  #chamber-3 .donorbox-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;         /* prevent cropping */
  }

  /* Give the wrapper a small side cushion so it aligns with body text */
  #chamber-3 .donorbox-wrapper {
    padding: 0 12px !important;           /* subtle “border”, not boxed-in */
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  
  /* Force the iframe to be responsive and tall enough on iOS Safari */
  #chamber-3 .donorbox-wrapper iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 560px !important;         /* adjust to 600–640 if content still clipped */
    border: 0 !important;
    margin: 0 auto !important;
  }

  /* If any ancestor is clipping horizontally, neutralize it */
  #chamber-3,
  #chamber-3 .section {
    overflow-x: visible !important;
  }
}


/* === Mobile heading hierarchy for Chamber II === */
@media (max-width: 768px) {
  /* Keep the main chamber header the largest */
  .chamber2-header-block h2 {
    /* already on one line from earlier */
    white-space: nowrap;
    font-size: clamp(1.90rem, 6vw, 2.30rem) !important;
    line-height: 1.25 !important;
    letter-spacing: 0.2px;  /* tiny stability on iOS kerning */
  }

  /* Make the Zen Flows subheading clearly smaller than the h2 */
  .zen-flows-block h3 {
    font-size: clamp(1.50rem, 5vw, 1.90rem) !important; /* max never exceeds h2 */
    line-height: 1.28 !important;
    margin-top: 0.6rem !important;
    margin-bottom: 0.75rem !important;
  }
}  /* <— close the Chamber II media query */

/* ===== Chamber I → Gateway to Room 1 ===== */

/* Card container */
.room-link-block {
  text-align: center;
  margin: 3rem auto 2.5rem;
  padding: 2.5rem 1.5rem;
  max-width: 700px;
  border-radius: 14px;
  background: linear-gradient(to bottom, #fffaf0, #fce3b0);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  border-top: 1px solid #d1a974;
  position: relative;
  z-index: 2;
}

.room-link-block h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.35rem, 2.4vw, 1.55rem);
  line-height: 1.3;
  color: #7d1600;
  word-break: break-word;
}

.room-link-block p {
  margin: 0 auto 1.5rem;
  font-size: clamp(1rem, 2.1vw, 1.1rem);
  line-height: 1.7;
  color: #2d1003;
  max-width: 560px;
}

/* Center the button wrapper */
.room-link-container {
  display: flex;
  justify-content: center;
}

/* Button base */
.room-link-button {
  display: inline-block;
  padding: 0.9rem 2.2rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #a64b2a, #7d1600);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  min-height: 44px;
  text-align: center;

  position: relative;
  z-index: 10;
  filter: none;              /* prevents Safari tap bug */
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Motion transitions (respects reduced-motion) */
@media (prefers-reduced-motion: no-preference) {
  .room-link-button {
    transition:
      background 0.3s ease,
      transform 0.15s ease,
      box-shadow 0.3s ease;
  }
  .room-link-button:hover {
    background: linear-gradient(135deg, #7d1600, #5a0f00);
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.25);
  }
  .room-link-button:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
  }
}

/* Accessible focus */
.room-link-button:focus,
.room-link-button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 2px;
}

/* Halo effect — pseudo-element layer (never intercepts clicks) */
.room-link-button::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  filter: url(#glowHalo); /* defined in your invisible SVG */
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.room-link-button:hover::before,
.room-link-button:focus-visible::before {
  opacity: 1;
}

/* Mobile refinements */
@media (max-width: 768px) {
  .room-link-block {
    padding: 1.75rem 1rem;
    margin: 2rem 0 1.5rem;
  }
  .room-link-block h2 {
    margin-bottom: 0.75rem;
    white-space: normal;
  }
  .room-link-button {
    width: 100%;
    max-width: 420px;
  }
}

/* Extra-small phones */
@media (max-width: 360px) {
  .room-link-button {
    padding: 0.85rem 1.6rem;
  }
}  /* <-- add this closing brace */

/* Swirl: gentle mobile refinement only */
@media (max-width: 480px) {
  /* Size the SVG sensibly on small phones */
  .swirl-divider .flourish-icon {
    width: clamp(280px, 88vw, 440px);
    height: auto;
    overflow: visible;
  }
  /* Keep visual weight on small screens */
  .swirl-divider .flourish-icon path {
    stroke-width: 6.5px;
  }
}

/* Wherever your current working swirl SVG rule lives */
.swirl-divider .flourish-icon {
  /* keep your existing width values as-is */
  filter: url(#softGlow) drop-shadow(0 6px 16px rgba(184,110,58,.18));
}

/* === Tighten top block spacing above swirl === */
.header-container {
  padding-bottom: 12px !important; /* was 32px */
  margin-bottom: 16px !important;  /* was 48px */
}

.subtitle {
  margin-bottom: 0.35rem !important; /* reduce gap under subtitle */
}

/* === Chamber II heading: allow wrap on small phones === */
@media (max-width: 480px) {
  .chamber2-header-block h2 {
    white-space: normal !important;   /* allow wrapping */
    word-break: break-word;
    hyphens: auto;
    font-size: clamp(1.35rem, 6.2vw, 1.9rem) !important;
    line-height: 1.25 !important;
    letter-spacing: 0.2px;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }
}

/* === Swirl/header spacing — assertive override === */
.header-container {
  padding-bottom: 8px !important;   /* was 12px */
  margin-bottom: 12px !important;   /* was 16px */
}
.header-container .subtitle {
  margin-bottom: 0.3rem !important; /* tighter than before */
}

/* === FINAL: Restore "original" spacing model between Room 2 seal and Chamber 3 === */

/* 1) Make the Room 2 gateway card stop pushing the seal down too far */
#chamber-2 .room-link-block {
  /* Narrower floor so the seal sits closer (overrides global 2–3rem) */
  margin-bottom: 24px !important;
}

/* 2) Use the original seal spacing: small above, big below */
section.chamber.chamber-2.seal-spacer-tight .final-zenmoon-seal {
  margin: 40px auto !important;  /* equal top & bottom */
}


/* 3) Restore Chamber 3’s tall indigo band */
#chamber-3 {
  padding-top: 96px !important;        /* original top band */
}

/* 4) Remove hidden extra top margin on the first element in Chamber 3 (usually the H2) */
#chamber-3 > *:first-child,
#chamber-3 .chamber-heading {
  margin-top: 0 !important;
}

/* 5) (Optional) Keep only the Room 3 gateway centered; the rest of C3 can remain left-aligned */
#chamber-3 .room-link-block { text-align: center !important; }
#chamber-3 .room-link-block h2,
#chamber-3 .room-link-block p { text-align: center !important; margin-left:auto !important; margin-right:auto !important; }
#chamber-3 .room-link-block .room-link-container { display:flex !important; justify-content:center !important; }
#chamber-3 .room-link-block .room-link-button   { margin:0 auto !important; }

/* === Room 1 Gateway Card – richer/deeper container === */
section.room-link-block {
  background: linear-gradient(180deg, #f8e0bd 0%, #f2c78d 100%); /* warm cream → deeper ochre */
  border-radius: 20px;
  border: 1px solid rgba(161, 98, 58, 0.35);
  padding: 38px 28px;
  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.08),
    0 4px 12px rgba(0, 0, 0, 0.05),
    inset 0 1px 0 rgba(255,255,255,0.55);
  text-align: center;
}

/* Heading — keep vermillion but weightier */
section.room-link-block h2 {
  color: #8c1d00;   /* clear vermillion (not maroon) */
  font-weight: 700;
  margin-bottom: 12px;
}

/* Description — deeper brown for contrast */
section.room-link-block .room-description {
  color: #332218;
  font-size: 1rem;
  margin-bottom: 26px;
}
/* Hover — golden lift with soft vermillion outer glow */
.room1-button:hover {
  transform: translateY(-1px) scale(1.01);
  background: linear-gradient(180deg, #f6c08f 0%, #d1491d 100%); /* warm gold → vermillion */
  color: #fffefc; /* light text for contrast */
  box-shadow:
    0 14px 32px rgba(161, 98, 58, 0.26),    /* warm ochre shadow */
    0 0 16px rgba(161, 35, 0, 0.35),        /* vermillion glow */
    inset 0 1px 0 rgba(255, 255, 255, 0.70);
}

/* Focus — same glow for accessibility */
.room1-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px #fff,
    0 0 0 5px #a12300,                      /* vermillion ring */
    0 0 18px rgba(161, 35, 0, 0.35),        /* soft vermillion glow */
    0 14px 32px rgba(161, 98, 58, 0.26);
}

/* ===== Tighten gap around the red seal (between Room 2 panel and Chamber 3) ===== */

/* Room 2 panel: reduce space below */
.room2-block { 
  margin-bottom: 20px !important; 
}

/* Seal block: collapse extra whitespace */
.seal-spacer-tight {
  display: flow-root;                 /* prevents margin-collapsing */
  margin: 10px 0 12px !important;     /* top / bottom around the seal */
  padding: 0 !important;
  line-height: 0;                      /* kills stray inline spacing */
}
.seal-spacer-tight .final-zenmoon-seal {
  display: block;
  margin: 0 auto !important;          /* center, no extra margins */
}

/* Pull the next section (Chamber 3) up */
.seal-spacer-tight + .chamber,
.seal-spacer-tight + section {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

/* Mobile tune */
@media (max-width: 768px){
  .room2-block { margin-bottom: 16px !important; }
  .seal-spacer-tight { margin: 8px 0 10px !important; }
  .seal-spacer-tight + .chamber,
  .seal-spacer-tight + section { padding-top: 6px !important; }
}

/* === FINAL — ULTRA-TIGHT handoff: Room 2 → Seal → Chamber 3 === */

/* 1) Room 2 panel bottom space */
.room2-block { margin-bottom: 12px !important; }

/* 2) Seal block spacing */
.seal-spacer-tight{
  display: flow-root;                 /* stop margin collapsing */
  margin: 4px 0 6px !important;       /* top / bottom around the seal */
  padding: 0 !important;
  line-height: 0;
}
.seal-spacer-tight .final-zenmoon-seal{ margin: 0 auto !important; }

/* 3) Pull up Chamber 3 and neutralize its first child's top margin */
.seal-spacer-tight + .chamber,
.seal-spacer-tight + .chamber-3,
.seal-spacer-tight + #chamber-3,
.seal-spacer-tight + section{
  margin-top: 0 !important;
  padding-top: 4px !important;
}
.seal-spacer-tight + .chamber > *:first-child,
.seal-spacer-tight + .chamber-3 > *:first-child,
.seal-spacer-tight + #chamber-3 > *:first-child,
.seal-spacer-tight + section > *:first-child{
  margin-top: 0 !important;
}

/* Even-tighter handoff: Room 2 → Seal → Chamber 3 */
@media (min-width: 1024px){
  .room2-block{ margin-bottom: 8px !important; }
  .seal-spacer-tight{ margin: 1px 0 3px !important; }
  .seal-spacer-tight + .chamber,
  .seal-spacer-tight + .chamber-3,
  .seal-spacer-tight + #chamber-3,
  .seal-spacer-tight + section{ padding-top: 2px !important; }
}

@media (max-width: 768px){
  .room2-block{ margin-bottom: 8px !important; }
  .seal-spacer-tight{ margin: 2px 0 3px !important; }
  .seal-spacer-tight + .chamber,
  .seal-spacer-tight + .chamber-3,
  .seal-spacer-tight + #chamber-3,
  .seal-spacer-tight + section{ padding-top: 3px !important; }
}

/* OPTIONAL: last 1–2px pinch */
@media (min-width:1024px){
  .room2-block{ margin-bottom: 6px !important; }      /* was 8 */
  .seal-spacer-tight{ margin: 0 0 2px !important; }   /* was 1 / 3 */
  .seal-spacer-tight + .chamber,
  .seal-spacer-tight + .chamber-3,
  .seal-spacer-tight + #chamber-3,
  .seal-spacer-tight + section{ padding-top: 2px !important; } /* unchanged */
}
@media (max-width:768px){
  .room2-block{ margin-bottom: 6px !important; }      /* was 8 */
  .seal-spacer-tight{ margin: 1px 0 2px !important; } /* was 2 / 3 */
  .seal-spacer-tight + .chamber,
  .seal-spacer-tight + .chamber-3,
  .seal-spacer-tight + #chamber-3,
  .seal-spacer-tight + section{ padding-top: 2px !important; } /* was 3 */
}



/* === Room 3 — champagne light (hover, focus, active) === */
/* Works whether you use .room3-block/.room3-button or the #room3-title markup */
.room3-block .room-link-button.room3-button:hover,
.room3-block .room-link-button.room3-button:focus-visible,
.room3-block .room-link-button.room3-button:active,
.room-link-block:has(#room3-title) .room-link-button:hover,
.room-link-block:has(#room3-title) .room-link-button:focus-visible,
.room-link-block:has(#room3-title) .room-link-button:active {
  background: linear-gradient(180deg, #FFFDF7 0%, #FFF4D8 100%) !important; /* pale, not orange */
  color: #1e140d !important;
  border-color: rgba(170,140,80,0.40) !important;
  box-shadow:
    0 10px 24px rgba(30,20,13,0.18),
    0 0 16px rgba(255,240,196,0.40),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

/* If Room 3 uses a glow pseudo-element, make its tint pale too */
.room3-block .room-link-button.room3-button::before,
.room-link-block:has(#room3-title) .room-link-button::before {
  background: radial-gradient(60% 90% at 50% 55%,
             rgba(255,240,196,0.28) 0%, rgba(255,240,196,0) 60%) !important;
}

/* === ROOM 3 — Champagne light (no orange) === */

/* Base still your current gold; we only change interactive states */
.room3-block .room-link-button.room3-button:hover,
.room3-block .room-link-button.room3-button:focus-visible,
.room3-block .room-link-button.room3-button:active,
.room-link-block:has(#room3-title) .room-link-button:hover,
.room-link-block:has(#room3-title) .room-link-button:focus-visible,
.room-link-block:has(#room3-title) .room-link-button:active {
  background: linear-gradient(180deg, #FFFDF7 0%, #FFF4D8 100%) !important; /* pale, “diamond” */
  color: #1e140d !important;
  border-color: rgba(170,140,80,0.40) !important;
  box-shadow:
    0 10px 24px rgba(30,20,13,0.18),
    0 0 16px rgba(255,240,196,0.40),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

/* If the pill uses a glow pseudo-element, tint it pale too */
.room3-block .room-link-button.room3-button::before,
.room-link-block:has(#room3-title) .room-link-button::before {
  background: radial-gradient(60% 90% at 50% 55%,
             rgba(255,240,196,0.28) 0%, rgba(255,240,196,0) 60%) !important;
}

/* Optional: also lighten the sheen (if :after adds shine) */
.room3-block .room-link-button.room3-button::after,
.room-link-block:has(#room3-title) .room-link-button::after {
  background: linear-gradient(130deg,
              rgba(255,255,255,0) 0%,
              rgba(255,255,255,0.18) 45%,
              rgba(255,255,255,0) 60%) !important;
}

/* ROOM 3 — Soft Aurum (hover/focus/active) */
section.room-link-block:has(#room3-title) .room-link-container > .room-link-button:hover,
section.room-link-block:has(#room3-title) .room-link-container > .room-link-button:focus-visible,
section.room-link-block:has(#room3-title) .room-link-container > .room-link-button:active {
  background: linear-gradient(180deg, #FFF1C9 0%, #F8C566 100%) !important; /* pale → honey gold */
  color: #1e140d !important;
  border-color: rgba(200,150,70,.45) !important;
  box-shadow:
    0 10px 24px rgba(30,20,13,.18),
    0 0 16px rgba(248,197,102,.35),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
}
/* optional: match any glow pseudo-element */
section.room-link-block:has(#room3-title) .room-link-container > .room-link-button::before{
  background: radial-gradient(60% 90% at 50% 55%, rgba(248,197,102,.28) 0%, rgba(248,197,102,0) 60%) !important;
}

/* Thank-you block visibility + fade */
.thank-you.hidden {
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.thank-you.show {
  opacity: 1;
  pointer-events: none;
  transition: opacity .25s ease;
}

/* Donation actions – refined layout */
.donation-block .link-column{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1.1rem;
}

/* Buttons: compact, pill, warm tones */
.donation-block .btn{
  appearance:none;
  border:1px solid transparent;
  border-radius:10px;
  padding:.46rem .9rem;
  line-height:1.1;
  font-weight:600;
  letter-spacing:.2px;
  text-decoration:none;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

/* Palette (harmonizes with saffron/vermillion gradient) */
.donation-block .btn.ochre{ background:#b86e3a; color:#fff; }
.donation-block .btn.clay{  background:#a04a27; color:#fff; }
.donation-block .btn.outline{
  background:transparent; color:#a04a27; border-color:#b86e3a;
}

/* Hover / active */
.donation-block .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}
.donation-block .btn:active{
  transform:translateY(0);
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}

/* Keyboard focus – visible and on-brand */
.donation-block .btn:focus-visible{
  outline:3px solid #c41219;
  outline-offset:2px;
}

/* Mobile: full-width stack for tap comfort */
@media (max-width:560px){
  .donation-block .link-column{ flex-direction:column; align-items:center; }
  .donation-block .btn{ width:100%; max-width:280px; text-align:center; }
}

/* --- Copy address button: clearer contrast + states --- */
.donation-block .btn.outline{
  background: rgba(255,255,255,.22);   /* subtle light pill on warm bg */
  color: #5a2a10;                      /* readable brown text */
  border: 1px solid #b86e3a;           /* ochre border for definition */
  box-shadow: 0 1px 4px rgba(0,0,0,.10);
}

.donation-block .btn.outline:hover{
  background: rgba(255,255,255,.30);
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(0,0,0,.14);
}

.donation-block .btn.outline:focus-visible{
  outline: 3px solid #c41219;          /* on-brand focus ring */
  outline-offset: 2px;
}

/* Success flash after copy */
.donation-block .btn.outline.copied{
  background: #1f7a3d;                 /* success green */
  border-color: #1f7a3d;
  color: #fff;
  box-shadow: 0 3px 10px rgba(31,122,61,.28);
}

/* Optional: small clipboard/check icons without changing HTML */
#copyBtn::before{
  content: "📋";
  margin-right: .45rem;
  display: inline-block;
}
#copyBtn.copied::before{
  content: "✓";
}

/* ==== Foundational Philosophy — 1207 (light theme, site-native spacing) ==== */
.section.prose-wrap { max-width: 860px; margin: 48px auto; padding: 0 18px; }
.section-header { margin-bottom: 12px; }
.section-header h2 { margin: 0 0 4px; font-size: 1.75rem; letter-spacing: .2px; }
.section-sub { margin: 0 0 8px; opacity: .8; }

.prose p { margin: 0 0 12px; line-height: 1.6; }
.prose p + p { margin-top: 8px; }

.sig3 { text-align: center; margin: 18px 0 0; }
.sig3-name { margin: 0; font-weight: 600; font-size: 1.06rem; letter-spacing: .2px; }
.sig3-pen { margin: 0 0 6px; opacity: .85; }
.sig3-seal { display: inline-block; margin: 6px 0; width: 90px; height: auto; }
.sig3-authorship { margin: 6px 0 0; font-size: .94rem; opacity: .86; }

.links-row { margin-top: 14px; display: flex; gap: 12px; justify-content: center; }
.btn-link { text-decoration: underline; }

/* Anchor offset so header doesn't hide the title on jump */
#foundational-philosophy-1207 { scroll-margin-top: 80px; }

/* Small screens */
@media (max-width: 640px){
  .section.prose-wrap { margin: 36px auto; padding: 0 14px; }
  .section-header h2 { font-size: 1.45rem; }
}

/* ==== Mobile polish for the 1207 title ==== */
@media (max-width: 640px){
  /* scale the heading a touch and tighten spacing */
  #foundational-philosophy-1207 .fp-title{
    font-size: 1.28rem;      /* was inherited; this reads well on phones */
    line-height: 1.25;
    gap: .32rem;
    text-wrap: balance;      /* nicer multi-line wrap (Safari/Chromium) */
  }
  /* keep the icon visually aligned and compact */
  #foundational-philosophy-1207 .title-icon{
    transform: translateY(-1px);
    font-size: 1.05em;
  }
  /* subtle colon spacing so the wrap prefers to break after it */
  #foundational-philosophy-1207 .fp-title .sep{
    margin: 0 .22rem 0 .18rem;
  }
  /* guarantee "Room 1" stays together (you already added .nowrap) */
  .nowrap{ white-space: nowrap; }
}

.title-icon { margin-right: .4rem; }

/* --- Smart Contract: Verification callout (muted parchment blend) --- */
.verified-note{
  margin: 10px 0 8px;
  padding: 12px 14px;
  background: rgba(247,229,199,.35);          /* translucent parchment wash */
  border: 1px solid rgba(178,120,62,.35);     /* soft ochre edge */
  border-left: 5px solid #B8722D;             /* monk-robe ribbon */
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  line-height: 1.55;
  font-size: 1.02rem;
}

/* Links inside the note — muted cocoa for less visual pull */
.verified-note a{
  color: #5a4633;                             /* quiet cocoa tone */
  text-decoration-color: rgba(90,70,51,.45);
}
.verified-note a:hover{
  color: #4b3a2a;
  text-decoration-color: rgba(75,58,42,.6);
}

/* Verified badge — minimal, outlined, and subdued */
.chamber .verified-note .badge.verified{
  background: transparent;
  color: #7a4a22;
  border: 1px solid rgba(178,120,62,.55);
  box-shadow: none;
  border-radius: 999px;
  padding: 2px 7px;
  font-weight: 600;
}

/* === Zoom tray (visuals only; JS handles placement/show) =================== */
.zoom-panel{
  position: fixed; right: 16px; top: 56px; z-index: 100000;
  display: none; gap: .5rem; align-items: center;
  padding: .6rem .7rem;
  border: 1px solid rgba(180,120,60,.35);
  border-radius: 10px;
  background: rgba(253,247,238,.95); /* warm cream */
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  backdrop-filter: blur(4px);
}
body.zoom-on .zoom-panel{ display: grid; }

.zoom-panel .mag-btn{
  line-height: 1; padding: .35rem .5rem; border: 1px solid #d9c4ad;
  border-radius: 8px; background: #fff; cursor: pointer;
}
.zoom-panel .mag-btn:active{ transform: translateY(1px); }
.zoom-panel .zoom-slider,
.zoom-panel .mag-range{ width: 9rem; height: 1.25rem; cursor: pointer; }

/* === Robust loupe (wood/blue SVG), no background box ====================== */
.magnifier{
  position: fixed; top: 16px; right: 16px; z-index: 2147483000;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  display: inline-grid; place-items: center;
  line-height: 1; cursor: pointer;
  transition: transform .18s ease, filter .15s ease;
  font-size: 0;               /* SVG controls size; keeps button compact */
  touch-action: manipulation; /* snappy taps on mobile */
  -webkit-tap-highlight-color: transparent;
}

/* Rotate ONLY the glass, never the button/panel */
.magnifier { transform: none !important; }                 /* container never rotates */
.magnifier .loupe{
  transform-origin: 50% 50%;
  transition: transform .18s ease, filter .15s ease;       /* move transition here */
}
.magnifier.is-on .loupe{ transform: rotate(25deg); }       /* swivel just the SVG */
.magnifier .zoom-panel{ transform: none !important; }      /* belt-and-suspenders */


/* Loupe icon sizing (same as Room 1) */
.magnifier .loupe{ width: 42px; height: 42px; display: block; }
@media (min-width:1100px){
  .magnifier .loupe{ width: 50px; height: 50px; }
}

/* Subtle presence */
.magnifier:hover{ filter: drop-shadow(0 0 6px rgba(184,114,45,.35)); }

/* Ensure container receives the click, not inner SVG */
#loupe, .magnifier { pointer-events: auto; }
.magnifier * { pointer-events: none; } /* click falls through to the container */

/* === Zoom core (required for magnification) =============================== */
/* Alias supports both old --zoomPercent and new --dz-zoom (Room 1 standard) */
html { font-size: calc(var(--dz-zoom, var(--zoomPercent, 100)) * 1%); }
@media (prefers-reduced-motion: no-preference){
  html { transition: font-size .12s ease-out; }
}

/* Safety: keep common text blocks on rem if any px slipped in */
main p, main li, main blockquote, main figcaption { font-size: 1rem; }

/* Respect notches / safe areas */
@supports (padding-top: env(safe-area-inset-top)){
  .magnifier{
    top: calc(16px + env(safe-area-inset-top));
    right: calc(16px + env(safe-area-inset-right));
  }
  .zoom-panel{
    right: calc(16px + env(safe-area-inset-right));
  }
}

/* === Loupe Hover Shimmer (matches Room 1) ================================= */
.magnifier .glass-shine { opacity: 0; transform: translateX(0); transition: opacity .2s ease; }
.magnifier:hover .glass-shine { opacity: 1; }

@keyframes loupeSweep{
  0%   { transform: translateX(-10px); opacity: 0.0; }
  10%  { opacity: 0.15; }
  50%  { transform: translateX(20px); opacity: 0.22; }
  90%  { opacity: 0.10; }
  100% { transform: translateX(36px); opacity: 0.0; }
}

.magnifier:hover .glass-shine rect{
  animation: loupeSweep 1.2s ease-in-out forwards;
}

/* Reduced motion: no sweep; keep a very gentle static sheen */
@media (prefers-reduced-motion: reduce){
  .magnifier:hover .glass-shine rect { animation: none; }
  .magnifier .glass-shine { opacity: .1; }
}

/* Base loupe shell (ensures swivel + placement work reliably) */
.magnifier{
  position: fixed; top: 16px; right: 16px; z-index: 2147483000;
  background: transparent; border: 0; box-shadow: none;
  display: inline-grid; place-items: center;
  line-height: 1; cursor: pointer;
  transition: transform .18s ease, filter .15s ease;
  transform-origin: 50% 50%;
}

/* Swivel on open (you already had this, keep it) */
.magnifier.is-on{ transform: rotate(25deg); }

/* Make sure the tray can show when toggled on */
body.zoom-on .zoom-panel{ display: grid; }

/* Ensure clicks always reach the button, not the SVG internals */
#loupe, .magnifier { pointer-events: auto; }
.magnifier * { pointer-events: none; }  /* click/tap falls through to container */

/* Keep the panel under the loupe so the loupe is always clickable */
.zoom-panel{ z-index: 100000; }



/* Fallback placement + guaranteed show on open */
.zoom-panel{
  position: fixed; right: 16px; top: 56px;
  display: none;
  background: rgba(253,247,238,.95);
  border: 1px solid rgba(180,120,60,.35);
  border-radius: 10px;
  padding: .6rem .7rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  backdrop-filter: blur(4px);
  z-index: 2147483000;
}
body.zoom-on .zoom-panel{ display: grid !important; }

/* Anchor the tray to the loupe (inside the button) */
.magnifier { position: fixed; top: 16px; right: 16px; z-index: 2147483000; }
.magnifier .zoom-panel{
  position: absolute;                /* anchor to the loupe */
  top: calc(100% + 12px);            /* 12px below the button */
  right: 0;
  display: none;                     /* JS will toggle to grid */
  background: rgba(253,247,238,.98);
  border: 1px solid rgba(180,120,60,.35);
  border-radius: 10px;
  padding: .6rem .7rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  backdrop-filter: blur(4px);
  z-index: 1;                        /* sits above the loupe’s SVG */
}

/* IMPORTANT: don’t disable clicks for the panel */
.magnifier svg * { pointer-events: none; }         /* limit to the SVG only */
.magnifier .zoom-panel,
.magnifier .zoom-panel * { pointer-events: auto; } /* allow interaction */

/* Show when “open” (JS also sets inline display as a backup) */
.magnifier.is-on .zoom-panel { display: grid; }

/* Harden root zoom so mobile Safari can't override it */
html{ font-size: calc(var(--dz-zoom, var(--zoomPercent, 100)) * 1%) !important; }

/* Optional: make common text definitely use rem on small screens */
@media (max-width: 768px){
  main p, main li, main blockquote, main figcaption { font-size: 1rem; }
}

/* === Base reading size guard (global) ================================== */
/* 1) Set a sane default zoom and root size the loupe can scale from */
:root{
  --dz-zoom: 100 !important;                /* default = 100% */
}
html{
  font-size: calc(var(--dz-zoom, 100) * 1%) !important;  /* 100% baseline */
  -webkit-text-size-adjust: 100%;
}

/* 2) Make the default reading size larger (independent of root %) */
body{
  font-size: 17px;                           /* bump base text above 16px */
  line-height: 1.65;
}

/* 3) Desktop comfort bump */
@media (min-width: 1200px){
  body{ font-size: 18px; line-height: 1.7; }
}

/* 4) Prevent wrappers from shrinking text globally */
main, section, .room-container, .chamber, .chamber-1, .chamber-2, .chamber-3{
  font-size: 1rem !important;                /* inherit baseline; no downscaling */
}

/* 5) Safety: common text elements stay on the rem baseline */
p, li, blockquote, figcaption{ font-size: 1rem; line-height: inherit; }

/* === Bigger global baseline (works with loupe) ===========================
   16px * 1.125 = 18px at 100% zoom. Change --dz-base if you want 17px, etc.
*/
:root { --dz-base: 1.125 !important; }           /* 1.0625 = 17px, 1.125 = 18px */

html{
  font-size: calc(
    var(--dz-zoom, var(--zoomPercent, 100))      /* your slider value */
    * var(--dz-base, 1)                          /* global baseline multiplier */
    * 1%
  ) !important;
  -webkit-text-size-adjust: 100%;
}

/* Keep containers from shrinking type globally */
main, section, .room-container, .chamber, .chamber-1, .chamber-2, .chamber-3{
  font-size: 1rem !important;
}

/* Slight lift for core reading paragraphs only */
.chamber-1 p,
.chamber-2 p,
.chamber-section p,
.prose p {
  font-size: 1.06rem;   /* ~+6% over base */
  line-height: 1.7;
}

/* Keep headings clearly above body */
.chamber-1 h2, .chamber-2 h2, .chamber-section h2 { margin-top: .6rem; }

.verified-note a { overflow-wrap: anywhere; }
