*{box-sizing:border-box} html,body{margin:0;background:#080808;color:#f4f4f4;font-family:Arial,Helvetica,sans-serif}
body{overflow-x:hidden}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
header{border-bottom:1px solid #2b2b2b;background:#080808;position:relative;z-index:2}
.header{min-height:112px;display:flex;align-items:center;gap:38px}
.logo{display:inline-grid;grid-template-columns:max-content;justify-items:stretch;text-decoration:none;color:white;flex:0 0 auto;line-height:.78}
.logo .amma{font-family:Impact,"Arial Narrow",sans-serif;font-size:52px;font-weight:900;letter-spacing:-2px;text-align:center;white-space:nowrap}
.logo .live{font-family:Impact,"Arial Narrow",sans-serif;font-size:21px;font-weight:700;letter-spacing:0;display:flex;justify-content:space-between;width:100%;margin-top:9px;white-space:nowrap}
.logo .live span{display:inline-block}
nav{margin-left:auto;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
nav a{color:#ddd;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:1.2px}
nav a.active,nav a:hover{color:#e21b23}
.menu{display:none;background:none;border:0;color:white;font-size:30px}
main{min-height:70vh}
.hero{padding:88px 0 54px;border-bottom:1px solid #242424}
.kicker{color:#e21b23;font-size:14px;font-weight:900;letter-spacing:3px;text-transform:uppercase;margin-bottom:15px}
h1{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(58px,9vw,132px);line-height:.9;letter-spacing:-1px;margin:0;max-width:100%;overflow-wrap:anywhere}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:70px 0 88px}
h2{font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(36px,5vw,64px);line-height:.95;margin:0 0 25px}
p{font-size:18px;line-height:1.65;color:#cfcfcf;max-width:620px}
.contact{margin-top:34px;padding-top:26px;border-top:4px solid #e21b23}
.label{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#888;font-weight:800;margin:22px 0 7px}
.value{font-size:22px;font-weight:800;color:#fff}
.muted{font-size:14px;color:#777;margin-top:6px}
.social{display:inline-flex;width:42px;height:42px;border:2px solid #fff;border-radius:10px;align-items:center;justify-content:center;margin-top:8px;text-decoration:none;color:white;font-weight:900}
.place{background:#121212;padding:36px;border-left:5px solid #e21b23}
.address{font-size:20px;line-height:1.55;color:#eee}
.button{display:inline-block;margin-top:24px;background:#e21b23;color:#fff;text-decoration:none;padding:15px 21px;font-size:13px;font-weight:900;letter-spacing:1.2px}
footer{border-top:1px solid #292929;padding:35px 0 45px;color:#777;font-size:13px}
@media(max-width:820px){
 .wrap{width:min(100% - 28px,1180px)}.header{min-height:92px}.logo .amma{font-size:44px}.logo .live{font-size:17px;margin-top:8px}
 nav{display:none}.menu{display:block;margin-left:auto}.hero{padding:62px 0 40px}.grid{grid-template-columns:1fr;gap:45px;padding:50px 0 65px}.place{padding:28px 22px}
}

.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}
}


.header .nav a,
.header .nav a:hover,
.header .nav a:focus,
.header .nav a.active{
  color:#f4f2ed !important;
}
.header .nav a.active{
  background:#c5142c !important;
}

.header{
  min-height:0 !important;
  height:auto !important;
  display:block !important;
  align-items:initial !important;
  gap:0 !important;
}
@media(max-width:900px){
  .header{
    min-height:0 !important;
    height:auto !important;
  }
}

@media(max-width:400px){
  h1{
    font-size:clamp(34px,10.5vw,44px)!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
}