/* Top eyebrow gallery carousel */
.top-carousel-wrap{
  max-width:1180px;
  margin:18px auto 0;
  padding:0 20px;
  font-family:'MaruBuri','Noto Serif KR',serif
}
.top-carousel-box{
  background:#fff;
  border:1px solid #e8ebe8;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 30px rgba(38,52,42,.035)
}
.top-carousel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:28px 30px 22px;
  border-bottom:1px solid #f0f2f0
}
.top-carousel-kicker{
  margin-bottom:8px;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.1em;
  color:#03c75a
}
.top-carousel-title{
  max-width:680px;
  margin:0;
  font-size:25px;
  font-weight:600;
  line-height:1.45;
  letter-spacing:-.05em;
  color:#536057
}
.top-carousel-copy{
  margin:8px 0 0;
  font-size:12.5px;
  line-height:1.7;
  color:#939b94
}
.top-carousel-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  white-space:nowrap
}
.top-carousel-controls button{
  width:38px;
  height:38px;
  padding:0;
  border:1px solid #dfe5df;
  border-radius:50%;
  background:#fff;
  color:#69756c;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease
}
.top-carousel-controls button:hover{
  border-color:#8fd4a9;
  background:#f7fbf8;
  color:#03a94d
}
.top-carousel-count{
  min-width:58px;
  text-align:center;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
  color:#8b938c
}
.top-carousel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 36px) / 3);
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:24px 30px 30px;
  scrollbar-width:none;
  -ms-overflow-style:none
}
.top-carousel-track::-webkit-scrollbar{display:none}
.top-carousel-card{
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid #ecefec;
  border-radius:12px;
  background:#fff;
  color:#222;
  scroll-snap-align:start;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.top-carousel-card:hover{
  transform:translateY(-3px);
  border-color:#dce5de;
  box-shadow:0 10px 24px rgba(44,58,48,.07)
}
.top-carousel-figure{
  position:relative;
  margin:0;
  overflow:hidden;
  background:#f2f4f2;
  aspect-ratio:4/5
}
.top-carousel-figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease
}
.top-carousel-card:hover .top-carousel-figure img{transform:scale(1.015)}
.top-carousel-body{
  min-height:116px;
  padding:17px 18px 19px
}
.top-carousel-card h3{
  margin:0 0 7px;
  font-size:16.5px;
  font-weight:600;
  line-height:1.5;
  letter-spacing:-.045em;
  color:#59655c
}
.top-carousel-card p{
  margin:0;
  font-size:11.8px;
  line-height:1.75;
  color:#949c95
}
@media (max-width:900px){
  .top-carousel-wrap{margin-top:14px;padding:0 14px}
  .top-carousel-head{align-items:flex-start;padding:24px 22px 18px}
  .top-carousel-title{font-size:22px}
  .top-carousel-track{
    grid-auto-columns:calc((100% - 16px) / 2);
    gap:16px;
    padding:20px 22px 24px
  }
}
@media (max-width:600px){
  .top-carousel-wrap{margin-top:0;padding:0}
  .top-carousel-box{
    border-left:0;
    border-right:0;
    border-radius:0;
    box-shadow:none
  }
  .top-carousel-head{display:block;padding:22px 16px 16px}
  .top-carousel-kicker{font-size:10px}
  .top-carousel-title{font-size:20px;line-height:1.5}
  .top-carousel-copy{margin-top:6px;font-size:11.5px}
  .top-carousel-controls{margin-top:15px;justify-content:flex-end}
  .top-carousel-controls button{width:36px;height:36px}
  .top-carousel-count{min-width:54px;font-size:10.5px}
  .top-carousel-track{
    grid-auto-columns:82%;
    gap:12px;
    padding:16px 16px 22px
  }
  .top-carousel-body{min-height:108px;padding:15px 15px 17px}
  .top-carousel-card h3{font-size:16px}
  .top-carousel-card p{font-size:11.5px;line-height:1.7}
}
