/* Shared finishing rules: quiet paper, clear intent and a consistent primary action. */
.context-home{display:block!important;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.interior-footer .brand{display:inline-flex;align-items:center;gap:13px;font-size:24px}
.interior-footer .brand small{display:block;font:10px/1.5 var(--body);letter-spacing:.14em}
.interior-footer .brand-monogram{font-family:var(--serif);color:inherit}
.community-preview{margin:26px 0 38px}
.community-preview .real-members{display:block;max-width:100%;text-align:center}
.community-preview .members-heading{margin-bottom:14px}
.community-preview .real-members h3{font:14px/1.5 var(--body);margin:0}
.community-preview .member-faces{margin:0 auto;max-width:960px;width:100%}
.society .intro-copy{margin-bottom:25px}
.week-days span:nth-last-child(-n+2) i{background:var(--olive);border-color:#657b60}
.amenities{display:flex;flex-wrap:wrap;gap:9px 18px;margin-block:19px}
.amenities li,.amenities li:last-child{border:0;padding:0;font-size:15px;line-height:1.6;background:none}
.experience-caption{min-height:140px;padding-block:20px}
.membership-heading{margin-bottom:25px}
.house-guidelines{padding:25px 0;background:transparent;box-shadow:none;border-inline:0}
.guideline-grid{gap:20px}.guideline-grid>article{padding-top:15px}
.learning .speakers>div{padding-block:14px;grid-template-columns:80px minmax(0,1fr);gap:20px}
.learning .speakers img{width:80px;height:100px}
.compact-rhythm{padding:26px 20px;margin-top:38px}
.compact-rhythm .cadence-lane{padding-block:13px}
.people-section{padding-top:35px}.people-section .salon-layout{margin-top:25px}
.price-card>.button{font-weight:500}
/* The acceptance page has one clear decision and the existing Stripe destination. */
.acceptance-page{max-width:1200px;padding-top:25px}
.acceptance-hero{display:grid;gap:25px;align-items:start}
.acceptance-status{font-size:14px;letter-spacing:.025em;margin-bottom:16px;color:var(--wine)}
.acceptance-page h1{font-size:39px;line-height:1.09;letter-spacing:-.04em}
.acceptance-welcome{font-size:17px;line-height:1.7;max-width:47ch;margin-top:20px}
.acceptance-card{background:var(--wine);color:var(--paper-light);padding:27px 23px;border:1px solid #795a4a;box-shadow:5px 6px 0 #c8ccb6;min-width:0}
.acceptance-card h2{font-size:18px;font-weight:400;margin-bottom:23px}
.acceptance-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.acceptance-price strong{font-size:66px;font-weight:400;line-height:1;letter-spacing:-.065em}
.acceptance-price>span{font-size:16px}.annual-billing{font-size:15px;margin-top:13px}
.annual-saving{font-size:16px;line-height:1.6;margin:18px 0;color:#f0dfc6}
.acceptance-card ul{padding:21px 0 8px;list-style:none;border-top:1px solid #947567;margin-top:22px}
.acceptance-card li{font-size:16px;line-height:1.65;margin-bottom:13px;padding-left:16px;position:relative}
.acceptance-card li:before{content:'';width:4px;height:4px;background:#e5d0a8;position:absolute;left:0;top:11px}
.acceptance-card .acceptance-pay{width:100%;min-height:55px;padding-inline:16px;background:var(--paper-light);color:var(--wine);border:1px solid var(--paper-light);font-size:16px;justify-content:space-between;margin-top:10px}
.acceptance-card .acceptance-pay:hover{background:#fffdf4}
.acceptance-terms{font-size:14px;line-height:1.6;margin-top:18px;color:#eee0c8}.acceptance-terms a{text-decoration:underline;text-underline-offset:3px}
.acceptance-photo{width:100%;height:250px;border:6px solid var(--olive);margin-top:10px}
.acceptance-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.acceptance-benefits{margin-top:48px;border-top:1px solid #aeb69d;padding-top:32px}
.acceptance-benefits>h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;font-weight:400;margin-bottom:28px}.acceptance-benefits h2 em{font-family:var(--serif);font-weight:400}
.acceptance-benefit-grid{display:grid;gap:0}
.acceptance-benefit-grid article{padding:25px 0;border-top:1px solid #b6baa4;display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px 15px}
.benefit-index{font:italic 20px var(--serif);grid-row:1/3;padding-top:4px}
.acceptance-benefit-grid h3{font-size:24px;line-height:1.3;font-weight:400;letter-spacing:-.025em}
.acceptance-benefit-grid p{font-size:17px;line-height:1.75;max-width:50ch}
.acceptance-close{margin-top:35px;padding:29px 24px;background:var(--olive);color:var(--paper-light)}
.acceptance-close h2{font-size:29px;line-height:1.2;font-weight:400;letter-spacing:-.035em}.acceptance-close p{font-size:17px;line-height:1.7;margin:18px 0 24px}.acceptance-close .button{background:var(--paper-light);color:var(--olive);font-size:15px;min-height:52px}
/* Get to the form promptly, then let field groups do the work. */
.apply-page{padding-top:25px}.application-layout{gap:24px}
.application-intro h1{font-size:42px;line-height:1.1}
.application-intro>p{font-size:17px;line-height:1.6;margin:16px 0 20px}
.application-dues{display:flex;flex-wrap:wrap;gap:5px 14px;padding:13px 0}
.application-dues strong{font-size:18px;font-weight:500}.application-dues span{font-size:14px}.application-dues p{font-size:14px;flex-basis:100%;margin:0}
.application-sheet{padding:23px 20px}
.application-sheet .application-form{display:block}
.application-fieldset{border:0;padding:0;margin:0 0 30px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.application-fieldset legend{font:500 18px/1.4 var(--body);letter-spacing:-.02em;width:100%;padding:0 0 16px;margin-bottom:2px;border-bottom:1px solid #c4c7b5}
.application-fieldset+.application-fieldset{padding-top:3px}
.application-sheet .application-form label{font-size:16px;line-height:1.5;margin-bottom:8px;min-height:24px}
.application-sheet .application-form .fld__opt{display:inline;font-size:13px;margin-left:4px;color:var(--muted)}
.application-sheet .application-form textarea{min-height:135px}
.application-sheet .application-form .appform__foot{gap:17px;margin-top:5px}
.application-sheet .appform__foot>.button{background:var(--wine);border:1px solid var(--wine);color:var(--paper-light);font-size:16px;font-weight:500;min-height:56px}
.application-sheet .appform__foot>.button:hover{background:var(--olive);border-color:var(--olive)}
.application-sheet .appform__foot>.button:disabled{opacity:.65;cursor:wait}
.application-sheet .application-review-note{font-size:14px;line-height:1.65;color:var(--muted);padding-top:15px;border-top:1px solid #c4c7b5}
/* Legal content is unaltered; navigation is outside the exact-copy main element. */
.legal-layout{width:calc(100% - 40px);max-width:1200px;margin:0 auto}
.legal-layout .legal-copy{width:100%;max-width:none;padding-top:30px}
.legal-index{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid #b6baa4;margin-inline:-20px;padding:0 20px}
.legal-index nav{display:flex;gap:22px;overflow-x:auto;padding-block:17px;scrollbar-width:thin}
.legal-index a{white-space:nowrap;font-size:14px;line-height:1.5;min-height:30px;padding:4px 0;border-bottom:2px solid transparent}
.legal-index a[aria-current]{border-color:var(--wine);color:var(--wine);font-weight:500}
.legal-copy .document-chapter{padding-block:0 30px}.legal-copy .document-chapter:first-child{padding-top:0}
.legal-copy .document-chapter:first-child>div>p:first-child{font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;color:var(--muted)}
.legal-copy h1{font-size:42px}.legal-copy .legal-clause{padding-top:25px;margin-block:0 35px;scroll-margin-top:90px;border-top:1px solid #b6baa4}
.legal-clause>p:first-child{font:italic 20px/1.4 var(--serif);color:var(--wine);margin:0 0 14px}
.legal-copy h2{font-size:26px;line-height:1.3;letter-spacing:-.025em;margin:0 0 20px}
.legal-copy p,.legal-copy li{font-size:17px;line-height:1.8}
/* The FAQ keeps its topic controls in reach and marks the current chapter. */
.faq-layout{display:block}.faq-contents{position:sticky;top:0;z-index:8;display:flex;overflow-x:auto;gap:9px;padding:12px 0;background:var(--paper);margin-bottom:30px;border-top:1px solid #b6baa4;border-bottom:1px solid #b6baa4;scrollbar-width:thin}
.faq-contents a{flex:0 0 auto;min-height:44px;font-size:14px;padding:10px 14px}
.faq-contents a[aria-current]{background:var(--olive);color:var(--paper-light);border-color:var(--olive)}
.faq-chapter{scroll-margin-top:90px}.faq-heading{padding-bottom:25px}
/* A clear completion state instead of the same layout as a 404. */
.confirmed-page{max-width:1000px;padding-block:40px 60px;min-height:68vh}
.confirmation-card{border:1px solid #aeb69d;background:var(--paper-light);padding:30px 24px;box-shadow:6px 7px 0 #d8dac6;max-width:780px}
.confirmation-seal{font:italic 25px/1 var(--serif);color:var(--olive);margin-bottom:25px;display:grid;place-content:center;width:68px;height:68px;border:1px solid #aeb69d;border-radius:50%}
.confirmation-card h1{font-size:46px;line-height:1.05}.confirmation-card .confirmation-lead{font-size:18px;line-height:1.65;margin:22px 0 27px}
.confirmation-next{border-block:1px solid #b6baa4;padding:22px 0;margin-bottom:27px}
.confirmation-next h2{font-size:19px;font-weight:500;margin:0 0 12px}.confirmation-next p{font-size:17px;line-height:1.75;margin:0}.confirmation-card>.button{font-size:15px;min-height:52px}
/* Photos can be browsed by touch, keys or explicit controls. */
#lightbox{padding:0;margin:0;background:#101813f5;backdrop-filter:blur(12px);overflow:hidden;width:100vw;height:100dvh;max-height:100dvh;color:#fff}
.photo-toolbar{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;height:70px;padding:10px 18px}
.photo-position{font:14px/1.5 var(--body);color:#e6e7dc}
#lightbox .lightbox-close{position:static;display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #829082;background:transparent;font-size:14px}
.lightbox-close svg{width:18px;height:18px}.photo-stage{height:100%;width:100%;padding:80px 14px 85px;display:grid;place-items:center;touch-action:pan-y}
#lightbox .photo-stage img{width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;user-select:none;-webkit-user-drag:none}
.photo-stage>button{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));display:grid;place-content:center;width:50px;height:50px;border:1px solid #829082;background:#17271f;color:#fff}
.photo-stage>button svg{width:23px;height:23px}.photo-previous{left:calc(50% - 60px)}.photo-next{right:calc(50% - 60px)}
#lightbox button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(min-width:700px){
 .community-preview{margin:30px 0 48px}.community-preview .member-faces{max-width:850px}
 .learning .speakers>div{padding-block:20px;grid-template-columns:96px minmax(0,1fr);gap:24px}.learning .speakers img{width:96px;height:120px}
 .experience-caption{min-height:130px}.house-guidelines{padding:30px 0}.guideline-grid{gap:25px 35px}
 .acceptance-page{padding-top:45px}.acceptance-hero{grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:28px 48px}
 .acceptance-intro{grid-column:1;grid-row:1}.acceptance-card{grid-column:2;grid-row:1/span 2;position:sticky;top:24px;padding:32px}
 .acceptance-page h1{font-size:52px}.acceptance-photo{grid-column:1;grid-row:2;height:340px;margin:0}
 .acceptance-benefits{margin-top:65px;padding-top:40px}.acceptance-benefits>h2{font-size:44px}.acceptance-benefit-grid{grid-template-columns:1fr 1fr;column-gap:45px}.acceptance-close{padding:35px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px 35px}.acceptance-close h2{font-size:32px}.acceptance-close p{grid-column:1;margin:0}.acceptance-close a{grid-column:2;grid-row:1/span 2}
 .apply-page{padding-top:40px}.application-layout{gap:45px}.application-intro h1{font-size:58px}.application-intro>p{font-size:19px}.application-dues{display:grid;gap:8px;padding-block:20px}.application-dues span,.application-dues p{font-size:15px}.application-sheet{padding:30px}
 .application-fieldset{grid-template-columns:1fr 1fr;gap:23px 18px;margin-bottom:32px}.application-fieldset legend{font-size:20px}.application-fieldset .fld--wide{grid-column:1/-1}.application-fieldset:last-of-type label{min-height:48px}
 .application-fieldset:first-of-type .field-optional label{min-height:24px}.application-sheet .application-form .fld__opt{display:block;margin-left:0}
 .legal-layout{width:calc(100% - 80px)}.legal-index{margin-inline:-40px;padding-inline:40px}.legal-copy h1{font-size:58px}.legal-copy h2{font-size:31px}
 .confirmation-card{padding:45px 50px}.confirmation-card h1{font-size:64px}.confirmed-page{padding-block:50px 70px}
 .photo-toolbar{padding-inline:30px}.photo-stage{padding:85px 90px 35px}.photo-stage>button{top:calc(50% - 25px);bottom:auto}.photo-previous{left:22px}.photo-next{right:22px}
}
@media(min-width:950px){
 .legal-layout{display:grid;grid-template-columns:185px minmax(0,800px);gap:55px;justify-content:center;padding-top:45px}.legal-layout .legal-copy{padding-top:0}
 .legal-index{position:sticky;align-self:start;top:25px;margin:0;padding:0;border:0}.legal-index nav{display:grid;gap:4px;padding:0;overflow:visible}.legal-index a{font-size:15px;min-height:44px;padding:12px 10px;border-left:2px solid transparent;border-bottom:0}.legal-index a[aria-current]{border-left-color:var(--wine);background:var(--paper-light)}
 .legal-copy .legal-clause{scroll-margin-top:30px}.legal-copy .document-chapter:first-child{padding-bottom:35px}
 .faq-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:60px;align-items:start}.faq-contents{display:grid;top:25px;gap:12px;padding:0;border:0;overflow:visible;margin:0}.faq-contents a{font-size:16px;min-height:54px}.faq-chapter{scroll-margin-top:35px}
}
@media(min-width:1100px){.acceptance-page h1{font-size:60px}.acceptance-hero{gap:35px 70px}.acceptance-card{padding:38px}.acceptance-price strong{font-size:78px}.application-layout{gap:65px}.application-sheet{padding:38px}}
@media(max-width:359px){.acceptance-page h1{font-size:35px}.acceptance-card{padding:24px 20px}.acceptance-price strong{font-size:59px}.application-intro h1{font-size:37px}.application-sheet{padding-inline:17px}.confirmation-card{padding:25px 20px}.confirmation-card h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){.photo-stage{scroll-behavior:auto}}
.society{padding-bottom:30px}.community-preview .stories{margin-top:24px}.community-preview .testimonial-navigation{margin-bottom:10px}.community-preview .quote-card blockquote{font-size:23px;line-height:1.45}.community-preview .quote-card{padding:25px 22px}.community-preview .stories>.text-link{margin-top:18px}
.membership-space{margin-top:45px}.membership-space .membership-explorer{margin-top:30px}
@media(min-width:700px){.society{padding-bottom:35px}.community-preview{margin-bottom:0}.community-preview .quote-card blockquote{font-size:24px}.membership-space{margin-top:60px}.membership-space .membership-explorer{max-width:1020px;margin-inline:auto}}
.legal-copy h2[id]{scroll-margin-top:100px}
@media(max-width:699px){.nav-has-action .context-home{display:none!important}.nav-has-action .button{font-size:14px;white-space:nowrap;padding-inline:14px}}
@media(min-width:700px) and (max-width:1099px){.application-fieldset:last-of-type>.fld{grid-column:1/-1}.application-fieldset:last-of-type label{min-height:0}}
@media(min-width:1100px){.application-fieldset:last-of-type>.fld:not(.fld--wide) label{min-height:72px}}
@media(min-width:950px){.legal-copy h2[id]{scroll-margin-top:35px}}
.community-preview .member-proof{align-items:flex-start;overflow-y:hidden;transition:height .2s ease}
.community-preview .quote-card figcaption{margin-top:22px;padding-top:0}
.photo-stage{touch-action:pan-y pinch-zoom}
@media(prefers-reduced-motion:reduce){.community-preview .member-proof{transition:none}}
.faq-invitation{margin-left:0}
@media(min-width:950px){.faq-invitation{margin-left:280px}}
@media(min-width:700px){.application-layout{align-items:start}.application-intro{position:sticky;top:25px;align-self:start}}
.legal-copy p,.legal-copy ul{max-width:70ch}
@media(max-width:699px){
 .community-preview .member-faces{width:100vw;max-width:none;margin-inline:calc(50% - 50vw);mask-image:none;-webkit-mask-image:none}
}

/* A stable rail lets every testimonial share the tallest card's natural height. */
.community-preview .member-proof{align-items:stretch;height:auto;transition:none}
.community-preview .quote-card figcaption{margin-top:auto;padding-top:22px}
.price-card .plan-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.price-card .plan-switch button{display:flex;align-items:center;justify-content:center;white-space:nowrap;min-height:50px;padding:12px 8px;font-size:16px}
.membership-saving{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:20px;padding:13px 15px;background:#f0dfb4;color:#432b27;border:1px solid #f0dfb4}
.membership-saving strong{font-size:23px;line-height:1.2;font-weight:600;white-space:nowrap}
.membership-saving span{font-size:14px;line-height:1.5}

.site-header .brand-rose{display:block;position:static;flex:0 0 44px;width:44px;height:48px;padding:0;border:0;background:currentColor;-webkit-mask:url('/assets/brand/rosedale-rose-monogram.png') center/contain no-repeat;mask:url('/assets/brand/rosedale-rose-monogram.png') center/contain no-repeat}
.interior-header .brand-rose{background:currentColor}
.site-header .brand{align-items:center}
/* Let the longest caption size the mobile explorer, independent of the active tab. */
@media(max-width:699px){
 .experience-panels{display:grid;grid-template-columns:minmax(0,1fr)}
 .experience-panels .experience-panel{display:grid;grid-area:1/1;grid-template-rows:auto 1fr;min-width:0}
 .experience-panels .experience-panel[hidden]{display:grid;visibility:hidden;pointer-events:none}
}

footer .brand-rose{display:block;position:static;flex:0 0 44px;width:44px;height:48px;padding:0;border:0;background:currentColor;-webkit-mask:url('/assets/brand/rosedale-rose-monogram.png') center/contain no-repeat;mask:url('/assets/brand/rosedale-rose-monogram.png') center/contain no-repeat}
footer .brand{align-items:center}
