:root{--b:#070808;--b2:#0d0f0f;--l:#292b2b;--w:#f4f2ed;--m:#c7c6c1;--r:#c5142c;--max:1360px}*{box-sizing:border-box}body{margin:0;background:var(--b);color:var(--w);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.5}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{display:inline-flex;flex-direction:column;justify-content:center;align-items:stretch;flex:0 0 auto;font-family:Impact,'Arial Narrow',sans-serif;font-size:48px;line-height:.68;letter-spacing:.055em;text-decoration:none;white-space:nowrap;font-weight:900;font-stretch:condensed;-webkit-text-stroke:.35px currentColor}.brand small{width:100%;display:flex;justify-content:space-between;align-items:center;font-family:Arial,sans-serif;font-size:11px;font-weight:normal;line-height:normal;letter-spacing:0;margin-top:13px;padding:0}.brand small span{display:block;flex:0 0 auto}.nav{display:flex;list-style:none;margin:0;padding:0;border:1px solid var(--l)}.nav a{display:flex;padding:13px 14px;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:800;border-left:1px solid var(--l)}.nav li:first-child a{border-left:0}.nav .active{background:var(--r)}.toggle{display:none}.hero{border-bottom:1px solid var(--l);padding:92px 0 78px}.ey{font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:900;color:var(--r)}h1,h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:400}h1{font-size:clamp(54px,8vw,128px);line-height:.86;margin:15px 0 28px;max-width:100%;overflow-wrap:anywhere}h1 span{color:var(--r)}.intro{font-size:clamp(20px,2vw,27px);max-width:850px;color:var(--m);margin:0}.content{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:80px;padding:78px 0 90px}.copy p{max-width:690px;font-size:20px;color:var(--m);margin:0 0 24px}.copy strong{color:var(--w)}.formbox{border:1px solid var(--l);background:var(--b2);padding:34px}.formbox h2{font-size:clamp(38px,4vw,62px);line-height:.9;margin:0 0 30px}.field{margin:0 0 18px}.field label{display:block;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.14em;margin:0 0 8px}.field input,.field textarea{width:100%;border:1px solid #454747;background:#080909;color:#fff;padding:14px 15px;font:inherit;border-radius:0}.field textarea{min-height:130px;resize:vertical}.submit{border:0;background:var(--r);color:#fff;padding:16px 22px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:12px}.note{font-size:12px;color:#8f918f;margin-top:15px}.footer{border-top:1px solid var(--l);padding:42px 0}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .brand{font-size:54px;padding:5px 0 0}.footer .brand small{font-size:11px;margin-top:14px}.foot{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#aaa}
@media(max-width:1100px){.brand{font-size:43px}.content{grid-template-columns:1fr;gap:50px}h1{font-size:clamp(52px,9vw,96px)}}
@media(max-width:900px){.wrap{width:calc(100% - 36px)}.head{height:76px}.brand{font-size:39px}.brand small{font-size:9px;margin-top:11px}.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{padding:62px 0 54px}h1{font-size:clamp(48px,15vw,82px)}.content{padding:55px 0 70px}.copy p{font-size:18px}.formbox{padding:24px}.footer .wrap{align-items:flex-start;flex-direction:column}.footer .brand{font-size:46px}}

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