:root{
  --paper:#f6faf9;--ink:#123e49;--secondary:#42616a;--teal:#226675;
  --orange:#ffb326;--orange-hover:#ffc455;--field-border:#7b949b;
  --display:"Cooper Black",Georgia,serif;--body:"Segoe UI",Arial,sans-serif;
  --surface-shadow:0 18px 50px #00000033;--ease-out:cubic-bezier(.23,1,.32,1);
  font-size:100%;color-scheme:light;
}
*{box-sizing:border-box}
html{scrollbar-color:var(--teal) var(--paper)}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;padding:36px 24px;background:var(--ink);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.5}
::selection{background:var(--orange);color:var(--ink)}
p,h1{margin:0}
h1{font-family:var(--display);font-weight:400;letter-spacing:-.025em;font-size:2rem;line-height:1.2;text-wrap:balance}
a{color:var(--ink);text-underline-offset:4px}
a:focus-visible,input:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.landing{width:100%;max-width:500px;margin:auto;padding:42px 40px 26px;background:var(--paper);border-radius:16px;box-shadow:var(--surface-shadow);text-align:center}
.logo{display:block;width:100%;height:auto;margin:0 auto;max-width:420px}
.introduction{margin:24px auto 0;max-width:35ch;font-size:1.0625rem;line-height:1.5;text-wrap:pretty}
.invitation{margin-top:28px}
.selection-note{margin:12px auto 0;color:var(--secondary);font-size:.8125rem;line-height:1.5}
form{text-align:left}
button,input{font:inherit;-webkit-tap-highlight-color:transparent}
button,.primary-link{display:flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 20px;border:0;border-radius:9px;background:var(--orange);color:var(--ink);font-size:1rem;line-height:1.5;font-weight:700;cursor:pointer;transition:background-color 150ms ease,transform 140ms var(--ease-out),box-shadow 140ms var(--ease-out)}
button{width:100%}
.primary-link{text-decoration:none;box-shadow:inset 0 2px 0 #ffffff65,0 3px 6px #9a5f1926}
button svg,.primary-link svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
button:active,.primary-link:active{transform:translateY(1px)}
button:focus-visible,.primary-link:focus-visible{transition:none;transform:none}
.social-links{display:flex;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid #c8d7d6}
.social-links a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;flex:1;min-width:0;min-height:70px;border-radius:9px;background:#e4efee;color:var(--ink);font-size:.8125rem;font-weight:600;text-decoration:none;transition:background-color 150ms ease,transform 140ms var(--ease-out)}
.social-links svg{display:block;fill:currentColor;flex-shrink:0}
.social-links a:active{transform:translateY(1px)}
.social-links a:focus-visible{transform:none;transition:none}
.home-note{font-size:.75rem;line-height:1.5;color:var(--secondary);margin-top:14px}
input::placeholder{color:#617980;opacity:1}
.news-label{display:flex;align-items:center;gap:12px;min-height:44px;margin:10px 0 12px;font-size:.875rem;line-height:1.4;cursor:pointer}
.news-label input{width:21px;height:21px;margin:0;flex-shrink:0;accent-color:var(--ink);cursor:pointer}
.optional{color:var(--secondary)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:hover) and (pointer:fine){button:hover,.primary-link:hover{background:var(--orange-hover)}.social-links a:hover{background:#d3e7e5}}
@media(max-width:600px){body{padding:16px}.landing{max-width:390px;padding:30px 24px 22px}.introduction{margin-top:20px;font-size:1rem}.invitation{margin-top:22px}.social-links{margin-top:22px;padding-top:18px;gap:8px}}
@media(max-height:620px) and (max-width:600px){body{padding:12px}.landing{padding:24px 20px 18px}.logo{max-width:220px}.introduction{margin-top:16px}.invitation{margin-top:18px}.selection-note{margin-top:9px}.social-links{margin-top:18px;padding-top:16px}.social-links a{min-height:64px;gap:6px}.home-note{margin-top:12px}}
@media(prefers-reduced-motion:reduce){button,.primary-link,.social-links a{transition:none}button:active,.primary-link:active,.social-links a:active{transform:none}}
