@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');
:root{--black:#050507;--panel:#0d0e12;--panel2:#14151b;--white:#f7f7fb;--muted:#a8a8b3;--pink:#ff2aa1;--cyan:#13e8ff;--line:#282a33}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-top:84px;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;background:rgba(5,5,7,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.25)}.nav{height:84px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center}.brand img{max-height:64px;max-width:210px;object-fit:contain}.navlinks{display:flex;gap:23px;margin-left:auto;align-items:center}.navlinks a{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.075em;position:relative}.navlinks a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan));transition:.2s}.navlinks a:hover:after{right:0}.navlinks a:hover{color:var(--cyan)}.navlinks .admin-link{border:1px solid var(--pink);padding:8px 12px;color:var(--pink)}.menu{display:none;margin-left:auto;background:transparent;color:white;border:1px solid var(--cyan);padding:9px 13px;font-weight:800}.hero{min-height:78vh;background-size:cover;background-position:center;display:flex;align-items:end;position:relative;overflow:hidden}.hero:after,.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 43%,rgba(0,0,0,.14) 78%),linear-gradient(0deg,var(--black) 0%,rgba(5,5,7,.82) 10%,transparent 48%)}.hero:before{content:'';position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(to bottom,transparent,var(--black));z-index:2;pointer-events:none}.hero .inner{position:relative;z-index:3;padding:95px 0;width:min(1180px,calc(100% - 44px));margin:auto}.eyebrow{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--cyan);font-weight:800;font-size:18px}.hero h1{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(64px,10vw,126px);font-style:italic;font-weight:900;letter-spacing:-.035em;margin:8px 0 0;line-height:.78;text-transform:uppercase;text-shadow:-2px 0 8px rgba(255,42,161,.78),2px 0 8px rgba(19,232,255,.72),0 2px 5px rgba(0,0,0,.9)}.hero h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(22px,3vw,34px);font-weight:600;margin:24px 0 0;max-width:700px}.page-hero{min-height:310px;background-size:cover;background-position:center;display:flex;align-items:end;position:relative}.page-hero .wrap{position:relative;z-index:2;padding-bottom:48px}.page-hero h1{margin:0;text-shadow:-2px 0 7px rgba(255,42,161,.75),2px 0 7px rgba(19,232,255,.7),0 2px 5px rgba(0,0,0,.95)}.section{padding:72px 0}.section-kicker{color:var(--pink);text-transform:uppercase;font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.16em}.section h1,.section h2,.page-hero h1,.admin h1,.admin h2{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:.01em}.section h1,.page-hero h1{font-size:clamp(46px,6vw,72px)}.section h2{font-size:clamp(34px,4vw,48px);margin:0 0 28px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:linear-gradient(145deg,var(--panel2),#0b0c10);border:1px solid var(--line);overflow:hidden;position:relative}.card:before{content:'';position:absolute;left:0;top:0;width:4px;height:48px;background:var(--pink)}.card img{width:100%;height:230px;object-fit:cover}.card .pad{padding:22px}.card small{color:var(--cyan);font-weight:700;text-transform:uppercase}.card h3{font-family:'Barlow Condensed',sans-serif;font-size:25px;line-height:1.05;margin:8px 0 12px}.accent{color:var(--pink);font-weight:800}.btn{display:inline-block;background:var(--pink);color:#fff;padding:12px 19px;border:0;font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:4px 4px 0 var(--cyan);transition:.15s}.btn:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--cyan)}.calendar .row{padding:22px 20px;border-bottom:1px solid var(--line);font-size:18px;background:var(--panel);margin-bottom:8px;border-left:3px solid var(--cyan)}.calendar .row strong{font-family:'Barlow Condensed',sans-serif;font-size:24px;color:var(--pink)}.sponsors{display:grid;grid-template-columns:repeat(var(--sponsor-cols,3),minmax(0,1fr));gap:18px}.sponsor{--tile-bg:#fff;position:relative;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px;background:var(--tile-bg);color:#09090b;border:2px solid transparent;background-image:linear-gradient(var(--tile-bg),var(--tile-bg)),linear-gradient(120deg,var(--pink),var(--cyan),var(--pink));background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,220% 220%;animation:sponsorGlow 5s linear infinite;overflow:hidden}.sponsor:hover{transform:translateY(-2px);box-shadow:0 0 18px rgba(255,42,161,.18),0 0 18px rgba(19,232,255,.14)}.sponsor img{max-width:100%;max-height:120px;object-fit:contain}.sponsor-text{text-align:center;font-size:14px;line-height:1.35;font-weight:600}.sponsor-bg-black{--tile-bg:#050507;color:#fff}.sponsor-bg-white{--tile-bg:#fff;color:#09090b}.sponsor-bg-grey{--tile-bg:#777;color:#fff}.sponsor-bg-pink{--tile-bg:var(--pink);color:#fff}.sponsor-bg-cyan{--tile-bg:var(--cyan);color:#001014}@keyframes sponsorGlow{0%{background-position:0 0,0% 50%}50%{background-position:0 0,100% 50%}100%{background-position:0 0,0% 50%}}.gallery{columns:3 280px;column-gap:14px}.gallery img{width:100%;margin:0 0 14px;break-inside:avoid;cursor:pointer;border:1px solid var(--line)}.album{margin-bottom:62px}.bio{max-width:880px;font-size:18px;line-height:1.75;color:#dedee5}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat{padding:22px;background:var(--panel2);border-left:4px solid var(--pink);border-top:1px solid var(--line)}.stat h3{color:var(--cyan);font-family:'Barlow Condensed',sans-serif;font-size:28px;margin:0}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.social-card{display:block;background:var(--panel2);border:1px solid var(--line);overflow:hidden;transition:.18s transform}.social-card:hover{transform:translateY(-3px);border-color:var(--cyan)}.social-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#222}.social-copy{padding:16px}.social-copy p{margin:7px 0 0;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.social-meta{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan)}footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);background:#08090c}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner strong{font-family:'Barlow Condensed',sans-serif;color:white;letter-spacing:.06em}.footer-inner span{color:var(--pink)}.admin{max-width:1180px;margin:38px auto;padding:0 22px}.admin h1{font-size:48px}.admin input,.admin textarea,.admin select{width:100%;background:#0a0b0e;color:white;border:1px solid #3a3c46;padding:11px 12px;margin:6px 0 14px;font:inherit}.admin input:focus,.admin textarea:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}.admin textarea{min-height:110px}.admin label{font-weight:700}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.admin-tab{border:1px solid var(--line);background:var(--panel2);color:white;padding:10px 14px;cursor:pointer;font-weight:700}.admin-tab.active{background:var(--cyan);color:#001014;border-color:var(--cyan)}.admin-panel{display:none}.admin-panel.active{display:block}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card{background:var(--panel);padding:22px;border:1px solid var(--line);margin-bottom:18px}.admin-card h2{color:white;margin-top:0}.notice{background:var(--panel2);padding:15px;border-left:4px solid var(--pink);margin:15px 0}.status-good{color:var(--cyan);font-weight:700}.status-warn{color:#ffbd4a;font-weight:700}.item-row{border-top:1px solid var(--line);padding:16px 0}.item-row:first-child{border-top:0}.smallbtn{padding:8px 11px;margin-right:6px;background:#252730;color:white;border:1px solid #444;cursor:pointer}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.field-help{font-size:12px;color:var(--muted);margin:-8px 0 12px}.image-preview{width:100%;max-height:180px;object-fit:cover;background:#050507;border:1px solid var(--line);margin:4px 0 12px}.upload-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.upload-row .btn{box-shadow:none}.cyan{color:var(--cyan)}.pink{color:var(--pink)}
@media(max-width:900px){.menu{display:block}.navlinks{display:none;position:absolute;top:84px;left:0;right:0;background:#08090c;padding:22px;flex-direction:column;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.grid,.stats,.admin-grid{grid-template-columns:1fr 1fr}.sponsors{grid-template-columns:repeat(min(2,var(--sponsor-cols,3)),minmax(0,1fr))}.hero{min-height:68vh}.section{padding:50px 0}}
@media(max-width:620px){.grid,.stats,.sponsors,.admin-grid{grid-template-columns:1fr}.hero h1{font-size:64px}.hero .inner{padding:65px 0}.page-hero{min-height:230px}.footer-inner{flex-direction:column}.admin h1{font-size:40px}.wrap{width:min(100% - 30px,1180px)}}

.page-hero:before{content:'';position:absolute;left:0;right:0;bottom:0;height:115px;background:linear-gradient(to bottom,transparent,var(--black));z-index:1;pointer-events:none}.sponsor-admin-row h3{color:var(--cyan);margin:0 0 10px}

/* v1.5 — shared animated motorsport edge + deeper hero/content overlap */
@property --edge-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes tmrEdgeSweep{to{--edge-angle:360deg}}

/* Carry the subtle moving pink/cyan edge across the site's feature content. */
.card,.calendar .row,.stat,.social-card{
  border:2px solid transparent;
  background-image:linear-gradient(145deg,var(--panel2),#0b0c10),conic-gradient(from var(--edge-angle),var(--pink),var(--cyan),var(--pink),var(--cyan),var(--pink));
  background-origin:border-box;
  background-clip:padding-box,border-box;
  animation:tmrEdgeSweep 8s linear infinite;
}
.card:before{display:none}
.calendar .row{background-image:linear-gradient(var(--panel),var(--panel)),conic-gradient(from var(--edge-angle),var(--pink),var(--cyan),var(--pink),var(--cyan),var(--pink));border-left-width:2px}
.stat{background-image:linear-gradient(var(--panel2),var(--panel2)),conic-gradient(from var(--edge-angle),var(--pink),var(--cyan),var(--pink),var(--cyan),var(--pink));border-left-width:2px;border-top-width:2px}
.social-card:hover{border-color:transparent;box-shadow:0 0 18px rgba(255,42,161,.14),0 0 18px rgba(19,232,255,.12)}

/* Gallery photos use the same animated edge; the 2px padding exposes the gradient frame. */
.gallery img{
  border:0;
  padding:2px;
  background:conic-gradient(from var(--edge-angle),var(--pink),var(--cyan),var(--pink),var(--cyan),var(--pink));
  animation:tmrEdgeSweep 8s linear infinite;
}

/* Non-home heroes retain more of the photograph and flow behind the content below. */
.page-hero{min-height:390px;overflow:visible}
.page-hero:after{
  background:linear-gradient(105deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.42) 42%,rgba(0,0,0,.08) 80%),linear-gradient(0deg,var(--black) 0%,rgba(5,5,7,.68) 12%,rgba(5,5,7,.20) 32%,transparent 58%);
}
.page-hero:before{height:175px;background:linear-gradient(to bottom,transparent 0%,rgba(5,5,7,.22) 28%,rgba(5,5,7,.72) 72%,var(--black) 100%)}
.page-hero .wrap{padding-bottom:78px}
.page-hero + .section{
  position:relative;
  z-index:4;
  margin-top:-72px;
  padding-top:42px;
  background:linear-gradient(to bottom,rgba(5,5,7,0) 0%,rgba(5,5,7,.82) 58px,var(--black) 118px);
}

@media(max-width:900px){.page-hero{min-height:330px}.page-hero + .section{margin-top:-58px;padding-top:38px}}
@media(max-width:620px){.page-hero{min-height:280px}.page-hero .wrap{padding-bottom:62px}.page-hero + .section{margin-top:-46px;padding-top:32px}}
@media(prefers-reduced-motion:reduce){.card,.calendar .row,.stat,.social-card,.gallery img,.sponsor{animation:none}}

/* v1.6 — browser-safe flowing pink/cyan edge animation.
   Uses background-position rather than animating a registered CSS angle,
   so the movement remains visible consistently across current browsers. */
@keyframes gmrEdgeFlow{
  0%{background-position:0 0,0% 50%}
  50%{background-position:0 0,100% 50%}
  100%{background-position:0 0,0% 50%}
}
.card,.calendar .row,.stat,.social-card{
  background-image:linear-gradient(145deg,var(--panel2),#0b0c10),linear-gradient(110deg,var(--pink) 0%,var(--cyan) 28%,var(--pink) 52%,var(--cyan) 76%,var(--pink) 100%);
  background-size:100% 100%,300% 300%;
  background-position:0 0,0% 50%;
  animation:gmrEdgeFlow 6s ease-in-out infinite;
}
.calendar .row{background-image:linear-gradient(var(--panel),var(--panel)),linear-gradient(110deg,var(--pink) 0%,var(--cyan) 28%,var(--pink) 52%,var(--cyan) 76%,var(--pink) 100%)}
.stat{background-image:linear-gradient(var(--panel2),var(--panel2)),linear-gradient(110deg,var(--pink) 0%,var(--cyan) 28%,var(--pink) 52%,var(--cyan) 76%,var(--pink) 100%)}
.gallery img{
  background:linear-gradient(110deg,var(--pink) 0%,var(--cyan) 28%,var(--pink) 52%,var(--cyan) 76%,var(--pink) 100%);
  background-size:300% 300%;
  animation:gmrGalleryEdgeFlow 6s ease-in-out infinite;
}
@keyframes gmrGalleryEdgeFlow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.sponsor{
  background-image:linear-gradient(var(--tile-bg),var(--tile-bg)),linear-gradient(110deg,var(--pink) 0%,var(--cyan) 28%,var(--pink) 52%,var(--cyan) 76%,var(--pink) 100%);
  background-size:100% 100%,300% 300%;
  animation:gmrEdgeFlow 6s ease-in-out infinite;
}
@media(prefers-reduced-motion:reduce){.card,.calendar .row,.stat,.social-card,.gallery img,.sponsor{animation:none}}

/* v1.7 — tighten Home hero-to-paddock spacing only. */
.hero + .section{
  padding-top:34px;
}
@media(max-width:900px){.hero + .section{padding-top:26px}}
@media(max-width:620px){.hero + .section{padding-top:22px}}

/* v1.9 — restore the original subtle moving pink/cyan edge treatment.
   This deliberately uses the same background-position technique as the sponsor
   tiles in v1.4, which produced the visible motion the site owner preferred. */
@keyframes sponsorGlow{
  0%{background-position:0 0,0% 50%}
  50%{background-position:0 0,100% 50%}
  100%{background-position:0 0,0% 50%}
}
.card,.calendar .row,.stat,.social-card{
  border:2px solid transparent;
  background-origin:border-box;
  background-clip:padding-box,border-box;
  background-size:100% 100%,220% 220%;
  background-position:0 0,0% 50%;
  animation:sponsorGlow 5s linear infinite !important;
}
.card,.social-card{background-image:linear-gradient(145deg,var(--panel2),#0b0c10),linear-gradient(120deg,var(--pink),var(--cyan),var(--pink))}
.calendar .row{background-image:linear-gradient(var(--panel),var(--panel)),linear-gradient(120deg,var(--pink),var(--cyan),var(--pink))}
.stat{background-image:linear-gradient(var(--panel2),var(--panel2)),linear-gradient(120deg,var(--pink),var(--cyan),var(--pink))}
.sponsor{
  background-image:linear-gradient(var(--tile-bg),var(--tile-bg)),linear-gradient(120deg,var(--pink),var(--cyan),var(--pink));
  background-origin:border-box;
  background-clip:padding-box,border-box;
  background-size:100% 100%,220% 220%;
  background-position:0 0,0% 50%;
  animation:sponsorGlow 5s linear infinite !important;
}
.gallery img{
  border:2px solid transparent;
  padding:0;
  background:linear-gradient(120deg,var(--pink),var(--cyan),var(--pink));
  background-size:220% 220%;
  background-position:0% 50%;
  animation:gmrPhotoGlow 5s linear infinite !important;
}
@keyframes gmrPhotoGlow{0%{border-color:var(--pink);box-shadow:0 0 0 rgba(0,0,0,0)}50%{border-color:var(--cyan);box-shadow:0 0 10px rgba(19,232,255,.14)}100%{border-color:var(--pink);box-shadow:0 0 0 rgba(0,0,0,0)}}


/* v2.0 — clickable news headlines + article narrative modal */
.news-headline{appearance:none;background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer;line-height:inherit}.news-headline:hover,.news-headline:focus{color:var(--cyan);text-shadow:-1px 0 5px rgba(255,42,161,.45),1px 0 5px rgba(19,232,255,.45);outline:none}.news-teaser{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#d7d7de}.news-modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:24px}.news-modal.open{display:flex}.news-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(7px)}.news-modal-box{position:relative;z-index:1;width:min(850px,100%);max-height:min(84vh,900px);overflow:auto;background:#0d0e12;border:2px solid transparent;background-image:linear-gradient(#0d0e12,#0d0e12),linear-gradient(120deg,var(--pink),var(--cyan),var(--pink));background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,220% 220%;animation:sponsorGlow 5s linear infinite;box-shadow:0 24px 80px rgba(0,0,0,.65)}.news-modal-close{position:sticky;float:right;top:12px;margin:12px 12px -52px 0;z-index:3;width:42px;height:42px;border:1px solid var(--cyan);background:rgba(5,5,7,.9);color:white;font-size:30px;line-height:34px;cursor:pointer}.news-modal-image{display:block;width:100%;max-height:390px;object-fit:cover}.news-modal-content{padding:30px}.news-modal-content small{color:var(--cyan);font-weight:700;text-transform:uppercase}.news-modal-content h2{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;font-size:clamp(32px,5vw,52px);line-height:1;margin:10px 0 22px;text-shadow:-2px 0 7px rgba(255,42,161,.5),2px 0 7px rgba(19,232,255,.45)}.news-modal-body{white-space:pre-wrap;font-size:17px;line-height:1.72;color:#ededf2}.modal-open{overflow:hidden}@media(max-width:620px){.news-modal{padding:12px}.news-modal-content{padding:22px}.news-modal-box{max-height:90vh}}
