/* 올굿토탈홈케어 — editorial 테마 / C43 Nordic 팔레트 */
:root{
  --primary:#3D4651;
  --accent:#B8763F;
  --ink:#1B1E22;
  --sub:#707479;
  --line:#E9EAEC;
}
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:.18em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:600;
}
.hairline{border-color:var(--line);}
.card-shadow-none{box-shadow:none;}
.rounded-editorial{border-radius:2px;}

/* 히어로 글씨 그림자 (오버레이 대신 텍스트 그림자로 가독성 확보) */
.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(0,0,0,.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;}
.hover-lift:hover{transform:translateY(-3px);}
.hover-zoom img{transition:transform .4s ease;}
.hover-zoom:hover img{transform:scale(1.03);}

.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(20,20,20,.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;}
.lightbox-ba{display:none;gap:1rem;max-width:92vw;max-height:88vh;flex-direction:column;}
@media(min-width:768px){
  .lightbox-ba{flex-direction:row;}
}
.lightbox-ba-item{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-width:0;}
.lightbox-ba-item img{max-width:100%;max-height:80vh;object-fit:contain;}
.lightbox-ba-label{position:absolute;top:.5rem;left:.5rem;background:rgba(20,20,20,.75);color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.05em;padding:.3rem .7rem;border-radius:2px;}

/* 전후(Before/After) 갤러리 */
.grid-ba{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
}
@media(min-width:768px){
  .grid-ba{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
}
.ba-card{cursor:pointer;background:#fff;}
.ba-thumb-wrap{display:flex;}
.ba-thumb-half{position:relative;width:50%;aspect-ratio:1/1;overflow:hidden;}
.ba-thumb-half:first-child{border-right:2px solid #fff;}
.ba-tag{position:absolute;bottom:.6rem;left:.6rem;background:rgba(20,20,20,.72);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.05em;padding:.25rem .65rem;border-radius:2px;}
.ba-tag-after{background:rgba(184,118,63,.88);}

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