@charset "UTF-8";
/* =========================================================
   한신한의원 — 서브페이지 공통 스타일
   common.css(메인 · 서브 공용) 다음에 불러오고, 페이지 전용 값은 각 폴더 css/page.css 에서만 덮어씀
   ---------------------------------------------------------
    1. 헤더 현재 메뉴 · 앵커 여백     9. 흐름 · 단계 (proc · pstep · tflow)
    2. 서브 비주얼 (sv)              10. 3대 계보 · 인사말 · 약속 · 약력
    3. 로컬 내비 (lnb)               11. 인증서 · 표 · 사례 · 그래프
    4. 한눈에 보기 (qa)             12. 비대면 (sec--dark 안쪽)
    5. 레이아웃 (split · grid · ph)   13. FAQ · 감수 · 관련 링크 · CTA 밴드
    6. 카드 · 태그 · 포인트 행        14. 비대면 진료 신청서 (모달)
    7. 인용 · 안내 박스               15. 캡처 모드 (PPT 제작용)
    8. 체크 목록 · 말풍선             16. 반응형 999 · 690 · 480 · 370
   ---------------------------------------------------------
   간격 토큰 : PC 값은 var(--head-gap,64px) 처럼 기본값으로, 999 이하는 common.css 11번 토큰을 그대로 따름
   ========================================================= */

/* ---------- 0. 섹션 타이틀 크기 : 서브는 메인(68px · 첫 줄 얇게)보다 작게, 한 가지 굵기 — 한눈에 보기 질문 타이틀과 같은 값 (09-18) ---------- */
:root{--title-size:50px;--title-lh:65px}
@media (max-width:999px){:root{--title-size:38px;--title-lh:49px}}
@media (max-width:690px){

:root{--title-size:28px;--title-lh:37px}}
@media (max-width:480px){:root{--title-size:24px;--title-lh:32px}}
@media (max-width:370px){:root{--title-size:22px;--title-lh:30px}}
/* 섹션 타이틀 굵기는 common.css 그대로 — 첫 줄 가늘게(200) · <b> 둘째 줄 굵게(600) (09-28 전 페이지, 메인과 같음) */

/* ---------- 1. 헤더 현재 메뉴 · 앵커 여백 ---------- */
.gnb-menu a.is-current{color:var(--gold)}
.gnb-menu a.is-current::after{transform:scaleX(1);background:var(--gold)}
main [id]{scroll-margin-top:calc(var(--header-h-on) + 86px)}

/* ---------- 2. 서브 비주얼 ---------- */
.sv{padding-top:var(--sv-pt,70px)}
.bc{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;line-height:20px;color:var(--gray)}
.bc li+li::before{content:"/";margin-right:10px;color:#CFCBC3}
.bc a:hover{color:var(--ink)}
.bc [aria-current]{color:var(--ink)}
.sv-grid{margin-top:48px;display:grid;grid-template-columns:minmax(0,760fr) minmax(0,640fr);gap:clamp(30px,calc(30px + (100vw - 1000px) * 50 / 920),80px);align-items:end}
.sv-title{margin-top:30px;font-size:var(--sv-title-size,80px);line-height:1.15;font-weight:200;letter-spacing:-.055em}
.sv-title b{font-weight:600}
.sv-page{display:inline-block;margin-top:28px;padding:7px 16px;border:1px solid var(--line);border-radius:40px;font-size:14px;line-height:20px;color:var(--ink-2)}
.sv .sec-lead{max-width:640px;--lead-gap:24px}
.sv .acts{margin-top:40px;--acts-gap:10px}
.sv-media{position:relative;margin:0;border-radius:20px;overflow:hidden;background:var(--bg-2)}
.sv-media img{width:100%;aspect-ratio:640/480;object-fit:cover}
.sv-media--contain{background:#F6F0E2}
.sv-media--contain img{object-fit:contain;padding:8%}
.sv-media figcaption{position:absolute;left:18px;bottom:16px;padding:6px 12px;border-radius:30px;background:rgba(255,255,255,.92);font-size:13px;line-height:18px;color:var(--ink-2)}

/* ---- 상단 비주얼 : 타이포형 .sv--type (사진 · 워터마크 없음 · 왼쪽 영문 라벨 + 페이지명 / 오른쪽 설명 + 버튼) ---- */
.sv--type .sv-grid{display:block;margin-top:44px;padding-bottom:64px}
.sv--type .sv-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);grid-template-rows:auto auto 1fr;column-gap:80px;align-items:start}
.sv--type .eyebrow{grid-column:1;grid-row:1;margin-top:calc((var(--lead-lh) - var(--lead-size)) / 2)}   /* 오른쪽 설명 첫 줄 글자 윗선에 맞춤 */
.sv--type .sv-title{grid-column:1;grid-row:2;--sv-title-size:76px}
.sv--type .sec-lead{grid-column:2;grid-row:1/span 2;margin-top:0}
.sv--type .acts{grid-column:2;grid-row:3;margin-top:28px}
.sv--type .lnb{margin-top:0}   /* 위 · 아래 선 모두 화면 전체 (LNB 테두리) */
@media (max-width:999px){
  .sv--type .sv-grid{margin-top:28px;padding-bottom:var(--head-gap)}
  .sv--type .sv-copy{display:block}
  .sv--type .eyebrow{margin-top:0}
  .sv--type .sec-lead{margin-top:var(--lead-gap)}
}

/* ---------- 3. 로컬 내비 : 형제 페이지 ---------- */
.lnb{position:sticky;top:calc(var(--header-h-on) - 1px);z-index:80;margin-top:var(--lnb-mt,70px);background:rgba(255,255,255,.96);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* PC : 탭 왼쪽 정렬(상단 타이틀 왼쪽 선) · 버튼이 있는 페이지는 버튼만 오른쪽 끝 / 999 이하 : 탭 가운데 · 붙었을 때 윗선이 헤더 밑선과 겹치도록 1px 위 */
.lnb-in{display:flex;align-items:center;gap:28px;min-height:68px;overflow-x:auto;scrollbar-width:none}
.lnb-in::-webkit-scrollbar{display:none}
.lnb-sib{display:flex;gap:6px;flex:none}
.lnb-sib a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:40px;font-size:15px;color:var(--ink-2);white-space:nowrap;transition:.3s var(--ease)}
.lnb-sib a.is-current{background:var(--ink);color:#fff}
.lnb-sib a:not(.is-current):hover{background:var(--bg-2)}
.lnb .btn{margin-left:auto;flex:none;height:44px;padding:0 20px;font-size:14px}

/* ---------- 4. 한눈에 보기 (Answer-first) ---------- */
/* 테두리 없이 왼쪽 세로로 긴 둥근 사진 + 오른쪽 글(질문 타이틀 · 강조한 한 줄 답 · 설명) (09-18) · 999 이하는 사진 위 · 글 아래 */
.qa{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,calc(40px + (100vw - 1000px) * 60 / 920),100px);align-items:center}
.qa-title{font-size:var(--title-size);line-height:var(--title-lh);font-weight:200;letter-spacing:-.052em}   /* 섹션 타이틀과 같은 크기 · 첫 줄 가늘게 (0번) */
.qa-title b{font-weight:600}
.qa-answer{margin-top:30px;font-size:19px;line-height:1.7;font-weight:600;letter-spacing:-.04em}
.qa-answer mark{padding:0 3px;background:#F3ECDF;color:inherit}
.qa-main p:not(.qa-answer){margin-top:16px;font-size:17px;line-height:1.9;font-weight:300;color:var(--ink-2)}
.qa-main .qa-answer + p{margin-top:24px}
.qa-main strong{font-weight:600;color:var(--ink)}
.qa-media{order:-1;margin:0;border-radius:24px;overflow:hidden;background:var(--bg-2)}
.qa-media img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ---------- 5. 레이아웃 ---------- */
.sec-body{margin-top:var(--head-gap,64px)}
.sec-foot--center{text-align:center}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,calc(40px + (100vw - 1000px) * 60 / 920),100px);align-items:start}
.split--rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.split--half{grid-template-columns:repeat(2,minmax(0,1fr))}
.split__sticky{position:sticky;top:calc(var(--header-h-on) + 100px)}
.grid-2,.grid-3,.grid-4{display:grid;gap:var(--item-gap,24px)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ph{margin:0;border-radius:16px;overflow:hidden;background:var(--bg-2)}
.ph img{width:100%;height:100%;object-fit:cover}
.cap{margin-top:12px;font-size:14px;line-height:22px;font-weight:300;color:var(--gray)}
.notice{margin-top:24px;font-size:13.5px;line-height:1.8;font-weight:300;color:var(--muted);text-align:center}   /* 박스 밖 안내 문구는 가운데 (09-23 전체 공통) · 2단 안쪽에서는 page.css 에서 left 로 */
.split .notice,.qa .notice{text-align:left}

/* ---------- 6. 카드 · 태그 · 포인트 행 ---------- */
.card{display:block;padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:border-color .4s var(--ease)}
.card:hover{border-color:#CFCBC3}
.sec--gray .card{border-color:transparent}
.card .n{font-family:var(--lat);font-size:12.5px;letter-spacing:.2em;color:var(--gold)}
.card h3{margin-top:14px;font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.card p{margin-top:12px;font-size:16px;line-height:1.8;font-weight:300;color:var(--ink-2)}
.card--photo{padding:0;overflow:hidden}
.card--photo .ph{border-radius:0}
.card--photo .ph img{aspect-ratio:3/2}
.card__body{padding:26px 28px 30px}
.card--green{display:flex;flex-direction:column;justify-content:center;border:0;background:var(--green);color:#fff}
.card--green p{color:#B4BDBA}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.tag{display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:6px;background:#F3ECDF;color:#8E7340;font-size:13px;font-weight:500;white-space:nowrap}
.tag--yellow{background:var(--yellow);color:#4A4211}
.tag--gray{background:#EFEFEC;color:#77746C}
.pt-list{--list-top:var(--ink)}
.pt-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;padding:34px 0}
.pt-row .n{font-family:var(--serif);font-size:30px;line-height:1;color:var(--gold)}
.pt-row h3{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.pt-row p{margin-top:10px;font-size:16px;line-height:1.85;font-weight:300;color:var(--ink-2)}

/* ---------- 7. 인용 · 안내 박스 ---------- */
.quote{padding:clamp(28px,calc(28px + (100vw - 1000px) * 22 / 920),50px) clamp(26px,calc(26px + (100vw - 1000px) * 30 / 920),56px);border-radius:20px;background:var(--bg-2)}
.sec--gray .quote{background:#fff}
.quote p{font-size:26px;line-height:1.7;font-weight:300;letter-spacing:-.045em}
.quote b{font-weight:600}
.quote cite{display:block;margin-top:16px;font-style:normal;font-size:14px;color:var(--muted)}
.note-box{margin-top:28px;padding:24px 28px;border-radius:14px;background:var(--bg-2);font-size:15px;line-height:1.85;color:var(--ink-2)}
.note-box b{font-weight:600;color:var(--ink)}
.note-box p+p{margin-top:8px}
.note-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}   /* 안내 상자 2개 나란히 (10-08) */
.note-split .note-box{margin-top:0;height:100%;min-height:124px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px 24px 30px}   /* 통증 배너(.rel)와 같은 구성 — 왼쪽 카피 2줄 · 세로 가운데 (10-08) */
.note-box .txt{flex:1;min-width:0}
.note-split + .notice{margin-top:24px}   /* 배너와 안내글이 붙어 보이지 않게 (10-08) */
.note-box small{display:block;font-size:13px;font-weight:600;color:var(--gold)}
.note-box strong{display:block;margin-top:10px;font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.note-box span{display:block;margin-top:8px;font-size:16px;line-height:1.75;color:var(--muted)}
.note-box--link{justify-content:space-between;text-decoration:none;color:inherit;transition:.35s var(--ease)}
.note-box--link .go{align-self:center}
.note-box--link .go{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:17px;font-style:normal;transition:.3s var(--ease)}
/* 밝은 바탕에서는 통증 배너(.rel a:hover)와 같이 검정으로 반전 (10-08) */
.note-box--link:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.note-box--link:hover small{color:var(--gold)}
.note-box--link:hover strong{color:#fff}
.note-box--link:hover span{color:#B4BDBA}
.note-box--link:hover .go{background:var(--gold);border-color:var(--gold);color:#fff}

/* ---------- 8. 체크 목록 · 말풍선 ---------- */
.chk-list{display:grid;gap:10px}
.chk-list li{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-radius:12px;background:#fff;font-size:16.5px;line-height:1.6}
.chk-list--box{padding:16px;border-radius:16px;background:var(--bg-2)}
.chk-list li::before{content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6 11.5l3.2 3.2L16 8' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") center/22px no-repeat}
/* 직접 체크하는 목록 .chk-list--toggle : 가운데 · 칸을 누르면 체크 (복용 전 확인 등, 09-18) */
.chk-list--toggle{max-width:760px;margin-inline:auto}
.chk-list.chk-list--toggle li{display:block;padding:0}
.chk-list--toggle li::before{content:none}
.chk-list--toggle label{display:flex;gap:14px;align-items:center;padding:18px 22px;border-radius:12px;cursor:pointer;transition:background .25s var(--ease)}
.chk-list--toggle input{appearance:none;-webkit-appearance:none;flex:none;width:24px;height:24px;margin:0;border:1.5px solid #C9C4BA;border-radius:6px;background:#fff center/18px no-repeat;cursor:pointer;transition:.2s var(--ease)}
.chk-list--toggle input:checked{border-color:var(--green);background-color:var(--green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6 11.5l3.2 3.2L16 8' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.chk-list--toggle input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.chk-list--toggle label:has(input:checked){background:#EEF3F0}
.chk-list--toggle input:checked + span{font-weight:600}
.chk-list--toggle + .notice{text-align:center}
.bubbles{display:flex;flex-direction:column;gap:14px}
.bubble{align-self:flex-start;max-width:88%;padding:18px 24px;border-radius:22px 22px 22px 4px;background:#fff;font-size:19px;line-height:1.5;letter-spacing:-.04em}
.bubble:nth-child(even){align-self:flex-end;border-radius:22px 22px 4px 22px}
.bubble small{display:block;margin-top:4px;font-size:13.5px;font-weight:300;color:var(--muted)}

/* ---------- 9. 흐름 · 단계 ---------- */
.proc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--ink)}
.proc li{padding:28px 22px 30px;border-bottom:1px solid var(--line)}
.proc li:not(:nth-child(5n)){border-right:1px solid var(--line)}
.proc .n{font-family:var(--lat);font-size:12px;letter-spacing:.18em;color:var(--muted)}
.proc h3{margin-top:12px;font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.proc h3 em{font-style:normal;font-weight:400;color:var(--gold)}
.proc p{margin-top:8px;font-size:16px;line-height:1.75;font-weight:300;color:var(--ink-2)}
.proc .tags{margin-top:12px}
.pstep{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--item-gap,24px)}
.pstep li{padding-top:22px;border-top:1px solid var(--ink)}
.pstep .ph{border-radius:10px}
.pstep .ph img{aspect-ratio:4/3}
.pstep .n{display:block;margin-top:18px;font-family:var(--lat);font-size:12px;letter-spacing:.2em;color:var(--muted)}
.pstep h3{margin-top:12px;font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.pstep p{margin-top:8px;font-size:16px;line-height:1.8;font-weight:300;color:var(--ink-2)}
.tflow li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:24px 0;border-bottom:1px solid #3D544A}
.tflow li:first-child{border-top:1px solid #485D56}
.tflow .n{padding-top:3px;font-family:var(--serif);font-size:14px;letter-spacing:.16em;color:var(--yellow);white-space:nowrap}
.tflow h3{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.tflow p{margin-top:6px;font-size:16px;line-height:1.8;font-weight:300;color:#B4BDBA}

/* ---------- 10. 3대 계보 · 인사말 · 약속 · 약력 ---------- */
.gens{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,calc(20px + (100vw - 1000px) * 40 / 920),60px)}
.gens::before{content:"";position:absolute;left:16%;right:16%;top:95px;height:1px;background:#D3CEC5}
.gen{position:relative;text-align:center}
.gen .face{width:190px;aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;background:#E8E3DA;box-shadow:0 0 0 10px var(--gens-ring,#fff)}
.sec--gray .gen .face{--gens-ring:var(--bg-2)}
.gen .face img{width:100%;height:100%;object-fit:cover}
.gen .g{display:block;margin-top:24px;font-family:var(--serif);font-size:14px;letter-spacing:.24em;color:var(--gold)}
.gen h3{margin-top:6px;font-size:26px;line-height:1.4;font-weight:500;letter-spacing:-.04em}
.gen .yr{margin-top:4px;font-family:var(--lat);font-size:13.5px;letter-spacing:.04em;color:var(--muted)}
.gen .pl{margin-top:14px;font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.gen .pl b{display:block;font-weight:600;color:var(--ink)}
.gen .role{margin-top:12px;font-size:14.5px;line-height:1.75;font-weight:300;color:var(--muted)}
.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.archive-grid .ph img{aspect-ratio:1}
.letter p{font-size:18px;line-height:2.05;font-weight:300;color:var(--ink-2)}
.letter p+p{margin-top:1.3em}
.letter b{font-weight:600;color:var(--ink)}
.letter .first{font-size:29px;line-height:1.65;font-weight:300;letter-spacing:-.045em;color:var(--ink)}
.sign{display:flex;align-items:center;gap:18px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.sign span{font-size:14px;color:var(--muted)}
.sign strong{font-size:22px;font-weight:600;letter-spacing:.1em}
.vow-list{--list-top:var(--ink)}
.vow-row{display:grid;grid-template-columns:80px minmax(0,340px) minmax(0,1fr);gap:clamp(20px,calc(20px + (100vw - 1000px) * 30 / 920),50px);align-items:start;padding:34px 0}
.vow-row .hj{font-family:var(--kserif);font-size:30px;line-height:1.1;color:var(--gold)}
.vow-row h3{font-size:24px;line-height:1.45;font-weight:600;letter-spacing:-.04em}
.vow-row p{font-size:16px;line-height:1.9;font-weight:300;color:var(--ink-2)}
.cv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}
.cv h3{grid-column:1/-1;margin:28px 0 4px;font-size:14px;font-weight:500;color:var(--muted)}
.cv h3:first-child{margin-top:0}
.cv li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.6}
.cv li::before{content:"";flex:none;width:5px;height:5px;margin-top:10px;border-radius:50%;background:var(--gold)}
.cv--one{grid-template-columns:1fr}

/* ---------- 11. 인증서 · 표 · 사례 · 그래프 ---------- */
.certs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.certs figure{margin:0;padding:14px 14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.certs img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:4px;background:var(--bg-2)}
.certs figcaption{margin-top:12px;font-size:14.5px;line-height:1.5;font-weight:500}
.certs figcaption small{display:block;font-size:13px;font-weight:300;color:var(--muted)}
.tbl-wrap{overflow-x:auto;border-top:1px solid var(--ink)}
.tbl{width:100%;min-width:760px;border-collapse:collapse}
.tbl th,.tbl td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:left;font-size:15.5px;line-height:1.6;vertical-align:middle}
.tbl thead th{font-size:13.5px;font-weight:500;color:var(--muted);background:var(--bg-2)}
.tbl tbody th{font-weight:600;white-space:nowrap}
.tbl .price{font-family:var(--lat);font-size:18px;font-weight:500;text-align:right;white-space:nowrap}
.tbl .price s{display:block;font-size:12.5px;font-weight:300;color:var(--muted)}
.tbl .grp th{padding:14px 16px;background:#F3ECDF;font-size:16px}
.tbl .grp th span{margin-left:10px;font-size:13.5px;font-weight:400;color:var(--ink-2)}
.case{padding:clamp(24px,calc(24px + (100vw - 1000px) * 14 / 920),38px);border:1px solid var(--line);border-radius:16px;background:#fff}
.case .big{margin-top:20px;font-family:var(--lat);font-size:58px;line-height:1;font-weight:200;letter-spacing:-.04em}
.case .big small{margin-left:6px;font-size:.36em;font-weight:400;color:var(--muted)}
.case dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:15px}
.case dt{color:var(--muted)}
.case dd{font-weight:500}
.graph{margin:0;padding:clamp(24px,calc(24px + (100vw - 1000px) * 20 / 920),44px);border-radius:20px;background:#fff}
.graph svg{display:block;width:100%;height:auto}
.graph-legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:16px;font-size:14px;color:var(--ink-2)}
.graph-legend i{display:inline-block;width:22px;height:3px;margin-right:8px;border-radius:2px;vertical-align:4px}

/* ---------- 12. 비대면 (sec--dark 안쪽) ---------- */
.tele-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,calc(40px + (100vw - 1000px) * 50 / 920),90px);align-items:start}
.tele-badge{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:30px;background:var(--yellow);color:#2E2A10;font-size:14px;font-weight:700}
.tele-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tele-note{margin-top:28px;padding:18px 20px;border-radius:12px;background:rgba(255,255,255,.07);font-size:14px;line-height:1.8;color:#B4BDBA}
.tele-note b{font-weight:600;color:#fff}
.form-peek{margin-top:30px;padding:24px;border-radius:14px;background:#fff;color:var(--ink)}
.form-peek h3{font-size:15px;font-weight:600}
.form-peek ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.form-peek li{padding:6px 11px;border-radius:6px;background:var(--bg-2);font-size:13.5px;color:var(--ink-2)}

/* 안내 박스 : 「이런 경우는 내원」처럼 짚고 넘어갈 것 (10-16 다이어트 비대면 → 10-19 공통으로) */
.tele-exc{margin-top:36px;padding:clamp(24px,calc(24px + (100vw - 1000px) * 12 / 920),36px) clamp(24px,calc(24px + (100vw - 1000px) * 16 / 920),40px);border-radius:16px;background:var(--bg-2);text-align:left}
.sec--gray .tele-exc{background:#fff}
.tele-exc h3{font-size:19px;line-height:1.45;font-weight:600;letter-spacing:-.04em}
.tele-exc ul{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}
/* 10-20 : 아이콘만 왼쪽에 고정하고 글 · 링크는 한 문단으로 이어지게 — flex 로 나란히 두면 휴대폰에서 링크가 글 칸을 좁혀 한두 단어씩 줄바꿈됐음 */
.tele-exc li{position:relative;padding-left:28px;font-size:16px;line-height:1.6;color:var(--ink-2)}
.tele-exc li::before{content:"!";position:absolute;left:0;top:.14em;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#F3EADA;color:#8A6A28;font-size:12px;font-weight:700;line-height:1}
.tele-exc a{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media (max-width:690px){.tele-exc{padding:20px 22px}.tele-exc h3{font-size:17px}.tele-exc li{font-size:15px}}

/* ---------- 13. FAQ · 감수 · 관련 링크 · CTA 밴드 ---------- */
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:grid;grid-template-columns:44px minmax(0,1fr) 30px;gap:12px;align-items:center;padding:24px 4px;cursor:pointer;list-style:none;font-size:18.5px;line-height:1.5;font-weight:500;letter-spacing:-.04em}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit}   /* 질문 = h3 (검색 구조 · 10-01) */
.faq summary::before{content:"Q";font-family:var(--serif);font-size:24px;line-height:1;color:var(--gold)}
.faq summary::after{content:"";justify-self:end;width:12px;height:12px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px);transition:.3s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .ans{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:0 4px 28px}
.faq .ans::before{content:"A";font-family:var(--serif);font-size:24px;line-height:1.2;color:var(--muted)}
.faq .ans p{font-size:16px;line-height:1.95;font-weight:300;color:var(--ink-2)}
.faq .ans b{font-weight:600;color:var(--ink)}
.rb{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 30px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}   /* 살짝 비치는 흰 박스 (10-01) */
.rb .face{width:88px;height:88px;border-radius:50%;overflow:hidden;background:var(--bg-2)}
.rb .face img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.rb .k{font-size:13px;font-weight:600;color:var(--gold)}
.rb h3{margin-top:4px;font-size:18px;font-weight:600;letter-spacing:-.03em}
.rb p{margin-top:4px;font-size:14px;line-height:1.7;font-weight:300;color:var(--muted)}
.rb .cred{display:grid;grid-template-columns:repeat(2,max-content);gap:3px 30px;margin-top:10px}
.rb .cred li{position:relative;padding-left:11px;font-size:14px;line-height:1.75;font-weight:300;color:var(--muted)}
.rb .cred li::before{content:"";position:absolute;left:0;top:.75em;width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.6}
.rb time{font-size:13px;line-height:1.7;text-align:right;color:var(--muted)}
.rel{margin-top:28px}
.rel a{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:124px;padding:24px 26px 24px 30px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2);transition:.35s var(--ease)}
.sec--gray .rel a{background:#fff}
.rel a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.rel .txt{display:flex;flex-direction:column;min-width:0}
.rel small{font-size:13px;font-weight:600;color:var(--gold)}
.rel strong{display:block;margin-top:10px;font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.rel span{margin-top:8px;font-size:16px;color:var(--muted)}
.rel a:hover span{color:#B4BDBA}
.rel .go{flex:0 0 46px;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:17px;font-style:normal;transition:.3s var(--ease)}
.rel a:hover .go{background:var(--gold);border-color:var(--gold);color:#fff}
.cta-band{margin-top:clamp(50px,calc(50px + (100vw - 1000px) * 30 / 920),80px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:clamp(40px,calc(40px + (100vw - 1000px) * 32 / 920),72px);border-radius:20px;background:var(--green);color:#fff}
.cta-band h2{font-size:40px;line-height:1.35;font-weight:300;letter-spacing:-.05em}
.cta-band h2 b{font-weight:600}
.cta-band p{margin-top:14px;font-size:15.5px;line-height:1.85;font-weight:300;color:#B4BDBA}
.cta-band .acts{--acts-gap:10px;justify-content:flex-end}
.hours-mini{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:18px;font-size:14px;line-height:1.7;color:#D6DBD9}
.hours-mini b{font-weight:600;color:#fff}

/* ---------- 14. 비대면 진료 신청서 (모달) ---------- */
/* 상담 · 신청 관리 플러그인 숨은 칸(스팸 방지) — 사람에게는 안 보이게 (10-19) */
.sim-pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.md{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(20,20,18,.55)}
.md.on{display:flex}
.md-box{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:18px;background:#fff}
.md-hd{position:sticky;top:0;z-index:2;padding:26px 30px 18px;border-bottom:1px solid var(--line);background:#fff}
.md-hd h2{font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.045em}
.md-hd p{margin-top:6px;font-size:14px;line-height:1.6;font-weight:300;color:var(--muted)}
.md-hd p b{font-weight:600;color:var(--ink)}
.md-x{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;font-size:24px;line-height:1;color:var(--ink-2)}
.md-x:hover{background:var(--bg-2)}
.seg{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.seg button{height:40px;padding:0 16px;border:1px solid #CFCBC3;border-radius:30px;font-size:14px;color:var(--ink-2)}
.seg button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.md-bd{padding:24px 30px 10px}
.fs{margin:0 0 22px;padding:0;border:0}
.fs legend{margin-bottom:12px;font-size:13.5px;font-weight:600;color:var(--gold)}
.fg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.fi{display:flex;flex-direction:column;gap:6px}
.fi--full{grid-column:1/-1}
.fi label,.fi .lb{font-size:13.5px;font-weight:500}
.fi em{margin-left:3px;font-style:normal;color:#A5483C}
.fi input,.fi select,.fi textarea{height:46px;padding:0 14px;border:1px solid #CFCBC3;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px}
.fi textarea{height:96px;padding:12px 14px;resize:vertical}
.fi input:focus,.fi select:focus,.fi textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}
/* 10-16 : 고르는 칸 화살표 — 브라우저 기본 화살표가 테두리에 바짝 붙어 보여서 직접 그림 */
.fi select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.6 6 6.4 11 1.6' fill='none' stroke='%23585F5A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:12px 8px}
.fi select::-ms-expand{display:none}
.fi .hint{font-size:12.5px;font-weight:300;color:var(--muted)}
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opts label{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:1px solid #CFCBC3;border-radius:8px;font-size:14px;font-weight:400;cursor:pointer}
.opts input{height:auto;accent-color:var(--ink)}
.agree{margin-top:6px;padding:16px 18px;border-radius:10px;background:var(--bg-2);font-size:13.5px;line-height:1.7}
.agree label{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}
.agree input{margin-top:4px;accent-color:var(--ink)}
.agree small{display:block;font-weight:300;color:var(--muted)}
.md-ft{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:16px 30px 24px;border-top:1px solid var(--line);background:#fff}
.md-ft p{max-width:420px;font-size:13px;line-height:1.7;color:var(--muted)}
.md-ft .acts,.md-done .acts{--acts-gap:8px}
.md-ft .btn,.md-done .btn{height:48px;padding:0 22px;font-size:15px}
.md-done{display:none;padding:50px 30px 40px;text-align:center}
.md-done.on{display:block}
.md-done h3{font-size:24px;font-weight:600;letter-spacing:-.04em}
.md-done p{margin-top:12px;font-size:15px;line-height:1.8;font-weight:300;color:var(--ink-2)}
.md-done .acts{justify-content:center;margin-top:26px}
[data-for]{display:none}
[data-for].on{display:block}
.fi[data-for].on{display:flex}

/* ---------- 버튼 보강 · 섹션 여백 변형 ---------- */
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:var(--accent);color:#fff}
@media (min-width:1000px){
  .sec--tight{--sec-pt:96px;--sec-pb:96px}
  .sec--top0{--sec-pt:0px}
}

/* ---------- 15. 캡처 모드 (?capture=1 · PPT 제작용 캡처) ---------- */
html.capture body{position:relative}
html.capture .gnb{position:absolute}
html.capture .quick{display:none}
html.capture .lnb{position:relative;top:auto}
html.capture .split__sticky{position:static}

/* ---------- 16. 반응형 : max-width 999 · 690 · 480 · 370 ---------- */
@media (max-width:999px){
  .sv{padding-top:40px}
  .sv-grid{grid-template-columns:minmax(0,1fr);gap:var(--head-gap);margin-top:28px;text-align:center}
  .bc{justify-content:center}
  .sv-title{margin-top:20px;font-size:52px}
  .sv .sec-lead{margin-inline:auto}
  .sv .acts{justify-content:center}
  .lnb{margin-top:var(--head-gap)}
  .lnb-in{min-height:60px}
  .lnb-sib{margin-inline:auto}   /* 가운데 · 넘치면 왼쪽부터 가로 스크롤 */
  .lnb .btn{display:none}
  .qa{grid-template-columns:minmax(0,1fr);gap:var(--head-gap)}
  .qa-main{text-align:center}
  .qa-answer{margin-top:22px;font-size:18px}
  .split,.split--rev,.split--half,.tele-grid{grid-template-columns:minmax(0,1fr);gap:var(--head-gap)}
  .split__sticky{position:static}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proc li:not(:nth-child(5n)){border-right:0}
  .proc li:nth-child(odd){border-right:1px solid var(--line)}
  .pstep{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gens{grid-template-columns:minmax(0,1fr);gap:44px}
  .gens::before{display:none}
  .gen .face{width:160px}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vow-row{grid-template-columns:56px minmax(0,1fr);padding:26px 0}
  .vow-row p{grid-column:2}
  .cv{grid-template-columns:minmax(0,1fr)}
  .letter .first{font-size:24px}
  .quote{text-align:center}
  .quote p{font-size:22px}
  .bubbles{max-width:560px;margin-inline:auto}
  .tele-grid > div:first-child{text-align:center}
  .form-peek{text-align:left}
  .rb{grid-template-columns:64px minmax(0,1fr)}
  .rb .face{width:64px;height:64px}
  .rb time{grid-column:1/-1;text-align:left}
  .cta-band{grid-template-columns:minmax(0,1fr);gap:28px;text-align:center}
  .cta-band h2{font-size:32px}
  .cta-band .acts,.hours-mini{justify-content:center}
  .sec-foot--center,.notice,.split .notice,.qa .notice{text-align:center}
}
@media (max-width:690px){
  /* 안내 배너 : 한 줄씩 쌓기 (10-08) */
  .note-split{grid-template-columns:1fr;gap:14px}
  .note-split .note-box{min-height:0;padding:22px 20px 22px 24px;gap:14px}
  .note-box--link .go{flex-basis:40px;width:40px;height:40px;font-size:15px}

  /* 시안이 나간 페이지(보약 클리닉 · 한신슬림환) 는 PC 왼쪽 그대로, 한 줄로 떨어지는 모바일에서만 가운데 */
  #types .card,
  #levels .card{text-align:center}
  #types .tags,
  #levels .tags{justify-content:center}
  #types .card ul,
  #types .card ol{text-align:left}

  .rb .cred{grid-template-columns:minmax(0,1fr)}
  .sv-title{font-size:36px}
  .sv-page{margin-top:18px}
  .sv .acts{margin-top:26px}
  .qa-answer{margin-top:16px;font-size:16.5px}
  .qa-main p:not(.qa-answer){font-size:15.5px}
  .qa-media{border-radius:16px}
  .info-dl{grid-template-columns:88px minmax(0,1fr)}
  .info-dl dt,.info-dl dd{padding:11px 0;font-size:14px}
  .grid-2,.grid-3,.grid-4,.proc,.pstep,.certs{grid-template-columns:minmax(0,1fr)}
  .proc li{padding:20px 0;border-right:0!important}
  .pt-row{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:24px 0}
  .pt-row .n{font-size:24px}
  .pt-row h3{font-size:19px}
  .pt-row p{font-size:15px}
  .vow-row{grid-template-columns:40px minmax(0,1fr);gap:8px 14px}
  .vow-row .hj{font-size:24px}
  .vow-row h3{font-size:18px}
  .vow-row p{font-size:15px}
  .letter p{font-size:16px}
  .letter .first{font-size:21px}
  .quote p{font-size:18px}
  .chk-list li{padding:14px 16px;font-size:15px}
  .chk-list--toggle label{padding:14px 16px}
  .bubble{font-size:16px;padding:14px 18px}
  .tflow li{grid-template-columns:minmax(0,1fr);gap:6px}
  .case .big{font-size:44px}
  .faq summary{grid-template-columns:30px minmax(0,1fr) 20px;font-size:16px;padding:18px 0}
  .faq .ans{grid-template-columns:30px minmax(0,1fr)}
  .faq .ans p{font-size:15px}
  /* 모바일 본문 줄간격 : PC(1.9~2.05)보다 촘촘하게 (10-01 · 메인 모바일 조정과 같은 방향) */
  .letter p{line-height:1.8}
  .letter p+p{margin-top:1em}
  .letter .first{line-height:1.5}
  .vow-row p,.faq .ans p{line-height:1.75}
  .faq .ans{padding-bottom:22px}
  /* 모바일 정리 (10-01 인사말 피드백) — 가운데 정렬 위주 */
  .lnb{position:relative;top:auto}                                      /* 하위 메뉴 : 가로 슬라이드 대신 2열로 한눈에 (높이가 생겨 따라붙기는 끔) */
  .lnb-in{display:block;min-height:0;padding-top:14px;padding-bottom:14px;overflow:visible}
  .lnb-sib{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}   /* 한 박스 안 표 형태 — 위 버튼(검정)과 겹쳐 보이지 않게 (10-01) */
  .lnb-sib a{justify-content:center;height:auto;min-height:42px;padding:6px 8px;border-radius:0;background:transparent;font-size:13.5px;line-height:1.3;text-align:center;white-space:normal;color:var(--ink-2)}
  .lnb-sib a:nth-child(2n){border-left:1px solid var(--line)}
  .lnb-sib a:nth-child(n+3){border-top:1px solid var(--line)}
  .lnb-sib a.is-current{background:#F6F1E7;color:var(--accent);font-weight:600}
  .lnb-sib a:last-child:nth-child(odd){grid-column:1/-1}                /* 홀수 개면 마지막은 한 줄 전체 */
  .sv .acts{flex-direction:row;flex-wrap:nowrap}                       /* 상단 버튼 : 한 줄에 나란히 · 같은 폭 */
  .sv .acts .btn{width:auto;flex:1 1 0;max-width:180px;padding:0 10px}
  .vow-row{grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;text-align:center}   /* 진료 기준 : 한자 → 제목 → 설명 */
  .vow-row p{grid-column:auto}
  .rb{grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px;padding:28px 22px;text-align:center}   /* 감수 박스 : 사진 → 이름 → 이력 → 최종 수정 */
  .rb .face{width:76px;height:76px}
  .rb .cred{width:max-content;max-width:100%;margin-inline:auto;text-align:left}
  .rb time{grid-column:auto;text-align:center}
  /* 진료 페이지 블록도 가운데 정렬 · 본문 줄간격 촘촘하게 (10-01 보약 클리닉) */
  .qa-main p:not(.qa-answer){line-height:1.75}
  .pt-row{grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;text-align:center}   /* 번호 → 제목 → 설명 → 태그 */
  .pt-row p{line-height:1.75}
  .pt-row .tags,.card .tags,.proc .tags{justify-content:center}
  .card{padding:26px 22px;text-align:center}
  .card p{line-height:1.7}
  .proc li{text-align:center}
  .cta-band h2{font-size:26px}
  .rel a{min-height:0;gap:14px;padding:20px 20px 20px 22px}
  .rel .go{flex-basis:40px;width:40px;height:40px;font-size:15px}
  .fg{grid-template-columns:minmax(0,1fr)}
  .md-hd,.md-bd,.md-ft{padding-left:20px;padding-right:20px}
}
@media (max-width:480px){
  .sv-title{font-size:30px}
  .gen .face{width:140px}
  .gen h3{font-size:22px}
  .archive-grid{gap:8px}
  .cta-band h2{font-size:23px}
}
@media (max-width:370px){
  .sv-title{font-size:26px}
}

/* ---------- 12-1. 첫 두 섹션 공통 (09-29 보약 클리닉 피그마 확정본 기준) ----------
   · 한눈에 보기(#summary · 「○○은 무엇인가요?」) : 회색 배경
   · 바로 다음 「이런 고민이 있다면」 체크리스트 섹션(.sec-concern) : 흰 배경 · 체크리스트 19px · 아래 옅은 「HANSHIN」 */
#summary{background:var(--bg-2)}
.sec-concern{overflow:hidden;background:#fff}
.sec-concern::after{content:"HANSHIN";position:absolute;z-index:0;left:56px;bottom:-10px;font-size:165px;line-height:.75;font-weight:800;letter-spacing:0;color:#F7F7F7;pointer-events:none}
.sec-concern > .wrap{position:relative;z-index:1}
@media (min-width:1000px){ .sec-concern .chk-list li{font-size:19px;line-height:26.4px} }
@media (max-width:999px){ .sec-concern::after{font-size:110px;left:50%;translate:-50% 0} }
@media (max-width:690px){ .sec-concern::after{display:none} }
/* 섹션 배경이 회색이면 안쪽 안내 박스는 흰색 (회색 위 회색으로 묻히지 않게 · 09-29 교차 배경 재정렬) */
.sec--gray .note-box:not(.tele-box--green):not(:hover){background:#fff}   /* :hover 는 아래 반전 규칙이 맡도록 제외 (10-08) */

/* 시안에서만 줄바꿈하는 곳 : <br class="br-pc"> — 999 이하에서는 자연스럽게 흐름 (09-29 공통) */
@media (max-width:999px){ .br-pc{display:none} }

/* ---------- 12-2. FAQ 섹션 공통 (09-28 인사말 피그마 확정본 기준) ----------
   왼쪽 접힌 종이 배경 */
.faq-sec{background:#F7F6F2 url(../images/faq-bg.jpg) center top/cover no-repeat}
@media (min-width:1000px){ .faq-sec{--sec-pb:151px} }

/* ---------- 13. 상담 방법 (서브 공통 · 원본 common/partials/contact-location.html) ----------
   짙은 녹색 대리석 배경 + 반투명 유리 카드 (09-28 피그마 시안) · 전화 버튼만 금색으로 채움 */
.contact{isolation:isolate;overflow:hidden;background:#1D3328 url(../images/contact-bg.jpg) center/cover no-repeat;color:#fff;--eyebrow-color:var(--gold);--lead-color:#fff;--lead-weight:300;-webkit-font-smoothing:antialiased}
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--item-gap,24px)}
.contact-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 32px 30px;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .45s var(--ease),background-color .45s var(--ease),translate .45s var(--ease)}
.contact-card:hover{border-color:rgba(201,168,106,.85);background:rgba(255,255,255,.14);translate:0 -6px}
html.js-anim .contact-card.rv{transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),translate .45s var(--ease),border-color .45s var(--ease),background-color .45s var(--ease)}   /* 등장 효과(.rv)와 hover 가 서로 덮어쓰지 않게 */
.contact-card .ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--gold);color:#fff;transition:transform .6s var(--ease)}
.contact-card:hover .ic{transform:rotate(-12deg) scale(1.06)}
.contact-card .ic svg{width:20px;height:20px}
.contact-card h3{margin-top:20px;font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.04em}
.contact-card p{margin-top:8px;font-size:16px;line-height:1.75;font-weight:300;color:#fff}
.contact-card .go{display:inline-flex;align-items:center;height:44px;margin-top:24px;padding:0 19px;border-radius:6px;background:#fff;color:var(--green);font-size:18px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;transition:background-color .4s var(--ease),color .4s var(--ease)}
.contact-card .go--gold{background:var(--gold);color:#fff}
.contact-card:hover .go{background:var(--gold);color:#fff}
.contact-card:hover .go--gold{background:#fff;color:var(--green)}

/* ---------- 14. 오시는 길 (메인 .loc 와 같은 공통 섹션 · 서브 맨 아래) ---------- */
@media (min-width:1000px){
  .loc{--sec-pt:169px;--title-gap:30px;--title-size:68px;--title-lh:82px}   /* 메인 오시는 길 타이틀과 같은 값 · 위 여백은 서브 시안(09-28) 기준 */
}
.loc-grid{display:grid;grid-template-columns:minmax(0,750fr) minmax(0,650fr);align-items:start}
.loc-info{padding-top:15px;padding-right:24px}
.loc-addr{margin-top:28px;font-size:22px;line-height:26px;font-weight:500;letter-spacing:-.03em;color:#171614}
.loc-way{margin-top:16px;font-size:17px;line-height:22px;color:#5C5B57}
.hours{margin-top:38px}
.hours h3{font-size:16.5px;line-height:22px;font-weight:600}
.hours dl{margin-top:6px;display:grid;grid-template-columns:132px 1fr;row-gap:4px;font-size:15px;line-height:22.4px;color:#4A473E}
.hours dd{font-weight:700}
.hours dd span{font-weight:400}
.loc-tel{margin-top:34px;font-family:var(--serif);font-size:37px;line-height:40px;letter-spacing:.01em;color:#000}
.map-links{margin-top:36px;display:flex;flex-wrap:wrap;gap:22px}
.map-links a{padding-bottom:6px;border-bottom:1px solid #9E9E9E;font-size:16.5px;line-height:22px;letter-spacing:.02em;transition:.4s var(--ease)}
.map-links a:hover{color:var(--accent);border-color:var(--accent)}
/* 지도 바로가기 — 서비스 아이콘을 붙인 알약형 (10-16) · 예전 글자 링크(.map-links a) 도 그대로 둠 */
.map-links a.map-link{display:inline-flex;align-items:center;gap:9px;padding:9px 18px 9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:15.5px;line-height:1;letter-spacing:-.02em}
.map-links a.map-link:hover{border-color:var(--ink);background:var(--bg-2);color:var(--ink)}
.map-link .map-ic{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:7px}
.map-link .map-ic svg{width:16px;height:16px}
.map-link--naver .map-ic{background:#03C75A;color:#fff}
.map-link--kakao .map-ic{background:#FEE500;color:#2B1F0F}
.map-link--google .map-ic{background:#F3F2EF;color:#D8453B}
.map-link .map-ext{margin-left:2px;font-size:12.5px;color:var(--muted)}
.loc-map img{width:100%;aspect-ratio:650/637;object-fit:cover}
@media (max-width:999px){
  .loc-grid{grid-template-columns:minmax(0,1fr);gap:var(--head-gap)}
  .loc-info{padding:0;text-align:center}
  .hours dl{width:max-content;max-width:100%;margin-inline:auto;text-align:left}
  .map-links{justify-content:center}
}
@media (max-width:690px){
  .contact-cards{grid-template-columns:minmax(0,1fr);gap:12px}
  .contact-card{padding:22px 18px 20px;border-radius:14px}              /* 버튼 · 여백 · 글자 한 단계 작게 (10-01) */
  .contact-card .ic{width:40px;height:40px}
  .contact-card .ic svg{width:17px;height:17px}
  .contact-card h3{margin-top:12px;font-size:19px}
  .contact-card p{margin-top:4px;font-size:14px;line-height:1.6}
  .contact-card .go{height:34px;margin-top:14px;padding:0 14px;border-radius:5px;font-size:14px}
  .loc-addr{margin-top:16px;font-size:18px}
  .loc-way{margin-top:8px;font-size:14.5px}
  .hours{margin-top:20px}
  .hours dl{grid-template-columns:118px auto;font-size:14px}   /* 「토요일·일요일·공휴일」 한 줄 */
  .loc-tel{margin-top:18px;font-size:28px}
  .map-links{margin-top:18px;gap:16px}
  .map-links a{font-size:15px}
}
@media (max-width:480px){
  .loc-addr{font-size:16px}
  .loc-tel{font-size:24px}
}

/* ---------- 17. 가격 카드 · 비대면 안내 박스 · FAQ 아래 감수 박스 (진료 페이지 공통 : 한신슬림환 · 보약 클리닉 …) ---------- */
.price-card{padding:36px 30px 28px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:center}   /* 가운데 정렬 (09-18) */
.price-card .n{font-family:var(--lat);font-size:12.5px;letter-spacing:.2em;color:var(--gold)}
.price-card h3{margin-top:12px;font-size:30px;line-height:1.3;font-weight:600;letter-spacing:-.045em}   /* 상품 · 프로그램명 강조 */
.price-card > p{margin-top:8px;font-size:15px;line-height:1.6;color:var(--muted)}
.price-card dl{margin-top:20px;border-top:1px solid var(--ink)}
.price-card dt,.price-card dd{padding:14px 0;border-bottom:1px solid var(--line)}
.price-card dl{display:grid;grid-template-columns:1fr auto}
.price-card dt{font-size:17px;font-weight:600}
.price-card dt small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--muted)}
.price-card dd{text-align:right;font-size:19px;font-weight:600;white-space:nowrap}
.price-card dd s{display:block;font-size:12.5px;font-weight:400;color:var(--muted)}
.price-foot{justify-content:center}   /* 가격표 아래 비급여 고지 버튼 */
.price-card ul{margin-top:20px;border-top:1px solid var(--ink)}   /* 금액 없는 구성 목록형 (09-18 : 비용은 비급여 페이지에서만) */
.price-card li{padding:14px 0;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.55;font-weight:600;letter-spacing:-.03em}
.price-card li small{display:block;margin-top:3px;font-size:13.5px;font-weight:400;letter-spacing:-.02em;color:var(--muted)}
.notice a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.price-card .price-more{margin-top:14px;font-size:13.5px;line-height:1.6;font-weight:500;color:#8E7340}
.tele-box{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.tele-box .acts{flex:none;--acts-gap:10px}
.tele-box:has(.tele-box__title){padding:clamp(28px,calc(28px + (100vw - 1000px) * 12 / 920),40px) clamp(28px,calc(28px + (100vw - 1000px) * 20 / 920),48px)}   /* 타이틀형 비대면 박스 (09-18) */
.tele-box__title{font-size:26px;line-height:1.4;font-weight:600;letter-spacing:-.045em;color:var(--ink)}
.tele-box__txt p{margin-top:10px;font-size:16px;line-height:1.8;color:var(--ink-2)}
.tele-box--green{margin-top:56px;background:var(--green)}   /* 초록 띠 : 위 회색 박스와 구분 · 비대면 강조 (09-18) */
.tele-box--green .tele-box__title{color:#fff}
.tele-box--green .tele-box__txt p{color:#C9D4CF}
.faq-sec .rb{margin-top:72px}
@media (max-width:999px){
  .price-cards{grid-template-columns:minmax(0,1fr)}
  .tele-box{flex-direction:column;text-align:center}
  .tele-box .acts{justify-content:center}
  .tele-box__title{font-size:22px}
  .faq-sec .rb{margin-top:var(--foot-gap)}
}
@media (max-width:690px){
  .price-card{padding:26px 22px 20px}
  .price-card h3{font-size:24px}
  .tele-box__title{font-size:19px}
  .tele-box__txt p{font-size:15px}
}

/* ---------- 18. 캐러셀 [data-carousel] : PC 4장 · 999 이하 2.4장 · 690 이하 1.6장 · 480 이하 1.25장 (다음 카드가 살짝 보임) ---------- */
.car{position:relative;--car-n:4;--car-gap:20px}
.car-track{scroll-behavior:smooth;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--car-gap) * (var(--car-n) - 1)) / var(--car-n));gap:var(--car-gap);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.car-track > *{scroll-snap-align:start}
.car-btn{position:absolute;top:var(--car-btn-top,50%);z-index:2;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.14);color:var(--ink);transform:translateY(-50%);transition:opacity .3s var(--ease),background .3s var(--ease)}
.car-btn:hover{background:var(--ink);color:#fff}
.car-btn svg{width:18px;height:18px}
.car-prev{left:-24px}
.car-next{right:-24px}
.car-btn:disabled{opacity:0;pointer-events:none}
@media (max-width:999px){
  .car{--car-n:2.4;--car-gap:14px}
  .car-prev{left:-10px}
  .car-next{right:-10px}
}
@media (max-width:690px){
  .car{--car-n:1.6;--car-gap:12px}
  .car-btn{width:40px;height:40px}
}
@media (max-width:480px){
  .car{--car-n:1.25}
}

/* 캐러셀 점 표시 [data-dots] (09-23) */
.car-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}
.car-dots button{width:26px;height:3px;border-radius:2px;background:#DCD7CC;transition:background .3s var(--ease),width .3s var(--ease)}
.car-dots button[aria-current="true"]{width:40px;background:var(--ink)}

/* 진료과목 「한신의 치료」 섹션 배경 — 한신슬림환 #diff 와 동일 (10-06 요청) */
.sec--fig{background:#F8F2E7 url(../images/bg-diff-dots-fig.jpg) center bottom/cover no-repeat}

/* 「치료 과정 · 진행 과정」 섹션 배경 — 한신슬림환과 같은 그라데이션으로 통일 (10-06)
   10-19 : 시작색이 #FFFEFA(거의 흰색)라 앞의 흰 섹션과 경계가 사라짐 → 미색(#FBF8F2)에서 시작하고,
           그라데이션 폭이 줄지 않도록 아래를 한 단계 진하게(#EFE5D3) — 「제안 1 · 폭 넓힘」 확정
           섹션이 1,600px 넘게 길어 % 기준이면 첫 화면에서 변화가 안 보임 → 640px 까지 빨리 변하고 나머지는 천천히
           (640px #F6F0E5 · 끝 #F2EADB — 한 단계 연하게 조정)
           한지 배경(.sec--fig) 바로 뒤에서는 반대로 미색끼리 붙으므로 흰색에서 시작 */
.sec.process,
.sec.apply{background:linear-gradient(180deg,#FBF8F2 0,#F6F0E5 640px,#F2EADB 100%)}
.sec--fig + .sec.process,
.sec--fig + .sec.apply{background:linear-gradient(180deg,#FFFFFF 0,#F6F0E5 640px,#F2EADB 100%)}

/* 통증 「원인 · 대표 질환」 섹션 배경 — 웜 베이지로 통일 (10-06, 목 통증 기준) */
.sec.cause{background:#F3EFEA}
.sec--beige{background:#F9F6F2}                 /* 10-07 : 원인 섹션보다 한 단계 연한 베이지 */

/* 10-19 : 회색 · 웜 베이지 섹션 바로 뒤에 한지(.sec--fig) · 연베이지(.sec--beige) 가 오면 연한 톤끼리 붙어 경계가 사라짐
           → 이때만 위쪽을 흰색에서 시작해 앞 섹션과 경계를 살림 (통증 원인 → 치료, 한눈에 보기 → 한지 섹션 등) */
.sec--gray + .sec--fig,
.sec.cause + .sec--fig,
#summary + .sec--fig{background:linear-gradient(180deg,#FFFFFF 0,rgba(255,255,255,0) 320px),#F8F2E7 url(../images/bg-diff-dots-fig.jpg) center bottom/cover no-repeat}
.sec--gray + .sec--beige,
.sec.cause + .sec--beige,
#summary + .sec--beige{background:linear-gradient(180deg,#FFFFFF 0,#F9F6F2 320px)}

/* 한눈에 보기 사진 — 회색 배경과 사진 배경이 비슷해도 경계가 살도록 그림자 (10-06) */
#summary .qa-media{border-radius:18px;overflow:hidden;box-shadow:0 20px 48px rgba(17,17,16,.12)}

/* 집에서 하는 관리 — 카드 위 이미지 영역 (10-06, 목 통증 기준)
   10-14 : 사진이 없는 #care 카드(첩약 복용 · 수령 안내 4장)까지 위 여백이 0 이 되어 번호가 윗변에 붙던 문제 —
           사진(.care-fig)이 실제로 들어 있는 카드에만 적용 */
.care .card{overflow:hidden}
/* 10-15 : 한신의 한약 「복용 안내」에서도 같은 구조를 쓰므로 .care 안쪽으로 묶지 않음 */
.card:has(.care-fig){padding-top:0;overflow:hidden}
/* 사진을 카드 양옆 끝까지 — 엘리멘터 이미지 위젯은 width:100% 가 걸려 음수 여백만으로는 안 늘어남 (10-08) */
.care-fig{position:relative;margin:0 -32px 26px;width:calc(100% + 64px);max-width:none;display:grid;place-items:center}
.care-fig img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
@media (max-width:999px){ .care-fig{margin-inline:-32px;width:calc(100% + 64px)} }   /* 999 까지는 카드 여백이 32 그대로 */
@media (max-width:690px){ .care-fig{margin-inline:-22px;width:calc(100% + 44px)} }

/* 「치료 방법」 섹션은 흰 배경으로 통일 (10-06) */
.sec.methods{background:#fff}

/* 엘리멘터로 변환한 페이지 보정 (10-06)
   · 엘리멘터 컨테이너 CSS 가 우리 섹션 배경을 덮음 → 우선순위를 올림
   · 네 번째 이후 컨테이너는 「배경 지연 로딩」 규칙이 background-image 를 !important 로 지움
     (.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded)) → 배경 그림만 !important 로 되살림
   · 편집기에서 직접 잡은 배경까지 덮지 않도록 디자인 기준 섹션만 지정 */
.elementor.elementor.elementor.elementor .sec.cause{background:#F3EFEA}
.elementor.elementor.elementor.elementor .sec--beige{background:#F9F6F2}
.elementor.elementor.elementor.elementor .sec.methods{background:#fff}
.elementor.elementor.elementor.elementor .sec.counsel{background-color:#F9F6F2;background-image:linear-gradient(180deg,#FFFFFF 0%,#F9F6F2 28%) !important}
.elementor.elementor.elementor.elementor .sec.process,
.elementor.elementor.elementor.elementor .sec.apply{background-color:#F6F0E5;background-image:linear-gradient(180deg,#FBF8F2 0,#F6F0E5 640px,#F2EADB 100%) !important}
.elementor.elementor.elementor.elementor .sec--fig + .sec.process,
.elementor.elementor.elementor.elementor .sec--fig + .sec.apply{background-image:linear-gradient(180deg,#FFFFFF 0,#F6F0E5 640px,#F2EADB 100%) !important}
.elementor.elementor.elementor.elementor .sec--fig{background-color:#F8F2E7;background-image:url(../images/bg-diff-dots-fig.jpg) !important;background-position:center bottom;background-size:cover;background-repeat:no-repeat}
.elementor.elementor.elementor.elementor .sec--gray + .sec--fig,
.elementor.elementor.elementor.elementor .sec.cause + .sec--fig,
.elementor.elementor.elementor.elementor #summary + .sec--fig{background-image:linear-gradient(180deg,#FFFFFF 0,rgba(255,255,255,0) 320px),url(../images/bg-diff-dots-fig.jpg) !important;background-position:center top,center bottom;background-size:100% 100%,cover;background-repeat:no-repeat}
.elementor.elementor.elementor.elementor .sec--gray + .sec--beige,
.elementor.elementor.elementor.elementor .sec.cause + .sec--beige,
.elementor.elementor.elementor.elementor #summary + .sec--beige{background-image:linear-gradient(180deg,#FFFFFF 0,#F9F6F2 320px) !important}

/* 10-08 : 타이틀 밑 설명글은 모두 16px 로 통일 (카드 · 단계 · 배너) */

/* ---------- 20. 진료과목 카드 · 단계 글자 가운데 정렬 (10-07 요청 · 진료 전 페이지 공통) ----------
   번호 · 제목 · 본문 · 태그로 된 같은 모양 카드와 진행 단계
   제외 : 시안이 나간 보약 클리닉(#types) · 한신슬림환(#levels) 은 아래 모바일 규칙만,
          가격표(#price) · 프로그램 구성(#program) · 보험 안내(#insurance) · 공통 상담(#contact) 은 그대로 */
#cause .card,
#methods .card,
#care .card,
#stages .card,
#why .card,
#stage .card,
#again .card,
#prepare .card,
#scope .card,
#ingredient .card,
#target .card,
#cover .card,
#process .proc li,
#process .pstep li,
#make .pstep li,
#make .proc li,
#apply .proc li{text-align:center}   /* 10-13 : 공진단 · 경옥고 제조 과정도 같은 단계 목록이라 함께 가운데로 · 10-20 : 비급여 보험 적용 구분(#cover) */
#cause .card .tags,
#methods .card .tags,
#care .card .tags,
#stages .card .tags,
#why .card .tags,
#stage .card .tags,
#again .card .tags,
#ingredient .card .tags,
#target .card .tags,
#cover .card .tags,
#prepare .card .tags,
#scope .card .tags{justify-content:center}        /* 카드 안 태그만 — 항목 목록(.pt-row)의 태그는 왼쪽 그대로 (10-08) */
#cause .card ul,
#cause .card ol,
#methods .card ul,
#methods .card ol,
#care .card ul,
#care .card ol,
#stages .card ul,
#stages .card ol,
#why .card ul,
#why .card ol,
#stage .card ul,
#stage .card ol,
#again .card ul,
#again .card ol,
#prepare .card ul,
#prepare .card ol,
#ingredient .card ul,
#ingredient .card ol{text-align:left}                 /* 카드 안 목록은 왼쪽 그대로 */

/* ---------- 21. 치료 방법 카드 : 번호 + 가는 금색 구분선 (10-08 A안 · 진료 전 페이지 공통) ----------
   HTML 은 건드리지 않고 CSS 만으로 — 새로 만드는 페이지에도 그대로 적용됨 */
#methods .sec-body{counter-reset:hs-method}
#methods .card{counter-increment:hs-method}
#methods .card__body::before{content:counter(hs-method,decimal-leading-zero);display:block;font-family:var(--lat);font-size:12.5px;letter-spacing:.2em;font-weight:600;color:var(--gold)}
#methods .card__body h3{margin-top:10px}
#methods .card__body h3::after{content:"";display:block;width:28px;height:1px;margin:16px auto 0;background:var(--gold);opacity:.5}
#methods .card__body p{margin-top:14px}

/* 단계 목록 아이콘 (10-14) — 제목 위 40px 금색 선. 사진이 들어가는 .pstep 에는 넣지 않음 */
.proc .ic{display:block;width:40px;margin:0 auto 14px}
.proc .ic svg{display:block}
.proc .ic path,.proc .ic circle,.proc .ic rect{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
/* 딥그린 섹션 안에서는 금색이 묻혀 레몬으로 (10-08 포인트 색 규칙) — 교통사고 자동차보험 절차 */
.sec--dark .proc .ic path,.sec--dark .proc .ic circle,.sec--dark .proc .ic rect{stroke:var(--yellow)}
@media (max-width:999px){
  .proc .ic{width:34px;margin-bottom:12px}
  .proc .ic svg{width:34px;height:34px}
}

/* ---------- 21. 커뮤니티 게시판 · 글 상세 (10-19) ----------
   목록 = [hs_board] (inc/board.php) : 공지사항 · 건강칼럼 · 언론 · 활동 = 가로형 3:2 · 3열 / 이벤트 = 1:1 · 4열
   대표 이미지가 없으면 한신한의원 로고 자리표시(전 게시판 같음) · 글 상세 = 테마 single.php */
.board-sec{--sec-pt:72px}
.board-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:44px}
.board-tabs a{display:inline-flex;align-items:center;height:42px;padding:0 20px;border:1px solid #CFCBC3;border-radius:30px;font-size:15px;color:var(--ink-2);transition:border-color .25s,background .25s,color .25s}
.board-tabs a:hover{border-color:var(--ink);color:var(--ink)}
.board-tabs a.on{border-color:var(--ink);background:var(--ink);color:#fff}
.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}
.board--square .board-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.board-card{display:flex;flex-direction:column;height:100%}
.board-thumb{position:relative;display:block;overflow:hidden;border-radius:16px;background:#F4EFE6;aspect-ratio:3/2}
.board--square .board-thumb{aspect-ratio:1/1}
.board-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.board-card:hover .board-thumb img{transform:scale(1.04)}
.board-noimg{position:absolute;inset:0;display:grid;place-items:center}
.board-noimg::before{content:"";width:min(116px,46%);aspect-ratio:500/389;background:url(../images/logo.png) center/contain no-repeat;opacity:.5}   /* 10-20 : 전 게시판 한신한의원 로고로 통일 */
.board-note{margin-top:40px;text-align:center}
.post-notice{margin-top:40px;text-align:left}
.board-body{display:flex;flex-direction:column;flex:1;gap:8px;padding-top:20px}
.board-cat{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--gold)}
.board-pin{margin-left:6px;padding:2px 7px;border-radius:4px;background:var(--green);color:#fff;font-size:11px;font-style:normal;vertical-align:1px}
.board-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:19px;line-height:1.5;font-weight:600;letter-spacing:-.035em;color:var(--ink);word-break:keep-all;transition:color .25s}
.board-card:hover .board-title{color:var(--green)}
.board-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.7;font-weight:300;color:var(--ink-2)}
.board-date{margin-top:auto;padding-top:6px;font-family:var(--lat);font-size:13px;color:var(--muted)}
.board-empty{padding:80px 0;text-align:center;font-size:16px;color:var(--muted)}
.board-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:64px}
.board-pages a,.board-pages span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 6px;border-radius:20px;font-family:var(--lat);font-size:15px;color:var(--ink-2)}
.board-pages a:hover{background:var(--bg-2)}
.board-pages .on{background:var(--ink);color:#fff}

/* 글 상세 (single.php) */
.sv--post .post-head{max-width:900px;margin-top:30px}
.post-title{margin-top:22px;font-size:clamp(28px,calc(28px + (100vw - 1000px) * 14 / 920),42px);line-height:1.35;font-weight:600;letter-spacing:-.045em;word-break:keep-all}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin-top:20px;font-size:14.5px;color:var(--muted)}
.post-meta > *{display:inline-flex;align-items:center}
.post-meta > * + *::before{content:"";display:inline-block;width:1px;height:11px;margin:0 14px;background:var(--line)}
.post-meta .post-board{font-weight:600;color:var(--gold)}
.post-body{--sec-pt:72px;--sec-pb:40px}
.post-wrap{max-width:860px}
.post-figure{margin:0 0 48px;border-radius:18px;overflow:hidden;background:#F4EFE6}
.post-figure img{display:block;width:100%;height:auto}
.hs-post--event .post-figure{max-width:640px;margin-inline:auto}
.post-content{font-size:17px;line-height:1.95;color:var(--ink-2);word-break:keep-all}
.post-content > * + *{margin-top:1.1em}
.post-content h2{margin-top:2em;font-size:26px;line-height:1.45;font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.post-content h3{margin-top:1.8em;font-size:21px;line-height:1.5;font-weight:600;letter-spacing:-.035em;color:var(--ink)}
.post-content strong,.post-content b{font-weight:600;color:var(--ink)}
.post-content a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.post-content img{max-width:100%;height:auto;border-radius:12px}
.post-content ul,.post-content ol{padding-left:1.3em}
.post-content ul{list-style:disc}
.post-content ol{list-style:decimal}
.post-content li + li{margin-top:.4em}
.post-content blockquote{padding:18px 24px;border-left:3px solid var(--gold);background:var(--bg-2)}
.post-nav{--sec-pt:24px;--sec-pb:110px}
.post-adj{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.post-adj li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:20px 8px;font-size:15.5px}
.post-adj li + li{border-top:1px solid var(--line)}
.post-adj .k{font-weight:600;color:var(--ink)}
.post-adj a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.post-adj a:hover{color:var(--green)}
.post-adj .none{color:var(--muted)}
.post-list{justify-content:center;margin-top:44px}

@media (max-width:999px){
  .board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .board--square .board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:690px){
  .board-sec{--sec-pt:48px}
  .board-grid,.board--square .board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .board--wide .board-grid{grid-template-columns:minmax(0,1fr)}
  .board-title{font-size:17px}
  .post-content{font-size:16px}
  .post-adj li{grid-template-columns:70px minmax(0,1fr);font-size:14.5px}
}

/* 커뮤니티 > 자주 묻는 질문 모아 보기 — 플러그인 「서브 FAQ 관리」 1.1.0 [simple_faq_all] · [simple_faq_main] (10-20)
   마크업 · 동작은 플러그인(sfm-*) · 테마는 탭 = board-tabs · 목록 = faq · 페이지 번호 = board-pages 클래스를 더해 기존 모양을 그대로 씀 (inc/faq-all.php sfm_class)
   질문을 페이지별로 나누지 않고 한 목록 · 질문 위에 어느 페이지 질문인지(.sfm-from) · 답변 끝에 그 페이지 링크(.sfm-go) */
.sfm-all{max-width:1000px;margin-inline:auto}
.sfm-all [hidden]{display:none!important}
.sfm-tabs a em,.sfm-sub a em{margin-left:5px;font-family:var(--lat);font-style:normal;font-size:12.5px;color:var(--muted)}
.sfm-tabs a.on em{color:rgba(255,255,255,.65)}
.sfm-tabs a.is-zero{opacity:.42}
/* 중분류 탭 (전체 + 페이지별) — 대분류 탭보다 한 단계 가볍게 : 흰 바 안의 작은 탭 */
.sfm-sub{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:-16px 0 48px;padding:10px 12px;border-radius:16px;background:#fff;box-shadow:0 6px 22px rgba(31,38,34,.05)}
.sfm-sub a{display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:30px;font-size:14.5px;color:var(--ink-2);transition:background .25s,color .25s}
.sfm-sub a:hover{background:var(--bg-2);color:var(--ink)}
.sfm-sub a.on{background:#F3EADA;color:#6E5320;font-weight:600}
.sfm-sub a em{font-size:12px;font-weight:400}
.sfm-sub a.on em{color:#A08548}
/* 검색 — 탭 위 가운데 큰 검색창 */
.sfm-search{position:relative;max-width:640px;margin:0 auto 36px}
.sfm-search input{width:100%;height:60px;padding:0 112px 0 28px;border:1px solid #CFCBC3;border-radius:40px;background:#fff;font:inherit;font-size:16.5px;letter-spacing:-.02em;color:var(--ink);box-shadow:0 8px 26px rgba(31,38,34,.06);transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.sfm-search input::placeholder{color:#A9A69F}
.sfm-search input:focus{outline:none;border-color:var(--ink);box-shadow:0 8px 26px rgba(31,38,34,.1)}
.sfm-search input::-webkit-search-cancel-button{display:none}
.sfm-search-btn{position:absolute;top:7px;right:7px;width:46px;height:46px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;transition:background .25s}
.sfm-search-btn:hover{background:var(--gold)}
.sfm-search-btn svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sfm-search-clear{position:absolute;top:50%;right:60px;width:34px;height:34px;margin-top:-17px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.sfm-search-clear::before,.sfm-search-clear::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:var(--muted);transform:translate(-50%,-50%) rotate(45deg)}
.sfm-search-clear::after{transform:translate(-50%,-50%) rotate(-45deg)}
.sfm-search-clear:hover::before,.sfm-search-clear:hover::after{background:var(--ink)}
.sfm-result{margin:-12px 0 40px;text-align:center;font-size:15.5px;line-height:1.7;color:var(--ink-2)}
.sfm-result b{font-weight:600;color:var(--ink)}
.sfm-result em{font-family:var(--lat);font-style:normal;font-weight:600;color:var(--gold)}
.sfm-result-more{margin-top:4px;font-size:14.5px;color:var(--muted)}
.sfm-result-more a{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:3px}
/* 질문 목록 (.faq 모양) — 질문 위 작은 페이지 이름 · 답변 끝 페이지 링크 */
.faq .sfm-q,.faq .sfm-a{min-width:0}
.faq .sfm-a p + p{margin-top:.6em}
.sfm-from{display:block;margin-bottom:3px;font-size:13px;line-height:1.5;font-weight:500;letter-spacing:-.02em;color:var(--gold)}
.faq .sfm-q h3{font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit}
.faq .ans .sfm-go{margin-top:10px;font-size:14.5px;font-weight:400}
.sfm-go a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.sfm-go a:hover{color:var(--ink)}
.sfm-all mark,.sfm-main mark{padding:0 1px;border-radius:3px;background:#F6E7B8;color:inherit}
.sfm-all details.is-ans-hit .sfm-q h3::after{content:"답변에 있음";display:inline-block;margin-left:10px;padding:1px 9px;border-radius:20px;background:#F3EADA;color:#8A6A28;font-size:12px;line-height:1.7;font-weight:600;letter-spacing:0;vertical-align:2px}
.sfm-pager.board-pages{margin-top:56px}
.sfm-pager .gap{min-width:24px;color:var(--muted)}
.sfm-more{margin-top:32px;text-align:center}
.sfm-more a{font-size:15px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
@media (max-width:690px){
  .sfm-search input{height:52px;padding:0 96px 0 20px;font-size:15px}
  .sfm-search-btn{top:5px;right:5px;width:42px;height:42px}
  .sfm-search-clear{right:52px}
  .sfm-from{font-size:12px}
}

/* ---------- 22. 유틸 문서 — 개인정보처리방침 · 이용약관 (10-20) ----------
   위 4칸 띠(시행일 · 범위 · 책임자 · 문의) → 왼쪽 목차(따라 내려옴) · 오른쪽 조문.
   표는 3번 .tbl 을 그대로 쓰되 글이 길어 최소폭을 풀고 위로 맞춤. 4칸 띠는 dl 이라 통째로 HTML 위젯 — 조문 쪽에는 엘리멘터 변환기가 부모째 묶지 않게 형제 · n번째 선택자를 쓰지 않음 */
.legal-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.legal-info > div{padding:20px 22px 22px;border-left:1px solid var(--line)}
.legal-info > div:first-child{border-left:0}
.legal-info dt{font-size:13px;font-weight:600;color:var(--gold)}
.legal-info dd{margin-top:6px;font-size:16px;line-height:1.55;font-weight:600;letter-spacing:-.03em}
.legal-info dd small{display:block;margin-top:4px;font-size:13px;line-height:1.6;font-weight:300;letter-spacing:-.02em;color:var(--muted)}
.legal-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:80px;align-items:start;margin-top:72px}
.legal-toc{position:sticky;top:calc(var(--header-h-on) + 100px);padding-top:22px;border-top:1px solid var(--ink)}
.legal-toc__t{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--gold)}
.legal-toc ol{margin-top:10px;max-height:calc(100vh - var(--header-h-on) - 220px);overflow-y:auto}
.legal-toc a{display:block;padding:5px 0;font-size:14.5px;line-height:1.5;letter-spacing:-.02em;color:var(--muted);transition:color .3s var(--ease)}
.legal-toc a:hover{color:var(--ink)}
.legal-body{border-top:1px solid var(--ink)}
.legal-lead{padding:32px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.85;color:var(--ink-2);word-break:keep-all}
.legal-art{padding:36px 0 40px;border-bottom:1px solid var(--line)}
.legal-art h2{font-size:22px;line-height:1.45;font-weight:600;letter-spacing:-.04em}
.legal-art p{margin-top:12px;font-size:16px;line-height:1.85;color:var(--ink-2);word-break:keep-all}
.legal-art p.cl{padding-left:1.25em;text-indent:-1.25em}
.legal-art a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal-items{margin-top:12px}
.legal-items li{position:relative;margin-top:4px;padding-left:1.6em;font-size:16px;line-height:1.85;color:var(--ink-2);word-break:keep-all}
.legal-items .n{position:absolute;left:0;top:0;font-weight:500;color:var(--ink)}
.legal-art p.legal-note{font-size:14px;line-height:1.75;color:var(--muted)}
.legal-tbl{margin-top:18px}
.legal-tbl .tbl{min-width:0}
.legal-tbl .tbl th,.legal-tbl .tbl td{padding:14px 16px;font-size:15px;line-height:1.65;vertical-align:top;word-break:keep-all}
.legal-tbl .tbl thead th{font-size:13px}
.legal-tbl .tbl tbody th{min-width:130px;white-space:normal;color:var(--ink)}
.legal-tbl .tbl tbody th small{display:block;margin-top:2px;font-size:12.5px;font-weight:500;color:var(--gold)}
.legal-tbl--kv .tbl tbody th{width:200px}

@media (max-width:999px){
  .legal-info{grid-template-columns:repeat(2,minmax(0,1fr))}
  .legal-info > div:nth-child(3){border-left:0}
  .legal-info > div:nth-child(n+3){border-top:1px solid var(--line)}
  .legal-grid{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:48px}
  .legal-toc{position:static;padding:22px 24px;border:0;border-radius:14px;background:var(--bg-2)}
  .legal-toc ol{columns:2;column-gap:28px;max-height:none;overflow:visible}
  .legal-toc li{break-inside:avoid}
}
@media (max-width:690px){
  .legal-info{grid-template-columns:minmax(0,1fr)}
  .legal-info > div{padding:14px 4px;border-left:0}
  .legal-info > div:nth-child(n+2){border-top:1px solid var(--line)}
  .legal-info dd{font-size:15px}
  .legal-toc ol{columns:1}
  .legal-toc a{padding:4px 0;font-size:14px}
  .legal-lead{padding:24px 0;font-size:15.5px}
  .legal-art{padding:28px 0 32px}
  .legal-art h2{font-size:19px}
  .legal-art p,.legal-items li{font-size:15px;line-height:1.8}
  /* 3칸 표 : 한 줄씩 쌓기 — 구분(굵게) 위 · 칸마다 작은 머리글(data-label) 아래 */
  .legal-tbl .tbl,.legal-tbl .tbl tbody,.legal-tbl .tbl tr,.legal-tbl .tbl th,.legal-tbl .tbl td{display:block;width:auto}
  .legal-tbl .tbl thead{display:none}
  .legal-tbl .tbl tr{padding:16px 2px;border-bottom:1px solid var(--line)}
  .legal-tbl .tbl th,.legal-tbl .tbl td{padding:0;border:0;font-size:14.5px}
  .legal-tbl .tbl tbody th{min-width:0;font-size:15px}
  .legal-tbl .tbl tbody th small{display:inline-block;margin:0 0 0 6px}
  .legal-tbl .tbl td{margin-top:6px}
  .legal-tbl .tbl td::before{content:attr(data-label);display:block;font-size:12.5px;font-weight:500;color:var(--muted)}
  /* 2칸(항목 · 내용) 표는 표 그대로 */
  .legal-tbl--kv .tbl{display:table}
  .legal-tbl--kv .tbl tbody{display:table-row-group}
  .legal-tbl--kv .tbl tr{display:table-row;padding:0}
  .legal-tbl--kv .tbl th,.legal-tbl--kv .tbl td{display:table-cell;padding:12px 10px;border-bottom:1px solid var(--line)}
  .legal-tbl--kv .tbl tbody th{width:96px;padding-left:2px}
  .legal-tbl--kv .tbl td{margin:0}
  .legal-tbl--kv .tbl td::before{content:none}
}

/* ---------- 23. 회원 — 로그인 · 회원가입 · 회원정보 (10-20) ----------
   폼은 코스모스팜 회원관리 플러그인 출력(.cosmosfarm-members-form) — 플러그인 기본 모양(폭 50% · 파란 버튼)을 .member-box 안에서 덮어씀.
   시안에는 플러그인 CSS 가 없으므로 여기 규칙만으로도 같은 모양이 나오게 씀 */
.sv--member .sv-title{--sv-title-size:64px}
.member-box{max-width:520px;margin:0 auto;padding:48px 44px 44px;border:1px solid var(--line);border-radius:20px;background:#fff}
.member-box--register,.member-box--profile{max-width:640px}
.member-box .cosmosfarm-members-form{display:block;width:auto;margin:0}
.member-box .cosmosfarm-members-form form{margin:0;padding:0}
.member-box .cosmosfarm-members-form fieldset{margin:0;padding:0;min-width:0;border:0;overflow:visible}
.member-box .cosmosfarm-members-form legend{display:none}
.member-box .cosmosfarm-members-form label{float:none;display:block;margin:0;padding:0 0 8px;font-size:14px;line-height:1.5;font-weight:600;letter-spacing:-.02em;color:var(--ink-2)}
.member-box .cosmosfarm-members-form .req{margin-left:2px;color:var(--gold)}
.member-box .cosmosfarm-members-form .div_text,.member-box .cosmosfarm-members-form .div_checkbox{margin:0 0 20px;overflow:visible}
.member-box .cosmosfarm-members-form input[type=text],
.member-box .cosmosfarm-members-form input[type=email],
.member-box .cosmosfarm-members-form input[type=password],
.member-box .cosmosfarm-members-form input[type=url],
.member-box .cosmosfarm-members-form select,
.member-box .cosmosfarm-members-form textarea{display:block;width:100%;max-width:100%;height:52px;margin:0;padding:0 16px;border:1px solid #D9D7D2;border-radius:10px;background:#fff;box-shadow:none;font:inherit;font-size:15.5px;line-height:50px;color:var(--ink);box-sizing:border-box;transition:border-color .25s var(--ease)}
.member-box .cosmosfarm-members-form textarea{height:140px;padding:12px 16px;line-height:1.6}
.member-box .cosmosfarm-members-form input[type=text]:focus,
.member-box .cosmosfarm-members-form input[type=email]:focus,
.member-box .cosmosfarm-members-form input[type=password]:focus,
.member-box .cosmosfarm-members-form input[type=url]:focus,
.member-box .cosmosfarm-members-form select:focus,
.member-box .cosmosfarm-members-form textarea:focus{border-color:var(--ink);outline:0;background:#fff;box-shadow:none}
.member-box .cosmosfarm-members-form input::placeholder{color:#B5B2AB}
/* 버튼 — 사이트 기본(진한 바탕). 플러그인이 !important 로 파란색을 주어 같은 방식으로 덮음 */
.member-box .cosmosfarm-members-form input[type=submit],
.member-box .cosmosfarm-members-form button[type=submit]{display:block;width:100%;height:56px;margin:8px 0 0;padding:0 20px!important;border:0;border-radius:10px;background:var(--ink)!important;color:#fff;font:inherit;font-size:16px;font-weight:600;line-height:56px;letter-spacing:-.02em;cursor:pointer;transition:background-color .3s var(--ease)}
.member-box .cosmosfarm-members-form input[type=submit]:hover,
.member-box .cosmosfarm-members-form button[type=submit]:hover{background:var(--accent)!important}
.member-box .cosmosfarm-members-form .button_div{margin:0;overflow:visible}
/* 로그인 : 자동로그인 · 아래 링크 한 줄 */
.member-box .signin-form .button_div label{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;padding:0;font-size:14px;font-weight:400;letter-spacing:0;color:var(--ink-2);cursor:pointer}
.member-box .cosmosfarm-members-form input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--ink);vertical-align:middle;cursor:pointer}
.member-box .signin-form fieldset{text-align:center}
.member-box .signin-form fieldset label,.member-box .signin-form .div_text,.member-box .signin-form .button_div{text-align:left}
.member-box .signin-form .link-text{display:inline-block;margin:22px 0 0;text-align:center}
.member-box .signin-form .link-text a{padding:0 12px;font-size:14px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.member-box .signin-form .link-text.register a{border-left:1px solid var(--line)}
.member-box .signin-form .link-text a:hover{color:var(--ink)}
/* 회원가입 : 약관 상자 · 동의 체크 */
.member-box .cosmosfarm-members-form label.checkbox{margin-top:8px}
.member-box .cosmosfarm-members-form .agree{margin:0 0 20px;padding:0;border-radius:0;background:none;font-size:inherit}   /* 신청서 .agree(14번 회색 상자)와 이름이 같아 풀어 줌 */
.member-box .cosmosfarm-members-form .policy_content{height:150px;padding:16px 18px;overflow-y:auto;border-radius:10px;background:var(--bg-2);font-size:13.5px;line-height:1.75;color:var(--ink-2);cursor:default}
.member-box .cosmosfarm-members-form .policy_content ul,.member-box .cosmosfarm-members-form .policy_content p{margin:0 0 8px}
.member-box .cosmosfarm-members-form .policy_content li{position:relative;padding-left:12px;list-style:none}
.member-box .cosmosfarm-members-form .policy_content li::before{content:"";position:absolute;left:0;top:.75em;width:3px;height:3px;border-radius:50%;background:var(--muted)}
.member-box .cosmosfarm-members-form .policy_content a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.member-box .cosmosfarm-members-form .div_checkbox label{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:0;font-size:14.5px;font-weight:500;color:var(--ink);cursor:pointer}
.member-box .cosmosfarm-members-form .req-text{margin-top:12px;font-size:13px;color:var(--muted);text-align:right}
/* 회원정보 : 이름 · 아바타 · 메뉴 4칸 */
.member-box .profile-header{position:relative;margin:0 0 28px;text-align:center}
.member-box .profile-header input[type=file]{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.member-box .profile-header .avatar-img{margin-bottom:12px;text-align:center}
.member-box .profile-header .avatar-img label{display:inline-block;padding:0;cursor:pointer}
.member-box .profile-header .avatar-img img{display:inline-block;width:96px;height:96px;padding:0;border:1px solid var(--line);border-radius:50%;object-fit:cover;background:var(--bg-2)}
.member-box .profile-header .change-avatar-message{display:block;margin:6px 0 0;font-size:12.5px;font-weight:400;color:var(--muted)}
.member-box .profile-header .display-name{font-size:22px;font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.member-box .members-link{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;border:0;background:none;overflow:visible}
.member-box .members-link li{display:block;float:none;width:auto;margin:0;padding:0;list-style:none;background:none}
.member-box .members-link li a{display:flex;align-items:center;justify-content:center;height:56px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;transition:border-color .3s var(--ease)}
.member-box .members-link li a:hover{border-color:var(--ink);text-decoration:none}
.member-box .members-link .delete-account{grid-column:1/-1;text-align:center}
.member-box .members-link .delete-account a{display:inline-flex;height:auto;margin-top:10px;padding:0;border:0;font-size:13px;font-weight:400;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.member-box .members-link .delete-account a:hover{color:#A5483C}
/* 플러그인 · WP-Members 안내 문구 (가입 완료 · 오류) */
.member-box .cosmosfarm-members-form .message,.member-box .wpmem_msg,.member-box #wpmem_msg{margin:0 0 24px;padding:18px 20px;border:0;border-radius:10px;background:var(--bg-2);font-size:14.5px;line-height:1.7;color:var(--ink-2);text-align:center}
.member-box .cosmosfarm-members-form .message a{height:auto;padding:0;border:0;line-height:inherit;text-decoration:underline}

@media (max-width:690px){
  .sv--member .sv-title{--sv-title-size:40px}
  .member-box{padding:32px 22px 28px;border-radius:16px}
  .member-box .cosmosfarm-members-form input[type=text],
  .member-box .cosmosfarm-members-form input[type=email],
  .member-box .cosmosfarm-members-form input[type=password]{height:50px;line-height:48px}
  .member-box .members-link li a{height:52px;font-size:14.5px}
}

/* ---------- 24. 404 — 찾는 페이지가 없을 때 (10-20 · 테마 404.php) ----------
   큰 숫자 · 안내 · 버튼 2개 → 주요 메뉴 바로가기 카드 6개 → 전화 안내. 숫자는 라틴 서체 가는 굵기 + 금색 */
.nf{padding-top:calc(var(--sec-pt,120px) + 30px)}
.nf-head{max-width:760px;margin:0 auto;text-align:center}
.nf-code{margin-top:14px;font-family:var(--lat);font-size:clamp(110px,calc(110px + (100vw - 1000px) * 50 / 920),160px);line-height:1;font-weight:200;letter-spacing:-.04em;color:var(--gold)}
.nf-title{margin-top:22px;font-size:var(--title-size);line-height:var(--title-lh);font-weight:200;letter-spacing:-.05em;color:var(--ink)}
.nf-title b{font-weight:600}
.nf-head .sec-lead{margin-top:var(--lead-gap,20px)}
.nf-head .acts{justify-content:center;gap:10px;margin-top:36px}
.nf-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:80px auto 0;padding:0;list-style:none}
.nf-links a{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:26px 56px 26px 28px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.nf-links a:hover{border-color:var(--ink);background:#FCFBF8}
.nf-links .k{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--gold)}
.nf-links b{font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.nf-links .d{font-size:14.5px;line-height:1.6;color:var(--ink-2);word-break:keep-all}
.nf-links .go{position:absolute;right:24px;top:50%;margin-top:-16px;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font-size:14px;color:var(--ink);transition:.3s var(--ease)}
.nf-links a:hover .go{border-color:var(--ink);background:var(--ink);color:#fff}
.nf-tel{margin-top:40px;font-size:15px;color:var(--ink-2);text-align:center}
.nf-tel a{font-family:var(--lat);font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}

@media (max-width:999px){
  .nf-links{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:56px}
}
@media (max-width:690px){
  .nf{padding-top:calc(var(--sec-pt,50px) + 10px)}
  .nf-code{font-size:88px}
  .nf-links{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:40px}
  .nf-links a{padding:20px 52px 20px 20px;border-radius:14px}
  .nf-links b{font-size:17px}
  .nf-links .d{font-size:14px}
  .nf-links .go{right:16px}
  .nf-tel{font-size:14px}
}

/* ===== 엘리멘터 max-width · margin · flex 보정 (tools/sync_theme.py 자동 생성 · 직접 고치지 말 것) ===== */
.elementor.elementor.elementor.elementor .bc{flex-wrap:wrap}
.elementor.elementor.elementor.elementor .bc li+li::before{margin-right:10px}
.elementor.elementor.elementor.elementor .sv-grid{margin-top:48px;align-items:end}
.elementor.elementor.elementor.elementor .sv-title{margin-top:30px}
.elementor.elementor.elementor.elementor .sv-page{margin-top:28px}
.elementor.elementor.elementor.elementor .sv .sec-lead{max-width:640px}
.elementor.elementor.elementor.elementor .sv .acts{margin-top:40px}
.elementor.elementor.elementor.elementor .sv-media{margin:0}
.elementor.elementor.elementor.elementor .sv--type .sv-grid{margin-top:44px}
.elementor.elementor.elementor.elementor .sv--type .sv-copy{align-items:start}
.elementor.elementor.elementor.elementor .sv--type .eyebrow{margin-top:calc((var(--lead-lh) - var(--lead-size)) / 2)}
.elementor.elementor.elementor.elementor .sv--type .sec-lead{margin-top:0}
.elementor.elementor.elementor.elementor .sv--type .acts{margin-top:28px}
.elementor.elementor.elementor.elementor .sv--type .lnb{margin-top:0}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv--type .sv-grid{margin-top:28px}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv--type .eyebrow{margin-top:0}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv--type .sec-lead{margin-top:var(--lead-gap)}}
.elementor.elementor.elementor.elementor .lnb{margin-top:var(--lnb-mt,70px)}
.elementor.elementor.elementor.elementor .lnb-in{align-items:center}
.elementor.elementor.elementor.elementor .lnb-sib{flex:none}
.elementor.elementor.elementor.elementor .lnb-sib a{align-items:center}
.elementor.elementor.elementor.elementor .lnb .btn{margin-left:auto;flex:none}
.elementor.elementor.elementor.elementor .qa{align-items:center}
.elementor.elementor.elementor.elementor .qa-answer{margin-top:30px}
.elementor.elementor.elementor.elementor .qa-main p:not(.qa-answer){margin-top:16px}
.elementor.elementor.elementor.elementor .qa-main .qa-answer + p{margin-top:24px}
.elementor.elementor.elementor.elementor .qa-media{margin:0}
.elementor.elementor.elementor.elementor .sec-body{margin-top:var(--head-gap,64px)}
.elementor.elementor.elementor.elementor .split{align-items:start}
.elementor.elementor.elementor.elementor .ph{margin:0}
.elementor.elementor.elementor.elementor .cap{margin-top:12px}
.elementor.elementor.elementor.elementor .notice{margin-top:24px}
.elementor.elementor.elementor.elementor .card h3{margin-top:14px}
.elementor.elementor.elementor.elementor .card p{margin-top:12px}
.elementor.elementor.elementor.elementor .card--green{flex-direction:column;justify-content:center}
.elementor.elementor.elementor.elementor .tags{flex-wrap:wrap;margin-top:16px}
.elementor.elementor.elementor.elementor .tag{align-items:center}
.elementor.elementor.elementor.elementor .pt-row p{margin-top:10px}
.elementor.elementor.elementor.elementor .quote cite{margin-top:16px}
.elementor.elementor.elementor.elementor .note-box{margin-top:28px}
.elementor.elementor.elementor.elementor .note-box p+p{margin-top:8px}
.elementor.elementor.elementor.elementor .note-split{margin-top:28px}
.elementor.elementor.elementor.elementor .note-split .note-box{margin-top:0;align-items:center;justify-content:space-between}
.elementor.elementor.elementor.elementor .note-box .txt{flex:1}
.elementor.elementor.elementor.elementor .note-split + .notice{margin-top:24px}
.elementor.elementor.elementor.elementor .note-box strong{margin-top:10px}
.elementor.elementor.elementor.elementor .note-box span{margin-top:8px}
.elementor.elementor.elementor.elementor .note-box--link{justify-content:space-between}
.elementor.elementor.elementor.elementor .note-box--link .go{flex:0 0 46px}
.elementor.elementor.elementor.elementor .chk-list li{align-items:flex-start}
.elementor.elementor.elementor.elementor .chk-list li::before{flex:none;margin-top:1px}
.elementor.elementor.elementor.elementor .chk-list--toggle{max-width:760px;margin-inline:auto}
.elementor.elementor.elementor.elementor .chk-list--toggle label{align-items:center}
.elementor.elementor.elementor.elementor .chk-list--toggle input{flex:none;margin:0}
.elementor.elementor.elementor.elementor .bubbles{flex-direction:column}
.elementor.elementor.elementor.elementor .bubble{max-width:88%}
.elementor.elementor.elementor.elementor .bubble small{margin-top:4px}
.elementor.elementor.elementor.elementor .proc h3{margin-top:12px}
.elementor.elementor.elementor.elementor .proc p{margin-top:8px}
.elementor.elementor.elementor.elementor .proc .tags{margin-top:12px}
.elementor.elementor.elementor.elementor .pstep .n{margin-top:18px}
.elementor.elementor.elementor.elementor .pstep h3{margin-top:12px}
.elementor.elementor.elementor.elementor .pstep p{margin-top:8px}
.elementor.elementor.elementor.elementor .tflow p{margin-top:6px}
.elementor.elementor.elementor.elementor .gen .face{margin:0 auto}
.elementor.elementor.elementor.elementor .gen .g{margin-top:24px}
.elementor.elementor.elementor.elementor .gen h3{margin-top:6px}
.elementor.elementor.elementor.elementor .gen .yr{margin-top:4px}
.elementor.elementor.elementor.elementor .gen .pl{margin-top:14px}
.elementor.elementor.elementor.elementor .gen .role{margin-top:12px}
.elementor.elementor.elementor.elementor .letter p+p{margin-top:1.3em}
.elementor.elementor.elementor.elementor .sign{align-items:center;margin-top:44px}
.elementor.elementor.elementor.elementor .vow-row{align-items:start}
.elementor.elementor.elementor.elementor .cv h3{margin:28px 0 4px}
.elementor.elementor.elementor.elementor .cv h3:first-child{margin-top:0}
.elementor.elementor.elementor.elementor .cv li::before{flex:none;margin-top:10px}
.elementor.elementor.elementor.elementor .certs figure{margin:0}
.elementor.elementor.elementor.elementor .certs figcaption{margin-top:12px}
.elementor.elementor.elementor.elementor .tbl .grp th span{margin-left:10px}
.elementor.elementor.elementor.elementor .case .big{margin-top:20px}
.elementor.elementor.elementor.elementor .case .big small{margin-left:6px}
.elementor.elementor.elementor.elementor .case dl{margin-top:22px}
.elementor.elementor.elementor.elementor .graph{margin:0}
.elementor.elementor.elementor.elementor .graph-legend{flex-wrap:wrap;margin-top:16px}
.elementor.elementor.elementor.elementor .graph-legend i{margin-right:8px}
.elementor.elementor.elementor.elementor .tele-grid{align-items:start}
.elementor.elementor.elementor.elementor .tele-badge{align-items:center}
.elementor.elementor.elementor.elementor .tele-note{margin-top:28px}
.elementor.elementor.elementor.elementor .form-peek{margin-top:30px}
.elementor.elementor.elementor.elementor .form-peek ul{flex-wrap:wrap;margin-top:12px}
.elementor.elementor.elementor.elementor .tele-exc{margin-top:36px}
.elementor.elementor.elementor.elementor .tele-exc ul{margin-top:16px}
.elementor.elementor.elementor.elementor .faq summary{align-items:center}
.elementor.elementor.elementor.elementor .rb{align-items:center}
.elementor.elementor.elementor.elementor .rb h3{margin-top:4px}
.elementor.elementor.elementor.elementor .rb p{margin-top:4px}
.elementor.elementor.elementor.elementor .rb .cred{margin-top:10px}
.elementor.elementor.elementor.elementor .rel{margin-top:28px}
.elementor.elementor.elementor.elementor .rel a{align-items:center;justify-content:space-between}
.elementor.elementor.elementor.elementor .rel .txt{flex-direction:column}
.elementor.elementor.elementor.elementor .rel strong{margin-top:10px}
.elementor.elementor.elementor.elementor .rel span{margin-top:8px}
.elementor.elementor.elementor.elementor .rel .go{flex:0 0 46px}
.elementor.elementor.elementor.elementor .cta-band{margin-top:clamp(50px,calc(50px + (100vw - 1000px) * 30 / 920),80px);align-items:center}
.elementor.elementor.elementor.elementor .cta-band p{margin-top:14px}
.elementor.elementor.elementor.elementor .cta-band .acts{justify-content:flex-end}
.elementor.elementor.elementor.elementor .hours-mini{flex-wrap:wrap;margin-top:18px}
.elementor.elementor.elementor.elementor .md{align-items:center;justify-content:center}
.elementor.elementor.elementor.elementor .md-hd p{margin-top:6px}
.elementor.elementor.elementor.elementor .seg{flex-wrap:wrap;margin-top:16px}
.elementor.elementor.elementor.elementor .fs{margin:0 0 22px}
.elementor.elementor.elementor.elementor .fs legend{margin-bottom:12px}
.elementor.elementor.elementor.elementor .fi{flex-direction:column}
.elementor.elementor.elementor.elementor .fi em{margin-left:3px}
.elementor.elementor.elementor.elementor .opts{flex-wrap:wrap}
.elementor.elementor.elementor.elementor .opts label{align-items:center}
.elementor.elementor.elementor.elementor .agree{margin-top:6px}
.elementor.elementor.elementor.elementor .agree label{align-items:flex-start}
.elementor.elementor.elementor.elementor .agree input{margin-top:4px}
.elementor.elementor.elementor.elementor .md-ft{flex-wrap:wrap;align-items:center;justify-content:space-between}
.elementor.elementor.elementor.elementor .md-ft p{max-width:420px}
.elementor.elementor.elementor.elementor .md-done p{margin-top:12px}
.elementor.elementor.elementor.elementor .md-done .acts{justify-content:center;margin-top:26px}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv-grid{margin-top:28px}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .bc{justify-content:center}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv-title{margin-top:20px}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv .sec-lead{margin-inline:auto}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .sv .acts{justify-content:center}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .lnb{margin-top:var(--head-gap)}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .lnb-sib{margin-inline:auto}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .qa-answer{margin-top:22px}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .bubbles{max-width:560px;margin-inline:auto}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .cta-band .acts,.elementor.elementor.elementor.elementor .hours-mini{justify-content:center}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .note-box--link .go{flex-basis:40px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor #types .tags,.elementor.elementor.elementor.elementor #levels .tags{justify-content:center}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .sv-page{margin-top:18px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .sv .acts{margin-top:26px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .qa-answer{margin-top:16px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .letter p+p{margin-top:1em}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .lnb-sib{margin:0}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .lnb-sib a{justify-content:center}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .sv .acts{flex-direction:row;flex-wrap:nowrap}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .sv .acts .btn{flex:1 1 0;max-width:180px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .rb .cred{max-width:100%;margin-inline:auto}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .pt-row .tags,.elementor.elementor.elementor.elementor .card .tags,.elementor.elementor.elementor.elementor .proc .tags{justify-content:center}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .rel .go{flex-basis:40px}}
.elementor.elementor.elementor.elementor .contact-card{flex-direction:column;align-items:center}
.elementor.elementor.elementor.elementor .contact-card h3{margin-top:20px}
.elementor.elementor.elementor.elementor .contact-card p{margin-top:8px}
.elementor.elementor.elementor.elementor .contact-card .go{align-items:center;margin-top:24px}
.elementor.elementor.elementor.elementor .loc-grid{align-items:start}
.elementor.elementor.elementor.elementor .loc-addr{margin-top:28px}
.elementor.elementor.elementor.elementor .loc-way{margin-top:16px}
.elementor.elementor.elementor.elementor .hours{margin-top:38px}
.elementor.elementor.elementor.elementor .hours dl{margin-top:6px}
.elementor.elementor.elementor.elementor .loc-tel{margin-top:34px}
.elementor.elementor.elementor.elementor .map-links{margin-top:36px;flex-wrap:wrap}
.elementor.elementor.elementor.elementor .map-links a.map-link{align-items:center}
.elementor.elementor.elementor.elementor .map-link .map-ic{flex:none}
.elementor.elementor.elementor.elementor .map-link .map-ext{margin-left:2px}
@media (max-width:999px){.elementor.elementor.elementor.elementor .hours dl{max-width:100%;margin-inline:auto}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .map-links{justify-content:center}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .contact-card h3{margin-top:12px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .contact-card p{margin-top:4px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .contact-card .go{margin-top:14px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .loc-addr{margin-top:16px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .loc-way{margin-top:8px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .hours{margin-top:20px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .loc-tel{margin-top:18px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .map-links{margin-top:18px}}
.elementor.elementor.elementor.elementor .price-card h3{margin-top:12px}
.elementor.elementor.elementor.elementor .price-card > p{margin-top:8px}
.elementor.elementor.elementor.elementor .price-card dl{margin-top:20px}
.elementor.elementor.elementor.elementor .price-card dt small{margin-top:2px}
.elementor.elementor.elementor.elementor .price-foot{justify-content:center}
.elementor.elementor.elementor.elementor .price-card ul{margin-top:20px}
.elementor.elementor.elementor.elementor .price-card li small{margin-top:3px}
.elementor.elementor.elementor.elementor .price-card .price-more{margin-top:14px}
.elementor.elementor.elementor.elementor .tele-box{margin-top:40px;align-items:center;justify-content:space-between}
.elementor.elementor.elementor.elementor .tele-box .acts{flex:none}
.elementor.elementor.elementor.elementor .tele-box__txt p{margin-top:10px}
.elementor.elementor.elementor.elementor .tele-box--green{margin-top:56px}
.elementor.elementor.elementor.elementor .faq-sec .rb{margin-top:72px}
@media (max-width:999px){.elementor.elementor.elementor.elementor .tele-box{flex-direction:column}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .tele-box .acts{justify-content:center}}
@media (max-width:999px){.elementor.elementor.elementor.elementor .faq-sec .rb{margin-top:var(--foot-gap)}}
.elementor.elementor.elementor.elementor .car-dots{justify-content:center;margin-top:28px}
.elementor.elementor.elementor.elementor .care-fig{margin:0 -32px 26px;max-width:none}
@media (max-width:999px){.elementor.elementor.elementor.elementor .care-fig{margin-inline:-32px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .care-fig{margin-inline:-22px}}
.elementor.elementor.elementor.elementor #cause .card .tags,.elementor.elementor.elementor.elementor #methods .card .tags,.elementor.elementor.elementor.elementor #care .card .tags,.elementor.elementor.elementor.elementor #stages .card .tags,.elementor.elementor.elementor.elementor #why .card .tags,.elementor.elementor.elementor.elementor #stage .card .tags,.elementor.elementor.elementor.elementor #again .card .tags,.elementor.elementor.elementor.elementor #ingredient .card .tags,.elementor.elementor.elementor.elementor #target .card .tags,.elementor.elementor.elementor.elementor #cover .card .tags,.elementor.elementor.elementor.elementor #prepare .card .tags,.elementor.elementor.elementor.elementor #scope .card .tags{justify-content:center}
.elementor.elementor.elementor.elementor #methods .card__body h3{margin-top:10px}
.elementor.elementor.elementor.elementor #methods .card__body h3::after{margin:16px auto 0}
.elementor.elementor.elementor.elementor #methods .card__body p{margin-top:14px}
.elementor.elementor.elementor.elementor .proc .ic{margin:0 auto 14px}
@media (max-width:999px){.elementor.elementor.elementor.elementor .proc .ic{margin-bottom:12px}}
.elementor.elementor.elementor.elementor .board-tabs{flex-wrap:wrap;justify-content:center;margin-bottom:44px}
.elementor.elementor.elementor.elementor .board-tabs a{align-items:center}
.elementor.elementor.elementor.elementor .board-card{flex-direction:column}
.elementor.elementor.elementor.elementor .board-note{margin-top:40px}
.elementor.elementor.elementor.elementor .post-notice{margin-top:40px}
.elementor.elementor.elementor.elementor .board-body{flex-direction:column;flex:1}
.elementor.elementor.elementor.elementor .board-pin{margin-left:6px}
.elementor.elementor.elementor.elementor .board-date{margin-top:auto}
.elementor.elementor.elementor.elementor .board-pages{flex-wrap:wrap;justify-content:center;margin-top:64px}
.elementor.elementor.elementor.elementor .sv--post .post-head{max-width:900px;margin-top:30px}
.elementor.elementor.elementor.elementor .post-title{margin-top:22px}
.elementor.elementor.elementor.elementor .post-meta{flex-wrap:wrap;align-items:center;margin-top:20px}
.elementor.elementor.elementor.elementor .post-meta > *{align-items:center}
.elementor.elementor.elementor.elementor .post-meta > * + *::before{margin:0 14px}
.elementor.elementor.elementor.elementor .post-wrap{max-width:860px}
.elementor.elementor.elementor.elementor .post-figure{margin:0 0 48px}
.elementor.elementor.elementor.elementor .hs-post--event .post-figure{max-width:640px;margin-inline:auto}
.elementor.elementor.elementor.elementor .post-content > * + *{margin-top:1.1em}
.elementor.elementor.elementor.elementor .post-content h2{margin-top:2em}
.elementor.elementor.elementor.elementor .post-content h3{margin-top:1.8em}
.elementor.elementor.elementor.elementor .post-content img{max-width:100%}
.elementor.elementor.elementor.elementor .post-content li + li{margin-top:.4em}
.elementor.elementor.elementor.elementor .post-list{justify-content:center;margin-top:44px}
.elementor.elementor.elementor.elementor .sfm-all{max-width:1000px;margin-inline:auto}
.elementor.elementor.elementor.elementor .sfm-tabs a em,.elementor.elementor.elementor.elementor .sfm-sub a em{margin-left:5px}
.elementor.elementor.elementor.elementor .sfm-sub{flex-wrap:wrap;justify-content:center;margin:-16px 0 48px}
.elementor.elementor.elementor.elementor .sfm-sub a{align-items:center}
.elementor.elementor.elementor.elementor .sfm-search{max-width:640px;margin:0 auto 36px}
.elementor.elementor.elementor.elementor .sfm-search-clear{margin-top:-17px}
.elementor.elementor.elementor.elementor .sfm-result{margin:-12px 0 40px}
.elementor.elementor.elementor.elementor .sfm-result-more{margin-top:4px}
.elementor.elementor.elementor.elementor .faq .sfm-a p + p{margin-top:.6em}
.elementor.elementor.elementor.elementor .sfm-from{margin-bottom:3px}
.elementor.elementor.elementor.elementor .faq .ans .sfm-go{margin-top:10px}
.elementor.elementor.elementor.elementor .sfm-all details.is-ans-hit .sfm-q h3::after{margin-left:10px}
.elementor.elementor.elementor.elementor .sfm-pager.board-pages{margin-top:56px}
.elementor.elementor.elementor.elementor .sfm-more{margin-top:32px}
.elementor.elementor.elementor.elementor .legal-info dd{margin-top:6px}
.elementor.elementor.elementor.elementor .legal-info dd small{margin-top:4px}
.elementor.elementor.elementor.elementor .legal-grid{align-items:start;margin-top:72px}
.elementor.elementor.elementor.elementor .legal-toc ol{margin-top:10px}
.elementor.elementor.elementor.elementor .legal-art p{margin-top:12px}
.elementor.elementor.elementor.elementor .legal-items{margin-top:12px}
.elementor.elementor.elementor.elementor .legal-items li{margin-top:4px}
.elementor.elementor.elementor.elementor .legal-tbl{margin-top:18px}
.elementor.elementor.elementor.elementor .legal-tbl .tbl tbody th small{margin-top:2px}
@media (max-width:999px){.elementor.elementor.elementor.elementor .legal-grid{margin-top:48px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .legal-tbl .tbl tbody th small{margin:0 0 0 6px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .legal-tbl .tbl td{margin-top:6px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .legal-tbl--kv .tbl td{margin:0}}
.elementor.elementor.elementor.elementor .member-box{max-width:520px;margin:0 auto}
.elementor.elementor.elementor.elementor .member-box--register,.elementor.elementor.elementor.elementor .member-box--profile{max-width:640px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form{margin:0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form form{margin:0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form fieldset{margin:0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form label{margin:0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .req{margin-left:2px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .div_text,.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .div_checkbox{margin:0 0 20px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form input[type=text],.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form input[type=email],.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form input[type=password],.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form input[type=url],.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form select,.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form textarea{max-width:100%;margin:0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form input[type=submit],.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form button[type=submit]{margin:8px 0 0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .button_div{margin:0}
.elementor.elementor.elementor.elementor .member-box .signin-form .button_div label{align-items:center;margin:0 0 6px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form input[type=checkbox]{margin:0}
.elementor.elementor.elementor.elementor .member-box .signin-form .link-text{margin:22px 0 0}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form label.checkbox{margin-top:8px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .agree{margin:0 0 20px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .policy_content ul,.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .policy_content p{margin:0 0 8px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .div_checkbox label{align-items:center;margin-top:10px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .req-text{margin-top:12px}
.elementor.elementor.elementor.elementor .member-box .profile-header{margin:0 0 28px}
.elementor.elementor.elementor.elementor .member-box .profile-header input[type=file]{margin:-1px!important}
.elementor.elementor.elementor.elementor .member-box .profile-header .avatar-img{margin-bottom:12px}
.elementor.elementor.elementor.elementor .member-box .profile-header .change-avatar-message{margin:6px 0 0}
.elementor.elementor.elementor.elementor .member-box .members-link{margin:0}
.elementor.elementor.elementor.elementor .member-box .members-link li{margin:0}
.elementor.elementor.elementor.elementor .member-box .members-link li a{align-items:center;justify-content:center}
.elementor.elementor.elementor.elementor .member-box .members-link .delete-account a{margin-top:10px}
.elementor.elementor.elementor.elementor .member-box .cosmosfarm-members-form .message,.elementor.elementor.elementor.elementor .member-box .wpmem_msg,.elementor.elementor.elementor.elementor .member-box #wpmem_msg{margin:0 0 24px}
.elementor.elementor.elementor.elementor .nf-head{max-width:760px;margin:0 auto}
.elementor.elementor.elementor.elementor .nf-code{margin-top:14px}
.elementor.elementor.elementor.elementor .nf-title{margin-top:22px}
.elementor.elementor.elementor.elementor .nf-head .sec-lead{margin-top:var(--lead-gap,20px)}
.elementor.elementor.elementor.elementor .nf-head .acts{justify-content:center;margin-top:36px}
.elementor.elementor.elementor.elementor .nf-links{max-width:1080px;margin:80px auto 0}
.elementor.elementor.elementor.elementor .nf-links a{flex-direction:column}
.elementor.elementor.elementor.elementor .nf-links .go{margin-top:-16px}
.elementor.elementor.elementor.elementor .nf-tel{margin-top:40px}
@media (max-width:999px){.elementor.elementor.elementor.elementor .nf-links{margin-top:56px}}
@media (max-width:690px){.elementor.elementor.elementor.elementor .nf-links{margin-top:40px}}

/* 엘리멘터 배경 보정 (자동 생성 · 배경 그림만 되살림) */
.elementor.elementor.elementor.elementor.elementor .chk-list--toggle input:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6 11.5l3.2 3.2L16 8' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") !important}
.elementor.elementor.elementor.elementor.elementor .fi select{background-image:url("data:image/svg+xml !important}
.elementor.elementor.elementor.elementor.elementor .faq-sec{background-image:url(../images/faq-bg.jpg) !important}
.elementor.elementor.elementor.elementor.elementor .contact{background-image:url(../images/contact-bg.jpg) !important}
.elementor.elementor.elementor.elementor.elementor .sec--fig{background-image:url(../images/bg-diff-dots-fig.jpg) !important}
.elementor.elementor.elementor.elementor.elementor .sec.process,.elementor.elementor.elementor.elementor.elementor .sec.apply{background-image:linear-gradient(180deg,#FBF8F2 0,#F6F0E5 640px,#F2EADB 100%) !important}
.elementor.elementor.elementor.elementor.elementor .sec--fig + .sec.process,.elementor.elementor.elementor.elementor.elementor .sec--fig + .sec.apply{background-image:linear-gradient(180deg,#FFFFFF 0,#F6F0E5 640px,#F2EADB 100%) !important}
.elementor.elementor.elementor.elementor.elementor .sec--gray + .sec--fig,.elementor.elementor.elementor.elementor.elementor .sec.cause + .sec--fig,.elementor.elementor.elementor.elementor.elementor #summary + .sec--fig{background-image:linear-gradient(180deg,#FFFFFF 0,rgba(255,255,255,0) !important}
.elementor.elementor.elementor.elementor.elementor .sec--gray + .sec--beige,.elementor.elementor.elementor.elementor.elementor .sec.cause + .sec--beige,.elementor.elementor.elementor.elementor.elementor #summary + .sec--beige{background-image:linear-gradient(180deg,#FFFFFF 0,#F9F6F2 320px) !important}
