/* Waitlist: a full-screen intake, one question per screen. */
dialog.waitlist{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f3f5ed;color:#1f2b22;overflow:hidden;font-family:Plex,Arial,sans-serif}
dialog.waitlist[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
dialog.waitlist::backdrop{background:#f3f5ed}
.waitlist .wl-art{position:absolute;right:-2vw;bottom:-4vh;width:min(48vw,680px);pointer-events:none;opacity:.95}
.waitlist .wl-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.waitlist .wl-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,4vw,48px)}
.waitlist .brand{font-family:Space,Arial,sans-serif;font-size:28px;font-weight:650;letter-spacing:-.075em;color:#1f2b22}
.waitlist .brand span{color:#73a466}
.waitlist .wl-progress{position:absolute;left:0;right:0;top:0;height:3px;background:#dfe5d8}
.waitlist .wl-progress i{display:block;height:100%;width:100%;background:#355d3f;transform:scaleX(var(--wl-progress,0));transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.waitlist .wl-close{width:40px;height:40px;border-radius:50%;border:1px solid #cfd6c8;background:rgba(255,255,255,.6);font-size:22px;line-height:1;color:#1f2b22;padding:0}
.waitlist .wl-close:hover{border-color:#355d3f}
.waitlist .wl-form{position:relative;z-index:1;overflow-y:auto;display:grid;align-content:center;padding:24px clamp(20px,9vw,160px) 40px;-webkit-overflow-scrolling:touch}
.waitlist .wl-screen{width:100%;max-width:620px}
.waitlist .wl-screen.is-in{animation:wl-in .5s cubic-bezier(.2,.8,.2,1) both}
.waitlist .wl-screen.is-in-back{animation:wl-in-back .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes wl-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes wl-in-back{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}
.waitlist .wl-kicker{font:500 12px/1.5 Plex,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#355d3f;margin:0 0 18px}
.waitlist h2{font-family:AmaltasNewsreader,Georgia,serif;font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-.025em;margin:0 0 20px;color:#1f2b22}
.waitlist h3{font-family:AmaltasNewsreader,Georgia,serif;font-weight:400;font-size:clamp(28px,3.2vw,40px);line-height:1.12;letter-spacing:-.02em;margin:0 0 24px;color:#1f2b22}
.waitlist h3 em{font:400 14px/1 Plex,Arial,sans-serif;color:#6b766c;letter-spacing:0;vertical-align:middle;margin-left:6px}
.waitlist .wl-lede{font-size:18px;line-height:1.6;color:#4d5a4f;max-width:500px;margin:0 0 30px}
.waitlist .wl-num{font:500 14px/1 Plex,Arial,sans-serif;color:#355d3f;margin:0 0 12px}
.waitlist .wl-num span{font-size:12px}
.waitlist .wl-sub{margin:-14px 0 20px;font-size:14px;color:#6b766c}
.waitlist .wl-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-bottom:28px}
.waitlist .wl-fields label{display:block;margin:0;font-size:13px;color:#4d5a4f}
.waitlist .wl-fields label.wide{grid-column:1/-1}
.waitlist label em{font-style:normal;color:#8a948b;margin-left:4px}
.waitlist input,.waitlist textarea{display:block;width:100%;margin:6px 0 0;padding:8px 0 10px;border:0;border-bottom:1.5px solid #b9c4b2;border-radius:0;background:transparent;font:400 20px/1.3 Plex,Arial,sans-serif;color:#1f2b22;transition:border-color .2s}
.waitlist textarea{resize:vertical;min-height:110px;margin-bottom:28px;font-size:18px;line-height:1.5}
.waitlist input::placeholder,.waitlist textarea::placeholder{color:#a2aba2}
.waitlist input:focus,.waitlist textarea:focus{outline:none;border-bottom-color:#355d3f}
.waitlist .invalid{border-bottom-color:#b4432f!important}
.waitlist .wl-choices{display:grid;gap:10px;max-width:440px;margin-bottom:28px}
.waitlist .wl-choices button{display:flex;align-items:center;gap:12px;text-align:left;width:100%;min-height:48px;padding:10px 14px;border:1px solid #c6d0bf;border-radius:8px;background:rgba(255,255,255,.72);font:400 17px/1.3 Plex,Arial,sans-serif;color:#1f2b22;transition:border-color .15s,background .15s}
.waitlist .wl-choices button:hover{border-color:#355d3f}
.waitlist .wl-choices button[aria-checked=true],.waitlist .wl-choices button[aria-pressed=true]{border-color:#355d3f;background:#e5ede0}
.waitlist kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border:1px solid #b9c4b2;border-radius:4px;background:#fff;font:500 12px/1 Plex,Arial,sans-serif;color:#355d3f}
.waitlist .wl-choices [aria-checked=true] kbd,.waitlist .wl-choices [aria-pressed=true] kbd{background:#355d3f;border-color:#355d3f;color:#fff}
.waitlist .wl-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.waitlist .wl-next{border:0;border-radius:8px;background:#355d3f;color:#fff;font:500 16px/1 Plex,Arial,sans-serif;padding:14px 22px;min-height:48px;transition:background .15s}
.waitlist .wl-next:hover{background:#264530}
.waitlist .wl-next:disabled{opacity:.6}
.waitlist .wl-hint{font-size:13px;color:#6b766c}
.waitlist .wl-hint kbd{min-width:0;height:auto;padding:2px 5px;margin-left:2px;font-weight:400}
.waitlist .wl-error{min-height:20px;margin:16px 0 0;font-size:14px;color:#b4432f;max-width:620px}
.waitlist .wl-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#355d3f;color:#fff;font-size:24px;margin-bottom:22px}
.waitlist .wl-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.waitlist .wl-links a{border:1px solid #c6d0bf;border-radius:999px;padding:10px 16px;font-size:15px;background:rgba(255,255,255,.72)}
.waitlist .wl-links a:hover{border-color:#355d3f}
.waitlist .wl-foot{position:relative;z-index:2;display:flex;align-items:center;gap:16px;padding:14px clamp(20px,4vw,48px) 20px}
.waitlist .wl-back{width:40px;height:40px;border-radius:8px;border:1px solid #c6d0bf;background:rgba(255,255,255,.72);color:#1f2b22;font-size:16px;padding:0}
.waitlist .wl-back:disabled{visibility:hidden}
.waitlist .wl-privacy{margin:0;font-size:12px;color:#6b766c}
.waitlist .wl-privacy a{text-decoration:underline}
.waitlist .honeypot{display:none}
.waitlist button:focus-visible,.waitlist a:focus-visible{outline:2px solid #355d3f;outline-offset:3px}
@media (max-width:700px){
  .waitlist .wl-art{right:-18vw;bottom:auto;top:56px;width:62vw;opacity:.28}
  .waitlist .wl-form{align-content:start;padding:28px 20px 24px}
  .waitlist .wl-fields{grid-template-columns:1fr;gap:18px}
  .waitlist input{font-size:18px}
  .waitlist .wl-lede{font-size:16px}
  .waitlist .wl-hint{display:none}
  .waitlist .wl-intro .wl-hint{display:inline}
  .waitlist .wl-actions .wl-next{flex:1}
  .waitlist .wl-intro .wl-actions .wl-next{flex:none}
  .waitlist .wl-top{padding:16px 20px}
  .waitlist .wl-foot{padding:10px 20px calc(14px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
  .waitlist .wl-screen.is-in,.waitlist .wl-screen.is-in-back{animation:none}
}
