:root{--gold:#d7b16b;--cream:#f1eadc;--bg:#070b11}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:Inter,Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,65px);background:rgba(4,7,12,.87);backdrop-filter:blur(14px);border-bottom:1px solid #b98a3e45}.brand{font-family:Cinzel,serif;color:var(--gold);font-size:clamp(12px,1.5vw,18px);font-weight:900;letter-spacing:.07em}.topbar nav{display:flex;gap:20px;align-items:center}.topbar nav a{font-size:11px;letter-spacing:.07em;font-weight:700}.topbar nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:9px 14px}.menu-toggle{display:none;background:transparent;color:var(--gold);border:1px solid var(--gold);padding:5px 12px;font-size:23px}.hero{min-height:100svh;display:flex;justify-content:center;align-items:center;position:relative;text-align:center;background:linear-gradient(180deg,#04060b65 0%,#07101b80 42%,#070b11 100%),url('/assets/fantasy-bg.png') center center/cover}.hero-inner{max-width:1000px;padding:100px 22px 75px;position:relative;z-index:1}.hero-logo{display:block;width:min(570px,85vw);max-height:42vh;object-fit:contain;margin:0 auto -5px;filter:drop-shadow(0 10px 25px #000)}h1,h2,h3,.chapter,.eyebrow,.button{font-family:Cinzel,Georgia,serif}.eyebrow,.chapter{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.26em}.hero h1{font-size:clamp(23px,3.5vw,48px);margin:14px 0 0;text-shadow:0 3px 14px #000}.hero h2{font-size:clamp(20px,2.8vw,35px);color:var(--gold);margin:0}.hero p{font-size:clamp(15px,1.6vw,19px)}.actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:32px}.button{cursor:pointer;border:1px solid var(--gold);padding:13px 24px;background:linear-gradient(120deg,#b4873e,#e1c07a,#9a6b2c);color:#111;font-weight:900;font-size:12px;letter-spacing:.05em;display:inline-block;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-3px);filter:brightness(1.16)}.button.outline{background:#080b11b8;color:var(--gold)}.scroll-label{position:absolute;bottom:17px;color:#e8ca94;font-size:10px;letter-spacing:.25em}.section{position:relative;padding:120px 24px;background:radial-gradient(ellipse at 80% 15%,#29415b40,transparent 55%),linear-gradient(145deg,#101824,#080b11 75%);border-top:1px solid #d7b16b22;overflow:hidden}.section:before{content:"";position:absolute;inset:0;pointer-events:none;background:url('/assets/fantasy-bg.png') center/cover;opacity:.095;filter:grayscale(.3)}.section.alt{background:radial-gradient(ellipse at 20% 25%,#65301736,transparent 60%),#090d14}.section-inner{position:relative;max-width:1160px;margin:auto;text-align:center}.section h2{font-size:clamp(29px,4vw,54px);line-height:1.18;color:var(--gold);text-shadow:0 3px 20px #000;margin:20px auto;max-width:1000px}.lead{font-size:clamp(17px,2vw,24px);font-family:Georgia,serif;font-style:italic;color:#f5e3bd;margin:20px auto 36px}.text-width{max-width:850px;margin:auto}.text-width p{margin:16px auto;color:#d3d7dd}.features,.legend-grid,.artist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin-top:46px}.features div,.legend-grid span,.artist-grid div{border:1px solid #b78d4b70;background:linear-gradient(140deg,#0b1625cc,#181411b8);padding:24px 15px;color:var(--gold);font-family:Cinzel,serif;font-size:13px;font-weight:700}.legend-grid span{font-size:17px}.musicians-photo{width:100%;height:auto;max-height:440px;object-fit:contain;margin-top:18px}.artist-grid{grid-template-columns:repeat(3,1fr)}.artist-grid div{display:flex;flex-direction:column;gap:8px}.artist-grid span{font:14px Inter,sans-serif;color:#f5efe4}.city-request{margin:60px auto 0;padding:40px 20px;max-width:800px;border:1px solid #d7b16b70;background:#09111fd9}.city-request h3,.finale h3{color:var(--gold);font-size:clamp(22px,3vw,36px)}.gallery{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.gallery img{max-width:min(100%,420px);max-height:540px;object-fit:contain;border:1px solid #b4873e66}.finale{min-height:540px;display:flex;align-items:center}.small-note{font-size:12px;color:#c8b89c}footer{text-align:center;padding:65px 20px;background:#04070c}footer img{width:230px;max-width:75vw}footer p,footer small{color:#9da5af}#social-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:15px}#social-links a{color:var(--gold)}#shows{margin:auto;max-width:850px}.show-row{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:22px;border-bottom:1px solid #c5a36466;text-align:left}.show-row strong{color:var(--gold)}.show-row a{color:var(--gold);text-decoration:underline}dialog{background:#0b121e;color:var(--cream);border:1px solid var(--gold);width:min(520px,94vw);max-height:90vh;overflow:auto;padding:28px}dialog::backdrop{background:#000c}dialog h2{color:var(--gold);font-family:Cinzel,serif}dialog label{display:block;margin:12px 0;font-size:13px}dialog input:not([type=checkbox]),dialog textarea{display:block;width:100%;background:#151f2c;border:1px solid #947c53;color:white;padding:10px;margin-top:5px}dialog .consent{display:flex;gap:10px;align-items:start}dialog .close{float:right;background:none;border:0;color:var(--gold);font-size:30px;cursor:pointer}@media(max-width:980px){.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:100%;left:0;right:0;background:#070b11;flex-direction:column;align-items:stretch;padding:18px 25px}.topbar nav.open{display:flex}.topbar nav a{padding:8px}.artist-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.section{padding:82px 17px}.artist-grid{grid-template-columns:1fr}.hero-logo{max-height:35vh}.hero-inner{padding-top:85px}.show-row{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Ten-band artwork, two rows of five */
.legends-artwork{margin:42px auto 0;width:100%;max-width:1160px;overflow:hidden;border:1px solid #a27b3b45;background:#070a10}.legends-artwork img{display:block;width:100%;height:auto}

/* Refreshed contemporary fantasy typography */
h1,h2,h3,.brand,.chapter,.eyebrow{font-family:'Marcellus SC',Georgia,serif}
.button,.topbar nav a,.features div,.artist-grid b{font-family:Rajdhani,Inter,sans-serif;font-weight:700;letter-spacing:.065em}
.lead{font-family:Inter,Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:.005em}
.section h2{color:#e4bb75;letter-spacing:.012em}
.artist-grid div{font-family:Rajdhani,Inter,sans-serif;font-size:17px}
.musicians-photo{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:24px auto 0}
.city-hero-cta{background:linear-gradient(120deg,#573011,#bb7c35,#573011);color:#fff4d9;box-shadow:0 0 16px #e5a64b60}
#city-request{scroll-margin-top:100px}
@media(max-width:540px){.hero .actions{gap:10px}.hero .button{width:100%;max-width:350px}}

dialog .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#city-submit:disabled{opacity:.6;cursor:wait}#form-status{min-height:1.6em;color:#f3d89c}dialog .consent input{margin-top:4px}

/* Floating call to action, outside the page content flow */
.city-floating-cta{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px 20px;max-width:calc(100vw - 32px);border:1px solid #f2c877;border-radius:8px;background:linear-gradient(135deg,#382018,#9b5a25 55%,#40231a);color:#fff5dd;box-shadow:0 6px 25px #000a,0 0 19px #d58d3e66;font-family:Rajdhani,Inter,Arial,sans-serif;font-weight:700;font-size:15px;letter-spacing:.045em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.city-floating-cta:hover{transform:translateY(-3px);box-shadow:0 9px 28px #000b,0 0 28px #e6a85099}
.city-floating-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:600px){.city-floating-cta{right:12px;bottom:12px;padding:12px 14px;font-size:12px;max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){.city-floating-cta{transition:none}}

/* Notion-driven tour dates */
.shows-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin:32px 0 50px}
.show-card{overflow:hidden;border:1px solid rgba(218,171,89,.4);background:rgba(7,12,22,.83);box-shadow:0 12px 35px rgba(0,0,0,.25)}
.poster-button{display:block;width:100%;padding:0;border:0;background:#0b101a;cursor:zoom-in}
.poster-button img{display:block;width:100%;height:320px;object-fit:contain}
.show-content{padding:24px}.show-content h3{margin:10px 0;font-size:1.4rem}.show-content p{line-height:1.6}
.show-date,.show-status{color:#e8c985;font-weight:700;letter-spacing:.08em}.show-description{opacity:.85}
.show-content .button{display:inline-block;margin-top:16px}
.poster-dialog{max-width:min(92vw,900px);max-height:92vh;padding:10px;border:1px solid #b99454;background:#080b11;color:white}
.poster-dialog::backdrop{background:rgba(0,0,0,.9)}.poster-dialog img{display:block;max-width:100%;max-height:80vh;object-fit:contain}
.poster-close{position:absolute;right:12px;top:10px;background:#171717;color:white;border:1px solid #b99454;font-size:28px;cursor:pointer;min-width:44px;min-height:44px}
