  :root{
    --ink:#1c2a25;
    --pine:#24413a;
    --pine-2:#345349;
    --ivory:#f7f4ec;
    --ivory-2:#efe9db;
    --blush:#e8dcc8;
    --gold:#c08829;
    --rose:#be123c;
    --amber:#b45309;
    --line:rgba(28,42,37,.12);
    --radius:18px;
    --serif:"Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
    --sans:"Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
  }
  @import url('https://fonts.googleapis.com/css2?family=Song+Myung&display=swap'); /* unused, kept for reference */

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  }
  body{
    margin:0;
    font-family:var(--sans);
    color:var(--ink);
    background:var(--ivory);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

  /* ===== Header ===== */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(247,244,236,.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 24px; max-width:1080px; margin:0 auto;
  }
  .brand{
    font-family:var(--serif); font-weight:700; font-size:21px;
    letter-spacing:-.02em; color:var(--pine);
    display:flex; align-items:center; gap:8px;
  }
  .brand .mark{width:22px; height:22px;}
  .navlinks{display:flex; gap:28px; list-style:none; margin:0; padding:0; font-size:14.5px;}
  .navlinks a{text-decoration:none; color:var(--ink); opacity:.75; transition:opacity .2s;}
  .navlinks a:hover{opacity:1;}
  .navlinks{display:none;}
  @media(min-width:760px){.navlinks{display:flex;}}
  .navcta{
    background:var(--pine); color:#fff; padding:9px 18px; border-radius:999px;
    font-size:13.5px; font-weight:600; text-decoration:none; white-space:nowrap;
  }

  /* ===== Hero ===== */
  .hero{position:relative; overflow:hidden; padding:88px 0 72px;}
  .hero-grid{
    display:grid; grid-template-columns:1fr; gap:40px; align-items:center;
  }
  @media(min-width:860px){ .hero-grid{grid-template-columns:1.1fr .9fr;} }
  .eyebrow{
    font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold); margin-bottom:16px; display:flex; align-items:center; gap:8px;
  }
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--gold); display:inline-block;}
  h1{
    font-family:var(--serif); font-weight:700; font-size:clamp(32px,5vw,50px);
    line-height:1.28; letter-spacing:-.01em; margin:0 0 22px;color:var(--pine);
  }
  h1 em{font-style:normal; color:var(--gold);}
  .hero p.lead{font-size:17px; color:rgba(28,42,37,.72); max-width:46ch; margin:0 0 32px;}
  .hero-ctas{display:flex; gap:12px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:14px 24px; border-radius:999px;
    font-weight:600; font-size:14.5px; text-decoration:none; border:1px solid transparent;
    cursor:pointer; transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--pine); color:#fff; box-shadow:0 8px 20px -8px rgba(36,65,58,.6);}
  .btn-ghost{background:transparent; color:var(--pine); border-color:var(--line);}

  /* blossom signature */
  .bloom-wrap{position:relative; display:flex; align-items:center; justify-content:center; min-height:320px;}
  .bloom{width:min(360px,80vw); height:auto;}
  .petal{
    transform-origin:200px 200px;
    animation:open 1.6s cubic-bezier(.2,.8,.2,1) both;
  }
  .petal:nth-child(1){animation-delay:.05s;}
  .petal:nth-child(2){animation-delay:.12s;}
  .petal:nth-child(3){animation-delay:.19s;}
  .petal:nth-child(4){animation-delay:.26s;}
  .petal:nth-child(5){animation-delay:.33s;}
  .petal:nth-child(6){animation-delay:.4s;}
  @keyframes open{
    from{transform:scale(.25) rotate(-8deg); opacity:0;}
    to{transform:scale(1) rotate(0deg); opacity:1;}
  }
  .bloom-core{animation:pulse 4s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:.9;}50%{opacity:1;}}

  section{padding:88px 0;}
  .section-head{max-width:640px; margin:0 0 48px;}
  .section-head h2{
    font-family:var(--serif); font-weight:700; font-size:clamp(26px,3.4vw,34px); color:var(--pine);
    margin:0 0 12px; letter-spacing:-.01em;
  }
  .section-head p{color:rgba(28,42,37,.68); font-size:15.5px; margin:0;}

  /* ===== 원장소개 ===== */
  .director{background:var(--pine); color:var(--ivory); border-radius:28px; margin:0 24px; padding:64px 40px;}
  @media(min-width:760px){.director{margin:0 auto; max-width:1080px; padding:72px 64px;}}
  .director .wrap{padding:0;}
  .director-grid{display:grid; grid-template-columns:1fr; gap:44px;}
  @media(min-width:800px){.director-grid{grid-template-columns:220px 1fr;}}
  .portrait{
    width:220px; height:220px; border-radius:50%; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    border:3px solid rgba(255,255,255,.3); flex:none;
    box-shadow:0 20px 40px -16px rgba(0,0,0,.45);
  }
  .portrait img{width:100%; height:100%; object-fit:cover; object-position:center 20%;}
  .director h2{font-family:var(--serif); font-weight:700; font-size:32px; margin:0 0 8px; color:#fff;}
  .director .role{color:var(--blush); font-size:15px; margin-bottom:24px;}
  .director p{color:rgba(247,244,236,.88); font-size:16px; line-height:1.75; margin:0 0 18px;}
  .cred-grid{display:grid; grid-template-columns:1fr; gap:28px; margin-top:36px;}
  @media(min-width:640px){.cred-grid{grid-template-columns:1fr 1fr;}}
  .cred h3{font-size:15px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin:0 0 14px;}
  .cred ul{margin:0; padding:0; list-style:none;}
  .cred li{font-size:16.5px; line-height:1.6; color:rgba(247,244,236,.92); padding:10px 0; border-top:1px solid rgba(255,255,255,.14);}
  .cred li:first-child{border-top:none;}

  /* ===== 진료안내 카드 ===== */
  .clinics{display:grid; grid-template-columns:1fr; gap:22px;}
  @media(min-width:760px){.clinics{grid-template-columns:repeat(3,1fr);}}
  .clinic-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 26px; display:flex; flex-direction:column; gap:14px;
    transition:box-shadow .25s ease, transform .25s ease;
  }
  .clinic-card:hover{box-shadow:0 20px 40px -24px rgba(28,42,37,.35); transform:translateY(-4px);}
  .clinic-tag{
    width:fit-content; font-size:12px; font-weight:700; padding:5px 12px; border-radius:999px;
    letter-spacing:.02em;
  }
  .tag-pain{background:#e7ecea; color:var(--pine);}
  .tag-nerve{background:#fde8ec; color:var(--rose);}
  .tag-diet{background:#fdecd8; color:var(--amber);}
  .clinic-card h3{font-family:var(--serif); font-weight:700; font-size:21px; margin:6px 0 0; color:var(--ink);}
  .clinic-card .desc{font-size:14px; color:rgba(28,42,37,.68); margin:0;}
  .clinic-list{font-size:13px; color:rgba(28,42,37,.6); line-height:1.9; margin:0;}
  .clinic-link{
    margin-top:auto; font-size:13.5px; font-weight:600; text-decoration:none;
    display:inline-flex; align-items:center; gap:6px; padding-top:6px;
  }
  .tag-pain ~ .clinic-link, .clinic-card:nth-child(1) .clinic-link{color:var(--pine);}
  .clinic-card:nth-child(2) .clinic-link{color:var(--rose);}
  .clinic-card:nth-child(3) .clinic-link{color:var(--amber);}

  /* ===== 자가진단 도구 ===== */
  .tools-section{background:var(--ivory-2);}
  .tools{display:grid; grid-template-columns:1fr; gap:18px;}
  @media(min-width:640px){.tools{grid-template-columns:1fr 1fr;}}
  .tool-card{
    background:#fff; border-radius:var(--radius); padding:26px; text-decoration:none; color:var(--ink);
    border:1px solid var(--line); display:flex; gap:16px; align-items:flex-start;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .tool-card:hover{transform:translateY(-3px); box-shadow:0 20px 36px -26px rgba(28,42,37,.4);}
  .tool-dot{width:12px; height:12px; border-radius:50%; margin-top:6px; flex:none;}
  .tool-card h4{margin:0 0 6px; font-size:16.5px;}
  .tool-card p{margin:0; font-size:13.5px; color:rgba(28,42,37,.62);}
  .tool-arrow{margin-top:6px; font-size:13px; font-weight:700; opacity:.5;}

  /* ===== 오시는길 ===== */
  .visit-grid{display:grid; grid-template-columns:1fr; gap:28px;}
  @media(min-width:800px){.visit-grid{grid-template-columns:1fr 1fr;}}
  .map-box{
    border-radius:var(--radius); background:var(--ivory-2); border:1px dashed var(--line);
    min-height:280px; display:flex; align-items:center; justify-content:center;
    font-size:13.5px; color:rgba(28,42,37,.5); text-align:center; padding:20px;
  }
  .info-list{list-style:none; margin:0; padding:0;}
  .info-list li{
    display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line); font-size:14.5px;
  }
  .info-list li:first-child{border-top:none;}
  .info-list .label{width:74px; flex:none; color:var(--gold); font-weight:700; font-size:15px;}
  .talktalk-btn{
    margin-top:22px; display:inline-flex; align-items:center; gap:8px; background:#03c75a; color:#fff;
    padding:13px 22px; border-radius:999px; text-decoration:none; font-weight:700; font-size:14px;
  }

  footer{background:var(--pine); color:rgba(247,244,236,.7); padding:44px 0; font-size:13px;}
  .foot-grid{display:flex; flex-direction:column; gap:6px;}
  footer strong{color:#fff; font-family:var(--serif); font-size:16px;}

  /* 스크롤 리빌 효과 제거 - 콘텐츠는 항상 바로 표시 */
  .reveal{opacity:1; transform:none;}

/* ===== 자가진단 허브 / 개별 체크 페이지 공통 ===== */
.breadcrumb{font-size:13px; color:rgba(28,42,37,.55); margin-bottom:18px;}
.breadcrumb a{color:var(--pine); text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}

.page-hero{padding:56px 0 20px;}
.page-hero .eyebrow{margin-bottom:14px;}
.page-hero h1{font-size:clamp(28px,4vw,40px); margin-bottom:14px;}
.page-hero p.lead{margin-bottom:0;}

.care-category{margin-bottom:44px;}
.care-category h3{
  font-family:var(--serif); font-size:16px; color:var(--gold);
  letter-spacing:.02em; margin:0 0 16px; padding-bottom:10px; border-bottom:1px solid var(--line);
}
.care-links{display:grid; grid-template-columns:1fr; gap:12px;}
@media(min-width:640px){.care-links{grid-template-columns:1fr 1fr;}}
.care-link{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px;
  text-decoration:none; color:var(--ink); font-size:14.5px; font-weight:600;
  transition:transform .18s ease, box-shadow .18s ease;
}
.care-link:hover{transform:translateY(-2px); box-shadow:0 14px 28px -20px rgba(28,42,37,.4);}
.care-link .dot{width:9px; height:9px; border-radius:50%; flex:none;}
.care-link .go{opacity:.4; font-weight:700;}
.care-link.disabled{opacity:.45; pointer-events:none;}

/* ===== 임베드 체크 페이지 ===== */
.embed-shell{padding:0 0 88px;}
.embed-frame-wrap{
  border-radius:22px; overflow:hidden; border:1px solid var(--line);
  background:#fff; box-shadow:0 30px 60px -40px rgba(28,42,37,.4);
  height:min(78vh, 900px); min-height:520px;
}
.embed-frame-wrap iframe{width:100%; height:100%; border:0; display:block;}
.embed-fallback{
  margin-top:14px; font-size:13px; color:rgba(28,42,37,.55); text-align:center;
}
.embed-fallback a{color:var(--pine); font-weight:600; text-decoration:none;}
.embed-fallback a:hover{text-decoration:underline;}
.embed-note{
  background:var(--ivory-2); border-radius:14px; padding:16px 18px; font-size:13.5px;
  color:rgba(28,42,37,.65); margin-bottom:22px;
}

/* ===== 드롭다운 네비게이션 ===== */
.navlinks{align-items:center;}
.navlinks li{position:relative;}
.navlinks > li > a{display:flex; align-items:center; gap:4px; padding:6px 0;}
.navlinks .caret{font-size:9px; opacity:.6; transform:translateY(1px);}
.dropdown{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(0);
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:8px;
  min-width:190px; box-shadow:0 24px 48px -24px rgba(28,42,37,.35);
  opacity:0; visibility:hidden; transition:opacity .18s ease;
  z-index:60; margin-top:14px;
}
.dropdown::before{
  content:""; position:absolute; top:-14px; left:0; right:0; height:14px;
}
.navlinks li:hover .dropdown, .navlinks li:focus-within .dropdown{
  opacity:1; visibility:visible;
}
.dropdown a{
  display:block; padding:9px 12px; border-radius:9px; font-size:13.5px;
  color:var(--ink); opacity:.85; text-decoration:none; white-space:nowrap;
}
.dropdown a:hover{background:var(--ivory-2); opacity:1;}

/* ===== 진료과목 상세 페이지 공통 ===== */
.clinic-hero{padding:64px 0 32px;}
.clinic-hero .quote{
  font-family:var(--serif); font-size:clamp(22px,3vw,28px); color:var(--pine);
  line-height:1.55; max-width:800px; margin:0 0 26px;
}
.intro-block{background:var(--ivory-2); border-radius:20px; padding:32px 34px; margin:36px 0;}
.intro-block h3{font-size:15px; color:var(--pine); margin:0 0 10px;}
.intro-block p{font-size:14.5px; color:rgba(28,42,37,.72); margin:0;}
.intro-block .callout{
  margin-top:16px; font-family:var(--serif); font-size:17px; color:var(--gold);
  border-left:3px solid var(--gold); padding-left:14px;
}

.cond-grid{display:grid; grid-template-columns:1fr; gap:18px; margin:28px 0 40px;}
@media(min-width:760px){.cond-grid{grid-template-columns:repeat(3,1fr);}}
.cond-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px;}
.cond-card .num{font-family:var(--serif); font-size:26px; color:var(--gold); display:block; margin-bottom:8px;}
.cond-card h4{font-size:16px; margin:0 0 12px;}
.cond-row{font-size:12.5px; color:rgba(28,42,37,.62); padding:6px 0; border-top:1px solid var(--line);}
.cond-row:first-of-type{border-top:none;}
.cond-row b{color:var(--pine); font-weight:700; margin-right:4px;}

.check-grid{display:grid; grid-template-columns:1fr; gap:10px; margin:24px 0 40px;}
@media(min-width:640px){.check-grid{grid-template-columns:1fr 1fr;}}
.check-item{
  display:flex; align-items:flex-start; gap:10px; background:#fff; border:1px solid var(--line);
  border-radius:12px; padding:14px 16px; font-size:13.5px; color:rgba(28,42,37,.78);
}
.check-item .num-badge{
  flex:none; width:22px; height:22px; border-radius:50%; background:var(--pine); color:#fff;
  font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center;
}

.step-flow{display:grid; grid-template-columns:1fr; gap:0; margin:28px 0 40px; counter-reset:step;}
@media(min-width:760px){.step-flow{grid-template-columns:repeat(4,1fr); gap:14px;}}
.step-box{position:relative; background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px 18px; counter-increment:step;}
.step-box::before{
  content:counter(step); font-family:var(--serif); font-size:15px; color:#fff; background:var(--pine);
  width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin-bottom:12px;
}
.step-box h5{font-size:14.5px; margin:0 0 6px;}
.step-box p{font-size:12.5px; color:rgba(28,42,37,.62); margin:0;}

.treat-grid{display:grid; grid-template-columns:1fr; gap:14px; margin:24px 0 40px;}
@media(min-width:640px){.treat-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:960px){.treat-grid{grid-template-columns:1fr 1fr 1fr;}}
.treat-card{background:var(--pine); color:#fff; border-radius:14px; padding:20px;}
.treat-card h5{font-family:var(--serif); font-weight:700; font-size:16px; margin:0 0 8px;}
.treat-card p{font-size:12.5px; color:rgba(247,244,236,.8); margin:0;}

.care-tips{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.care-tips li{
  display:flex; gap:10px; font-size:14px; color:rgba(28,42,37,.75);
  background:var(--ivory-2); border-radius:12px; padding:12px 16px;
}
.care-tips li::before{content:"·"; color:var(--gold); font-weight:900;}

.closing-cta{background:var(--pine); color:#fff; border-radius:24px; padding:48px 40px; text-align:center; margin:56px 0 0;}
.closing-cta h3{font-family:var(--serif); font-weight:700; font-size:24px; margin:0 0 12px;}
.closing-cta p{color:rgba(247,244,236,.82); font-size:14.5px; margin:0 0 22px;}

/* ===== 서브카테고리 카드 (자율신경 클리닉 개요) ===== */
.subclinic-grid{display:grid; grid-template-columns:1fr; gap:18px;}
@media(min-width:700px){.subclinic-grid{grid-template-columns:1fr 1fr;}}
.subclinic-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.subclinic-card:hover{transform:translateY(-3px); box-shadow:0 20px 40px -26px rgba(28,42,37,.35);}
.subclinic-card h3{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 0 8px; color:var(--pine);}
.subclinic-card p{font-size:13.5px; color:rgba(28,42,37,.65); margin:0 0 16px;}
.subclinic-links{display:flex; flex-wrap:wrap; gap:8px;}
.subclinic-links a{
  font-size:12.5px; font-weight:600; color:var(--pine); background:var(--ivory-2);
  padding:7px 13px; border-radius:999px; text-decoration:none;
}
.subclinic-links a:hover{background:var(--blush);}

/* ===== 철학 페이지 ===== */
.philosophy-nav{display:flex; gap:10px; margin:20px 0 44px; flex-wrap:wrap;}
.philosophy-nav a{
  font-size:13.5px; font-weight:600; padding:9px 18px; border-radius:999px; text-decoration:none;
  border:1px solid var(--line); color:var(--ink);
}
.philosophy-nav a.active{background:var(--pine); color:#fff; border-color:var(--pine);}
.story-block{max-width:680px; margin:0 auto;}
.story-block p{font-size:15.5px; color:rgba(28,42,37,.78); margin:0 0 20px; line-height:1.9;}
.story-block .sign{font-family:var(--serif); font-size:15px; color:var(--gold); text-align:right; margin-top:32px;}
.story-block h4{
  font-family:var(--serif); font-weight:700; font-size:20px; color:var(--pine);
  margin:44px 0 16px;
}

/* ===== FAQ ===== */
.faq-list{display:flex; flex-direction:column; gap:10px;}
.faq-item{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.faq-q{
  width:100%; text-align:left; background:none; border:0; padding:18px 20px; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:14px;
  font-family:var(--sans); font-size:14.5px; font-weight:700; color:var(--ink);
}
.faq-q .plus{color:var(--gold); font-size:18px; transition:transform .2s ease; flex:none;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{margin:0; padding:0 20px 20px; font-size:13.5px; color:rgba(28,42,37,.68); line-height:1.8;}

/* ===== 오시는 길 상세 ===== */
.place-hero{background:var(--pine); border-radius:24px; padding:40px; color:#fff; margin-bottom:32px;}
.place-hero h3{font-family:var(--serif); font-weight:700; font-size:22px; margin:0 0 8px;}
.place-hero p{color:rgba(247,244,236,.8); font-size:14px; margin:0;}
.place-grid{display:grid; grid-template-columns:1fr; gap:14px;}
@media(min-width:700px){.place-grid{grid-template-columns:1fr 1fr;}}
.place-stat{background:var(--ivory-2); border-radius:14px; padding:20px; text-align:center;}
.place-stat .n{font-family:var(--serif); font-size:26px; color:var(--pine); display:block;}
.place-stat .l{font-size:14px; font-weight:700; color:rgba(28,42,37,.7); margin-top:2px; display:block;}

/* ===== 자가진단 퀴즈 (네이티브) ===== */
.quiz-shell{background:#fff; border:1px solid var(--line); border-radius:22px; padding:36px; max-width:640px; margin:0 auto;}
.quiz-progress{height:5px; background:var(--ivory-2); border-radius:999px; overflow:hidden; margin-bottom:28px;}
.quiz-progress-bar{height:100%; background:var(--gold); width:0%; transition:width .3s ease;}
.quiz-q{font-size:17px; font-weight:700; margin:0 0 20px; color:var(--ink); line-height:1.5;}
.quiz-options{display:flex; flex-direction:column; gap:10px;}
.quiz-opt{
  text-align:left; padding:14px 18px; border-radius:12px; border:1px solid var(--line); background:#fff;
  font-family:var(--sans); font-size:14.5px; cursor:pointer; transition:all .15s ease;
}
.quiz-opt:hover{border-color:var(--pine); background:var(--ivory-2);}
.quiz-nav{display:flex; justify-content:space-between; margin-top:26px; font-size:13px; color:rgba(28,42,37,.5);}
.quiz-result{text-align:center;}
.quiz-result .score{font-family:var(--serif); font-size:44px; color:var(--pine); margin:8px 0;}
.quiz-result .level{
  display:inline-block; padding:6px 16px; border-radius:999px; font-size:13px; font-weight:700;
  background:var(--blush); color:var(--amber); margin-bottom:16px;
}
.quiz-result p{font-size:14px; color:rgba(28,42,37,.7); line-height:1.8; text-align:left;}
.quiz-restart{
  margin-top:20px; background:none; border:1px solid var(--line); border-radius:999px;
  padding:10px 20px; font-size:13px; cursor:pointer; color:var(--pine);
}

/* ===== 고급 자가진단 결과 화면 (assessment-engine) ===== */
.aq-shell{background:#fff; border:1px solid var(--line); border-radius:22px; padding:36px; max-width:680px; margin:0 auto;}
.aq-progress{height:5px; background:var(--ivory-2); border-radius:999px; overflow:hidden; margin-bottom:26px;}
.aq-progress-bar{height:100%; background:var(--gold); width:0%; transition:width .3s ease;}
.aq-q-cat{font-size:12px; font-weight:700; color:var(--gold); letter-spacing:.04em; margin-bottom:8px;}
.aq-q{font-size:17px; font-weight:700; margin:0 0 20px; color:var(--ink); line-height:1.5;}
.aq-options{display:flex; flex-direction:column; gap:10px;}
.aq-opt{
  text-align:left; padding:14px 18px; border-radius:12px; border:1px solid var(--line); background:#fff;
  font-family:var(--sans); font-size:14.5px; cursor:pointer; transition:all .15s ease;
}
.aq-opt:hover{border-color:var(--pine); background:var(--ivory-2);}
.aq-nav{display:flex; justify-content:space-between; margin-top:24px; font-size:13px; color:rgba(28,42,37,.5);}
.aq-nav span{cursor:pointer;}

.aq-result-badge{
  display:block; text-align:center; margin-bottom:6px;
}
.aq-result-badge span{
  display:inline-block; font-size:12.5px; font-weight:700; padding:6px 16px; border-radius:999px;
  color:#fff;
}
.aq-result-score{text-align:center; margin:14px 0 4px;}
.aq-result-score .n{font-family:var(--serif); font-weight:700; font-size:52px; color:var(--ink);}
.aq-result-score .d{font-size:20px; color:rgba(28,42,37,.4); font-weight:700;}
.aq-result-title{text-align:center; font-size:17px; font-weight:700; margin:2px 0 6px;}
.aq-result-sub{text-align:center; font-size:13.5px; color:rgba(28,42,37,.6); margin:0 0 22px;}

.aq-gauge{position:relative; height:14px; border-radius:999px; margin:0 4px 6px; overflow:visible;}
.aq-gauge-marker{
  position:absolute; top:50%; width:18px; height:18px; border-radius:50%; background:#fff;
  border:4px solid var(--ink); transform:translate(-50%,-50%); box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.aq-gauge-ticks{display:flex; justify-content:space-between; font-size:11px; color:rgba(28,42,37,.45); margin:6px 4px 30px;}

.aq-section{margin:26px 0;}
.aq-section-title{
  font-size:13.5px; font-weight:700; color:var(--pine); margin:0 0 10px;
  display:flex; align-items:center; gap:8px;
}
.aq-section-title::before{content:""; width:4px; height:14px; background:var(--gold); border-radius:2px; display:inline-block;}
.aq-section-body{font-size:14px; color:rgba(28,42,37,.72); line-height:1.8; margin:0;}

.aq-cat-row{display:flex; align-items:center; gap:14px; padding:9px 0;}
.aq-cat-name{width:88px; flex:none; font-size:13px; font-weight:700; color:var(--ink);}
.aq-cat-bar-wrap{flex:1; height:9px; background:var(--ivory-2); border-radius:999px; overflow:hidden;}
.aq-cat-bar-fill{height:100%; border-radius:999px;}
.aq-cat-label{width:50px; flex:none; text-align:right; font-size:12px; font-weight:700;}
.aq-cat-sub{font-size:11.5px; color:rgba(28,42,37,.45); margin-left:88px; margin-top:-4px; margin-bottom:6px;}

.aq-tips{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
.aq-tips li{
  display:flex; gap:10px; font-size:13.5px; color:rgba(28,42,37,.75);
  background:var(--ivory-2); border-radius:10px; padding:11px 14px;
}
.aq-tips li::before{content:"✓"; color:var(--pine); font-weight:900; flex:none;}

.aq-disclaimer{margin-top:24px; font-size:11.5px; color:rgba(28,42,37,.4); text-align:center; line-height:1.7;}
.aq-restart{
  display:block; margin:18px auto 0; background:none; border:1px solid var(--line); border-radius:999px;
  padding:10px 22px; font-size:13px; cursor:pointer; color:var(--pine);
}

/* 식욕 유형(타이포그래피형 결과) */
.aq-type-badge{
  text-align:center; font-family:var(--serif); font-weight:700; font-size:26px; color:var(--pine); margin:10px 0 8px;
}
.aq-type-traits{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:14px 0 24px;}
.aq-type-traits span{
  font-size:12px; font-weight:700; background:var(--ivory-2); color:var(--pine); padding:6px 14px; border-radius:999px;
}

/* ===== 치료 과정 (연결선형 프로세스) ===== */
.process-section{margin:48px 0;}
.process-track{
  position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:44px;
}
.process-track::before{
  content:""; position:absolute; top:22px; left:calc(12.5% ); right:calc(12.5%);
  height:1px; background:var(--line); z-index:0;
}
@media(max-width:760px){
  .process-track{grid-template-columns:1fr; gap:36px;}
  .process-track::before{display:none;}
}
.process-item{position:relative; z-index:1;}
.process-num{
  width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700;
  font-size:16px; color:var(--pine); margin-bottom:18px;
}
.process-item h4{font-size:16px; font-weight:700; margin:0 0 8px; color:var(--ink);}
.process-item p{font-size:13.5px; color:rgba(28,42,37,.62); line-height:1.7; margin:0;}

/* ===== 클리닉 상세 - 접근/치료 (사진+인용구, 링크카드) ===== */
.approach-grid{display:grid; grid-template-columns:1fr; gap:0; align-items:start;}
@media(min-width:900px){.approach-grid{grid-template-columns:400px 1fr; gap:56px;}}
.approach-quote-card{
  position:relative; border-radius:20px; background:var(--pine); color:#fff;
  padding:28px 26px; max-width:400px;
}
.approach-quote-card .who{font-size:12px; color:var(--gold); font-weight:700; margin-bottom:12px; display:block; letter-spacing:.02em;}
.approach-quote-card p{font-size:16px; line-height:1.7; margin:0; font-family:var(--serif); font-weight:700;}
.approach-linkcard{
  display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--ivory-2);
  border-radius:16px; padding:18px 20px; margin-top:14px; max-width:400px; text-decoration:none; color:var(--ink);
  transition:transform .18s ease;
}
.approach-linkcard:hover{transform:translateY(-2px);}
.approach-linkcard h5{margin:0 0 4px; font-size:15px; font-weight:700;}
.approach-linkcard p{margin:0; font-size:12.5px; color:rgba(28,42,37,.6);}
.approach-linkcard .arrow-btn{
  width:38px; height:38px; border-radius:50%; background:var(--pine); color:#fff; display:flex;
  align-items:center; justify-content:center; flex:none; font-size:16px;
}
.approach-steps{display:flex; flex-direction:column; gap:30px;}
.approach-step{display:grid; grid-template-columns:52px 1fr; gap:18px;}
.approach-step .num{font-family:var(--serif); font-size:28px; color:rgba(36,65,58,.22); font-weight:700; line-height:1;}
.approach-step h4{margin:0 0 8px; font-size:16.5px; font-weight:700; color:var(--ink);}
.approach-step p{margin:0; font-size:14px; color:rgba(28,42,37,.68); line-height:1.8;}
.approach-step b{color:var(--pine);}

/* ===== FAQ 더보기 ===== */
.faq-item.faq-extra{display:none;}
.faq-item.faq-extra.show{display:block;}
.faq-more-wrap{text-align:center; margin-top:16px;}
.faq-more-btn{
  background:none; border:1px solid var(--line); border-radius:999px; padding:11px 22px;
  font-size:13px; font-weight:700; color:var(--pine); cursor:pointer;
}

/* ===== DOCTOR'S VIEW ===== */
.doctorview{
  background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px 30px; max-width:720px; margin:0 auto;
}
.doctorview .eyebrow{margin-bottom:12px;}
.doctorview h3{
  font-family:var(--serif); font-weight:700; font-size:20px; color:var(--ink); margin:0 0 16px;
}
.doctorview > p.dv-intro{font-size:14.5px; color:rgba(28,42,37,.75); line-height:1.8; margin:0 0 22px;}
.dv-angle{
  border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin-bottom:14px; background:var(--ivory-2);
}
.dv-angle h4{
  font-size:14px; font-weight:700; color:var(--pine); margin:0 0 8px; display:flex; align-items:center; gap:8px;
}
.dv-angle h4 .circle{
  width:20px; height:20px; border-radius:50%; background:var(--pine); color:#fff; font-size:11px;
  display:flex; align-items:center; justify-content:center; flex:none; font-weight:700;
}
.dv-angle p{font-size:13.5px; color:rgba(28,42,37,.72); line-height:1.8; margin:0;}
.dv-angle b{color:var(--ink); font-weight:700;}
.doctorview .dv-closing{
  font-size:13.5px; color:rgba(28,42,37,.72); line-height:1.8; margin:18px 0 0; padding-top:16px; border-top:1px solid var(--line);
}
.doctorview .dv-closing b{color:var(--pine);}
.doctorview .dv-note{font-size:12px; color:rgba(28,42,37,.5); margin-top:12px; line-height:1.7;}

/* ===== 근거 척도 안내 (evidence note) ===== */
.evidence-note{
  background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 20px; margin-bottom:16px;
  font-size:12.5px; color:rgba(28,42,37,.62); line-height:1.8;
}
.evidence-note b{color:var(--pine); font-weight:700;}
.evidence-note .ev-label{
  font-size:11px; font-weight:700; color:var(--gold); letter-spacing:.06em; margin-bottom:6px; display:block;
}

/* ===== 변증 매칭 예시 데모 ===== */
.demo-badge{
  display:inline-block; background:var(--gold); color:#fff; font-size:11px; font-weight:700;
  padding:5px 14px; border-radius:999px; letter-spacing:.03em; margin-bottom:16px;
}
.demo-input-card{
  background:var(--ivory-2); border-radius:16px; padding:22px 24px; margin-bottom:16px;
}
.demo-input-card h5{font-size:13px; color:var(--gold); font-weight:700; margin:0 0 10px; letter-spacing:.02em;}
.demo-input-card ul{list-style:none; margin:0; padding:0; font-size:13.5px; color:rgba(28,42,37,.75); line-height:2;}
.demo-input-card ul li b{color:var(--ink);}

.calc-table{width:100%; border-collapse:collapse; font-size:13px; margin:16px 0;}
.calc-table th{
  text-align:left; padding:10px 12px; background:var(--pine); color:#fff; font-size:12px; font-weight:700;
}
.calc-table td{padding:10px 12px; border-bottom:1px solid var(--line); color:rgba(28,42,37,.75);}
.calc-table tr:last-child td{border-bottom:none; font-weight:700; color:var(--ink); background:var(--ivory-2);}
.calc-table .plus{color:var(--pine); font-weight:700;}
.calc-table .minus{color:var(--rose); font-weight:700;}

.axis-result{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0;}
.axis-box{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; text-align:center;}
.axis-box .label{font-size:11px; color:rgba(28,42,37,.5); font-weight:700; margin-bottom:6px;}
.axis-box .value{font-family:var(--serif); font-size:22px; font-weight:700; color:var(--pine);}

.pattern-result-badge{
  text-align:center; background:var(--pine); color:#fff; border-radius:18px; padding:28px; margin:24px 0;
}
.pattern-result-badge .type{font-family:var(--serif); font-weight:700; font-size:32px; margin-bottom:6px;}
.pattern-result-badge .sub{font-size:13px; color:rgba(247,244,236,.8);}

.formula-grid{display:grid; grid-template-columns:1fr; gap:14px; margin:20px 0;}
@media(min-width:640px){.formula-grid{grid-template-columns:1fr 1fr;}}
.formula-card{border-radius:14px; padding:20px; border:1px solid var(--line);}
.formula-card.primary{background:var(--pine); color:#fff; border:none;}
.formula-card .ftag{font-size:11px; font-weight:700; letter-spacing:.03em; margin-bottom:8px; display:block;}
.formula-card.primary .ftag{color:var(--gold);}
.formula-card:not(.primary) .ftag{color:var(--gold);}
.formula-card h5{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 0 8px;}
.formula-card p{font-size:12.5px; margin:0; line-height:1.7;}
.formula-card:not(.primary) p{color:rgba(28,42,37,.6);}

.pending-notice{
  background:#fdecd8; border:1px solid #e8c07a; border-radius:14px; padding:16px 20px; margin-top:20px;
  font-size:13px; color:#7a4a0d; line-height:1.8;
}

/* ===== 비대면 진료 문진-처방 매칭 ===== */
.tm-cat{margin-bottom:36px;}
.tm-cat h3{
  font-family:var(--serif); font-size:16px; color:var(--pine); font-weight:700;
  margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--line);
}
.tm-chip-grid{display:flex; flex-wrap:wrap; gap:10px;}
.tm-chip{
  display:inline-flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px;
  border:1px solid var(--line); background:#fff; font-size:13.5px; cursor:pointer; user-select:none;
  transition:all .15s ease;
}
.tm-chip input{display:none;}
.tm-chip .dot{width:8px; height:8px; border-radius:50%; background:var(--line); flex:none; transition:background .15s ease;}
.tm-chip.checked{background:var(--pine); color:#fff; border-color:var(--pine);}
.tm-chip.checked .dot{background:var(--gold);}

.tm-submit-bar{
  position:sticky; bottom:16px; display:flex; justify-content:center; margin-top:36px; z-index:30;
}
.tm-submit-btn{
  background:var(--pine); color:#fff; border:none; border-radius:999px; padding:16px 36px;
  font-size:15px; font-weight:700; cursor:pointer; box-shadow:0 14px 32px -12px rgba(28,42,37,.5);
  display:flex; align-items:center; gap:10px;
}
.tm-submit-btn .count{
  background:var(--gold); border-radius:999px; padding:2px 10px; font-size:12.5px;
}

.tm-result-card{
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px 26px; margin-bottom:16px;
  display:flex; gap:18px; align-items:flex-start;
}
.tm-result-rank{
  width:34px; height:34px; border-radius:50%; background:var(--pine); color:#fff; flex:none;
  display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:15px;
}
.tm-result-body{flex:1;}
.tm-result-body h4{font-family:var(--serif); font-weight:700; font-size:19px; margin:0 0 6px; color:var(--ink);}
.tm-result-body .tm-match{font-size:11.5px; color:var(--gold); font-weight:700; margin-bottom:8px;}
.tm-result-body p{font-size:13.5px; color:rgba(28,42,37,.68); margin:0 0 10px; line-height:1.7;}
.tm-result-meta{display:flex; gap:16px; font-size:12.5px; color:rgba(28,42,37,.55);}
.tm-result-meta b{color:var(--pine);}

.tm-cta-box{
  background:var(--pine); border-radius:20px; padding:36px 30px; text-align:center; margin-top:32px;
}
.tm-cta-box h3{color:#fff; font-family:var(--serif); font-weight:700; font-size:22px; margin:0 0 10px;}
.tm-cta-box p{color:rgba(247,244,236,.8); font-size:13.5px; margin:0 0 22px;}
.tm-cta-box .btn{background:#fff; color:var(--pine);}

.tm-notice-list{list-style:none; margin:0; padding:0; font-size:12.5px; color:rgba(28,42,37,.55); line-height:2;}
.tm-notice-list li::before{content:"• "; color:var(--gold);}

/* ===== 한방 백과사전 (검색 + 상세) ===== */
.enc-hero{
  background:linear-gradient(160deg,#1c2a25,#24413a); border-radius:24px; padding:56px 40px; text-align:center;
  margin-bottom:40px;
}
.enc-hero .eyebrow{justify-content:center; color:var(--gold); margin-bottom:16px;}
.enc-hero .eyebrow::before{display:none;}
.enc-hero h1{color:#fff; font-family:var(--serif); font-weight:700; font-size:clamp(26px,4vw,38px); margin:0 0 14px; line-height:1.3;}
.enc-hero p{color:rgba(247,244,236,.75); font-size:14.5px; margin:0 0 32px; max-width:520px; margin-left:auto; margin-right:auto;}
.enc-search-box{
  max-width:560px; margin:0 auto; display:flex; gap:10px; background:#fff; border-radius:16px; padding:8px;
}
.enc-search-box input{
  flex:1; border:none; outline:none; padding:14px 16px; font-size:15px; font-family:var(--sans); background:transparent;
}
.enc-search-box button{
  background:var(--pine); color:#fff; border:none; border-radius:10px; padding:14px 26px; font-weight:700;
  font-size:14px; cursor:pointer; flex:none;
}
.enc-popular{margin-top:22px; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center;}
.enc-popular span{color:rgba(247,244,236,.55); font-size:12.5px; margin-right:4px;}
.enc-popular button{
  background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:999px;
  padding:8px 16px; font-size:12.5px; cursor:pointer;
}
.enc-popular button:hover{background:rgba(255,255,255,.2);}

.enc-results-head{font-size:14px; color:rgba(28,42,37,.6); margin:0 0 18px;}
.enc-result-list{display:grid; grid-template-columns:1fr; gap:14px; margin-bottom:40px;}
@media(min-width:700px){.enc-result-list{grid-template-columns:1fr 1fr;}}
.enc-result-card{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px 22px; cursor:pointer;
  transition:all .15s ease; text-align:left;
}
.enc-result-card:hover{transform:translateY(-2px); box-shadow:0 16px 32px -22px rgba(28,42,37,.4);}
.enc-result-card h4{font-family:var(--serif); font-weight:700; font-size:18px; margin:0 0 6px; color:var(--ink);}
.enc-result-card .hanja{font-size:11.5px; color:rgba(28,42,37,.45); margin-bottom:8px;}
.enc-result-card p{font-size:13px; color:rgba(28,42,37,.65); margin:0 0 10px; line-height:1.6;}
.enc-result-tags{display:flex; flex-wrap:wrap; gap:6px;}
.enc-result-tags span{font-size:11px; background:var(--ivory-2); color:var(--pine); padding:4px 10px; border-radius:999px;}

.enc-empty{text-align:center; padding:60px 20px; color:rgba(28,42,37,.5); font-size:14px;}

/* 상세 카드 */
.herb-detail{border-radius:22px; overflow:hidden; margin-bottom:40px; border:1px solid var(--line);}
.herb-hero{padding:36px 32px; color:#fff;}
.herb-hero .back{
  display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.7); font-size:12.5px;
  text-decoration:none; margin-bottom:16px; background:none; border:none; cursor:pointer; font-family:var(--sans);
}
.herb-hero .badge{
  display:inline-block; font-size:11px; font-weight:700; background:rgba(255,255,255,.15); padding:5px 12px;
  border-radius:999px; margin-bottom:14px;
}
.herb-hero h2{font-family:var(--serif); font-weight:700; font-size:clamp(26px,3.6vw,34px); margin:0 0 6px;}
.herb-hero .hanja{font-size:13px; color:rgba(255,255,255,.65); margin-bottom:16px;}
.herb-hero .oneliner{font-size:14.5px; color:rgba(255,255,255,.85); line-height:1.75; margin:0 0 20px; max-width:640px;}
.herb-hero .tagrow{display:flex; flex-wrap:wrap; gap:8px;}
.herb-hero .tagrow span{
  font-size:12px; font-weight:600; background:rgba(255,255,255,.15); padding:6px 14px; border-radius:999px;
}

.herb-body{background:#fff; padding:32px;}
.herb-section{margin-bottom:32px;}
.herb-section:last-child{margin-bottom:0;}
.herb-section h3{
  font-size:14px; font-weight:700; color:var(--pine); margin:0 0 16px; display:flex; align-items:center; gap:8px;
}
.herb-section h3::before{content:""; width:4px; height:15px; background:var(--gold); border-radius:2px;}

.herb-feature-grid{display:grid; grid-template-columns:1fr; gap:12px;}
@media(min-width:640px){.herb-feature-grid{grid-template-columns:1fr 1fr;}}
.herb-feature{background:var(--ivory-2); border-radius:12px; padding:16px 18px;}
.herb-feature b{display:block; font-size:13.5px; color:var(--ink); margin-bottom:4px;}
.herb-feature span{font-size:12.5px; color:rgba(28,42,37,.62); line-height:1.6;}

.herb-material-grid{display:grid; grid-template-columns:1fr; gap:10px;}
@media(min-width:640px){.herb-material-grid{grid-template-columns:1fr 1fr;}}
.herb-material{border:1px solid var(--line); border-radius:12px; padding:14px 16px;}
.herb-material b{display:block; font-size:13px; color:var(--pine); margin-bottom:4px;}
.herb-material span{font-size:12px; color:rgba(28,42,37,.6); line-height:1.6;}
.herb-material-note{font-size:12.5px; color:rgba(28,42,37,.55); line-height:1.75; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line);}

.herb-dosage-box{background:var(--ivory-2); border-radius:14px; padding:20px;}
.herb-dosage-row{display:flex; gap:10px; font-size:13px; padding:8px 0; border-bottom:1px solid var(--line);}
.herb-dosage-row:last-child{border-bottom:none;}
.herb-dosage-row b{flex:none; width:80px; color:var(--pine);}
.herb-tip{
  margin-top:14px; background:#fdecd8; border-radius:10px; padding:12px 16px; font-size:12.5px;
  color:#7a4a0d; line-height:1.7;
}

.herb-caution-list{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
.herb-caution-list li{
  font-size:13px; color:rgba(28,42,37,.7); background:#fdf0f0; border-left:3px solid var(--rose);
  padding:10px 14px; border-radius:8px; line-height:1.6;
}

.herb-cta{
  margin-top:8px; display:flex; gap:10px; flex-wrap:wrap;
}

/* ===== 질환 개요 페이지 (목차형) ===== */
.disease-hero{background:var(--pine); border-radius:20px; padding:32px 30px; color:#fff; margin-bottom:24px;}
.disease-hero .back{
  display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.7); font-size:12.5px;
  text-decoration:none; margin-bottom:14px; background:none; border:none; cursor:pointer; font-family:var(--sans);
}
.disease-hero h2{font-family:var(--serif); font-weight:700; font-size:clamp(24px,3.2vw,30px); margin:0 0 10px;}
.disease-hero p{font-size:13.5px; color:rgba(255,255,255,.82); margin:0; line-height:1.7;}

.disease-toc{
  background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px 24px; margin-bottom:28px;
  display:grid; grid-template-columns:1fr; gap:4px;
}
@media(min-width:640px){.disease-toc{grid-template-columns:1fr 1fr;}}
.disease-toc a{
  font-size:13px; color:var(--ink); text-decoration:none; padding:7px 4px; display:flex; gap:8px; border-radius:6px;
}
.disease-toc a:hover{background:var(--ivory-2);}
.disease-toc a b{color:var(--gold); flex:none; width:16px;}

.disease-section{background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px 26px; margin-bottom:14px; scroll-margin-top:90px;}
.disease-section h3{
  font-size:15px; font-weight:700; color:var(--pine); margin:0 0 12px; display:flex; align-items:center; gap:10px;
}
.disease-section h3 .n{
  width:26px; height:26px; border-radius:50%; background:var(--pine); color:#fff; font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.disease-section p{font-size:13.5px; color:rgba(28,42,37,.72); line-height:1.85; margin:0 0 10px;}
.disease-section p:last-child{margin-bottom:0;}
.disease-section ul{margin:0; padding-left:20px;}
.disease-section li{font-size:13.5px; color:rgba(28,42,37,.72); line-height:1.9;}

.disease-herb-row{display:grid; grid-template-columns:1fr; gap:12px; margin-top:6px;}
@media(min-width:640px){.disease-herb-row{grid-template-columns:1fr 1fr;}}
.disease-herb-card{
  border:1px solid var(--line); border-radius:12px; padding:16px; cursor:pointer; text-align:left; background:#fff;
  transition:all .15s ease;
}
.disease-herb-card:hover{transform:translateY(-2px); box-shadow:0 14px 28px -20px rgba(28,42,37,.4);}
.disease-herb-card b{display:block; font-family:var(--serif); font-size:15.5px; color:var(--ink); margin-bottom:4px;}
.disease-herb-card span{font-size:12px; color:rgba(28,42,37,.6); line-height:1.6;}
