:root{color-scheme:light;--paper:#f3f1ea;--ink:#29362d;--line:#b9bdae;--muted:#53604f}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}body{margin:0}header,main,footer{width:min(1120px,100% - 64px);margin-inline:auto}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;border-bottom:1px solid var(--line);font-size:.875rem}.brand{font-size:1.25rem;letter-spacing:-.04em;color:inherit;text-decoration:none}main{padding-block:78px 88px}.intro{max-width:720px}.eyebrow{font-size:.875rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px}h1{font-size:clamp(3.3rem,6.6vw,5.4rem);font-weight:400;letter-spacing:-.065em;line-height:1.02;margin:0 0 26px}.description{font-size:1.125rem;line-height:1.6;max-width:36ch;margin:0 0 22px}.invitation{font-size:1rem;line-height:1.7;max-width:53ch;margin:0 0 32px}.signup{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:15px 26px;background:var(--ink);color:var(--paper);font:inherit;line-height:1.5;text-decoration:none;border:1px solid var(--ink)}.signup:not(:disabled):hover{background:#40503c}.signup:disabled{opacity:.55;cursor:not-allowed}.signup:focus-visible,.brand:focus-visible{outline:3px solid #91733e;outline-offset:5px}.hint{color:var(--muted);font-size:.875rem;margin:12px 0 0;line-height:1.5}footer{display:flex;justify-content:space-between;gap:20px;padding-block:24px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted);line-height:1.5}@media(max-width:700px){header,main,footer{width:calc(100% - 40px)}header{padding-block:22px;gap:12px}main{padding-block:42px 50px}h1{font-size:clamp(3.2rem,15vw,5rem)}.signup{width:100%;max-width:390px}.hint{max-width:390px;text-align:center}footer{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:no-preference){.signup{transition:background .15s ease}}

main{display:grid;grid-template-columns:1fr 1fr;gap:70px}.signup-panel{min-width:0}h2{font-size:1.6rem;font-weight:400;margin:0 0 20px}form fieldset{border:0;padding:0;margin:0}.field{display:block;font-size:1rem;margin-bottom:18px}.field input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink);border-radius:0}.session-group legend{font-size:1rem;margin-bottom:12px}.session,.choice{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.5}.session{padding:16px 0;border-bottom:1px solid var(--line)}.session:first-child{border-top:1px solid var(--line)}.session strong,.session span span{display:block}.session strong{font-weight:400}.session span span{font-size:.875rem;color:var(--muted);margin-top:4px}input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:2px 0;accent-color:var(--ink)}.choice{margin:22px 0}.choice span{font-size:.875rem}.signup-panel .signup{width:100%;cursor:pointer}.reload{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--ink);padding:14px 0;font:inherit;cursor:pointer}#status{font-size:1rem;line-height:1.6;margin:0 0 24px}#status.error{color:#8a2d22}.sr-only,.trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input:focus-visible,button:focus-visible{outline:3px solid #91733e;outline-offset:3px}@media(max-width:800px){main{grid-template-columns:1fr;gap:40px}.intro{max-width:600px}.signup-panel .signup{max-width:none}.description{margin-bottom:16px}.invitation{margin-bottom:0}}

#status,.session span,.choice span{overflow-wrap:anywhere}

.preference-note{font-size:.875rem;line-height:1.6;color:var(--muted);margin:0 0 24px}.preference-note a{color:inherit}
