/* choruscooperative.com — Option A layout ("A quiet welcome") with a contact drawer. */
body{background:var(--paper);display:flex;min-height:100vh;min-height:100svh}
main{margin:auto;padding:64px 24px 88px;text-align:center;display:flex;flex-direction:column;align-items:center}
.lockup{--lockup-w:clamp(220px,34vw,360px)}
h1{font-size:clamp(32px,5vw,60px);line-height:1.1;margin-top:clamp(40px,7vh,72px)}
.hand{color:var(--wine);font-size:clamp(24px,2.8vw,32px);margin:18px 0 0}
.soon{display:flex;align-items:center;gap:16px;color:var(--muted);margin:clamp(36px,6vh,56px) 0 0}
.soon::before,.soon::after{content:"";width:48px;height:1px;background:var(--line)}
footer{position:fixed;bottom:18px;left:0;right:0;text-align:center;font-size:13px;color:var(--muted)}
@media (max-height:700px){footer{position:static;padding-bottom:18px}body{flex-direction:column}}

.pill{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:13px 26px;border:1px solid var(--wine);border-radius:999px;background:transparent;color:var(--wine);font:600 16px/1 Source,system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.pill:hover{background:var(--wine);color:var(--cream)}
.pill:focus-visible,.close:focus-visible,.submit:focus-visible{outline:2px solid var(--wine);outline-offset:3px}

/* Drawer */
[hidden]{display:none!important}
.scrim{position:fixed;inset:0;background:rgba(56,46,48,.35);opacity:0;transition:opacity .2s}
.scrim.is-open{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--cream);box-shadow:-8px 0 30px rgba(56,46,48,.18);transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;display:flex;flex-direction:column;overflow-y:auto;z-index:10}
.drawer.is-open{transform:none;visibility:visible;transition:transform .25s ease,visibility 0s}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 10px}
.drawer h2{font:400 28px/1.2 Gelasio,Georgia,serif;margin:0}
.close{border:0;background:none;font-size:30px;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px}
.contact-form,.thanks{padding:6px 28px 32px;display:flex;flex-direction:column;gap:16px}
.intro{margin:0;color:var(--muted)}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.contact-form input,.contact-form select,.contact-form textarea{font:400 16px/1.4 Source,system-ui,sans-serif;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:11px 12px;width:100%}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form :is(input,select,textarea):focus{outline:2px solid var(--wine);outline-offset:1px;border-color:var(--wine)}
.contact-form [aria-invalid="true"]{border-color:#b3261e}
.trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.submit{align-self:flex-start;padding:13px 30px;border:0;border-radius:999px;background:var(--wine);color:var(--cream);font:600 16px/1 Source,system-ui,sans-serif;cursor:pointer}
.submit[disabled]{opacity:.6;cursor:progress}
.status{margin:0;min-height:1.4em;color:#b3261e;font-size:15px}
.fallback{margin:0;font-size:14px;color:var(--muted)}
.fallback .mail{color:var(--wine)}
.thanks{align-items:flex-start}
.thanks .hand{margin:8px 0 0;font-size:34px}
.thanks p{margin:0}
body.drawer-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.drawer,.scrim{transition:none}}
