@import url("https://fonts.cdnfonts.com/css/twentieth-century");

:root{
  --green-1:#79cb89;
  --green-2:#70b07c;
  --green-3:#4e8a5a;
  --sun:#ffd966;
  --earth:#d59859;

  --ink:#4a6c37;
  --muted:#4a6c37;
  --bg:#fbfff8;
  --paper:#ffffff;
  --line:rgba(23,48,34,.12);

  --shadow: 0 10px 30px rgba(23,48,34,.10);
  --radius: 18px;
  --radius-lg: 26px;

  --font-title: "Chewy", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-body: "Twentieth Century Web", "Twentieth Century", "Tw Cen MT", "Tw Cen MT Std", "Century Gothic", "Apple Gothic", Arial, sans-serif;

  --container: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg);
  line-height:1.58;
  font-size: 1.2rem;
}

.container{
  width:min(var(--container), calc(100% - 2rem));
  margin-inline:auto;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:0;
  padding:.75rem 1rem;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  z-index:9999;
}
.skip-link:focus{ left:1rem; top:1rem; }

a{ color: inherit; }
.text-link{
  color: var(--green-3);
  text-decoration: none;
  border-bottom: 1px dashed rgba(78,138,90,.5);
}
.text-link:hover{ border-bottom-style: solid; }

.small{ font-size:1.04rem; }
.muted{ color: var(--muted); }

/* Header */
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(251,255,248,.8);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 0;
}
.brand{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  text-decoration:none;
}
.brand-mark{
  font-family: var(--font-title);
  font-size: 1.7rem;
  letter-spacing: .02em;
}

/* Nav */
.nav-toggle{ display:none; }
.nav-burger{
  display:none;
  width:46px;
  height:42px;
  border:1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
  box-shadow: 0 6px 18px rgba(23,48,34,.08);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  padding: 10px;
  gap: 5px;
}
.nav-burger span{
  display:block;
  height:2px;
  width:100%;
  background: var(--ink);
  border-radius: 99px;
}

.site-nav{
  display:flex;
  gap:1rem;
  align-items:center;
}
.site-nav a{
  text-decoration:none;
  color: var(--muted);
  font-weight: 550;
  font-size: 1.1rem;
  padding:.62rem .82rem;
  border-radius: 999px;
}
.site-nav a:hover{
  background: rgba(121,203,137,.18);
  color: var(--ink);
}
.nav-cta{
  background: linear-gradient(135deg, rgba(255,217,102,.65), rgba(121,203,137,.50));
  border: 1px solid rgba(213,152,89,.35);
  color: var(--ink) !important;
}

/* Sections */
.section{
  padding: clamp(3.5rem, 5vw, 5.5rem) 0;
}
.section-alt{
  background:
    radial-gradient(600px 240px at 15% 10%, rgba(255,217,102,.25), transparent 60%),
    radial-gradient(700px 260px at 85% 0%, rgba(121,203,137,.22), transparent 65%),
    linear-gradient(0deg, rgba(255,255,255,.6), rgba(255,255,255,.6));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.section-head{
  max-width: 820px;
  margin-bottom: 1.75rem;
}
.section-head h2{
  margin:0 0 .4rem 0;
  font-family: var(--font-title);
  font-size: clamp(2rem, 3.3vw, 3rem);
}
.section-head p{ margin:.2rem 0 0 0; color: var(--muted); }

/* Hero */
.hero{
  position:relative;
  padding: clamp(2.8rem, 6vw, 5.5rem) 0 3rem;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(900px 400px at 10% 20%, rgba(121,203,137,.35), transparent 60%),
    radial-gradient(700px 360px at 75% 0%, rgba(255,217,102,.35), transparent 60%),
    radial-gradient(600px 320px at 95% 60%, rgba(213,152,89,.25), transparent 60%),
    linear-gradient(180deg, rgba(251,255,248,1), rgba(251,255,248,.2));
}

/* IMPORTANT: lowered overlay strength so hero image is NOT washed out */
.hero-photo{
  position:absolute;
  inset:-20px;
  background-image:
    linear-gradient(
      90deg,
      rgba(251,255,248,.82) 0%,
      rgba(251,255,248,.55) 38%,
      rgba(251,255,248,.18) 62%,
      rgba(251,255,248,.55) 100%
    ),
    radial-gradient(600px 380px at 12% 35%, rgba(255,217,102,.12)),
    url("images/aya-garden-view.jpg");
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.02);
  pointer-events:none;
}

.hero-inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 2rem;
  align-items: start;
}
.eyebrow{
  display:inline-block;
  font-weight: 800;
  letter-spacing:.04em;
  text-transform: uppercase;
  font-size:.82rem;
  padding:.4rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  border:1px solid var(--line);
}
.hero h1{
  margin:.75rem 0 .6rem 0;
  font-family: var(--font-title);
  font-weight: 400;
  font-size: clamp(2.6rem, 4.6vw, 4rem);
  line-height: 1.02;
}

.facilitator-subtitle{
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.35;
}

/* Better readability without touching background */
.hero .lead{
  margin: 0 0 1rem 0;
  font-size: 1.16rem;
  color: var(--ink);
  max-width: 62ch;
  text-shadow: 0 2px 14px rgba(255,255,255,.55);
  font-family: var(--font-body);
  font-weight: 400;
}

.highlight{
  background: linear-gradient(180deg, transparent 55%, rgba(255,217,102,.65) 55%);
  padding: 0 .2rem;
  border-radius: 8px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin: 1.1rem 0 1rem;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.85rem 1.05rem;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 900;
  border: 1px solid var(--line);
  box-shadow: 0 10px 22px rgba(23,48,34,.08);
  cursor:pointer;
}
.btn-primary{
  background: linear-gradient(135deg, rgba(121,203,137,.9), rgba(255,217,102,.85));
  color: var(--ink);
  border-color: rgba(78,138,90,.25);
}
.btn-primary:hover{ transform: translateY(-1px); }
.btn-ghost{
  background: rgba(255,255,255,.8);
  color: var(--ink);
}
.btn-ghost:hover{ background: rgba(255,255,255,1); }

.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top: .6rem;
}
.badge{
  background: rgba(255,255,255,.72);
  border: 1px solid var(--line);
  padding: .35rem .6rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .88rem;
  color: var(--muted);
}

/* Card */
.card{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.2rem;
  box-shadow: var(--shadow);
}
.glass{
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
}
.card-title{
  margin:0 0 .75rem 0;
  font-family: var(--font-title);
  font-size: 1.8rem;
}
.icon-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.75rem;
}
.icon-list li{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}
.icon{
  width: 2rem;
  height: 2rem;
  display:grid;
  place-items:center;
  border-radius: 12px;
  background: rgba(121,203,137,.20);
  border:1px solid rgba(78,138,90,.22);
}
.mini-cta{
  display:inline-block;
  margin-top: .95rem;
  font-weight: 900;
  color: var(--green-3);
  text-decoration:none;
}

/* Layout */
.two-col{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 1.5rem;
  align-items:start;
}
.stack{ display:grid; gap:1rem; }
.grid{ display:grid; gap:1rem; }
.cards-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

h2{ font-family: var(--font-title); }
h3{
  margin:0 0 .4rem 0;
  font-family: var(--font-title);
  font-size: 1.6rem;
}
p{ margin:.3rem 0; }

/* Checklist */
.checklist{
  list-style:none;
  padding:0;
  margin:.75rem 0 0 0;
  display:grid;
  gap:.55rem;
}
.checklist li{
  position:relative;
  padding-left: 1.6rem;
}
.checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  font-weight: 1000;
  color: var(--green-3);
}
.checklist.muted li::before{ color: rgba(78,138,90,.6); }

/* FIX 1: restore vertical spacing in Experience section */
#experience .cards-4,
#experience .cards-3{
  gap: 1.6rem;
}
#experience .cards-4{
  margin-bottom: 1.6rem;
}
#experience .cards-4 > .card,
#experience .cards-3 > .card{
  height: 100%;
}

/* Retreats block under prices */
.retreats-wrap{ margin-top: 1.25rem; }
.retreats-card h3{ margin-bottom: .25rem; }
.retreats-grid{
  display:grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  margin-top: .9rem;
}
.retreat-block{
  border: 1px solid rgba(23,48,34,.10);
  border-radius: var(--radius);
  padding: .95rem;
  background: rgba(255,255,255,.65);
}
.retreat-block h4{
  margin: 0 0 .65rem 0;
  font-family: var(--font-title);
  font-size: 1.5rem;
}
.retreat-month{ margin-top: .75rem; }
.retreat-month-title{
  font-weight: 1000;
  color: var(--ink);
  margin-bottom: .35rem;
}
.retreat-list{
  margin: 0;
  padding-left: 1.1rem;
  color: var(--muted);
  font-weight: 400;
  font-size: 1.02rem;
}
.retreat-list li{ margin: .25rem 0; }

/* Gallery */
.gallery-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
}
.gallery-item{
  margin:0;
  border-radius: var(--radius);
  overflow:hidden;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: var(--shadow);
}
.gallery-item figcaption{
  padding: .9rem 1rem;
  color: var(--muted);
  font-weight: 400;
  font-size: 1.2rem;
}
.gallery-item.wide{ grid-column: span 2; }

.gallery-btn{
  padding:0;
  margin:0;
  border:0;
  background: transparent;
  cursor: zoom-in;
  display:block;
  width:100%;
}
.gallery-img{
  width:100%;
  height: 300px;
  object-fit: cover;
  object-position: center center;
  display:block;
}
.gallery-item.wide .gallery-img{ height: 320px; }
.gallery-item.portrait .gallery-img{ height: 320px; }

/* Team */
.team-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  max-width: 920px;
}
.team-card h3{ margin-top: .9rem; }
.team-photo{
  width: 50%;
  height: 190px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.75);
  display:block;
  margin: 0 auto;          /* <-- center it */
}


/* Pricing */
.pricing-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.price-card .price-line{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin:.65rem 0;
}
.price-tag{
  font-weight: 1000;
  color: var(--muted);
  background: rgba(121,203,137,.14);
  border:1px solid rgba(78,138,90,.18);
  padding:.2rem .5rem;
  border-radius: 999px;
}
.price{
  font-family: var(--font-title);
  font-size: 2rem;
}

/* Reviews carousel */
.testimonial .who{
  margin-top: .6rem;
  font-family: var(--font-title);   /* Patrick Hand (cursive vibe) */
  font-size: 1.09rem;
  color: var(--green-3);
}

.reviews-carousel{ max-width: 920px; }
.reviews-viewport{
  overflow:hidden;
  border-radius: var(--radius);
}
.reviews-track{
  display:flex;
  transition: transform 450ms ease;
  will-change: transform;
}
.review-slide{ flex: 0 0 100%; }
.reviews-controls{
  margin-top: 1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: .75rem;
}
.reviews-btn{ padding: .7rem 1rem; }
.reviews-dots{
  display:flex;
  gap:.5rem;
  align-items:center;
  justify-content:center;
  flex: 1;
}
.dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(23,48,34,.22);
  background: rgba(255,255,255,.7);
  cursor:pointer;
}
.dot.active{
  background: rgba(121,203,137,.75);
  border-color: rgba(78,138,90,.55);
}

/* Booking */
.booking-wrap{
  display:grid;
  gap: 1.25rem;
  max-width: 920px;
}
.booking-form-wide{ padding: 1.1rem; }
.booking-after{ max-width: 920px; }
.form-card{ padding: 1rem; }
.aya-form{ display:grid; gap: .9rem; }
.field{ display:grid; gap:.45rem; }
label{ font-weight: 900; color: var(--ink); }

input, textarea{
  width:100%;
  padding: .85rem .95rem;
  border-radius: 14px;
  border: 1px solid rgba(23,48,34,.18);
  background: rgba(255,255,255,.85);
  color: var(--ink);
  outline: none;
  box-shadow: 0 8px 18px rgba(23,48,34,.06);
}
input:focus, textarea:focus{
  border-color: rgba(78,138,90,.55);
  box-shadow: 0 0 0 4px rgba(121,203,137,.18);
}

.req{ color: var(--green-3); font-weight: 1000; }

/* Radio */
.radio-list{
  display:grid;
  gap:.6rem;
  margin-top: .25rem;
}
.radio-item{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.85rem .9rem;
  border-radius: 16px;
  border: 1px solid rgba(23,48,34,.14);
  background: rgba(255,255,255,.78);
  box-shadow: 0 8px 18px rgba(23,48,34,.06);
  cursor:pointer;
  color: var(--muted);
  font-weight: 900;
}
.radio-item.compact{ padding:.75rem .85rem; }

.radio-item input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.radio-ui{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 2px solid rgba(78,138,90,.45);
  background: rgba(255,255,255,.9);
  display:inline-block;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,1);
  flex: 0 0 auto;
}
.radio-text{ flex: 1 1 auto; font-weight: 400; }

.radio-item:has(input:checked){
  border-color: rgba(78,138,90,.45);
  background: rgba(121,203,137,.14);
  color: var(--ink);
}
.radio-item:has(input:checked) .radio-ui{
  background: rgba(121,203,137,.55);
  border-color: rgba(78,138,90,.7);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,1);
}

.other-input{
  max-width: 260px;
  margin-left: .5rem;
  padding: .6rem .75rem;
  border-radius: 12px;
  border: 1px solid rgba(23,48,34,.18);
  background: rgba(255,255,255,.9);
  box-shadow: none;
}
.other-input:disabled{ opacity:.6; cursor:not-allowed; }

.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top: .35rem;
}

/* Form status */
.form-status{
  padding: .85rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(23,48,34,.12);
  background: rgba(255,255,255,.72);
  color: var(--muted);
  font-weight: 900;
}
.form-status:empty{ display:none; }
.form-status.success{
  display:block;
  border-color: rgba(78,138,90,.35);
  background: rgba(121,203,137,.14);
  color: var(--ink);
}

/* Booking date groups */
.date-groups{
  display:grid;
  gap: 1rem;
  margin-top: .25rem;
}
.date-group{
  border: 1px solid rgba(23,48,34,.10);
  background: rgba(255,255,255,.55);
  border-radius: var(--radius);
  padding: .9rem;
}
.date-group-title{
  font-weight: 1000;
  color: var(--ink);
  margin: 0 0 .65rem 0;
  font-family: var(--font-body);
font-size: 1.35rem;
}

/* IMPORTANT: options underneath each other */
.date-grid{
  display:grid;
  gap: .7rem;
  grid-template-columns: 1fr;
}

/* Hidden iframe + honeypot */
.hidden-iframe{
  width:0;
  height:0;
  border:0;
  position:absolute;
  left:-9999px;
}
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* Contact padding fix */
.contact-section.section{
  padding-top: 1.2rem;
  padding-bottom: 3em;
}
.footer-top{ padding-top: .2rem; }
.site-footer{
  margin-top: 1.1rem;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.65);
}
.footer-bottom{
  padding: 1rem 0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}

/* LIGHTBOX */
.lightbox{
  position:fixed;
  inset:0;
  display:none;
  z-index: 9999;
}
.lightbox[aria-hidden="false"]{ display:block; }

.lightbox-backdrop{
  position:absolute;
  inset:0;
  background: rgba(12,20,16,.62);
  backdrop-filter: blur(2px);
}
.lightbox-panel{
  position:relative;
  width:min(1000px, calc(100% - 2rem));
  margin: 4vh auto;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: var(--radius-lg);
  box-shadow: 0 30px 70px rgba(0,0,0,.25);
  overflow:hidden;
  padding: 1rem;
}
.lightbox-close{
  position:absolute;
  top:.65rem;
  right:.65rem;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  border: 1px solid rgba(23,48,34,.18);
  background: rgba(255,255,255,.85);
  cursor:pointer;
  font-weight: 1000;
}
.lightbox-img{
  width:100%;
  height: min(70vh, 680px);
  object-fit: contain;
  display:block;
  border-radius: 18px;
  background: rgba(23,48,34,.04);
}
.lightbox-caption{
  margin-top: .75rem;
  color: var(--muted);
  font-weight: 900;
  text-align:center;
}
.lightbox-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(23,48,34,.18);
  background: rgba(255,255,255,.86);
  cursor:pointer;
  font-size: 28px;
  font-weight: 900;
  display:grid;
  place-items:center;
}
.lightbox-nav.prev{ left: .7rem; }
.lightbox-nav.next{ right: .7rem; }



/* FAQ */
.faq-wrap{
  margin-top: 1.25rem;
  max-width: 920px;
}
.faq-card h3{
  margin: 0 0 .35rem 0;
}
.faq-item{
  border-top: 1px solid var(--line);
  padding: .75rem 0;
}
.faq-item:first-of-type{ border-top: 0; }
.faq-item summary{
  cursor: pointer;
  font-weight: 800;
  font-family: var(--font-body);
  font-size: 1.1rem;
  color: var(--ink);
  list-style: none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+";
  float:right;
  font-weight: 1000;

}
.faq-item[open] summary::after{ content:"–"; }
.faq-answer{
  margin-top: .55rem;
  color: var(--ink);
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 1.55;
}

.faq-answer p{
  margin: .35rem 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-style: normal;
}

/* Responsive */
@media (max-width: 980px){
  .hero-inner{ grid-template-columns: 1fr; }
  .two-col{ grid-template-columns: 1fr; }
  .cards-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cards-3{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
  .gallery-item.wide{ grid-column: span 2; }
  .reviews-carousel{ max-width: 100%; }
  .booking-wrap{ max-width: 100%; }
  .retreats-grid{ grid-template-columns: 1fr; }
  .team-grid{ grid-template-columns: 1fr; }
  .team-photo{ height: 170px; }
}

@media (max-width: 720px){
  .nav-burger{ display:flex; }
  .site-nav{
    position:absolute;
    top: 64px;
    right: 1rem;
    left: 1rem;
    display:none;
    flex-direction: column;
    gap:.25rem;
    padding: .75rem;
    background: rgba(255,255,255,.92);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
  }
  .site-nav a{ width:100%; justify-content:flex-start; }
  .nav-toggle:checked ~ .site-nav{ display:flex; }

  .cards-4{ grid-template-columns: 1fr; }
  .cards-3{ grid-template-columns: 1fr; }

  .reviews-controls{
    flex-direction: column;
    align-items: stretch;
  }  
}

/* --- Font import / better body font --- */
@font-face{
  font-family:"Twentieth Century Web";
  src:
    local("Twentieth Century"),
    local("Tw Cen MT"),
    local("Tw Cen MT Std"),
    url("https://db.onlinewebfonts.com/t/9b62dc86f936227b3f7b367bd0b6c05e.woff2") format("woff2"),
    url("https://db.onlinewebfonts.com/t/9b62dc86f936227b3f7b367bd0b6c05e.woff") format("woff");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

/* --- Brand / header --- */
.brand{
  align-items:center;
  gap:.7rem;
}
.brand-logo{
  width: 44px;
  height: 44px;
  object-fit: contain;
  display:block;
}
.brand-mark{
  line-height: 1;
}

.header-socials{
  display:flex;
  align-items:center;
  gap:.45rem;
}
.header-social{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background: rgba(255,255,255,.78);
  border:1px solid var(--line);
  box-shadow: 0 6px 18px rgba(23,48,34,.06);
}
.header-social:hover{ background: rgba(255,255,255,.96); }
.header-social img{
  width:19px;
  height:19px;
  object-fit:contain;
  display:block;
}

/* --- More natural backgrounds across sections --- */
body{
  background:
    radial-gradient(1650px 860px at 0% -6%, rgba(121,203,137,.24), transparent 66%),
    radial-gradient(1480px 820px at 104% 8%, rgba(255,217,102,.22), transparent 64%),
    linear-gradient(180deg, #fbfff8 0%, #f8fcf5 100%);
}

main > .section,
main > .hero{
  position:relative;
  isolation:isolate;
}

main > .section::before,
main > .hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.95;
}

main > .section:nth-of-type(1)::before,
main > .hero::before{
  background:
    radial-gradient(1650px 760px at -10% -8%, rgba(121,203,137,.30), transparent 62%),
    radial-gradient(1500px 720px at 110% 18%, rgba(255,217,102,.24), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.04));
}

main > .section:nth-of-type(2)::before{
  background:
    radial-gradient(1550px 720px at -4% 46%, rgba(255,217,102,.24), transparent 62%),
    radial-gradient(1500px 760px at 104% 104%, rgba(121,203,137,.23), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.03));
}

main > .section:nth-of-type(3)::before{
  background:
    radial-gradient(1580px 760px at 104% -8%, rgba(121,203,137,.26), transparent 64%),
    radial-gradient(1460px 700px at 2% 88%, rgba(255,217,102,.21), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.03));
}

main > .section:nth-of-type(4)::before{
  background:
    radial-gradient(1440px 680px at 8% 12%, rgba(255,217,102,.23), transparent 62%),
    radial-gradient(1660px 760px at 98% 82%, rgba(121,203,137,.24), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
}

main > .section:nth-of-type(5)::before{
  background:
    radial-gradient(1660px 760px at -10% 106%, rgba(121,203,137,.26), transparent 64%),
    radial-gradient(1460px 700px at 108% 20%, rgba(255,217,102,.21), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
}

main > .section:nth-of-type(6)::before,
main > .section:nth-of-type(7)::before,
main > .section:nth-of-type(8)::before{
  background:
    radial-gradient(1500px 740px at 6% 18%, rgba(121,203,137,.22), transparent 62%),
    radial-gradient(1440px 700px at 94% 82%, rgba(255,217,102,.21), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
}

.section-alt{
  background: transparent;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

/* --- Lower headings more airy --- */
.section-head h2,
h3,
.retreat-block h4,
.date-group-title,
.faq-item summary{
  letter-spacing: .025em;
}

/* --- Hero readability --- */
.hero-copy{
  max-width: 760px;
}
.eyebrow{
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 25px rgba(23,48,34,.10);
}
.hero .lead{
  max-width: 60ch;
  text-shadow: none;
}
.hero .lead span{ display:inline-block; background: rgba(255,255,255,.84); padding: .5rem .8rem; border-radius: 16px; box-shadow: 0 8px 24px rgba(23,48,34,.04); }
.hero h1{
  text-shadow: 0 4px 14px rgba(255,255,255,.22);
}

/* --- Hero image less flat / image treatments --- */
.hero-photo{
  background-image:
    linear-gradient(
      90deg,
      rgba(251,255,248,.72) 0%,
      rgba(251,255,248,.40) 34%,
      rgba(251,255,248,.14) 60%,
      rgba(251,255,248,.32) 100%
    ),
    radial-gradient(620px 380px at 12% 35%, rgba(255,217,102,.14), transparent 70%),
    url("images/aya-garden-view.jpg");
  filter: saturate(1.2) contrast(1.04);
}
.facilitator-photo{
  background-image:
    linear-gradient(
      90deg,
      rgba(251,255,248,.72) 0%,
      rgba(251,255,248,.42) 36%,
      rgba(251,255,248,.16) 64%,
      rgba(251,255,248,.36) 100%
    ),
    radial-gradient(640px 420px at 18% 45%, rgba(255,217,102,.12), transparent 72%),
    url("images/AyaCircle.jpg");
  background-position: center center;
}

.hero-intro{
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.35;
  margin: 0 0 1rem 0;
  color: var(--ink);
  max-width: 60ch;
  font-family: var(--font-body);
  font-weight: 400;
}

.hero-intro span{
  display: inline-block;
  background: rgba(255,255,255,.74);
  padding: .5rem .8rem;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(23,48,34,.04);
}

/* --- Images blend nicer with page --- */
.gallery-img,
.team-photo,
.flyer-img{
  filter: saturate(.95) contrast(.96) brightness(.98);
}
.gallery-item,
.team-photo,
.flyer-card{
  background: rgba(255,255,255,.62);
}
.gallery-item::after,
.flyer-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(248,252,245,.08));
}
.gallery-item,
.flyer-card{ position:relative; }

/* --- Retreat notes --- */
.retreat-note{
  margin-top:.45rem;
  font-size:.96rem;
  color:var(--muted);
}

/* --- Contact section improved spacing --- */
.contact-section.section{
  padding-top: 3.2rem;
  padding-bottom: 2rem;
  background:
    radial-gradient(900px 320px at 8% 12%, rgba(255,217,102,.22), transparent 62%),
    radial-gradient(980px 360px at 92% 0%, rgba(121,203,137,.22), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,.40));
}
.contact-card{
  padding: 1.25rem;
  background:
    radial-gradient(720px 260px at 10% 10%, rgba(255,217,102,.24), transparent 62%),
    radial-gradient(780px 300px at 90% 0%, rgba(121,203,137,.24), transparent 66%),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.74));
}
.contact-links{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.contact-link{
  display:flex;
  align-items:center;
  gap: .9rem;
  text-decoration:none;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(23,48,34,.10);
  min-height: 86px;
}
.contact-link:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.92);
}
.contact-link strong{
  display:block;
  font-size: 1.05rem;
  margin-bottom: .12rem;
}
.contact-link small{
  display:block;
  color: var(--muted);
  font-size: .97rem;
}
.social-icon{
  width: 48px;
  height: 48px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(121,203,137,.32), rgba(255,217,102,.32));
  border: 1px solid rgba(78,138,90,.18);
  font-weight: 900;
  flex: 0 0 auto;
}
.social-icon img{
  width:22px;
  height:22px;
  display:block;
  object-fit:contain;
}

/* --- Facilitator page extras --- */
.facilitator-story-grid{
  align-items:center;
}
.flyer-card{
  padding:.8rem;
}
.flyer-img{
  width:100%;
  display:block;
  border-radius: 20px;
  border: 1px solid var(--line);
}
.facilitator-price-card{
  text-align:center;
}
.facilitator-price{
  margin:.2rem 0;
  font-family: var(--font-title);
  font-size: clamp(2.2rem, 5vw, 3.3rem);
  line-height: 1;
}
.facilitator-price span{
  font-family: var(--font-body);
  font-size: .52em;
  font-weight: 700;
}

/* --- Mobile --- */
@media (max-width: 980px){
  .contact-links{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px){
  .header-socials{ display:none; }
}

@media (max-width: 720px){
  .brand-logo{
    width: 44px;
    height: 44px;
  }
  .brand-mark{
    font-size: 1.65rem;
  }
  .contact-links{ grid-template-columns: 1fr; }
}


/* round update */
.hero h1{ display:block; text-shadow: 0 4px 14px rgba(255,255,255,.22); }
.hero h1 .highlight{
  display: inline;
  background: linear-gradient(
    180deg,
    transparent 10%,
    rgba(255,217,102,.72) 18%,
    rgba(255,217,102,.72) 82%,
    transparent 90%
  );
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 .18em;
  border-radius: 14px;
}
.hero .lead span{ display:inline-block; background: rgba(255,255,255,.74); padding: .5rem .8rem; border-radius: 16px; box-shadow: 0 8px 24px rgba(23,48,34,.04); }
.facilitator-page .hero h1{ background: none; padding:0; border-radius:0; display:block; }
.facilitator-page .facilitator-subtitle{ display:block; margin-top:.45rem; }
.facilitator-story-photo{ margin: 1.45rem 0 1.6rem; }
.facilitator-story-photo .gallery-img{ height: 420px; }
.facilitator-story-photo .card{ padding:.75rem; background: rgba(255,255,255,.72); }
.facilitator-story-photo img{ width:100%; display:block; border-radius: 18px; border:1px solid var(--line); filter: saturate(.95) contrast(.96) brightness(.98); }
.facilitator-story-intro{ margin-top: 2.1rem; margin-bottom: 1.15rem; }
.facilitator-split{ margin-top: 1.45rem; }


/* Facilitator hero details */
.facilitator-hero .eyebrow{
  display:inline-block;
  background: rgba(255,255,255,.88);
  box-shadow: 0 10px 25px rgba(23,48,34,.10);
}
.facilitator-page .hero-badges{
  margin-top: .9rem;
}
.facilitator-cards{
  margin-bottom: 2.2rem;
}


/* Facilitator hero exact title/text treatment */
.facilitator-page .hero h1 .highlight{
  display: inline;
  background: linear-gradient(
    180deg,
    transparent 10%,
    rgba(255,217,102,.72) 18%,
    rgba(255,217,102,.72) 82%,
    transparent 90%
  );
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 .18em;
  border-radius: 14px;
}
.facilitator-page .hero .hero-intro{
  margin: .35rem 0 0 0;
}
.facilitator-page .hero .hero-intro span,
.facilitator-page .hero .facilitator-subtitle{
  display: inline-block;
}
.facilitator-page .hero .hero-intro span{
  background: rgba(255,255,255,.74);
  padding: .5rem .8rem;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(23,48,34,.04);
}
.facilitator-page .hero .hero-intro + .hero-intro{
  margin-top: .45rem;
}

/* Venue section */
.venue-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
.venue-grid .gallery-item.wide{
  grid-column: span 1;
}
.venue-grid .gallery-img{
  height: 340px;
}
@media (max-width: 980px){
  .venue-grid{
    grid-template-columns: 1fr;
  }
  .venue-grid .gallery-item.wide{
    grid-column: span 1;
  }
}


/* Facilitator fixes */
.facilitator-page #apply{
  border-top: 1px solid var(--line);
}
.facilitator-page .hero .facilitator-subtitle.hero-intro{
  margin: .35rem 0 0 0;
}
.facilitator-page .hero .facilitator-subtitle.hero-intro span{
  display: inline-block;
  background: rgba(255,255,255,.74);
  padding: .5rem .8rem;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(23,48,34,.04);
}
.facilitator-page .hero .facilitator-subtitle.hero-intro + .facilitator-subtitle.hero-intro{
  margin-top: .45rem;
}


/* =========================================================
   AYA GOLD PAGE
   ========================================================= */
.gold-page{
  --gold-1:#f6dfa1;
  --gold-2:#e6c46a;
  --gold-3:#c5962e;
  --gold-4:#a67317;
  --gold-5:#7f5810;
  --gold-line: rgba(197,150,46,.28);
  --gold-soft: rgba(255,250,236,.86);
  background:
    radial-gradient(900px 540px at 8% 2%, rgba(246,223,161,.28), transparent 62%),
    radial-gradient(940px 600px at 100% 16%, rgba(230,196,106,.20), transparent 64%),
    linear-gradient(180deg, #fdfbf5 0%, #faf7ee 100%);
}
.gold-page .site-header{
  background: linear-gradient(180deg, rgba(255,252,245,.94), rgba(252,247,235,.90));
  border-bottom: 1px solid rgba(197,150,46,.20);
  box-shadow: 0 10px 30px rgba(127,88,16,.06);
}
.gold-page .brand-mark,
.gold-page .site-nav a,
.gold-page .section-head p,
.gold-page p,
.gold-page li,
.gold-page small,
.gold-page .muted{ color: var(--gold-5); }

.gold-page .site-nav .nav-cta.gold-nav-cta{
  background:
    linear-gradient(90deg,
      #be7f0d 0%,
      #dba92b 14%,
      #b77a08 28%,
      #edc749 48%,
      #f8e27a 66%,
      #d5a227 82%,
      #be7f0d 100%);
  color: #5e3f07;
  border: 1px solid rgba(168,113,14,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,247,214,.72),
    inset 0 -1px 0 rgba(118,77,8,.12),
    0 12px 24px rgba(127,88,16,.14);
}

.gold-page .gold-btn{
  position: relative;
  background:
    linear-gradient(90deg,
      #b87508 0%,
      #d49d1d 13%,
      #9d6305 27%,
      #dcae2f 44%,
      #f4dd68 63%,
      #d5a126 80%,
      #bf7d0c 100%);
  color: #5c3e09;
  border: 1px solid rgba(165,110,12,.40);
  text-shadow:
    0 1px 0 rgba(255,247,214,.92),
    0 -1px 0 rgba(122,80,8,.10);
  box-shadow:
    inset 0 2px 0 rgba(255,248,218,.78),
    inset 0 -2px 0 rgba(110,72,8,.12),
    0 12px 24px rgba(127,88,16,.18);
}
.gold-page .gold-btn::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0) 44%),
    radial-gradient(38% 120% at 72% 50%, rgba(255,249,173,.34), rgba(255,249,173,0) 58%);
  pointer-events:none;
}
.gold-page .gold-btn::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  box-shadow:
    inset 0 1px 0 rgba(255,251,228,.88),
    inset 0 -1px 0 rgba(111,73,9,.18);
  pointer-events:none;
}
.gold-page .gold-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
}
.gold-page .gold-ghost{
  background: rgba(255,251,242,.85);
  color: var(--gold-5);
  border: 1px solid rgba(197,150,46,.24);
}
.gold-page .gold-hero-bg{
  background:
    radial-gradient(1200px 520px at 85% 0%, rgba(230,196,106,.18), transparent 55%),
    radial-gradient(860px 420px at 10% 15%, rgba(246,223,161,.22), transparent 65%),
    linear-gradient(180deg, #fdfbf5 0%, #faf7ee 100%);
}
.gold-page .gold-photo{
  position:absolute;
  inset:-20px;
  background-image:
    linear-gradient(90deg,
      rgba(253,251,245,.92) 0%,
      rgba(253,251,245,.72) 34%,
      rgba(253,251,245,.24) 64%,
      rgba(253,251,245,.42) 100%),
    radial-gradient(620px 340px at 80% 18%, rgba(246,223,161,.18), transparent 65%),
    url("images/full-aya.jpeg");
  background-size: cover;
  background-position: center;
}
.gold-page .gold-eyebrow{
  background: rgba(255,249,234,.92);
  border: 1px solid rgba(197,150,46,.18);
  color: var(--gold-5);
}
.gold-page .highlight{
  background: linear-gradient(180deg, transparent 54%, rgba(239,210,138,.90) 54%);
}
.gold-page .hero-intro{ color: var(--gold-5); }
.gold-page .gold-hero-intro span,
.gold-page .hero .gold-hero-intro span{
  background: rgba(255,250,239,.76);
  border: 1px solid rgba(197,150,46,.16);
  box-shadow: 0 10px 24px rgba(127,88,16,.06);
}
.gold-page .gold-badge{
  background: rgba(255,250,239,.84);
  border: 1px solid rgba(197,150,46,.18);
  color: var(--gold-5);
}
.gold-page .gold-glass,
.gold-page .gold-panel{
  position: relative;
  background: linear-gradient(180deg, rgba(255,252,246,.88), rgba(255,249,241,.84));
  border: 1px solid var(--gold-line);
  box-shadow:
    0 18px 38px rgba(111,83,24,.08),
    inset 0 1px 0 rgba(255,255,255,.72);
}
.gold-page .gold-panel::before,
.gold-page .gold-glass::before,
.gold-page .gold-gallery-frame::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  padding:1px;
  background: linear-gradient(135deg, rgba(255,241,190,.92), rgba(197,150,46,.82), rgba(255,244,208,.86));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
}
.gold-page .gold-panel::after,
.gold-page .gold-glass::after{
  content:"";
  position:absolute;
  top:0;
  left:14%;
  right:14%;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,250,231,.95), transparent);
  pointer-events:none;
}
.gold-page h1,
.gold-page h2,
.gold-page h3,
.gold-page .card-title,
.gold-page .gold-card-title,
.gold-page .gold-small-title,
.gold-page .contact-link strong{ color: var(--gold-4); }
.gold-page .gold-mini-cta{
  color: var(--gold-4);
  border-bottom: 1px solid rgba(197,150,46,.32);
}
.gold-page .gold-poem-card h3,
.gold-page .gold-quote-card h3{
  margin-bottom: .9rem;
}
.gold-page .gold-poem{
  padding: 1.4rem 1.25rem;
}
.gold-page .gold-poem p{
  margin: .22rem 0;
  font-size: 1.1rem;
  line-height: 1.52;
}
.gold-page .gold-quote-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height: 160px;
}
.gold-page .gold-quote{
  margin:0;
  font-size: 1.16rem;
  line-height:1.65;
}
.gold-page .gold-cards-3{
  gap: 1.25rem;
  margin-bottom: 1.9rem;
}
.gold-page .gold-split{
  gap: 1.25rem;
  margin-top: 0;
}
.gold-page .gold-receive-card{
  padding: 1.4rem 1.25rem 1.45rem;
}
.gold-page .gold-receive-card h3{
  margin-bottom: .9rem;
}
.gold-page .gold-receive-card p{
  margin-top: .55rem;
  line-height: 1.7;
}
.gold-page .gold-gallery-section{
  background:
    radial-gradient(700px 380px at 10% 100%, rgba(239,210,138,.16), transparent 60%),
    linear-gradient(180deg, rgba(255,252,246,.7) 0%, rgba(255,255,255,0) 100%);
}
.gold-page .gold-gallery-frame{
  position: relative;
  border: 1px solid rgba(197,150,46,.22);
  box-shadow: 0 18px 34px rgba(111,83,24,.10);
  overflow: hidden;
}
.gold-page .gold-venue-grid .gallery-img{
  border-radius: 18px;
  border: 2px solid rgba(229,195,106,.66);
  box-shadow:
    inset 0 0 0 1px rgba(255,248,223,.72),
    0 8px 24px rgba(111,83,24,.10);
}
.gold-page .gold-venue-grid .gallery-item figcaption{
  color: var(--gold-5);
}
.gold-page .gold-investment-grid{ align-items:center; }
.gold-page .gold-investment-card{ text-align:center; padding: 1.6rem; }
.gold-page .gold-price{
  margin: .35rem 0 .2rem;
  font-family: var(--font-title);
  font-size: clamp(3rem, 6vw, 4.6rem);
  line-height: 1;
  color: var(--gold-4);
}
.gold-page .gold-subprice{ margin:0; font-size:1.05rem; font-weight:700; color: var(--gold-5); }
.gold-page .gold-divider{
  width: 90px;
  height: 2px;
  margin: 1rem auto 1rem;
  background: linear-gradient(90deg, transparent, rgba(197,150,46,.9), transparent);
}
.gold-page .gold-apply-actions{ margin-top: 1.2rem; }
.gold-page .contact-link{
  border-color: rgba(197,150,46,.18);
  background: rgba(255,251,244,.64);
}
.gold-page .social-icon{
  background: rgba(239,210,138,.28);
  border-color: rgba(197,150,46,.18);
}
.gold-page .site-footer.gold-footer{
  background: rgba(251,250,244,.8);
  border-top: 1px solid rgba(197,150,46,.14);
}
.gold-page .section-alt.gold-section-alt{
  background:
    radial-gradient(700px 420px at 0% 50%, rgba(239,210,138,.12), transparent 60%),
    radial-gradient(700px 420px at 100% 0%, rgba(216,180,94,.12), transparent 60%),
    linear-gradient(180deg, rgba(248,245,234,.85), rgba(251,250,244,.9));
}
@media (max-width: 900px){
  .gold-page .hero-inner,
  .gold-page .gold-invitation-grid,
  .gold-page .gold-investment-grid{
    grid-template-columns: 1fr;
  }
}
