:root{--racing-red: #E00000;--racing-red-dark: #B80000;--racing-red-light: #FF2D2D;--asphalt-black: #0A0A0A;--asphalt-dark: #121212;--asphalt-medium: #1A1A1A;--asphalt-light: #2A2A2A;--carbon-fiber: #1E1E1E;--gold: #D4AF37;--gold-light: #E8C547;--gold-dark: #B8962E;--glass-bg: rgba(26, 26, 26, .7);--glass-border: rgba(255, 255, 255, .1);--glass-highlight: rgba(255, 255, 255, .05);--text-primary: #FFFFFF;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--gradient-hero: linear-gradient(135deg, var(--asphalt-black) 0%, var(--carbon-fiber) 50%, var(--asphalt-dark) 100%);--gradient-card: linear-gradient(180deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .02) 100%);--gradient-red: linear-gradient(135deg, var(--racing-red) 0%, var(--racing-red-dark) 100%);--gradient-gold: linear-gradient(135deg, var(--gold-light) 0%, var(--gold-dark) 100%);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow-red: 0 0 30px rgba(224, 0, 0, .3);--shadow-glow-gold: 0 0 30px rgba(212, 175, 55, .3);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 9999px;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-overlay: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text-primary);background:var(--asphalt-black);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2.5rem,8vw,5rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}p{color:var(--text-secondary)}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.glass-card--hover{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-display);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:var(--radius-pill);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn--primary{background:var(--gradient-red);color:var(--text-primary);box-shadow:var(--shadow-glow-red)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #e0000080}.btn--secondary{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);border:1px solid var(--glass-border)}.btn--secondary:hover{background:#ffffff1a;border-color:#fff3}.btn--gold{background:var(--gradient-gold);color:var(--asphalt-black);box-shadow:var(--shadow-glow-gold)}.btn--gold:hover{transform:translateY(-2px);box-shadow:0 0 40px #d4af3780}.btn--lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.btn--disabled,.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none}.pill{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border)}.pill--accent{background:#e0000026;border-color:#e000004d;color:var(--racing-red-light)}.pill--gold{background:#d4af3726;border-color:#d4af374d;color:var(--gold-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes raceStripe{0%{transform:translate(-100%)}to{transform:translate(100%)}}.racing-pattern{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:-1;background-image:radial-gradient(ellipse at 20% 0%,rgba(224,0,0,.1) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(212,175,55,.05) 0%,transparent 50%),linear-gradient(180deg,var(--asphalt-black) 0%,var(--carbon-fiber) 100%)}.racing-pattern:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 70%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.3) 0%,transparent 70%)}@media(max-width:768px){:root{--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem}.container{padding:0 var(--spacing-sm)}}:focus-visible{outline:2px solid var(--racing-red);outline-offset:2px}::selection{background:var(--racing-red);color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--asphalt-dark)}::-webkit-scrollbar-thumb{background:var(--asphalt-light);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--racing-red)}.navbar{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);padding:var(--spacing-md) 0;transition:all var(--transition-normal)}.navbar--scrolled{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:var(--spacing-sm) 0}.navbar__container{display:flex;align-items:center;justify-content:space-between}.navbar__logo{display:flex;align-items:baseline;gap:.5rem;font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:-.02em}.navbar__logo-text{display:flex;align-items:baseline;font-size:1.5rem}.navbar__logo-gp{color:var(--racing-red)}.navbar__logo-divider{color:var(--text-muted);margin:0 .25rem}.navbar__logo-city{color:var(--text-primary)}.navbar__logo-year{font-size:.75rem;font-weight:600;color:var(--gold);background:#d4af3726;padding:.25rem .5rem;border-radius:var(--radius-pill);border:1px solid rgba(212,175,55,.3)}.navbar__links{display:flex;align-items:center;gap:var(--spacing-lg);list-style:none}.navbar__link{position:relative;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);transition:color var(--transition-fast)}.navbar__link:hover{color:var(--text-primary)}.navbar__link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--racing-red);transition:width var(--transition-fast)}.navbar__link:hover:after{width:100%}.navbar__cta{display:none}.navbar__mobile-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px}.navbar__mobile-toggle-line{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-fast)}.navbar__mobile-toggle.is-active .navbar__mobile-toggle-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar__mobile-toggle.is-active .navbar__mobile-toggle-line:nth-child(2){opacity:0}.navbar__mobile-toggle.is-active .navbar__mobile-toggle-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.navbar__mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);overflow:hidden}.navbar__mobile-links{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);list-style:none}.navbar__mobile-link{font-size:1.125rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);transition:color var(--transition-fast)}.navbar__mobile-link:hover{color:var(--text-primary)}@media(min-width:768px){.navbar__mobile-toggle{display:none}.navbar__cta{display:inline-flex}}@media(max-width:767px){.navbar__links{display:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl) 0;overflow:hidden}.hero__decoration{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.hero__stripe{position:absolute;width:200%;height:2px;background:linear-gradient(90deg,transparent,var(--racing-red),transparent);opacity:.3}.hero__stripe--1{top:30%;left:-50%;transform:rotate(-5deg);animation:raceStripe 8s linear infinite}.hero__stripe--2{bottom:25%;left:-50%;transform:rotate(3deg);animation:raceStripe 12s linear infinite reverse;opacity:.2}.hero__glow{position:absolute;width:600px;height:600px;border-radius:50%;filter:blur(150px);opacity:.15}.hero__glow--red{top:-200px;right:-200px;background:var(--racing-red)}.hero__glow--gold{bottom:-200px;left:-200px;background:var(--gold);opacity:.1}.hero__container{position:relative;z-index:1}.hero__content{text-align:center;max-width:900px;margin:0 auto}.hero__date{margin-bottom:var(--spacing-lg)}.hero__title{margin-bottom:var(--spacing-md)}.hero__title-line{display:block;background:linear-gradient(135deg,var(--text-primary) 0%,rgba(255,255,255,.8) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__title-line--accent{background:linear-gradient(135deg,var(--racing-red) 0%,var(--racing-red-light) 50%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 60px rgba(224,0,0,.3)}.hero__subtitle{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-secondary);max-width:600px;margin:0 auto var(--spacing-xl);line-height:1.7}.hero__subtitle strong{color:var(--text-primary);font-weight:600}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.hero__stats{display:inline-flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-xl);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl)}.hero__stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.hero__stat-value{font-size:1.75rem;font-weight:800;color:var(--text-primary);font-family:var(--font-display)}.hero__stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.hero__stat-divider{width:1px;height:40px;background:var(--glass-border)}.hero__scroll{position:absolute;bottom:var(--spacing-xl);left:50%;transform:translate(-50%)}.hero__scroll-link{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);color:var(--text-muted);transition:color var(--transition-fast)}.hero__scroll-link:hover{color:var(--text-primary)}.hero__scroll-text{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.hero__scroll-icon{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(6px)}60%{transform:translateY(3px)}}@media(max-width:768px){.hero{padding-top:calc(var(--spacing-3xl) + 60px)}.hero__stats{flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.hero__stat-divider{width:60px;height:1px}.hero__glow{width:300px;height:300px}}.event-card{display:flex;flex-direction:column;overflow:hidden;height:100%}.event-card--featured{flex-direction:row}.event-card--featured .event-card__image-wrapper{width:45%;min-height:350px}.event-card--featured .event-card__content{width:55%}.event-card__image-wrapper{position:relative;height:220px;overflow:hidden}.event-card__image{width:100%;height:100%;background-size:cover;background-position:center;transition:transform var(--transition-slow)}.event-card:hover .event-card__image{transform:scale(1.05)}.event-card__image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,rgba(10,10,10,.4) 60%,rgba(10,10,10,.8) 100%)}.event-card--featured .event-card__image-overlay{background:linear-gradient(90deg,transparent 0%,rgba(10,10,10,.6) 70%,rgba(10,10,10,.9) 100%)}.event-card__category{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);z-index:2}.event-card__featured-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);z-index:2}.event-card__content{display:flex;flex-direction:column;flex:1;padding:var(--spacing-md);gap:var(--spacing-sm)}.event-card--featured .event-card__content{padding:var(--spacing-lg);justify-content:center}.event-card__header{margin-bottom:var(--spacing-xs)}.event-card__title{font-size:1.375rem;margin-bottom:.25rem;color:var(--text-primary)}.event-card--featured .event-card__title{font-size:1.75rem}.event-card__tagline{font-size:.875rem;color:var(--gold);font-weight:500;font-style:italic}.event-card__meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.event-card__meta-item{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-secondary)}.event-card__meta-item svg{color:var(--racing-red);flex-shrink:0}.event-card__description{font-size:.9rem;line-height:1.6;color:var(--text-secondary);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-card--featured .event-card__description{-webkit-line-clamp:4}.event-card__tags{display:flex;flex-wrap:wrap;gap:.5rem}.event-card__tag{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .625rem;background:var(--glass-highlight);border-radius:var(--radius-sm);color:var(--text-muted)}.event-card__actions{display:flex;gap:var(--spacing-sm);margin-top:auto;padding-top:var(--spacing-sm)}.event-card__actions .btn{flex:1}@media(max-width:768px){.event-card--featured{flex-direction:column}.event-card--featured .event-card__image-wrapper,.event-card--featured .event-card__content{width:100%}.event-card--featured .event-card__image-wrapper{min-height:200px;height:200px}.event-card--featured .event-card__image-overlay{background:linear-gradient(180deg,transparent 0%,rgba(10,10,10,.4) 60%,rgba(10,10,10,.8) 100%)}}.event-grid{display:flex;flex-direction:column;gap:var(--spacing-xl)}.event-grid__featured{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.event-grid__regular{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}@media(max-width:1024px){.event-grid__featured{grid-template-columns:1fr}.event-grid__regular{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.event-grid__regular{grid-template-columns:1fr}}.concierge{padding:var(--spacing-3xl) 0;position:relative}.concierge__header{text-align:center;margin-bottom:var(--spacing-2xl)}.concierge__header .pill{margin-bottom:var(--spacing-sm)}.concierge__header h2{margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 50%,var(--gold-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.concierge__header p{max-width:600px;margin:0 auto;font-size:1.125rem}.concierge__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.concierge__main{padding:var(--spacing-xl);height:100%}.concierge__icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#d4af3726;border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);color:var(--gold)}.concierge__main h3{font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.concierge__main>p{font-size:1rem;line-height:1.7;margin-bottom:var(--spacing-lg)}.concierge__features{list-style:none;display:flex;flex-direction:column;gap:.75rem}.concierge__features li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--text-secondary)}.concierge__features li svg{color:var(--gold);flex-shrink:0}.concierge__contacts{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.concierge__contact-card{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);text-decoration:none}.concierge__contact-card[href]:hover{border-color:var(--gold)}.concierge__contact-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#d4af371a;border-radius:var(--radius-md);color:var(--gold);flex-shrink:0}.concierge__contact-content{display:flex;flex-direction:column;gap:.25rem}.concierge__contact-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.concierge__contact-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.concierge__contact-note{font-size:.8rem;color:var(--text-secondary)}@media(max-width:1024px){.concierge__grid{grid-template-columns:1fr}.concierge__contacts{grid-template-columns:1fr 1fr}}@media(max-width:640px){.concierge__contacts{grid-template-columns:1fr}}.race-recap{padding:var(--spacing-3xl) 0;position:relative}.race-recap:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--racing-red),transparent)}.race-recap__header{text-align:center;margin-bottom:var(--spacing-2xl)}.race-recap__header .pill{margin-bottom:var(--spacing-sm)}.race-recap__header h2{margin-bottom:var(--spacing-xs)}.race-recap__subtitle{font-size:1.125rem;color:var(--text-muted)}.race-recap__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.race-recap__summary{padding:var(--spacing-xl)}.race-recap__summary h3{font-size:1.5rem;margin-bottom:var(--spacing-md);color:var(--text-primary)}.race-recap__summary p{font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-md)}.race-recap__summary p:last-of-type{margin-bottom:var(--spacing-lg)}.race-recap__stats{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--glass-border)}.race-recap__stat{display:flex;flex-direction:column;align-items:center}.race-recap__stat-value{font-size:1.75rem;font-weight:800;color:var(--racing-red);font-family:var(--font-display)}.race-recap__stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.race-recap__podium h3{font-size:1.25rem;margin-bottom:var(--spacing-md);color:var(--text-primary)}.race-recap__podium-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.race-recap__podium-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.race-recap__podium-position{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;font-family:var(--font-display);border-radius:var(--radius-md);flex-shrink:0}.race-recap__podium-item--p1 .race-recap__podium-position{background:linear-gradient(135deg,gold,orange);color:var(--asphalt-black)}.race-recap__podium-item--p2 .race-recap__podium-position{background:linear-gradient(135deg,silver,#a8a8a8);color:var(--asphalt-black)}.race-recap__podium-item--p3 .race-recap__podium-position{background:linear-gradient(135deg,#cd7f32,#8b4513);color:var(--text-primary)}.race-recap__podium-info{display:flex;flex-direction:column;gap:.125rem}.race-recap__podium-flag{font-size:1.25rem;line-height:1}.race-recap__podium-driver{font-size:1rem;font-weight:600;color:var(--text-primary)}.race-recap__podium-team{font-size:.8rem;color:var(--text-muted)}.race-recap__circuit{padding:var(--spacing-md)}.race-recap__circuit h4{font-size:1rem;margin-bottom:var(--spacing-sm);color:var(--racing-red)}.race-recap__circuit p{font-size:.875rem;line-height:1.6}.race-recap__seo{max-width:900px;margin:0 auto;text-align:center}.race-recap__seo h3{font-size:1.5rem;margin-bottom:var(--spacing-md);color:var(--text-primary)}.race-recap__seo p{font-size:1rem;line-height:1.8;margin-bottom:var(--spacing-md)}@media(max-width:1024px){.race-recap__grid{grid-template-columns:1fr}}@media(max-width:640px){.race-recap__stats{flex-direction:column;gap:var(--spacing-sm)}}.footer{position:relative;padding:var(--spacing-3xl) 0 var(--spacing-lg);background:var(--asphalt-dark);border-top:1px solid var(--glass-border);margin-top:var(--spacing-3xl)}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--racing-red),var(--gold),var(--racing-red))}.footer__container{position:relative}.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.footer__brand{max-width:300px}.footer__logo{display:inline-flex;align-items:baseline;gap:.5rem;font-family:var(--font-display);font-size:1.75rem;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:var(--spacing-md)}.footer__logo-gp{color:var(--racing-red)}.footer__logo-divider{color:var(--text-muted);margin:0 .125rem}.footer__logo-city{color:var(--text-primary)}.footer__logo-year{font-size:.625rem;font-weight:600;color:var(--gold);background:#d4af3726;padding:.2rem .4rem;border-radius:var(--radius-pill);border:1px solid rgba(212,175,55,.3);margin-left:.25rem}.footer__tagline{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.footer__section{display:flex;flex-direction:column}.footer__section-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin-bottom:var(--spacing-md)}.footer__section-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.footer__links{list-style:none;display:flex;flex-direction:column;gap:.75rem}.footer__links a{font-size:.9rem;color:var(--text-secondary);transition:color var(--transition-fast)}.footer__links a:hover{color:var(--racing-red)}.footer__contact{list-style:none;display:flex;flex-direction:column;gap:.75rem}.footer__contact-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary);transition:color var(--transition-fast)}.footer__contact-link:hover{color:var(--racing-red)}.footer__contact-link svg{flex-shrink:0;color:var(--gold)}.footer__newsletter{display:flex;gap:.5rem}.footer__newsletter-input{flex:1;padding:.75rem 1rem;font-size:.875rem;font-family:var(--font-body);color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-pill);outline:none;transition:border-color var(--transition-fast)}.footer__newsletter-input::placeholder{color:var(--text-muted)}.footer__newsletter-input:focus{border-color:var(--racing-red)}.footer__newsletter-btn{padding:.75rem 1.25rem}.footer__disclaimer{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);font-size:.75rem;color:var(--text-muted);text-align:center;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.5}.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-lg);border-top:1px solid var(--glass-border)}.footer__copyright,.footer__made-with{font-size:.8rem;color:var(--text-muted)}.footer__heart{color:var(--racing-red);animation:pulse 1.5s ease-in-out infinite}@media(max-width:1024px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.footer__brand{grid-column:1 / -1;max-width:100%;text-align:center}}@media(max-width:640px){.footer__grid{grid-template-columns:1fr;text-align:center}.footer__section{align-items:center}.footer__newsletter{flex-direction:column;width:100%;max-width:300px}.footer__bottom{flex-direction:column;gap:var(--spacing-sm);text-align:center}}.app{min-height:100vh;display:flex;flex-direction:column}.events-section{padding:var(--spacing-3xl) 0}.section-header{text-align:center;margin-bottom:var(--spacing-2xl)}.section-header .pill{margin-bottom:var(--spacing-sm)}.section-header h2{margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header p{max-width:600px;margin:0 auto;font-size:1.125rem}main{flex:1}
