/* =========================================================================
   MEMBERSHIP — THREE TIERS (patterns: sanctuary/membership3-*)
   Loaded by functions.php (section 2) on the site and in the editor.
   Everything is scoped under .m3, so nothing else on the site changes.
   ========================================================================= */
.m3{
  --m3-cream:#efe0d1; --m3-cream-2:#e6d5c4; --m3-paper:#fdfaf6;
  --m3-dark:#393534; --m3-taupe:#98887b; --m3-brown:#a06a4a;
  --m3-brown-lt:#cdbcaa; --m3-deep:#7a5238; --m3-muted:#b3a596;
  --m3-line:rgba(57,53,52,.12); --m3-line-dk:rgba(239,224,209,.14);
  font-family:'Jost',sans-serif; color:var(--m3-dark); line-height:1.6;
  padding:0 clamp(16px,4vw,56px); box-sizing:border-box;
  margin-top:0!important; margin-bottom:0!important;
}
.m3 *,.m3 *::before,.m3 *::after{box-sizing:border-box}
.m3 p,.m3 h1,.m3 h2,.m3 ul,.m3 figure{margin:0}
.m3 em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400}
.m3-wrap{max-width:1320px;margin:0 auto!important}
/* Groups default to "flow" layout, which adds top margins between children. Grids handle spacing here. */
.m3 .m3-hero>*,.m3 .m3-cards>*,.m3 .m3-card>*,.m3 .m3-price-row>*,.m3 .m3-founders>*,.m3 .m3-priv>*,.m3 .m3-extra>*{margin-block-start:0!important;margin-top:0!important}

.m3-top{padding-top:clamp(48px,7vw,96px)}
.m3-section{padding-top:clamp(48px,6vw,80px)}
.m3-section--last{padding-bottom:clamp(56px,7vw,100px)}
.m3-cards-section{padding-top:clamp(40px,5vw,64px)}

/* Eyebrows & section titles */
.m3 .m3-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--m3-taupe);margin-bottom:18px}
.m3 .m3-section-title{font-family:'Cinzel',serif;font-size:clamp(18px,2vw,22px);font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;color:inherit;padding-bottom:14px;margin-bottom:24px;border-bottom:2px solid var(--m3-brown)}

/* Opener */
.m3-hero{background:var(--m3-dark);color:var(--m3-cream);padding:clamp(36px,5vw,64px) clamp(22px,4vw,56px);display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,64px);align-items:end}
.m3-hero>*{min-width:0}
.m3 .m3-hero-title{font-family:'Cinzel',serif;font-weight:400;font-size:clamp(30px,4.2vw,54px);line-height:1.1;letter-spacing:.02em;color:var(--m3-cream);margin-bottom:20px}
.m3 .m3-hero-title em{color:var(--m3-brown-lt);font-size:1.08em}
.m3 .m3-hero-lede{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,1.6vw,21px);color:var(--m3-brown-lt);max-width:560px}
.m3 .m3-ledger{border:1px solid var(--m3-brown);padding:24px 26px;background:transparent}
.m3 .m3-ledger .pr-ledger-count{font-family:'Cinzel',serif;font-size:15px;letter-spacing:.06em;color:var(--m3-cream);margin-bottom:10px}
.m3 .m3-ledger .pr-ledger-count strong{font-size:40px;font-weight:500;color:var(--m3-brown);margin-right:6px;vertical-align:-4px}
.m3 .m3-ledger .pr-ledger-note{font-size:13px;color:var(--m3-brown-lt);line-height:1.7}
.m3 .m3-ledger .pr-ledger-grid{margin:4px 0 14px}
.m3 .m3-ledger .pr-ledger-closed{font-size:13px;color:var(--m3-cream);line-height:1.7;border:1px dashed var(--m3-brown);padding:10px 12px;margin-top:12px}
body:not(.editor-styles-wrapper) .m3-ledger:not(.is-closed) .pr-ledger-closed{display:none}
.m3-ledger.is-closed .pr-ledger-note{display:none}

/* Cards */
.m3-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);align-items:stretch}
.m3-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--m3-line);box-shadow:0 1px 4px rgba(57,53,52,.05);min-width:0}
.m3-card.is-featured{border:2px solid var(--m3-brown);box-shadow:0 6px 24px rgba(57,53,52,.10)}
.m3-card--restore{--accent:var(--m3-taupe)}
.m3-card--reconnect{--accent:var(--m3-brown)}
.m3-card--return{--accent:var(--m3-brown-lt)}
.m3-card--return .m3-card-body{--accent:var(--m3-deep)}

.m3-card-top{background:var(--m3-dark);color:var(--m3-cream);padding:28px 26px 24px;position:relative}
.m3-card-top>*{margin-block-start:0!important}
.m3 .m3-tag{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;padding:5px 12px;color:var(--m3-dark);background:var(--accent)}
.m3 .m3-flag{position:absolute;top:0;right:0;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;padding:7px 14px;background:var(--m3-brown);color:var(--m3-cream)}
.m3 .m3-card-title{font-family:'Cinzel',serif;font-size:30px;font-weight:500;letter-spacing:.03em;line-height:1.2;color:var(--m3-cream);margin:16px 0 4px;padding:0;border:0;text-transform:none}
.m3 .m3-hours{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--m3-brown-lt)}
.m3 .m3-hours-sub{font-size:12px;color:var(--m3-muted);line-height:1.6;margin-top:4px;min-height:3.2em}
.m3 .m3-price-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:20px}
.m3 .m3-price{font-family:'Cinzel',serif;font-size:44px;font-weight:600;line-height:1;color:var(--accent)}
.m3 .m3-was{font-family:'Cinzel',serif;font-size:17px;color:var(--m3-cream);text-decoration:line-through;opacity:.75}
.m3 .m3-per{font-size:13px;color:var(--m3-taupe)}
.m3 .m3-price-note{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--accent);margin-top:6px}
.m3 .m3-annual{background:rgba(239,224,209,.06);border:1px solid rgba(239,224,209,.1);padding:10px 12px;margin-top:14px}
.m3 .m3-annual>*{margin-block-start:0!important}
.m3 .m3-annual-label{font-size:11px;color:var(--m3-taupe)}
.m3 .m3-annual-price{font-size:15px;font-weight:500;color:var(--m3-cream)}
.m3 .m3-annual-price em{font-family:'Jost',sans-serif;font-size:11px;color:var(--m3-taupe)}
.m3 .m3-std{border-top:1px solid var(--m3-line-dk);margin-top:14px;padding-top:12px;font-size:12px;color:var(--m3-muted);line-height:1.6}
.m3 .m3-std strong{font-family:'Cinzel',serif;font-size:16px;font-weight:400;color:var(--m3-brown-lt)}

.m3-card-body{flex:1;display:flex;flex-direction:column;background:var(--m3-paper);padding:22px 26px 26px}
.m3-card-body>*{margin-block-start:0!important}
.m3 .m3-list{list-style:none;padding:0;margin:0}
.m3 .m3-list li{position:relative;padding-left:15px;margin:0 0 14px;font-size:13px;line-height:1.55}
.m3 .m3-list li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.m3 .m3-list li strong{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}
.m3 .m3-list li.is-extra::after{content:"Included";display:inline-block;margin-left:8px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;padding:2px 6px;background:var(--m3-cream-2);color:var(--m3-deep);vertical-align:1px}

.m3 .m3-join{margin-top:auto!important;padding-top:10px;display:block}
.m3 .m3-btn{display:block;width:100%;margin:0}
.m3 .m3-btn .wp-block-button__link{display:block;width:100%;text-align:center;background:var(--m3-dark);border:1px solid var(--m3-dark);border-radius:0;color:var(--m3-cream)!important;font-family:'Jost',sans-serif;font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;text-decoration:none!important;padding:18px 24px;transition:background .2s,border-color .2s}
.m3 .m3-btn .wp-block-button__link:hover,.m3 .m3-btn .wp-block-button__link:focus-visible{background:var(--m3-brown);border-color:var(--m3-brown)}
.m3 .is-featured .m3-btn .wp-block-button__link{background:var(--m3-brown);border-color:var(--m3-brown)}
.m3 .is-featured .m3-btn .wp-block-button__link:hover{background:var(--m3-dark);border-color:var(--m3-dark)}

.m3 .m3-choose{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(18px,1.7vw,22px);color:var(--m3-dark);margin:clamp(28px,4vw,44px) auto 0;max-width:820px}

/* Panels & tables */
.m3 .m3-panel{background:var(--m3-paper);border:1px solid var(--m3-line);padding:clamp(22px,3vw,32px);max-width:100%;min-width:0}
.m3 .m3-panel>*{margin-block-start:0!important}
.m3 .m3-panel-text{font-size:13px;line-height:1.75;margin-bottom:18px;color:#55504a}
.m3 .m3-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0}
.m3 .m3-panel .m3-table{background:transparent;border:0;padding:0}
.m3 .m3-table table{width:100%;border-collapse:collapse;font-size:13px;min-width:540px;border:0}
.m3 .m3-table th{font-family:'Cinzel',serif;font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:10px 12px;border:0;border-bottom:2px solid var(--m3-brown);white-space:nowrap;background:transparent}
.m3 .m3-table td{padding:11px 12px;border:0;border-bottom:1px solid var(--m3-line);vertical-align:top}
.m3 .m3-table td:first-child{color:#55504a}
.m3 .m3-table td em{font-size:13px;color:var(--m3-taupe)}
.m3 .m3-table td strong{font-family:'Cinzel',serif;font-weight:500}
.m3 .m3-table a{color:var(--m3-brown);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-left:6px;text-decoration:none;border-bottom:1px solid currentColor}
.m3 .m3-table thead,.m3 .m3-table tfoot{border:0}
.m3 .m3-table figcaption{display:none}

/* Founders */
.m3-founders{background:var(--m3-dark);color:var(--m3-cream);padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,56px)}
.m3-founders>*{min-width:0}
.m3 .m3-founders .m3-section-title{color:var(--m3-cream)}
.m3 .m3-founders-intro{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--m3-brown-lt)}
.m3-priv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;align-content:start}
.m3 .m3-priv-item{border-left:2px solid var(--m3-brown);padding-left:16px}
.m3 .m3-priv-item>*{margin-block-start:0!important}
.m3 .m3-priv-title{font-family:'Cinzel',serif;font-size:15px;letter-spacing:.03em;margin-bottom:6px}
.m3 .m3-priv-text{font-size:13px;color:var(--m3-muted);line-height:1.6}

/* Couples, annual & add-ons */
.m3-extra{display:grid;grid-template-columns:2fr 1fr;gap:clamp(16px,2vw,24px)}
.m3-extra>*{min-width:0}
.m3-extra-main>*,.m3-extra-side>*{margin-block-start:0!important}
.m3 .m3-addons{list-style:none;padding:0;margin:0}
.m3 .m3-addons li{font-size:14px;padding:12px 0;margin:0;border-bottom:1px solid var(--m3-line)}
.m3 .m3-addons li::before{content:"✦";color:var(--m3-brown);margin-right:10px;font-size:11px}
.m3 .m3-foot{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--m3-taupe);line-height:1.8;margin-top:clamp(36px,5vw,56px)}
.m3 .m3-foot a{color:var(--m3-brown)}

/* Responsive */
@media (max-width:1100px){
  .m3-cards{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}
  .m3 .m3-hours-sub{min-height:0}
  .m3-hero,.m3-founders,.m3-extra{grid-template-columns:1fr}
}
@media (max-width:640px){
  .m3-priv{grid-template-columns:1fr}
  .m3 .m3-price{font-size:38px}
  .m3-card-top,.m3-card-body{padding-left:20px;padding-right:20px}
}
