@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/09f6c2baa931b883-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6b4fe0bff7871930-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/064ea76c844b54f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b0fde133b3c9bd9c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92daa4d0098aa288-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/09f6c2baa931b883-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6b4fe0bff7871930-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/064ea76c844b54f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b0fde133b3c9bd9c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/92daa4d0098aa288-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/09f6c2baa931b883-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6b4fe0bff7871930-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/064ea76c844b54f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b0fde133b3c9bd9c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/92daa4d0098aa288-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/09f6c2baa931b883-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6b4fe0bff7871930-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/064ea76c844b54f3-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b0fde133b3c9bd9c-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Libre_Franklin_770d2d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/92daa4d0098aa288-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Libre_Franklin_Fallback_770d2d;src:local("Arial");ascent-override:92.61%;descent-override:23.58%;line-gap-override:0.00%;size-adjust:104.31%}.__className_770d2d{font-family:__Libre_Franklin_770d2d,__Libre_Franklin_Fallback_770d2d;font-style:normal}.__variable_770d2d{--font-libre:"__Libre_Franklin_770d2d","__Libre_Franklin_Fallback_770d2d"}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/47f136985ef5b5cb-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4ead58c4dcc3f285-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/28a2004cf8372660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Playfair_Display_6069b5;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/eaead17c7dbfcd5d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Playfair_Display_Fallback_6069b5;src:local("Times New Roman");ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:111.26%}.__className_6069b5{font-family:__Playfair_Display_6069b5,__Playfair_Display_Fallback_6069b5;font-style:normal}.__variable_6069b5{--font-playfair:"__Playfair_Display_6069b5","__Playfair_Display_Fallback_6069b5"}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/325259dae461ae2a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d8f3713f2c4f699b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e9d289c6eb42bf7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/325259dae461ae2a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d8f3713f2c4f699b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0e9d289c6eb42bf7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/325259dae461ae2a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d8f3713f2c4f699b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0e9d289c6eb42bf7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/325259dae461ae2a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d8f3713f2c4f699b-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Dancing_Script_d45373;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0e9d289c6eb42bf7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Dancing_Script_Fallback_d45373;src:local("Arial");ascent-override:112.99%;descent-override:34.39%;line-gap-override:0.00%;size-adjust:81.43%}.__className_d45373{font-family:__Dancing_Script_d45373,__Dancing_Script_Fallback_d45373;font-style:normal}.__variable_d45373{--font-script:"__Dancing_Script_d45373","__Dancing_Script_Fallback_d45373"}:root,[data-theme=light]{color-scheme:light;--bg:#f0ede8;--text:#9b1a1a;--muted:#8a7060;--border:#ddd8d2;--card-bg:#f5f0e8;--card-shadow:0 2px 8px rgba(44,31,20,.06),0 8px 32px rgba(44,31,20,.08);--card-shadow-hover:0 4px 16px rgba(44,31,20,.1),0 16px 48px rgba(44,31,20,.13);--pill-active-bg:#9b1a1a;--pill-active-text:#fff;--nav-bg:hsla(38,21%,93%,.94);background-color:var(--bg);color:var(--text)}[data-theme=dark]{color-scheme:dark;--bg:#1a130d;--text:#ede8e2;--muted:#7a6a5a;--border:#2e231a;--card-bg:#231810;--card-shadow:0 2px 8px rgba(0,0,0,.4),0 8px 32px rgba(0,0,0,.5);--card-shadow-hover:0 4px 20px rgba(0,0,0,.6),0 20px 56px rgba(0,0,0,.6);--pill-active-bg:#ede8e2;--pill-active-text:#1a130d;--nav-bg:rgba(26,19,13,.94);background-color:var(--bg);color:var(--text)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-libre),"Libre Franklin","Inter",sans-serif;-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:inherit;border:none;background:none}.intro-overlay{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .8s cubic-bezier(.4,0,.2,1)}.intro-overlay--out{opacity:0}.intro-brand{font-family:var(--font-playfair),"Playfair Display",serif;font-size:clamp(3rem,10vw,8rem);font-weight:400;color:var(--text);letter-spacing:-.02em;animation:introBrand 2s cubic-bezier(.22,1,.36,1) forwards}@keyframes introBrand{0%{opacity:0;transform:scale(2.2);filter:blur(16px);letter-spacing:.2em}30%{opacity:.7;filter:blur(4px)}70%{opacity:1;filter:blur(0);transform:scale(1.05);letter-spacing:-.01em}to{opacity:1;transform:scale(1);filter:blur(0);letter-spacing:-.02em}}.cat-root{height:100vh;display:flex;flex-direction:column;overflow:clip}.cat-nav{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:56px;background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);position:relative}.cat-nav-left{display:flex;gap:28px}.cat-nav-link{font-size:.66rem;font-weight:600;letter-spacing:.14em;color:var(--muted)}.cat-nav-brand{font-family:var(--font-playfair),"Playfair Display",serif;font-size:1.15rem;font-weight:500;color:var(--text);position:absolute;left:50%;transform:translateX(-50%)}.cat-nav-right{display:flex;align-items:center;gap:14px}.cat-upcoming-wrap{position:relative;display:flex;align-items:center}.cat-upcoming-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border);border-radius:20px;padding:5px 26px 5px 12px;font-size:.64rem;font-weight:600;letter-spacing:.1em;color:var(--muted);font-family:inherit;cursor:default}.cat-upcoming-select option{color:#9b1a1a;background:var(--card-bg)}.cat-chevron{position:absolute;right:9px;font-size:.6rem;color:var(--muted);pointer-events:none}.cat-theme-toggle{display:flex;border:1px solid var(--border);border-radius:20px;overflow:hidden}.cat-theme-toggle button{padding:5px 12px;font-size:.64rem;font-weight:600;letter-spacing:.08em;color:var(--muted);transition:background .2s,color .2s}.cat-theme-toggle button.active{background:var(--text);color:var(--bg)}.cat-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:56px 48px 36px;grid-gap:24px;gap:24px;border-bottom:1px solid var(--border)}.cat-hero-left{display:flex;flex-direction:column;gap:5px}.cat-hero-count{font-size:.7rem;letter-spacing:.1em;color:var(--muted);font-family:var(--font-playfair),serif;font-style:italic}.cat-hero-sub{font-size:.64rem;font-weight:700;letter-spacing:.15em;color:var(--muted)}.cat-city{font-family:var(--font-playfair),"Playfair Display",serif;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:200;letter-spacing:-.01em;line-height:1;color:var(--text);text-align:center}.cat-hero-desc{font-size:.88rem;line-height:1.75;color:var(--muted);text-align:right;max-width:210px;margin-left:auto}.cat-filters{padding:32px 48px 28px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--border)}.cat-filter-group{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cat-filter-label{font-size:.62rem;font-weight:700;letter-spacing:.15em;color:var(--muted);min-width:58px;flex-shrink:0}.cat-filter-pills{display:flex;flex-wrap:wrap;gap:7px}.cat-pill{display:flex;align-items:center;gap:5px;padding:6px 14px;border-radius:100px;border:1px solid var(--border);background:transparent;font-size:.72rem;font-weight:500;color:var(--text);transition:border-color .16s,background .16s,color .16s,transform .14s}.cat-pill:hover:not(:disabled){border-color:var(--text);transform:translateY(-1px)}.cat-pill.active{background:var(--pill-active-bg);color:var(--pill-active-text);border-color:var(--pill-active-bg)}.cat-pill:disabled{opacity:.4;cursor:not-allowed;transform:none}.cat-grid-bar{justify-content:space-between;padding:16px 48px}.cat-grid-bar,.cat-grid-nav{display:flex;align-items:center}.cat-grid-nav{gap:8px}.cat-nav-arrow{width:33px;height:33px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--text);transition:background .15s,border-color .15s,color .15s}.cat-nav-arrow:hover:not(:disabled){background:var(--text);color:var(--bg);border-color:var(--text)}.cat-nav-arrow:disabled{opacity:.25;cursor:default}.cat-nav-count{font-size:.68rem;letter-spacing:.1em;color:var(--muted)}.cat-all-btn{font-size:.64rem;font-weight:700;letter-spacing:.14em;color:var(--muted);padding:6px 16px;border:1px solid var(--border);border-radius:20px;margin-left:4px;transition:background .15s,color .15s,border-color .15s}.cat-all-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.cat-clear{font-size:.68rem;font-weight:600;color:var(--muted);padding:5px 12px;border:1px solid var(--border);border-radius:20px;transition:color .15s,border-color .15s}.cat-clear:hover{color:var(--text);border-color:var(--text)}.cat-grid{flex:1 1;min-height:0;overflow:visible;padding:8px 48px 16px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.cat-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--muted);letter-spacing:.05em}@keyframes slideInLeft{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}.cat-grid--left{animation:slideInLeft .42s cubic-bezier(.25,.46,.45,.94) both}.cat-grid--right{animation:slideInRight .42s cubic-bezier(.25,.46,.45,.94) both}.cat-card{display:flex;flex-direction:column;overflow:visible;position:relative;cursor:pointer;text-decoration:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.cat-card:hover{transform:translateY(-8px) scale(1.03)}.cat-card-inner{flex:1 1;min-height:0;background:var(--card-bg);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px;text-align:center;box-shadow:var(--card-shadow);position:relative;overflow:hidden;transition:box-shadow .35s ease,background .35s ease}.cat-card:hover .cat-card-inner{background:hsla(0,0%,100%,.45);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 8px 32px rgba(139,0,0,.12),inset 0 2px 8px hsla(0,0%,100%,.6),inset 0 -1px 4px rgba(139,0,0,.08);border:1px solid hsla(0,0%,100%,.7)}.cat-card-inner:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,.05) 40%,rgba(255,230,220,.15) 70%,hsla(0,0%,100%,.3));border-radius:14px;opacity:0;transition:opacity .35s ease;pointer-events:none}.cat-card:hover .cat-card-inner:after{opacity:1}.cat-card-emoji{font-size:1.4rem;line-height:1}.cat-card-name{font-family:var(--font-playfair),"Playfair Display",serif;font-size:.82rem;font-weight:500;line-height:1.35;color:var(--text)}.cat-card-tag{font-weight:400;letter-spacing:.04em;font-style:italic}.cat-card-maps,.cat-card-tag{font-size:.62rem;color:var(--muted)}.cat-card-maps{display:flex;align-items:center;gap:4px;margin-top:4px;font-weight:600;letter-spacing:.08em;opacity:0;transition:opacity .25s ease}.cat-card:hover .cat-card-maps{opacity:1}.cat-pin{width:9px;height:9px;fill:currentColor;flex-shrink:0}.about-overlay{position:fixed;inset:0;z-index:50;background:rgba(59,10,31,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:flex-start;padding:72px 0 0 48px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.about-card{background:var(--card-bg);border-radius:20px;box-shadow:var(--card-shadow-hover);padding:36px 36px 28px;max-width:360px;width:100%;position:relative;animation:slideDown .22s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.about-close{position:absolute;top:14px;right:18px;font-size:1.4rem;color:var(--muted);line-height:1;transition:color .15s}.about-close:hover{color:var(--text)}.about-emoji{font-size:2rem;margin-bottom:10px}.about-title{font-family:var(--font-playfair),"Playfair Display",serif;font-size:1.6rem;font-weight:500;color:var(--text);margin-bottom:16px}.about-body{font-size:.82rem;line-height:1.8;color:var(--muted);margin-bottom:24px}.about-footer{display:flex;align-items:center;gap:10px;font-size:.68rem;font-weight:600;letter-spacing:.08em;color:var(--muted);border-top:1px solid var(--border);padding-top:16px}.contribute-card{max-width:400px}.contribute-form{display:flex;flex-direction:column;gap:10px}.contribute-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.8rem;font-family:inherit;color:var(--text);outline:none;transition:border-color .15s;resize:none}.contribute-input::placeholder{color:var(--muted)}.contribute-input:focus{border-color:var(--text)}.contribute-textarea{line-height:1.6}.contribute-submit{align-self:flex-end;padding:9px 22px;background:var(--text);color:var(--bg);border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.1em;cursor:pointer;font-family:inherit;border:none;transition:opacity .15s}.contribute-submit:hover{opacity:.85}.contribute-thanks{text-align:left}.cat-view-toggle-bar{display:flex;align-items:center;gap:8px;padding:14px 48px 10px;border-bottom:1px solid var(--border)}.cat-view-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:100px;border:1px solid var(--border);font-size:.68rem;font-weight:600;letter-spacing:.1em;color:var(--muted);transition:background .16s,color .16s,border-color .16s}.cat-view-btn:hover:not(.active){border-color:var(--text);color:var(--text)}.cat-view-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}.cat-map-container{flex:1 1;min-height:0;margin:0 48px 16px;border-radius:16px;overflow:hidden;border:1px solid var(--border);position:relative}.cat-map-fallback{display:flex;align-items:center;justify-content:center;height:100%;font-size:.82rem;color:var(--muted);text-align:center;padding:24px}.cat-map-fallback code{font-size:.78rem;background:var(--border);padding:2px 6px;border-radius:4px}.cat-mobile-upcoming{display:none}@media (max-width:1024px){.cat-hero{padding:40px 32px 28px}.cat-filters,.cat-grid-bar{padding-left:32px;padding-right:32px}.cat-nav{padding:0 32px}.cat-grid{padding:8px 32px 16px}}@media (max-width:768px){body,html{overflow:auto;-webkit-overflow-scrolling:touch}.cat-root{height:auto;min-height:100dvh;overflow:visible}.cat-nav{padding:0 20px;height:52px;position:-webkit-sticky;position:sticky;top:0}.cat-nav-left{gap:18px}.cat-upcoming-wrap{display:none}.cat-hero{grid-template-columns:1fr 1fr;padding:28px 20px 20px;gap:12px}.cat-city{font-size:clamp(2.8rem,10vw,4rem)}.cat-hero-desc{font-size:.8rem;max-width:180px}.cat-filters{padding:20px 20px 16px;gap:10px}.cat-filter-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.cat-filter-pills::-webkit-scrollbar{display:none}.cat-pill{white-space:nowrap;flex-shrink:0}.cat-view-toggle-bar{padding:10px 20px 8px}.cat-map-container{margin:0 20px 16px;border-radius:12px}.cat-mobile-upcoming{display:flex;align-items:center;gap:10px;padding:8px 20px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.cat-mobile-upcoming::-webkit-scrollbar{display:none}.cat-mobile-upcoming-label{font-size:.58rem;font-weight:700;letter-spacing:.14em;color:var(--muted);flex-shrink:0}.cat-mobile-upcoming-city{font-size:.68rem;font-weight:500;color:var(--text);white-space:nowrap;padding:3px 10px;border:1px solid var(--border);border-radius:20px;flex-shrink:0;opacity:.6}.cat-grid-bar{padding:12px 20px}.cat-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,minmax(120px,1fr));gap:10px;padding:8px 20px 24px;overflow:visible}.cat-card:hover{transform:translateY(-4px) scale(1.02)}.cat-card-name{font-size:.78rem}.about-overlay{padding:0;align-items:flex-end;justify-content:center}.about-card{border-radius:20px 20px 0 0;padding:28px 24px 32px}.about-card,.contribute-card{max-width:100%}}@media (max-width:480px){.cat-nav{padding:0 16px;height:48px}.cat-nav-left{display:none}.cat-nav-brand{font-size:1rem}.cat-theme-toggle button{padding:4px 9px;font-size:.6rem}.cat-hero{grid-template-columns:1fr;padding:20px 16px 16px;text-align:center;gap:8px}.cat-hero-left{align-items:center}.cat-hero-desc{text-align:center;margin:0 auto;max-width:240px}.cat-city{font-size:clamp(3rem,16vw,4.5rem);text-align:center}.cat-filters{padding:16px 16px 12px}.cat-filter-label{min-width:48px;font-size:.58rem}.cat-pill{padding:5px 11px;font-size:.68rem}.cat-grid-bar{padding:10px 16px}.cat-clear{font-size:.64rem}.cat-nav-count{font-size:.62rem}.cat-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,minmax(110px,auto));gap:8px;padding:6px 16px env(safe-area-inset-bottom,24px)}.cat-view-toggle-bar{padding:8px 16px 6px}.cat-view-btn{font-size:.64rem;padding:6px 12px;gap:5px}.cat-map-container{margin:0 16px env(safe-area-inset-bottom,16px);border-radius:10px}.cat-card-emoji{font-size:1.2rem}.cat-card-name{font-size:.74rem}.cat-card-tag{font-size:.58rem}.cat-card-inner{padding:12px 8px;gap:4px;border-radius:12px}.cat-card-maps{opacity:1;font-size:.58rem;margin-top:2px}.about-card{padding:24px 20px 28px}.about-title{font-size:1.3rem}.about-body{font-size:.78rem}.contribute-input{font-size:.78rem;padding:9px 12px}}