/* Claves House Membership — uses the existing site's typography and tokens. */
.membership-page .membership-hero { padding-bottom:0; }
.membership-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); gap:clamp(32px,5vw,96px); align-items:center; }
.membership-hero-copy { position:relative; z-index:1; padding-block:32px 72px; }
.membership-page .membership-hero h1 { max-width:15ch; font-size:clamp(3rem,6.3vw,6.25rem); }
.membership-page .membership-hero .lede { max-width:43ch; margin-bottom:30px; }
.membership-opening { color:var(--text-dark-dim); font-size:.8rem; margin:0 0 24px; }
.membership-opening span { display:block; color:var(--text-dark); font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.6rem); letter-spacing:-.02em; margin-top:6px; }
.membership-key { margin:0; position:relative; }
.membership-key::before { content:""; position:absolute; inset:-25% -10%; background:radial-gradient(ellipse,rgba(169,130,62,.11),transparent 65%); pointer-events:none; }
.membership-key img { width:100%; position:relative; opacity:.93; }
.membership-contents { display:flex; flex-wrap:wrap; gap:12px 36px; border-block:1px solid var(--line-dark); padding-block:22px; }
.membership-contents a { font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; text-decoration:none; color:var(--text-dark-dim); padding-block:8px; }
.membership-contents a:hover { color:var(--text-dark); }
.membership-section { scroll-margin-top:var(--header-h); }
.membership-section h2 { max-width:18ch; margin-bottom:36px; }
.membership-section h2 em { color:var(--gold); }
.membership-section.light h2 em { color:var(--gold-deep); }
.membership-section .eyebrow { margin-bottom:20px; }
.membership-section > .wrap > p:not(.eyebrow) { max-width:65ch; color:var(--text-dark-dim); }
.membership-section.light > .wrap > p:not(.eyebrow) { color:var(--text-light-dim); }
.membership-section p { margin-bottom:22px; }
.membership-section .lead { font-size:clamp(1.1rem,1.9vw,1.45rem); line-height:1.6; }
.membership-priorities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,64px); margin:48px 0 32px; }
.membership-priorities > div { border-top:1px solid var(--line-dark); padding-top:24px; }
.membership-index { font:400 1rem var(--font-body); color:var(--gold); }
.membership-priorities h3 { font-size:clamp(1.8rem,3vw,2.5rem); margin:28px 0 18px; }
.membership-priorities p { font-size:1rem; color:var(--text-dark-dim); }
.membership-ledger { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:52px 0 12px; border-block:1px solid var(--line-light); }
.membership-ledger > div { padding:32px 28px; min-width:0; border-left:1px solid var(--line-light); }
.membership-ledger > div:first-child { padding-left:0; border-left:0; }
.membership-ledger dt { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-light-dim); }
.membership-ledger dd { margin:18px 0 0; font-family:var(--font-display); font-weight:400; font-size:clamp(2.3rem,4.5vw,4.7rem); line-height:1.1; letter-spacing:-.04em; font-variant-numeric:lining-nums tabular-nums; color:var(--ink); }
.membership-page .membership-allocation-note { font-size:.75rem; }
.membership-fees { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,6vw,100px); margin:64px 0 32px; }
.membership-fees h3 { font-size:1.7rem; margin-bottom:20px; }
.membership-fees p { color:var(--text-light-dim); font-size:1rem; max-width:48ch; }
.membership-authority { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:52px 0 0; gap:20px; counter-reset:authority; }
.membership-authority li { border-top:1px solid var(--line-dark); padding-top:20px; font-family:var(--font-display); font-size:clamp(1.2rem,2.2vw,1.8rem); }
.membership-authority li::before { counter-increment:authority; content:"0" counter(authority); display:block; font:400 .9rem var(--font-body); color:var(--gold); margin-bottom:22px; }
.membership-faq-list { border-top:1px solid var(--line-dark); margin-top:44px; max-width:1100px; }
.membership-faq-list details { border-bottom:1px solid var(--line-dark); scroll-margin-top:100px; }
.membership-faq-list summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:25px 0; font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.55; }
.membership-faq-list summary::-webkit-details-marker { display:none; }
.membership-faq-list summary::after { content:"+"; flex:none; font-size:1.5rem; font-weight:400; color:var(--gold); }
.membership-faq-list details[open] summary::after { content:"−"; }
.membership-faq-list details p { color:var(--text-dark-dim); max-width:75ch; padding:0 48px 12px 0; font-size:1rem; }
.membership-page #membership-enquiries .button { margin:14px 0 24px; }
.membership-page #membership-enquiries > .wrap > p:last-child { font-size:.9rem; }
@media(min-width:1000px) {
 #relationship .wrap { display:grid; grid-template-columns:1fr 1fr; column-gap:10%; }
 #relationship .eyebrow { grid-column:1/-1; }
 #relationship h2 { margin-bottom:0; }
 #relationship .wrap > p:not(.eyebrow) { padding-top:8px; }
}
@media(max-width:760px) {
 .membership-hero-grid { grid-template-columns:1fr; gap:0; }
 .membership-hero-copy { padding-bottom:20px; }
 .membership-page .membership-hero h1 { font-size:clamp(2.9rem,9.8vw,4.8rem); max-width:15ch; }
 .membership-key { width:min(82%,390px); justify-self:end; margin:12px 0 42px; }
 .membership-contents { gap:6px 24px; padding-block:16px; }
 .membership-contents a { font-size:.65rem; }
 .membership-priorities,.membership-fees { grid-template-columns:1fr; gap:24px; }
 .membership-priorities h3 { margin-top:16px; }
 .membership-ledger { grid-template-columns:1fr; margin-top:36px; }
 .membership-ledger > div,.membership-ledger > div:first-child { border-left:0; border-bottom:1px solid var(--line-light); padding:24px 0; }
 .membership-ledger > div:last-child { border-bottom:0; }
 .membership-ledger dd { font-size:clamp(2.8rem,11vw,4rem); margin-top:10px; }
 .membership-fees { margin-top:40px; }
 .membership-authority { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
 .membership-faq-list summary { gap:20px; padding-block:22px; }
 .membership-faq-list details p { padding-right:0; }
 .membership-page .button { max-width:100%; font-size:.72rem; padding:15px 20px; gap:10px; }
}
@media(prefers-reduced-motion:reduce) { .membership-page *, .membership-page *::before, .membership-page *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

.membership-conversation{scroll-margin-top:calc(var(--header-h) + 24px);background:var(--bg-panel);}
.membership-conversation .section-head{display:block;max-width:900px;}
.membership-conversation .section-head h2{max-width:18ch;}
.membership-conversation .section-head .lede{max-width:58ch;margin-top:24px;}
.membership-conversation .enquiry-regarding{margin-top:18px;}
.membership-conversation select{max-width:100%;}
.membership-page .header-enquire[aria-current="page"]{border-color:var(--gold);}

/* Editorial membership — the established dark / ivory House palette. */
.membership-page .membership-hero{position:relative;overflow:hidden;min-height:94svh;padding-top:calc(var(--header-h) + 28px);background:var(--black);}
.membership-hero-picture,.membership-hero-picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:67% 50%;}
.membership-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,4,.91),rgba(8,6,4,.58) 40%,rgba(8,6,4,.05) 85%),linear-gradient(0deg,var(--black),transparent 35%);pointer-events:none;}
.membership-hero>.wrap{position:relative;z-index:1;}
.membership-hero .breadcrumb{position:relative;display:flex;gap:12px;}
.membership-page .membership-hero h1{font-size:clamp(3.4rem,6.9vw,7rem);max-width:13ch;margin-bottom:28px;}
.membership-hero-copy{max-width:640px;padding-top:40px;}
.membership-hero-copy .eyebrow{font-size:.67rem;color:#dfc18d;}
.membership-hero-promise{font:clamp(1.45rem,2.3vw,2rem)/1.2 var(--font-display);margin-bottom:20px;}
.membership-page .membership-hero .lede{font-size:1rem;line-height:1.65;max-width:44ch;color:#ddd4c5;}
.membership-hero-note{font-size:.7rem;color:#d6cbb9;margin-top:28px;}
.membership-section{padding-block:clamp(72px,9vw,130px);}
.membership-page #relationship .wrap{display:block;}
.membership-page #relationship h2{max-width:26ch;margin-bottom:46px;}
.membership-relationship-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,92px);align-items:center;}
.membership-relationship-grid figure,.membership-editorial-grid figure,.membership-restorative figure{margin:0;}
.membership-relationship-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.membership-relationship-grid figcaption,.editorial-caption{font-size:.65rem;color:var(--text-dark-dim);margin-top:10px;}
.relationship-points article+article{border-top:1px solid var(--line-dark);padding-top:24px;margin-top:24px;}
.relationship-points h3{font-size:clamp(1.5rem,2.4vw,2.15rem);margin-bottom:14px;}
.relationship-points p{color:var(--text-dark-dim);font-size:.95rem;line-height:1.7;}
.relationship-points .text-link{font-size:.72rem;}
.membership-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px;}
.membership-editorial-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.membership-editorial-grid .eyebrow{font-size:.62rem;margin:24px 0 14px;}
.membership-editorial-grid h3{font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.1;margin-bottom:20px;}
.membership-editorial-grid p:not(.eyebrow){color:var(--text-dark-dim);font-size:.94rem;}
.membership-editorial-grid .text-link{font-size:.72rem;}
.membership-restorative{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;margin-top:72px;}
.membership-restorative img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.membership-restorative h3{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin-bottom:24px;}
.membership-restorative p:not(.eyebrow){color:var(--text-dark-dim);font-size:.94rem;}
.membership-reserve-heading{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.membership-reserve-heading p{color:var(--text-light-dim);max-width:45ch;}
.membership-page .membership-ledger{grid-template-columns:1fr 1fr;border:0;margin-top:28px;}
.membership-page .membership-ledger>div{border:0;border-top:1px solid var(--line-light);padding:28px 0;}
.membership-page .membership-ledger>div:first-child{grid-column:1/-1;border-top:0;border-bottom:1px solid var(--line-light);padding:0 0 36px;}
.membership-page .membership-ledger dd{font-family:var(--font-body);font-size:clamp(2.5rem,5.3vw,5rem);white-space:nowrap;}
.membership-page .membership-ledger>div:first-child dd{font-size:clamp(4rem,9.7vw,9rem);line-height:1.05;margin-top:12px;}
.membership-page .membership-fees{margin-top:16px;margin-bottom:20px;}
.membership-page .membership-fees h3{font-size:1.35rem;margin-bottom:14px;}
.membership-page .membership-fees p{font-size:.9rem;}
.membership-page .membership-allocation-note{font-size:.82rem;line-height:1.7;}
.membership-page #beginning .stage-list{grid-template-columns:repeat(4,minmax(0,1fr));}
.membership-page .membership-questions-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(32px,6vw,90px);}
.membership-page .membership-faq-list{margin-top:0;}
.membership-page .membership-faq-list summary{font-size:.95rem;padding-block:24px;}
.membership-page .membership-faq-list details p{font-size:.9rem;line-height:1.8;}
.membership-conversation{--text-dark:var(--ink);--text-dark-dim:var(--text-light-dim);--line-dark:var(--line-light);--accent:var(--gold-deep);background:var(--paper);color:var(--ink);}
.membership-conversation .letter-form input,.membership-conversation .letter-form textarea,.membership-conversation .letter-form select{color:var(--ink);}
.membership-conversation .enquiry-regarding{color:var(--gold-deep);}
.membership-conversation .button.solid{background:var(--ink);color:var(--bone);}
.membership-conversation .enquiry-contact input:focus,.membership-conversation textarea:focus{outline-color:var(--gold-deep);}
.membership-conversation .enquiry-discretion{color:var(--text-light-dim);}
@media(max-width:760px){.membership-page .membership-hero{min-height:94svh;}.membership-hero-copy{padding-top:24px;padding-bottom:50px;}.membership-page .membership-hero h1{font-size:clamp(3rem,12vw,5rem);}.membership-hero::after{background:linear-gradient(90deg,rgba(8,6,4,.87),rgba(8,6,4,.45)),linear-gradient(0deg,var(--black),transparent 55%);}.membership-relationship-grid,.membership-editorial-grid,.membership-restorative,.membership-page .membership-questions-grid,.membership-reserve-heading{grid-template-columns:1fr;gap:32px;}.membership-editorial-grid{gap:44px;}.membership-editorial-grid img{aspect-ratio:3/2;}.membership-editorial-grid h3{font-size:2.1rem;}.membership-restorative{margin-top:52px;}.membership-page .membership-ledger{grid-template-columns:1fr 1fr;gap:20px;}.membership-page .membership-ledger>div:first-child{padding-bottom:24px;}.membership-page .membership-ledger dd{font-size:clamp(1.8rem,7vw,3.2rem);}.membership-page .membership-ledger>div:first-child dd{font-size:clamp(3.5rem,15vw,5.5rem);}.membership-page .membership-ledger dt{font-size:.6rem;letter-spacing:.06em;}.membership-page #beginning .stage-list{grid-template-columns:1fr 1fr;}.membership-fees{gap:16px;}.membership-reserve-heading h2{margin-bottom:0;}.membership-hero-note{font-size:.65rem;}.membership-page .membership-faq-list summary{min-height:58px;}}
.membership-section h2{font-size:clamp(2.3rem,4.6vw,4.3rem);line-height:1.06;}

/* Use the House ink gold for small labels on the ivory reserve section. */
.membership-section.light .eyebrow { color:var(--accent-ink); }

/* Membership follows the shared hierarchy, including financial figures. */
.membership-page .membership-hero h1{font-size:clamp(2.6rem,5.2vw,5.2rem);line-height:1.12;max-width:15ch}
.membership-hero-promise{font-family:var(--font-body);font-size:clamp(1.05rem,1.4vw,1.25rem);font-weight:400;line-height:1.65}
.membership-section h2{font-size:clamp(1.95rem,3.4vw,3.25rem);line-height:1.16}
.membership-page .membership-hero h1 em,.membership-section h2 em,.membership-section.light h2 em,.membership-page h3 em{color:inherit;font-style:normal}
.relationship-points h3,.membership-editorial-grid h3,.membership-restorative h3,.membership-priorities h3,.membership-fees h3{font-family:var(--font-body);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:500;line-height:1.4;letter-spacing:0}
.membership-page .membership-ledger dd{font-family:var(--font-body);font-weight:400;font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.025em}
.membership-page .membership-ledger>div:first-child dd{font-size:clamp(3.1rem,6.3vw,5.75rem);line-height:1.15}
.membership-page .membership-faq-list summary{font-family:var(--font-body);font-weight:400;font-size:1rem;line-height:1.6}
.membership-index,.membership-authority li::before{font-weight:400}
@media(max-width:760px){.membership-page .membership-hero h1{font-size:clamp(2.35rem,9.2vw,3.6rem)}.membership-page .membership-ledger dd{font-size:clamp(1.6rem,6.5vw,2.35rem)}.membership-page .membership-ledger>div:first-child dd{font-size:clamp(3.1rem,12vw,4.5rem)}}
