/* ===================== HOME ===================== */

/* ---- Hero (background slideshow) ---- */
.hero{
  position:relative;
  padding:120px 0 130px;
  overflow:hidden;
  isolation:isolate;
}
.hero-bg-slideshow{
  position:absolute;inset:0;z-index:-2;
}
.hero-bg-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;
  animation:heroSlideFade 25s infinite;
}
.hero-bg-slide:nth-child(1){animation-delay:0s;}
.hero-bg-slide:nth-child(2){animation-delay:5s;}
.hero-bg-slide:nth-child(3){animation-delay:10s;}
.hero-bg-slide:nth-child(4){animation-delay:15s;}
.hero-bg-slide:nth-child(5){animation-delay:20s;}
@keyframes heroSlideFade{
  0%{opacity:0;}
  4%{opacity:1;}
  20%{opacity:1;}
  24%{opacity:0;}
  100%{opacity:0;}
}
.hero-bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(900px 460px at 82% -10%, rgba(217,164,65,.14), transparent 60%),
    linear-gradient(90deg,
      rgba(250,247,241,.97) 0px,
      rgba(250,247,241,.93) 360px,
      rgba(250,247,241,.65) 620px,
      rgba(250,247,241,.3) 860px,
      rgba(250,247,241,.1) 1080px,
      rgba(250,247,241,0) 1300px
    );
}
@media (prefers-reduced-motion: reduce){
  .hero-bg-slide{animation:none;opacity:0;}
  .hero-bg-slide:nth-child(1){opacity:1;}
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding-bottom:0;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gold-soft);color:var(--gold-deep);
  font-size:13px;font-weight:700;letter-spacing:.04em;
  padding:8px 14px;border-radius:999px;margin-bottom:22px;
}
.hero-title{
  font-size:clamp(32px,4.6vw,52px);
  font-weight:800;letter-spacing:-.025em;line-height:1.18;
  margin:0 0 22px;
}
.hero-title em{
  font-style:normal;color:var(--gold-deep);
  position:relative;
}
.hero-quote{
  font-size:17px;line-height:1.85;color:var(--ink);
  max-width:520px;margin:0 0 14px;
  padding-left:18px;border-left:3px solid var(--gold);
}
.hero-quote strong{color:var(--ink);font-weight:700;}
.hero-sign{
  display:flex;align-items:center;gap:10px;margin:0 0 30px;padding-left:21px;
}
.hero-sign .sig{
  font-family:'Pretendard';font-weight:800;font-size:19px;color:var(--ink);
  letter-spacing:.02em;position:relative;
}
.hero-sign .sig::after{
  content:"";position:absolute;left:0;right:-6px;bottom:-5px;height:2px;
  background:var(--gold);opacity:.6;
}
.hero-sign .role{font-size:12.5px;color:var(--ink-soft);font-weight:600;}

/* ---- Marquee strip ---- */
.equip-strip{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--white);
}
.equip-strip .container{
  display:flex;align-items:center;gap:0;
  padding-top:18px;padding-bottom:18px;
  overflow-x:auto;
}
.equip-strip-item{
  display:flex;align-items:center;gap:10px;
  padding:0 28px;white-space:nowrap;font-size:14px;color:var(--ink-soft);font-weight:600;
  border-right:1px solid var(--line);
}
.equip-strip-item:last-child{border-right:none;}
.equip-strip-item b{color:var(--ink);font-weight:800;}

/* ---- Philosophy curve (signature element) ---- */
.philosophy{position:relative;}
.philo-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.philo-track{
  position:relative;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:28px;
  padding-top:46px;
}
.philo-track::before{
  content:"";position:absolute;top:14px;left:0;right:0;height:46px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 18' preserveAspectRatio='none'%3E%3Cpath d='M4.5 4 Q 39 16 73 4' fill='none' stroke='%23D9A441' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
  opacity:.55;
}
.philo-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px 26px;box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease;
}
.philo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.philo-num{
  position:absolute;top:-38px;left:26px;
  width:44px;height:44px;border-radius:50%;
  background:var(--gold);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:15px;border:4px solid var(--paper);
}
.philo-stage{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gold-deep);text-transform:uppercase;margin-bottom:8px;}
.philo-card h3{font-size:19px;font-weight:800;margin:0 0 10px;}
.philo-card p{font-size:14.5px;color:var(--ink-soft);margin:0;line-height:1.7;}

/* ---- Care list (departments) ---- */
.care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

/* ---- Equipment mini-card (home carousel) ---- */
.gallery-track button.equip-card-mini{
  flex:0 0 240px;width:240px;height:auto;border-radius:16px;overflow:hidden;background:#fff;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;text-align:left;padding:0;cursor:pointer;
  scroll-snap-align:start;position:static;
}
.gallery-track .equip-card-mini img{
  width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block;
  transition:transform .4s ease;
}
.equip-card-mini:hover img{transform:scale(1.06);}
.equip-card-mini .info{display:flex;flex-direction:column;gap:3px;padding:14px 16px 16px;}
.equip-card-mini .info strong{font-size:14.5px;font-weight:800;color:var(--ink);}
.equip-card-mini .info span{font-size:12px;color:var(--ink-soft);}

/* ---- Director teaser ---- */
.director-teaser{
  display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:center;
}
.director-photo{
  border-radius:22px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1;
}
.director-photo img{width:100%;height:100%;object-fit:cover;}
.director-cred{margin-top:22px;}
.director-cred li{
  display:flex;gap:10px;font-size:14px;color:var(--ink-soft);margin-bottom:9px;
  align-items:flex-start;
}
.director-cred li .tag{
  flex:none;font-size:11px;font-weight:700;color:var(--gold-deep);
  background:var(--gold-soft);padding:3px 9px;border-radius:6px;margin-top:1px;
}
.director-quote-box{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 30px;margin-bottom:24px;position:relative;
}
.director-quote-box::before{
  content:"“";position:absolute;top:-6px;left:18px;font-size:60px;color:var(--gold-soft);
  font-family:Georgia,serif;line-height:1;
}
.director-quote-box p{margin:0;font-size:16px;line-height:1.85;position:relative;z-index:1;}

/* ---- Hours + map summary ---- */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.visit-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;}
.visit-card h3,.visit-card h4{font-size:16px;font-weight:800;margin:0 0 18px;display:flex;align-items:center;gap:8px;}
.hours-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.hours-table td{padding:8px 0;border-bottom:1px solid var(--line);}
.hours-table td:nth-child(2){white-space:nowrap;}
.hours-table tr:last-child td{border-bottom:none;}
.hours-table td:first-child{font-weight:700;width:90px;}
.hours-table .off{color:var(--gold-deep);font-weight:700;}
.hours-note{font-size:12.5px;color:var(--ink-soft);margin-top:14px;line-height:1.7;}
.addr-line{display:flex;gap:10px;font-size:14px;margin-bottom:8px;color:var(--ink-soft);}
.addr-line b{color:var(--ink);}

/* ---- Board teaser ---- */
.board-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}

/* ---- CTA band ---- */
.cta-band{
  border-radius:28px;
  background:linear-gradient(135deg,#262420,#1B1A17);
  color:#fff;padding:54px 56px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,164,65,.35),transparent 70%);
}
.cta-band h3{font-size:26px;font-weight:800;margin:0 0 8px;}
.cta-band p{margin:0;color:#C9C2B2;font-size:15px;}
.cta-band .btn-row{flex:none;}


@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-grid > div[aria-hidden]{display:none;}
  .care-grid{grid-template-columns:repeat(2,1fr);}
  .philo-track{grid-template-columns:1fr;gap:36px;padding-top:30px;}
  .philo-track::before{display:none;}
  .philo-num{top:-22px;}
  .director-teaser{grid-template-columns:1fr;}
  .director-photo{max-width:320px;margin:0 auto;}
  .visit-grid{grid-template-columns:1fr;}
  .board-teaser-grid{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;text-align:center;padding:40px 28px;}
}
@media (max-width:560px){
  .philo-track{gap:14px;padding-top:8px;}
  .philo-card{
    padding:20px 20px 20px 64px;display:flex;flex-direction:column;justify-content:center;
    min-height:auto;
  }
  .philo-num{
    top:50%;left:18px;transform:translateY(-50%);
    width:36px;height:36px;font-size:13px;border-width:0;
    box-shadow:0 0 0 4px var(--paper);
  }
  .philo-stage{font-size:10.5px;margin-bottom:5px;}
  .philo-card h3{font-size:16.5px;margin:0 0 5px;}
  .philo-card p{font-size:13px;line-height:1.55;}
  .care-grid{grid-template-columns:1fr;}
  .hero{padding:48px 0 56px;}
  .hero-bg-overlay{
    background:
      radial-gradient(700px 360px at 50% -10%, rgba(217,164,65,.12), transparent 60%),
      linear-gradient(180deg,
        rgba(250,247,241,.95) 0%,
        rgba(250,247,241,.88) 30%,
        rgba(250,247,241,.55) 55%,
        rgba(250,247,241,.3) 75%,
        rgba(250,247,241,.18) 100%
      );
  }
  .gallery-track button.equip-card-mini{flex:0 0 200px;width:200px;}
}

/* ---- FAQ 섹션 ---- */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:0;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}
.faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 4px;background:none;border:none;cursor:pointer;text-align:left;
  font-size:16px;font-weight:700;color:var(--ink);line-height:1.5;
  box-sizing:border-box;
}
.faq-q span{flex:1;}
.faq-q:hover{color:var(--gold-deep);}
.faq-arrow{flex:none;transition:transform .25s ease;color:var(--ink-soft);}
.faq-q[aria-expanded="true"] .faq-arrow{transform:rotate(180deg);color:var(--gold-deep);}
.faq-a{
  overflow:hidden;max-height:0;transition:max-height .3s ease,padding .3s ease;
  padding:0 4px;font-size:15px;line-height:1.85;color:var(--ink-soft);
}
.faq-item.is-open .faq-a{max-height:600px;padding:0 4px 20px;}
@media(max-width:768px){
  .faq-q{font-size:14.5px;padding:16px 4px;}
  .faq-a{font-size:13.5px;}
}
