@font-face{font-family:Iowan Old Style;src:url(/static/assets/iowan-old-style-bold-CaPWh6dH.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TT Interfaces;src:url(/static/assets/tt-interfaces-regular-D5w_Qv1z.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f3efe7;--bg-deep:#ebe6dc;--ink:#110f0e;--muted:#5f5a54;--card:#faf8f3;--line:#d8d2c6;--accent:#110f0e;--ok:#2f6b4f;--error:#9f2d2d;--serif:"Iowan Old Style", Georgia, serif;--sans:"TT Interfaces", system-ui, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100dvh;margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.logo:hover,.btn:hover{text-decoration:none}button,input{font:inherit}button:disabled{cursor:not-allowed}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.container{width:min(1100px,100% - 32px);margin:0 auto}.site-header{padding:28px 0 8px}.header-inner{justify-content:center;align-items:center;display:flex}.logo{align-items:center;display:flex}.logo-img{width:auto;height:40px;display:block}main.container{flex:1;padding:32px 0 72px}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:24px 0 32px;font-size:.85rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.footer-social{gap:16px;display:flex}.footer-social a{color:var(--muted);letter-spacing:.06em}.footer-social a:hover{color:var(--ink)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{text-align:center;flex-direction:column;align-items:center;margin-bottom:40px;display:flex}.hero-mark-slot{place-items:center;width:34px;height:50px;margin-top:28px;display:grid}.hero-mark{transform-origin:50%;width:50px;height:34px;display:block;transform:rotate(90deg)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 10px;font-size:.72rem;font-weight:400}h1,h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-weight:700;line-height:1.15}h1{max-width:16em;font-size:clamp(2rem,4vw,3rem)}.lead{max-width:46ch;color:var(--muted);margin:0;font-size:1rem}.banner{background:var(--card);border:1px solid var(--line);margin-bottom:16px;padding:14px 16px}.banner-warn{color:var(--ink)}.banner-error{border-color:var(--error);color:var(--error)}.banner-dismissible{justify-content:space-between;align-items:center;gap:12px;display:flex}.banner-close{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:1.35rem;line-height:1}.meeting-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.meeting-card,.empty-card,.success-card,.state-card{background:var(--card);border:1px solid var(--line);padding:22px}.state-card{text-align:center;width:min(520px,100%);margin:0 auto 28px}.schedule-note{text-align:center;width:min(460px,100%);margin:8px auto 48px}.schedule-note-title{font-family:var(--serif);margin:0 0 12px;font-size:1.35rem;line-height:1.25}.schedule-note p:last-child{color:var(--muted);margin:0}.state-card h2,.how-it-works h2,.archive h2,.success-card h1{text-align:center}.state-card p{color:var(--muted);max-width:42ch;margin:0 auto 20px}.state-card p:last-child{margin-bottom:0}.state-card .btn{width:auto;min-width:11rem;padding-inline:28px}.state-page{place-items:center;min-height:50vh;display:grid}.state-page .state-card{width:min(560px,100%)}.meeting-card-top{justify-content:space-between;gap:10px;margin-bottom:16px;display:flex}.group-pill,.seats-pill{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);align-items:center;padding:5px 9px;font-size:.72rem;display:inline-flex}.seats-pill.ok{border-color:var(--ink)}.seats-pill.warn{background:var(--ink);border-color:var(--ink);color:var(--bg)}.seats-pill.full{color:var(--muted)}.meeting-card h2{text-align:left;min-height:2.6em;font-size:1.35rem}.meta{gap:12px;margin:18px 0;display:grid}.meta div{gap:2px;display:grid}.meta dt{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem}.meta dd{margin:0}.time-note{color:var(--muted);font-size:.85rem}.btn{border:1px solid var(--ink);cursor:pointer;letter-spacing:.14em;text-transform:uppercase;justify-content:center;align-items:center;width:100%;padding:13px 16px;font-size:.78rem;transition:all .15s;display:inline-flex}.btn.primary{background:var(--ink);color:var(--bg)}.btn.primary:hover{background:#3a3633}.btn.primary:disabled,.modal-close:disabled{opacity:.7;cursor:wait}.btn.secondary{color:var(--ink);background:0 0}.btn.secondary:hover{background:var(--ink);color:var(--bg)}.waitlist p{color:var(--muted);margin:0 0 12px}.modal-backdrop{z-index:20;background:#110f0e73;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);width:min(440px,100%);max-height:min(90vh,90dvh);padding:28px;position:relative;overflow:auto}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:1.5rem;position:absolute;top:14px;right:14px}.modal-book{color:var(--muted);margin:0 0 8px}.modal-meta{margin:0 0 18px}.booking-form{gap:14px;display:grid}.booking-form label{letter-spacing:.1em;text-transform:uppercase;gap:6px;font-size:.78rem;display:grid}.booking-form input{border:1px solid var(--line);letter-spacing:0;text-transform:none;background:#fff;padding:12px 14px;font-size:1rem}.form-error{color:var(--error);margin:0;font-size:.92rem}.hint{color:var(--muted);margin:0;font-size:.9rem}.success-page{place-items:center;min-height:60vh;display:grid}.success-card{width:min(560px,100%)}.success-card h1{max-width:none}.success-meta{background:var(--bg);border:1px solid var(--line);margin:24px 0;padding:18px}.success-actions{gap:10px;margin-top:18px;display:grid}.how-it-works,.archive{margin-top:48px}.how-it-works h2,.archive h2{font-size:1.6rem}.how-rules{margin:18px 0 0;font-size:.9rem}.how-rules a{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.how-rules a:hover{color:var(--muted);text-decoration:none}.how-rules-arrow{flex:none;width:16px;height:16px}.steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.steps li{background:var(--card);border:1px solid var(--line);gap:10px;padding:18px;display:grid}.steps strong{font-family:var(--serif);letter-spacing:.03em;text-transform:uppercase;font-weight:700}.steps p{color:var(--muted);margin:6px 0 0;font-size:.95rem}.step-num{font-family:var(--serif);letter-spacing:.06em;color:var(--muted);font-size:1.1rem}.archive-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.archive-list li{background:var(--card);border:1px solid var(--line);grid-template-columns:minmax(90px,auto) 1fr auto;align-items:baseline;gap:12px;padding:12px 16px;display:grid}.archive-group{letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}.archive-month{color:var(--muted);text-transform:lowercase}.skeleton-card{min-height:240px}.skeleton{background:linear-gradient(90deg, var(--bg-deep) 0%, var(--card) 50%, var(--bg-deep) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-line{height:16px;margin-bottom:12px}.skeleton-line.short{width:40%}.skeleton-line.medium{width:70%}.skeleton-block{height:72px;margin-top:18px}.spinner{border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:.8s linear infinite spin}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.skeleton,.spinner,.btn{transition:none;animation:none}.spinner{border-top-color:var(--line)}}@media (width<=640px){.logo-img{height:32px}.footer-inner{flex-direction:column;align-items:flex-start}h1{max-width:none}.meeting-card h2{min-height:0}.archive-list li{grid-template-columns:1fr;gap:4px}}
