/* 올굿토탈홈케어 — editorial 테마 / 버건디 팔레트 */
:root{
  --primary:#5C2A38;
  --accent:#9C4A5C;
  --ink:#1A1A1A;
  --sub:#6B7280;
  --line:#E5E5E5;
}
html{scroll-behavior:smooth;}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink);
  word-break:keep-all;
  overflow-wrap:break-word;
  background:#fff;
}
.font-serif-kr{font-family:'Nanum Myeongjo',serif;}
.prose-body{max-width:68ch;}
.eyebrow{
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
}
.hairline{border-color:var(--line);}
.rounded-mono{border-radius:2px;}

h1,h2,h3{font-family:'Nanum Myeongjo',serif;font-weight:700;letter-spacing:-.01em;}

/* 히어로 글씨 그림자 (오버레이 대신 텍스트 그림자로 가독성 확보) */
.hero-text-shadow{
  text-shadow:0 2px 10px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.5);
}
.hero-overlay-bottom{
  background:linear-gradient(to top, rgba(20,8,11,.38), rgba(0,0,0,0) 55%);
}

/* 카드 그리드 — 열 수 고정, auto-fit/auto-fill 미사용 */
.grid-3col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-3col{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.grid-2col-fixed{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-2col-fixed{grid-template-columns:repeat(4,minmax(0,1fr));}
}
/* 3개 카드 그리드 — 모바일 반드시 1열 */
.grid-3item{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-3item{grid-template-columns:repeat(3,minmax(0,1fr));}
}

.hover-lift{transition:transform .25s ease, border-color .25s ease;}
.hover-lift:hover{transform:translateY(-2px);border-color:var(--accent);}
.hover-zoom img{transition:transform .4s ease;}
.hover-zoom:hover img{transform:scale(1.02);}

.phone-enc::after,
.phone-link-enc::after,
.sms-link-enc::after{content:'';}

/* 모바일 햄버거 메뉴 */
.mobile-menu{transform:translateX(100%);transition:transform .25s ease;}
.mobile-menu.open{transform:translateX(0);}

/* 라이트박스 (단일 사진) */
.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.92);display:none;align-items:center;justify-content:center;z-index:100;padding:1.5rem;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;}

/* 단일사진 갤러리 */
.grid-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
}
@media(min-width:768px){
  .grid-gallery{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.gal-card{cursor:pointer;background:#fff;}
.gal-thumb-wrap{aspect-ratio:4/5;overflow:hidden;}
.gal-caption{padding:.75rem 0;font-size:.85rem;color:var(--sub);font-weight:500;}

/* FAQ 아코디언 — 열림 상태 아이콘 회전(+→×) */
.faq-icon{display:inline-block;transition:transform .25s ease;}
.faq-item.open .faq-icon{transform:rotate(45deg);}

/* 상단 고정 헤더 블러 */
.header-blur{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

/* editorial 테마 — 번호 라벨(01,02) */
.num-label{
  font-family:'Nanum Myeongjo',serif;
  font-size:1.5rem;
  font-weight:700;
  color:var(--accent);
  letter-spacing:0;
}

/* editorial 테마 — 밑줄 링크 */
.link-underline{
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:var(--line);
}
.link-underline:hover{text-decoration-color:var(--accent);}

/* 히어로 슬라이더 */
.hero-slider{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;}
