.city-hero{position:relative;height:70dvh;min-height:640px;background:var(--ink);overflow:hidden;color:var(--white)}.city-hero .photo{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center}@media(max-width:880px){.city-hero .photo{background-image:var(--bg-sm, var(--bg))}}.city-hero .photo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#00000073,#0000 55%),linear-gradient(0deg,#0000004d,#0000 30%);pointer-events:none}.city-hero-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:var(--gutter)}.city-hero .eyebrow{font-family:var(--font-body);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.18em;opacity:.85;margin-bottom:9px}.city-hero .crumb{margin-bottom:16px}.city-title{font-family:var(--font-display);font-weight:400;font-synthesis:none;text-rendering:geometricPrecision;font-kerning:normal;font-size:clamp(72px,11.5vw,164px);line-height:.72;text-transform:uppercase;letter-spacing:0;margin:0;color:var(--white)}.city-title-accent{color:inherit}@media(max-width:640px){.city-title br{display:none}.city-title{text-wrap:balance}.city-title.city-title-long{font-size:min(56px,15.5vw - 6px)}}.city-title.city-title-has-diacritics{line-height:.84}.city-hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}@media(max-width:880px){.city-hero{min-height:540px}}.marquee{background:var(--ink);color:var(--cream);overflow:hidden;height:52px;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.marquee-track{display:flex;align-items:center;gap:28px;animation:marquee 38s linear infinite;flex-shrink:0;padding-left:28px;width:max-content}.marquee-track span:not(.dot){font-family:var(--font-display);font-weight:400;font-synthesis:none;text-rendering:geometricPrecision;font-kerning:normal;font-size:clamp(16px,1.6vw,22px);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;line-height:1}.marquee-track .dot{width:6px;height:6px;border-radius:var(--r-dot);background:var(--brand-red);flex-shrink:0;display:inline-block}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:880px){.marquee{height:44px}}.statline blockquote,.local-tip blockquote{font-family:var(--font-flourish);font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.25;letter-spacing:-.01em;padding-left:28px;border-left:3px solid var(--brand-red);margin:0}.statline cite,.local-tip cite{display:block;font-family:var(--font-body);font-style:normal;font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-top:28px;padding-left:28px;opacity:.7}.local-tip{padding:100px var(--gutter);text-align:center}.local-tip .label{display:none}.local-tip blockquote{font-size:clamp(24px,2.6vw,36px);line-height:1.3;letter-spacing:-.005em;border-left:none;padding-left:0;max-width:32ch;margin:0 auto}.local-tip cite{padding-left:0}@media(max-width:880px){.local-tip{padding:60px var(--gutter)}}.runners{background:var(--ink);color:var(--cream);padding:72px var(--gutter)}.runners .section-head{margin-bottom:36px}.runners .section-head h2{color:var(--cream)}.runners-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.runner-row{border-top:1px solid rgba(255,255,255,.18);padding:28px 32px 28px 0;display:flex;flex-direction:column;gap:14px}.runner-row+.runner-row{border-left:1px solid rgba(255,255,255,.18);padding-left:32px}.runner-row h3{font-family:var(--font-display);font-weight:400;font-synthesis:none;text-rendering:geometricPrecision;font-kerning:normal;font-size:36px;line-height:1;text-transform:uppercase;letter-spacing:.04em;margin:0}.runner-row h3:after{content:"."}.runner-row p{font-family:var(--font-body);font-weight:500;font-size:15px;line-height:1.55;color:#ffffffc7;max-width:40ch;margin:0}@media(max-width:880px){.runners{padding:60px var(--gutter)}.runners-table{grid-template-columns:1fr}.runner-row+.runner-row{border-left:0;padding-left:0}.runner-row{padding:28px 0}}.venue-tabs{display:flex;flex-wrap:wrap;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:32px}.venue-tab{font-family:var(--font-body);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.16em;padding:20px 26px;color:var(--ink);background:transparent;border:0;cursor:pointer;position:relative;opacity:.62;transition:opacity var(--t-base) var(--ease-out),color var(--t-base) var(--ease-out)}.venue-tab:hover,.venue-tab.active{opacity:1}.venue-tab.active:after{content:"";position:absolute;left:26px;right:26px;bottom:-1px;height:2px;background:var(--brand-red)}@media(max-width:880px){.venue-tab{padding:16px 18px;font-size:11px;letter-spacing:.14em}.venue-tab.active:after{left:18px;right:18px}}.venue-card{display:block;cursor:pointer;background:transparent;padding:10px 10px 16px;border:0;color:var(--ink);position:relative;transition:color .22s var(--ease-out)}.venue-card:before{content:"";position:absolute;inset:-1px;background:var(--ink);opacity:0;transform:scale(.95);transform-origin:center;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out);pointer-events:none;z-index:0}.venue-card:hover:before{opacity:1;transform:scale(1)}.venue-card>*{position:relative;z-index:1}.venue-card:hover{color:var(--cream)}.venue-photo{aspect-ratio:4 / 3;background:var(--ink);position:relative;overflow:hidden;margin-bottom:14px}.venue-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform .28s var(--ease-out)}.venue-card:hover .venue-photo img{transform:scale(1)}.venue-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.18) 100%);pointer-events:none}.venue-cat-badge{position:absolute;top:12px;right:12px;z-index:2;background:var(--brand-red);color:var(--white);font-family:var(--font-body);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px}.venue-name{font-family:var(--font-display);font-weight:400;font-synthesis:none;text-rendering:geometricPrecision;font-kerning:normal;font-size:30px;line-height:1;text-transform:uppercase;letter-spacing:0;margin:0 0 4px;padding:0 4px}.venue-meta{font-family:var(--font-body);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.14em;opacity:.6;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:0 4px}.venue-card:hover .venue-meta{opacity:.85}.venue-meta .dot{width:3px;height:3px;background:currentColor;border-radius:var(--r-dot);flex-shrink:0}@media(prefers-reduced-motion:reduce){.venue-card:before,.venue-card .venue-photo img{transition:opacity .1s var(--ease-out)}.venue-card:hover:before{transform:none}.venue-card:hover .venue-photo img{transform:none}}.good-to-know{padding:100px var(--gutter);background:var(--cream-deep);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.gtk-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}.gtk-grid .eyebrow{font-family:var(--font-body);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--brand-red);margin-bottom:8px}.gtk-grid h2{font-family:var(--font-display);font-weight:400;font-synthesis:none;text-rendering:geometricPrecision;font-kerning:normal;font-size:clamp(34px,4vw,56px);line-height:1;text-transform:uppercase;letter-spacing:0;margin:0}.gtk-grid .lead{font-family:var(--font-flourish);font-style:italic;font-size:18px;line-height:1.45;letter-spacing:-.005em;margin-top:24px;max-width:32ch;opacity:.85}.gtk-table{width:100%;border-collapse:collapse}.gtk-table tr{border-bottom:1px solid var(--rule)}.gtk-table tr:first-child{border-top:1px solid var(--rule)}.gtk-table th,.gtk-table td{text-align:left;padding:22px 4px;vertical-align:top}.gtk-table th{font-family:var(--font-body);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#0a0a0aa3;width:38%}.gtk-table td{font-family:var(--font-body);font-weight:500;font-size:16px}.gtk-table td .accent{color:var(--brand-red);margin-right:8px}.gtk-clock{font-variant-numeric:tabular-nums}.gtk-plug{display:flex;align-items:center;gap:10px}.plug-icons{display:inline-flex;gap:5px;flex:none}.plug-icon{width:21px;height:21px;color:var(--ink);display:block}@media(min-width:881px){.gtk-grid{align-items:stretch}.gtk-grid>div{display:flex;flex-direction:column}.gtk-grid .lead{margin-top:auto}}@media(max-width:880px){.good-to-know{padding:60px var(--gutter)}.gtk-grid{grid-template-columns:1fr;gap:40px}}
