:root{font-family:Arial,Helvetica,sans-serif;color:#f7f4ee;background:#101113;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#101113}a{color:inherit;text-decoration:none}.wrap{max-width:760px;margin:auto;min-height:100vh;background:linear-gradient(180deg,#1c1d20,#101113 55%)}header{background:#08090a;border-bottom:3px solid #ac2527;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:1000;font-style:italic;line-height:.92;font-size:23px;text-shadow:2px 2px #871e21;letter-spacing:-1px}.brand small{display:block;font-size:12px;color:#ffcf62;letter-spacing:1px;margin-top:6px;text-shadow:none}.menu{font-size:13px;color:#ddd;border:1px solid #444;border-radius:7px;padding:9px 11px}main{padding:24px 18px 48px}.eyebrow{color:#f4bf4f;font-weight:800;letter-spacing:2px;font-size:12px;text-align:center}.headline{text-align:center;font-weight:1000;font-size:clamp(32px,7vw,58px);line-height:1.03;margin:14px 0}.red{color:#f04a45}.gold{color:#f4bf4f}.lead{text-align:center;color:#d1d1d1;line-height:1.5;margin:12px auto 24px;max-width:540px}.hero{min-height:180px;background:linear-gradient(0deg,#111 0%,transparent 70%),linear-gradient(115deg,#381010,#ba2e24 45%,#191919 80%);border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #653334}.hero .car{font-size:100px;filter:drop-shadow(0 12px 12px #0009)}.navcards{display:grid;gap:11px;margin:20px 0}.navcard{background:linear-gradient(100deg,#282a2c 75%,#a92429 75%);border:1px solid #444;border-radius:11px;padding:19px 17px;display:flex;align-items:center;gap:14px}.navcard .ico{font-size:30px;width:38px}.navcard strong{font-size:18px}.navcard small{display:block;color:#ccc;margin-top:4px}.navcard .arrow{margin-left:auto;font-size:28px;font-weight:900}.official{background:#29221b;border:1px solid #735c35}.card{background:#242629;border:1px solid #444;border-radius:13px;padding:20px;margin:20px 0}.field{display:block;margin:14px 0 6px;font-weight:700;font-size:13px}.textbox{width:100%;background:#f9f9f9;border:2px solid transparent;border-radius:7px;padding:15px;font-size:18px;color:#222}.btn{display:block;width:100%;text-align:center;background:#bb262b;color:white;border:0;border-radius:8px;padding:16px;font-size:17px;font-weight:900;margin-top:20px;cursor:pointer}.btn:disabled{background:#7d3839;color:#f5dddd;cursor:not-allowed}.notice{background:#33271b;border:1px solid #95703d;border-radius:9px;padding:14px;color:#ffe2a0;font-size:14px;line-height:1.5;margin:20px 0}.muted{color:#bdbdbd;font-size:13px;line-height:1.5}.center{text-align:center}.tabs{display:flex;gap:6px;margin:22px 0}.tab{flex:1;background:#292a2d;border:1px solid #555;color:#fff;border-radius:6px;padding:13px 5px;font-weight:800;font-size:12px;cursor:pointer}.tab.active{background:#b82a2c;border-color:#b82a2c}.event{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid #414141}.event time{width:88px;flex-shrink:0;font-weight:800;color:#f3c35c}.event strong{display:block}.event small{display:block;color:#bdbdbd;margin-top:5px}.map{position:relative;border-radius:14px;overflow:hidden;background:#648b53;border:7px solid #343536;aspect-ratio:1.18}.map svg{display:block;width:100%;height:100%}.mapnote{margin-top:14px}.foot{padding:24px;text-align:center;border-top:1px solid #353535;color:#aaa;font-size:12px}.back{display:inline-block;color:#f4c15b;margin-bottom:14px;font-weight:700}.pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pill{border:1px solid #8e6d35;border-radius:20px;color:#f4c15b;padding:7px 11px;font-size:12px}.tiny{font-size:11px;color:#aaa;text-align:center;margin-top:13px}@media(min-width:600px){main{padding:32px 36px 60px}.navcards{grid-template-columns:1fr 1fr}.navcard{min-height:95px}.hero{min-height:220px}}

/* Official festival branding — V2 */
header .brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;text-shadow:none;font-style:normal;letter-spacing:normal}
header .brand img{display:block;width:auto;height:72px;max-width:min(55vw,260px);object-fit:contain;object-position:left center}
header{min-height:102px}
@media(max-width:390px){header .brand img{height:60px}header{padding:12px}}
