.join-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100svh - 90px); background: var(--paper); }
.join-intro { position: relative; display: flex; flex-direction: column; justify-content: end; overflow: hidden; padding: clamp(3rem, 6vw, 7rem); color: white; background: linear-gradient(180deg, rgba(11,25,27,.1), rgba(11,25,27,.8)), url('/assets/campaign-session.jpg') center / cover; }
.join-intro::after { content: ''; position: absolute; inset: 1.5rem; border: 1px solid rgba(255,255,255,.35); pointer-events: none; }
.join-intro > * { position: relative; z-index: 1; max-width: 35rem; }
.join-intro h1 { margin-bottom: 2rem; }
.join-intro > p:not(.eyebrow) { margin: 0 0 1.3rem; font: clamp(1.15rem, 1.5vw, 1.5rem)/1.5 var(--serif); }
.join-intro > .join-fine { font: .8rem/1.6 var(--sans) !important; color: rgba(255,255,255,.75); }
.join-panel { display: grid; place-items: center; padding: clamp(2rem, 6vw, 7rem) clamp(1rem, 4vw, 4rem); }
.join-card { width: min(100%, 38rem); }
.join-card .sib-form { padding: 0 !important; background: none !important; }
.join-card .sib-form-container, .join-card #sib-container { width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; text-align: left !important; }
.join-card #sib-form > div { padding: .4rem 0 !important; }
.join-card #sib-form > div:first-child { padding-bottom: 0 !important; }
.join-card .sib-form-block, .join-card .sib-form-block p, .join-card .entry__label, .join-card .entry__specification, .join-card .sib-form__declaration div { color: var(--ink) !important; background: transparent !important; text-align: left !important; font-family: var(--sans) !important; }
.join-card #sib-form > div:first-child .sib-form-block p { margin: 0 0 .75rem; font: 400 clamp(2.8rem, 4vw, 4.5rem)/.95 var(--serif) !important; letter-spacing: -.05em; }
.join-card #sib-form > div:nth-child(2) .sib-form-block p { margin: 0 0 1.6rem; max-width: 31rem; font: 1.13rem/1.55 var(--serif) !important; }
.join-card .entry__label { display: block; margin-bottom: .7rem; font-size: .69rem !important; font-weight: 700 !important; letter-spacing: .13em; text-transform: uppercase; }
.join-card #EMAIL { display: block; width: 100%; height: 3.6rem; padding: .75rem .9rem; border: 1px solid var(--ink); border-radius: 0; background: rgba(255,255,255,.65); color: var(--ink); font: 1rem var(--sans); }
.join-card #EMAIL:focus-visible { outline: 2px solid var(--brick); outline-offset: 3px; }
.join-card .entry__specification { display: block; margin: .55rem 0 0; color: #555d5a !important; font-size: .73rem !important; }
.join-card .sib-optin { margin: 1.25rem 0 .75rem; }
.join-card .sib-optin .entry__choice label { display: flex; gap: .75rem; align-items: start; font: .85rem/1.5 var(--sans); cursor: pointer; }
.join-card .sib-optin input[type=checkbox] { appearance: auto !important; position: static !important; opacity: 1 !important; width: 1.1rem !important; height: 1.1rem !important; margin: .1rem 0 0; flex: none; accent-color: var(--navy); }
.join-card .sib-optin .checkbox { display: none !important; }
.join-card .sib-optin p { margin: 0; font-size: .86rem; line-height: 1.55; }
.join-card .sib-form__declaration { display: block; margin: 1rem 0 1.5rem; }
.join-card .declaration-block-icon { display: none; }
.join-card .sib-form__declaration p { max-width: 31rem; margin: 0; color: #555d5a; font-size: .72rem; line-height: 1.6; }
.join-card #sib-container a, .join-privacy a { color: inherit !important; text-decoration: underline; text-underline-offset: .2em; }
.join-card .sib-form-block__button { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 3.5rem; border: 1px solid var(--navy) !important; border-radius: 0 !important; background: var(--navy) !important; color: white !important; font: 700 .7rem var(--sans) !important; letter-spacing: .18em; cursor: pointer; }
.join-card .sib-form-block__button:hover { background: var(--ink) !important; }
.join-card .entry__error { color: #8d3024 !important; font-size: .8rem !important; }
.join-card .sib-form-message-panel { max-width: none !important; margin: 0 0 1.2rem !important; border-radius: 0 !important; }
.join-privacy { max-width: 31rem; margin: 1.4rem 0 0; color: #555d5a; font: .73rem/1.6 var(--sans); }
.join-welcome { border-top: 1px solid var(--line); padding-top: 2rem; }
.join-welcome h2 { margin-bottom: 1rem; }
.join-welcome p { font: 1.2rem/1.6 var(--serif); }
.join-welcome a { display: inline-flex; margin-top: 1rem; padding-bottom: .35rem; border-bottom: 1px solid currentColor; font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; }
@media (max-width: 800px) { .join-main { grid-template-columns: 1fr; }.join-intro { min-height: 34rem; padding: 3.5rem 2.2rem; }.join-panel { padding: 3rem 2rem 4rem; } }
@media (max-width: 500px) { .join-intro { min-height: 18rem; padding: 2rem 1.5rem; }.join-intro::after { inset: .75rem; }.join-intro h1 { margin-bottom: 0; font-size: clamp(3.4rem, 15vw, 5rem); }.join-intro > p:not(.eyebrow) { display: none; }.join-panel { padding: 2.2rem 1.15rem 4rem; } }
