@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#292720;--muted:#77736b;--cream:#f7f4ed;--paper:#fffdf8;--gold:#9b7950;--line:#e7e0d4;--green:#4c5945}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6.5%;border-bottom:1px solid var(--line);background:rgba(255,253,248,.96)}.brand{font-size:17px;font-weight:700;letter-spacing:-.6px;display:flex;align-items:center;gap:9px}.brand-mark{font-size:27px;color:var(--gold);font-weight:400}.topbar nav{display:flex;align-items:center;gap:32px;font-size:13px}.topbar nav a{color:#625e56}.outline{border:1px solid #cfc4b2;background:transparent;padding:11px 20px;border-radius:30px;color:var(--ink);font:inherit;cursor:pointer}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:65px 6.5% 100px;align-items:center;background:var(--cream);min-height:580px}.hero-copy{max-width:560px;padding:20px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--gold);margin:0 0 20px}.hero h1{font:500 clamp(42px,5.1vw,70px)/1.09 'Playfair Display',serif;letter-spacing:-1.8px;margin:0 0 24px}.hero h1 em,h2 em{color:var(--gold);font-weight:500}.lead{font-size:15px;line-height:1.8;color:#6e6a61;max-width:460px;margin:0 0 29px}.button{display:inline-flex;align-items:center;gap:28px;background:var(--green);color:white;border:0;border-radius:3px;padding:16px 22px;font:600 13px 'DM Sans',sans-serif;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#394432}.button span{font-size:18px}.small-note{font-size:10px;color:#8a857b;margin-top:16px}.hero-photo{height:440px;background:linear-gradient(180deg,transparent 58%,rgba(20,22,15,.55)),url('https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1200&q=85') center/cover;border-radius:48% 48% 3px 3px;position:relative}.photo-label{position:absolute;bottom:24px;left:26px;right:26px;color:white;display:flex;flex-direction:column;gap:8px}.photo-label span{font-size:10px;letter-spacing:2px;opacity:.8}.photo-label strong{font:500 23px 'Playfair Display',serif}.floating-note{position:absolute;right:42%;bottom:45px;display:flex;align-items:center;gap:12px;padding:16px 21px;background:var(--paper);box-shadow:0 10px 35px #4a392015;border:1px solid var(--line)}.tiny-heart{font-size:25px;color:var(--gold)}.floating-note strong,.floating-note small{display:block}.floating-note strong{font-size:12px}.floating-note small{font-size:10px;color:var(--muted);margin-top:4px}.intro{text-align:center;padding:100px 8% 90px}.intro h2,.section-head h2,.organizer h2{font:500 clamp(34px,4vw,48px)/1.15 'Playfair Display',serif;letter-spacing:-.8px;margin:0 0 20px}.intro>p:not(.eyebrow){max-width:570px;margin:0 auto;color:var(--muted);line-height:1.8;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;text-align:left;margin:64px auto 0;max-width:1040px}.steps article{border-top:1px solid var(--line);padding-top:18px}.steps article span{color:var(--gold);font-size:11px;letter-spacing:1px}.steps h3{font:500 22px 'Playfair Display',serif;margin:14px 0 8px}.steps p{font-size:12px;line-height:1.8;color:var(--muted);max-width:260px}.events-section{background:#f8f6f0;padding:85px 6.5% 90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-head h2{margin-bottom:0}.demo-pill{font-size:9px;letter-spacing:1px;border:1px solid #d7c7ae;color:#8c704d;padding:9px 12px;white-space:nowrap}.filters{display:flex;gap:14px;align-items:end;margin-bottom:28px}.filters label{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:8px;min-width:155px}.filters select,.filters input{background:#fffdf8;border:1px solid var(--line);padding:12px 13px;font:12px 'DM Sans',sans-serif;color:var(--ink);border-radius:2px;min-width:155px}.filters input{min-width:200px}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.event-card{background:var(--paper);border:1px solid #ebe5da;min-width:0}.event-img{height:210px;background-size:cover;background-position:center;position:relative}.event-tag{position:absolute;top:12px;left:12px;background:#fffdf0eF;padding:7px 9px;font-size:9px;letter-spacing:.6px}.event-body{padding:18px}.event-city{font-size:10px;color:var(--gold);letter-spacing:1px;text-transform:uppercase}.event-body h3{font:500 22px 'Playfair Display',serif;margin:9px 0}.event-body p{font-size:11px;line-height:1.7;color:var(--muted);min-height:38px}.event-meta{border-top:1px solid var(--line);padding-top:13px;margin-top:14px;display:flex;justify-content:space-between;gap:8px;font-size:11px}.event-price{font-weight:700}.event-card button{width:100%;margin-top:15px;padding:11px;background:transparent;border:1px solid #cfc4b2;font:600 11px 'DM Sans',sans-serif;cursor:pointer}.event-card button:hover{background:var(--green);color:white;border-color:var(--green)}.demo-disclaimer{font-size:10px;color:#827c72;margin-top:22px}.organizer{margin:70px 6.5%;padding:58px 7%;background:#4c5945;color:#fffdf8;display:flex;align-items:center;justify-content:space-between;gap:25px}.organizer .eyebrow{color:#d8c3a1}.organizer h2{margin-bottom:15px}.organizer h2 em{color:#e3c9a5}.organizer p:not(.eyebrow){color:#e2e0d8;max-width:460px;font-size:13px;line-height:1.8}.button.light{background:#fffdf8;color:#35402f;white-space:nowrap}footer{padding:30px 6.5%;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line)}footer>span,footer small{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);max-width:420px;width:calc(100% - 32px);padding:38px;background:var(--paper);box-shadow:0 20px 90px #17150f35}dialog::backdrop{background:#24221c80}dialog h2{font:500 31px 'Playfair Display',serif}dialog p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.close{position:absolute;right:13px;top:9px;border:0;background:none;font-size:27px;cursor:pointer}
@media(max-width:900px){.topbar{padding:0 5%;height:70px}.topbar nav{gap:14px}.topbar nav a{display:none}.hero{padding:40px 5% 75px;gap:25px}.hero-photo{height:380px}.floating-note{right:38%;bottom:22px}.event-grid{grid-template-columns:repeat(2,1fr)}.events-section{padding:65px 5%}.organizer{margin:45px 5%;padding:40px 6%}}
@media(max-width:600px){.brand{font-size:15px}.hero{grid-template-columns:1fr;padding-top:35px}.hero-copy{padding:0}.hero h1{font-size:47px}.hero-photo{height:360px;width:100%}.floating-note{right:auto;left:8%;bottom:18px}.intro{padding:70px 7%}.steps{grid-template-columns:1fr;gap:20px;margin-top:40px}.steps p{max-width:none}.section-head{align-items:flex-start;flex-direction:column}.filters{display:grid;grid-template-columns:1fr 1fr}.filters label:last-child{grid-column:1/-1}.filters select,.filters input,.filters label{width:100%;min-width:0}.event-grid{grid-template-columns:1fr}.event-img{height:240px}.organizer{flex-direction:column;align-items:flex-start}.organizer h2{font-size:36px}footer{flex-wrap:wrap}footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Image layout repair: fixed card frame, no stretching */
.event-img{height:210px;min-height:210px;overflow:hidden;position:relative;background:#e8e2d6}
.event-img .event-photo{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}
.event-img .event-photo.image-unavailable{visibility:hidden}
@media(max-width:600px){.event-img{height:240px;min-height:240px}}

/* MVP additions */
.hidden{display:none!important}.topbar nav{gap:18px}.topbar nav a{white-space:nowrap}.topbar nav button{white-space:nowrap}.notice{padding:12px 14px;background:#fff8e9;border:1px solid #ead9b7;color:#695738;font-size:13px}.event-grid{align-items:stretch}.event-card{display:flex;flex-direction:column}.event-body{display:flex;flex-direction:column;flex:1}.event-body p{white-space:pre-line;overflow-wrap:anywhere}.event-card button{margin-top:auto;margin-top:16px}.image-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#e9e0d2,#f7f1e7);color:#9b7950;font:48px 'Playfair Display',serif}.empty-state{grid-column:1/-1;padding:30px;background:#fffdf8;border:1px solid var(--line);color:var(--muted)}.empty-state h3{font:500 24px 'Playfair Display',serif;color:var(--ink);margin:0 0 8px}.empty-state p{font-size:13px;line-height:1.7}.empty-state .outline{margin-top:8px}.rules-section{padding:75px 6.5%;background:#fffdf8}.rules-section h2,.account-section h2{font:500 clamp(32px,4vw,45px)/1.15 'Playfair Display',serif;margin:0 0 30px}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rules-grid article{border:1px solid var(--line);padding:22px;background:#faf8f2}.rules-grid h3,.dashboard-panel h3{font:500 22px 'Playfair Display',serif;margin:0 0 10px}.rules-grid p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.contact-line,.legal-note{font-size:12px;line-height:1.8;color:var(--muted);margin-top:24px}.contact-line a{text-decoration:underline;text-underline-offset:3px;color:var(--green)}.account-section{padding:75px 6.5%;background:#f8f6f0}.account-section .section-head{margin-bottom:16px}.account-section #accountGreeting{font-size:13px;color:var(--muted);margin-bottom:24px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-panel{background:#fffdf8;border:1px solid var(--line);padding:24px;min-width:0}.dashboard-panel>.button{margin-bottom:16px}.dashboard-item{border-top:1px solid var(--line);padding:17px 0;display:grid;gap:12px}.dashboard-item strong{font-size:14px}.dashboard-item p{font-size:12px;line-height:1.65;color:var(--muted);margin:7px 0}.item-actions{display:flex;flex-wrap:wrap;gap:8px}.small-button{padding:8px 11px;font-size:11px}.status{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;background:#f1ede5;color:#6d6559}.status-published,.status-approved{background:#e7f0e4;color:#3e633b}.status-draft,.status-pending{background:#f8efd9;color:#87682d}.status-cancelled,.status-rejected{background:#f6e7e3;color:#995447}.manager-apps{border-top:1px dashed var(--line);padding-top:10px}.manager-application{border-top:1px solid var(--line);padding:12px 0}.manager-application label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-top:10px}.manager-application select{padding:8px;border:1px solid var(--line);background:white;max-width:190px}.application-message{padding:10px;background:#f8f6f0;white-space:pre-line;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:12px}.error-text{color:#9c3f35;font-size:12px;line-height:1.6}.compact-empty{padding:18px}.compact-empty p{margin:5px 0}.tabs{display:flex;gap:8px;margin:18px 0 22px;border-bottom:1px solid var(--line)}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:10px 13px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}.tab.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}dialog form{display:grid;gap:14px}dialog label{display:grid;gap:7px;font-size:12px;color:#5d594f}dialog input,dialog textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid #dcd3c5;background:#fffefb;border-radius:2px;font:13px 'DM Sans',sans-serif;color:var(--ink)}dialog input:focus,dialog textarea:focus,select:focus,input:focus,button:focus-visible,a:focus-visible{outline:3px solid #c7a77c;outline-offset:2px}dialog label small{font-size:10px;color:var(--muted)}dialog .full{width:100%;justify-content:center;margin-top:4px}.form-message{font-size:12px;line-height:1.6;color:var(--muted);margin:0;overflow-wrap:anywhere}.form-message:empty{display:none}.form-message.error{color:#9c3f35}.form-message.success{color:#3e633b}.text-button{border:0;background:none;color:var(--green);font:600 12px 'DM Sans',sans-serif;text-decoration:underline;text-underline-offset:3px;padding:10px 0;cursor:pointer}.compact{padding:11px 14px;gap:10px;font-size:12px}.toast{position:fixed;z-index:20;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100% - 28px);width:max-content;background:#292720;color:#fffdf8;padding:13px 18px;font-size:13px;line-height:1.5;box-shadow:0 8px 30px #0002;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.success{background:#3e633b}.toast.error{background:#8d3e35}.button:disabled{opacity:.65;cursor:wait;transform:none}.legal-note{font-size:11px}.topbar{position:relative;z-index:2}
@media(max-width:900px){.topbar nav{gap:8px}.topbar nav a{display:none}.dashboard-grid{grid-template-columns:1fr}.rules-section,.account-section{padding:60px 5%}}
@media(max-width:600px){.topbar{height:auto;min-height:68px;gap:10px;flex-wrap:wrap;padding:12px 5%}.topbar nav{margin-left:auto}.outline{padding:9px 12px;font-size:11px}.hero{padding-bottom:75px}.hero-photo{height:300px}.rules-grid{grid-template-columns:1fr}.rules-section h2{font-size:35px}.dashboard-panel{padding:17px}.dashboard-item{gap:10px}.item-actions .outline{flex:1}.account-section .section-head{align-items:flex-start}.account-section .section-head h2{font-size:36px}.toast{bottom:12px}}
