/* HS-inspired theme styles (original implementation, not a copy)
   Sections: hero overlays, quick links, feature tiles, home news, reveal animations */

:root{
  --hs-bg: #0b1d16;
  --hs-primary: #0e7a57;
  --hs-primary-2: #0a5c42;
  --hs-text: #0b1d16;
  --hs-muted: #6b7280;
  --hs-border: #e5e7eb;
  --hs-surface: #f8fafc;
}

/* Quick Links */
.section.quick-links{ padding: 40px 0; background: #fff; }
.quick-links__grid{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.quick-card{ position:relative; background:#fff; border:1px solid var(--hs-border); border-radius:14px; padding:22px; overflow:hidden; transition: transform .25s ease, box-shadow .25s ease; }
.quick-card:hover{ transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,.07); }
.quick-card__icon{ width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg, var(--hs-primary), var(--hs-primary-2)); display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom:12px; }
.quick-card__title{ font-weight:700; color:#111827; margin:0 0 4px 0; }
.quick-card__desc{ color:var(--hs-muted); font-size:14px; }
.quick-card__link{ position:absolute; inset:0; }

@media (max-width: 1024px){ .quick-links__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .quick-links__grid{ grid-template-columns: repeat(1, minmax(0,1fr)); } }

/* Feature tiles */
.feature-tiles{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.feature-tile{ position:relative; border-radius:16px; overflow:hidden; min-height:220px; background:#111; color:#fff; }
.feature-tile__bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); filter:brightness(.85); }
.feature-tile__overlay{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.55) 100%); }
.feature-tile__content{ position:relative; z-index:2; display:flex; height:100%; align-items:flex-end; padding:18px; }
.feature-tile__title{ font-size:18px; font-weight:700; margin:0; }

@media (max-width: 1024px){ .feature-tiles{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .feature-tiles{ grid-template-columns: repeat(1, minmax(0,1fr)); } }

/* Home News */
.home-news{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:16px; }
.news-card{ border:1px solid var(--hs-border); background:#fff; border-radius:14px; overflow:hidden; transition: box-shadow .2s ease, transform .2s ease; }
.news-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.07); }
.news-card__body{ padding:16px; }
.news-card__title{ font-weight:700; color:#111827; margin:0 0 8px 0; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; line-clamp: 2; -webkit-box-orient:vertical; overflow:hidden; }
.news-card__meta{ font-size:12px; color: var(--hs-muted); }

@media (max-width: 1024px){ .home-news{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .home-news{ grid-template-columns: repeat(1, minmax(0,1fr)); } }

/* Sub breadcrumb */
.sub-breadcrumb{  }
.sub-breadcrumb .container{ display:flex; gap:8px; align-items:center; padding:10px 0; font-size:13px; color:var(--hs-muted); }
.sub-breadcrumb a{ color:#111827; text-decoration:none; }

/* Reveal animations */
.reveal-up{ opacity:0; transform: translateY(16px); will-change: transform, opacity; }
.reveal-up.is-in{ opacity:1; transform: translateY(0); transition: opacity .6s ease, transform .6s ease; }
.reveal-line{ position:relative; }
.reveal-line:after{ content:""; position:absolute; left:0; bottom:-8px; width:40px; height:2px; background: var(--hs-primary); transform-origin: left; transform: scaleX(0); }
.reveal-line.is-in:after{ transform: scaleX(1); transition: transform .6s cubic-bezier(.22,.8,.3,1) .1s; }

/* Global sticky removal (except header: header stays fixed) */
.site-header,
body.lnb-layout .sidebar,
.sidebar .sidebar-menu,
.sticky{
  position: static !important;
  top: auto !important;
}

.header{ position: absolute !important; top:0; left:0; right:0; z-index: var(--z-index-sticky, 1020); }
.header.fixed{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: var(--z-index-sticky, 1020);
}

/* Prevent content underlap only when header is fixed */
body.header-fixed-active .wrap{ padding-top: 90px; }

/* Disable scroll-snap globally to avoid double scrollbars and footer jump */
html, body{ scroll-snap-type: none !important; overscroll-behavior-y: auto !important; }
html, body{ overflow-x: hidden; }
section.section, section.simple-hero{ scroll-snap-align: none !important; scroll-snap-stop: normal !important; min-height: auto; }

/* Hero overlays (60% black mask) */
.simple-hero__overlay{ position:absolute; inset:0; background: rgba(0,0,0,.6); z-index:1; }
.simple-hero__content{ position:relative; z-index:2; top: 45%; max-width:1400px; margin:0 auto; }
.hero-video-slide{ position: relative; }
.hero-video-slide::after{ content:""; position:absolute; inset:0; background: rgba(0,0,0,.6); z-index:1; }
.hero-video-slide .hero-cnt{ position: absolute; inset:0; z-index:2; }

@keyframes fadeUpHS{ from{ opacity:0; transform: translateY(16px);} to{ opacity:1; transform: translateY(0);} }
.text-fade-up{ opacity:0; transform: translateY(16px); width:80%;}
.text-fade-up.is-in{ opacity:1; transform: translateY(0); animation: fadeUpHS .6s cubic-bezier(.22,.8,.3,1); }
.text-delay-1{ animation-delay: .08s; }
.text-delay-2{ animation-delay: .16s; }

/* =====================
   Section Slogan (Hwaseung style)
   ===================== */
.section-slogan-wrapper{ max-width:1400px; margin: 60px auto 20px; padding: 0 40px; }
.section-slogan-wrapper[data-aos^=fade]{ opacity:0; transform: translateY(20px); transition: opacity .5s ease, transform .5s ease; }
.section-slogan-wrapper.aos-animate{ opacity:1; transform: translateY(0); animation: section-slogan-wrapper .5s linear 0s forwards; }
@keyframes section-slogan-wrapper{ 0%{ margin-bottom:-60px; opacity:0;} 100%{ margin-bottom:0; opacity:1;} }

.section-slogan-wrapper .section-subtit{ position: relative; }
.section-slogan-wrapper .section-subtit span{ font-size: 20px; line-height: 30px; color:#111827; display:inline-block; position:relative; }
.section-slogan-wrapper .section-subtit .line{ position:absolute; bottom:6px; left:92px; width:130px; height:1px; background:#9c9c9c; opacity:0; z-index:10; }
.section-slogan-wrapper.aos-animate .section-subtit .line{ animation: section-slogan-wrapper-line .625s linear .65s forwards; }
@keyframes section-slogan-wrapper-line{ 0%{ width:0; height:0; opacity:0;} 100%{ width:130px; height:1px; opacity:1;} }
.section-slogan-wrapper p{ margin-top: 28px; margin-bottom:0; opacity:0; }
.section-slogan-wrapper.aos-animate p{ opacity:1; animation: section-slogan-wrapper .5s linear 0s forwards; }
.section-slogan-wrapper p span{ display:block; font-weight:800; color:#0f172a; font-size: clamp(28px, 3.2vw, 48px); line-height: clamp(36px, 4.5vw, 65px); }
.section-slogan-wrapper p.mobile{ display:none; }
@media (max-width: 768px){ .section-slogan-wrapper{ padding: 0 20px; margin: 40px auto 10px; } .section-slogan-wrapper p{ margin-top:20px; } .section-slogan-wrapper p.mobile{ display:block; } }

/* =====================
   Expanding Panels (4 items)
   ===================== */
.section.expanding-panels{ padding: 20px 0 10px; }
.expanding-panels .container{ max-width:1400px; margin:0 auto; padding:0 40px; }
.expanding-panels .panels{ display:flex; gap:16px; align-items:stretch; height: 320px; position: relative; overflow:hidden; }
.expanding-panels .panel{ position:relative; flex:1 1 25%; min-width:0; height:100%; border-radius:10px; overflow:hidden; background:#000; background-image: var(--bg); background-size: cover; background-position:center; transition: flex-basis .45s ease, transform .3s ease; will-change: flex-basis, transform; }
.expanding-panels .panel::before{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.65) 100%); z-index:1; transition: opacity .3s ease; opacity:.85; }
.expanding-panels .panel__overlay{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.expanding-panels .panel__content{ position:absolute; inset:auto 0 18px 18px; z-index:3; color:#fff; opacity:.85; transform: translateY(4px); transition: opacity .25s ease, transform .25s ease; }
.expanding-panels .panel__title{ font-weight:800; font-size:20px; margin:0 0 8px; }
.expanding-panels .panel__desc{ margin:0; font-size:14px; line-height:1.5; opacity:.9; display:none; }

/* Hover/active expansion */
.expanding-panels .panels.hovering .panel{ flex-basis: 18%; }
.expanding-panels .panels.hovering .panel.is-hover{ flex-basis: 46%; }
.expanding-panels .panels.hovering .panel.is-hover::before{ opacity: .95; }
.expanding-panels .panels.hovering .panel.is-hover .panel__content{ opacity:1; transform: translateY(0); }
.expanding-panels .panels.hovering .panel.is-hover .panel__desc{ display:block; }

/* Keyboard focus-visible support */
.expanding-panels .panel:focus-visible{ outline: 3px solid rgba(255,255,255,.6); outline-offset: 2px; }

/* Small screens: allow horizontal scroll instead of flex expansion */
@media (max-width: 900px){
  .expanding-panels .panels{ height: 260px; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory; }
  .expanding-panels .panels.hovering .panel,
  .expanding-panels .panels.hovering .panel.is-hover{ flex-basis: 78%; }
}

/* Mobile: Swiper carousel mode with active state */
@media (max-width: 768px){
  .expanding-panels .panels.swiper-container{ height: auto !important; overflow: visible; }
  .expanding-panels .swiper-slide .panel{ 
    border-radius: 12px; 
    min-height: 400px;
    display: flex;
    align-items: flex-end;
  }
  /* Non-active slides: dimmed */
  .expanding-panels .swiper-slide:not(.swiper-slide-active) .panel::before{ 
    opacity: 0.9; 
  }
  .expanding-panels .swiper-slide:not(.swiper-slide-active) .panel__content{ 
    opacity: 0.6; 
    transform: translateY(8px);
  }
  .expanding-panels .swiper-slide:not(.swiper-slide-active) .panel__desc{ 
    display: none; 
  }
  /* Active slide: highlighted */
  .expanding-panels .swiper-slide-active .panel::before,
  .expanding-panels .swiper-slide .panel.is-hover::before{ 
    opacity: 0.65 !important; 
  }
  .expanding-panels .swiper-slide-active .panel__content,
  .expanding-panels .swiper-slide .panel.is-hover .panel__content{ 
    opacity: 1 !important; 
    transform: translateY(0) !important; 
  }
  .expanding-panels .swiper-slide-active .panel__desc,
  .expanding-panels .swiper-slide .panel.is-hover .panel__desc{ 
    display: block !important; 
  }
  .expanding-panels .swiper-pagination{ 
    position: relative; 
    margin-top: 24px; 
  }
}

/* Animation for expanding panels */
@keyframes expanding-panels{ from{ flex-basis: 25%; } to{ flex-basis: 46%; } }
.expanding-panels .panel.is-hover{ animation: expanding-panels .45s ease; }
  
  /* ========= Variants of Section Slogan ========= */
  /* 동일한 레이아웃과 애니메이션을 section-info-wrapper / section-experience-wrapper / section-news-wrapper 에 적용 */
  .section-info-wrapper,
  .section-experience-wrapper,
  .section-news-wrapper{ max-width:1400px; margin: 60px auto 20px; padding: 0 40px; }
  .section-info-wrapper[data-aos^=fade],
  .section-experience-wrapper[data-aos^=fade],
  .section-news-wrapper[data-aos^=fade]{ opacity:0; transform: translateY(20px); transition: opacity .5s ease, transform .5s ease; }
  .section-info-wrapper.aos-animate,
  .section-experience-wrapper.aos-animate,
  .section-news-wrapper.aos-animate{ opacity:1; transform: translateY(0); animation: section-slogan-wrapper .5s linear 0s forwards; }
  .section-info-wrapper .section-subtit,
  .section-experience-wrapper .section-subtit,
  .section-news-wrapper .section-subtit{ position: relative; }
  .section-info-wrapper .section-subtit span,
  .section-experience-wrapper .section-subtit span,
  .section-news-wrapper .section-subtit span{ font-size: 20px; line-height: 30px; color:#111827; display:inline-block; position:relative; }
  .section-info-wrapper .section-subtit .line,
  .section-experience-wrapper .section-subtit .line,
  .section-news-wrapper .section-subtit .line{ position:absolute; bottom:6px; left:92px; width:130px; height:1px; background:#9c9c9c; opacity:0; z-index:10; }
  .section-info-wrapper.aos-animate .section-subtit .line,
  .section-experience-wrapper.aos-animate .section-subtit .line,
  .section-news-wrapper.aos-animate .section-subtit .line{ animation: section-slogan-wrapper-line .625s linear .65s forwards; }
  .section-info-wrapper p,
  .section-experience-wrapper p,
  .section-news-wrapper p{ margin-top: 28px; margin-bottom:0; opacity:0; }
  .section-info-wrapper.aos-animate p,
  .section-experience-wrapper.aos-animate p,
  .section-news-wrapper.aos-animate p{ opacity:1; animation: section-slogan-wrapper .5s linear 0s forwards; }
  .section-info-wrapper p span,
  .section-experience-wrapper p span,
  .section-news-wrapper p span{ display:block; font-weight:800; color:#0f172a; font-size: clamp(28px, 3.2vw, 48px); line-height: clamp(36px, 4.5vw, 65px); }
  .section-info-wrapper p.mobile,
  .section-experience-wrapper p.mobile,
  .section-news-wrapper p.mobile{ display:none; }
  @media (max-width: 768px){
    .section-info-wrapper,
    .section-experience-wrapper,
    .section-news-wrapper{ padding: 0 20px; margin: 40px auto 10px; }
    .section-info-wrapper p,
    .section-experience-wrapper p,
    .section-news-wrapper p{ margin-top:20px; }
    .section-info-wrapper p.mobile,
    .section-experience-wrapper p.mobile,
    .section-news-wrapper p.mobile{ display:block; }
  }

  .section {margin:3rem 0rem 9rem 0rem;}