:root{
  --font-body:"Open Sans",Arial,sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
  --bg:#fbf7f2; --paper:#fffdf9; --ink:#3d3835; --muted:#6d6660;
  --primary:#944e64; --primary-dark:#6d3547; --primary-soft:#f7e9ed;
  --accent:#c6a15b; --accent-light:#ead9ae; --accent-dark:#8f6b2d;
  --line:#e6dcd1; --shadow:0 12px 34px rgba(74,53,45,.10);
  --radius:20px; --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.62}
a{color:var(--primary-dark);text-underline-offset:3px}
a:hover,a:focus{color:var(--primary)}
img{max-width:100%}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{width:min(var(--max),calc(100% - 32px));margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:88px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--primary-dark);border-radius:14px;padding:5px 7px;transition:.18s ease}
.brand:hover,.brand:focus{color:var(--primary-dark);background:var(--primary-soft);box-shadow:0 0 0 1px var(--accent-light),0 0 20px color-mix(in srgb,var(--accent) 24%,transparent)}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-family:var(--font-display);font-weight:700;background:radial-gradient(circle at 35% 28%,#fff9dc 0 18%,var(--accent-light) 39%,var(--accent) 70%,var(--accent-dark) 100%);border:1px solid #f7e7b7;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3),0 2px 7px rgba(0,0,0,.14)}
.brand-copy{display:grid;line-height:1.08}.brand-copy strong{font-family:var(--font-display);font-size:25px;font-weight:500}.brand-copy small{font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-top:4px;color:var(--muted)}
.nav{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.nav a{padding:9px 11px;border-radius:10px;text-decoration:none;font-size:15px;font-weight:700;color:var(--ink)}.nav a:hover,.nav a:focus,.nav a[aria-current="page"]{background:var(--primary-soft);color:var(--primary-dark)}
.theme-picker{display:grid;gap:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.theme-picker select{min-width:138px;padding:8px 9px;border:1px solid var(--accent-light);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit;text-transform:none;letter-spacing:0}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px 10px;font-size:20px;color:var(--ink)}
main{width:min(var(--max),calc(100% - 32px));margin:auto;padding:34px 0 54px}
.hero{position:relative;overflow:hidden;border:1px solid var(--accent-light);border-radius:28px;box-shadow:var(--shadow);background:var(--primary-dark)}.hero img{width:100%;height:450px;display:block;object-fit:cover;opacity:.83}.hero-copy{position:absolute;left:clamp(18px,6vw,72px);bottom:clamp(18px,5vw,55px);width:min(700px,calc(100% - 36px));padding:22px 25px;background:color-mix(in srgb,var(--paper) 93%,transparent);border-left:6px solid var(--accent);box-shadow:0 8px 25px rgba(0,0,0,.16)}.hero h1{margin:0 0 7px;font-family:var(--font-display);font-size:clamp(34px,5.2vw,60px);font-weight:400;line-height:1.06;color:var(--primary-dark)}.hero p{margin:0;font-size:clamp(16px,2vw,20px);line-height:1.48}
.welcome-strip{text-align:center;max-width:820px;margin:30px auto 8px}.welcome-strip h2,.page-title h1,.section-title{font-family:var(--font-display);font-weight:400;color:var(--primary-dark)}.welcome-strip h2{font-size:34px;margin:0 0 7px}.welcome-strip p{margin:0;color:var(--muted);font-size:18px}
.page-title{margin-bottom:24px;padding:24px 28px;background:linear-gradient(110deg,var(--primary-soft),var(--paper));border-left:7px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;box-shadow:0 5px 18px rgba(0,0,0,.04)}.page-title h1{font-size:clamp(33px,4.5vw,50px);margin:0;line-height:1.1}.page-title p{margin:7px 0 0;color:var(--muted)}
.grid-3,.grid-2,.contact-grid{display:grid;gap:22px;margin:28px 0}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 25px rgba(0,0,0,.055)}.card>img{width:100%;height:205px;display:block;object-fit:cover}.card-body{padding:21px 22px}.card h2,.card h3{font-family:var(--font-display);font-weight:400;color:var(--primary-dark);margin:0 0 10px;line-height:1.2}.card p{margin:0 0 12px}.card ul{padding-left:22px}.practice-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;list-style:none;padding:0!important}.practice-list li::before{content:"•";color:var(--accent-dark);font-weight:bold;margin-right:8px}
.section-title{font-size:34px;margin:34px 0 15px}.gold-rule{height:3px;border:0;margin:34px 0;background:linear-gradient(90deg,transparent,var(--accent-dark),var(--accent-light),var(--accent),transparent)}
.event-list{list-style:none;padding:0!important;margin:0}.event-list li{padding:13px 0;border-bottom:1px solid var(--line)}.event-list li:last-child{border-bottom:0}.event-list strong{color:var(--primary-dark)}
.service-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service{padding:18px;border:1px solid var(--accent-light);border-radius:15px;background:linear-gradient(145deg,var(--primary-soft),var(--paper));text-align:center}.service .ordinal{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.service strong{display:block;font-family:var(--font-display);font-size:24px;color:var(--primary-dark);font-weight:400}.service time{font-weight:700;color:var(--accent-dark)}
.feature-photo{overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}.feature-photo img{width:100%;height:330px;display:block;object-fit:cover}
.about-copy{max-width:850px;margin:0 auto}.about-block{margin:26px 0}.about-block h2{font-family:var(--font-display);color:var(--primary-dark);font-size:31px;font-weight:400;margin:0 0 8px}.about-block p{margin:0 0 12px}
.media-item{display:grid;grid-template-columns:minmax(250px,40%) 1fr;gap:23px;align-items:center;padding:20px;margin:0 0 20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 7px 20px rgba(0,0,0,.05)}.media-thumb{display:block;position:relative;border-radius:13px;overflow:hidden;background:#111;aspect-ratio:16/9}.media-thumb img{width:100%;height:100%;display:block;object-fit:cover}.media-thumb::after{content:"▶";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--primary-dark);font-size:24px;padding-left:4px;box-shadow:0 4px 15px rgba(0,0,0,.25)}.media-item h2{font-family:var(--font-display);font-weight:400;color:var(--primary-dark);margin:0 0 8px}.button{display:inline-block;margin-top:7px;padding:10px 16px;border-radius:10px;text-decoration:none;background:var(--primary);color:#fff;font-weight:700}.button:hover,.button:focus{color:#fff;background:var(--primary-dark)}
.link-list{list-style:none;padding:0!important;margin:0}.link-list li{margin:0 0 10px}.link-list a{display:block;padding:12px 14px;text-decoration:none;border-left:4px solid var(--accent);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 80%,var(--primary-soft))}
.contact-card{padding:23px}.contact-card h2{font-family:var(--font-display);font-size:30px;font-weight:400;color:var(--primary-dark);margin:0 0 16px}.map-frame{width:100%;height:310px;border:0;border-radius:14px;margin-bottom:18px;background:var(--primary-soft)}.contact-details{display:grid;gap:13px}.detail-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.contact-details p{margin:0}.placeholder{color:var(--muted);font-style:italic}
.contact-card #mc_embed_shell{margin-top:2px}.contact-card #mc_embed_signup{max-width:none!important;background:transparent!important}.contact-card #mc_embed_signup h2{color:var(--primary-dark)!important;font-family:var(--font-display)!important;font-weight:400!important;font-size:28px!important}.contact-card #mc_embed_signup #mc-embedded-subscribe{background:var(--primary)!important}.contact-card #mc_embed_signup #mc-embedded-subscribe:hover,.contact-card #mc_embed_signup #mc-embedded-subscribe:focus{background:var(--primary-dark)!important}
.site-footer{border-top:3px solid var(--accent);background:var(--primary-soft);color:var(--muted)}.footer-inner{width:min(var(--max),calc(100% - 32px));margin:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;padding:26px 0}.footer-inner p{margin:0 0 6px}.footer-credit{text-align:right;font-size:13px}.footer-credit strong{color:var(--ink);font-weight:600}
@media(max-width:900px){.header-inner{grid-template-columns:auto 1fr auto}.menu-toggle{display:block;order:3}.nav{display:none;grid-column:1/-1;justify-content:flex-start;padding:0 0 14px}.nav.open{display:flex}.theme-picker{justify-self:end}.grid-3{grid-template-columns:1fr 1fr}.grid-3 .card:last-child{grid-column:1/-1}.hero img{height:410px}}
@media(max-width:680px){body{font-size:16px}.header-inner{width:min(100% - 20px,var(--max));gap:8px;min-height:78px}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:21px}.brand-copy small{display:none}.theme-picker{display:flex;grid-column:1/-1;justify-self:end;margin:0 0 10px}main{width:min(100% - 20px,var(--max));padding-top:20px}.grid-3,.grid-2,.contact-grid,.media-item,.footer-inner{grid-template-columns:1fr}.grid-3 .card:last-child{grid-column:auto}.service-pair{grid-template-columns:1fr}.hero img{height:360px}.hero-copy{left:12px;bottom:14px;width:calc(100% - 24px);padding:16px 18px}.feature-photo img{height:240px}.footer-credit{text-align:left}.media-item{padding:15px}.contact-card{padding:18px}}

/* V2.1 — stronger theme identity in the top navigation */
.site-header{
  background:linear-gradient(100deg,var(--header-bg-dark),var(--header-bg));
  border-bottom:1px solid color-mix(in srgb,var(--header-glow) 60%,transparent);
  box-shadow:0 4px 16px rgba(0,0,0,.11);
}
.brand{color:var(--header-text)}
.brand:hover,.brand:focus{
  color:#fff;
  background:color-mix(in srgb,#fff 10%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--header-glow) 55%,transparent),0 0 22px color-mix(in srgb,var(--header-glow) 48%,transparent);
  text-shadow:0 0 9px color-mix(in srgb,var(--header-glow) 70%,transparent);
}
.brand-copy small{color:color-mix(in srgb,var(--header-text) 76%,transparent)}
.nav a{color:var(--header-text);transition:.18s ease;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.nav a:hover,.nav a:focus{
  background:color-mix(in srgb,#fff 11%,transparent);
  color:#fff;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--header-glow) 55%,transparent),0 0 18px color-mix(in srgb,var(--header-glow) 45%,transparent);
  text-shadow:0 0 8px var(--header-glow),0 1px 2px rgba(0,0,0,.2);
}
.nav a[aria-current="page"]{
  background:color-mix(in srgb,#fff 16%,transparent);
  color:#fff;
  box-shadow:inset 0 -2px 0 var(--header-glow);
}
.theme-picker{color:color-mix(in srgb,var(--header-text) 84%,transparent)}
.theme-picker select{border-color:color-mix(in srgb,var(--header-glow) 65%,transparent);background:color-mix(in srgb,#fff 94%,transparent)}
.menu-toggle{border-color:color-mix(in srgb,var(--header-glow) 50%,transparent);background:color-mix(in srgb,#fff 10%,transparent);color:#fff}
.leadership-block{margin-top:38px;padding:24px 28px;background:linear-gradient(135deg,var(--primary-soft),var(--paper));border:1px solid var(--accent-light);border-left:6px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;box-shadow:0 7px 22px rgba(0,0,0,.05)}
.leadership-block h2{font-family:var(--font-display);font-size:31px;font-weight:400;color:var(--primary-dark);margin:0 0 8px}
.leadership-block p{margin:0;font-size:18px}
/* V2.3 — requested content and responsive additions */
.hero img{transform:translateY(18px);height:432px}
.contact-intro{margin:0 0 16px}
.contact-form-frame{display:block;width:100%;min-height:760px;border:0;border-radius:14px;background:var(--paper)}
.contact-form-fallback{margin:14px 0 0}
.subscribe-wrap{max-width:720px;margin:28px auto}
.subscribe-card .card-body{padding:24px}
.footer-subscribe{margin-bottom:10px!important}
.footer-subscribe a{text-decoration:none;color:var(--primary-dark)}
@media(max-width:680px){
  .hero img{transform:translateY(12px);height:348px}
  .contact-form-frame{min-height:820px}
  .subscribe-card .card-body{padding:18px}
}

/* V2.6 */
.hero-copy h1 .welcome-to{display:block;font-family:var(--font-body);font-size:clamp(18px,2.1vw,26px);font-weight:600;line-height:1.2;text-align:center;margin-bottom:4px}
.hero-copy h1 .gathering-name{display:block;white-space:nowrap;text-align:center;font-size:clamp(38px,4.6vw,58px)}
.office-block{margin-top:24px;padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;box-shadow:0 7px 22px rgba(0,0,0,.05)}
.office-block h2{font-family:var(--font-display);font-size:31px;font-weight:400;color:var(--primary-dark);margin:0 0 14px;text-transform:uppercase;letter-spacing:.04em}.office-block p{margin:0 0 12px}
.contact-form-wrap{max-width:820px;margin:28px auto}.contact-form-card{padding:24px;background:color-mix(in srgb,var(--primary-soft) 58%,#dfe6e8);border:1px solid color-mix(in srgb,var(--primary) 18%,#b8c3c8);border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-form-card h2{font-family:var(--font-display);font-size:31px;font-weight:400;color:var(--primary-dark);margin:0 0 16px}.urgent-contact{text-align:center;font-size:18px;margin:20px 0 0}
.find-us-sheet{max-width:920px;margin:28px auto}.find-us-contact{display:grid;grid-template-columns:1.35fr 1fr .72fr;gap:18px;align-items:start;padding:20px 22px;margin-bottom:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 7px 20px rgba(0,0,0,.05)}
.find-us-map{height:390px;margin-bottom:24px}.gathering-schedule h2{font-family:var(--font-display);font-weight:400;color:var(--primary-dark);font-size:31px;text-align:center;margin:0 0 14px}
.find-us-slogan{margin:34px auto 6px;text-align:center;font-family:var(--font-display);font-size:clamp(25px,3.4vw,36px);line-height:1.25;color:var(--primary-dark)}
@media(max-width:680px){.hero-copy h1 .gathering-name{font-size:clamp(32px,10vw,46px)}.find-us-contact{grid-template-columns:1fr}.contact-form-card{padding:18px}.find-us-map{height:320px}}
@media print{.site-header,.site-footer,.theme-picker,.menu-toggle{display:none!important}main{width:100%;padding:0}.find-us-sheet{max-width:none;margin:0}.find-us-contact{box-shadow:none}.find-us-map{height:330px}}


/* V2.6 Contact final trim */
.contact-form-wrap{
  max-width:980px;
  margin:22px auto;
}
.contact-form-card{
  padding:20px;
}
.contact-form-frame{
  min-height:760px;
  height:78vh;
  max-height:900px;
}
@media(max-width:680px){
  .contact-form-wrap{
    max-width:none;
    margin:14px auto;
  }
  .contact-form-card{
    padding:14px;
  }
  .contact-form-frame{
    min-height:820px;
    height:82vh;
    max-height:none;
  }
  .urgent-contact{
    margin:14px 0 0;
  }
}

.contact-form-card h2 small{
  font-family:var(--font-body);
  font-size:.55em;
  font-weight:400;
  white-space:nowrap;
}
@media(max-width:680px){
  .contact-form-card h2 small{
    display:block;
    margin-top:4px;
    white-space:normal;
  }
}

/* ZOOM/BTT TEST — fixed supervisory controls, intentionally outside normal layout */
.view-size-controls{
  position:fixed;
  top:auto;
  right:12px;
  bottom:90px;
  z-index:12000;
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  padding:6px;
  border-radius:9px;
  background:rgba(35,35,35,.78);
  box-shadow:0 2px 9px rgba(0,0,0,.28);
  transform-origin:top right;
}
.view-size-btn{
  font:Arial,sans-serif;
  font-size:12px;
  line-height:1;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:7px;
  color:#fff;
  background:rgba(255,255,255,.12);
  cursor:pointer;
}
.view-size-btn:hover,
.view-size-btn:focus{
  background:rgba(255,255,255,.24);
}
.view-size-btn:focus{
  outline:2px solid #fff;
  outline-offset:2px;
}

#tgBackToTop{
  position:fixed;
  right:12px;
  bottom:18px;
  z-index:12000;
  display:none;
  width:132px;
  height:64px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  cursor:pointer;
  transform-origin:bottom right;
}
#tgBackToTop.is-visible{display:block;}
#tgBackToTop img{
  width:132px;
  height:64px;
  display:block;
}
@media(max-width:600px){
  .view-size-controls{top:auto;right:6px;bottom:78px;padding:5px;gap:4px;}
  .view-size-btn{font-size:11px;padding:4px 6px;}
  #tgBackToTop{right:8px;bottom:10px;width:116px;height:auto;}
  #tgBackToTop img{width:116px;height:auto;}
}



/* V3.0 — stable narrow-width header/navigation without changing the desktop structure. */
@media(max-width:900px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto auto;gap:10px 12px;}
  .brand{min-width:0;}
  .brand-copy{min-width:0;}
  .theme-picker{justify-self:end;}
  .menu-toggle{justify-self:end;order:initial;}
  .nav{grid-column:1/-1;width:100%;justify-content:center;gap:3px;padding:0 0 12px;}
  .nav a{font-size:14px;padding:7px 9px;}
}
@media(max-width:680px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;min-height:70px;}
  .brand{grid-column:1;grid-row:1;}
  .menu-toggle{grid-column:2;grid-row:1;}
  .theme-picker{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-self:center;margin:0 0 7px;font-size:10px;gap:6px;transform:translateY(-7px);}
  .theme-picker select{min-width:124px;padding:6px 7px;font-size:12px;}
  .nav{grid-column:1/-1;grid-row:3;justify-content:center;gap:2px 3px;padding:0 0 10px;}
  .nav a{font-size:13px;padding:6px 7px;}
}
@media(max-width:420px){
  .header-inner{width:min(100% - 12px,var(--max));}
  .brand{gap:7px;padding:4px;}
  .brand-mark{width:38px;height:38px;font-size:14px;}
  .brand-copy strong{font-size:19px;}
  .nav a{font-size:12px;padding:5px 6px;}
  .menu-toggle{padding:6px 8px;font-size:18px;}
}


/* V3.0 final QA fixes — Contact return and intermediate-width sizer clearance. */
.contact-heading-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px 32px;
  flex-wrap:wrap;
  margin:0 0 16px;
}
.contact-heading-row h2{margin:0;}
.contact-return{
  margin-left:auto;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
  color:var(--primary-dark);
}
.contact-return:hover,.contact-return:focus{text-decoration:underline;}

@media (max-width:680px){
  .contact-heading-row{display:block;}
  .contact-return{display:inline-block;margin-top:4px;}
}



/* V3.0 finish-line: page orientation lives permanently at TOP CENTER.
   Absolute positioning keeps it out of header layout and adds no height. */
.page-indicator{
  position:absolute;
  top:.32rem;
  left:50%;
  bottom:auto;
  transform:translateX(-50%);
  width:max-content;
  max-width:42%;
  margin:0;
  padding:0;
  font-size:.82rem;
  line-height:1;
  font-weight:700;
  color:rgba(255,255,255,.92);
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
}

/* Compact temporary September notice; it belongs to content, not the header. */
.temporary-meeting-notice{
  max-width:900px;
  margin:.35rem auto .85rem;
  padding:.45rem .8rem;
  text-align:center;
  background:#fff8e8;
  border:1px solid currentColor;
  border-radius:8px;
  font-size:.95em;
  line-height:1.3;
}

/* Narrow screens keep the same TOP-CENTER anchor. No extra row, no hiding when
   the hamburger opens; only the type is reduced slightly. */
@media (max-width:680px){
  .page-indicator{
    top:.28rem;
    left:50%;
    bottom:auto;
    transform:translateX(-50%);
    max-width:52%;
    font-size:.72rem;
    text-align:center;
  }
}


/* 2026-08-14 desktop header finish:
   give the established header enough horizontal room at 100% and reserve
   the top-center sliver for "You're Viewing..." WITHOUT adding a header row. */
@media (min-width:901px){
  .header-inner{
    width:min(1320px,calc(100% - 32px));
    min-height:88px;
    padding-top:16px;
  }
  .page-indicator{
    top:.26rem;
    font-size:.88rem;
    max-width:34%;
  }
  .nav{
    flex-wrap:nowrap;
  }
  .nav a{
    white-space:nowrap;
  }
}
