:root{--m-navy:#0d1b2a;--m-navy-2:#152a40;--m-gold:#b38b3f;--m-cream:#f7f3ea;--m-border:#ded7c9;--m-text:#405164}
.membership-wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}.membership-hero{background:var(--m-navy);color:#fff;padding:90px 0}.membership-hero-inner{text-align:center;max-width:900px}.membership-eyebrow{display:block;color:#d8b971;text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:600;margin-bottom:20px}.membership-hero h1{font-family:"Playfair Display",serif;font-size:clamp(40px,6vw,68px);font-weight:500;line-height:1.06;margin:0}.membership-hero h1 em{font-weight:400}.membership-hero p{max-width:780px;margin:26px auto 0;color:rgba(255,255,255,.73);font-size:16px;line-height:1.75}
.membership-content{background:var(--m-cream);padding:80px 0 100px}.membership-grid{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:start}.membership-aside{position:sticky;top:24px;background:var(--m-navy);color:#fff;padding:34px}.membership-aside h2,.membership-success h2{font-family:"Playfair Display",serif;font-size:28px;font-weight:500;margin:0 0 18px}.membership-aside p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.72)}.membership-aside ul{list-style:none;padding:22px 0 0;margin:24px 0 0;border-top:1px solid rgba(255,255,255,.15)}.membership-aside li{position:relative;padding:7px 0 7px 18px;color:rgba(255,255,255,.75);font-size:13px}.membership-aside li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--m-gold)}
.membership-form-card{background:#fff;border:1px solid var(--m-border);padding:42px}.membership-form-card form{display:grid;gap:25px}.membership-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.membership-form-card label,.membership-form-card legend{display:block;color:var(--m-navy);font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.membership-form-card label>span,.membership-form-card legend span{color:var(--m-gold)}.membership-form-card small{color:#77828d;font-size:11px;font-weight:400;letter-spacing:0;text-transform:none}
.membership-form-card input[type=text],.membership-form-card input[type=email],.membership-form-card input[type=url],.membership-form-card textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--m-border);border-radius:2px;background:#fff;color:var(--m-navy);font:400 15px "DM Sans",sans-serif;padding:13px 14px;outline:none}.membership-form-card textarea{resize:vertical;min-height:105px}.membership-form-card input:focus,.membership-form-card textarea:focus{border-color:var(--m-gold);box-shadow:0 0 0 2px rgba(179,139,63,.1)}
.membership-form-card fieldset{border:0;padding:0;margin:0}.membership-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.membership-options label{position:relative;text-align:center;border:1px solid var(--m-border);padding:13px 8px;cursor:pointer;font-size:13px;letter-spacing:0;text-transform:none;color:var(--m-text)}.membership-options label:has(input:checked){border-color:var(--m-gold);background:#fbf6e9;color:var(--m-navy);font-weight:600}.membership-options input{position:absolute;opacity:0;pointer-events:none}
.membership-submit{border:0;background:var(--m-gold);color:#fff;min-height:52px;padding:14px 24px;text-transform:uppercase;letter-spacing:.12em;font:600 12px "DM Sans",sans-serif;cursor:pointer}.membership-submit:hover{background:#9c7733}.membership-submit:disabled{opacity:.65;cursor:wait}.membership-submit span{margin-left:8px}.membership-consent{text-align:center;color:#78828b;font-size:11px;margin:0}.membership-message{font-size:13px}.membership-error{padding:12px 14px;background:#fff0f0;border:1px solid #e5baba;color:#8e2626}.membership-success{text-align:center;padding:65px 20px}.membership-check{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;margin:0 auto 22px;background:#f4ead2;color:var(--m-gold);font-size:26px}.membership-success p{max-width:500px;margin:0 auto 25px;color:var(--m-text);line-height:1.7}.membership-success a{color:var(--m-gold);font-weight:600}
@media(max-width:820px){.membership-grid{grid-template-columns:1fr}.membership-aside{position:static}.membership-content{padding-top:40px}.membership-hero{padding:65px 0}.membership-form-card{padding:28px}}
@media(max-width:560px){.membership-two-col,.membership-options{grid-template-columns:1fr}.membership-wrap{width:min(100% - 28px,1120px)}.membership-form-card{padding:22px}}
