/* THE LIVER WEEK 2027 — shared subpage layout
   Load after base.css and before each page-specific stylesheet.
   Hero background images belong in each page-specific CSS.
*/

/* SUBPAGE HERO */
.tlw-visual-wrap{position:relative;background:#163e79;overflow:hidden}
.tlw-subhero{height:495px;position:relative;overflow:hidden;isolation:isolate;color:#fff}
.tlw-subhero__photo{position:absolute;inset:0;z-index:-1;background-position:center 52%;background-size:cover;background-repeat:no-repeat}
.tlw-subhero__inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:95px}
.tlw-subhero h1{font-size:clamp(42px,5.2vw,70px);font-weight:800;letter-spacing:-.035em;margin-bottom:0}
.tlw-subhero__tagline{font-size:clamp(17px,1.45vw,21px);font-weight:400;margin-bottom:17px;line-height:1;margin-top:-10px}
.tlw-subhero__date{font-size:clamp(15px,1.3vw,20px);font-weight:600}
.tlw-subhero__date span{padding:0 14px;font-weight:400}

/* SUBPAGE NAVIGATION */
.tlw-subnav{position:sticky;top:0;z-index:30;background:linear-gradient(110deg,#d4edff 0%,#f1dcf0 31%,#e2e2fc 56%,#d3ebff 78%,#f7d3e7 100%);border-bottom:1px solid #e5e8f0}
.tlw-subnav__inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;padding:10px 0}
.tlw-subnav a{min-height:43px;display:flex;align-items:center;justify-content:center;position:relative;font-size:16px;font-weight:700;text-align:center;padding:8px 14px}
.tlw-subnav a:not(:last-child)::after{content:'';position:absolute;right:0;top:11px;bottom:11px;width:1px;background:#9aa8c8}
.tlw-subnav a.is-selected{color:#fff;background:linear-gradient(100deg,#9251ff,#1686ff);border-radius:50px;max-width:250px;width:calc(100% - 30px);margin:auto}
.tlw-subnav a.is-selected::after{display:none}

/* Anchor offset for sticky navigation */
.tlw-content section[id]{scroll-margin-top:80px}

/* TABLET / MOBILE : 1024px 이하 */
@media(max-width:1024px){
  .tlw-subhero{height:460px}
  .tlw-subhero__inner{padding-top:75px}
  .tlw-subnav a{font-size:15px}
}

/* MOBILE : 600px 이하 */
@media(max-width:600px){
  .tlw-subhero{height:420px}
  .tlw-subhero__photo{background-position:60% center}
  .tlw-subhero__inner{padding-top:62px}
  .tlw-subhero h1{font-size:38px}
  .tlw-subhero__tagline{font-size:15px}
  .tlw-subhero__date{font-size:13px}
  .tlw-subhero__date span{padding:0 6px}
  .tlw-subnav__inner{width:calc(100% - 12px);padding:9px 0;gap:0}
  .tlw-subnav a{font-size:11px;padding:7px 4px;min-height:45px;line-height:1.2}
  .tlw-subnav a.is-selected{width:calc(100% - 7px)}
}



/* BACK TO TOP */
.tlw-back-to-top{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:100;
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#14265e;
  color:#fff;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(15,30,65,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.tlw-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.tlw-back-to-top > span:first-child{
  font-size:23px;
  line-height:1;
}
.tlw-back-to-top__label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.2;
}
.tlw-back-to-top:focus-visible{
  outline:3px solid #9251ff;
  outline-offset:3px;
}

@media(max-width:600px){
  .tlw-back-to-top{
    right:16px;
    bottom:18px;
    width:46px;
    height:46px;
  }
}

@media(prefers-reduced-motion:reduce){
  .tlw-back-to-top{
    transition:none;
  }
}