:root { --forest:#13251d; --ink:#183029; --cream:#f2ecdf; --paper:#faf7ef; --line:#b7c0af; --gold:#80652e; --serif:"Newsreader",Georgia,serif; --sans:"DM Sans",system-ui,sans-serif; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.6 var(--sans); }
a { color:inherit; text-underline-offset:4px; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.masthead { background:var(--forest); color:var(--cream); }
.masthead .wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { text-decoration:none; text-transform:uppercase; font-size:.8125rem; line-height:1.2; letter-spacing:.15em; font-weight:600; }
.back { font-size:.9375rem; text-decoration:none; }
.join-intro { padding:64px 0 42px; }
.eyebrow { margin:0 0 18px; font-size:.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; }
h1 { font:400 clamp(2.8rem,5.5vw,5rem)/1.06 var(--serif); letter-spacing:-.035em; max-width:950px; margin:0 0 24px; }
h1 em { color:var(--gold); }
.join-intro > p:last-child { max-width:58ch; font-size:1.125rem; }
.join-tabs { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--line); }
.join-tabs a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 28px; text-decoration:none; font-weight:600; }
.join-tabs a + a { border-left:1px solid var(--line); }
.join-tabs a[aria-selected="true"] { background:var(--forest); color:var(--cream); }
.join-panel { padding:48px 0 72px; scroll-margin-top:24px; }
.panel-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
h2 { font:400 clamp(2rem,3.4vw,3.3rem)/1.1 var(--serif); letter-spacing:-.02em; margin:0 0 24px; }
.panel-intro > div:first-child > p:not(.eyebrow) { max-width:42ch; }
.fit-note { border-top:1px solid var(--line); margin-top:32px; padding-top:24px; }
.fit-note h3 { font-size:1rem; margin:0 0 12px; }
.fit-note ul { padding-left:20px; margin:12px 0; }
.fit-note li { margin-block:8px; }
.fit-note p { font-size:.9375rem; color:#465b51; }
.form-intro { margin-top:0; }
fieldset { border:0; padding:0; margin:0; min-width:0; }
label { display:block; font-weight:600; margin:22px 0 8px; }
label span { font-weight:400; color:#55614f; font-size:.875rem; padding-left:6px; }
input,textarea,select { width:100%; min-width:0; border:1px solid #8f9e86; border-radius:0; padding:12px 14px; background:#fffef9; color:var(--ink); }
textarea { resize:vertical; line-height:1.55; }
.form-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field-help { color:#4e6053; font-size:.875rem; margin:6px 0 12px; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:12px; padding:12px 18px; border:1px solid var(--forest); text-decoration:none; font-weight:600; font-size:.9375rem; text-align:center; }
.button.primary { background:var(--forest); color:var(--cream); }
.button.secondary { background:transparent; color:var(--forest); }
form .button { margin-top:26px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 14px; }
.text-button { border:0; background:none; color:var(--ink); text-decoration:underline; text-underline-offset:4px; padding:12px 6px; }
.application-preview { background:#e9eddf; border-top:2px solid #536b46; padding:26px; margin-top:30px; }
.application-preview h3 { font:400 1.9rem/1.2 var(--serif); margin:0 0 20px; }
.application-preview textarea { font-size:.9375rem; }
.status { min-height:1.6em; margin:12px 0; font-size:.9375rem; }
.direct-email { font-size:.9375rem; margin-top:12px; }
.invite-editor > label:first-child { margin-top:0; }
.copy-link { display:flex; gap:10px; align-items:stretch; }
.copy-link input { flex:1; font-size:.9375rem; }
.copy-link .button { flex-shrink:0; }
.link-label { margin-top:30px; font-size:.875rem; }
footer { border-top:1px solid var(--line); padding:28px 0; font-size:.875rem; }
footer .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip { position:fixed; top:-90px; left:16px; padding:12px; background:var(--cream); z-index:10; }
.skip:focus { top:12px; }
:focus-visible { outline:3px solid #b58f32; outline-offset:4px; }
@media(max-width:840px) {
  .panel-intro { grid-template-columns:1fr; gap:30px; }
  .panel-intro > div:first-child > p:not(.eyebrow) { max-width:65ch; }
  .fit-note { margin-top:22px; padding-top:16px; }
  .join-intro { padding-top:44px; }
}
@media(max-width:520px) {
  .join-tabs a { padding:18px 14px; font-size:.9375rem; }
  .join-tabs span { display:none; }
  .form-pair { grid-template-columns:1fr; gap:0; }
  .application-preview { padding:20px 16px; }
  .copy-link { flex-wrap:wrap; }
  .copy-link input { flex-basis:100%; }
  .actions > .button { width:100%; }
  .masthead .wrap { min-height:80px; }
  .join-panel { padding-top:34px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
