@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Bebas+Neue&display=swap');
:root{color-scheme:dark;--amber:#EE8E15;--ink:#0a0a0a;--paper:#eeeae2;--muted:#aaa69f;--line:#33312e}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.65 'Inter',sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--amber)}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid #5c5549;background:transparent;color:var(--paper);padding:11px 18px;border-radius:3px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;line-height:1.4}button:hover,.button:hover{border-color:var(--amber);color:var(--amber)}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--amber);color:#13100b;border-color:var(--amber);font-weight:700}.primary:hover{background:#f3a33c;color:#000}:focus-visible{outline:3px solid var(--amber);outline-offset:4px}h1,h2,h3,.wordmark{font-family:'Bebas Neue',sans-serif;font-weight:500;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(54px,7vw,112px);margin:22px 0 30px}h2{font-size:clamp(32px,3vw,50px);margin:16px 0 24px}h3{font-size:25px;letter-spacing:-.025em}p{margin:0 0 22px}em{font-family:Georgia,serif;font-weight:400;color:var(--amber)}.site-header,footer{max-width:1440px;margin:auto;padding:30px 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.site-header a{text-decoration:none}.site-nav{display:flex;gap:28px;align-items:center}.wordmark{font-size:27px}.wordmark span{font-size:12px;vertical-align:top;margin-left:3px}main#events{max-width:1440px;margin:auto;padding:0 6vw}.eyebrow{color:var(--amber);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.2em}.intro{font-size:clamp(19px,2vw,25px);line-height:1.6;max-width:640px;color:#c3bfb8}.listing-hero{padding:95px 0 70px;max-width:1000px}.event-list{padding-bottom:100px}.event-card{border-top:1px solid var(--line);padding:35px 0;display:block;text-decoration:none}.event-card h2{display:flex;justify-content:space-between}.event-card p{max-width:600px;color:var(--muted)}.pill{display:inline-block;border:1px solid #6b4a20;color:var(--amber);font-size:12px;padding:4px 12px;border-radius:20px}.empty{padding:50px 0;border-top:1px solid var(--line)}.editorial-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding:75px 0;align-items:center}.cover{margin:0;aspect-ratio:1/1.08;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover}.salon-art{aspect-ratio:1/1.08;position:relative;overflow:hidden;background:#d18125;color:#1b1108;display:flex;flex-direction:column;justify-content:space-between;padding:32px}.salon-art:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,#00000009 3px);pointer-events:none}.salon-art>span{font:clamp(34px,4.5vw,70px)/.98 Georgia,serif;letter-spacing:-.06em;z-index:1}.salon-art small{font-size:10px;letter-spacing:.18em;text-transform:uppercase;z-index:1}.orbit{position:absolute;border:1px solid #35210e;border-radius:50%;width:80%;height:80%;left:30%;top:35%;transform:rotate(-35deg)}.orbit-two{left:-15%;top:45%;width:95%;height:50%}.logistics{display:grid;grid-template-columns:1.2fr 1.3fr .8fr .7fr;gap:30px;padding:30px 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0}.logistics dt{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:12px}.logistics dd{margin:0;font-size:14px}.event-columns{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:75px 0 100px}.prose h2{line-height:1.2}.description{white-space:normal;color:#c3bfb8}.rsvp-panel{padding:30px;background:#121211;border:1px solid var(--line);align-self:start}.rsvp-panel h2{font-size:38px}.rsvp-panel>p{font-size:14px;color:#bdb9b1}label{display:block;font-size:14px;margin:0 0 18px}label>span{color:var(--muted)}input:not([type=checkbox]),textarea,select{display:block;width:100%;background:#0c0c0c;border:1px solid #514d45;border-radius:2px;color:var(--paper);padding:11px 12px;margin-top:7px;min-width:0}textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}fieldset{border:0;padding:0;margin:8px 0 25px}legend{font-size:13px;margin-bottom:15px}.check{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.6}.check input{margin-top:5px;accent-color:var(--amber);flex:none}.check span{color:#bbb7b0}.rsvp-panel button.primary{width:100%;justify-content:space-between}.fine-print{font-size:12px;color:var(--muted);margin-top:20px}.notice{border-left:2px solid var(--amber);background:#ee8e150a;padding:15px;margin:24px 0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}[role=alert]{color:#ffc48d;white-space:pre-wrap}footer{border-top:1px solid var(--line);border-bottom:0;font-size:12px;color:var(--muted);gap:20px}.management{padding:75px 0;max-width:1000px}.management h1{font-size:clamp(45px,6vw,78px)}.management .logistics{margin:35px 0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.manage-form{margin:20px 0}body:has(#app-nav) main#events{padding:30px 36px;max-width:1700px}.admin-header{margin:15px 0 35px}.admin-header h1{font-size:clamp(40px,5vw,72px)}.toolbar{display:flex;flex-wrap:wrap;gap:15px;margin:25px 0}.toolbar label{flex:1;min-width:160px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.metric,.panel{border:1px solid var(--line);padding:20px;background:#111110}.metric strong{display:block;font:36px/1.4 'Bebas Neue',sans-serif}.metric span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{text-align:left;border-bottom:1px solid var(--line);padding:15px 12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}td .actions button{font-size:12px;padding:7px 11px}.badge{font-size:11px;border:1px solid #51442e;padding:3px 8px;color:var(--amber);border-radius:14px}.admin-detail{display:grid;gap:25px}.panel h2{font-size:28px}.panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}dialog{width:min(880px,94vw);max-height:90vh;overflow:auto;color:var(--paper);background:#151513;border:1px solid #5c5142;padding:28px}dialog::backdrop{background:#000b}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.editor-grid .wide{grid-column:1/-1}.editor-grid h3{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere}.delivery{border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.loading{opacity:.5;pointer-events:none}#admin-status{margin:20px 0;color:#ffc48d}.publish-gaps{border-left:2px solid var(--amber);background:#ee8e150a;padding:12px 15px;font-size:14px;max-width:760px}.publish-gaps.ready{border-color:#62c58a;color:#baf3cf}label>.publish-req{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin-top:2px}.event-card{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:0 40px;align-items:center}.event-card>*{grid-column:1}.event-card>.pill{justify-self:start}.event-thumb{grid-column:2;grid-row:1/span 4;margin:0;aspect-ratio:4/3;overflow:hidden;background:#d18125}.event-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.event-card:hover .event-thumb img{transform:scale(1.03)}.event-thumb.salon-art{padding:16px}.event-thumb.salon-art>span{font-size:26px}@media(max-width:700px){.event-card{grid-template-columns:1fr}.event-thumb{grid-column:1;grid-row:auto;margin-bottom:20px}}
@media(max-width:750px){.site-header{padding:22px 6vw}.site-header>a:last-child{font-size:13px}.listing-hero{padding:55px 0}.editorial-hero{grid-template-columns:1fr;padding:40px 0;gap:30px}.salon-art{aspect-ratio:1.3/1}.salon-art>span{font-size:62px}.event-columns{grid-template-columns:1fr;gap:35px;padding:40px 0}.logistics{grid-template-columns:1fr 1fr;gap:24px}.rsvp-panel{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}.editor-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}body:has(#app-nav) main#events{padding:24px 16px}footer{align-items:start;flex-direction:column}.management{padding-top:35px}.management .actions{align-items:stretch;flex-direction:column}dialog{padding:20px}h1{overflow-wrap:anywhere}}

h1,h2,h3{letter-spacing:-.015em}h1{line-height:.98}h1 em{line-height:1.12;display:inline-block;font-size:.8em;letter-spacing:-.045em}.wordmark{font-family:Inter,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.05em}

/* Guided registration questions and human-readable reminder timings. */
.registration-builder,.reminder-builder,.sms-builder{border:1px solid var(--line);padding:20px;background:#10100f;min-width:0}.editor-grid h4{font:600 17px/1.4 Inter,sans-serif;letter-spacing:0;margin:0 0 10px}.builder-help{font-size:13px;color:var(--muted);line-height:1.6;margin:10px 0 18px}.builder-empty{font-size:13px;color:var(--muted);padding:14px;border:1px dashed #484238}.builder-empty[hidden]{display:none}.question-builder-row{border-top:1px solid var(--line);padding:18px 0}.question-builder-row label{margin-bottom:12px}.builder-row-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.builder-row-actions .check{font-size:13px;margin:0}.builder-row-actions button,.builder-buttons button,.reminder-builder-row button{font-size:12px;padding:9px 12px}.reminder-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.reminder-builder-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.reminder-builder-row label{font-size:12px;margin:0}.reminder-builder-row input,.reminder-builder-row select{padding:10px 8px}.reminder-builder-row button{margin-bottom:0;min-height:44px}.builder-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.builder-summary{font-size:12px;line-height:1.7;color:#e9ba78;margin:16px 0 0}.sms-builder .check{font-size:14px;margin-bottom:10px}.sms-builder .builder-help:last-of-type{margin-bottom:0}.registration-builder>button{margin:8px 0}.registration-builder>.builder-help:last-child{margin-bottom:0}
@media(max-width:760px){.reminder-builder-grid{grid-template-columns:1fr}.registration-builder,.reminder-builder,.sms-builder{padding:15px}.reminder-builder-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.reminder-builder-row button{grid-column:1/-1;justify-self:start;min-height:36px}.builder-row-actions{align-items:flex-start}}

.delivery-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.delivery-setup-grid h3{font-size:24px}.delivery-checklist{list-style:none;margin:18px 0;padding:0}.delivery-checklist li{padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;gap:10px;align-items:center}.delivery-checklist .badge{min-width:95px;text-align:center;flex:none}.delivery-setup-grid+.actions{margin-top:22px}.delivery-setup-grid~details{margin-top:20px;font-size:13px;overflow-wrap:anywhere}@media(max-width:650px){.delivery-setup-grid{grid-template-columns:1fr;gap:18px}}
.toasts{position:fixed;right:20px;bottom:20px;z-index:1000;display:grid;gap:10px;max-width:min(420px,calc(100vw - 40px))}.toast{background:#151513;border:1px solid var(--line);border-left:3px solid #62c58a;color:var(--paper);padding:14px 18px;font-size:14px;line-height:1.5;box-shadow:0 12px 30px #000a;animation:toast-in .25s ease-out;transition:opacity .4s,transform .4s}.toast.info{border-left-color:var(--amber)}.toast.error{border-left-color:#ef6b60}.toast.leaving{opacity:0;transform:translateY(8px)}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none;transition:none}}

/* Event workspace and guest journey */
html{scroll-behavior:auto;scroll-padding-top:24px}.hero-summary{font-size:17px;line-height:1.6;color:var(--paper)}.mobile-rsvp{display:none}.entry-pass{max-width:430px;margin:32px 0;padding:24px;border:1px solid var(--line)}.ticket-qr{display:block;background:white;width:min(100%,300px);height:auto;margin:20px auto}.workspace-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0;border-bottom:1px solid var(--line);padding-bottom:16px}.workspace-tabs [aria-current="page"],.workspace-tabs [aria-current="step"]{background:var(--amber);color:#111;border-color:var(--amber)}.workspace-panel:focus{outline:none}.guest-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.guest-cards .panel{margin:0}.guest-cards details{margin:16px 0}.editor-step{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;grid-column:1/-1;min-width:0}.editor-step[hidden]{display:none}.editor-step .wide,.editor-step h3{grid-column:1/-1}.editor-paging{grid-column:1/-1;margin:24px 0}.communication-timeline{line-height:2;padding-left:22px}iframe[title*="preview"]{width:100%;height:500px;border:1px solid var(--line);margin-top:20px;background:#111}#event-editor{width:min(1000px,94vw);max-height:92vh}#event-form>.actions{position:sticky;bottom:0;background:#151513;padding:16px 0;border-top:1px solid var(--line)}.scan-result{padding:24px;font-size:23px;line-height:1.4}.scan-result.success{border:2px solid #62c58a}.scan-result.invalid{border:2px solid #ef6b60}#connection-state{padding:12px;border:1px solid var(--line)}input[aria-invalid=true]{border-color:#ef6b60}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--amber);outline-offset:4px}
@media(max-width:650px){.editor-step{grid-template-columns:1fr}.mobile-rsvp{display:block;position:fixed;bottom:16px;left:20px;right:20px;text-align:center;z-index:20;box-shadow:0 4px 24px #0009}body:has(.mobile-rsvp){padding-bottom:90px}.workspace-tabs{gap:6px}.workspace-tabs button{padding:10px 12px;font-size:13px}.admin-header h1{font-size:42px}.entry-pass{padding:18px}.guest-cards .actions{align-items:stretch}.guest-cards .actions>button,.guest-cards .actions>a{width:100%}}
@media print{.site-header,footer,.manage-form,.mobile-rsvp,#print-pass,.toasts{display:none!important}body{background:#fff!important;color:#111!important}.entry-pass{break-inside:avoid}.ticket-qr{max-width:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

dialog{scroll-behavior:auto}#communication form>.actions,.cancel-review form>.actions{position:sticky;bottom:-20px;background:#151513;padding:16px 0;border-top:1px solid var(--line);z-index:2}#communication-html{height:360px}@media(max-width:650px){#communication-html{height:280px}}
