:root{--black:#0a0805;--deep:#13100c;--card:#1c1712;--border:#2e2418;--burgundy:#6b1a2a;--burgundy-light:#8b2235;--gold:#c9922a;--gold-light:#e4b04a;--cream:#f0e6d0;--muted:#7a6a54;--text:#e8dcc8}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--black);color:var(--text);font-family:DM Sans,sans-serif;font-weight:300;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:.4}.hero{position:relative;padding:48px 24px 40px;text-align:center;border-bottom:1px solid var(--border);background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(107,26,42,.35) 0%,transparent 70%)}.hero:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.hero-logo{width:80px;height:auto;margin:0 auto 12px;display:block;opacity:.95}.hero-social{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 auto 18px;flex-wrap:wrap}.hero-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(201,146,42,.28);background:#c9922a12;color:var(--gold-light);transition:border-color .15s,background .15s,color .15s;text-decoration:none}.hero-social a:hover{border-color:#c9922a80;background:#c9922a24;color:var(--cream)}.hero-social svg{width:19px;height:19px;fill:currentColor;display:block}.tag{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,146,42,.3);padding:5px 14px;border-radius:100px;margin-bottom:16px}.hero h1{font-family:Playfair Display,serif;font-size:clamp(2rem,7vw,3.4rem);font-weight:900;line-height:1.05;color:var(--cream)}.hero h1 span{color:var(--gold-light);font-style:italic}.hero-sub{margin-top:12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hero-theme{margin-top:8px;font-family:Playfair Display,serif;font-style:italic;font-size:14px;color:var(--gold)}.notice{margin:20px auto 0;max-width:480px;background:#c9922a14;border:1px solid rgba(201,146,42,.2);border-radius:10px;padding:11px 15px;font-size:11.5px;color:var(--gold-light);line-height:1.6}.last-updated{margin:14px auto 0;max-width:480px;text-align:center;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.tab-nav{border-bottom:1px solid var(--border);background:#13100ce0;padding:12px 16px}.tab-list{max-width:680px;margin:0 auto;display:flex;gap:8px}.tab-button{flex:1;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:#ffffff08;border:1px solid var(--border);border-radius:100px;padding:10px 14px;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.tab-button:hover{border-color:#c9922a59;color:var(--cream)}.tab-button.active{background:var(--burgundy);border-color:var(--burgundy-light);color:var(--cream);box-shadow:0 0 24px #6b1a2a38}.itinerary-hint{max-width:480px;margin:14px auto 0;padding:11px 15px;background:#c9922a14;border:1px solid rgba(201,146,42,.2);border-radius:10px;text-align:center}.itinerary-hint-key{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.itinerary-hint-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1px solid rgba(201,146,42,.35);background:#c9922a1f;font-size:11px;font-weight:600;vertical-align:middle}.itinerary-hint-body{font-size:11.5px;color:var(--gold-light);line-height:1.6}.itinerary-hint-body strong{color:var(--cream);font-weight:500}.legend{max-width:680px;margin:16px auto 0;padding:0 16px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.legend-item{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.shared-itinerary-header{max-width:680px;margin:8px auto 0;padding:0 16px}.shared-itinerary-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.shared-itinerary-toggle{display:flex;gap:6px;flex:1;min-width:min(100%,260px);max-width:400px}.shared-itinerary-toggle-btn{flex:1;font-family:DM Sans,sans-serif;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:#ffffff08;border:1px solid var(--border);border-radius:100px;padding:9px 12px;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.shared-itinerary-toggle-btn:hover{border-color:#c9922a59;color:var(--cream)}.shared-itinerary-toggle-btn.active{background:var(--burgundy);border-color:var(--burgundy-light);color:var(--cream)}.shared-itinerary-clear{font-size:11px;color:var(--muted);background:none;border:1px solid var(--border);padding:8px 14px;border-radius:100px;cursor:pointer;font-family:DM Sans,sans-serif;white-space:nowrap}.shared-itinerary-clear:hover{color:var(--text);border-color:var(--muted)}.itinerary-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:501;display:flex;align-items:center;gap:12px;background:var(--deep);border:1px solid var(--border);border-radius:100px;padding:8px 10px 8px 16px;box-shadow:0 4px 24px #0000008c;max-width:calc(100vw - 32px)}.itinerary-bar-count{font-size:11px;color:var(--gold-light);white-space:nowrap;font-weight:500}.itinerary-bar-actions{display:flex;align-items:center;gap:8px}.itinerary-bar-feedback{font-size:10px;color:var(--gold);white-space:nowrap}.itinerary-bar-clear{font-size:10px;color:var(--muted);background:none;border:1px solid var(--border);padding:6px 12px;border-radius:100px;cursor:pointer;font-family:DM Sans,sans-serif}.itinerary-bar-clear:hover{color:var(--text);border-color:var(--muted)}.itinerary-bar-share{display:inline-flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;color:var(--cream);background:var(--burgundy);border:1px solid var(--burgundy-light);padding:8px 14px;border-radius:100px;cursor:pointer;white-space:nowrap;transition:background .18s}.itinerary-bar-share:hover:not(:disabled){background:var(--burgundy-light)}.itinerary-bar-share:disabled{opacity:.6;cursor:wait}.filter-fab{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:500;transition:bottom .2s}.filter-fab--with-itinerary{bottom:84px}.container.has-itinerary-bar{padding-bottom:160px}.event-card--going{border-color:#c9922a73;background:#221c14}.event-going-toggle{flex-shrink:0;width:32px;height:32px;margin-top:2px;margin-right:4px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:#ffffff08;color:var(--muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.event-going-toggle:hover{border-color:#c9922a66;color:var(--cream)}.event-going-toggle.active{background:#c9922a26;border-color:#c9922a80;color:var(--gold-light)}.event-going-toggle.active svg{opacity:1}.event-going-toggle svg{opacity:.35}.filter-toggle-btn{background:var(--burgundy);color:var(--cream);border:1px solid var(--burgundy-light);padding:10px 20px;border-radius:100px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 4px 20px #00000080;display:flex;align-items:center;gap:8px;transition:all .2s}.filter-toggle-btn:hover{background:var(--burgundy-light)}.filter-count{background:var(--gold);color:var(--black);border-radius:100px;padding:1px 7px;font-size:10px;font-weight:700;display:none}.filter-count.visible{display:inline}.filter-panel{position:fixed;bottom:0;left:0;right:0;z-index:499;background:var(--deep);border-top:1px solid var(--border);padding:20px 16px 36px;transform:translateY(100%);transition:transform .3s ease;max-height:80vh;overflow-y:auto}.filter-panel.open{transform:translateY(0)}.filter-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter-panel-title{font-family:Playfair Display,serif;font-size:1rem;color:var(--cream)}.clear-btn{font-size:11px;color:var(--muted);background:none;border:1px solid var(--border);padding:4px 12px;border-radius:100px;cursor:pointer;font-family:DM Sans,sans-serif}.clear-btn:hover{color:var(--text);border-color:var(--muted)}.close-btn{font-size:11px;color:var(--muted);background:none;border:none;cursor:pointer;font-family:DM Sans,sans-serif;padding:4px 8px}.filter-section{margin-bottom:16px}.filter-section-label{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.filter-pills{display:flex;flex-wrap:wrap;gap:6px}.filter-pill{font-size:11px;padding:5px 12px;border-radius:100px;border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;transition:all .15s;font-family:DM Sans,sans-serif}.filter-pill:hover{border-color:var(--muted);color:var(--text)}.filter-pill.active{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy-light)}.filter-pill.free-pill.active{background:#28502866;color:#7ec87e;border-color:#28502899}.no-results{text-align:center;padding:60px 20px;color:var(--muted);font-size:14px;display:none}.no-results.visible{display:block}.data-status{margin:22px 0 0;padding:12px 14px;border:1px solid rgba(201,146,42,.2);border-radius:10px;background:#c9922a14;color:var(--gold-light);font-size:11.5px;line-height:1.5;text-align:center}.data-status-error{border-color:#8b225573;background:#8b225529;color:#e48ab8}.container{max-width:680px;margin:0 auto;padding:0 16px 120px}.beauty-card{margin-top:36px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 22px;text-align:center}.beauty-kicker{display:inline-block;margin-bottom:10px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}.beauty-card h2{font-family:Playfair Display,serif;font-size:1.55rem;line-height:1.15;color:var(--cream);margin-bottom:10px}.beauty-card p{font-size:13px;line-height:1.7;color:var(--muted);max-width:420px;margin:0 auto}.beauty-section{margin-top:32px}.beauty-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(46,36,24,.65)}.beauty-header h2{font-family:Playfair Display,serif;font-size:1.45rem;line-height:1.15;color:var(--cream);margin-bottom:7px}.beauty-header p{font-size:12px;line-height:1.6;color:var(--muted);max-width:430px}.beauty-count{font-size:10px;color:var(--gold);background:#c9922a1a;border:1px solid rgba(201,146,42,.2);padding:4px 10px;border-radius:100px;white-space:nowrap;flex-shrink:0}.beauty-list{display:grid;gap:10px}.beauty-partner-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:15px;position:relative;overflow:hidden;transition:border-color .2s,background .2s}.beauty-partner-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);border-radius:3px 0 0 3px}.beauty-partner-card:hover{border-color:#c9922a40;background:#201a13}.beauty-partner-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.beauty-partner-top h3{font-size:14px;font-weight:600;color:var(--cream);line-height:1.35}.beauty-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.beauty-detail{background:#ffffff08;border:1px solid rgba(46,36,24,.72);border-radius:10px;padding:8px 9px;min-width:0}.beauty-detail dt{font-size:8.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.beauty-detail dd{font-size:11.5px;line-height:1.45;color:var(--text);overflow-wrap:anywhere}.beauty-detail a{color:var(--gold-light);text-decoration:none}.beauty-detail a:hover{text-decoration:underline;text-decoration-color:#c9922a73}.day-section{margin-top:36px}.day-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;position:sticky;top:0;background:var(--black);padding:10px 0;z-index:10;border-bottom:1px solid rgba(46,36,24,.5)}.day-label{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:var(--cream);white-space:nowrap}.day-date{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.day-count{font-size:10px;color:var(--gold);background:#c9922a1a;border:1px solid rgba(201,146,42,.2);padding:2px 8px;border-radius:100px;white-space:nowrap;flex-shrink:0}.day-line{flex:1;height:1px;background:var(--border);min-width:12px}.day-section.hidden{display:none}.event-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:7px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;transition:border-color .2s,background .2s;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px}.event-card.tp-after-dark:before{background:#8b2255}.event-card.tp-ball:before{background:#8b2255}.event-card.tp-brunch:before{background:#7a4010}.event-card.tp-workshop:before{background:#3a1a5c}.event-card.tp-happy-hour:before{background:var(--gold)}.event-card.tp-outdoors:before{background:#2d5a2d}.event-card.tp-meetup:before{background:#1a3a5c}.event-card.tp-day-party:before{background:#6b1a2a}.event-card.tp-cultural:before{background:#1a4a4a}.event-card:hover{border-color:#c9922a40;background:#201a13}.event-card.filtered-out{display:none}.event-info{flex:1;min-width:0}.event-name{font-size:13px;font-weight:500;color:var(--cream);line-height:1.4;margin-bottom:2px}.event-organizer{font-size:10.5px;color:var(--muted);margin-bottom:6px;font-style:italic}.event-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}.badge{font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:100px;white-space:nowrap}.b-afterdark{background:#8b22554d;color:#e48ab8;border:1px solid rgba(139,34,85,.5)}.b-party{background:#6b1a2a4d;color:#e0748a;border:1px solid rgba(107,26,42,.5)}.b-brunch{background:#7a40104d;color:#e0a060;border:1px solid rgba(122,64,16,.5)}.b-wellness{background:#2d5a2d4d;color:#7ec87e;border:1px solid rgba(45,90,45,.5)}.b-workshop{background:#3a1a5c4d;color:#b07adc;border:1px solid rgba(58,26,92,.5)}.b-happyhour{background:#c9922a26;color:var(--gold-light);border:1px solid rgba(201,146,42,.3)}.b-cultural{background:#1a4a4a4d;color:#5ecece;border:1px solid rgba(26,74,74,.5)}.b-ball{background:#8b22554d;color:#e48ab8;border:1px solid rgba(139,34,85,.5)}.b-outdoors{background:#2d5a2d40;color:#7ec87e;border:1px solid rgba(45,90,45,.4)}.b-meetup{background:#1a3a5c4d;color:#6aacdc;border:1px solid rgba(26,58,92,.5)}.b-free{background:#2850284d;color:#7ec87e;border:1px solid rgba(40,80,40,.5)}.vibes-tag{font-size:9px;color:var(--muted);background:#ffffff0a;border:1px solid var(--border);padding:2px 7px;border-radius:100px}.event-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.meta-pill{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:3px}.meta-pill--location{align-items:flex-start;min-width:0;flex:1 1 auto}.meta-pill-location-text{display:inline;line-height:1.45;min-width:0}.meta-pill-venue,.meta-pill-sep{color:var(--muted)}.meta-pill svg{width:10px;height:10px;opacity:.6;flex-shrink:0;margin-top:2px}.meta-pill--location svg{margin-top:3px}.meta-pill a.meta-pill-maplink{display:inline;color:var(--gold-light);text-decoration:underline;text-decoration-color:#c9922a80;border-radius:2px;transition:color .15s,text-decoration-color .15s}.meta-pill a.meta-pill-maplink:hover{color:var(--cream);text-decoration-color:var(--gold-light)}.meta-pill a.meta-pill-maplink:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.event-vibes{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.event-action{flex:0 1 min(240px,46%);display:flex;flex-direction:column;align-items:flex-end;gap:5px;padding-top:2px;min-width:100px}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-size:10px;font-weight:500;letter-spacing:.04em;padding:6px 11px;border-radius:7px;text-decoration:none;transition:all .18s;white-space:nowrap;text-align:center}.btn-p{background:var(--burgundy);color:var(--cream);border:1px solid var(--burgundy-light)}.btn-p:hover{background:var(--burgundy-light);color:#fff}.btn-g{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-g:hover{color:var(--text);border-color:var(--muted)}.btn-w{background:#503c1433;color:#ca4;border:1px solid rgba(80,60,20,.4)}.btn-free{background:#2850284d;color:#7ec87e;border:1px solid rgba(40,80,40,.5)}.btn-na{background:transparent;color:var(--muted);border:1px solid var(--border);cursor:default;font-size:10px;padding:6px 11px;border-radius:7px}.discount-code{font-size:9.5px;text-align:right;line-height:1.45;margin-top:4px;width:100%;min-width:0;overflow-wrap:break-word}.discount-code-row-inner{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;column-gap:5px;row-gap:2px;max-width:100%}.discount-code-emoji{font-size:10px;line-height:1;display:inline-flex;flex-shrink:0;align-self:center;filter:saturate(1.1)}.discount-code-label{color:var(--cream);opacity:.78;font-weight:500;letter-spacing:.02em}.discount-code-value{color:var(--gold-light);font-weight:600;letter-spacing:.01em}.discount-code-expires{color:var(--muted);font-size:9px;font-weight:400}.discount-code-row-inner--tip{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-end;column-gap:6px;width:100%;max-width:100%}.discount-code-tip-icon{color:var(--gold);flex-shrink:0;align-self:flex-start;margin-top:2px}.discount-code-tip-text{color:var(--gold-light);font-weight:400;text-align:right;flex:1 1 auto;min-width:0;line-height:1.45}.expires{color:var(--muted);font-size:9px}.links-section{margin-top:40px}.links-title{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.link-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);text-decoration:none;transition:opacity .15s}.link-row:last-child{border-bottom:none}.link-row:hover{opacity:.75}.link-row-name{font-size:13px;color:var(--cream)}.link-arrow{color:var(--gold);font-size:16px}.donation-section{max-width:680px;margin:40px auto 0;padding:0 16px}.donation-card{max-width:480px;margin:0 auto;padding:20px 18px;text-align:center;background:#c9922a14;border:1px solid rgba(201,146,42,.22);border-radius:12px}.donation-headline{font-family:Playfair Display,serif;font-size:1.2rem;line-height:1.3;color:var(--cream);margin-bottom:10px}.donation-body{font-size:12px;line-height:1.65;color:var(--gold-light);margin-bottom:16px}.donation-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;color:var(--cream);background:var(--burgundy);border:1px solid var(--burgundy-light);padding:10px 18px;border-radius:100px;text-decoration:none;transition:background .18s,border-color .18s,box-shadow .18s;box-shadow:0 2px 14px #6b1a2a59}.donation-cta:hover{background:var(--burgundy-light);border-color:var(--burgundy-light)}.donation-cta:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.donation-cta svg{color:var(--gold-light);flex-shrink:0}.footer{text-align:center;padding:32px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);line-height:1.8}.footer strong{color:var(--gold)}.hero-social svg{fill:none;stroke:currentColor;flex-shrink:0}@media(max-width:520px){.beauty-header{flex-direction:column}.beauty-details{grid-template-columns:1fr}.beauty-partner-top{align-items:flex-start}.beauty-partner-top .btn{flex-shrink:0}}
