:root{--navy:#031f45;--navy2:#082d5c;--cream:#f5f5ee;--ice:#eaf7fb;--coral:#f34b36;--yellow:#ffbd24;--green:#048779;--white:#fff;--ink:#061f40}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Archivo",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:16px}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.hero{position:relative;min-height:92vh;color:#fff;background:var(--navy);overflow:hidden}.hero:before{content:"";position:absolute;width:620px;height:620px;border:110px solid rgba(255,255,255,.045);border-radius:50%;right:-270px;top:-310px}.hero:after{content:"";position:absolute;width:400px;height:400px;border:76px solid rgba(4,135,121,.45);border-radius:50%;left:-275px;bottom:-250px}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;border-bottom:1px solid rgba(255,255,255,.16)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:800;font-size:1.18rem;letter-spacing:-.04em}.brand b{color:var(--coral)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--yellow);color:var(--navy);border-radius:50% 50% 50% 10%;transform:rotate(-8deg);font-size:1.35rem}.nav-cta{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.55);padding:12px 18px;border-radius:999px;font-weight:700;font-size:.9rem}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .72fr;gap:7vw;align-items:center;padding:70px 0 90px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:700;font-size:.78rem;display:flex;gap:10px;align-items:center}.eyebrow span{display:inline-block;width:34px;height:5px;border-radius:8px;background:var(--yellow)}h1{font-size:clamp(3.4rem,6.5vw,6.7rem);line-height:.91;letter-spacing:-.07em;margin:24px 0 30px;max-width:850px}h1 em{color:var(--coral);font-style:normal}.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.6;max-width:620px;color:#dce9f5}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:36px}.button{display:inline-flex;align-items:center;gap:28px;padding:18px 22px;border-radius:6px;text-decoration:none;font-weight:800}.button-primary{background:var(--yellow);color:var(--navy);box-shadow:7px 7px 0 var(--coral)}.hero-actions p{margin:0;font-size:.82rem;line-height:1.5;color:#afc5dc}.hero-actions p strong{color:white;font-size:1rem}.poster-wrap{margin:0;transform:rotate(2.2deg);background:#fff;padding:9px;box-shadow:22px 25px 0 var(--coral),0 30px 70px rgba(0,0,0,.3)}.poster-wrap img{display:block;width:100%;height:auto}.poster-wrap figcaption{color:var(--navy);text-align:center;padding:11px 6px 6px;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.scribble{font-family:"Permanent Marker",cursive;position:absolute;right:40%;bottom:25px;color:var(--yellow);font-size:1.15rem;line-height:.9;transform:rotate(-9deg)}.shows{padding:100px 0 115px}.section-heading{display:grid;grid-template-columns:1fr 330px;align-items:end;gap:30px;margin-bottom:50px}.eyebrow.dark{color:var(--green)}.section-heading h2,.venue h2{font-size:clamp(2.6rem,5vw,5rem);line-height:.96;letter-spacing:-.065em;margin:14px 0 0}.section-heading>p{font-size:1.05rem;line-height:1.55;margin:0;color:#52657b}.show-list{display:flex;flex-direction:column;gap:14px}.show-card{--accent:var(--coral);position:relative;display:grid;grid-template-columns:125px 56px 1fr auto;gap:28px;align-items:center;min-height:146px;padding:24px 28px;background:white;border:1px solid #d6e0e7;overflow:hidden;transition:transform .2s,box-shadow .2s}.show-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(5,32,69,.1)}.show-card:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:var(--accent)}.coral{--accent:#f34b36}.cyan{--accent:#14a5b8}.rose{--accent:#e97a8f}.blue{--accent:#438acf}.yellow{--accent:#f0aa00}.date{display:flex;align-items:center;gap:10px}.date b{font-size:3.5rem;line-height:1;letter-spacing:-.08em}.date span{font-size:.68rem;line-height:1.45;font-weight:800;letter-spacing:.12em}.show-number{font-size:.75rem;font-weight:800;color:var(--accent);border:1px solid var(--accent);height:34px;width:34px;display:grid;place-items:center;border-radius:50%}.show-info p{text-transform:uppercase;font-size:.76rem;letter-spacing:.15em;font-weight:800;color:var(--accent);margin:0 0 7px}.show-info h3{font-size:clamp(1.45rem,2.6vw,2.35rem);letter-spacing:-.045em;margin:0 0 8px}.show-info span{font-size:.78rem;color:#738397}.ticket{display:flex;align-items:center;gap:28px;color:var(--navy);border:2px solid var(--navy);padding:16px 18px;text-decoration:none;font-weight:800;white-space:nowrap}.ticket:hover,.ticket:focus-visible{background:var(--navy);color:#fff}.ticket b{font-size:1.25rem}.venue{position:relative;background:var(--green);color:white;padding:90px 0;overflow:hidden}.venue:after{content:"";position:absolute;width:300px;height:300px;border:70px solid rgba(255,189,36,.9);border-radius:50%;right:-170px;bottom:-190px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.venue-info{display:flex;gap:24px;padding:30px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.08)}.pin{flex:0 0 auto;width:44px;height:44px;border-radius:50% 50% 50% 8px;background:var(--yellow);color:var(--coral);display:grid;place-items:center;transform:rotate(-15deg)}.venue-info h3{font-size:1.45rem;margin:0 0 12px}.venue-info p{line-height:1.65;color:#d6fff8}.venue-info a{color:#fff;font-weight:800;text-underline-offset:5px}footer{background:var(--navy);color:#fff;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-inner p{font-size:.78rem;color:#afc5dc}.footer-inner strong{color:#fff}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr;padding-top:55px}.poster-wrap{width:min(540px,90%);margin:15px auto 25px}.scribble{display:none}.section-heading{grid-template-columns:1fr}.show-card{grid-template-columns:105px 1fr auto}.show-number{display:none}.venue-grid{grid-template-columns:1fr;gap:45px}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1180px)}.hero{min-height:auto}.nav{height:76px}.nav-cta{font-size:.72rem;padding:10px 12px}.brand{font-size:.96rem}.brand-mark{width:32px;height:32px}.hero-grid{padding:42px 0 74px;gap:45px}h1{font-size:3.2rem}.lead{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column}.poster-wrap{width:calc(100% - 18px);box-shadow:12px 14px 0 var(--coral),0 25px 50px rgba(0,0,0,.3)}.shows{padding:70px 0 80px}.section-heading{margin-bottom:30px}.show-card{grid-template-columns:1fr;gap:15px;padding:24px 22px}.show-card:before{width:6px}.date{position:absolute;right:18px;top:18px}.date b{font-size:2rem}.date span{font-size:.55rem}.show-info{padding-right:90px}.show-info h3{font-size:1.7rem}.ticket{width:100%;justify-content:space-between}.venue{padding:70px 0}.venue-info{padding:24px 18px}.footer-inner{align-items:flex-start;gap:20px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.show-card{transition:none}}

/* Artist imagery and producer lockup */
.show-card{grid-template-columns:118px 148px 42px minmax(220px,1fr) auto;gap:22px;padding:18px 24px;min-height:154px}
.artist-photo{display:block;width:148px;height:106px;object-fit:cover;border-radius:4px;box-shadow:5px 5px 0 var(--accent)}
.producer{display:flex;align-items:center;gap:14px}
.producer span{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#afc5dc;font-weight:700}
.producer img{display:block;width:170px;height:auto;background:#fff;border-radius:3px;padding:7px 10px}
@media(max-width:1000px){.show-card{grid-template-columns:102px 130px 1fr auto}.show-number{display:none}.artist-photo{width:130px;height:96px}}
@media(max-width:850px){.show-card{grid-template-columns:95px 120px 1fr}.artist-photo{width:120px;height:92px}.ticket{grid-column:2/4;width:max-content}}
@media(max-width:620px){.show-card{grid-template-columns:118px 1fr;gap:14px;padding:20px 18px}.date{grid-column:1/3;position:static}.date b{font-size:2.45rem}.date span{font-size:.58rem}.artist-photo{width:118px;height:88px}.show-info{padding:0}.show-info h3{font-size:1.45rem}.ticket{grid-column:1/3;width:100%}.producer{width:100%;justify-content:space-between}.producer img{width:160px}}
