*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Mulish",sans-serif;font-weight:400;color:rgba(58,47,40,.8);line-height:1.7;background:#fcf2ea;background:linear-gradient(180deg,#f6e2d3 0%,#fcf2ea 38%,#f3e3d5 100%) fixed;min-height:100vh;overflow-x:hidden}


.container{width:100%;max-width:1440px;margin:0 auto}
.site-header{position:relative;z-index:2;padding:1.5rem 0}
.site-header .container{padding:0 clamp(1rem,3vw,2.5rem)}
.header-img{display:block;width:100%;height:auto;border-radius:16px}

.live-wrap{position:relative;z-index:1;padding:2.5rem clamp(1rem,5vw,4rem) 3.5rem}
.live-card{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:clamp(.9rem,1.2vw,1rem)}
.live-logo{width:clamp(140px,16vw,220px);display:block;margin-bottom:1.2rem;filter:drop-shadow(0 4px 24px rgba(0,0,0,.12))}

h1{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.2;color:#31352b;font-weight:800;margin-bottom:1rem}
h2{font-size:clamp(1.2rem,1.8vw,1.5rem);color:#4b543f;font-weight:800;margin:2.6rem 0 .9rem}
h3{font-size:1rem;color:#31352b;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:1.6rem 0 .5rem}
p{margin-bottom:.9rem;max-width:68ch}
strong{color:rgba(49,53,43,.95);font-weight:700}
a{color:hsla(86,14%,29%,.95);text-underline-offset:3px}
a:hover{color:#4b543f}
ul{list-style:none;margin-bottom:.9rem}
ul li{padding:.15rem 0}
.times{border-collapse:collapse;width:100%;max-width:560px;margin:0 auto .9rem;text-align:left;background:rgba(255,255,255,.55);border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(49,53,43,.08)}
.times th,.times td{padding:.8rem 1.1rem;vertical-align:top}
.times th{width:7rem;font-weight:800;color:#4b543f;white-space:nowrap}
.times tr+tr th,.times tr+tr td{border-top:1px solid rgba(164,173,143,.45)}
.lead{font-size:1.05em}
.routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;width:100%;text-align:left}
.route{background:rgba(255,255,255,.55);border-radius:14px;padding:.4rem 1.4rem 1rem;box-shadow:0 4px 18px rgba(49,53,43,.08)}
.route h3{margin-top:1rem}
.route p{max-width:none}
.route ul{padding-left:1.1rem;list-style:disc}
.routes .note{grid-column:1 / -1;margin:0;max-width:none}
.note{margin-top:.8rem;padding:1rem 1.2rem;background:rgba(252,242,234,.8);border-left:4px solid #a4ad8f;border-radius:8px;text-align:left}
.back{margin-top:2.2rem;font-size:.9rem}
.live-card .btn-live{margin:.6rem 0 0}

.btn-live{display:inline-block;align-self:center;font-family:"Mulish",sans-serif;font-weight:800;font-size:clamp(.8rem,1.05vw,.95rem);letter-spacing:.04em;text-transform:uppercase;text-align:center;text-decoration:none;line-height:1.3;color:#fcf2ea;background:#4b543f;padding:1rem 1.8rem;border-radius:999px;box-shadow:0 6px 20px rgba(49,53,43,.25);transition:transform .18s,background .18s,box-shadow .18s}
.btn-live:hover{background:#31352b;color:#fcf2ea;transform:translateY(-2px);box-shadow:0 10px 26px rgba(49,53,43,.3)}
.btn-live:focus-visible{outline:3px solid #a4ad8f;outline-offset:3px}
.ticket-info{margin-top:1.5rem;font-size:.85rem;line-height:1.5;color:rgba(58,47,40,.65);max-width:52ch}

@media (max-width:768px){
  .live-wrap{padding:1.5rem 1.2rem 2.5rem}
  .live-card .btn-live{width:100%}
  .times th{width:5.5rem}
  .routes{grid-template-columns:1fr}
  .site-header{padding:1rem 0}
  .header-img{border-radius:10px}
}
