/*
  미소담치과 — AI6 클리닉 번들 (치과) · 2026-09-28 재디자인

  ★ 데이터 구조만 클리닉 팩을 따르고 **디자인은 따로 간다**(2026-09-28 지적). 온새미로·한빛과 같던 골격
    — 짙은 알림 띠 · 「제목 + 알약 탭」 서브 띠 · 카드 격자 · 짙은 4단 바닥글 — 을 전부 버렸다.

      온새미로  웜 샌드 + 딥 틸 · IBM Plex · 모서리 8px · 짙은 머리 띠
      한빛      Carbon 블루 · 각진 모서리 0
      미소담    웜 화이트 + 파인 그린 · 민트 판 · 클레이 강조 · Noto Serif KR 제목 + Pretendard 본문
                · **아치형 사진**(위가 둥근 창) · 큰 숫자 단계 · 사진을 깐 서브 비주얼 · 밝은 바닥글

  참고(모빈): Function(크림 바탕·세리프 제목·둥근 큰 판), Seed(단계 타임라인), Biograph·Superpower(번호 붙은
  사진 단계), Trawelt(큰 숫자), Ease(큰 세리프 히어로 + 판 나눔).
*/
:root{
  --sp-02:.25rem; --sp-03:.5rem; --sp-04:.75rem; --sp-05:1rem; --sp-06:1.5rem;
  --sp-07:2rem;   --sp-08:2.5rem; --sp-09:3rem;  --sp-10:4rem; --sp-11:5rem; --sp-12:7rem;

  --sans:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',system-ui,sans-serif;
  --serif:'Noto Serif KR',Georgia,serif;

  --pine:#1f5c4a;
  --pine-700:#174a3b;
  --pine-900:#0f2e25;
  --mint:#dcefe6;
  --mint-50:#eff7f3;
  --mint-200:#c3e2d3;
  --clay:#c2694a;
  --clay-50:#fbefe9;

  --ink:#161c19;
  --ink-2:#4a5550;
  --ink-3:#8a948f;
  --bg:#fbf8f3;
  --paper:#fff;
  --sand:#f3eee5;
  --line:#e7e0d5;

  --r-xl:40px;
  --r-lg:28px;
  --r:20px;
  --r-sm:12px;
  --arch:999px 999px var(--r) var(--r);
  --wrap:78rem;
  --hd:5.25rem;
  --shadow-sm:0 1px 2px rgba(22,28,25,.05),0 4px 14px rgba(22,28,25,.05);
  --shadow:0 2px 4px rgba(22,28,25,.04),0 18px 44px rgba(22,28,25,.09);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 3.5rem)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7;
  letter-spacing:-.01em;-webkit-font-smoothing:antialiased;word-break:keep-all}
img{max-inline-size:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5{margin:0;font-weight:600;line-height:1.3}
p{margin:0}
button{font:inherit;color:inherit}
svg{flex:none}
.wrap{max-inline-size:var(--wrap);margin-inline:auto;padding-inline:var(--sp-06)}
.view{display:none}
.view.is-on{display:block}
.empty{padding:var(--sp-10) 0;color:var(--ink-3);text-align:center}
.muted{color:var(--ink-3)}
.narrow{max-inline-size:48rem}

/* ─── 글자 ─────────────────────────────────────────────────── */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin-block-end:var(--sp-05);font-size:.8125rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.eyebrow::before{content:"";inline-size:1.5rem;block-size:1px;background:currentColor}
.eyebrow--light{color:var(--mint-200)}
.display{font-family:var(--serif);font-weight:500;font-size:clamp(2.5rem,5vw,4.25rem);line-height:1.18;letter-spacing:-.035em}
.display em,.title em{font-style:normal;color:var(--pine);
  background:linear-gradient(transparent 62%,var(--mint) 62%,var(--mint) 92%,transparent 92%)}
.title{font-family:var(--serif);font-weight:500;font-size:clamp(1.875rem,3.2vw,2.625rem);line-height:1.25;letter-spacing:-.03em}
.title--light{color:#fff}
.lead{margin-block-start:var(--sp-06);max-inline-size:34rem;font-size:1.125rem;line-height:1.85;color:var(--ink-2)}
.pagelead{max-inline-size:44rem;margin-block-end:var(--sp-10);font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.625rem);
  line-height:1.65;letter-spacing:-.02em;color:var(--ink)}
.textlink{display:inline-flex;align-items:center;gap:.25rem;padding-block-end:2px;border-block-end:1.5px solid currentColor;
  font-size:.9375rem;font-weight:600;color:var(--pine)}
.backlink{display:inline-block;margin-block-end:var(--sp-08);font-size:.875rem;color:var(--ink-3)}
.backlink:hover{color:var(--pine)}
.tag{display:inline-block;padding:.2rem .7rem;border-radius:999px;background:var(--mint);font-size:.75rem;font-weight:700;color:var(--pine);
  letter-spacing:0;white-space:nowrap}
.tag--clay{background:var(--clay-50);color:var(--clay)}
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-03);margin-block:var(--sp-05)}
.chips span{padding:.35rem .9rem;border-radius:999px;background:var(--mint-50);border:1px solid var(--mint-200);font-size:.8125rem;
  font-weight:500;color:var(--pine-700)}
.prose p+p,.prose ul,.prose ol{margin-block-start:.75em}
.prose strong{color:var(--ink);font-weight:700}

/* ─── 단추 ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;block-size:3.25rem;padding-inline:1.75rem;
  border:1px solid transparent;border-radius:999px;font-size:1rem;font-weight:600;white-space:nowrap;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s}
.btn svg{inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn--sm{block-size:2.625rem;padding-inline:1.25rem;font-size:.9375rem}
.btn--block{inline-size:100%}
.btn--pine{background:var(--pine);color:#fff}
.btn--pine:hover{background:var(--pine-900)}
.btn--line{background:var(--paper);border-color:var(--line);color:var(--ink)}
.btn--line:hover{border-color:var(--pine);color:var(--pine)}
.btn--light{background:#fff;color:var(--pine-900)}
.btn--light:hover{background:var(--mint)}
.btn--ghostlight{border-color:rgba(255,255,255,.35);color:#fff}
.btn--ghostlight:hover{background:rgba(255,255,255,.1)}

/* ─── 사진 자리 ─────────────────────────────────────────────── */
.ph{position:relative;overflow:hidden;background:var(--mint-50)}
.ph img{display:block;inline-size:100%;block-size:100%;object-fit:cover}
.ph--empty{display:grid;place-items:center;background:
  radial-gradient(circle at 30% 20%,var(--mint) 0,transparent 55%),var(--mint-50)}
.ph--empty span{font-family:var(--serif);font-size:clamp(2.5rem,6vw,4.5rem);color:rgba(31,92,74,.22)}
.arch{border-radius:var(--arch)}

/* ─── 머리말 ─────────────────────────────────────────────── */
.hd{position:sticky;inset-block-start:0;z-index:50;background:rgba(251,248,243,.86);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-block-end:1px solid transparent;transition:border-color .2s,background .2s}
.hd.is-scrolled{border-block-end-color:var(--line);background:rgba(255,255,255,.92)}
.hd__in{display:flex;align-items:center;gap:var(--sp-07);min-block-size:var(--hd)}
.brand{display:flex;align-items:center;gap:.75rem;min-inline-size:0;flex:none}
.brand__mark,.brand-mark{display:grid;place-items:center;flex:none;inline-size:2.75rem;block-size:2.75rem;border-radius:14px 14px 14px 4px;
  background:var(--pine);color:#fff;font-family:var(--serif);font-size:1.25rem;font-weight:500;overflow:hidden}
.brand__mark img,.brand-mark img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.brand__text,.brand-text{display:flex;flex-direction:column;min-inline-size:0}
.brand__name,.brand-name{font-family:var(--serif);font-size:1.3125rem;font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--ink)}
.brand__intro,.brand-intro{font-size:.75rem;font-weight:500;color:var(--ink-3);line-height:1.4;letter-spacing:0}

/* 메뉴 — SPA 와 틀(서버)이 **같은 마크업**(ul.nav-list > li.nav-item > a.nav-link + ul.nav-sub)을 쓴다. */
.mnav{flex:1;display:flex;justify-content:center}
.nav-list,.nav-sub{list-style:none;margin:0;padding:0}
.nav-list{display:flex;gap:var(--sp-02)}
.nav-item{position:relative}
.nav-list>.nav-item>.nav-link{display:block;padding:.625rem 1.05rem;border-radius:999px;font-size:1rem;font-weight:600;
  color:var(--ink-2);white-space:nowrap;letter-spacing:-.02em}
.nav-list>.nav-item>.nav-link:hover,.nav-list>.nav-item.is-active>.nav-link{color:var(--pine)}
.nav-list>.nav-item.is-active>.nav-link{background:var(--mint-50)}
.ai6-shell-head{--ai6-nav-on-bg:var(--mint-50);--ai6-nav-on-fg:var(--pine)}
.nav-sub{position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-start:50%;translate:-50% 0;z-index:30;
  min-inline-size:12rem;padding:var(--sp-03);border:1px solid var(--line);border-radius:18px;background:var(--paper);
  box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.nav-sub::before{content:"";position:absolute;inset-inline:0;inset-block-start:-.75rem;block-size:.75rem}
.nav-item:hover>.nav-sub,.nav-item:focus-within>.nav-sub{opacity:1;visibility:visible}
.nav-sub .nav-link{display:block;padding:.6rem .9rem;border-radius:12px;font-size:.9375rem;font-weight:500;color:var(--ink-2);white-space:nowrap}
.nav-sub .nav-link:hover{background:var(--mint-50);color:var(--pine)}
.nav-link.is-group{cursor:default}

.hd__side{display:flex;align-items:center;gap:var(--sp-05);flex:none}
.hd__tel{display:inline-flex;align-items:center;gap:.4rem;font-size:.9375rem;font-weight:700;color:var(--pine);white-space:nowrap}
.hd__tel svg{inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:2}
.hd__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;inline-size:2.75rem;block-size:2.75rem;
  padding:0 .7rem;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer}
.hd__toggle span{display:block;block-size:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
.hd.is-open .hd__toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hd.is-open .hd__toggle span:nth-child(2){opacity:0}
.hd.is-open .hd__toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (max-width:1180px){.hd__tel{display:none}}
@media (max-width:1024px){
  .hd__toggle{display:flex}
  .mnav{display:none;position:absolute;inset-inline:0;inset-block-start:100%;padding:var(--sp-05) var(--sp-06) var(--sp-07);
    background:var(--paper);border-block-end:1px solid var(--line);box-shadow:var(--shadow);max-block-size:calc(100vh - var(--hd));overflow:auto}
  .hd.is-open .mnav{display:block}
  .hd.is-open{background:var(--paper)}
  .nav-list{flex-direction:column;gap:0}
  .nav-list>.nav-item{padding-block:var(--sp-03);border-block-end:1px solid var(--line)}
  .nav-list>.nav-item>.nav-link{padding-inline:0;font-size:1.0625rem;background:none!important}
  .nav-sub{position:static;translate:none;opacity:1;visibility:visible;display:flex;flex-wrap:wrap;gap:.25rem;padding:0 0 var(--sp-03);
    border:0;box-shadow:none;background:none;min-inline-size:0}
  .nav-sub .nav-link{padding:.4rem .8rem;background:var(--mint-50)}
}
@media (max-width:520px){.hd__side .btn{display:none}.brand__intro{display:none}}

/* ─── 구획 ─────────────────────────────────────────────── */
.sec{padding-block:clamp(4.5rem,9vw,7.5rem)}
.sec--mint{background:var(--mint-50)}
.sec--paper{background:var(--paper)}
.sechead{margin-block-end:var(--sp-10)}
.sechead--split{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-07);flex-wrap:wrap}
.sechead--split .eyebrow{margin-block-end:var(--sp-04)}
.sechead__lead{max-inline-size:28rem;font-size:1.0625rem;color:var(--ink-2)}
.band{padding-block:clamp(4rem,8vw,6.5rem);margin-block:clamp(4rem,8vw,6.5rem)}
.band--mint{background:var(--mint-50)}
.gap-top{padding-block-end:var(--sp-06)}

/* ─── 히어로 ─────────────────────────────────────────────── */
.hero{padding-block:clamp(2.5rem,5vw,4rem) clamp(3rem,6vw,5rem);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.actions{display:flex;flex-wrap:wrap;gap:var(--sp-04);margin-block-start:var(--sp-08)}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--sp-07);margin:var(--sp-09) 0 0;
  padding-block-start:var(--sp-06);border-block-start:1px solid var(--line)}
.facts dt{font-size:.8125rem;color:var(--ink-3)}
.facts dd{margin:0;font-size:1.0625rem;font-weight:700;color:var(--ink)}
.facts dd a{color:var(--pine)}
.hero__media{position:relative;padding-inline-start:var(--sp-08)}
/* 아치 뒤의 선 — 밝은 진료실 사진은 윗부분이 바탕과 섞여 아치 모양이 흐려졌다(실측). 한 겹 비켜 세워 윤곽을 준다. */
.hero__media::before{content:"";position:absolute;inset-block:-1rem 1rem;inset-inline:calc(var(--sp-08) + 1rem) -1rem;
  border:1px solid var(--mint-200);border-radius:var(--arch);pointer-events:none}
.arch--hero{position:relative;box-shadow:var(--shadow)}
/* 사진 가장자리 선 — 사진 위에 얹어야 보인다(안쪽 그림자는 사진에 가려진다). */
.arch--hero::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(31,92,74,.16);pointer-events:none}
.arch--hero{aspect-ratio:4/5;max-block-size:40rem;margin-inline-start:auto;overflow:hidden;background:var(--mint-50)}
.arch--hero img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.arch__empty{display:grid;place-items:center;block-size:100%;padding:var(--sp-08);text-align:center;
  font-family:var(--serif);font-size:1.75rem;color:var(--pine)}
.hero__badge{position:absolute;inset-inline-start:0;inset-block-start:22%;display:flex;align-items:center;gap:.8rem;
  padding:1rem 1.25rem;border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}
.hero__badge small{display:block;font-size:.75rem;color:var(--ink-3)}
.hero__badge b{display:block;font-size:1rem;font-weight:700}
.dot{inline-size:.625rem;block-size:.625rem;border-radius:50%;background:#2fb57a;box-shadow:0 0 0 4px rgba(47,181,122,.18);flex:none}
.dot--off{background:var(--clay);box-shadow:0 0 0 4px rgba(194,105,74,.16)}
.hero__chips{position:absolute;inset-inline:calc(var(--sp-08) + 1.25rem) 1.25rem;inset-block-end:1.25rem;display:flex;flex-wrap:wrap;gap:.4rem}
.hero__chips a{padding:.4rem .85rem;border-radius:999px;background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.8125rem;font-weight:600;color:var(--pine-900)}
.hero__chips a:hover{background:#fff}
@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr}
  .hero__media{padding-inline-start:0}
  .hero__media::before{display:none}
  .arch--hero{max-block-size:30rem;inline-size:min(100%,26rem);margin-inline:auto}
  .hero__badge{inset-inline-start:0;inset-block-start:auto;inset-block-end:5rem}
  .hero__chips{inset-inline:1rem}
  .facts{grid-template-columns:1fr 1fr}
}

/* ─── 빠른 길 ─────────────────────────────────────────────── */
.qbar{display:grid;grid-template-columns:repeat(4,1fr);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-sm);
  border:1px solid var(--line);overflow:hidden}
.qbar__item{display:flex;align-items:center;gap:var(--sp-05);padding:1.5rem 1.5rem;transition:background .2s}
.qbar__item+.qbar__item{border-inline-start:1px solid var(--line)}
.qbar__item:hover{background:var(--mint-50)}
.qbar__icon{display:grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;border-radius:50%;background:var(--mint);color:var(--pine);flex:none}
.qbar__icon svg,.qbar__go svg{inline-size:1.25rem;block-size:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.qbar__text{display:flex;flex-direction:column;min-inline-size:0;flex:1}
.qbar__text b{font-size:1.0625rem}
.qbar__text small{font-size:.8125rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qbar__go{color:var(--ink-3);transition:transform .2s,color .2s}
.qbar__item:hover .qbar__go{color:var(--pine);transform:translateX(3px)}
@media (max-width:900px){.qbar{grid-template-columns:1fr 1fr}.qbar__item:nth-child(3){border-inline-start:0}
  .qbar__item:nth-child(n+3){border-block-start:1px solid var(--line)}}
@media (max-width:520px){.qbar{grid-template-columns:1fr}.qbar__item+.qbar__item{border-inline-start:0;border-block-start:1px solid var(--line)}}

/* ─── 홈 배너 (banner) ────────────────────────────── */
.bnr{padding-block:var(--sp-10) 0}
/*
  ★ `margin-inline:auto` — 높이가 max-block-size 에 걸리면 브라우저가 비율로 폭을 줄인다.
    그때 틀이 wrap 왼쪽에 붙으면 밑의 점만 가운데라 어긋나 보인다(온새미로에서 실제로 그랬다).
*/
.bnr__view{position:relative;margin-inline:auto;border-radius:var(--r-lg);overflow:hidden;
  background:var(--sand);aspect-ratio:var(--ratio,16/9);max-block-size:min(70vh,30rem)}
.bnr__slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .5s}
.bnr__slide.is-on{opacity:1;visibility:visible}
.bnr__slide img{inline-size:100%;block-size:100%;object-fit:contain;display:block}
.bnr__cap{position:absolute;inset-block-end:0;inset-inline:0;padding:var(--sp-07) var(--sp-08);color:#fff;
  background:linear-gradient(to top,rgba(0,0,0,.58),transparent)}
.bnr__cap b{display:block;font-family:var(--serif);font-size:1.375rem;font-weight:500}
.bnr__cap span{display:block;margin-block-start:var(--sp-02);font-size:.875rem;opacity:.9}
.bnr__nav{position:absolute;inset-block-start:50%;translate:0 -50%;z-index:1;display:grid;place-items:center;
  inline-size:2.75rem;block-size:2.75rem;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.9);color:var(--ink);box-shadow:0 1px 6px rgba(0,0,0,.18)}
.bnr__nav:hover{background:#fff}
.bnr__nav svg{inline-size:1.25rem;block-size:1.25rem;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.bnr__nav--prev{inset-inline-start:var(--sp-05)}
.bnr__nav--next{inset-inline-end:var(--sp-05)}
.bnr__dots{display:flex;justify-content:center;gap:var(--sp-03);margin-block-start:var(--sp-05)}
.bnr__dot{inline-size:.5rem;block-size:.5rem;padding:0;border:0;border-radius:999px;cursor:pointer;background:var(--line);transition:inline-size .2s}
.bnr__dot.is-on{inline-size:1.5rem;background:var(--pine)}
@media (max-width:640px){.bnr__cap{padding:var(--sp-05)}.bnr__cap b{font-size:1rem}.bnr__nav{inline-size:2.25rem;block-size:2.25rem}}

/* ─── 진료 원칙 (큰 숫자 셋) ───────────────────────────────── */
.way{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-08);margin:0;padding:0;list-style:none}
.way li{padding-block-start:var(--sp-06);border-block-start:1px solid var(--ink)}
.way__no{display:block;font-family:var(--serif);font-size:clamp(3rem,6vw,4.5rem);line-height:1;color:var(--clay);letter-spacing:-.04em}
.way h3{margin-block:var(--sp-06) var(--sp-04);font-family:var(--serif);font-size:1.375rem;font-weight:500;letter-spacing:-.03em}
.way p{color:var(--ink-2);font-size:.9844rem}
@media (max-width:860px){.way{grid-template-columns:1fr;gap:var(--sp-07)}}

/* ─── 진료 분야 쇼케이스 (홈) ──────────────────────────────── */
.showcase{display:grid;grid-template-columns:20rem 1fr;gap:var(--sp-08);align-items:stretch}
.showcase__list{display:flex;flex-direction:column;gap:.25rem}
.showcase__tab{display:flex;align-items:center;gap:var(--sp-05);inline-size:100%;padding:1.1rem 1.25rem;border:0;border-radius:16px;
  background:none;text-align:start;cursor:pointer;color:var(--ink-2);transition:background .2s,color .2s}
.showcase__tab span{font-family:var(--serif);font-size:.9375rem;color:var(--ink-3)}
.showcase__tab b{flex:1;font-size:1.125rem;font-weight:600}
.showcase__tab svg{inline-size:1.125rem;block-size:1.125rem;fill:none;stroke:currentColor;stroke-width:2;opacity:0;transition:opacity .2s,transform .2s}
.showcase__tab:hover{background:rgba(255,255,255,.6)}
.showcase__tab.is-on{background:var(--paper);color:var(--pine);box-shadow:var(--shadow-sm)}
.showcase__tab.is-on span{color:var(--clay)}
.showcase__tab.is-on svg{opacity:1;transform:translateX(2px)}
.showcase__panel{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-lg);background:var(--paper);overflow:hidden;min-block-size:26rem;box-shadow:var(--shadow-sm)}
.showcase__img{block-size:100%;min-block-size:20rem}
.showcase__body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(1.75rem,4vw,3rem)}
.showcase__body h3{font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;letter-spacing:-.03em}
.showcase__sum{margin-block-start:var(--sp-04);font-size:1.125rem;font-weight:500;color:var(--ink)}
.showcase__more{margin-block-start:var(--sp-04);color:var(--ink-2);font-size:.9375rem}
.showcase__body .btn{margin-block-start:var(--sp-04)}
@media (max-width:1024px){.showcase{grid-template-columns:1fr}.showcase__list{flex-direction:row;overflow-x:auto;padding-block-end:.25rem}
  .showcase__tab{inline-size:auto;flex:none}.showcase__tab svg{display:none}}
@media (max-width:640px){.showcase__panel{grid-template-columns:1fr}.showcase__img{min-block-size:14rem;aspect-ratio:16/10}}

/* ─── 첫 방문 흐름 ─────────────────────────────────────────── */
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-05);margin:0;padding:0;list-style:none;counter-reset:j}
.journey li{position:relative;padding:4.25rem var(--sp-05) 0 0}
.journey li::before{content:"";position:absolute;inset-block-start:1.5rem;inset-inline:3rem -1rem;block-size:1px;
  background:repeating-linear-gradient(90deg,var(--mint-200) 0 6px,transparent 6px 12px)}
.journey li:last-child::before{display:none}
.journey__no{position:absolute;inset-block-start:0;inset-inline-start:0;display:grid;place-items:center;inline-size:3rem;block-size:3rem;
  border-radius:50%;border:1px solid var(--pine);background:var(--bg);font-family:var(--serif);font-size:1rem;color:var(--pine)}
.journey li:first-child .journey__no{background:var(--pine);color:#fff}
.journey b{display:block;font-size:1.125rem;font-weight:700}
.journey p{margin-block-start:var(--sp-03);font-size:.9375rem;color:var(--ink-2)}
@media (max-width:980px){.journey{grid-template-columns:1fr;gap:0}
  .journey li{padding:0 0 var(--sp-07) 4.25rem}
  .journey li::before{inset-block:3.25rem 0;inset-inline:1.5rem auto;inline-size:1px;block-size:auto;
    background:repeating-linear-gradient(180deg,var(--mint-200) 0 6px,transparent 6px 12px)}}

/* ─── 의료진 ─────────────────────────────────────────────── */
.dfeat{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.dfeat__img{aspect-ratio:4/5}
.dfeat__name{margin-block-start:var(--sp-05);font-family:var(--serif);font-size:clamp(2.25rem,4vw,3rem);font-weight:500;letter-spacing:-.03em}
.dfeat__spec{margin-block-start:var(--sp-03);font-weight:600;color:var(--pine)}
.dfeat__quote,.dwide blockquote,.dprof__quote{position:relative;margin:var(--sp-07) 0 0;padding-inline-start:var(--sp-06);
  border-inline-start:2px solid var(--clay);font-family:var(--serif);font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.7;color:var(--ink)}
.ticks{margin:var(--sp-07) 0 var(--sp-07);padding:0;list-style:none;display:grid;gap:.5rem}
.ticks li{position:relative;padding-inline-start:1.25rem;color:var(--ink-2);font-size:.9375rem}
.ticks li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:.7em;inline-size:.45rem;block-size:.45rem;border-radius:50%;background:var(--mint-200)}
.docrow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-04);margin-block-start:var(--sp-10)}
.dmini{display:flex;align-items:center;gap:var(--sp-04);padding:.75rem;border-radius:18px;border:1px solid var(--line);background:var(--bg);transition:border-color .2s}
.dmini:hover{border-color:var(--pine)}
.dmini__img{inline-size:3.5rem;block-size:3.5rem;border-radius:50%;flex:none}
.dmini__img.ph--empty span{font-size:1.25rem}
.dmini__img img{object-position:50% 12%;transform:scale(1.6);transform-origin:50% 8%}
.dfeat__img img,.dwide__img img,.dprof__img img,.dcard .ph img{object-position:50% 18%}
.dmini b{display:block;font-size:1rem}
.dmini small{display:block;font-size:.8125rem;color:var(--ink-3);line-height:1.4}
.days{display:flex;gap:.25rem;flex-wrap:wrap}
.day{display:grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:50%;background:var(--sand);font-size:.75rem;color:var(--ink-3)}
.day--on{background:var(--pine);color:#fff}
@media (max-width:900px){.dfeat{grid-template-columns:1fr}.dfeat__img{max-inline-size:22rem}.docrow{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.docrow{grid-template-columns:1fr}}

/* ─── 진료 프로그램 표 ───────────────────────────────────── */
.plist{border-block-start:1px solid var(--ink)}
.prow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) 7rem 8.5rem 2.5rem;gap:var(--sp-06);align-items:center;
  padding:1.5rem var(--sp-03);border-block-end:1px solid var(--line);transition:background .2s,padding .2s}
.prow:hover{background:var(--mint-50);padding-inline:var(--sp-05)}
.prow__name{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.prow__name b{font-size:1.125rem;font-weight:700}
.prow__sum{color:var(--ink-2);font-size:.9375rem}
.prow__meta{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:var(--ink-3);white-space:nowrap}
.prow__meta svg,.prow__go svg{inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prow__price{font-size:1.0625rem;font-weight:700;color:var(--pine);text-align:end;white-space:nowrap}
.prow__go{display:grid;place-items:center;inline-size:2.5rem;block-size:2.5rem;border-radius:50%;border:1px solid var(--line);color:var(--ink-2)}
.prow:hover .prow__go{background:var(--pine);border-color:var(--pine);color:#fff}
.plist__foot{margin-block-start:var(--sp-07);text-align:end}
@media (max-width:860px){.prow{grid-template-columns:1fr auto;gap:.35rem var(--sp-05)}
  .prow__sum{grid-column:1/-1;grid-row:2}.prow__meta{grid-row:3}.prow__price{grid-row:3}.prow__go{display:none}}

/* ─── 방문 안내 (홈) ─────────────────────────────────────── */
.visit{display:grid;grid-template-columns:1fr 1.15fr;border-radius:var(--r-xl);overflow:hidden;background:var(--pine-900);color:#fff}
.visit__hours{padding:clamp(2rem,5vw,3.5rem)}
.visit__hours .title{margin-block-end:var(--sp-07)}
.htable{inline-size:100%;border-collapse:collapse}
.htable th,.htable td{padding:.85rem 0;border-block-end:1px solid var(--line);text-align:start;font-size:.9844rem}
.htable th{inline-size:9rem;font-weight:500;color:var(--ink-3)}
.htable td{font-weight:600}
.htable--light th,.htable--light td{border-block-end-color:rgba(255,255,255,.12)}
.htable--light th{color:rgba(255,255,255,.6)}
.htable--light td{color:#fff}
.visit__note{margin-block-start:var(--sp-06);font-size:.875rem;color:rgba(255,255,255,.72)}
.visit__note strong{color:#fff}
.visit__closures{display:flex;flex-direction:column;gap:.25rem;margin-block-start:var(--sp-06);padding:var(--sp-05);border-radius:16px;
  background:rgba(255,255,255,.07);font-size:.875rem;color:rgba(255,255,255,.8)}
.visit__closures b{color:var(--mint-200);font-size:.8125rem}
.visit__map{position:relative;min-block-size:28rem;background:var(--sand)}
.visit__mapbox,.visit__mapbox iframe{position:absolute;inset:0;inline-size:100%;block-size:100%;border:0}
.visit__addr{position:absolute;inset-inline:var(--sp-06);inset-block-end:var(--sp-06);padding:var(--sp-06);border-radius:var(--r);
  background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}
.visit__addr b{display:block;font-size:1.0625rem}
.visit__addr p{margin-block:var(--sp-03) var(--sp-04);font-size:.875rem;color:var(--ink-2)}
.mapempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;block-size:100%;min-block-size:16rem;color:var(--ink-3)}
.mapempty svg{inline-size:2rem;block-size:2rem;fill:none;stroke:currentColor;stroke-width:1.5}
@media (max-width:900px){.visit{grid-template-columns:1fr}.visit__map{min-block-size:26rem}}

/* ─── 소식 ─────────────────────────────────────────────── */
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-07)}
.ncard{display:flex;flex-direction:column;gap:.5rem}
.ncard__img{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--mint-50);margin-block-end:var(--sp-04)}
.ncard__img img{inline-size:100%;block-size:100%;object-fit:cover;display:block;transition:transform .4s}
.ncard:hover .ncard__img img{transform:scale(1.04)}
.ncard__img--empty{display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,var(--mint) 0,transparent 60%),var(--mint-50)}
.ncard__img--empty{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:var(--sp-06)}
.ncard__img--empty i{font-style:normal;font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--clay)}
.ncard__img--empty em{font-style:normal;font-family:var(--serif);font-size:1.375rem;line-height:1.45;color:var(--pine-900);letter-spacing:-.03em}
.ncard:nth-child(2) .ncard__img--empty{background:radial-gradient(circle at 20% 80%,var(--clay-50) 0,transparent 60%),var(--sand)}
.ncard:nth-child(3) .ncard__img--empty{background:radial-gradient(circle at 80% 80%,var(--mint) 0,transparent 55%),var(--paper);border:1px solid var(--line)}
.ncard time{font-size:.8125rem;color:var(--ink-3)}
.ncard b{font-size:1.125rem;font-weight:700;line-height:1.45}
.ncard:hover b{color:var(--pine)}
@media (max-width:860px){.newsgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.newsgrid{grid-template-columns:1fr}}

/* ─── 마무리 ─────────────────────────────────────────────── */
.cta{position:relative;display:grid;grid-template-columns:1fr auto;gap:var(--sp-08);align-items:end;margin-block:0 clamp(4.5rem,9vw,7.5rem);
  padding:clamp(2.5rem,6vw,4.5rem);border-radius:var(--r-xl);background:var(--pine);color:#fff;overflow:hidden}
.cta::after{content:"";position:absolute;inset-inline-end:-6rem;inset-block-start:-8rem;inline-size:22rem;block-size:22rem;border-radius:50%;
  background:radial-gradient(circle,rgba(220,239,230,.22),transparent 70%);pointer-events:none}
.cta h2{font-family:var(--serif);font-size:clamp(1.75rem,3.4vw,2.625rem);font-weight:500;letter-spacing:-.03em}
.cta p{margin-block-start:var(--sp-05);max-inline-size:32rem;color:rgba(255,255,255,.75)}
.cta__actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:var(--sp-04)}
@media (max-width:760px){.cta{grid-template-columns:1fr}}

/* ─── 서브 비주얼 · 탭 ───────────────────────────────────── */
.svis{position:relative;display:flex;align-items:flex-end;min-block-size:clamp(15rem,28vw,20rem);margin-inline:clamp(.5rem,1.6vw,1.5rem);
  padding-block:var(--sp-10) var(--sp-09);border-radius:var(--r-xl);overflow:hidden;
  background:radial-gradient(circle at 85% 10%,var(--mint) 0,transparent 45%),var(--mint-50)}
.svis__bg{position:absolute;inset:0}
.svis__bg img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.svis--photo{color:#fff}
.svis--photo .svis__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,46,37,.82) 0%,rgba(15,46,37,.45) 55%,rgba(15,46,37,.15) 100%)}
.svis__in{position:relative;inline-size:100%}
.crumb{display:flex;flex-wrap:wrap;gap:.4rem;margin-block-end:var(--sp-06);font-size:.8125rem;color:var(--ink-3)}
.svis--photo .crumb{color:rgba(255,255,255,.7)}
.crumb__sep{opacity:.5}
.svis__eyebrow{margin-block-end:var(--sp-03);font-size:.875rem;font-weight:700;letter-spacing:.06em;color:var(--clay)}
.svis__eyebrow:empty{display:none}
.svis--photo .svis__eyebrow{color:var(--mint-200)}
.svis__title{font-family:var(--serif);font-size:clamp(2.125rem,4.4vw,3.5rem);font-weight:500;line-height:1.15;letter-spacing:-.035em}
.stabs{position:sticky;inset-block-start:var(--hd);z-index:20;margin-block-start:var(--sp-05);background:rgba(251,248,243,.92);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block-end:1px solid var(--line)}
.stabs__in{display:flex;gap:var(--sp-02);overflow-x:auto;scrollbar-width:none}
.stabs__in::-webkit-scrollbar{display:none}
.subtab{position:relative;display:block;padding:1.1rem 1rem;font-size:.9844rem;font-weight:600;color:var(--ink-3);white-space:nowrap}
.subtab:hover{color:var(--ink)}
.subtab.is-active{color:var(--pine)}
.subtab.is-active::after{content:"";position:absolute;inset-inline:1rem;inset-block-end:-1px;block-size:2px;border-radius:2px;background:var(--pine)}
.subbody{padding-block:clamp(3rem,6vw,4.5rem) clamp(4.5rem,9vw,7.5rem)}

/* ─── 진료 분야 목록 (지그재그) ──────────────────────────── */
.drows{display:grid;gap:var(--sp-07)}
.drow{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:var(--sp-06);
  border-radius:var(--r-xl);background:var(--paper);border:1px solid var(--line);transition:box-shadow .25s,transform .25s}
.drow:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.drow:nth-child(even) .drow__img{order:2}
.drow__img{aspect-ratio:4/3;border-radius:var(--r-lg)}
.drow__body{padding:var(--sp-05)}
.drow__no{font-family:var(--serif);font-size:1.25rem;color:var(--clay)}
.drow h2{margin-block-start:var(--sp-03);font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:500;letter-spacing:-.03em}
.drow__sum{margin-block-start:var(--sp-04);font-size:1.125rem;font-weight:500}
.drow__more{margin-block-start:var(--sp-03);color:var(--ink-2)}
.drow .textlink{margin-block-start:var(--sp-04)}
@media (max-width:860px){.drow{grid-template-columns:1fr}.drow:nth-child(even) .drow__img{order:0}}

/* ─── 상세 (분야·프로그램) ───────────────────────────────── */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.detail__lead{font-family:var(--serif);font-size:clamp(1.375rem,2.6vw,1.875rem);line-height:1.55;letter-spacing:-.03em}
.detail__text{margin-block-start:var(--sp-07)}
.detail__text p{font-size:1.0625rem;line-height:1.95;color:var(--ink-2)}
.detail__text p+p{margin-block-start:var(--sp-05)}
.detail__img{margin-block-start:var(--sp-09)}
.detail__img .ph{aspect-ratio:16/9;border-radius:var(--r-lg)}
.detail__side{position:sticky;inset-block-start:calc(var(--hd) + 5rem);display:grid;gap:var(--sp-05)}
.block{margin-block-start:clamp(3rem,6vw,4.5rem)}
.block__title{display:flex;align-items:center;gap:.75rem;margin-block-end:var(--sp-07);font-family:var(--serif);font-size:clamp(1.375rem,2.4vw,1.75rem);
  font-weight:500;letter-spacing:-.03em}
.block__title::before{content:"";inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--clay)}
.kids{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-04)}
.kid{position:relative;display:block;padding:var(--sp-06);padding-inline-end:4rem;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);transition:border-color .2s}
.kid:hover{border-color:var(--pine)}
.kid__no{font-family:var(--serif);font-size:.875rem;color:var(--clay)}
.kid b{display:block;margin-block-start:.25rem;font-size:1.125rem}
.kid p{margin-block-start:.35rem;font-size:.9375rem;color:var(--ink-2)}
.kid__go{position:absolute;inset-inline-end:1.25rem;inset-block-start:1.5rem;color:var(--ink-3)}
.kid__go svg{inline-size:1.125rem;block-size:1.125rem;fill:none;stroke:currentColor;stroke-width:2}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-04);margin:0;padding:0;list-style:none}
.steps li{padding:var(--sp-06);border-radius:var(--r);background:var(--mint-50)}
.steps__no{display:block;font-family:var(--serif);font-size:1.75rem;color:var(--pine);line-height:1}
.steps b{display:block;margin-block-start:var(--sp-05);font-size:1.0625rem}
.steps p{margin-block-start:.35rem;font-size:.9063rem;color:var(--ink-2)}
.pn{display:flex;justify-content:space-between;gap:var(--sp-05);margin-block-start:var(--sp-11);padding-block-start:var(--sp-07);border-block-start:1px solid var(--line)}
.pn a{display:flex;flex-direction:column;gap:.25rem}
.pn small{font-size:.8125rem;color:var(--ink-3)}
.pn b{font-family:var(--serif);font-size:1.25rem;font-weight:500}
.pn a:hover b{color:var(--pine)}
.pn__next{text-align:end}
.sidecard{padding:var(--sp-07);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--paper)}
.sidecard h3{margin-block-end:var(--sp-05);font-family:var(--serif);font-size:1.25rem;font-weight:500}
.sidecard .dmini+.dmini{margin-block-start:var(--sp-03)}
.sidecard--facts dl{margin:0}
.sidecard--facts dl div{display:flex;justify-content:space-between;gap:var(--sp-05);padding-block:.8rem;border-block-end:1px solid var(--line)}
.sidecard--facts dt{color:var(--ink-3);font-size:.9375rem}
.sidecard--facts dd{margin:0;font-weight:700;text-align:end}
.consult{padding:var(--sp-07);border-radius:var(--r-lg);background:var(--pine-900);color:#fff}
.consult h3{font-family:var(--serif);font-size:1.375rem;font-weight:500}
.consult p{margin-block-start:var(--sp-03);font-size:.9375rem;color:rgba(255,255,255,.72)}
.consult__actions{display:grid;gap:var(--sp-03);margin-block-start:var(--sp-06)}
.consult .btn--pine{background:#fff;color:var(--pine-900)}
.consult .btn--pine:hover{background:var(--mint)}
.consult .btn--line{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.consult .btn--line:hover{background:rgba(255,255,255,.08)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-04);margin:0;padding:0;list-style:none}
.checks li{display:flex;align-items:center;gap:.75rem;padding:var(--sp-05);border-radius:16px;background:var(--paper);border:1px solid var(--line);font-weight:600}
.checks svg{inline-size:1.75rem;block-size:1.75rem;padding:.3rem;border-radius:50%;background:var(--mint);fill:none;stroke:var(--pine);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:980px){.detail{grid-template-columns:1fr}.detail__side{position:static}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.kids,.checks,.steps{grid-template-columns:1fr}}

/* ─── 의료진 목록·상세 ───────────────────────────────────── */
.dwide{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:var(--sp-06);
  border-radius:var(--r-xl);background:var(--paper);border:1px solid var(--line);transition:box-shadow .25s}
.dwide:hover{box-shadow:var(--shadow)}
.dwide__img{aspect-ratio:4/5}
.dwide__body{padding:var(--sp-05)}
.dwide h2{margin-block-start:var(--sp-05);font-family:var(--serif);font-size:clamp(2.25rem,4vw,3rem);font-weight:500;letter-spacing:-.03em}
.dwide__spec{margin-block-start:var(--sp-03);font-weight:600;color:var(--pine)}
.dwide__days{display:flex;align-items:center;gap:var(--sp-04);margin-block:var(--sp-07) var(--sp-06)}
.dwide__days small,.dprof__days small{font-size:.8125rem;color:var(--ink-3)}
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-06);margin-block-start:var(--sp-07)}
.dcard{display:block;padding:.75rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);transition:box-shadow .25s}
.dcard:hover{box-shadow:var(--shadow)}
.dcard .ph{aspect-ratio:4/5}
.dcard__body{padding:var(--sp-05) var(--sp-03) var(--sp-03)}
.dcard__name{display:flex;align-items:baseline;gap:.5rem;font-family:var(--serif);font-size:1.3125rem;font-weight:500}
.dcard__name small{font-family:var(--sans);font-size:.75rem;font-weight:700;color:var(--clay)}
.dcard__spec{margin-block:.25rem var(--sp-04);font-size:.875rem;color:var(--ink-3)}
.dprof{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.dprof__media{position:sticky;inset-block-start:calc(var(--hd) + 5rem)}
.dprof__img{aspect-ratio:4/5}
.dprof__days{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-04);margin-block-start:var(--sp-05);
  padding:var(--sp-05);border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.dprof__name{margin-block-start:var(--sp-05);font-family:var(--serif);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:500;letter-spacing:-.035em}
.dprof__spec{margin-block-start:var(--sp-03);font-size:1.0625rem;font-weight:600;color:var(--pine)}
.dprof .btn{margin-block-start:var(--sp-09)}
.timeline{position:relative;margin:0;padding:0 0 0 1.5rem;list-style:none}
.timeline::before{content:"";position:absolute;inset-block:.6rem .6rem;inset-inline-start:.3rem;inline-size:1px;background:var(--line)}
.timeline li{position:relative;padding-block:.45rem;color:var(--ink-2)}
.timeline li::before{content:"";position:absolute;inset-inline-start:-1.5rem;inset-block-start:1rem;inline-size:.625rem;block-size:.625rem;
  border-radius:50%;background:var(--paper);border:2px solid var(--pine)}
.timeline li:first-child::before{background:var(--pine)}
@media (max-width:1024px){.dgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.dwide,.dprof{grid-template-columns:1fr}.dwide__img,.dprof__img{max-inline-size:22rem}
  .dprof__media{position:static}.dgrid{grid-template-columns:1fr 1fr}}

/* ─── 진료 시간 ─────────────────────────────────────────── */
.hoursgrid{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:clamp(2rem,5vw,4rem);align-items:start}
.hoursgrid__side{display:grid;gap:var(--sp-05)}
.today{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem;border-radius:999px;background:var(--mint);font-weight:600;color:var(--pine-900)}
.today--off{background:var(--clay-50);color:var(--clay)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem;margin-block-start:var(--sp-07)}
.week__day{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.4rem .5rem;border-radius:var(--r);background:var(--paper);
  border:1px solid var(--line);text-align:center}
.week__day b{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-size:1.5rem;font-weight:500;line-height:1.1}
.week__day b small{margin-block-start:.3rem;font-family:var(--sans);font-size:.6875rem;font-weight:700;letter-spacing:.05em}
.week__day span{font-size:.875rem;font-weight:600;line-height:1.45;color:var(--ink-2)}
.week__day.is-off{background:var(--sand);border-color:transparent}
.week__day.is-off span{color:var(--clay)}
.week__day.is-today{background:var(--pine);border-color:var(--pine);color:#fff}
.week__day.is-today span{color:rgba(255,255,255,.9)}
.week__lunch{margin-block-start:var(--sp-05);font-size:.9375rem;color:var(--ink-2)}
.week__lunch b{margin-inline-end:.4rem;color:var(--ink)}
.notebox{margin-block-start:var(--sp-07);padding:var(--sp-06) var(--sp-07);border-radius:var(--r);background:var(--mint-50);color:var(--ink-2)}
.notebox--clay{margin-block:0 var(--sp-07);background:var(--clay-50)}
.notebox--clay b{display:block;margin-block-end:.25rem;color:var(--clay);font-size:.875rem}
.closures{margin:0;padding:0;list-style:none}
.closures li{padding-block:var(--sp-04);border-block-end:1px solid var(--line)}
.closures li:last-child{border-block-end:0}
.closures b{display:block;color:var(--pine);font-size:.9375rem}
.closures span{font-weight:600}
.closures__body{margin-block-start:.25rem;font-size:.875rem;color:var(--ink-2)}
@media (max-width:980px){.hoursgrid{grid-template-columns:1fr}}
@media (max-width:640px){.week{grid-template-columns:repeat(4,1fr)}}

/* ─── 인사말 ─────────────────────────────────────────────── */
.greet{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5.5rem);align-items:center}
.greet__img{aspect-ratio:4/5}
.greet__title{font-family:var(--serif);font-size:clamp(2rem,3.8vw,2.875rem);font-weight:500;line-height:1.3;letter-spacing:-.035em;margin-block-end:var(--sp-07)}
.greet__body .prose p{font-size:1.0625rem;line-height:1.95;color:var(--ink-2)}
.sign{margin-block-start:var(--sp-09);padding-block-start:var(--sp-06);border-block-start:1px solid var(--line)}
.sign small{display:block;font-size:.8125rem;color:var(--ink-3)}
.sign b{font-family:var(--serif);font-size:1.75rem;font-weight:500;letter-spacing:.2em}
@media (max-width:860px){.greet{grid-template-columns:1fr}.greet__img{max-inline-size:24rem}}

/* ─── 오시는 길 ─────────────────────────────────────────── */
.access{display:grid;grid-template-columns:1.35fr 1fr;border-radius:var(--r-xl);overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.access__map{position:relative;min-block-size:28rem;background:var(--sand)}
.access__map iframe{position:absolute;inset:0;inline-size:100%;block-size:100%;border:0}
.access__info{padding:clamp(1.75rem,4vw,3rem)}
.access__info h2{font-family:var(--serif);font-size:1.625rem;font-weight:500;line-height:1.45;letter-spacing:-.03em}
.access__detail{margin-block-start:.25rem;color:var(--ink-2)}
.access__info dl{margin:var(--sp-07) 0 0}
.access__info dl div{display:flex;justify-content:space-between;gap:var(--sp-05);padding-block:.75rem;border-block-end:1px solid var(--line);font-size:.9375rem}
.access__info dt{color:var(--ink-3)}
.access__info dd{margin:0;font-weight:600;text-align:end}
.access__info dd a{color:var(--pine)}
.access__actions{display:flex;flex-wrap:wrap;gap:var(--sp-03);margin-block-start:var(--sp-07)}
.acards{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-05)}
.acard{padding:var(--sp-07);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.acard__icon{display:grid;place-items:center;inline-size:3rem;block-size:3rem;border-radius:50%;background:var(--mint);color:var(--pine)}
.acard__icon svg{inline-size:1.375rem;block-size:1.375rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.acard b{display:block;margin-block:var(--sp-05) var(--sp-03);font-size:1.125rem}
.acard .prose{color:var(--ink-2);font-size:.9688rem}
@media (max-width:900px){.access{grid-template-columns:1fr}.access__map{min-block-size:20rem}}
@media (max-width:640px){.acards{grid-template-columns:1fr}}

/* ─── 비급여 ─────────────────────────────────────────────── */
.catbar{position:sticky;inset-block-start:calc(var(--hd) + 3.5rem);z-index:10;display:flex;flex-wrap:wrap;gap:var(--sp-03);
  margin-block-end:var(--sp-05);padding-block:var(--sp-04);background:var(--bg)}
.catbar__btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);font-size:.9375rem;font-weight:600;cursor:pointer}
.catbar__btn:hover{border-color:var(--pine);color:var(--pine)}
.catbar__btn small{display:grid;place-items:center;min-inline-size:1.4rem;block-size:1.4rem;border-radius:999px;background:var(--mint);font-size:.75rem;color:var(--pine)}
.pricecat{margin-block-start:var(--sp-09)}
.ptable{inline-size:100%;border-collapse:collapse;border-block-start:1px solid var(--ink)}
.ptable th{padding:.85rem .75rem;border-block-end:1px solid var(--line);text-align:start;font-size:.8125rem;font-weight:600;color:var(--ink-3)}
.ptable th:last-child{text-align:end}
.ptable td{padding:1.1rem .75rem;border-block-end:1px solid var(--line);font-size:.9844rem}
.ptable td:first-child{font-weight:600}
.ptable__price{text-align:end;font-weight:700;color:var(--pine);white-space:nowrap}
.ptable tbody tr:hover{background:var(--mint-50)}
@media (max-width:640px){.ptable thead{display:none}.ptable tr{display:grid;grid-template-columns:1fr auto;padding-block:.5rem;border-block-end:1px solid var(--line)}
  .ptable td{border:0;padding:.25rem .5rem}.ptable td.muted{grid-column:1/-1;grid-row:2;font-size:.875rem}}

/* ─── 안내문(개인정보처리방침 등) ────────────────────────── */
.ai6-prose{line-height:1.9;color:var(--ink-2)}
.ai6-prose h2,.ai6-prose h3{margin-block:var(--sp-08) var(--sp-04);color:var(--ink);font-family:var(--serif);font-weight:500}
.ai6-prose p+p{margin-block-start:var(--sp-05)}

/* ─── 바닥글 ─────────────────────────────────────────────── */
.ft{padding-block:clamp(3.5rem,7vw,5.5rem) var(--sp-07);background:var(--sand);color:var(--ink-2);font-size:.9375rem;overflow:hidden}
.ft__top{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .8fr;gap:var(--sp-08)}
.ft__brand{font-family:var(--serif);font-size:1.875rem;font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.ft__intro{margin-block-start:var(--sp-03);color:var(--ink-3)}
.ft__actions{display:flex;flex-wrap:wrap;gap:var(--sp-03);margin-block-start:var(--sp-07)}
.ft h5{margin-block-end:var(--sp-05);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ft__hours span,.ft__addr span{display:block;padding-block:.15rem}
.ft__hours b{display:inline-block;min-inline-size:6.5rem;font-weight:500;color:var(--ink-3)}
.ft__addr a{color:var(--pine);font-weight:600}
.ft__links a{display:block;padding-block:.2rem}
.ft__links a:hover{color:var(--pine)}
.ft__bottom{display:flex;flex-direction:column;gap:var(--sp-05);margin-block-start:var(--sp-10);padding-block-start:var(--sp-06);
  border-block-start:1px solid var(--line);font-size:.8125rem;color:var(--ink-3)}
.ft__big{display:block;font-family:var(--serif);font-size:clamp(3.5rem,13vw,10rem);line-height:.9;letter-spacing:-.05em;
  color:rgba(31,92,74,.08);white-space:nowrap;user-select:none}
@media (max-width:980px){.ft__top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ft__top{grid-template-columns:1fr}}

/* ─── 팝업 (popup) ───────────────────────────────── */
/*
 * 팝업은 **화면 가운데**에 **같은 크기**로 뜬다 (2026-09-22 지적).
 * 여러 개면 `--pop-i` 만큼 조금씩 어긋나게 겹친다(뒤 창이 있다는 것은 보이게).
 */
.pop-dim{position:fixed;inset:0;z-index:79;background:rgba(15,46,37,.45)}
.pop{position:fixed;z-index:80;inset-block-start:50%;inset-inline-start:50%;
  translate:calc(-50% + var(--pop-i,0) * 1.25rem) calc(-50% + var(--pop-i,0) * 1.25rem);
  inline-size:min(24rem,calc(100vw - 2rem));border-radius:var(--r-lg);overflow:hidden;
  background:var(--paper);box-shadow:0 24px 64px rgba(15,46,37,.3)}
/* 사진 자리도 고정이다 — 비율이 제각각인 사진을 그대로 받으면 창 키가 사진마다 달라진다. */
.pop img{inline-size:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pop__body{padding:var(--sp-07) var(--sp-07) var(--sp-06)}
.pop__body b{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:500}
.pop__body div{margin-block-start:var(--sp-03);font-size:.9375rem;color:var(--ink-2)}
.pop__foot{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-04) var(--sp-06);
  border-block-start:1px solid var(--line);font-size:.8125rem;background:var(--bg)}
.pop__foot button{border:0;background:none;color:var(--ink-2);cursor:pointer;padding:var(--sp-02)}
.pop__foot button:hover{color:var(--pine)}

/* ─── 퀵바 (quick.js · 모든 화면) ───────────────────────── */
.quick{position:fixed;z-index:60;inset-inline-end:var(--sp-05);inset-block-end:var(--sp-06);
  display:flex;flex-direction:column;gap:.35rem;padding:.35rem;border-radius:22px;background:var(--pine-900);box-shadow:var(--shadow)}
/* 동그라미가 아니라 **둥근 네모**다 — 「오시는 길」 같은 글자가 원 밖으로 넘쳤다(실측). */
.quick a,.quick button{display:grid;place-items:center;inline-size:3.75rem;block-size:3.75rem;padding:var(--sp-02);
  border:0;border-radius:16px;background:transparent;color:#fff;cursor:pointer;
  font-size:.625rem;line-height:1.2;text-align:center;white-space:nowrap}
.quick a:hover,.quick button:hover{background:rgba(255,255,255,.12)}
.quick svg{inline-size:1.125rem;block-size:1.125rem;fill:currentColor}
.quick .quick__label{display:block;margin-block-start:.125rem;opacity:.85}
@media (max-width:720px){
  .quick{inset-inline:0;inset-block-end:0;flex-direction:row;gap:0;border-radius:0;padding:var(--sp-03)}
  .quick a,.quick button{flex:1;inline-size:auto;block-size:3rem}
  .quick__top{display:none}
  body{padding-block-end:3.75rem}
}

/* ═══════ 틀(shell.html) 안 — 서버가 그리는 머리말·바닥글 ═══════
   머리말은 `.ai6-shell-head`, 바닥글은 `.ai6-shell-foot` 안에 들어간다(실측).
   서버는 번들의 클래스 이름을 모르므로 **제 이름으로** 그린다(brand-mark·nav-link…). 위에서 SPA 와
   **같은 규칙**을 이미 걸어 두었다(.brand__mark,.brand-mark · ul.nav-list). 여기엔 틀에만 필요한 것만.

   ⚠️ **font-weight 를 반드시 적는다.** 게시판 화면에는 렌더러의 globals.css 가 함께 실리고 거기
      `.brand{font-weight:800}` 이 있다. 번들이 굵기를 안 정하면 상호가 홈에서는 600, 게시판에서는 800 이다.
   ⚠️ 값이 없는 줄은 안 그린다 — 틀에는 조건이 없어서 전화가 비면 라벨만 남는다. `data-tel` 로 빈 값인지를
      CSS 가 알아본다. */
.ai6-shell-head .hd__tel[data-tel=""]{display:none}
.ai6-shell-head .hd__tel::before{content:"";inline-size:1rem;block-size:1rem;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 006 6L16 13l5 2v4a2 2 0 01-2 2A16 16 0 013 5a2 2 0 012-2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 006 6L16 13l5 2v4a2 2 0 01-2 2A16 16 0 013 5a2 2 0 012-2z'/%3E%3C/svg%3E") center/contain no-repeat}
.ai6-shell-head .brand{font-weight:400;font-size:inherit;letter-spacing:normal}
.ai6-shell-head .brand-name{display:block;font-weight:600}
.ai6-shell-head .brand-intro{display:block;font-weight:500}
.ai6-shell-head .mnav .nav{display:contents}
/* 렌더러의 globals.css 가 하위가 있는 메뉴 글자 뒤에 꺾쇠를 붙인다 — SPA 머리말에는 없어서 게시판에서만 달라 보였다. */
.ai6-shell-head .nav-item:has(> .nav-sub) > .nav-link::after{content:none;display:none}
/* 틀에는 스크립트가 없어 여닫는 단추를 못 단다 — 좁은 화면에서는 대메뉴를 머리말 밑 한 줄로 가로 스크롤한다. */
@media (max-width:1024px){
  .ai6-shell-head .hd__in{flex-wrap:wrap;row-gap:.25rem;padding-block-start:.75rem}
  .ai6-shell-head .mnav{display:block;position:static;order:3;flex-basis:100%;padding:0 0 .5rem;margin-inline:-.25rem;
    background:none;border:0;box-shadow:none;overflow-x:auto;scrollbar-width:none}
  .ai6-shell-head .nav-list{flex-direction:row;flex-wrap:nowrap;gap:.25rem}
  .ai6-shell-head .nav-list>.nav-item{padding:0;border:0}
  .ai6-shell-head .nav-list>.nav-item>.nav-link{padding:.4rem .8rem;font-size:.9375rem}
  /* 묶음(진료 안내·소식…)은 링크가 아니다 — 틀에선 하위를 못 여니, 좁은 화면에선 묶음을 숨기고 하위를 한 줄로 편다. */
  .ai6-shell-head .nav-list>.nav-item:has(> .nav-sub)>.nav-link.is-group{display:none}
  .ai6-shell-head .nav-list>.nav-item:has(> .nav-sub){display:contents}
  .ai6-shell-head .nav-sub{display:contents}
  .ai6-shell-head .nav-sub>.nav-item>.nav-link{display:block;background:none;padding:.4rem .8rem;border-radius:999px;font-size:.9375rem;font-weight:600;color:var(--ink-2);white-space:nowrap}
  .ai6-shell-head .mnav{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .ai6-shell-head .hd__side{margin-inline-start:auto}
}

/* ─── 게시판 화면 (서버가 그린다 · 규약 §4-1-2) ─────────── */
/*
 * ⚠️ 서버는 게시판 화면을 `.wrap.page.is-wide` 로 감싼다. 렌더러의 globals.css 가 그 상자의
 *    `max-width` 를 **none 으로 덮어서**, 우리 `.wrap` 의 폭이 안 먹고 본문만 화면 끝까지 퍼졌다
 *    (실측: 머리말·바닥글 1216px 인데 게시판 본문 1440px). 그래서 `max-` 가 아니라 **inline-size**
 *    로 적는다 — 덮인 max-width 와 싸우지 않고 폭을 직접 정한다.
 */
article.page,.page{inline-size:min(var(--wrap),100% - 3rem);margin-inline:auto;padding:var(--sp-10) 0 var(--sp-12)}
.page .board-head h1{margin:0 0 var(--sp-07);font-family:var(--serif);font-weight:500;font-size:2rem}
/*
 * ⚠️ 검색칸의 **높이·줄높이를 되돌린다.** 렌더러의 globals.css 가 이 칸들을 height:38px;line-height:38px
 *    으로 잡아 둔다 — 안여백만 바꾸면 38px 상자 안에 38px 줄이 들어가 글자가 잘린다.
 * ★ 셀렉트는 오른쪽에 화살표 자리를 비워 둔다 — 안 비우면 글자 위에 화살표가 겹친다.
 */
.page .board-search select,.page .board-search input,.page .board-search button{height:auto;line-height:1.5}
.page .board-search select{padding-inline-end:var(--sp-08)}
.page h1{font-family:var(--serif);font-weight:500;font-size:2rem;margin-block-end:var(--sp-07)}
.board-nav ul{display:flex;flex-wrap:wrap;gap:var(--sp-03);margin:0 0 var(--sp-08);padding:0;list-style:none}
.board-nav a{display:inline-block;padding:var(--sp-03) var(--sp-06);border-radius:999px;border:1px solid var(--line);
  background:var(--paper);font-size:.875rem;color:var(--ink-2)}
.board-nav a[aria-current="page"]{background:var(--pine);border-color:var(--pine);color:#fff}
.board-search{display:flex;gap:var(--sp-03);margin-block-end:var(--sp-07)}
.board-search select,.board-search input{padding:var(--sp-03) var(--sp-05);border:1px solid var(--line);
  border-radius:999px;background:var(--paper);font:inherit;font-size:.875rem}
.board-search input{flex:1}
.board-search button{padding:var(--sp-03) var(--sp-06);border:0;border-radius:999px;background:var(--pine);
  color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}
.page ul.list{margin:0;padding:0;list-style:none;border-block-start:1px solid var(--ink)}
.page ul.list>li{border-block-end:1px solid var(--line)}
.page ul.list>li>a{display:flex;align-items:center;gap:var(--sp-05);padding:1.25rem var(--sp-03);transition:background .2s}
.page ul.list>li>a:hover{background:var(--mint-50)}
.page ul.list .t{flex:1;font-weight:600}
.page ul.list time{font-size:.8125rem;color:var(--ink-3)}
.page ul.list li.reply>a{padding-inline-start:var(--sp-08);color:var(--ink-2)}
.page ul.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--sp-06);
  margin:0;padding:0;list-style:none}
.page ul.grid .card,.page ul.grid li.card{padding:.75rem;border-radius:var(--r-lg);overflow:hidden;background:var(--paper);
  border:1px solid var(--line)}
.page ul.grid h2{padding:var(--sp-05) var(--sp-03) var(--sp-03);font-size:1.0625rem;font-weight:700}
.page .thumb{aspect-ratio:4/3;border-radius:var(--r);background:var(--mint-50);overflow:hidden}
.page ul.list .thumb{inline-size:4.5rem;aspect-ratio:1;border-radius:var(--r-sm);flex-shrink:0}
.page .thumb img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.page .thumb:not(:has(img)){background:radial-gradient(circle at 70% 30%,var(--mint) 0,transparent 60%),var(--mint-50)}
.page .thumb:not(:has(img)) span{display:none}
.page ul.faq{margin:0;padding:0;list-style:none;border-block-start:1px solid var(--ink)}
.page ul.faq>li{border-block-end:1px solid var(--line)}
.page ul.faq summary{padding:1.25rem var(--sp-03);font-size:1.0625rem;font-weight:600;cursor:pointer}
.page ul.faq summary::marker{color:var(--clay)}
.page .ai6-prose{line-height:1.85;color:var(--ink-2)}
.page .ai6-prose p+p{margin-block-start:var(--sp-05)}
.pager{display:flex;justify-content:center;gap:var(--sp-03);margin-block-start:var(--sp-08)}
.pager a{display:grid;place-items:center;min-inline-size:2.25rem;block-size:2.25rem;border-radius:50%;
  font-size:.875rem;color:var(--ink-2)}
.pager a.on{background:var(--pine);color:#fff}
.page article.ai6-block>h1{margin-block-end:var(--sp-04)}
.page p.meta{margin-block-end:var(--sp-07);padding-block-end:var(--sp-06);border-block-end:1px solid var(--line);
  font-size:.8125rem;color:var(--ink-3)}
.ai6-replies{margin-block-start:var(--sp-08);padding:var(--sp-06);border-radius:var(--r);background:var(--mint-50)}
.post-nav{display:flex;justify-content:space-between;gap:var(--sp-05);margin-block-start:var(--sp-09);
  padding-block-start:var(--sp-06);border-block-start:1px solid var(--line);font-size:.875rem}
.page form.form{display:grid;gap:var(--sp-05);max-inline-size:40rem}
.page label.field{display:grid;gap:var(--sp-03);font-size:.875rem;font-weight:600}
.page label.field input,.page label.field textarea,.page label.field select,
.page form.form .field input,.page form.form .field select,.page form.form .field textarea{padding:var(--sp-04) var(--sp-05);
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font:inherit;font-weight:400;color:var(--ink)}
.page form.form .field input:focus,.page form.form .field select:focus,.page form.form .field textarea:focus{outline:2px solid var(--mint);border-color:var(--pine)}
/* 상담 글쓰기(.bw) — 배치는 렌더러 globals.css 가 잡는다. 여기는 색만. */
.page form.bw .bw-consent{border-color:var(--line);border-radius:var(--r)}
.page form.bw .bw-consent__box{background:var(--sand)}
.page form.bw .bw-rows{border-top-color:var(--pine)}
.page form.bw .bw-req{color:var(--clay)}
.page form.bw .bw-actions .btn{border-radius:999px}
.page form.form button{justify-self:start;padding:var(--sp-04) var(--sp-08);border:0;border-radius:999px;
  background:var(--pine);color:#fff;font-weight:600;cursor:pointer}

/* 게시판 화면의 서브 비주얼 (2026-09-28) — 껍데기(board-skins)가 SPA 서브 화면과 같은 판을 적는다.
   서버는 껍데기를 article.page 안에 두므로 판을 화면 폭으로 펴고, 위 여백은 판이 대신한다.
   게시판에는 구획 사진이 없다 — 민트 판 그대로다. */
article.page:has(.svis){padding-block-start:var(--sp-03)}
article.page .svis{inline-size:calc(100vw - 2 * clamp(.5rem,1.6vw,1.5rem));margin-inline-start:calc(50% - 50vw + clamp(.5rem,1.6vw,1.5rem));margin-inline-end:0}
article.page .stabs{inline-size:100vw;margin-inline-start:calc(50% - 50vw);margin-block-end:var(--sp-09)}
article.page .stabs__in:empty,article.page .stabs:has(.stabs__in:empty){display:none}
/* 서브 비주얼 밑 탭(subnav)이 형제 게시판을 이미 보여 준다 — 서버의 게시판 알약 줄(boards)까지 서면 같은 줄이 두 번이다. */
article.page:has(.stabs__in a) .board-nav{display:none}
/* 서브 비주얼이 제목을 대신한다 — 껍데기의 게시판 제목 줄은 겹치므로 숨긴다. */
article.page:has(.svis) .board-head{display:none}
/* 본문 링크 서식(.ai6-prose a — 밑줄·파란색)이 탭에 새지 않게 값을 비워 두지 않는다. */
.page .stabs .subtab{text-decoration:none}
.page .stabs .subtab:not(.is-active){color:var(--ink-3)}
.page .stabs .subtab.is-active{color:var(--pine)}
.page .svis__title{margin:0;font-size:clamp(2.125rem,4.4vw,3.5rem)}
.page .crumb__item{display:inline}
