.adhesion-main { padding-block: 2rem 3rem; }
.adhesion-heading { margin-bottom: 1.5rem; }
.adhesion-heading h1 { font-size: clamp(1.8rem, 4vw, 2.75rem); margin: 0; }
.adhesion-heading > p:last-child { color: var(--text-soft); margin-top: .5rem; }
.adhesion-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.5rem; align-items: start; }
.adhesion-form { display: grid; gap: 1.35rem; }
.adhesion-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.adhesion-form legend { font-size: 1rem; font-weight: 800; margin-bottom: .8rem; }
.adhesion-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem 1rem; }
.adhesion-wide { grid-column: 1/-1; }
.adhesion-fields label { display: block; font-size: .82rem; color: var(--text-soft); }
.adhesion-fields label > span { color: var(--accent); }
.adhesion-fields input { display: block; margin-top: .35rem; width: 100%; border: 1px solid var(--surface-border); background: #fff; border-radius: 12px; min-height: 42px; padding: .65rem .8rem; }
.adhesion-fields input + small { display: block; margin-top: .3rem; }
.adhesion-fields input::placeholder { color: #bdb7b0; font-weight: 400; opacity: 1; }
.adhesion-fields small, .adhesion-help { font-size: .73rem; color: var(--text-soft); line-height: 1.6; }
.adhesion-choice { display: flex; align-items: flex-start; gap: .65rem; font-size: .83rem; cursor: pointer; }
.adhesion-choice input { flex-shrink: 0; width: 17px; height: 17px; margin-top: .2rem; accent-color: var(--accent-strong); }
.membership-choice { border: 1px solid #dacebd; border-radius: 10px; background: #f7f3ec; padding: 1rem; }
.membership-choice strong { display: block; margin-top: .4rem; color: var(--accent-strong); }
.consent-fieldset { border-top: 1px solid var(--surface-border) !important; padding-top: .9rem !important; }
.consent-fieldset p { font-size: .83rem; margin: 0 0 .65rem; color: var(--text-soft); line-height: 1.6; }
.consent-options { display: flex; gap: 2rem; }
.adhesion-summary { border-radius: 18px; padding: 1.5rem; background: #493c30; color: #fffaf2; }
.adhesion-summary .eyebrow { color: #cfbca5; }
.adhesion-summary h2 { color: inherit; font-size: 3rem; margin: .6rem 0 1rem; }
.adhesion-summary h2 small { display: block; font-size: .75rem; font-weight: 500; color: #d5c6b5; line-height: 1.6; letter-spacing: normal; margin-top: .5rem; }
.adhesion-summary p, .adhesion-summary li { font-size: .8rem; line-height: 1.7; }
.adhesion-summary ul { padding-left: 1.1rem; }
.adhesion-summary a { display: inline-block; border-bottom: 1px solid #a9947f; font-size: .75rem; margin-top: .5rem; }
.adhesion-sidebar { display: grid; gap: 1.25rem; }
.adhesion-privacy { padding: 0 .35rem; }
.adhesion-privacy h2 { font-size: .9rem; }
.adhesion-privacy p, .adhesion-privacy a { font-size: .73rem; color: var(--text-soft); line-height: 1.7; }
.adhesion-privacy a { text-decoration: underline; }
.newsletter-details summary { font-size: .82rem; font-weight: 700; cursor: pointer; }
.newsletter-details form { margin-top: 1rem; }
.adhesion-honeypot { position: absolute; left: -10000px; }
@media(max-width: 850px) { .adhesion-layout { grid-template-columns: 1fr; } .adhesion-sidebar { grid-template-columns: 1fr 1fr; } }
@media(max-width: 550px) { .adhesion-fields, .adhesion-sidebar { grid-template-columns: 1fr; } .adhesion-wide { grid-column: auto; } .adhesion-main { padding-top: 1rem; } }
