@import url('https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Almendra:ital,wght@0,400;0,700;1,400;1,700&family=Cinzel+Decorative:wght@400;700&family=Petit+Formal+Script&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,serif;background:#24152E;color:#F3E7CF;line-height:1.55}a{color:inherit}img{width:100%;display:block}.nav{min-height:90px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;background:#24152E;position:sticky;top:0;z-index:5}.logo{color:#C8A15A;font-size:38px;text-decoration:none}.links{display:flex;gap:30px}.links a{text-decoration:none;font-size:20px}.links a:hover,.links .on{color:#C8A15A;text-decoration:underline}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.herotxt{padding:65px 9%;display:flex;flex-direction:column;justify-content:center;text-align:center}.heroimg{background:url('assets/sound.jpg') center/cover}.moon{font-size:130px;color:#C8A15A;line-height:1}.hero h1{font-size:68px;margin:0}.script{font-family:'Segoe Script','Brush Script MT',cursive;font-style:italic;color:#C8A15A;font-size:30px}.tag{font-size:30px;margin:25px 0 18px}.gold{color:#C8A15A}.desc{font-size:21px;max-width:500px;margin:0 auto 28px}.buttons{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.btn{border:1px solid #C8A15A;border-radius:40px;padding:11px 21px;text-decoration:none;color:#C8A15A;font-size:19px}.section{padding:90px 7%}.rose{background:#C8A39B;color:#3B263D}.forest{background:#263E31}.intro{text-align:center}.intro h2{font:italic 48px 'Segoe Script','Brush Script MT',cursive;color:#263E31}.intro .copy{max-width:850px;margin:auto;text-align:left;font-size:21px}.belong{text-align:center;color:#263E31;font-size:27px;font-weight:bold;margin-top:45px}.ways{text-align:center}.ways h2{font-size:55px;color:#C8A15A;font-weight:normal}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.cols h3{color:#C8A15A;font-size:24px}.orn{color:#C8A15A}.pagehero{text-align:center;padding:105px 8% 75px}.pagehero h1{font-size:65px;margin:22px}.pagehero p{font-size:22px;max-width:1050px;margin:auto}.offer{padding:85px 7%}.grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.reverse img{order:2}.pic img{aspect-ratio:4/3;object-fit:cover;border-radius:34px 6px 34px 6px}.copy h2{font-size:47px;margin:0 0 10px}.lead{font-size:20px;font-style:italic}.item{border-top:1px solid #C8A15A;padding:14px 0}.item h3{color:#C8A15A;margin:0 0 4px}.item p{margin:0}.rose .copy h2{color:#263E31}.placeholder{min-height:65vh;background:#F1E6D2;color:#3B263D;text-align:center;padding:120px 10%}.placeholder h1{color:#263E31;font-size:55px}footer{text-align:center;padding:40px;background:#1b1023;color:#F1E6D2}@media(max-width:800px){.links{gap:10px;flex-wrap:wrap;justify-content:flex-end}.links a{font-size:14px}.hero,.grid,.cols{grid-template-columns:1fr}.heroimg{min-height:460px}.hero h1{font-size:52px}.reverse img{order:0}.section,.offer{padding:65px 6%}}
/* Actual Sanctuary logo */
.logo{display:block;width:72px;line-height:0}
.logo img{width:72px;height:72px;object-fit:contain}
.hero-logo{width:min(340px,78%);margin:0 auto 18px}
.hero-logo img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.12))}
@media(max-width:800px){
  .logo,.logo img{width:56px;height:56px}
  .hero-logo{width:min(280px,76%)}
}

/* Healing & Presence contrast update */
.offer.rose .item { border-top-color: rgba(38,62,49,.48); }
.offer.rose .item h3 { color:#263E31; font-weight:700; }
.offer.rose .lead, .offer.rose .item p { color:#3B263D; }


/* Private Sessions */
.private-booking{
  background:#24152E;
  color:#F3E7CF;
  padding:95px 7%;
}
.private-inner{
  max-width:1180px;
  margin:0 auto;
}
.private-heading{
  max-width:850px;
  margin:0 auto 62px;
  text-align:center;
}
.private-heading .script{
  margin-bottom:10px;
}
.private-heading h2{
  font-size:54px;
  font-weight:normal;
  color:#F3E7CF;
  margin:0 0 22px;
}
.private-heading p{
  font-size:20px;
  margin:0 auto 16px;
}
.private-options{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid rgba(200,161,90,.55);
  border-bottom:1px solid rgba(200,161,90,.55);
}
.private-option{
  padding:34px 34px 38px;
}
.private-option + .private-option{
  border-left:1px solid rgba(200,161,90,.55);
}
.private-option h3{
  color:#C8A15A;
  font-size:28px;
  font-weight:normal;
  margin:0 0 8px;
}
.private-meta{
  color:#F3E7CF;
  font-size:18px;
  font-style:italic;
  margin-bottom:18px;
}
.private-option p{
  font-size:18px;
  margin:0;
}
.private-access{
  max-width:820px;
  margin:54px auto 0;
  text-align:center;
}
.private-access strong{
  display:block;
  color:#C8A15A;
  font-size:23px;
  margin-bottom:8px;
}
.private-access p{
  font-size:19px;
  margin-bottom:24px;
}
@media(max-width:850px){
  .private-booking{padding:70px 6%}
  .private-heading h2{font-size:42px}
  .private-options{grid-template-columns:1fr}
  .private-option + .private-option{
    border-left:0;
    border-top:1px solid rgba(200,161,90,.55);
  }
  .private-option{padding:28px 8px}
}

/* GATHERINGS CONCEPTS */
.gath h1,.gath h2{font-weight:400}.gath p{line-height:1.65}.gath small{display:block;margin-top:12px;opacity:.72}
.gath-hero{background:#24152E;color:#F3E7CF;min-height:680px;padding:80px 8%;display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}
.gath-hero h1,.poster-hero h1{font-size:clamp(64px,7vw,108px);margin:4px 0 20px;color:#F3E7CF}.gath-hero .big{font-size:27px;line-height:1.35}
.photo-stack{position:relative;height:510px}.photo-stack .snap{position:absolute;width:58%;height:300px;object-fit:cover;border:10px solid #F1E6D2;box-shadow:0 18px 35px #0005}
.photo-stack .s1{left:0;top:20px;transform:rotate(-5deg)}.photo-stack .s2{right:0;top:125px;transform:rotate(5deg)}.photo-stack .s3{left:15%;bottom:0;transform:rotate(-1deg);width:52%;height:220px}
.gath-intro{background:#C8A39B;color:#352238;text-align:center;padding:75px 18%}.gath-intro h2{font-size:48px;color:#263E31}.orn{color:#B58A45;letter-spacing:8px}
.event-row{padding:85px 10%;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.event-row.reverse .event-copy{order:2}.event-row.reverse figure{order:1}
.event-row.rose{background:#C8A39B;color:#352238}.event-row.aub{background:#24152E;color:#F3E7CF}.event-row.green{background:#263E31;color:#F3E7CF}
.event-copy h2{font-size:52px;margin:6px 0 18px}.rose h2{color:#263E31}.aub h2,.green h2{color:#F3E7CF}.eyebrow{color:#C8A15A;text-transform:uppercase;letter-spacing:2px;font-size:13px}
.cute-frame{background:#F1E6D2;padding:12px 12px 34px;box-shadow:0 15px 30px #0003;margin:0;max-width:520px}.cute-frame img{width:100%;height:330px;object-fit:cover;display:block}.cute-frame figcaption{color:#352238;text-align:center;font-style:italic;padding-top:12px}.tilt-right{transform:rotate(2deg)}.tilt-left{transform:rotate(-2deg)}
.wild-card{background:#F1E6D2;color:#352238;padding:90px 9%;display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center}.wild-card h2{font-size:52px;color:#263E31}.wild-collage{display:flex;gap:18px;align-items:center}.wild-collage img{width:50%;height:360px;object-fit:cover;border:9px solid #fff;box-shadow:0 12px 25px #0002}.wild-collage img:first-child{transform:rotate(-4deg)}.wild-collage img:last-child{transform:rotate(4deg)}
.gath-close{text-align:center;background:#C8A39B;padding:85px 12%;color:#352238}.gath-close h2{font-size:58px;color:#263E31;margin:5px}.gath-close p{font-size:21px}
.poster-hero{background:#24152E;color:#F3E7CF;padding:70px 8%;display:grid;grid-template-columns:.8fr 1.2fr;gap:5%;align-items:center;min-height:700px}.poster-copy p{font-size:22px;max-width:520px}.scrapbook{height:570px;position:relative}.scrapbook img{position:absolute;object-fit:cover;border:10px solid #F1E6D2;box-shadow:0 16px 30px #0005}.scrapbook .p1{width:58%;height:330px;left:2%;top:0;transform:rotate(-5deg)}.scrapbook .p2{width:50%;height:330px;right:0;top:100px;transform:rotate(6deg)}.scrapbook .p3{width:45%;height:250px;left:20%;bottom:0;transform:rotate(2deg)}.doodle{position:absolute;color:#C8A15A;font-size:55px}.d1{right:8%;top:5%}.d2{left:4%;bottom:8%}
.mini-manifesto{text-align:center;background:#C8A39B;color:#263E31;padding:60px 10%;font-size:26px}.mini-manifesto p{margin:8px}
.gather-grid{display:grid;grid-template-columns:1fr 1fr;background:#F1E6D2}.gather-grid article{padding:65px 9%;min-height:590px;border:1px solid #C8A15A55;color:#352238}.gather-grid article:nth-child(2),.gather-grid article:nth-child(3){background:#263E31;color:#F3E7CF}.gather-grid span{color:#C8A15A;font-size:15px}.gather-grid h2{font-size:43px;margin:8px 0 14px;color:inherit}.gather-grid img{width:100%;height:250px;object-fit:cover;margin-top:20px;border-radius:45% 45% 8px 8px}
.photo-ribbon{background:#C8A39B;padding:75px 10%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;color:#352238}.photo-ribbon img{width:100%;height:380px;object-fit:cover;border-radius:50% 50% 8px 8px}.photo-ribbon h2{font-size:48px;color:#263E31}
@media(max-width:850px){.gath-hero,.poster-hero,.event-row,.wild-card,.photo-ribbon{grid-template-columns:1fr}.photo-stack,.scrapbook{height:500px}.event-row.reverse .event-copy,.event-row.reverse figure{order:initial}.gath-intro{padding:60px 8%}.gather-grid{grid-template-columns:1fr}.wild-collage img{height:260px}}

/* Unified gatherings collage section */
.gather-collage-section{
  background:#F1E6D2;
  color:#352238;
  padding:95px 8%;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:8%;
  align-items:center;
}
.gather-collage{
  min-height:660px;
  position:relative;
}
.gather-collage .gc{
  position:absolute;
  object-fit:cover;
  border:10px solid #fffaf0;
  box-shadow:0 16px 32px rgba(0,0,0,.18);
}
.gc1{width:48%;height:280px;left:2%;top:8%;transform:rotate(-5deg)}
.gc2{width:44%;height:300px;right:2%;top:2%;transform:rotate(5deg)}
.gc3{width:52%;height:260px;left:8%;bottom:5%;transform:rotate(3deg)}
.gc4{width:38%;height:220px;right:2%;bottom:10%;transform:rotate(-4deg)}
.gc5{width:36%;height:230px;left:34%;top:34%;transform:rotate(-1deg);z-index:2}
.collage-doodle{position:absolute;color:#C8A15A;font-size:42px;z-index:4}
.cd1{left:0;bottom:1%}.cd2{right:0;top:35%}.cd3{right:30%;bottom:0}
.gather-copy-block .script{margin-bottom:8px}
.gather-copy-block h2{
  font-size:52px;
  color:#263E31;
  margin:0 0 22px;
  font-weight:400;
}
.gather-copy-block p{
  font-size:20px;
  line-height:1.7;
  margin-bottom:20px;
}
.gather-copy-block small{margin-top:10px}
@media(max-width:900px){
  .gather-collage-section{grid-template-columns:1fr;gap:40px;padding:70px 6%}
  .gather-collage{min-height:560px}
  .gather-copy-block h2{font-size:42px}
}

/* Gatherings refinement */
.gath-hero h1{
  font-size:clamp(58px,6.5vw,96px);
  line-height:1.02;
}
.gather-collage-section{
  padding-top:100px;
  padding-bottom:110px;
}
.gather-copy-block .script{
  font-size:24px;
  line-height:1.45;
  margin-bottom:14px;
}
@media(max-width:850px){
  .gath-hero h1{font-size:54px}
}

/* ABOUT PAGE */
.about-page h1,.about-page h2{font-weight:400}.about-hero{background:#24152E;color:#F3E7CF;padding:90px 8% 105px;display:grid;grid-template-columns:.92fr 1.08fr;gap:8%;align-items:center}.about-intro h1{font-size:clamp(54px,5.5vw,84px);line-height:1.03;margin:10px 0 28px;color:#F3E7CF}.about-intro p{font-size:20px;line-height:1.72;max-width:650px}.about-portraits{position:relative;min-height:610px}.portrait-card{position:absolute;margin:0;background:#F1E6D2;padding:12px 12px 42px;box-shadow:0 18px 36px rgba(0,0,0,.35);width:48%;max-width:330px}.portrait-card img{display:block;width:100%;height:430px;object-fit:cover}.portrait-card figcaption{text-align:center;color:#352238;font-size:28px;font-style:italic;padding-top:10px}.jillian-card{left:5%;top:20px;transform:rotate(-4deg)}.syd-card{right:4%;bottom:20px;transform:rotate(4deg)}.about-beliefs{background:#C8A39B;color:#352238;padding:100px 9%;display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center}.about-beliefs h2{font-size:52px;line-height:1.1;color:#263E31;margin:8px 0 26px}.about-beliefs p{font-size:20px;line-height:1.72}.about-mantra{text-align:center;background:#F1E6D2;padding:60px 45px;transform:rotate(1deg);box-shadow:0 14px 28px rgba(53,34,56,.12)}.about-mantra .orn{display:block;color:#B58A45;letter-spacing:8px;margin-bottom:24px}.about-mantra blockquote{font-size:44px;line-height:1.15;color:#263E31;margin:22px 0}.about-close{background:#263E31;color:#F3E7CF;text-align:center;padding:90px 20%}.about-close p{font-size:23px;line-height:1.65}.about-close .script{font-size:32px;color:#C8A15A}@media(max-width:900px){.about-hero,.about-beliefs{grid-template-columns:1fr}.about-portraits{min-height:570px}.about-close{padding:70px 8%}}@media(max-width:600px){.about-portraits{min-height:760px}.portrait-card{width:62%}.jillian-card{left:0}.syd-card{right:0}}
/* About page legibility refinement */
.about-beliefs .about-beliefs-copy > .script{color:#263E31;font-weight:600;}
.about-mantra .script{color:#3B263D;}

/* ABOUT ALTERNATE CONCEPTS */
.about-alt h1,.about-alt h2{font-weight:400}.about-alt p{line-height:1.7}

/* Spiritual */
.spirit-hero{background:#24152E;color:#F3E7CF;text-align:center;padding:80px 8% 105px}
.spirit-symbol,.seed-ornament{color:#C8A15A;letter-spacing:12px;margin-bottom:22px}
.spirit-hero h1{font-size:clamp(54px,5.8vw,88px);line-height:1.04;margin:10px 0 24px}
.spirit-hero>p{max-width:760px;margin:0 auto 60px;font-size:20px}
.spirit-portraits{display:flex;justify-content:center;align-items:center;gap:55px}
.spirit-portraits figure{margin:0;width:290px}.arch-frame{padding:8px;border:1px solid #C8A15A;border-radius:150px 150px 10px 10px}
.arch-frame img{width:100%;height:390px;object-fit:cover;display:block;border-radius:140px 140px 5px 5px}
.spirit-portraits figcaption{font-size:27px;font-style:italic;color:#C8A15A;margin-top:14px}.between-symbol{color:#C8A15A;line-height:2;font-size:22px}
.seed-section{background:#F1E6D2;color:#352238;text-align:center;padding:100px 19%}.seed-section .script{color:#B58A45}.seed-section h2{color:#263E31;font-size:54px;line-height:1.12;margin:12px 0 28px}.seed-section p{font-size:20px;max-width:900px;margin:15px auto}
.spirit-offering{background:#263E31;color:#F3E7CF;padding:100px 10%;display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center}.spirit-offering h2{font-size:50px;margin:8px 0 22px}.spirit-offering p{font-size:19px}.spirit-rule{border:1px solid #C8A15A;text-align:center;padding:55px 35px}.spirit-rule span{color:#C8A15A;letter-spacing:2px;font-size:12px}.spirit-rule blockquote{font-size:43px;line-height:1.15;margin:22px 0;color:#F3E7CF}.spirit-rule p{font-size:16px}
.spirit-close{background:#24152E;color:#F3E7CF;text-align:center;padding:90px 18%}.spirit-close .moon{font-size:48px;color:#C8A15A}.spirit-close p{font-size:21px;max-width:850px;margin:20px auto 30px}.spirit-close .script{color:#C8A15A;font-size:31px}

/* Spiritual + playful */
.play-hero{background:#24152E;color:#F3E7CF;padding:85px 8% 100px;display:grid;grid-template-columns:.9fr 1.1fr;gap:7%;align-items:center}.play-copy h1{font-size:clamp(50px,5.2vw,80px);line-height:1.03;margin:10px 0 26px}.play-copy p{font-size:19px}.play-portraits{position:relative;min-height:580px}.polaroid{position:absolute;background:#F1E6D2;padding:11px 11px 40px;box-shadow:0 18px 35px #0005;width:45%;margin:0}.polaroid img{width:100%;height:390px;object-fit:cover;display:block}.polaroid figcaption{text-align:center;color:#352238;font-size:26px;font-style:italic;padding-top:9px}.pol-j{left:4%;top:10px;transform:rotate(-5deg)}.pol-s{right:5%;bottom:15px;transform:rotate(5deg)}.scribble{position:absolute;color:#C8A15A;font-size:42px}.sc1{right:2%;top:2%}.sc2{left:47%;bottom:2%}.sc3{left:0;bottom:8%;font-size:25px}
.play-rule{background:#C8A39B;color:#263E31;text-align:center;padding:80px 8%}.tiny-rule{letter-spacing:3px;font-size:12px}.play-rule h2{font-size:clamp(58px,7vw,100px);line-height:.95;margin:20px 0}.play-rule p{font-size:21px}
.play-beliefs{background:#F1E6D2;color:#352238;padding:95px 10%;display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.play-note{background:#263E31;color:#F3E7CF;padding:55px 45px;transform:rotate(-2deg);box-shadow:0 14px 28px #0002}.play-note h2{font-size:42px;line-height:1.18;margin:10px 0}.play-body p{font-size:21px}
.play-support{background:#263E31;color:#F3E7CF;text-align:center;padding:90px 17%}.doodle-line{color:#C8A15A;font-size:24px;letter-spacing:8px}.play-support h2{font-size:58px;margin:22px 0;color:#F3E7CF}.play-support p{font-size:21px;max-width:900px;margin:0 auto 28px}.play-support .script{color:#C8A15A;font-size:31px}
@media(max-width:850px){.spirit-offering,.play-hero,.play-beliefs{grid-template-columns:1fr}.spirit-portraits{gap:18px}.spirit-portraits figure{width:42%}.between-symbol{display:none}.play-portraits{min-height:600px}.seed-section,.play-support{padding-left:8%;padding-right:8%}}

/* COMBINED ABOUT PAGE */
.about-combined-page h1,
.about-combined-page h2{font-weight:400}

.about-combined-hero{
  background:#24152E;
  color:#F3E7CF;
  text-align:center;
  padding:85px 8% 100px;
}
.about-combined-hero h1{
  font-size:clamp(54px,5.7vw,86px);
  line-height:1.04;
  margin:10px 0 52px;
  color:#F3E7CF;
}
.leafy-portrait-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:52px;
  margin-bottom:58px;
}
.leafy-portrait{
  margin:0;
  width:min(340px,38vw);
}
.leaf-frame{
  position:relative;
  padding:14px;
  border:1px solid #C8A15A;
  border-radius:48% 48% 12px 12px;
  background:rgba(200,161,90,.04);
  box-shadow:0 18px 36px rgba(0,0,0,.28);
}
.leaf-frame:before,
.leaf-frame:after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  height:14px;
  border-top:1px solid #C8A15A;
  border-radius:50%;
}
.leaf-frame:before{top:-8px}
.leaf-frame:after{bottom:-8px;transform:rotate(180deg)}
.leaf-frame img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:46% 46% 8px 8px;
}
.leafy-portrait figcaption{
  margin-top:16px;
  font-size:29px;
  font-style:italic;
  color:#C8A15A;
}
.leaf-corner{
  position:absolute;
  z-index:2;
  color:#C8A15A;
  font-size:42px;
  line-height:1;
  text-shadow:0 1px 0 #24152E;
}
.lc1{left:-18px;top:18px;transform:rotate(-35deg)}
.lc2{right:-18px;top:18px;transform:rotate(35deg)}
.lc3{left:-18px;bottom:22px;transform:rotate(210deg)}
.lc4{right:-18px;bottom:22px;transform:rotate(150deg)}
.portrait-divider{
  color:#C8A15A;
  font-size:20px;
  line-height:2.4;
  opacity:.9;
}
.about-combined-copy{
  max-width:900px;
  margin:0 auto;
}
.about-combined-copy p{
  font-size:20px;
  line-height:1.75;
  margin:0 0 18px;
}

.about-combined-beliefs{
  background:#C8A39B;
  color:#352238;
  padding:100px 9%;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:9%;
  align-items:center;
}
.about-combined-beliefs .script{
  color:#263E31;
}
.about-combined-beliefs h2{
  color:#263E31;
  font-size:52px;
  line-height:1.12;
  margin:10px 0 26px;
}
.about-combined-beliefs p{
  font-size:20px;
  line-height:1.72;
}
.boo-boo-card{
  background:#F1E6D2;
  text-align:center;
  padding:58px 42px;
  border:1px solid rgba(38,62,49,.18);
  box-shadow:0 14px 28px rgba(53,34,56,.12);
  transform:rotate(1deg);
}
.boo-boo-card .orn{
  display:block;
  color:#B58A45;
  letter-spacing:8px;
  margin-bottom:22px;
}
.boo-boo-card blockquote{
  font-size:46px;
  line-height:1.15;
  color:#263E31;
  margin:20px 0;
}
.boo-boo-card p{
  font-size:17px;
}
.about-combined-close{
  background:#263E31;
  color:#F3E7CF;
  text-align:center;
  padding:90px 18%;
}
.about-combined-close p{
  max-width:880px;
  margin:0 auto 28px;
  font-size:22px;
  line-height:1.65;
}
.about-combined-close .script{
  color:#C8A15A;
  font-size:31px;
}

@media(max-width:900px){
  .about-combined-beliefs{grid-template-columns:1fr;gap:55px}
  .leafy-portrait-row{gap:24px}
  .portrait-divider{display:none}
}
@media(max-width:650px){
  .leafy-portrait-row{flex-direction:column;gap:44px}
  .leafy-portrait{width:min(320px,82vw)}
  .leaf-frame img{height:400px}
  .about-combined-hero{padding-left:6%;padding-right:6%}
  .about-combined-close{padding-left:8%;padding-right:8%}
}

/* Refined ornate portrait treatment using the user's gold frame reference */
.refined-about-hero{
  padding-top:72px;
}
.mission-line{
  font-size:clamp(34px,3.6vw,54px) !important;
  color:#C8A15A;
  margin-bottom:42px !important;
}
.ornate-portrait-row{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:56px;
  max-width:1050px;
  margin:0 auto 28px;
}
.ornate-person{
  margin:0;
  width:min(430px,42vw);
  text-align:center;
}
.ornate-photo-wrap{
  position:relative;
  width:100%;
  aspect-ratio: 0.72;
}
.person-photo{
  position:absolute;
  left:13.5%;
  top:10.5%;
  width:73%;
  height:79%;
  object-fit:cover;
  display:block;
  border-radius:8px;
  z-index:1;
}
.frame-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  z-index:2;
}
.ornate-person figcaption{
  color:#C8A15A;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:34px;
  font-style:italic;
  margin-top:-6px;
}
.below-portraits-line{
  color:#F3E7CF;
  font-size:clamp(30px,3.3vw,46px);
  line-height:1.2;
  margin:16px auto 34px;
  max-width:820px;
}
@media(max-width:760px){
  .ornate-portrait-row{
    flex-direction:column;
    align-items:center;
    gap:30px;
  }
  .ornate-person{
    width:min(430px,88vw);
  }
}


/* ABOUT PORTRAIT FIT REFINEMENT */
.ornate-photo-wrap{
  overflow:hidden;
}
.ornate-photo-wrap .person-photo{
  left:5%;
  top:2%;
  width:90%;
  height:96%;
  object-fit:cover;
  z-index:1;
}
.ornate-photo-wrap .frame-overlay{
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  z-index:2;
}


/* ABOUT PORTRAIT — PRECISE INNER CROP */
.ornate-photo-wrap{
  position:relative;
  overflow:visible;
}

/* This creates the actual photo opening inside the ornate frame. */
.ornate-photo-wrap .person-photo{
  position:absolute;
  left:13.2%;
  top:10.2%;
  width:73.6%;
  height:79.8%;
  object-fit:cover;
  object-position:center center;
  border-radius:46% 46% 5% 5% / 22% 22% 4% 4%;
  clip-path:inset(0 round 46% 46% 5% 5% / 22% 22% 4% 4%);
  z-index:1;
}

/* Gold artwork sits cleanly on top of the cropped photo. */
.ornate-photo-wrap .frame-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  z-index:2;
  pointer-events:none;
}

/* =========================================================
   SANCTUARY TYPOGRAPHY REFRESH
   Mystical, warm, human, and highly readable
   Display: Almendra
   Body: Alegreya
   Accent script: Petit Formal Script
   ========================================================= */


:root{
  --font-body: "Alegreya", Georgia, serif;
  --font-display: "Almendra", "Palatino Linotype", "Book Antiqua", serif;
  --font-script: "Petit Formal Script", "Lucida Calligraphy", cursive;
}

/* Body copy */
body,
p,
li,
a,
button,
input,
textarea,
select{
  font-family:var(--font-body) !important;
}

/* Main headings */
h1,
h2,
h3,
h4,
h5,
h6,
.hero h1,
.pagehero h1,
.page-hero h1,
.gath h1,
.gath h2,
.about-page h1,
.about-page h2,
.about-alt h1,
.about-alt h2,
.about-combined-page h1,
.about-combined-page h2,
.offer-copy h2,
.offer-item h3,
.private-heading h2,
.private-option h3,
.placeholder h1{
  font-family:var(--font-display) !important;
  letter-spacing:.015em;
}

/* Script / mystical accent copy */
.script,
.intro h2,
.hero .script,
.about-close .script,
.about-combined-close .script,
.ornate-person figcaption,
.leafy-portrait figcaption{
  font-family:var(--font-script) !important;
  font-style:normal !important;
  letter-spacing:.01em;
}

/* Navigation and buttons: readable but still styled */
.nav-links a,
.links a,
.btn,
.private-meta,
.eyebrow,
.tiny-rule{
  font-family:var(--font-body) !important;
  letter-spacing:.02em;
}

/* Small polish to make the display font feel intentional rather than costume-y */
.hero h1,
.pagehero h1,
.page-hero h1,
.about-combined-hero h1,
.gath-hero h1{
  font-weight:700;
}
.offer-copy h2,
.gather-copy-block h2,
.about-combined-beliefs h2,
.about-combined-close h2{
  font-weight:400;
}


/* HOMEPAGE SANCTUARY WORDMARK */
.hero h1{
  font-family:"Cinzel Decorative","Almendra",serif !important;
  font-size:clamp(54px,6vw,82px);
  line-height:1;
  font-weight:700 !important;
  letter-spacing:.025em;
  margin:6px 0 6px;
  color:#F3E7CF;
  text-shadow:
    0 1px 0 rgba(200,161,90,.45),
    0 4px 18px rgba(0,0,0,.18);
  position:relative;
  display:inline-block;
}

.hero h1::before,
.hero h1::after{
  content:"";
  position:absolute;
  top:52%;
  width:46px;
  height:1px;
  background:linear-gradient(to right, transparent, #C8A15A);
  opacity:.9;
}

.hero h1::before{
  right:calc(100% + 16px);
}

.hero h1::after{
  left:calc(100% + 16px);
  transform:scaleX(-1);
}

.hero .script{
  margin-top:3px;
  font-size:clamp(25px,2.4vw,34px);
}

/* Small gold flourish to visually connect the wordmark to the logo above */
.hero-inner::after{
  content:"✦  ◇  ✦";
  display:block;
  margin:12px auto 18px;
  color:#C8A15A;
  letter-spacing:9px;
  font-size:13px;
  opacity:.9;
}

@media(max-width:700px){
  .hero h1::before,
  .hero h1::after{
    width:28px;
  }
  .hero h1::before{right:calc(100% + 8px)}
  .hero h1::after{left:calc(100% + 8px)}
}


/* HOMEPAGE SOCIAL FOOTER */
.social-footer{
  text-align:center;
  padding:34px 20px 38px;
}
.social-footer-title{
  font-family:var(--font-display);
  color:#E8D5AC;
  font-size:clamp(20px,2vw,25px);
  margin-bottom:17px;
}
.social-links{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
}
.instagram-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#F1E6D2;
  text-decoration:none;
  font-family:var(--font-body);
  font-size:17px;
  transition:color .2s ease, transform .2s ease;
}
.instagram-link:hover{
  color:#C8A15A;
  transform:translateY(-1px);
}
.instagram-icon{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.instagram-icon .instagram-dot{
  fill:currentColor;
  stroke:none;
}
.social-divider{
  color:#C8A15A;
  font-size:11px;
}
@media(max-width:560px){
  .social-links{
    flex-direction:column;
    gap:12px;
  }
  .social-divider{
    display:none;
  }
}


/* =========================================================
   SIMPLIFIED ABOUT PAGE
   One continuous "who we are" section + mantra at the bottom
   ========================================================= */
.about-unified{
  background:#24152E;
  color:#F1E6D2;
  padding:68px 24px 78px;
}
.about-unified-inner{
  width:min(1080px,100%);
  margin:0 auto;
}
.about-unified-intro{
  text-align:center;
  max-width:780px;
  margin:0 auto 38px;
}
.about-unified-intro .about-kicker{
  font-family:var(--font-script) !important;
  color:#C8A15A;
  font-size:clamp(21px,2.4vw,30px);
  margin:0 0 8px;
}
.about-unified-intro h1{
  font-family:var(--font-display) !important;
  font-size:clamp(36px,5vw,58px);
  font-weight:400;
  line-height:1.08;
  margin:0;
  color:#F3E7CF;
}
.about-unified-portraits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:42px;
  max-width:820px;
  margin:0 auto 42px;
}
.about-unified .ornate-photo-wrap{
  aspect-ratio:4/5;
  margin:0;
}
.about-unified .ornate-photo-wrap figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:-27px;
  z-index:3;
  text-align:center;
  color:#E8D5AC;
  font-family:var(--font-script) !important;
  font-size:20px;
}
.about-unified-copy{
  max-width:820px;
  margin:54px auto 0;
  text-align:left;
}
.about-unified-copy p{
  font-size:clamp(18px,1.75vw,21px);
  line-height:1.72;
  margin:0 0 22px;
  color:#F1E6D2;
}
.about-unified-copy p:last-child{
  margin-bottom:0;
}
.about-unified-mantra{
  max-width:820px;
  margin:52px auto 0;
  padding-top:38px;
  border-top:1px solid rgba(200,161,90,.45);
  text-align:center;
}
.about-unified-mantra span{
  display:block;
  font-family:var(--font-body);
  color:#C8A15A;
  font-size:16px;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.about-unified-mantra h2{
  font-family:var(--font-script) !important;
  font-size:clamp(34px,4.6vw,54px);
  font-weight:400;
  color:#E8D5AC;
  margin:0 0 10px;
}
.about-unified-mantra p{
  margin:0;
  font-size:18px;
  color:#F1E6D2;
}
@media(max-width:720px){
  .about-unified{
    padding:50px 18px 60px;
  }
  .about-unified-portraits{
    grid-template-columns:1fr;
    max-width:390px;
    gap:58px;
  }
  .about-unified-copy{
    margin-top:52px;
  }
}


/* ABOUT CORRECTIONS: portrait visibility + heading placement */
.about-unified-intro{margin-bottom:26px;}
.about-unified-heading-below{
  text-align:center;
  max-width:780px;
  margin:48px auto 28px;
}
.about-unified-heading-below h1{
  font-family:var(--font-display) !important;
  font-size:clamp(36px,5vw,58px);
  font-weight:400 !important;
  line-height:1.08;
  color:#F3E7CF;
  margin:0;
}
.about-unified .ornate-photo-wrap{
  position:relative !important;
  overflow:visible !important;
  aspect-ratio:4/5;
}
.about-unified .ornate-photo-wrap .person-photo{
  display:block !important;
  position:absolute !important;
  left:13.2% !important;
  top:10.2% !important;
  width:73.6% !important;
  height:79.8% !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:46% 46% 5% 5% / 22% 22% 4% 4% !important;
  clip-path:inset(0 round 46% 46% 5% 5% / 22% 22% 4% 4%) !important;
  z-index:1 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.about-unified .ornate-photo-wrap .frame-overlay{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  z-index:2 !important;
}


/* =========================================================
   SIMPLIFIED GATHERINGS PAGE
   One continuous section, one photo moment, one clear CTA
   ========================================================= */

.gatherings-unified{
  background:#24152E;
  color:#F1E6D2;
  padding:68px 24px 78px;
}
.gatherings-unified-inner{
  width:min(1100px,100%);
  margin:0 auto;
}
.gatherings-unified-intro{
  text-align:center;
  max-width:780px;
  margin:0 auto 38px;
}
.gatherings-kicker,
.gatherings-subline{
  font-family:var(--font-script) !important;
  color:#C8A15A;
  margin:0;
}
.gatherings-kicker{
  font-size:clamp(20px,2.2vw,28px);
  margin-bottom:8px;
}
.gatherings-unified-intro h1{
  font-family:var(--font-display) !important;
  font-size:clamp(42px,5.5vw,64px);
  font-weight:400 !important;
  line-height:1.05;
  color:#F3E7CF;
  margin:0 0 10px;
}
.gatherings-subline{
  font-size:clamp(20px,2vw,26px);
}

.gatherings-collage-simple{
  display:grid;
  grid-template-columns:1.25fr .9fr .9fr;
  grid-template-rows:220px 220px;
  gap:14px;
  max-width:940px;
  margin:0 auto 46px;
}
.gatherings-collage-simple img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:14px;
}
.gatherings-collage-simple img:nth-child(1){
  grid-row:1 / span 2;
}
.gatherings-collage-simple img:nth-child(4){
  grid-column:2 / span 2;
}

.gatherings-unified-copy{
  max-width:820px;
  margin:0 auto;
}
.gatherings-unified-copy p{
  font-size:clamp(18px,1.75vw,21px);
  line-height:1.72;
  margin:0 0 22px;
}
.gatherings-unified-copy strong{
  font-family:var(--font-display);
  font-weight:400;
  color:#E8D5AC;
}

.gatherings-calendar-block{
  text-align:center;
  max-width:820px;
  margin:48px auto 0;
  padding-top:36px;
  border-top:1px solid rgba(200,161,90,.45);
}
.gatherings-calendar-block .btn{
  display:inline-block;
}
.gatherings-calendar-block p{
  margin:12px 0 0;
  font-size:15px;
  color:#C8A15A;
}

@media(max-width:760px){
  .gatherings-unified{
    padding:50px 18px 60px;
  }
  .gatherings-collage-simple{
    grid-template-columns:1fr 1fr;
    grid-template-rows:210px 170px 190px;
    max-width:520px;
  }
  .gatherings-collage-simple img:nth-child(1){
    grid-row:auto;
    grid-column:1 / span 2;
  }
  .gatherings-collage-simple img:nth-child(4){
    grid-column:auto;
  }
  .gatherings-collage-simple img:nth-child(5){
    grid-column:1 / span 2;
  }
}


/* =========================================================
   PLAYFUL GATHERINGS PAGE REFRESH
   Overlapping polaroids + defined gathering descriptions
   ========================================================= */

/* Polaroid photo arrangement */
.gatherings-polaroids{
  position:relative;
  width:min(960px,100%);
  height:610px;
  margin:20px auto 58px;
}

.polaroid{
  position:absolute;
  margin:0;
  background:#F1E6D2;
  padding:12px 12px 38px;
  box-shadow:0 14px 30px rgba(0,0,0,.28);
  border:1px solid rgba(200,161,90,.55);
  transform-origin:center;
  transition:transform .25s ease, z-index .25s ease;
}

.polaroid img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border:1px solid rgba(36,21,46,.12);
}

.polaroid:hover{
  z-index:10;
  transform:rotate(0deg) scale(1.035);
}

/* A loose, scrapbook-like composition */
.polaroid.p1{
  width:34%;
  height:430px;
  left:3%;
  top:70px;
  transform:rotate(-7deg);
  z-index:2;
}
.polaroid.p2{
  width:27%;
  height:280px;
  left:29%;
  top:8px;
  transform:rotate(5deg);
  z-index:4;
}
.polaroid.p3{
  width:33%;
  height:360px;
  right:5%;
  top:55px;
  transform:rotate(7deg);
  z-index:3;
}
.polaroid.p4{
  width:29%;
  height:250px;
  left:34%;
  bottom:10px;
  transform:rotate(-4deg);
  z-index:5;
}
.polaroid.p5{
  width:28%;
  height:270px;
  right:12%;
  bottom:4px;
  transform:rotate(-8deg);
  z-index:4;
}

/* Visually distinct gathering descriptions, without turning them into separate page sections */
.gatherings-unified-copy{
  max-width:860px;
  margin:0 auto;
}

.gathering-detail{
  position:relative;
  padding:28px 0 26px 76px;
  border-top:1px solid rgba(200,161,90,.34);
}

.gathering-detail:first-child{
  border-top:0;
}

.gathering-detail::before{
  content:"✦";
  position:absolute;
  left:18px;
  top:28px;
  color:#C8A15A;
  font-size:20px;
  line-height:1;
}

.gathering-detail h2{
  font-family:var(--font-display) !important;
  font-size:clamp(26px,3vw,34px);
  font-weight:400 !important;
  color:#E8D5AC;
  margin:0 0 8px;
}

.gathering-detail p{
  font-size:clamp(18px,1.75vw,21px);
  line-height:1.7;
  margin:0;
  color:#F1E6D2;
}

.gathering-detail strong{
  color:#E8D5AC;
  font-weight:600;
}

@media(max-width:820px){
  .gatherings-polaroids{
    height:760px;
    max-width:620px;
  }
  .polaroid.p1{
    width:48%;
    height:330px;
    left:2%;
    top:70px;
  }
  .polaroid.p2{
    width:42%;
    height:235px;
    right:2%;
    left:auto;
    top:10px;
  }
  .polaroid.p3{
    width:48%;
    height:300px;
    right:3%;
    top:250px;
  }
  .polaroid.p4{
    width:43%;
    height:235px;
    left:5%;
    bottom:18px;
  }
  .polaroid.p5{
    width:40%;
    height:230px;
    right:11%;
    bottom:0;
  }
}

@media(max-width:560px){
  .gatherings-polaroids{
    height:970px;
    max-width:390px;
    margin-bottom:44px;
  }
  .polaroid{
    padding:9px 9px 30px;
  }
  .polaroid.p1{
    width:72%;
    height:285px;
    left:2%;
    top:45px;
  }
  .polaroid.p2{
    width:58%;
    height:210px;
    right:0;
    top:0;
  }
  .polaroid.p3{
    width:72%;
    height:270px;
    right:1%;
    top:285px;
  }
  .polaroid.p4{
    width:62%;
    height:220px;
    left:0;
    bottom:180px;
  }
  .polaroid.p5{
    width:60%;
    height:220px;
    right:2%;
    bottom:0;
  }

  .gathering-detail{
    padding:24px 0 24px 42px;
  }
  .gathering-detail::before{
    left:4px;
    top:27px;
    font-size:16px;
  }
}


/* =========================================================
   OFFERINGS PAGE: PLAYFUL COMMUNITY PHOTO STACK
   Reuses gathering photos now that the separate Gatherings page
   is no longer part of the main site navigation.
   ========================================================= */
.playful-offering-stack{
  position:relative;
  min-height:560px;
  overflow:visible !important;
}

.mini-polaroid{
  position:absolute;
  margin:0;
  background:#F1E6D2;
  padding:10px 10px 30px;
  border:1px solid rgba(200,161,90,.55);
  box-shadow:0 12px 26px rgba(0,0,0,.28);
  transform-origin:center;
  transition:transform .22s ease, z-index .22s ease;
}

.mini-polaroid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.mini-polaroid:hover{
  z-index:20;
  transform:rotate(0deg) scale(1.035);
}

.mini-polaroid.mp1{
  width:58%;
  height:255px;
  left:2%;
  top:36px;
  transform:rotate(-7deg);
  z-index:3;
}
.mini-polaroid.mp2{
  width:44%;
  height:210px;
  right:1%;
  top:4px;
  transform:rotate(6deg);
  z-index:4;
}
.mini-polaroid.mp3{
  width:55%;
  height:250px;
  right:0;
  top:185px;
  transform:rotate(7deg);
  z-index:5;
}
.mini-polaroid.mp4{
  width:46%;
  height:205px;
  left:4%;
  bottom:12px;
  transform:rotate(4deg);
  z-index:6;
}
.mini-polaroid.mp5{
  width:42%;
  height:205px;
  right:12%;
  bottom:0;
  transform:rotate(-8deg);
  z-index:7;
}

@media(max-width:850px){
  .playful-offering-stack{
    min-height:520px;
    margin-bottom:34px;
  }
}

@media(max-width:600px){
  .playful-offering-stack{
    min-height:700px;
    max-width:420px;
    margin:0 auto 36px;
  }
  .mini-polaroid.mp1{
    width:66%;
    height:220px;
    left:0;
    top:45px;
  }
  .mini-polaroid.mp2{
    width:52%;
    height:180px;
    right:0;
    top:0;
  }
  .mini-polaroid.mp3{
    width:66%;
    height:225px;
    right:0;
    top:210px;
  }
  .mini-polaroid.mp4{
    width:56%;
    height:185px;
    left:0;
    bottom:120px;
  }
  .mini-polaroid.mp5{
    width:54%;
    height:185px;
    right:2%;
    bottom:0;
  }
}


/* GOOGLE CALENDAR LINK ON OFFERINGS */
.offerings-calendar-link{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid rgba(232,213,172,.32);
}
.offerings-calendar-link .btn{
  display:inline-block;
}
.offerings-calendar-link p{
  margin:12px 0 0;
  font-size:16px;
  line-height:1.5;
  opacity:.9;
}


/* =========================================================
   CONTACT PAGE
   Simple, warm, and consistent with the About page
   ========================================================= */
.contact-unified{
  background:#24152E;
  color:#F1E6D2;
  padding:72px 24px 76px;
}
.contact-inner{
  width:min(900px,100%);
  margin:0 auto;
}
.contact-intro{
  text-align:center;
  max-width:700px;
  margin:0 auto 44px;
}
.contact-intro .script{
  color:#C8A15A;
  margin-bottom:8px;
}
.contact-intro h1{
  font-family:var(--font-display) !important;
  font-size:clamp(42px,5.5vw,62px);
  font-weight:400 !important;
  color:#F3E7CF;
  margin:0 0 16px;
}
.contact-intro p{
  font-size:clamp(18px,1.8vw,21px);
  line-height:1.7;
  margin:0;
}
.contact-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
}
.contact-option{
  padding:32px 28px;
  border:1px solid rgba(200,161,90,.38);
  border-radius:18px;
  text-align:center;
  background:rgba(255,255,255,.02);
}
.contact-symbol{
  color:#C8A15A;
  min-height:32px;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}
.contact-instagram-icon{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.contact-instagram-icon .instagram-dot{
  fill:currentColor;
  stroke:none;
}
.contact-option h2{
  font-family:var(--font-display) !important;
  font-size:30px;
  font-weight:400 !important;
  color:#E8D5AC;
  margin:0 0 10px;
}
.contact-option p{
  font-size:18px;
  line-height:1.6;
  margin:0 0 18px;
}
.contact-link{
  display:inline-block;
  color:#F1E6D2;
  text-decoration:none;
  border-bottom:1px solid rgba(200,161,90,.65);
  padding-bottom:2px;
  overflow-wrap:anywhere;
}
.contact-link:hover{
  color:#C8A15A;
}
.contact-instagram-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:11px;
}
.contact-closing{
  text-align:center;
  margin-top:42px;
  padding-top:30px;
  border-top:1px solid rgba(200,161,90,.35);
}
.contact-closing p{
  font-family:var(--font-script) !important;
  color:#E8D5AC;
  font-size:clamp(24px,3vw,34px);
  margin:0;
}
@media(max-width:720px){
  .contact-unified{
    padding:52px 18px 60px;
  }
  .contact-options{
    grid-template-columns:1fr;
  }
}


/* HOMEPAGE HERO BUTTON STACK */
.hero-buttons-stacked{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start;
  gap:12px;
  width:max-content;
  max-width:100%;
}
.hero-buttons-stacked .btn,
.hero-buttons-stacked a{
  margin:0 !important;
  text-align:center;
}
@media(max-width:640px){
  .hero-buttons-stacked{
    width:100%;
    align-items:stretch;
  }
}


/* HOMEPAGE: BALANCE "WAYS TO GATHER & RECEIVE" TYPE SCALE */
.ways h2{
  font-size:clamp(38px,4.5vw,54px) !important;
  line-height:1.12;
}
.ways .cols h3{
  font-size:clamp(24px,2.4vw,30px) !important;
  line-height:1.2;
  margin-bottom:10px;
}
.ways .cols p:not(.orn){
  font-size:clamp(18px,1.7vw,21px) !important;
  line-height:1.55;
  margin-top:8px;
  margin-bottom:8px;
}
.ways .cols .orn{
  font-size:17px !important;
  margin:10px 0 14px;
}
@media(max-width:760px){
  .ways .cols p:not(.orn){
    font-size:19px !important;
  }
}


/* =========================================================
   HOMEPAGE HERO REFINEMENT
   Calmer composition, smaller photo, centered CTA buttons
   ========================================================= */

.hero{
  min-height:680px !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1.08fr) minmax(420px, .92fr) !important;
  align-items:center !important;
  background:#24152E !important;
  overflow:hidden;
}

.hero .herotxt{
  min-height:680px !important;
  padding:58px 64px 64px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  box-sizing:border-box;
}

.hero .hero-logo{
  margin:0 auto 24px !important;
}

.hero .hero-logo img{
  width:clamp(190px, 18vw, 260px) !important;
  max-height:260px !important;
  object-fit:contain;
}

.hero .herotxt h1{
  margin-top:0 !important;
  margin-bottom:5px !important;
}

.hero .herotxt .script{
  margin-bottom:28px !important;
}

.refined-hero-buttons{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 auto !important;
}

.refined-hero-buttons .btn{
  min-width:220px;
  width:auto !important;
  margin:0 !important;
  box-sizing:border-box;
}

.hero .heroimg{
  width:auto !important;
  height:570px !important;
  min-height:0 !important;
  margin:54px 54px 54px 0 !important;
  border-radius:26px 0 26px 0 !important;
  background-position:center center !important;
  background-size:cover !important;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
  align-self:center !important;
}

/* A little breathing room between the hero and the rose section */
.hero + .section{
  position:relative;
}

@media(max-width:980px){
  .hero{
    grid-template-columns:1fr 1fr !important;
    min-height:620px !important;
  }
  .hero .herotxt{
    min-height:620px !important;
    padding:46px 34px 52px !important;
  }
  .hero .heroimg{
    height:510px !important;
    margin:48px 32px 48px 0 !important;
  }
  .hero .hero-logo img{
    width:190px !important;
  }
}

@media(max-width:760px){
  .hero{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
  }
  .hero .herotxt{
    width:100% !important;
    min-height:0 !important;
    padding:48px 22px 40px !important;
  }
  .hero .hero-logo img{
    width:180px !important;
  }
  .hero .heroimg{
    width:calc(100% - 36px) !important;
    height:360px !important;
    margin:0 18px 36px !important;
    border-radius:20px !important;
  }
  .refined-hero-buttons{
    width:100% !important;
  }
  .refined-hero-buttons .btn{
    min-width:230px;
    max-width:100%;
  }
}


/* =========================================================
   HOMEPAGE HERO: CENTERED SANCTUARY ENTRANCE
   Photo moved into the welcome section below
   ========================================================= */

.hero.hero-centered{
  min-height:auto !important;
  display:block !important;
  background:#24152E !important;
  overflow:visible !important;
}

.hero.hero-centered .herotxt{
  min-height:auto !important;
  max-width:900px;
  margin:0 auto;
  padding:58px 24px 72px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.hero.hero-centered .hero-logo{
  margin:0 auto 18px !important;
}

.hero.hero-centered .hero-logo img{
  width:clamp(270px, 26vw, 390px) !important;
  max-height:none !important;
  object-fit:contain;
}

.hero.hero-centered .herotxt h1{
  margin:0 0 4px !important;
}

.hero.hero-centered .herotxt .script{
  margin:0 0 30px !important;
}

.hero.hero-centered .refined-hero-buttons{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 auto !important;
}

.hero.hero-centered .refined-hero-buttons .btn{
  min-width:230px;
  width:auto !important;
  margin:0 !important;
}

/* Welcome section now carries the community photo */
.welcome-with-photo{
  text-align:left !important;
  padding-top:58px !important;
  padding-bottom:64px !important;
}

.welcome-with-photo .welcome-layout{
  width:min(1160px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:56px;
  align-items:center;
}

.welcome-with-photo .welcome-photo.heroimg{
  width:100% !important;
  height:430px !important;
  min-height:0 !important;
  margin:0 !important;
  border-radius:22px !important;
  background-position:center center !important;
  background-size:cover !important;
  box-shadow:0 14px 32px rgba(36,21,46,.18);
}

.welcome-with-photo .welcome-text{
  max-width:600px;
}

.welcome-with-photo h2{
  text-align:left !important;
  margin-top:0;
}

.welcome-with-photo .copy{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}

.welcome-with-photo .belong{
  text-align:left !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

@media(max-width:860px){
  .hero.hero-centered .hero-logo img{
    width:clamp(240px, 42vw, 330px) !important;
  }

  .welcome-with-photo .welcome-layout{
    grid-template-columns:1fr;
    gap:34px;
  }

  .welcome-with-photo .welcome-photo.heroimg{
    height:360px !important;
  }

  .welcome-with-photo .welcome-text{
    max-width:720px;
    margin:0 auto;
  }

  .welcome-with-photo h2,
  .welcome-with-photo .copy,
  .welcome-with-photo .belong{
    text-align:center !important;
  }
}

@media(max-width:560px){
  .hero.hero-centered .herotxt{
    padding:42px 18px 54px !important;
  }

  .hero.hero-centered .hero-logo img{
    width:250px !important;
  }

  .welcome-with-photo{
    padding:38px 18px 50px !important;
  }

  .welcome-with-photo .welcome-photo.heroimg{
    height:280px !important;
    border-radius:18px !important;
  }
}


/* =========================================================
   SUPPORT PAGE
   Simple, warm, and aligned with the Contact page
   ========================================================= */
.support-unified{
  background:#24152E;
  color:#F1E6D2;
  padding:72px 24px 78px;
}

.support-inner{
  width:min(940px,100%);
  margin:0 auto;
}

.support-intro{
  text-align:center;
  max-width:760px;
  margin:0 auto 46px;
}

.support-intro .script{
  color:#C8A15A;
  margin-bottom:8px;
}

.support-intro h1{
  font-family:var(--font-display) !important;
  font-size:clamp(42px,5.5vw,62px);
  font-weight:400 !important;
  color:#F3E7CF;
  margin:0 0 16px;
}

.support-intro p{
  font-size:clamp(18px,1.8vw,21px);
  line-height:1.7;
  margin:0;
}

.support-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.support-option{
  padding:30px 26px;
  border:1px solid rgba(200,161,90,.38);
  border-radius:18px;
  text-align:center;
  background:rgba(255,255,255,.02);
}

.support-option h2{
  font-family:var(--font-display) !important;
  font-size:clamp(25px,2.8vw,31px);
  font-weight:400 !important;
  color:#E8D5AC;
  margin:0 0 10px;
}

.support-option p{
  font-size:18px;
  line-height:1.65;
  margin:0 0 20px;
}

.support-symbol{
  color:#C8A15A;
  min-height:32px;
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}

.support-instagram-icon{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}

.support-instagram-icon .instagram-dot{
  fill:currentColor;
  stroke:none;
}

.support-option .btn{
  display:inline-block;
  margin-top:2px;
}

.support-handle{
  margin-top:12px;
  color:#C8A15A;
  font-size:16px;
}

.support-social{
  grid-column:1 / -1;
  max-width:560px;
  width:100%;
  justify-self:center;
  box-sizing:border-box;
}

.support-social-links{
  display:flex;
  justify-content:center;
  gap:24px;
  flex-wrap:wrap;
}

.support-text-link{
  color:#F1E6D2;
  text-decoration:none;
  border-bottom:1px solid rgba(200,161,90,.65);
  padding-bottom:2px;
}

.support-text-link:hover{
  color:#C8A15A;
}

.support-closing{
  text-align:center;
  margin-top:44px;
  padding-top:30px;
  border-top:1px solid rgba(200,161,90,.35);
}

.support-closing p{
  font-family:var(--font-script) !important;
  color:#E8D5AC;
  font-size:clamp(24px,3vw,34px);
  margin:0;
}

@media(max-width:720px){
  .support-unified{
    padding:52px 18px 60px;
  }

  .support-options{
    grid-template-columns:1fr;
  }

  .support-social{
    grid-column:auto;
  }

  .support-social-links{
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
}


/* FOOTER EMAIL */
.footer-email{
  margin-top:14px;
  text-align:center;
}
.footer-email a{
  color:#E8D5AC;
  text-decoration:none;
  font-size:16px;
  border-bottom:1px solid rgba(200,161,90,.45);
  padding-bottom:2px;
}
.footer-email a:hover{
  color:#C8A15A;
}


/* =========================================================
   MOBILE COMMUNITY PHOTO COLLAGE FIX
   Keeps the desktop overlapping polaroids unchanged.
   On phones, use a stable scrapbook-style grid so the photos
   render as actual images instead of narrow frame slivers.
   ========================================================= */
@media(max-width:600px){
  #community-gatherings .playful-offering-stack{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px 10px !important;
    min-height:0 !important;
    height:auto !important;
    max-width:390px !important;
    margin:6px auto 42px !important;
    padding:10px 6px 18px !important;
    overflow:visible !important;
    align-items:start !important;
  }

  #community-gatherings .mini-polaroid,
  #community-gatherings .mini-polaroid.mp1,
  #community-gatherings .mini-polaroid.mp2,
  #community-gatherings .mini-polaroid.mp3,
  #community-gatherings .mini-polaroid.mp4,
  #community-gatherings .mini-polaroid.mp5{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:7px 7px 22px !important;
    box-sizing:border-box !important;
    background:#F1E6D2 !important;
  }

  #community-gatherings .mini-polaroid img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/3 !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }

  #community-gatherings .mini-polaroid.mp1{
    transform:rotate(-3deg) !important;
    margin-top:18px !important;
  }

  #community-gatherings .mini-polaroid.mp2{
    transform:rotate(3deg) !important;
  }

  #community-gatherings .mini-polaroid.mp3{
    transform:rotate(2deg) !important;
    margin-top:-2px !important;
  }

  #community-gatherings .mini-polaroid.mp4{
    transform:rotate(-3deg) !important;
    margin-top:14px !important;
  }

  #community-gatherings .mini-polaroid.mp5{
    grid-column:1 / -1 !important;
    width:58% !important;
    justify-self:center !important;
    transform:rotate(2deg) !important;
    margin-top:-4px !important;
  }

  #community-gatherings .mini-polaroid:hover{
    transform:none !important;
  }
}

/* =========================================================
   MOBILE HOMEPAGE HERO CENTERING
   Keeps the desktop hero unchanged while visually centering
   the logo and Sanctuary wordmark on narrow phone screens.
   ========================================================= */
@media(max-width:560px){
  .hero.hero-centered .herotxt{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .hero.hero-centered .hero-logo{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .hero.hero-centered .hero-logo img{
    width:228px !important;
    max-width:78vw !important;
    margin:0 auto !important;
    transform:translateX(4px);
  }

  .hero.hero-centered .herotxt h1{
    font-size:clamp(41px, 14vw, 48px) !important;
    line-height:1.04 !important;
    letter-spacing:.01em !important;
    max-width:100% !important;
    white-space:nowrap;
    text-align:center !important;
    transform:translateX(1px);
  }

  .hero.hero-centered .herotxt h1::before,
  .hero.hero-centered .herotxt h1::after{
    width:14px !important;
  }

  .hero.hero-centered .herotxt h1::before{
    right:calc(100% + 5px) !important;
  }

  .hero.hero-centered .herotxt h1::after{
    left:calc(100% + 5px) !important;
  }
}

/* COMMUNITY GATHERINGS ACCESSIBILITY NOTE */
.gathering-donation-note{
  color:#F1E6D2;
  font-size:19px;
  line-height:1.55;
  margin:8px 0 24px;
}
