/* The H Faceup Column — faceup1.com v3 디자인 문법을 그대로 따름
   흰 바탕 · #1D1D1F 글씨 · #F5F5F7 면 · 보라(#7A2E8E)는 eyebrow·포인트에만 · 모서리 없는 사각 버튼 · Pretendard */
:root{--ink:#1D1D1F;--ink2:#424245;--mut:#6E6E73;--mut2:#86868B;--line:#E3E3E8;--line2:#D2D2D7;--bg2:#F5F5F7;--purple:#7A2E8E;--lilac:#C79AD6;--hd:72px;--w:1200px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 24px)}
body{background:#fff;color:var(--ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:calc(var(--w) + 80px);margin:0 auto;padding:0 40px}
.eb{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}

/* 버튼: 홈페이지처럼 각진 사각형 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:52px;padding:0 26px;font-size:16px;font-weight:500;line-height:1;white-space:nowrap;border:1px solid var(--ink);transition:background .2s,color .2s}
.btn svg{flex:none}
.btn-solid{background:var(--ink);color:#fff}
.btn-solid:hover{background:#000}
.btn-line{background:#fff;color:var(--ink)}
.btn-line:hover{background:var(--bg2)}
.btn-white{background:#fff;color:var(--ink);border-color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover{border-color:#fff}
.btn-sm{height:40px;padding:0 16px;font-size:14px}

/* 상단 */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}
.hd.on{border-bottom-color:var(--line)}
.hd-in{height:var(--hd);display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;gap:14px;flex:none}
.brand img{height:30px;width:auto}
.brand span{font-size:15px;font-weight:600;color:var(--ink2);padding-left:14px;border-left:1px solid var(--line2);line-height:20px}
.nav{display:flex;gap:34px;margin:0 auto;font-size:15px}
.nav a{color:var(--ink2);padding:6px 0;border-bottom:1.5px solid transparent}
.nav a:hover{color:var(--ink)}
.nav a[aria-current]{color:var(--ink);border-bottom-color:var(--ink)}
.nav-m{display:none}

/* 목록 첫 화면 */
.hero{padding-top:104px;padding-bottom:56px}
.hero h1{font-size:clamp(42px,6.2vw,84px);font-weight:700;letter-spacing:-.035em;line-height:1.06;margin-top:22px}
.hero-p{font-size:clamp(17px,1.5vw,20px);color:var(--mut);max-width:640px;margin-top:26px;line-height:1.6}
.tabs{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:40px}
.tabs a{height:40px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid var(--line2);font-size:14px;color:var(--ink2)}
.tabs a:hover{border-color:var(--ink)}
.tabs a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}

/* 카드 */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px}
.card a{display:block}
.card-img{aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card a:hover .card-img img{transform:scale(1.04)}
.card-tx{padding-top:20px}
.card h3{font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin-top:10px}
.card a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.meta{font-size:14px;color:var(--mut2);margin-top:12px}
.feature{padding-bottom:88px}
.card-lg a{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.card-lg .card-tx{padding:0}
.card-lg h3{font-size:clamp(28px,3vw,42px);letter-spacing:-.03em;line-height:1.15;margin-top:16px}
.card-dek{font-size:17px;color:var(--mut);margin-top:18px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* 띠 영역 */
.band{margin-top:120px}
.band-gray{background:var(--bg2);padding:110px 0}
.band-dark{background:#000;color:#F5F5F7;padding:96px 0}
.band-dark .eb{color:var(--lilac)}
.band-in{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.band h2{font-size:clamp(32px,4vw,56px);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin-top:18px}
.band-in p:not(.eb){font-size:18px;color:#A1A1A6;max-width:560px;margin-top:18px}
.band-btns{display:flex;gap:12px;flex-wrap:wrap}
.doc{display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center}
.doc-img{aspect-ratio:4/5;overflow:hidden}
.doc-img img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.doc-tx>p:not(.eb){font-size:18px;color:var(--mut);margin-top:22px;max-width:520px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:44px 0 40px;padding-top:32px;border-top:1px solid var(--line2)}
.stats dt{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1}
.stats dd{font-size:14px;color:var(--mut);margin-top:10px;line-height:1.45}

/* 글 페이지 */
.post-hd{padding-top:72px}
/* 제목 묶음·표지·목차는 같은 왼쪽 선(.wrap)에서 시작 */
.post-hd h1{max-width:980px}
.byline{max-width:980px}
.crumb{display:flex;gap:10px;font-size:14px;color:var(--mut)}
.crumb a:hover{color:var(--ink)}
.crumb span{color:var(--line2)}
.post-hd h1{font-size:clamp(34px,4.6vw,60px);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin-top:26px}
.dek{font-size:clamp(18px,1.6vw,21px);color:var(--mut);line-height:1.55;margin-top:24px;max-width:820px}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--mut)}
.byline .by{color:var(--ink2)}
.byline .by a{color:var(--ink);font-weight:600}
.byline .dot{width:3px;height:3px;border-radius:50%;background:var(--line2)}
.post-cover{margin-top:48px}
.post-cover img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--bg2)}
.post-grid{display:grid;grid-template-columns:240px minmax(0,720px);justify-content:space-between;gap:64px;margin-top:72px}
.toc{position:sticky;top:calc(var(--hd) + 32px);align-self:start;max-height:calc(100vh - var(--hd) - 64px);overflow:auto}
.toc ol{list-style:none;margin-top:16px;border-left:1px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:14px;line-height:1.4;color:var(--mut)}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--purple);font-weight:600}

/* 본문 */
.prose{font-size:18px;line-height:1.78;color:#2B2B2E;counter-reset:sec}
.prose>*+*{margin-top:24px}
.prose h2{font-size:clamp(26px,2.4vw,32px);font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--ink);margin-top:88px;counter-increment:sec}
.prose h2::before{content:counter(sec,decimal-leading-zero);display:block;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--purple);margin-bottom:14px}
.prose>h2:first-child{margin-top:0}
.prose h3{font-size:20px;font-weight:700;letter-spacing:-.015em;line-height:1.4;color:var(--ink);margin-top:40px}
.prose h3+p{margin-top:10px}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lilac);text-decoration-thickness:1.5px;text-underline-offset:4px}
.prose a:hover{text-decoration-color:var(--purple)}
.prose strong{font-weight:700;color:var(--ink)}
.prose ul{list-style:none}
.prose li{position:relative;padding-left:24px}
.prose li+li{margin-top:10px}
.prose li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;background:var(--purple)}
.prose figure{margin-top:48px;margin-bottom:48px}
.prose figure img{width:100%;background:var(--bg2)}
.prose figcaption{font-size:14px;color:var(--mut);margin-top:14px;line-height:1.5}
.prose figcaption b{color:var(--ink);font-weight:600;margin-right:8px}
.prose figcaption b::after{content:"·";margin-left:8px;color:var(--line2)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.tbl{overflow-x:auto;margin:40px 0;-webkit-overflow-scrolling:touch}
.prose th{text-align:left;font-weight:700;padding:14px 16px;border-bottom:2px solid var(--ink);white-space:nowrap}
.prose td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.prose .note{font-size:14px;color:var(--mut);line-height:1.65}
.readnext{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;font-size:16px}
.readnext b{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);margin-bottom:10px}
.readnext span{display:block;line-height:1.5}
.readnext span+span{margin-top:8px}

/* 한눈에 보기 */
.glance{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:24px 0 26px;margin:40px 0!important}
.glance-t{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple)}
.glance ul{margin-top:16px}
.glance li{font-size:17px}
.prose .items li{padding-left:24px}
.prose .items li+li{margin-top:14px}

/* 본문 속 상담 상자 */
.cta{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--bg2);padding:30px 32px;margin:48px 0!important}
.cta-t{font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.35;color:var(--ink)}
.cta-s{font-size:14px;color:var(--mut);margin-top:6px;line-height:1.5}
.prose .cta a{color:#fff;text-decoration:none}

/* FAQ */
.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:18px;font-weight:600;line-height:1.45;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;margin-top:6px;background:linear-gradient(var(--ink),var(--ink)) center/14px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 14px no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 24px;color:var(--ink2)}
.faq .ans>*+*{margin-top:12px}

/* 감수 */
.review{margin-top:88px!important;background:var(--bg2);padding:32px}
.review-name{font-size:19px;font-weight:700;margin-top:12px;color:var(--ink)}
.review-role{font-size:15px;color:var(--mut);margin-top:6px;line-height:1.6}
.refs{font-size:13px;color:var(--mut);line-height:1.6;margin-top:20px;padding-top:18px;border-top:1px solid var(--line2)}
.refs b{display:block;color:var(--ink2);margin-bottom:4px}

/* 이어 읽기 */
.more{padding-top:110px}
.sec-hd{margin-bottom:40px}
.sec-hd h2{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.03em;margin-top:14px}
.band-dark+.more{padding-top:110px}

/* 하단 */
main{padding-bottom:120px}
main:has(>.band:last-child){padding-bottom:0}
main:has(>.band:last-child)>.band:last-child{margin-bottom:0}
.ft{background:var(--bg2);padding:72px 0 56px;font-size:14px;color:var(--mut)}
main:has(>.band-gray:last-child)+.ft{border-top:1px solid var(--line2)}
.ft-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:40px;border-bottom:1px solid var(--line2)}
.ft-lead{color:var(--ink2)}
.ft-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:40px 0}
.ft-cols b{display:block;color:var(--ink);font-weight:600;margin-bottom:10px}
.ft-cols p{line-height:1.8}
.ft-cols a:hover{color:var(--ink)}
.ft-legal{font-size:12px;color:var(--mut2);line-height:1.7;padding-top:28px;border-top:1px solid var(--line2)}

/* 모바일 하단 버튼 (스크롤하면 나타남) */
.mbar{display:none}

@media (max-width:1080px){
  .post-grid{grid-template-columns:minmax(0,720px);justify-content:center}
  .toc{display:none}
  .nav{gap:24px}
}
@media (max-width:960px){
  .grid{grid-template-columns:repeat(2,1fr);gap:48px 24px}
  .card-lg a{grid-template-columns:1fr;gap:24px}
  .doc{grid-template-columns:1fr;gap:48px}
  .doc-img{aspect-ratio:16/10}
  .band-in{flex-direction:column;align-items:flex-start}
  .ft-cols{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .nav{display:none}
  .hd-in{justify-content:space-between}
  .nav-m{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;height:44px;align-items:center;font-size:14px;border-top:1px solid var(--line)}
  .nav-m::-webkit-scrollbar{display:none}
  .nav-m a{flex:none;color:var(--ink2)}
  .nav-m a[aria-current]{color:var(--ink);font-weight:600}
  html{scroll-padding-top:calc(var(--hd) + 68px)}
}
@media (max-width:640px){
  :root{--hd:60px}
  body{font-size:16px}
  .wrap{padding:0 20px}
  .brand img{height:24px}
  .brand span{font-size:13px;padding-left:10px}
  .hd .btn-sm{height:36px;padding:0 12px;font-size:13px}
  .hero{padding-top:56px;padding-bottom:32px}
  .hero h1{font-size:40px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:0;padding-bottom:32px}
  .tabs::-webkit-scrollbar{display:none}
  .tabs a{flex:none}
  .grid{grid-template-columns:1fr;gap:44px}
  .feature{padding-bottom:56px}
  .card-lg h3{font-size:28px}
  .card h3{font-size:20px}
  .band{margin-top:88px}
  .band-gray,.band-dark{padding:72px 0}
  .band-btns{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .tbl table{min-width:560px}
  .byline .by{flex-basis:100%}
  .byline .by+.dot{display:none}
  .band-btns .btn{padding:0 10px;font-size:15px}
  .stats{grid-template-columns:1fr;gap:20px}
  .stats div{display:flex;align-items:baseline;gap:16px}
  .stats dd{margin-top:0}
  .post-hd{padding-top:36px}
  .post-hd h1{font-size:34px;margin-top:20px}
  .dek{font-size:18px}
  .post-cover{margin-top:32px;padding:0}
  .post-grid{margin-top:48px}
  .prose{font-size:17px;line-height:1.75}
  .prose h2{font-size:25px;margin-top:72px}
  .prose figure{margin-left:-20px;margin-right:-20px}
  .prose figcaption{padding:0 20px}
  .cta{flex-direction:column;align-items:stretch;gap:18px;padding:24px 20px;margin-left:-20px!important;margin-right:-20px!important}
  .cta .btn{width:100%}
  .review{padding:24px 20px;margin-left:-20px!important;margin-right:-20px!important}
  .tbl{margin-left:-20px;margin-right:-20px;padding:0 20px}
  .prose th,.prose td{padding:12px 12px}
  .ft{padding-bottom:110px}
  .ft-top{flex-direction:column;align-items:flex-start}
  .ft-cols{grid-template-columns:1fr 1fr;gap:28px 20px}
  .mbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .3s}
  .mbar.on{transform:none}
  .mbar .btn{height:48px;padding:0 8px;font-size:15px}
}
