:root{--b:#070808;--b2:#0d0f0f;--l:#292b2b;--w:#f4f2ed;--m:#c7c6c1;--r:#c5142c;--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--b);color:var(--w);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.45}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 72px));margin:auto}.header{position:sticky;top:0;z-index:20;background:rgba(7,8,8,.98);border-bottom:1px solid var(--l)}.head{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:Impact,'Arial Narrow',sans-serif;font-size:48px;line-height:.68;letter-spacing:.055em;text-decoration:none;white-space:nowrap}.brand small{display:block;font:800 11px Arial;letter-spacing:.34em;margin-top:13px}.nav{display:flex;list-style:none;margin:0;padding:0;border:1px solid var(--l)}.nav a{display:flex;padding:13px 15px;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:800;border-left:1px solid var(--l)}.nav li:first-child a{border-left:0}.hero{min-height:610px;display:grid;grid-template-columns:42% 58%;border-bottom:1px solid var(--l)}.copy{padding:64px 48px 56px max(48px,calc((100vw - var(--max))/2));display:flex;justify-content:center;flex-direction:column}.ey{font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:900}.date{font-family:Impact,'Arial Narrow',sans-serif;font-size:72px;line-height:.95;margin:13px 0 4px}.artist{font-family:Impact,'Arial Narrow',sans-serif;font-size:92px;line-height:.92;color:var(--r);margin:0}.more{font-family:Impact,'Arial Narrow',sans-serif;font-size:28px;line-height:1.05;margin:12px 0 28px}.facts{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid #444;padding-top:22px}.fact b{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.fact span{color:var(--m)}.stage{background:none center/cover no-repeat;position:relative}.stage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,8,.35),transparent 40%),linear-gradient(0deg,rgba(7,8,8,.35),transparent 50%)}.section{border-bottom:1px solid var(--l);padding:58px 0}.section h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:56px;line-height:.95;text-transform:uppercase;font-weight:400;margin:8px 0 28px}.artist-card{display:grid;grid-template-columns:55% 45%;border:1px solid #3a3c3c;background:#0b0c0c}.artist-photo{min-height:460px;background:none center/cover no-repeat}.artist-copy{padding:48px;display:flex;flex-direction:column;justify-content:center}.artist-copy h3{font-family:Impact,'Arial Narrow',sans-serif;font-size:66px;color:var(--r);margin:0 0 18px;font-weight:400}.artist-copy p{color:var(--m);max-width:600px;font-size:19px}.media-placeholder{margin-top:18px;padding:18px;border:1px dashed #555;color:#999;font-size:13px}.btn{display:inline-flex;width:max-content;margin-top:20px;padding:15px 20px;border:1px solid #aaa;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.17em;font-weight:900}.details{display:grid;grid-template-columns:1fr 1fr;gap:60px}.detail-list{display:grid;grid-template-columns:150px 1fr;margin:0}.detail-list dt,.detail-list dd{padding:13px 0;border-bottom:1px solid #303232;margin:0}.detail-list dt{text-transform:uppercase;font-size:11px;letter-spacing:.18em;font-weight:900}.detail-list dd{color:var(--m)}.venue-img{min-height:370px;background:none center/cover no-repeat;border:1px solid #333}.footer{padding:40px 0}.footer .wrap{display:flex;justify-content:space-between;align-items:center}.footnote{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#aaa}.toggle{display:none}
@media(max-width:850px){.wrap{width:calc(100% - 36px)}.head{height:76px}.brand{font-size:38px}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:#090a0a;flex-direction:column}.nav.open{display:flex}.nav a{border-left:0;border-top:1px solid var(--l);padding:17px 20px}.toggle{display:block;background:none;border:1px solid #555;color:#fff;font-size:25px;width:46px;height:42px}.hero{grid-template-columns:1fr}.stage{min-height:330px;order:-1}.copy{padding:42px 22px}.date{font-size:16vw}.artist{font-size:20vw}.artist-card,.details{grid-template-columns:1fr}.artist-photo{min-height:330px}.artist-copy{padding:28px 22px}.section h2{font-size:12vw}.artist-copy h3{font-size:15vw}.details{gap:34px}.footer .wrap{align-items:flex-start;gap:24px;flex-direction:column}}

.locked-logo{display:inline-grid;grid-template-columns:max-content;justify-items:stretch;color:#fff;line-height:.78;text-decoration:none}
.locked-amma{font-family:Impact,"Arial Narrow",sans-serif;font-size:52px;font-weight:900;letter-spacing:-2px;text-align:center;white-space:nowrap}
.locked-live{font-family:Impact,"Arial Narrow",sans-serif;font-size:21px;font-weight:700;display:flex;justify-content:space-between;width:100%;margin-top:9px;white-space:nowrap}
.locked-live i{font-style:normal;display:inline-block}
@media(max-width:820px){.locked-amma{font-size:44px}.locked-live{font-size:17px;margin-top:8px}}


:root{--shell:1180px;--gutter:36px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.wrap{
  width:min(var(--shell),calc(100% - 2*var(--gutter)))!important;
  max-width:var(--shell)!important;
  margin-left:auto!important;margin-right:auto!important
}

/* Logo: käytetään suoraan käyttäjän hyväksymää logokuvaa kaikkialla. */
.brand{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  font-size:0!important;
  line-height:0!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  -webkit-text-stroke:0!important
}
.logo-image{
  display:block!important;
  width:142px!important;
  height:auto!important;
  max-width:none!important
}
.footer .logo-image,footer .logo-image{width:142px!important}

/* Etusivun hero käyttää samaa sivurunkoa eikä enää leviä iMacilla. */
.home .hero{
  width:min(var(--shell),calc(100% - 2*var(--gutter)))!important;
  max-width:var(--shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,42%) minmax(0,58%)!important
}
.home .hero-copy{
  min-width:0!important;
  padding:66px 34px 60px 0!important
}
.home h1.display{
  margin:0 0 22px!important;
  font-size:1rem!important;
  line-height:1!important;
  overflow:visible!important;
  max-width:100%!important
}
.home .event-date{
  display:block!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(45px,3.65vw,66px)!important;
  line-height:.9!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  max-width:100%!important
}
.home .event-artist{
  display:block!important;
  font-family:Impact,"Arial Narrow",sans-serif!important;
  font-size:clamp(58px,5.15vw,86px)!important;
  line-height:.92!important;
  margin-top:6px!important;
  white-space:nowrap!important
}

/* Bändeille: tiiviimpi desktop-taitto, ei turhaa pitkää tyhjää alaosaa. */
body.bands-page .hero{padding:58px 0 48px!important}
body.bands-page .content{
  grid-template-columns:minmax(0,1fr) minmax(390px,.82fr)!important;
  gap:54px!important;
  padding:52px 0 56px!important;
  align-items:start!important
}
body.bands-page .copy p{font-size:18px!important;margin-bottom:18px!important}
body.bands-page .formbox{padding:26px!important}
body.bands-page .formbox h2{margin-bottom:22px!important}
body.bands-page .field{margin-bottom:12px!important}
body.bands-page .field input,
body.bands-page .field textarea{padding:10px 12px!important}
body.bands-page .field textarea{min-height:90px!important}
body.bands-page .submit{padding:14px 19px!important}
body.bands-page .footer{padding:28px 0!important}

@media(max-width:900px){
  :root{--gutter:18px}
  .logo-image,.footer .logo-image,footer .logo-image{width:124px!important}
  .home .hero{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:1fr!important
  }
  .home .hero-copy{padding:46px 24px!important}
  .home .event-date{font-size:clamp(42px,12.5vw,62px)!important}
  .home .event-artist{font-size:clamp(56px,16vw,82px)!important}
  body.bands-page .hero{padding:48px 0 42px!important}
  body.bands-page .content{
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding:42px 0 48px!important
  }
}



/* V6: only requested corrections */

/* One common content width */
:root{--max:1180px!important}
.wrap{width:min(1180px,calc(100% - 72px))!important;margin-left:auto!important;margin-right:auto!important}

/* Approved logo implementation: no image asset */
.brand{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:0!important;
  flex:0 0 auto!important;
  font-family:Impact,'Arial Narrow',sans-serif!important;
  font-size:48px!important;
  font-weight:900!important;
  line-height:.82!important;
  letter-spacing:.055em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  color:#f4f2ed!important;
  -webkit-text-stroke:0!important
}
.brand small{
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  font:900 .34em Impact,'Arial Narrow',Arial,sans-serif!important;
  line-height:1!important;
  margin:.16em 0 0 0!important;
  padding:0!important;
  letter-spacing:0!important;
  text-align:initial!important
}
.brand small span{display:block!important;flex:0 0 auto!important}
footer .brand,.footer .brand{font-size:48px!important}

/* Same top navigation shell for Tapahtumat and Yhteystiedot as the other inner pages */
.header{
  position:sticky!important;
  top:0!important;
  z-index:20!important;
  background:rgba(7,8,8,.98)!important;
  border-bottom:1px solid #292b2b!important
}
.head{
  height:86px!important;
  min-height:86px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important
}
.nav{
  display:flex!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #292b2b!important
}
.nav li{margin:0!important;padding:0!important}
.nav a{
  display:flex!important;
  align-items:center!important;
  height:42px!important;
  padding:0 14px!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  border-left:1px solid #292b2b!important;
  white-space:nowrap!important
}
.nav li:first-child a{border-left:0!important}
.nav .active{background:#c5142c!important}
.nav .instagram-link{
  width:44px!important;
  padding:0!important;
  justify-content:center!important
}
.nav .instagram-link svg{width:18px!important;height:18px!important;display:block!important}
.toggle{display:none!important}

/* Etusivu: same page width and date fully visible */
body.home .hero{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important
}
body.home .hero-copy{
  min-width:0!important;
  padding-left:0!important;
  padding-right:38px!important
}
body.home .event-date{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(44px,3.8vw,62px)!important;
  line-height:.92!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:visible!important
}
body.home .event-artist{display:block!important}

/* Klubi: same outer width as the other pages */
body.klubi-page .hero,
body.klubi-page .roots{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important
}
body.klubi-page .copy{padding-left:0!important}

/* Mobile behavior */
@media(max-width:900px){
  .wrap{width:calc(100% - 36px)!important}
  .brand,footer .brand,.footer .brand{font-size:39px!important}
  .brand small{font-size:9px!important;margin-top:11px!important}
  .head{height:76px!important;min-height:76px!important}
  .toggle{
    display:block!important;
    background:none!important;
    border:1px solid #555!important;
    color:#fff!important;
    font-size:25px!important;
    width:46px!important;
    height:42px!important
  }
  .nav{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:76px!important;
    background:#090a0a!important;
    flex-direction:column!important;
    border-left:0!important;
    border-right:0!important;
    z-index:999!important
  }
  .nav.open{display:flex!important}
  .nav a{
    width:100%!important;
    height:auto!important;
    min-height:50px!important;
    border-left:0!important;
    border-top:1px solid #292b2b!important;
    padding:15px 20px!important
  }
  .nav .instagram-link{width:100%!important;justify-content:flex-start!important}
  body.home .hero{width:100%!important;max-width:none!important}
  body.home .hero-copy{padding-left:24px!important;padding-right:24px!important}
  body.home .event-date{font-size:clamp(40px,12vw,58px)!important}
  body.klubi-page .hero,body.klubi-page .roots{width:100%!important;max-width:none!important}
  body.klubi-page .copy{padding-left:22px!important;padding-right:22px!important}
}
