/* ============================================================
   동제당 웰니스 — 공통 스타일
   구조 참조: wellness.baekrokdam.com (레이아웃·컴포넌트 체계)
   ============================================================ */

:root{
  --c-primary:#5f2636; --c-primary-hover:#431926; --c-primary-light:#f3e6e8;
  --c-gold:#b98a3b; --c-gold-soft:#d9b877;
  --c-bg:#fffaf3; --c-card:#ffffff; --c-subtle:#f5efe3;
  --c-dark:#1b1513; --c-dark-2:#241c18;
  --c-text:#2d2822; --c-strong:#17130f; --c-muted:#6d6257; --c-faint:#8d8177;
  --c-border:#e7dccb; --c-border-soft:#f0e7d9;
  --c-alert:#8a3324; --c-alert-bg:#fdf2ef; --c-alert-bd:#f0d5cc;
  --c-ok:#1f5c46; --c-ok-bg:#eef5f1; --c-ok-bd:#cfe3d8;

  --font:'Pretendard Variable', Pretendard, system-ui, -apple-system, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --fs-display:clamp(2.35rem, 5.2vw, 3.75rem);
  --fs-section:clamp(1.75rem, 3.4vw, 2.35rem);
  --fs-h3:1.16rem; --fs-body:1.05rem; --fs-eyebrow:.8rem;

  --layout:1120px; --prose:760px;
  --pad-x:clamp(1.25rem, 4vw, 2rem);
  --section-pad:clamp(4.5rem, 9vh, 7rem);
  --radius:12px; --radius-sm:8px; --radius-pill:999px;
  --btn-min:48px;
  --shadow-card:0 1px 3px rgba(64,38,28,.06), 0 12px 34px rgba(64,38,28,.1);
  --shadow-hover:0 16px 38px rgba(64,38,28,.16);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:80px}
body{
  margin:0; background:var(--c-bg); color:var(--c-text);
  font-family:var(--font); font-size:var(--fs-body); line-height:1.75;
  -webkit-font-smoothing:antialiased; word-break:keep-all;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--c-primary); outline-offset:3px; border-radius:4px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto}}

.wrap{width:100%; max-width:var(--layout); margin-inline:auto; padding-inline:var(--pad-x)}
.wrap--prose{max-width:calc(var(--prose) + var(--pad-x) * 2)}
.section{padding-block:var(--section-pad)}
.section--subtle{background:var(--c-subtle)}
.section__eyebrow, .eyebrow{
  font-size:var(--fs-eyebrow); font-weight:700; letter-spacing:.14em;
  color:var(--c-gold); text-transform:uppercase;
}
.section-head{max-width:var(--prose); margin-bottom:clamp(2rem,4vw,3rem)}
.section-head h2{font-size:var(--fs-section); font-weight:800; letter-spacing:-.03em; line-height:1.32; color:var(--c-strong); margin-top:.75rem}
.section-head p{margin-top:1rem; color:var(--c-muted); text-wrap:pretty}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:var(--btn-min); padding:0 1.6rem; border-radius:var(--radius-sm);
  font-weight:700; font-size:.98rem; letter-spacing:-.01em;
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease, border-color .18s ease, color .18s ease;
}
.btn--primary{background:var(--c-primary); color:var(--c-bg); box-shadow:var(--shadow-card)}
.btn--primary:hover{background:var(--c-primary-hover); transform:translateY(-1px); box-shadow:var(--shadow-hover)}
.btn--ghost{background:transparent; color:var(--c-strong); border:1px solid var(--c-border)}
.btn--ghost:hover{border-color:var(--c-primary); color:var(--c-primary)}
.btn--onDark{background:var(--c-bg); color:var(--c-strong)}
.btn--onDark:hover{background:#fff; transform:translateY(-1px)}
.btn--outlineDark{background:transparent; color:#efe6dc; border:1px solid rgba(239,230,220,.32)}
.btn--outlineDark:hover{border-color:var(--c-gold-soft); color:var(--c-gold-soft)}

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,250,243,.94);
  backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--c-border-soft);
}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:64px}
.brand{font-weight:800; font-size:1.05rem; letter-spacing:-.03em; color:var(--c-strong)}
.brand span{color:var(--c-primary)}
.site-nav{display:flex; align-items:center; gap:clamp(.9rem,2vw,1.7rem)}
.site-nav a{font-size:.92rem; font-weight:600; color:var(--c-muted)}
.site-nav a:hover{color:var(--c-primary)}
.site-nav a[aria-current]{color:var(--c-primary); box-shadow:inset 0 -2px 0 var(--c-primary)}
.site-nav .btn{padding:0 1.15rem; min-height:40px; font-size:.9rem; box-shadow:none}
.site-nav .btn[aria-current]{box-shadow:none}
@media (max-width:860px){ .site-nav a:not(.btn){display:none} }

/* ---------- 랜딩 히어로 (다크) ---------- */
.hero{
  background:
    radial-gradient(90% 70% at 82% 18%, rgba(185,138,59,.20) 0%, rgba(185,138,59,0) 58%),
    linear-gradient(168deg, #241c18 0%, #1b1513 62%);
  color:#efe6dc; overflow:hidden;
}
.hero .wrap{
  display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,5vw,4rem);
  align-items:center; padding-block:clamp(3.75rem,8vw,6.25rem);
}
.hero .eyebrow{color:var(--c-gold-soft)}
.hero h1{
  margin-top:1.1rem; font-size:var(--fs-display); font-weight:800;
  line-height:1.2; letter-spacing:-.045em; color:#fff;
}
.hero .lede{margin-top:1.4rem; max-width:30rem; color:#c3b6a9; text-wrap:pretty}
.hero .actions{display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem}
.hero .signals{
  display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.9rem;
  font-size:.86rem; color:#a8998c;
}
.hero .signals li{
  display:flex; align-items:center; gap:.45rem;
  padding:.35rem .85rem; border:1px solid rgba(239,230,220,.16); border-radius:var(--radius-pill);
}
.hero .signals i{width:5px; height:5px; border-radius:50%; background:var(--c-gold); flex:none}

.hero-figure{
  position:relative; aspect-ratio:4/3; border-radius:var(--radius);
  border:1px solid rgba(239,230,220,.14); overflow:hidden;
  background:linear-gradient(150deg,#2c231d 0%, #191310 100%);
}
.hero-figure img{width:100%; height:100%; object-fit:cover}
@media (max-width:880px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-figure{aspect-ratio:16/10; order:-1}
}

/* ---------- breadcrumb ---------- */
.breadcrumb{padding-block:1rem .25rem; font-size:.85rem; color:var(--c-faint)}
.breadcrumb ol{display:flex; flex-wrap:wrap; gap:.4rem; align-items:center}
.breadcrumb li:not(:last-child)::after{content:'›'; margin-left:.4rem; color:var(--c-border)}
.breadcrumb a:hover{color:var(--c-primary)}

/* ---------- page hero (내부 페이지) ---------- */
.page-hero{padding-block:clamp(2.5rem,5vw,4rem) clamp(2rem,4vw,3rem); border-bottom:1px solid var(--c-border-soft)}
.page-hero h1{
  margin-top:.85rem; font-size:clamp(2rem,4.4vw,3rem); font-weight:800;
  letter-spacing:-.045em; line-height:1.24; color:var(--c-strong); max-width:18ch;
}
.page-hero .lede{margin-top:1.25rem; max-width:var(--prose); color:var(--c-muted); text-wrap:pretty}
.page-hero .meta{
  margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:.5rem .75rem;
  font-size:.85rem; color:var(--c-faint);
}
.page-hero .meta span{border:1px solid var(--c-border); border-radius:var(--radius-pill); padding:.3rem .85rem; background:var(--c-card)}

/* ---------- guide: 목차 ---------- */
.official-guide__mobile-toc{
  margin-block:1.75rem; background:var(--c-card); border:1px solid var(--c-border);
  border-radius:var(--radius); box-shadow:var(--shadow-card); overflow:hidden;
}
.official-guide__mobile-toc summary{
  cursor:pointer; list-style:none; padding:1rem 1.35rem;
  font-weight:700; color:var(--c-strong); display:flex; justify-content:space-between; gap:1rem;
}
.official-guide__mobile-toc summary::-webkit-details-marker{display:none}
.official-guide__mobile-toc summary::after{content:'+'; color:var(--c-gold); font-size:1.2rem}
.official-guide__mobile-toc[open] summary::after{content:'−'}
.official-guide__mobile-toc ol{counter-reset:toc; padding:0 1.35rem 1.25rem; display:grid; gap:.55rem}
.official-guide__mobile-toc li{counter-increment:toc; display:flex; gap:.7rem; font-size:.95rem}
.official-guide__mobile-toc li::before{
  content:counter(toc,decimal-leading-zero); color:var(--c-gold);
  font-weight:700; font-size:.82rem; padding-top:.15rem; flex:none;
}
.official-guide__mobile-toc a{color:var(--c-muted)}
.official-guide__mobile-toc a:hover{color:var(--c-primary)}

/* ---------- guide: 키워드 ---------- */
.guide-keywords{padding-block:2.25rem; border-top:1px solid var(--c-border-soft)}
.guide-keywords h2{font-size:1.05rem; font-weight:800; color:var(--c-strong); letter-spacing:-.02em}
.guide-keywords div{display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem}
.guide-keywords span{
  font-size:.85rem; color:var(--c-muted); background:var(--c-card);
  border:1px solid var(--c-border); border-radius:var(--radius-pill); padding:.35rem .85rem;
}

/* ---------- guide: 챕터 ---------- */
.guide-chapters{display:grid; gap:clamp(3rem,6vw,4.5rem); padding-block:clamp(2.5rem,5vw,3.5rem)}
.guide-chapter{scroll-margin-top:84px}
.guide-chapter__number{
  font-size:.82rem; font-weight:800; letter-spacing:.16em; color:var(--c-gold);
}
.guide-chapter > h2{
  margin-top:.6rem; font-size:clamp(1.5rem,3vw,2rem); font-weight:800;
  letter-spacing:-.035em; line-height:1.34; color:var(--c-strong); max-width:24ch;
}

/* 기준 답변 */
.guide-chapter__answer{
  margin-top:1.5rem; background:var(--c-card); border:1px solid var(--c-border);
  border-left:3px solid var(--c-primary); border-radius:var(--radius);
  padding:1.5rem 1.6rem; box-shadow:var(--shadow-card);
}
.guide-chapter__answer > span{
  display:inline-block; font-size:.75rem; font-weight:800; letter-spacing:.12em;
  color:var(--c-primary); background:var(--c-primary-light);
  border-radius:var(--radius-pill); padding:.28rem .8rem; margin-bottom:.8rem;
}
.guide-chapter__answer p{font-size:1.06rem; color:var(--c-strong); font-weight:500; text-wrap:pretty}

/* 본문 */
.guide-chapter__deep{margin-top:1.5rem; display:grid; gap:1.1rem; max-width:var(--prose)}
.guide-chapter__deep > p{color:var(--c-muted); text-wrap:pretty}

/* 상황별 적용 */
.guide-cases{
  margin-top:.4rem; background:var(--c-subtle); border:1px solid var(--c-border);
  border-radius:var(--radius); padding:1.4rem 1.5rem;
}
.guide-cases h3{font-size:.95rem; font-weight:800; color:var(--c-strong); letter-spacing:-.02em; margin-bottom:.9rem}
.guide-cases dl{display:grid; gap:.85rem}
.guide-cases dt{font-size:.9rem; font-weight:700; color:var(--c-primary)}
.guide-cases dd{font-size:.94rem; color:var(--c-muted); margin-top:.15rem}

/* 체크리스트 */
.guide-chapter__checklist{margin-top:1.5rem; display:grid; gap:.7rem; max-width:var(--prose)}
.guide-chapter__checklist li{
  display:flex; gap:.75rem; font-size:.97rem; color:var(--c-text);
}
.guide-chapter__checklist li::before{
  content:''; flex:none; width:18px; height:18px; margin-top:.35rem; border-radius:5px;
  background:var(--c-ok-bg); border:1px solid var(--c-ok-bd);
  background-image:linear-gradient(transparent,transparent);
  box-shadow:inset 0 0 0 0 transparent;
}
.guide-chapter__checklist li{position:relative}
.guide-chapter__checklist li::after{
  content:'✓'; position:absolute; left:4px; top:.3rem;
  font-size:.72rem; font-weight:800; color:var(--c-ok);
}

/* 표 */
.guide-table-wrap{margin-top:1.6rem; overflow-x:auto; border:1px solid var(--c-border); border-radius:var(--radius); background:var(--c-card); box-shadow:var(--shadow-card)}
.guide-table-wrap table{width:100%; border-collapse:collapse; min-width:520px; font-size:.94rem}
.guide-table-wrap th, .guide-table-wrap td{padding:.9rem 1.1rem; text-align:left; vertical-align:top}
.guide-table-wrap thead th{background:var(--c-subtle); font-size:.82rem; font-weight:800; color:var(--c-muted); letter-spacing:.02em; white-space:nowrap}
.guide-table-wrap tbody tr + tr{border-top:1px solid var(--c-border-soft)}
.guide-table-wrap tbody th{font-weight:700; color:var(--c-strong); white-space:nowrap}
.guide-table-wrap td{color:var(--c-muted)}

/* 주의 */
.guide-chapter__caution{
  margin-top:1.4rem; background:var(--c-alert-bg); border:1px solid var(--c-alert-bd);
  border-left:3px solid var(--c-alert); border-radius:var(--radius-sm);
  padding:1.1rem 1.35rem; font-size:.95rem; color:var(--c-muted);
}
.guide-chapter__caution strong{color:var(--c-alert); margin-right:.5rem}

/* 이렇게 판단하지 마세요 */
.guide-mistakes{
  margin-top:1.6rem; background:var(--c-alert-bg); border:1px solid var(--c-alert-bd);
  border-radius:var(--radius); padding:1.4rem 1.5rem;
}
.guide-mistakes h3{font-size:.95rem; font-weight:800; color:var(--c-alert); margin-bottom:.85rem}
.guide-mistakes ul{display:grid; gap:.6rem}
.guide-mistakes li{display:flex; gap:.7rem; font-size:.94rem; color:var(--c-muted)}
.guide-mistakes li::before{content:'✕'; color:var(--c-alert); font-weight:800; font-size:.8rem; padding-top:.2rem; flex:none}

/* 상담할 때 확인할 질문 */
.guide-consult-check{
  margin-top:1.6rem; background:var(--c-card); border:1px solid var(--c-border);
  border-radius:var(--radius); padding:1.4rem 1.5rem; box-shadow:var(--shadow-card);
}
.guide-consult-check h3{font-size:.95rem; font-weight:800; color:var(--c-strong); margin-bottom:.85rem}
.guide-consult-check ul{display:grid; gap:.6rem}
.guide-consult-check li{display:flex; gap:.7rem; font-size:.94rem; color:var(--c-muted)}
.guide-consult-check li::before{content:'?'; color:var(--c-gold); font-weight:800; flex:none; padding-top:.05rem}

/* 근거와 범위 */
.guide-section-evidence{
  margin-top:1.6rem; border-top:1px dashed var(--c-border); padding-top:1.2rem;
}
.guide-section-evidence h3{font-size:.82rem; font-weight:800; letter-spacing:.1em; color:var(--c-faint); margin-bottom:.6rem}
.guide-section-evidence p{font-size:.9rem; color:var(--c-faint)}
.guide-section-evidence ul{margin-top:.6rem; display:flex; flex-wrap:wrap; gap:.4rem}
.guide-section-evidence li a{
  font-size:.82rem; color:var(--c-muted); border:1px solid var(--c-border);
  border-radius:var(--radius-pill); padding:.25rem .75rem; display:inline-block;
}
.guide-section-evidence li a:hover{border-color:var(--c-primary); color:var(--c-primary)}

/* ---------- FAQ ---------- */
.guide-faq{padding-block:var(--section-pad)}
.guide-faq h2{font-size:var(--fs-section); font-weight:800; letter-spacing:-.03em; color:var(--c-strong); margin-top:.6rem; margin-bottom:1.75rem}
.guide-faq > div{display:grid; gap:.75rem; max-width:var(--prose)}
.guide-faq details{background:var(--c-card); border:1px solid var(--c-border-soft); border-radius:var(--radius-sm); box-shadow:var(--shadow-card); overflow:hidden}
.guide-faq summary{
  cursor:pointer; list-style:none; padding:1.1rem 1.35rem; font-weight:700;
  color:var(--c-strong); letter-spacing:-.02em; display:flex; justify-content:space-between; gap:1rem;
}
.guide-faq summary::-webkit-details-marker{display:none}
.guide-faq summary::after{content:'+'; color:var(--c-gold); font-weight:700; font-size:1.15rem; flex:none}
.guide-faq details[open] summary::after{content:'−'}
.guide-faq details > p{padding:0 1.35rem 1.25rem; font-size:.95rem; color:var(--c-muted)}

/* ---------- 관련 문서 ---------- */
.guide-related{padding-block:var(--section-pad); background:var(--c-subtle)}
.guide-related h2{font-size:var(--fs-section); font-weight:800; letter-spacing:-.03em; color:var(--c-strong); margin-top:.6rem}
.guide-related > div > p:last-child{margin-top:.75rem; color:var(--c-muted)}
.guide-related ul{margin-top:1.75rem; display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem}
.guide-related a{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--radius);
  padding:1.15rem 1.35rem; font-weight:700; color:var(--c-strong); letter-spacing:-.02em;
  box-shadow:var(--shadow-card); transition:transform .18s ease, box-shadow .18s ease;
}
.guide-related a:hover{transform:translateY(-2px); box-shadow:var(--shadow-hover)}
.guide-related a > span:last-child{color:var(--c-gold)}
@media (max-width:700px){ .guide-related ul{grid-template-columns:1fr} }

/* 사전 항목 */
.guide-entities{padding-block:1.75rem; border-top:1px solid var(--c-border)}
.guide-entities strong{font-size:.82rem; font-weight:800; letter-spacing:.1em; color:var(--c-faint)}
.guide-entities ul{margin-top:.85rem; display:flex; flex-wrap:wrap; gap:.45rem}
.guide-entities a{
  font-size:.88rem; color:var(--c-muted); background:var(--c-card);
  border:1px solid var(--c-border); border-radius:var(--radius-pill); padding:.35rem .9rem; display:inline-block;
}
.guide-entities a:hover{border-color:var(--c-primary); color:var(--c-primary)}

/* ---------- CTA ---------- */
.guide-cta, .band{background:var(--c-primary); color:#f6e9e6}
.guide-cta .wrap, .band .wrap{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1.5rem; padding-block:clamp(2.75rem,5vw,3.75rem);
}
.guide-cta p:first-child{font-size:.9rem; color:#e0c3c9; margin-bottom:.5rem}
.guide-cta h2, .band h2{font-size:clamp(1.4rem,2.6vw,1.75rem); font-weight:800; letter-spacing:-.03em; color:#fff; line-height:1.4}
.band p{margin-top:.5rem; font-size:.98rem; color:#e0c3c9}

/* ---------- 출처 ---------- */
.guide-sources{padding-block:var(--section-pad); background:var(--c-subtle); border-top:1px solid var(--c-border)}
.guide-sources h2{font-size:1.3rem; font-weight:800; letter-spacing:-.03em; color:var(--c-strong)}
.guide-sources > .wrap > p{margin-top:.85rem; max-width:var(--prose); font-size:.94rem; color:var(--c-muted)}
.guide-sources ol{margin-top:1.75rem; display:grid; gap:1rem; max-width:var(--prose)}
.guide-sources ol > li{background:var(--c-card); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.15rem 1.35rem}
.guide-sources ol > li > div{display:flex; flex-wrap:wrap; align-items:center; gap:.6rem}
.guide-sources ol > li > div > span{
  font-size:.72rem; font-weight:800; letter-spacing:.08em; color:var(--c-gold);
  border:1px solid var(--c-border); border-radius:var(--radius-pill); padding:.2rem .65rem;
}
.guide-sources ol > li > div > a{font-weight:700; color:var(--c-primary); letter-spacing:-.02em}
.guide-sources ol > li > div > a:hover{text-decoration:underline}
.guide-sources ol > li > p{font-size:.88rem; color:var(--c-muted); margin-top:.4rem}
.guide-sources ol > li > p:first-of-type{color:var(--c-faint); font-size:.84rem}
.guide-sources__checked{margin-top:1.5rem; font-size:.82rem; color:var(--c-faint)}

/* ---------- 목록 페이지 카드 ---------- */
.card-grid{display:grid; gap:1.15rem}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){ .cols-3,.cols-4{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .cols-2,.cols-3,.cols-4{grid-template-columns:1fr} }

.card{
  background:var(--c-card); border:1px solid var(--c-border-soft); border-radius:var(--radius);
  padding:1.65rem 1.5rem; box-shadow:var(--shadow-card);
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-2px); box-shadow:var(--shadow-hover)}
.card .num{
  display:inline-grid; place-items:center; width:30px; height:30px; border-radius:8px;
  background:var(--c-primary-light); color:var(--c-primary);
  font-size:.78rem; font-weight:800; margin-bottom:.9rem;
}
.card h3{font-size:var(--fs-h3); font-weight:800; letter-spacing:-.025em; color:var(--c-strong); line-height:1.45}
.card p{margin-top:.6rem; font-size:.95rem; color:var(--c-muted)}
.card .check{margin-top:1rem; padding-top:.85rem; border-top:1px dashed var(--c-border); font-size:.85rem; font-weight:600; color:var(--c-gold)}

/* ---------- alert ---------- */
.alert{
  margin-top:1.6rem; display:flex; gap:1rem; align-items:flex-start;
  background:var(--c-alert-bg); border:1px solid var(--c-alert-bd);
  border-left:3px solid var(--c-alert); border-radius:var(--radius-sm); padding:1.35rem 1.5rem;
}
.alert svg{flex:none; margin-top:.15rem}
.alert b{display:block; color:var(--c-alert); font-size:.98rem; margin-bottom:.35rem}
.alert p{font-size:.94rem; color:var(--c-muted)}

/* ---------- footer ---------- */
.site-footer{background:var(--c-subtle); border-top:1px solid var(--c-border)}
.site-footer .wrap{padding-block:2.75rem 1.75rem}
.footer-top{display:flex; flex-wrap:wrap; gap:1.5rem 3rem; justify-content:space-between; align-items:flex-start}
.site-footer .brand{margin-bottom:.6rem; display:block}
.site-footer address{font-style:normal; font-size:.92rem; color:var(--c-muted); line-height:1.9}
.site-footer address a{font-weight:700; color:var(--c-primary)}
.site-footer nav div{display:grid; gap:.4rem; font-size:.92rem; color:var(--c-muted)}
.site-footer nav a:hover{color:var(--c-primary)}
.disclaimer{margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--c-border); font-size:.82rem; line-height:1.8; color:var(--c-faint)}

/* ---------- floating cta ---------- */
.float-cta{
  position:fixed; right:1rem; bottom:1rem; z-index:60;
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--c-primary); color:var(--c-bg);
  padding:.85rem 1.35rem; border-radius:var(--radius-pill);
  font-weight:700; font-size:.94rem; box-shadow:var(--shadow-hover);
}
.float-cta:hover{background:var(--c-primary-hover)}
