/* ─── 하위 페이지 공통 부품 (design/*.dc.html 시안을 클래스로 옮긴 것) ─── */

/* 사진 자리: .ph 안에 실사진이 들어오면 꽉 채운다 */
.ph img, img.fill{ width:100%; height:100%; object-fit:cover; display:block; border-radius:inherit; }
.ph.has-img{ padding:0; background:var(--paper-2); overflow:hidden; }
.en{ text-transform:uppercase; letter-spacing:.32em; color:var(--teal); font-weight:500; font-size:13px; }
.chip{ display:inline-flex; align-items:center; font-size:13px; padding:6px 14px; border-radius:16px; border:1px solid var(--rule); background:#fff; color:var(--body); }
.chip.dark{ background:transparent; color:#fff; border-color:rgba(255,255,255,.45); }
.muted{ color:var(--faint); font-size:14px; }
.center{ text-align:center; }

/* 메뉴 서랍 (1240px 이하) */
.drawer{ position:fixed; inset:0; z-index:50; display:none; }
.drawer.open{ display:block; }
.drawer .dim{ position:absolute; inset:0; background:rgba(26,26,26,.4); }
.drawer .panel{ position:absolute; right:0; top:0; bottom:0; width:min(340px, 86vw); background:#fff; padding:calc(20px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; gap:4px; overflow-y:auto; }
.drawer .panel .x{ align-self:flex-end; width:44px; height:44px; border:none; background:none; font-size:28px; line-height:1; color:var(--ink); cursor:pointer; }
.drawer .panel a{ padding:14px 4px; border-bottom:1px solid var(--rule); font-size:17px; font-weight:500; }
.drawer .panel a[aria-current="page"]{ color:var(--teal); font-weight:700; }
.drawer .panel .btn{ margin-top:18px; border-bottom:none; justify-content:center; }
nav.main a[aria-current="page"]{ color:var(--teal); font-weight:700; }

/* 하위 히어로 */
.phero{ background:var(--brand); color:#fff; position:relative; overflow:hidden; }
.phero .wrap{ min-height:440px; display:flex; align-items:center; justify-content:space-between; gap:48px; padding:56px 0; position:relative; }
.phero .txt{ display:flex; flex-direction:column; gap:20px; max-width:620px; }
.phero .crumb{ font-size:13px; color:#fff; opacity:.9; }
.phero h1{ font-family:'Noto Serif KR',serif; font-size:clamp(34px,4.4vw,52px); font-weight:700; line-height:1.3; }
.phero p{ font-size:17px; line-height:1.8; }
.phero .chips{ display:flex; gap:8px; flex-wrap:wrap; }
.phero .media{ width:520px; height:300px; border-radius:16px; background:#3C8789; color:#fff; flex-shrink:0; }
.phero.centered .wrap{ min-height:380px; flex-direction:column; justify-content:center; text-align:center; gap:16px; }
.phero.centered .txt{ align-items:center; max-width:760px; }
.phero .rings{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.phero.gray{ background:var(--paper-2); color:var(--ink); }
.phero.gray .crumb{ color:var(--body); }
.phero.gray p{ color:var(--body); }
.phero.gray .media{ width:440px; height:380px; border-radius:20px; background:var(--sage); color:var(--body); }

/* 섹션 머리 (좌측 정렬형) */
.lhead{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:40px; flex-wrap:wrap; }
.lhead h2{ font-family:'Noto Serif KR',serif; font-size:clamp(26px,3vw,36px); font-weight:700; line-height:1.4; }
.head h2 strong{ font-weight:700; }
.head h2.light{ font-weight:400; }
.sec.gray{ background:var(--paper-2); }
.sec.teal{ background:var(--brand); color:#fff; }
.sec.teal .head p{ color:#fff; }

/* 교통사고: 진료실 대화 카드 */
.quotes{ max-width:1000px; margin:0 auto; display:flex; flex-direction:column; gap:22px; }
.quotes .q{ width:min(560px,100%); padding:26px; border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(47,132,135,.08); display:flex; gap:20px; }
.quotes .q:nth-child(even){ align-self:flex-end; }
.quotes .q .ph{ width:110px; height:110px; border-radius:10px; flex-shrink:0; }
.quotes .q b{ font-family:'Noto Serif KR',serif; font-size:20px; line-height:1.5; display:block; margin-bottom:10px; }
.quotes .q span{ font-size:14px; color:var(--body); line-height:1.7; }

/* 체크 목록 */
.checks{ max-width:900px; margin:0 auto; padding:30px 40px; border-radius:16px; background:var(--paper-2); color:var(--ink); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 40px; font-size:16px; }
.checks li{ list-style:none; }
.checks li::before{ content:'✓ '; color:var(--teal); font-weight:700; }
ul.checks{ margin:0 auto; }
.illu{ width:min(520px,100%); height:200px; border-radius:14px; background:#3C8789; color:#fff; margin:0 auto 36px; }

/* 시기별 타임라인 */
.tl{ display:flex; gap:60px; }
.tl .side{ width:360px; flex-shrink:0; display:flex; flex-direction:column; gap:16px; }
.tl .side h2{ font-family:'Noto Serif KR',serif; font-size:34px; line-height:1.4; }
.tl .side p{ font-size:15px; color:var(--body); line-height:1.7; }
.tl ol{ flex-grow:1; list-style:none; margin:0; padding:0 0 0 36px; border-left:2px solid var(--rule); display:flex; flex-direction:column; gap:34px; }
.tl li{ display:flex; flex-direction:column; gap:8px; position:relative; }
.tl li::before{ content:''; position:absolute; left:-43px; top:6px; width:12px; height:12px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px var(--paper); }
.tl li em{ font-style:normal; font-size:14px; font-weight:700; color:var(--teal); }
.tl li b{ font-family:'Noto Serif KR',serif; font-size:22px; }
.tl li span{ font-size:15px; color:var(--body); line-height:1.75; }

/* 치료법 카드 */
.tcards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.tcards.n3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.tcards.n5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.tcards > div{ background:#fff; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.tcards .ph{ height:170px; }
.tcards .b{ padding:24px; display:flex; flex-direction:column; gap:10px; }
.tcards .b strong{ font-family:'Noto Serif KR',serif; font-size:20px; }
.tcards .b ul{ margin:0; padding:0; list-style:none; font-size:14px; line-height:1.8; color:var(--body); }
.tcards .b li::before{ content:'· '; }
.notebox{ margin-top:18px; padding:28px 32px; border-radius:16px; background:#fff; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.notebox > div{ display:flex; flex-direction:column; gap:6px; }
.notebox strong{ font-family:'Noto Serif KR',serif; font-size:20px; }
.notebox .hl{ font-size:14px; color:var(--teal); font-weight:700; }
.notebox span{ font-size:14px; color:var(--body); line-height:1.7; }
.btn.ink{ background:var(--ink); color:#fff; height:48px; font-size:14px; flex-shrink:0; }

/* FAQ 아코디언 */
.faq{ max-width:960px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.faq .it{ border-radius:12px; background:#fff; border:1px solid var(--rule); }
.faq button{ width:100%; min-height:60px; padding:14px 22px; display:flex; align-items:center; gap:14px; background:none; border:none; font-family:inherit; font-size:16px; color:var(--ink); text-align:left; cursor:pointer; line-height:1.5; }
.faq button .qm{ width:26px; height:26px; border-radius:50%; background:var(--teal); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.faq button .t{ flex-grow:1; }
.faq button .s{ color:var(--faint); font-size:20px; width:16px; text-align:center; }
.faq .a{ padding:0 22px 22px 62px; font-size:15px; line-height:1.8; color:var(--body); }
.faq .a[hidden]{ display:none; }

/* 탭 (다이어트 프로그램) */
.tabbar{ position:relative; z-index:2; margin-top:-30px; height:60px; border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(47,132,135,.08); display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); overflow:hidden; font-size:15px; }
.tabbar button{ border:none; background:#fff; color:var(--body); font-family:inherit; font-size:15px; font-weight:500; cursor:pointer; padding:0 8px; }
.tabbar button[aria-selected="true"]{ background:var(--teal); color:#fff; font-weight:700; }
.prog{ display:flex; gap:48px; align-items:stretch; }
.prog .ph{ width:520px; min-height:380px; border-radius:18px; flex-shrink:0; }
.prog .b{ flex-grow:1; display:flex; flex-direction:column; gap:20px; justify-content:center; }
.prog h2{ font-family:'Noto Serif KR',serif; font-size:clamp(28px,3vw,38px); }
.prog p{ font-size:16px; line-height:1.9; color:var(--body); }
.facts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.facts > div{ padding:20px; border-radius:12px; background:var(--paper-2); display:flex; flex-direction:column; gap:6px; }
.facts span{ font-size:13px; color:var(--faint); }
.facts b{ font-size:15px; line-height:1.5; }
.linkarrow{ color:var(--teal); font-weight:700; font-size:15px; }
.compare{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.compare > div{ padding:36px; border-radius:18px; background:#fff; display:flex; flex-direction:column; gap:16px; }
.compare .tag{ align-self:flex-start; font-size:13px; font-weight:700; padding:5px 12px; border-radius:12px; background:var(--ink); color:#fff; }
.compare .tag.t{ background:var(--teal); }
.compare strong{ font-family:'Noto Serif KR',serif; font-size:24px; }
.compare ul{ margin:0; padding:0; list-style:none; font-size:15px; line-height:1.9; color:var(--body); }
.compare li::before{ content:'· '; }
.steps{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; list-style:none; margin:0; padding:0; }
.steps li{ padding:26px 20px; border-top:3px solid var(--teal); background:#fff; display:flex; flex-direction:column; gap:10px; }
.steps .en{ font-size:20px; letter-spacing:.1em; }
.steps b{ font-size:17px; }
.steps span{ font-size:14px; color:var(--body); line-height:1.6; }
.cost{ display:flex; gap:56px; align-items:center; }
.cost .l{ flex-grow:1; display:flex; flex-direction:column; gap:22px; }
.cost .l .en{ color:#fff; opacity:.85; }
.cost h2{ font-family:'Noto Serif KR',serif; font-size:clamp(28px,3vw,38px); line-height:1.45; }
.cost .card{ width:460px; padding:34px; border-radius:18px; background:var(--paper); color:var(--ink); display:flex; flex-direction:column; gap:14px; flex-shrink:0; }
.cost .card strong{ font-family:'Noto Serif KR',serif; font-size:22px; }
.cost .card p{ font-size:14px; color:var(--body); line-height:1.7; }
.cost .card .btn{ width:100%; }

/* 여성건강: 하위 탭 · 원형 증상 · 진단 행 · 단계 원 · 셀프체크 */
.subnav{ background:#fff; border-bottom:1px solid var(--rule); }
.subnav .wrap{ min-height:64px; display:flex; align-items:center; justify-content:center; gap:48px; font-size:15px; overflow-x:auto; }
.subnav button, .subnav a{ border:none; background:none; font-family:inherit; font-size:15px; color:var(--body); padding:20px 0; cursor:pointer; white-space:nowrap; border-bottom:3px solid transparent; }
.subnav [aria-selected="true"], .subnav a.on{ color:var(--teal); font-weight:700; border-bottom-color:var(--teal); }
.circles{ display:flex; justify-content:center; gap:34px; flex-wrap:wrap; }
.circles > div{ width:220px; display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center; font-size:16px; line-height:1.6; white-space:pre-line; }
.circles .ph{ width:200px; height:200px; border-radius:50%; }
.circles .ic{ width:200px; height:200px; border-radius:50%; background:var(--paper-2); display:flex; align-items:center; justify-content:center; }
.caution{ max-width:900px; margin:28px auto 0; padding:20px 28px; border-radius:14px; background:var(--paper); font-size:15px; line-height:1.7; color:var(--body); text-align:center; }
.dx{ display:flex; gap:48px; align-items:center; padding:36px; border-radius:20px; background:#fff; margin-bottom:24px; }
.dx .ph{ width:260px; height:260px; border-radius:50%; flex-shrink:0; }
.dx strong{ font-family:'Noto Serif KR',serif; font-size:24px; display:block; margin-bottom:14px; }
.dx p{ font-size:16px; line-height:1.9; color:var(--body); }
.stepc{ display:flex; align-items:center; justify-content:center; margin-top:10px; flex-wrap:wrap; gap:0; }
.stepc > div{ width:170px; height:170px; border-radius:50%; background:var(--brand); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.stepc > div:nth-of-type(n+3){ background:var(--sage); color:var(--teal); }
.stepc small{ font-size:12px; letter-spacing:.3em; }
.stepc b{ font-family:'Noto Serif KR',serif; font-size:20px; }
.stepc i{ width:40px; height:2px; background:var(--line); }
.selfcheck{ max-width:900px; margin:0 auto; }
.selfcheck .grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.selfcheck label{ display:flex; align-items:center; gap:12px; padding:18px 20px; border-radius:12px; background:#fff; border:1px solid var(--rule); cursor:pointer; font-size:15px; line-height:1.5; }
.selfcheck label:has(input:checked){ background:var(--paper-2); border-color:var(--teal); }
.selfcheck input{ width:20px; height:20px; accent-color:var(--teal); flex-shrink:0; }
.selfcheck .res{ margin-top:22px; padding:24px 28px; border-radius:14px; background:var(--brand); color:#fff; display:flex; align-items:center; gap:24px; }
.selfcheck .res b{ font-family:'Noto Serif KR',serif; font-size:40px; }
.selfcheck .res small{ font-size:14px; opacity:.9; margin-left:4px; }
.related{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.related a{ padding:26px 24px; border-radius:14px; background:#fff; border:1px solid var(--rule); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.related strong{ font-family:'Noto Serif KR',serif; font-size:19px; }
.related span{ font-size:13px; color:var(--teal); }

/* 통증형 구조 (한약·체질개선·공진단·소아성장) */
.pnav{ background:#fff; border-bottom:1px solid var(--rule); position:sticky; top:calc(env(safe-area-inset-top,0px) + 76px); z-index:15; }
.pnav .wrap{ min-height:64px; display:flex; align-items:center; gap:44px; font-size:15px; font-weight:500; overflow-x:auto; white-space:nowrap; }
.pnav a{ padding:20px 0; }
.srow{ display:flex; gap:60px; }
.srow .t{ width:260px; flex-shrink:0; display:flex; align-items:center; gap:10px; align-self:flex-start; }
.srow .t h2{ font-family:'Noto Serif KR',serif; font-size:26px; }
.srow .g{ flex-grow:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.srow .g > div{ display:flex; flex-direction:column; gap:12px; font-size:15px; text-align:center; line-height:1.5; white-space:pre-line; }
.srow .g .ph{ height:170px; border-radius:12px; }
.srow .g .ic{ height:170px; border-radius:12px; background:var(--paper-2); display:flex; align-items:center; justify-content:center; }
.periods{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.periods > div{ padding:32px; border-radius:16px; background:#fff; border:1px solid var(--rule); display:flex; flex-direction:column; gap:10px; }
.periods em{ font-style:normal; font-size:14px; font-weight:700; color:var(--teal); }
.periods b{ font-family:'Noto Serif KR',serif; font-size:22px; }
.periods span{ font-size:15px; line-height:1.75; color:var(--body); }
.price{ width:100%; border-collapse:collapse; background:#fff; border-radius:16px; overflow:hidden; font-size:15px; }
.price th, .price td{ padding:16px 18px; border-bottom:1px solid var(--rule); text-align:center; }
.price thead th{ background:var(--teal); color:#fff; font-weight:700; }
.price tbody th{ text-align:left; font-family:'Noto Serif KR',serif; font-size:17px; }
.tablewrap{ overflow-x:auto; border-radius:16px; }
.guide{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.guide a{ display:flex; flex-direction:column; gap:12px; font-size:15px; line-height:1.55; }
.guide .ph{ height:150px; border-radius:12px; }
.guide small{ color:var(--faint); font-size:13px; }

/* 한의학 정보 (건강백과) */
.hsearch{ padding:28px; border-radius:0 0 14px 14px; background:var(--paper-2); display:flex; flex-direction:column; gap:16px; align-items:center; }
.htabs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:2px solid var(--ink); }
.htabs button{ height:56px; border:none; background:#fff; font-family:inherit; font-size:16px; font-weight:500; color:var(--body); cursor:pointer; }
.htabs button[aria-selected="true"]{ background:var(--ink); color:#fff; font-weight:700; }
.sbox{ width:min(640px,100%); height:54px; padding:0 6px 0 18px; display:flex; align-items:center; gap:10px; border-radius:27px; background:#fff; border:1px solid var(--rule); }
.sbox input{ flex-grow:1; border:none; outline:none; font-family:inherit; font-size:16px; min-width:0; background:transparent; }
.sbox button{ height:42px; padding:0 22px; border-radius:21px; border:none; background:var(--teal); color:#fff; font-family:inherit; font-weight:700; cursor:pointer; }
.fchips{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.fchips button{ font-family:inherit; cursor:pointer; }
.fchips button[aria-pressed="true"]{ background:var(--ink); color:#fff; border-color:var(--ink); }
.hwrap{ display:flex; gap:32px; align-items:flex-start; }
.hlist{ flex-grow:1; display:flex; flex-direction:column; min-width:0; }
.hlist .cnt{ font-size:14px; color:var(--body); padding:4px 0 14px; border-bottom:1px solid var(--ink); }
.hlist .row{ display:flex; gap:22px; padding:22px 12px; border-bottom:1px solid var(--rule); background:transparent; border-left:none; border-right:none; border-top:none; text-align:left; font-family:inherit; color:inherit; cursor:pointer; width:100%; }
.hlist .row[aria-current="true"]{ background:var(--paper-2); }
.hlist .row .ph{ width:120px; height:90px; border-radius:10px; flex-shrink:0; }
.hlist .row b{ font-family:'Noto Serif KR',serif; font-size:19px; display:block; margin-bottom:8px; line-height:1.45; }
.hlist .row dl{ margin:0; display:grid; grid-template-columns:auto 1fr; gap:4px 12px; font-size:14px; }
.hlist .row dt{ color:var(--faint); }
.hlist .row dd{ margin:0; color:var(--body); }
.pager{ padding-top:24px; display:flex; justify-content:center; gap:6px; flex-wrap:wrap; }
.pager button{ font-family:inherit; cursor:pointer; min-width:40px; justify-content:center; }
.pager button[aria-current="true"]{ background:var(--ink); color:#fff; border-color:var(--ink); }
.haside{ width:440px; flex-shrink:0; padding:32px; border-radius:18px; background:#fff; border:1px solid var(--rule); display:flex; flex-direction:column; gap:20px; position:sticky; top:100px; }
.haside h2{ font-family:'Noto Serif KR',serif; font-size:28px; line-height:1.4; }
.haside .sum{ padding:22px; border-radius:12px; background:var(--paper-2); display:flex; flex-direction:column; gap:10px; font-size:15px; line-height:1.75; color:var(--body); }
.haside .sum b{ color:var(--teal); font-size:14px; }
.haside .fine{ font-size:12px; color:var(--faint); line-height:1.7; }

/* 소개 페이지 */
.facil{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.facil > div{ background:#fff; border-radius:16px; overflow:hidden; }
.facil .ph{ height:220px; }
.facil .b{ padding:22px 24px; display:flex; flex-direction:column; gap:8px; }
.facil strong{ font-family:'Noto Serif KR',serif; font-size:19px; }
.facil span{ font-size:14px; line-height:1.7; color:var(--body); }
.mapbox{ display:grid; grid-template-columns:1.2fr 1fr; gap:32px; align-items:stretch; }
.mapbox .ph{ min-height:360px; border-radius:18px; }
.mapbox dl{ margin:0; display:grid; grid-template-columns:96px 1fr; gap:14px 18px; font-size:15px; line-height:1.7; }
.mapbox dt{ color:var(--faint); }
.mapbox dd{ margin:0; }

/* 반응형 */
@media (max-width: 1240px){
  .phero .media{ display:none; }
  .tl{ flex-direction:column; gap:30px; } .tl .side{ width:auto; }
  .tcards, .tcards.n5{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .prog{ flex-direction:column; } .prog .ph{ width:100%; min-height:260px; }
  .steps{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cost{ flex-direction:column; align-items:stretch; } .cost .card{ width:auto; }
  .related, .guide{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .srow{ flex-direction:column; gap:24px; } .srow .t{ width:auto; }
  .hwrap{ flex-direction:column; } .haside{ width:100%; position:static; }
  .mapbox{ grid-template-columns:1fr; }
  .pnav{ top:calc(env(safe-area-inset-top,0px) + 76px); }
}
@media (max-width: 640px){
  .phero .wrap{ min-height:0; padding:56px 0; }
  .phero.gray .media{ display:none; }
  .quotes .q{ flex-direction:column; } .quotes .q .ph{ width:100%; height:140px; }
  .checks{ grid-template-columns:1fr; padding:24px; }
  .tcards, .tcards.n3, .tcards.n5, .compare, .periods, .facil{ grid-template-columns:1fr; }
  .notebox{ flex-direction:column; align-items:stretch; }
  .facts{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .faq .a{ padding:0 18px 18px 18px; }
  .circles{ gap:16px; } .circles > div{ width:calc(50% - 8px); font-size:14px; } .circles .ph, .circles .ic{ width:130px; height:130px; }
  .dx{ flex-direction:column; padding:24px; gap:22px; } .dx .ph{ width:180px; height:180px; }
  .stepc > div{ width:120px; height:120px; } .stepc b{ font-size:16px; } .stepc i{ width:14px; }
  .selfcheck .grid{ grid-template-columns:1fr; }
  .selfcheck .res{ flex-direction:column; align-items:flex-start; gap:8px; }
  .related, .guide{ grid-template-columns:1fr; }
  .srow .g{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subnav .wrap{ justify-content:flex-start; gap:28px; }
  .pnav .wrap{ gap:26px; }
  .hlist .row{ gap:14px; } .hlist .row .ph{ width:80px; height:64px; }
  .tabbar{ grid-auto-flow:row; grid-template-columns:repeat(2,minmax(0,1fr)); height:auto; } .tabbar button{ height:52px; }
}

/* 사진 준비 전 자리: 진료분야 아이콘 원 · 원장 아치 */
.fields .ficon{ background:#fff; box-shadow:inset 0 0 0 1px var(--sage); }
.fields a:hover .ficon{ background:var(--paper); }
.doctor .docph{ background:linear-gradient(160deg, var(--sage), var(--tint)); }
.doctor .docph img{ width:120px; height:120px; opacity:.9; }
.tcards .ticon{ background:linear-gradient(160deg, var(--paper), var(--sage)); color:var(--teal); font-family:'Noto Serif KR',serif; font-size:22px; font-weight:700; }
.quotes .q .qic{ background:var(--paper); }
@media (max-width: 640px){ .trio .side span{ display:none; } }
[hidden]{ display:none !important; }
.prog .ticon, .facil .ticon, .dx .ticon{ background:linear-gradient(160deg, var(--paper), var(--sage)); color:var(--teal); font-family:'Noto Serif KR',serif; font-weight:700; }
.facil .ticon{ font-size:20px; padding:20px; }

/* 머리글 메뉴: 블로그가 더해져 10개 — 줄바꿈 없이 한 줄로 (10/1) */
nav.main a, header .btn, .logo strong, .logo small{ white-space:nowrap; }
header .wrap{ gap:18px; }
nav.main{ gap:14px; font-size:14.5px; }
@media (max-width: 1360px){ nav.main{ gap:11px; font-size:14px; } .logo strong{ font-size:23px; } }
