.container{
    max-width:1400px;
    margin:0 auto;
    padding:0 24px;
}

/* ============================================================
   골드 텍스트 (이미지 그대로 적용)
============================================================ */
.gold-strong{
    font-weight:800;
    background:var(--gold-img);
    background-size:cover;
    background-position:center;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}

.black-strong{
    font-weight:700;
    color:var(--black);
}

/* 타이틀 공통: 검정 얇게 + 강조 골드 굵게 */
.section-title .thin{
    font-weight:300;
    color:var(--black);
    opacity:.92;
}

/* ============================================================
   1. 헤드 배너
============================================================ */
.head-banner{
    width:100%;
    height:550px;
    background:url('https://www.genspark.ai/api/files/s/uWzBVxw9') center/cover no-repeat;
    position:relative;
}
.head-banner__overlay{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,rgba(0,0,0,.30) 0%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.30) 100%);
}
.head-banner__inner{
    max-width:1200px;
    width:100%;
    margin:0 auto;
    padding:0 24px;
    text-align:center;
}
.head-banner__title{
    font-size:54px;
    font-weight:800;
    letter-spacing:.04em;
    margin-bottom:18px;
}
.head-banner__desc{
    font-size:20px;
    font-weight:300;
    color:var(--white);
    opacity:.95;
    letter-spacing:.01em;
}

/* ============================================================
   공통 섹션 헤더
============================================================ */
.section-head{
    text-align:center;
    margin-bottom:56px;
}

.section-title{
    font-size:38px;
    letter-spacing:.01em;
    margin-bottom:16px;
}
.section-sub{
    font-size:17px;
    font-weight:300;
    color:var(--text-sub);
    opacity:.85;
}

/* ============================================================
   2. 진료시간 / 문의전화
============================================================ */
.info-section{
    padding:110px 0;
    background:var(--white);
}
.info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:32px;
}
.info-card{
    background:var(--gray);
    border:1px solid var(--gray-line);
    border-radius:18px;
    padding:50px 44px;
    text-align:center;
    transition:transform .35s ease, box-shadow .35s ease;
}
.info-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(17,17,17,.08);
}
.info-card__icon{
    margin:0 auto 24px;
    width:88px;height:88px;
    display:flex;align-items:center;justify-content:center;
    background:var(--white);
    border-radius:50%;
    box-shadow:0 6px 18px rgba(17,17,17,.06);
}
.info-card__title{
    font-size:26px;
    font-weight:700;
    margin-bottom:28px;
    letter-spacing:.01em;
}
.time-list{
    max-width:360px;
    margin:0 auto 26px;
}
.time-list li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px 4px;
    border-bottom:1px solid var(--gray-line);
}
.time-label{
    font-weight:600;
    font-size:16px;
}
.time-value{
    font-weight:400;
    font-size:16px;
    color:var(--text-sub);
}
.info-card__note{
    font-size:15px;
    font-weight:300;
    color:var(--text-sub);
    opacity:.9;
    line-height:1.8;
}
.tel-number{
    display:inline-block;
    font-size:40px;
    font-weight:800;
    letter-spacing:.02em;
    margin:6px 0 28px;
    color:var(--black);
}

/* ============================================================
   3. 둘러보기 갤러리
============================================================ */
.gallery-section{
    padding:110px 0 130px;
    background:var(--gray);
}
.gallery{
    max-width:520px;
    margin:0 auto;
}
.gallery__main{
    position:relative;
    width:100%;
    aspect-ratio:4/3;
    border-radius:12px;
    overflow:hidden;
    background:var(--black);
    box-shadow:0 10px 26px rgba(17,17,17,.12);
}
.gallery__main-img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:opacity .4s ease;
}
.gallery__caption{
    position:absolute;
    right:0;bottom:0;
    background:var(--black);
    color:var(--white);
    font-size:14px;
    font-weight:500;
    padding:9px 22px;
    border-top-left-radius:12px;
    letter-spacing:.02em;
}
.gallery__caption .gold-strong{font-weight:700;}
.gallery__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:52px;height:52px;
    border-radius:50%;
    background:rgba(255,255,255,.85);
    color:var(--black);
    font-size:18px;
    display:flex;align-items:center;justify-content:center;
    z-index:2;
    transition:background .25s ease,transform .25s ease;
    box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.gallery__nav:hover{background:var(--white);transform:translateY(-50%) scale(1.06);}
.gallery__nav--prev{left:18px;}
.gallery__nav--next{right:18px;}

/* 썸네일 */
.gallery__thumbs-wrap{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:18px;
}
.gallery__thumbs-viewport{
    flex:1;
    overflow:hidden;
}
.gallery__thumbs{
    display:flex;
    gap:14px;
    will-change:transform;
}
.gallery__thumb{
    flex:0 0 calc((100% - 42px) / 4);
    aspect-ratio:4/3;
    border-radius:12px;
    overflow:hidden;
    cursor:pointer;
    position:relative;
    border:2px solid transparent;
    transition:border-color .25s ease, transform .25s ease;
    opacity:.7;
}
.gallery__thumb img{width:100%;height:100%;object-fit:cover;}
.gallery__thumb:hover{transform:translateY(-3px);opacity:1;}
.gallery__thumb.is-active{
    border-color:#c9a24b;
    opacity:1;
}
.thumbs__arrow{
    flex:0 0 auto;
    width:40px;height:40px;
    border-radius:50%;
    background:var(--white);
    border:1px solid var(--gray-line);
    color:var(--black);
    font-size:14px;
    display:flex;align-items:center;justify-content:center;
    transition:background .25s ease;
}
.thumbs__arrow:hover{background:var(--black);color:var(--white);}
.thumbs__arrow:disabled{opacity:.3;cursor:default;}
.thumbs__arrow:disabled:hover{background:var(--white);color:var(--black);}

/* ============================================================
   반응형
============================================================ */
@media (max-width:900px){
    .head-banner{height:380px;}
    .head-banner__title{font-size:40px;}
    .head-banner__desc{font-size:17px;}
    .section-title{font-size:30px;}
    .info-section,.gallery-section{padding:80px 0;}
    .info-grid{grid-template-columns:1fr;gap:24px;}
    .gallery{max-width:100%;}
    .gallery__thumb{flex:0 0 calc((100% - 14px) / 2);}
}
@media (max-width:560px){
    .head-banner{height:300px;}
    .head-banner__title{font-size:32px;}
    .head-banner__desc{font-size:15px;}
    .section-title{font-size:25px;}
    .section-sub{font-size:15px;}
    .info-card{padding:38px 24px;}
    .info-card__title{font-size:22px;}
    .tel-number{font-size:30px;}
    .gallery__nav{width:36px;height:36px;font-size:14px;}
    .gallery__thumb{flex:0 0 calc((100% - 14px) / 2);}
    .section-head{margin-bottom:38px;}
}
