.membership-section{padding-block:55px 75px}.membership-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:30px;align-items:start}.membership-aside{position:sticky;top:24px;align-self:start;max-height:calc(100dvh - 48px);overflow-y:auto;background:#eeeeee;border:1px solid #eeeeee;padding:35px 29px;border-radius:9px;display:flex;flex-direction:column;gap:55px}.membership-aside h2{font-size:29px;line-height:1.2;color:#34383b}.membership-aside p{font-size:14px;line-height:1.8;margin:20px 0;color:#34383b}.membership-aside ul{list-style:none;padding:0;margin:25px 0 0}.membership-aside li{padding:14px 0;border-bottom:1px solid #dedede;color:#34383b;font-size:14px}.membership-help h3{font-size:18px;line-height:1.4;margin-bottom:15px}.membership-help a{display:block;font-size:14px;margin-top:10px}.membership-help a:first-of-type{font-size:23px;font-weight:700;color:#686b6e}.membership-card{border:1px solid #eeeeee;border-radius:9px;background:#fff;padding:34px 38px;min-width:0;scroll-margin-top:24px}.membership-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 0 26px;padding:0;border-bottom:1px solid #e1e8f0}.membership-steps button{background:none;border:0;border-bottom:3px solid transparent;padding:0 5px 19px;color:#34383b;font-size:14px;display:flex;gap:8px;align-items:center;width:100%;height:100%;text-align:left;line-height:1.3}.membership-steps button span{width:28px;height:28px;background:#edf2f6;color:#34383b;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:14px;font-weight:750}.membership-steps button[aria-current]{border-bottom-color:var(--red);color:var(--navy);font-weight:700}.membership-steps button[aria-current] span{background:var(--red);color:#fff}.membership-steps button.is-complete span{background:#eeeeee;color:#686b6e}.membership-steps button:disabled{cursor:default;color:#686b6e}.membership-demo{padding:12px 16px;background:#f3f7fa;border-radius:5px;font-size:14px;line-height:1.6;margin-bottom:28px;color:#34383b}.step-heading{margin-bottom:27px}.step-heading h2{font-size:29px;outline:none}.step-heading h2:focus-visible,.membership-success h2:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.step-heading p{font-size:14px;margin-top:12px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 22px}.form-field{min-width:0}.form-field.full{grid-column:1/-1}.form-field label{font-size:14px;font-weight:650;display:block;margin-bottom:8px}.form-field label>span{color:var(--red)}.form-field em,.interest-fields em{font-style:normal;font-size:14px;color:var(--muted);font-weight:400}.form-field input,.form-field select,.form-field textarea{min-height:47px;width:100%;border:1px solid #dedede;border-radius:5px;background:#fff;font:inherit;font-size:14px;color:var(--navy);padding:11px 13px}.form-field textarea{resize:vertical;min-height:100px}.form-field input::placeholder,.form-field textarea::placeholder{color:#686b6e;font-size:14px}.form-field :is(input,select,textarea):focus{border-color:#686b6e;outline:2px solid #eeeeee;outline-offset:1px}.field-error{display:block;color:#b92737;font-size:14px;line-height:1.5;margin-top:6px}.field-error:empty{display:none}.form-field [aria-invalid=true]{border-color:#c73344;background:#fffafb}.membership-errors{background:#fff2f3;border:1px solid #f2cdd2;color:#9c2635;padding:13px 16px;border-radius:5px;font-size:14px;margin-bottom:23px}.interest-fields{border:0;padding:0;margin:28px 0 0}.interest-fields legend{font-size:14px;font-weight:650;margin-bottom:13px}.interest-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.interest-fields label{font-size:14px;font-weight:500;flex-direction:row;align-items:center;gap:8px;padding:10px 12px;background:#f7f9fc;border:1px solid #e3eaf0;border-radius:4px}.membership-card input[type=checkbox]{appearance:auto;accent-color:var(--blue);width:17px;height:17px;min-height:17px;flex-shrink:0;margin:0}.password-field{position:relative}.password-field input{padding-right:66px}.password-toggle{border:0;background:transparent;position:absolute;right:4px;top:3px;bottom:3px;padding:0 10px;font-size:14px;font-weight:650;color:var(--blue)}.field-help{font-size:14px;margin:15px 0 0}.form-subtitle{font-size:20px;margin:0 0 22px}.same-address{flex-direction:row;align-items:center;gap:10px;font-size:14px;line-height:1.6;margin-top:26px;padding:16px;background:#edf5fb;border-radius:5px}.membership-card fieldset#shipping-fields{border:0;padding:25px 0 0;margin:25px 0 0;border-top:1px solid #dfe8ee}.membership-card #shipping-fields legend{font-size:20px;font-weight:650;padding-right:15px}.membership-card #shipping-fields>.form-field{margin-bottom:20px}.membership-actions{display:flex;align-items:center;gap:15px;border-top:1px solid #e2e9f0;margin-top:30px;padding-top:23px}.membership-actions .button{font-size:14px;min-height:47px;padding-inline:22px}.membership-actions>span{font-size:14px;color:var(--muted)}.membership-actions .primary{margin-left:auto}.review-block{border:1px solid #dfe8ee;border-radius:6px;padding:20px;margin-bottom:18px}.review-block>div{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.review-block h3{font-size:19px}.review-block button{background:transparent;border:0;color:var(--blue);text-decoration:underline;text-underline-offset:4px;font-size:14px;padding:5px}.review-block dl{margin:0}.review-block dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px;padding:8px 0;font-size:14px;line-height:1.65}.review-block dt{color:var(--muted)}.review-block dd{margin:0;white-space:pre-line;overflow-wrap:anywhere;font-weight:500}.membership-consents{padding-top:10px}.membership-consents label{display:flex;flex-direction:row;align-items:flex-start;gap:11px;font-weight:400;font-size:14px;line-height:1.75;margin-top:16px}.membership-consents input{margin-top:4px!important}.membership-consents a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.membership-success{padding:20px 5px}.success-mark{width:57px;height:57px;background:#eeeeee;color:#686b6e;border-radius:50%;display:grid;place-items:center;font-size:30px;margin-bottom:25px}.membership-success h2{font-size:32px;line-height:1.2;margin-bottom:20px}.membership-success>p{font-size:15px;line-height:1.8}.membership-success ol{padding-left:22px;margin:28px 0}.membership-success li{padding:12px 0 12px 7px;color:var(--blue);font-size:14px}.membership-success li span{display:block;font-size:14px;color:var(--muted);margin-top:4px}.membership-success .success-note{font-size:14px;background:#f1f6fa;padding:15px;border-radius:5px;margin:25px 0}.membership-section [hidden]{display:none!important}
@media(max-width:1100px){.membership-layout{grid-template-columns:260px minmax(0,1fr);gap:22px}.membership-aside{padding:28px 23px}.membership-aside h2{font-size:26px}.membership-card{padding:28px}.membership-steps button{flex-direction:column;align-items:flex-start;gap:9px;font-size:14px}}
@media(max-width:850px){.membership-layout{grid-template-columns:1fr}.membership-aside{display:none}.membership-steps button{flex-direction:row;align-items:center;font-size:14px}.membership-section{padding-block:40px 55px}}
@media(max-width:600px){.membership-card{padding:23px 18px}.membership-steps{gap:6px;margin-bottom:22px}.membership-steps button{flex-direction:column;align-items:flex-start;font-size:14px;gap:9px;padding-bottom:14px;padding-inline:0}.membership-steps button span{width:27px;height:27px;font-size:14px}.membership-demo{font-size:14px;padding:12px;margin-bottom:24px}.step-heading h2{font-size:25px}.step-heading p{font-size:14px}.form-grid{grid-template-columns:1fr;gap:20px}.form-field.full{grid-column:auto}.interest-fields>div{grid-template-columns:1fr}.interest-fields label{min-height:43px;font-size:14px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-field input::placeholder{font-size:14px}.membership-actions{flex-wrap:wrap;gap:12px}.membership-actions .button{font-size:14px;padding-inline:17px}.membership-actions #membership-submit{width:100%;margin-left:0}.membership-actions>span{margin-left:auto}.same-address{font-size:14px}.review-block{padding:16px}.review-block dl>div{grid-template-columns:1fr;gap:2px;padding-block:8px}.review-block h3{font-size:18px}.membership-success h2{font-size:28px}.membership-success .button-row{flex-direction:column}.membership-consents label{font-size:14px}}

/* Readable membership introduction on a light surface. */
.membership-section .membership-aside-premium { padding:0; gap:0; border:1px solid #dce5ea; border-radius:16px; background:#fff; box-shadow:0 12px 32px #1232440a; scrollbar-width:thin; }
.membership-aside-visual { position:relative; height:145px; flex-shrink:0; overflow:hidden; }
.membership-aside-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 45%; }
.membership-aside-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#102d4266,transparent 70%); }
.membership-aside-visual > span { position:absolute; z-index:1; top:22px; left:24px; color:#fff; font-size:16px; font-weight:750; letter-spacing:.08em; }
.membership-section .membership-aside-premium .membership-aside-copy { padding:25px 24px; background:#fff; }
.membership-aside-tag { display:block; color:#007da5; font-size:14px; font-weight:700; margin-bottom:14px; }
.membership-section .membership-aside-premium h2 { color:#203541; font-size:28px; font-weight:750; line-height:1.22; letter-spacing:-.035em; }
.membership-section .membership-aside-copy h2 em { color:#007da5; font-family:Georgia,serif; font-weight:400; }
.membership-aside-premium .membership-aside-copy > p { color:#52636e; font-size:15px; line-height:1.75; margin:18px 0 22px; }
.membership-aside-premium .membership-perks { display:grid; gap:0; margin:0; }
.membership-aside-premium .membership-perks li { display:flex; align-items:center; gap:12px; padding:15px 0; background:transparent; border:0; border-top:1px solid #e5ecef; border-radius:0; color:#314954; font-size:15px; font-weight:500; line-height:1.5; }
.membership-perk-icon { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; color:#007da5; }
.membership-perk-icon svg { width:24px; height:24px; }
.membership-aside-premium .membership-help { padding:24px; margin:0; background:#edf5f8; border-top:1px solid #dce8ed; }
.membership-aside-premium .membership-help h3 { font-size:20px; color:#203541; margin:0; }
.membership-aside-premium .membership-help p { color:#52636e; margin:10px 0 18px; font-size:14px; line-height:1.7; }
.membership-aside-premium .membership-help a { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#007da5; font-size:14px; }
.membership-aside-premium .membership-help a:first-of-type { font-size:22px; color:#203541; font-weight:750; }
.membership-aside-premium a:focus-visible { outline:2px solid #007da5; outline-offset:4px; }
@media (min-width: 851px) and (max-width: 1100px) {
  .membership-aside-copy, .membership-aside-premium .membership-help { padding-inline: 20px; }
  .membership-aside-premium h2 { font-size: 26px; }
  .membership-aside-premium .membership-perks li { padding-inline: 8px; gap: 8px; }
  .membership-aside-premium .membership-help a:first-of-type { font-size: 19px; }
}
.membership-type{border:0;padding:0;margin:0 0 32px;min-width:0}
.membership-type legend{font-size:24px;font-weight:700;color:#34383b;margin-bottom:18px;letter-spacing:-.03em}
.membership-type>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.membership-type label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;border:1px solid #dedede;border-radius:10px;padding:20px;background:#f8fafc;cursor:pointer}
.membership-type label:has(input:checked){border-color:#c9203c;background:#fff3f5;box-shadow:inset 0 0 0 1px #c9203c}
.membership-type input{accent-color:#c9203c;width:18px;height:18px;min-height:18px;flex-shrink:0;margin:4px 0 0}
.membership-type strong{display:block;font-size:17px;font-weight:700;color:#34383b}
.membership-type small{display:block;margin-top:6px;font-size:14px;line-height:1.6;color:#34383b;font-weight:400}
.membership-type label:has(input:focus-visible){outline:2px solid #34383b;outline-offset:4px}
[data-membership-type=individual] .membership-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.membership-type>div{grid-template-columns:1fr;gap:10px}.membership-type label{padding:16px}.membership-type legend{font-size:22px}.membership-type strong{font-size:16px}}
