/* Public form styles are deliberately scoped away from organizer pages. */
.meetup-page { --ink:#243c50; --muted:#566670; --paper:#f7f5ef; --line:#dddcd4; --peach:#f2d4c2; margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
.meetup-page *, .meetup-page *::before, .meetup-page *::after { box-sizing:border-box; }
.meetup-page [hidden] { display:none!important; }
.meetup-page .page-width { width:min(100% - 80px,1040px); margin-inline:auto; }
.meetup-page .site-header { min-height:108px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); gap:20px; }
.meetup-page .wordmark { display:inline-flex; align-items:center; gap:13px; font-size:12px; font-weight:750; letter-spacing:2px; text-decoration:none; color:var(--ink); min-height:44px; }
.meetup-page .brand-mark { position:relative; display:block; width:35px; height:30px; }
.meetup-page .brand-mark i { position:absolute; width:23px; height:23px; border:1.5px solid var(--ink); border-radius:50%; background:#efb297; left:0; top:1px; }
.meetup-page .brand-mark i+i { left:12px; top:8px; background:#a8c8db; }
.meetup-page .header-note { color:var(--muted); font-family:Georgia,serif; font-size:16px; font-style:italic; }
.meetup-page .intro { display:grid; grid-template-columns:1fr 330px; align-items:center; gap:44px; padding:65px 30px 56px; }
.meetup-page .eyebrow { font-size:10px; font-weight:750; letter-spacing:1.8px; line-height:1.6; margin:0 0 20px; }
.meetup-page h1 { font:normal clamp(48px,5.8vw,72px)/1.06 Georgia,'Times New Roman',serif; letter-spacing:-2.6px; margin:0 0 25px; }
.meetup-page h1 em { font-weight:normal; position:relative; z-index:0; }
.meetup-page h1 em::after { content:''; position:absolute; left:0; right:-8px; bottom:5px; height:13px; background:var(--peach); z-index:-1; transform:rotate(-2deg); border-radius:40%; }
.meetup-page .intro-text { max-width:405px; color:var(--muted); font-size:17px; line-height:1.7; margin:0 0 24px; }
.meetup-page .intro-meta { display:flex; flex-wrap:wrap; gap:10px 15px; align-items:center; font-size:11px; color:var(--muted); }
.meetup-page .time-badge { display:inline-flex; align-items:center; gap:7px; border:1px solid #cbd2d1; border-radius:24px; padding:5px 11px; color:var(--ink); white-space:nowrap; }
.meetup-page .time-badge span { font-size:19px; line-height:1; }
.meetup-page .conversation-art svg { display:block; width:100%; height:auto; }
.meetup-page .art-caption { display:block; text-align:center; margin-top:4px; font:italic 15px Georgia,serif; color:var(--muted); transform:rotate(-4deg); }
.meetup-page .feedback-card { background:#fffefa; border:1px solid #e1dfd6; border-radius:18px; padding:42px 52px 26px; box-shadow:0 8px 28px #243c5005; max-width:840px; margin:0 auto; }
.meetup-page .card-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.meetup-page .card-heading .eyebrow { margin-bottom:7px; color:var(--muted); }
.meetup-page h2 { font:normal 33px/1.2 Georgia,serif; letter-spacing:-.7px; margin:0; }
.meetup-page .small-flower { font-size:48px; line-height:1; color:#b46c4e; font-weight:normal; }
.meetup-page .form-guidance { font-size:14px; margin:15px 0 30px; color:var(--muted); max-width:550px; }
.meetup-page .event-context { color:var(--muted); font-size:13px; padding:9px 12px; border-left:3px solid #a8c8db; overflow-wrap:anywhere; }
.meetup-page .question-block { border-top:1px solid var(--line); padding-top:26px; margin-top:26px; }
.meetup-page .question-heading { display:flex; gap:15px; align-items:baseline; }
.meetup-page .question-number { flex:0 0 27px; color:#8c553e; font-size:11px; letter-spacing:1px; font-weight:700; }
.meetup-page .question-heading label { font-size:17px; line-height:1.5; font-weight:600; cursor:pointer; }
.meetup-page .answer-wrap { margin-left:42px; }
.meetup-page .answer-hint { font-size:13px; color:var(--muted); margin:7px 0 13px; }
.meetup-page textarea { display:block; width:100%; max-width:100%; min-height:110px; padding:14px; background:#fbfaf6; border:1px solid #cbd1cf; border-radius:8px; resize:vertical; color:var(--ink); font:16px/1.6 Arial,Helvetica,sans-serif; transition:border-color .15s,box-shadow .15s; }
.meetup-page textarea:hover { border-color:#859b9e; }
.meetup-page :is(a,textarea,input,button):focus-visible { outline:3px solid #427493; outline-offset:4px; }
.meetup-page textarea:focus { border-color:#427493; }
.meetup-page textarea[aria-invalid='true'] { border-color:#aa3b2f; }
.meetup-page .field-meta { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:11px; margin-top:5px; font-variant-numeric:tabular-nums; }
.meetup-page .privacy-note { display:flex; align-items:flex-start; gap:11px; border-radius:9px; padding:17px 18px; margin:30px 0 24px; background:#edf2f2; }
.meetup-page .privacy-note svg { width:19px; height:22px; flex:0 0 19px; fill:none; stroke:#49616e; stroke-width:1.5; margin-top:2px; }
.meetup-page .privacy-note p { font-size:12px; line-height:1.7; color:#435b68; margin:0; }
.meetup-page .submit-row { display:flex; align-items:center; gap:24px; }
.meetup-page button { cursor:pointer; min-height:48px; font:600 14px Arial,Helvetica,sans-serif; border-radius:7px; }
.meetup-page #submit-button { display:inline-flex; align-items:center; justify-content:space-between; gap:38px; border:1px solid var(--ink); background:var(--ink); color:#fff; padding:14px 23px; min-width:226px; transition:background .15s,transform .15s; }
.meetup-page #submit-button:hover:not(:disabled) { background:#385970; transform:translateY(-1px); }
.meetup-page #submit-button:disabled { opacity:.65; cursor:wait; }
.meetup-page #submit-button span+span { font-size:21px; font-weight:400; }
.meetup-page .submit-row p { color:var(--muted); font:italic 13px/1.5 Georgia,serif; margin:0; }
.meetup-page .form-status { font-size:13px; color:var(--muted); margin:15px 0 0; min-height:21px; overflow-wrap:anywhere; }
.meetup-page .form-status.is-error, .meetup-page .error { color:#963a2e; }
.meetup-page .retry-button { color:var(--ink); background:#edf2f2; padding:12px 16px; border:1px solid #bac9ce; margin-top:12px; }
.meetup-page .site-footer { display:flex; justify-content:space-between; gap:16px; padding:28px 0 38px; margin:0 auto; max-width:840px; font-size:11px; color:var(--muted); }
.meetup-page .thank-you { text-align:center; padding:52px 10px 65px; }
.meetup-page .thank-you-icon { display:grid; place-items:center; width:76px; height:76px; border-radius:50%; background:var(--peach); font-size:32px; margin:0 auto 30px; }
.meetup-page .thank-you h2 { font-size:42px; }
.meetup-page .thank-you>p:not(.eyebrow) { max-width:360px; margin:20px auto; font-size:18px; color:var(--muted); }
.meetup-page .thank-you-signoff { font:italic 16px Georgia,serif; }
@media(min-width:1200px) { .meetup-page .intro { padding-top:72px; padding-bottom:65px; } }
@media(max-width:760px) { .meetup-page .page-width { width:calc(100% - 40px); } .meetup-page .site-header { min-height:84px; } .meetup-page .intro { grid-template-columns:1fr 190px; gap:12px; padding:42px 0; } .meetup-page h1 { font-size:52px; } .meetup-page .intro-meta { font-size:11px; } .meetup-page .intro-text { font-size:16px; } .meetup-page .art-caption { font-size:12px; } .meetup-page .feedback-card { padding:30px 27px 23px; } }
@media(max-width:540px) { .meetup-page .page-width { width:calc(100% - 32px); } .meetup-page .site-header { min-height:76px; } .meetup-page .wordmark { font-size:10px; letter-spacing:1.4px; gap:9px; } .meetup-page .header-note { font-size:12px; } .meetup-page .intro { display:block; padding:34px 8px 30px; position:relative; } .meetup-page .intro .eyebrow { font-size:9px; letter-spacing:1.2px; max-width:235px; margin-bottom:18px; } .meetup-page h1 { font-size:49px; letter-spacing:-1.8px; margin-bottom:20px; } .meetup-page .intro-copy { position:relative; z-index:1; } .meetup-page .intro-text { max-width:330px; font-size:15px; } .meetup-page .intro-meta { gap:10px; font-size:10px; } .meetup-page .conversation-art { position:absolute; width:72px; top:4px; right:-3px; opacity:.95; pointer-events:none; } .meetup-page .art-caption { display:none; } .meetup-page .feedback-card { border-radius:12px; padding:26px 20px 22px; } .meetup-page h2 { font-size:29px; } .meetup-page .small-flower { font-size:36px; } .meetup-page .card-heading .eyebrow { font-size:9px; } .meetup-page .form-guidance { font-size:13px; margin-bottom:23px; } .meetup-page .question-block { padding-top:22px; margin-top:22px; } .meetup-page .question-heading { gap:9px; } .meetup-page .question-number { flex-basis:22px; font-size:10px; } .meetup-page .question-heading label { font-size:16px; } .meetup-page .answer-wrap { margin-left:0; } .meetup-page .answer-hint { font-size:12px; margin-top:9px; } .meetup-page textarea { min-height:125px; } .meetup-page .privacy-note { padding:14px 12px; gap:8px; margin-top:26px; } .meetup-page .privacy-note p { font-size:11px; } .meetup-page .submit-row { display:block; } .meetup-page #submit-button { width:100%; } .meetup-page .submit-row p { margin-top:14px; text-align:center; } .meetup-page .submit-row br { display:none; } .meetup-page .site-footer { flex-direction:column; align-items:center; gap:5px; font-size:10px; padding-top:22px; } .meetup-page .thank-you { padding:28px 0 36px; } .meetup-page .thank-you h2 { font-size:35px; } }
@media(max-width:355px) { .meetup-page .conversation-art { width:60px; top:5px; } .meetup-page h1 { font-size:43px; } .meetup-page .header-note { display:none; } }
@media(prefers-reduced-motion:reduce) { .meetup-page *, .meetup-page *::before, .meetup-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
