.membership-section{background:linear-gradient(145deg,#15130f,#272016);color:#fff;overflow:hidden}
.membership-hero{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center}
.membership-hero h2,.booking-heading h2{font:700 clamp(42px,5vw,64px)/1.04 'Playfair Display',serif;margin:0 0 20px}
.membership-hero>div>p{color:#d7cdbf;font-size:17px;max-width:620px}
.membership-price{display:flex;align-items:center;gap:18px;margin:30px 0}
.membership-price strong{font:700 54px/1 'Playfair Display',serif;color:#e5c98e;font-variant-numeric:tabular-nums}
.membership-price span{color:#d7cdbf;font-size:13px;line-height:1.45}
.membership-benefits{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.membership-benefits article{padding:25px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.06)}
.membership-benefits span{color:#e5c98e;font-size:12px;letter-spacing:.18em}
.membership-benefits h3{font:700 22px/1.15 'Playfair Display',serif;margin:24px 0 8px}
.membership-benefits p{color:#cbbfaf;font-size:14px;margin:0}
.membership-tiers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.membership-tiers article{padding:25px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.06)}
.membership-tiers span{color:#e5c98e;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.membership-tiers h3{font:700 27px/1.15 'Playfair Display',serif;margin:20px 0 8px}
.membership-tiers p{color:#cbbfaf;font-size:14px;margin:0}
.membership-fineprint{color:#aea190;font-size:12px;margin:36px 0 0;max-width:1020px}
.member-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.member-center-section{background:#fff}
.member-center-heading p{max-width:760px;color:#6f685e}
.member-access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:38px}
.member-access-card{display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:30px;border:1px solid rgba(20,19,17,.1);border-radius:22px;background:#fbf9f5;box-shadow:0 10px 30px rgba(16,13,10,.05)}
.member-access-card.portal-card{background:linear-gradient(145deg,#171511,#2a2319);color:#fff}
.member-card-number{color:#8b7143;font-size:12px;font-weight:800;letter-spacing:.16em}
.portal-card .member-card-number{color:#e5c98e}
.member-access-card h3{font:700 26px/1.15 'Playfair Display',serif;margin:30px 0 10px}
.member-access-card p{color:#6f685e;margin:0 0 24px}
.portal-card p{color:#d7ccbd}
.member-access-card .btn,.member-access-card .text-link{margin-top:auto}
.member-service-shell{max-width:1040px;margin:0 auto}
.careers-preview-section{background:#fff}
.career-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.career-preview-grid article{padding:30px;border:1px solid rgba(20,19,17,.1);border-radius:22px;background:#fbf9f5}
.career-preview-grid span{color:#8b7143;font-size:12px;font-weight:800;letter-spacing:.16em}
.career-preview-grid h3{font:700 26px/1.15 'Playfair Display',serif;margin:28px 0 10px}
.career-preview-grid p{color:#6f685e;margin:0}
.centered-action{text-align:center;margin-top:30px}
.member-request-panel{padding:18px;border:1px solid rgba(20,19,17,.1);border-radius:18px;background:#fbf9f5}
.member-request-panel[hidden]{display:none}
.request-review{margin:10px 0 22px;padding:20px;border-radius:16px;background:#f4efe7;color:#4d473e;white-space:pre-line}
.booking-section{background:#f7f2ea}
.booking-layout{max-width:1040px}
.booking-heading{text-align:center;margin:0 auto 42px;max-width:840px}
.booking-heading p{color:#6f685e;font-size:17px}
.booking-mode-tabs{display:inline-grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border:1px solid rgba(20,19,17,.12);border-radius:999px;background:#fff;margin-top:22px}
.mode-tab{min-height:48px;padding:10px 24px;border:0;border-radius:999px;background:transparent;color:#5f584e;font:700 14px/1.2 'Inter',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.mode-tab.active{background:#141311;color:#fff}
.mode-tab:focus-visible{outline:3px solid #b89a63;outline-offset:3px}
.booking-shell{background:#fff;border:1px solid rgba(20,19,17,.1);border-radius:28px;box-shadow:0 28px 70px rgba(23,20,17,.12);overflow:hidden}
.booking-shell[hidden]{display:none}
.booking-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;padding:25px 34px;border-bottom:1px solid rgba(20,19,17,.09);background:#fbf9f5}
.booking-progress span{display:grid;grid-template-columns:30px auto;align-items:center;gap:9px;color:#7a7369;font-size:13px;font-weight:800}
.booking-progress span::first-line{font-variant-numeric:tabular-nums}
.booking-progress span small{font-size:12px;font-weight:700}
.booking-progress span.active{color:#141311}
.booking-progress span{counter-increment:none}
.booking-progress i{height:1px;background:#dcd3c5;margin:0 12px}
.booking-step{border:0;margin:0;padding:40px}
.booking-step[hidden]{display:none}
.booking-step>legend{display:block;width:100%;padding:0;font:700 34px/1.15 'Playfair Display',serif;color:#141311}
.booking-step>p{color:#6f685e;margin:8px 0 26px}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.booking-grid>label,.service-detail-fields label{display:flex;flex-direction:column;gap:7px;color:#27231d;font-size:13px;font-weight:750}
.booking-grid .wide,.service-detail-fields .wide{grid-column:1/-1}
.booking-grid input,.booking-grid select,.booking-grid textarea,.service-detail-fields input,.service-detail-fields select,.service-detail-fields textarea{width:100%;min-height:50px;border:1px solid rgba(20,19,17,.2);border-radius:12px;background:#fff;padding:12px 14px;color:#141311;font:500 16px/1.4 'Inter',sans-serif}
.booking-grid textarea,.service-detail-fields textarea{min-height:110px;resize:vertical}
.booking-grid input:hover,.booking-grid select:hover,.booking-grid textarea:hover,.service-detail-fields input:hover,.service-detail-fields select:hover{border-color:rgba(20,19,17,.42)}
.booking-grid input:focus-visible,.booking-grid select:focus-visible,.booking-grid textarea:focus-visible,.service-detail-fields input:focus-visible,.service-detail-fields select:focus-visible,.service-detail-fields textarea:focus-visible{outline:3px solid #d8b56f;outline-offset:2px;border-color:#8b7143}
.booking-grid input:user-invalid,.booking-grid select:user-invalid{border-color:#a12a20}
.booking-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}
.booking-actions .btn{min-height:48px}
.detail-and-price{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.72fr);gap:24px;align-items:start}
.service-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.service-detail-fields h4{grid-column:1/-1;font:700 22px/1.2 'Playfair Display',serif;margin:6px 0 0}
.helper{color:#746d63;font-size:12px;font-weight:500;margin:0}
.backup-path{margin-top:14px!important;font-size:13px!important;color:#6f685e!important}.backup-path a{color:#76531d;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.extras-block{border:1px solid rgba(20,19,17,.12);border-radius:16px;padding:18px;background:#fbf9f5}
.extras-block>span{display:block;font-weight:800;font-size:14px;margin-bottom:13px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-grid label{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;font-size:13px;font-weight:600;color:#4e493f;cursor:pointer}
.check-grid input{width:18px;height:18px;min-height:auto;padding:0;margin:2px 0 0;accent-color:#8b7143}
.live-price{position:sticky;top:116px;border-radius:20px;padding:24px;background:#171511;color:#fff;box-shadow:0 18px 42px rgba(20,17,12,.16)}
.live-price>span,.membership-estimate>span{color:#d5bf96;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}
.live-price>strong,.membership-estimate>strong{display:block;margin:10px 0;font:700 42px/1 'Playfair Display',serif;font-variant-numeric:tabular-nums}
.live-price>p{color:#ddd3c4;font-size:13px}
.live-price ul{list-style:none;margin:18px 0;padding:18px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.live-price li{display:flex;justify-content:space-between;gap:12px;color:#d7ccbd;font-size:12px;margin:7px 0}
.live-price li span:last-child{font-variant-numeric:tabular-nums;color:#fff}
.live-price small{color:#a99f91;font-size:11px}
.fulfillment-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
.fulfillment-options label{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:18px;border:1px solid rgba(20,19,17,.14);border-radius:15px;cursor:pointer}
.fulfillment-options input{width:18px;height:18px;margin:2px 0 0;accent-color:#141311}
.fulfillment-options span{display:flex;flex-direction:column;gap:5px}
.fulfillment-options small{color:#6f685e;line-height:1.45}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#5f584e;font-size:12px;line-height:1.55;margin:20px 0}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:#141311}
.consent a{text-decoration:underline;color:#141311}
.checkout-summary{padding:16px 18px;border-radius:14px;background:#f4efe7;color:#4d473e;font-size:13px;font-weight:650;margin-top:18px}
.form-error{display:none;margin-top:16px;padding:13px 15px;border-radius:12px;background:#fff0ee;color:#8d2117;font-size:14px;font-weight:700}
.form-error.show{display:block}
.membership-estimate{margin:22px 0 0;padding:20px 22px;border-radius:16px;background:#171511;color:#fff}
.membership-estimate>strong{font-size:34px}
.membership-estimate>p{color:#d7ccbd;margin:0;font-size:13px}
.booking-success{text-align:center;padding:60px 28px}
.booking-success[hidden]{display:none}
.booking-success>span{display:inline-flex;width:60px;height:60px;align-items:center;justify-content:center;border-radius:50%;background:#e8f4e7;color:#216b2b;font-size:28px;font-weight:800}
.booking-success h3{font:700 38px/1.1 'Playfair Display',serif;margin:18px 0 10px}
.booking-success p{max-width:620px;margin:0 auto 24px;color:#6f685e}
.payment-return{margin:0 auto 28px;max-width:1040px;padding:18px 22px;border-radius:16px;background:#e8f4e7;color:#1f5f27;border:1px solid #c4dfc4;font-weight:700}
.payment-return[hidden]{display:none}
.support-section{background:#fff}
.support-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.support-copy{position:sticky;top:116px}.support-copy h2{font:700 clamp(40px,5vw,62px)/1.03 'Playfair Display',serif;margin:16px 0 20px}.support-copy>p{color:#6f685e;font-size:17px}
.support-promises{display:grid;gap:14px;margin-top:32px}.support-promises div{display:grid;gap:5px;padding:18px 20px;border-left:3px solid #b89a63;background:#f7f2ea}.support-promises span{color:#6f685e;font-size:13px}.support-promises a{color:#141311;font-weight:800}
.support-card{padding:34px;border:1px solid rgba(20,19,17,.1);border-radius:26px;background:#fbf9f5;box-shadow:0 22px 60px rgba(23,20,17,.1)}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.support-grid label{display:flex;flex-direction:column;gap:7px;color:#27231d;font-size:13px;font-weight:750}.support-grid .wide{grid-column:1/-1}.support-grid input,.support-grid select,.support-grid textarea{width:100%;min-height:50px;border:1px solid rgba(20,19,17,.2);border-radius:12px;background:#fff;padding:12px 14px;color:#141311;font:500 16px/1.4 'Inter',sans-serif}.support-grid textarea{min-height:130px;resize:vertical}.support-grid input:focus-visible,.support-grid select:focus-visible,.support-grid textarea:focus-visible{outline:3px solid #d8b56f;outline-offset:2px;border-color:#8b7143}
.support-success{text-align:center;padding:56px 20px}.support-success[hidden]{display:none}.support-success h3{font:700 36px/1.1 'Playfair Display',serif;margin:18px 0 10px}.support-success p{color:#6f685e;margin:0 auto 24px;max-width:520px}.support-success [data-ticket-number]{color:#141311;font-variant-numeric:tabular-nums}
@media(max-width:900px){.membership-hero,.detail-and-price{grid-template-columns:1fr}.live-price{position:static}.membership-benefits,.membership-tiers{grid-template-columns:1fr 1fr}.member-access-grid,.career-preview-grid{grid-template-columns:1fr}}
@media(max-width:900px){.support-layout{grid-template-columns:1fr}.support-copy{position:static}}
@media(max-width:680px){.membership-benefits,.booking-grid,.service-detail-fields,.check-grid,.fulfillment-options{grid-template-columns:1fr}.booking-grid .wide,.service-detail-fields .wide{grid-column:auto}.booking-progress{padding:20px 16px}.booking-progress span{grid-template-columns:30px}.booking-progress small{display:none}.booking-step{padding:28px 20px}.booking-step>legend{font-size:29px}.booking-actions{flex-direction:column-reverse}.booking-actions .btn{width:100%}.booking-mode-tabs{display:grid;width:100%}.mode-tab{padding:10px 14px}.membership-price{align-items:flex-start;flex-direction:column;gap:8px}.member-hero-actions{flex-direction:column}.member-hero-actions .btn{width:100%}.member-access-card{min-height:0}}
@media(max-width:680px){.support-card{padding:24px 18px}.support-grid{grid-template-columns:1fr}.support-grid .wide{grid-column:auto}}
@media(max-width:680px){.membership-tiers{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mode-tab{transition:none}}
