*{box-sizing:border-box}html,body{margin:0;background:#080808;color:#f5f5f5;font-family:Arial,Helvetica,sans-serif}body{overflow-x:hidden}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
header{border-bottom:1px solid #292929}.header{min-height:112px;display:flex;align-items:center;gap:38px}
/* Lukittu logo: LIVEKLUBI venyy aina täsmälleen ÄMMÄ-sanan levyiseksi */
.logo{display:inline-grid;grid-template-columns:max-content;justify-items:stretch;text-decoration:none;color:#fff;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;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;margin-left:auto;background:none;border:0;color:white;font-size:30px}
.hero{padding:86px 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,h2,.date{font-family:Impact,"Arial Narrow",sans-serif}h1{font-size:clamp(56px,9vw,128px);line-height:.9;margin:0;max-width:100%;overflow-wrap:anywhere}
.events{padding:66px 0 92px}.card{border-top:5px solid #e21b23;background:#111;display:grid;grid-template-columns:minmax(230px,.7fr) 1.3fr;min-height:390px}
.left{padding:44px;border-right:1px solid #333;display:flex;flex-direction:column;justify-content:space-between}.date{font-size:clamp(42px,5.4vw,76px);line-height:.9;white-space:nowrap}
.meta{font-size:14px;color:#aaa;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;line-height:1.8}
.right{padding:44px 48px;display:flex;flex-direction:column;justify-content:center}.number{color:#e21b23;font-weight:900;letter-spacing:2px;text-transform:uppercase;font-size:13px}
h2{font-size:clamp(48px,7vw,96px);line-height:.9;margin:13px 0 24px}.artist{font-size:25px;font-weight:900;margin-bottom:8px}.more{color:#aaa;font-size:17px;line-height:1.5}
.button{display:inline-block;align-self:flex-start;margin-top:35px;background:#e21b23;color:#fff;text-decoration:none;padding:16px 22px;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}.hero{padding:60px 0 38px}.events{padding:45px 0 65px}.card{grid-template-columns:1fr;min-height:0}.left{padding:30px 25px;border-right:0;border-bottom:1px solid #333;gap:25px}.right{padding:34px 25px 38px}.date{white-space:normal}
}

.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(38px,12vw,48px)!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
}