/* Watareru v2 — 선 드로잉·파스텔 면·오렌지 한 점. 모든 서브 페이지에서 기존 CSS 뒤에 로드해 덮어쓴다. */
:root{--ink:#18394b;--paper:#f7f5ef;--orange:#df7138;--muted:#58696c;--line:#d5dcd6;--soft:#e7ebe3;--white:#fff;--mint:#dde9e3;--cream:#fbf6ea;--sand:#f3eadb;--sky:#d9e6ec;--peach:#f6dcc9;--green:#4e6b4e;--blue:#df7138;--blue2:#18394b;--red:#b42318;--shadow:none}
html{scroll-behavior:smooth}
body{margin:0;background:#fff!important;color:var(--ink)!important;font-family:'Zen Kaku Gothic New','Apple SD Gothic Neo','Noto Sans KR','Noto Sans JP',sans-serif!important;line-height:1.65}
a{color:inherit}
.wrap{box-sizing:border-box;max-width:1240px;margin:auto;padding:0 44px}
.menu-toggle{border-radius:50%!important;width:42px;height:42px}

/* ---- 타이포 ---- */
h1,h2,h3,.footer-title,.toc-title,.rc-title{font-weight:900!important;letter-spacing:.5px!important;color:var(--ink)}
h1{line-height:1.25!important}
h1 em,h2 em{font-style:normal;color:var(--orange)}
.kicker,.eyebrow{font-family:'Instrument Sans','Inter','Helvetica Neue',sans-serif!important;letter-spacing:2px!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase;color:var(--green)!important;background:transparent!important;padding:0!important;border-radius:0!important;display:inline-block}
.lead,.meta,.q-help,.lp-note{color:var(--muted)}

/* ---- 버튼 ---- */
.btn,.btn-primary,a.btn{background:var(--orange)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:16px 24px!important;font-weight:800!important;font-size:15px!important;letter-spacing:.5px;box-shadow:none!important;display:inline-flex;align-items:center;gap:12px;text-decoration:none!important;cursor:pointer}
.btn:hover,.btn-primary:hover,a.btn:hover{background:#c9622c!important}
.btn-secondary{background:#fff!important;color:var(--ink)!important;border:1.5px solid var(--ink)!important}
.btn-secondary:hover{background:var(--cream)!important}
.btn-ghost{background:transparent!important;color:var(--muted)!important;padding-left:0!important;font-weight:700!important}
.btn-ghost:hover{background:transparent!important;color:var(--ink)!important}

/* ---- 카드·박스: 1px ink 테두리, 8px, 플랫 ---- */
.card,.hero-card,.panel,.readiness,.box,.contact-box,.steps,.result-card,.action-card,.email-cta,.ownership-card,.notice,.scope-box,.meta-box{background:#fff!important;border:1px solid var(--ink)!important;border-radius:8px!important;box-shadow:none!important}
.box.warn{background:var(--peach)!important;border-left:4px solid var(--orange)!important}
.box.unknown{background:var(--sand)!important;border-style:dashed!important}
.answer-first{background:var(--cream)!important;border:1px solid var(--ink)!important;border-left:6px solid var(--orange)!important;border-radius:8px!important}
.answer-first strong{color:var(--green)!important;letter-spacing:2px}
.principles .principle,.principle{border-top:0!important;background:var(--mint);border-radius:12px;padding:16px 18px!important}
.principle strong{color:var(--ink)}
.lp-note{background:#fff;border:1px solid var(--ink);border-radius:8px;padding:16px 22px 16px 46px;position:relative;font-size:14px;line-height:1.8}
.lp-note:before{content:"";position:absolute;left:20px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--orange)}
.cards .card strong{font-size:20px;font-weight:900;display:block}
.cards .card{padding:28px 26px 30px!important}

/* ---- 페이지 히어로 밴드 (민트 아치) ---- */
main:has(.v2-hero){padding-top:0!important}.survey:has(.v2-hero){padding-top:0!important}
.v2-hero{position:relative;background:var(--mint);border-radius:0 0 140px 140px;padding:64px 0 72px;margin-bottom:64px;overflow:hidden}
.v2-hero .wrap{position:relative}
.v2-hero h1{font-size:clamp(34px,3.9vw,56px)!important;margin:16px 0 0!important}
.v2-hero .lead,.v2-hero p.meta{font-size:17px;line-height:1.9;max-width:640px;margin:20px 0 0;color:var(--ink)}
.v2-hero .v2-deco{position:absolute;right:44px;top:-10px;width:400px;height:260px;pointer-events:none}
.v2-hero .btn{margin-top:28px}
.v2-hero .hero-card{display:none}
.v2-hero .hero{display:block}

/* ---- 자가진단 소개 페이지 ---- */
.home .lp{padding:72px 0 0!important;border:0!important}
.home .lp h2{border:0!important;padding:0!important;margin:12px 0 28px!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.35}
.flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:none}
.flow li{background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:22px 20px 24px;position:relative;margin:0}
.flow-num{width:44px;height:44px;border-radius:50%;background:var(--orange);border:2px solid var(--ink);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.flow li strong{display:block;font-size:19px;font-weight:900}
.flow li p{font-size:13px;line-height:1.75;color:var(--muted);margin:8px 0 0}
.boundary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.boundary-row{background:#fff;border:1px solid var(--ink);border-radius:8px;padding:22px 22px 24px;display:block!important}
.boundary-row p{font-size:14px;line-height:1.8;margin:12px 0 0}
.state-label{display:inline-block;background:var(--mint)!important;color:var(--ink)!important;border:0!important;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:700;letter-spacing:1px}
.basis{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.basis>div{background:var(--cream);border:1px solid var(--ink);border-radius:8px;padding:18px 20px}
.basis dt{font-weight:900;font-size:14px;letter-spacing:1px;color:var(--green)}.basis dd{margin:8px 0 0;font-size:14px;line-height:1.8}
.blog-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.blog-list li{background:#fff;border:1px solid var(--ink);border-radius:8px;padding:22px 24px;margin:0}
.blog-list a{font-weight:900;font-size:17px;text-decoration:none;line-height:1.5}.blog-list a:hover{color:var(--orange)}
.blog-list p{margin:8px 0 0;font-size:13px;color:var(--muted)}
#cta.lp{background:var(--cream);border-radius:140px 140px 0 0;margin-top:96px;padding:96px 0 110px!important;text-align:center}
#cta.lp .lp-note{background:transparent;border:0;padding:0;font-size:16px;max-width:640px;margin:0 auto}
#cta.lp .lp-note:before{display:none}
#cta.lp h2{font-size:clamp(30px,3.3vw,44px)!important}

/* ---- 진단 플로우(start) ---- */
.survey{margin-top:0!important;padding:56px 0 20px!important;border:0!important;background:transparent!important}
.diagnosis-intro h2{font-size:clamp(30px,3.6vw,44px)!important}
.survey-shell{grid-template-columns:280px minmax(0,1fr)!important;gap:32px!important}
.steps{position:sticky;top:120px;padding:20px 22px!important}
.steps h2{font-size:12px!important;letter-spacing:2px!important;text-transform:uppercase;color:var(--green)!important;margin:0 0 10px!important;border:0!important;padding:0!important}
.step{padding:12px 0!important;border-bottom:1px solid var(--line);color:var(--muted)!important;font-weight:700;align-items:center!important}
.step:last-child{border-bottom:0}
.steps .step-num{width:32px!important;height:32px!important;border:2px solid var(--ink)!important;background:#fff;color:var(--ink);font-weight:900!important;font-size:13px!important}
.step.active{color:var(--ink)!important}.step.active .step-num{background:var(--orange)!important;border-color:var(--ink)!important;color:#fff!important}
.step.done .step-num{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
.panel{padding:40px 44px 44px!important;border-radius:8px!important}
.panel h2{font-size:30px!important;margin:0 0 10px!important}
.q-title{font-size:19px!important;font-weight:900!important}
.question{border-top:1px solid var(--line)!important}
.choice label{border:1.5px solid var(--ink)!important;border-radius:12px!important;padding:16px 18px!important;font-weight:700;background:#fff!important;min-height:56px;display:flex;align-items:center;gap:12px}
.choice label:before{content:"";width:20px;height:20px;border-radius:50%;border:2px solid var(--ink);flex:none;background:#fff;box-sizing:border-box}
.choice input:checked+label{border-width:2px!important;border-color:var(--ink)!important;background:var(--cream)!important;color:var(--ink)!important;box-shadow:none!important}
.choice input:checked+label:before{border-width:5px;border-color:var(--orange)}
.choice input:focus-visible+label{outline:3px solid #c25728;outline-offset:3px}
.group-progress{background:var(--mint)!important;height:8px!important}.group-progress span{background:var(--orange)!important}
.field{border:1.5px solid var(--ink)!important;border-radius:10px!important;padding:13px 14px!important}.field:focus{outline:3px solid rgba(223,113,56,.25)!important;border-color:var(--orange)!important}
.status-grid label{border:1.5px solid var(--ink)!important;border-radius:10px!important;font-weight:700}
.status-grid input:checked+label{background:var(--cream)!important;border-color:var(--orange)!important;border-width:2px!important;color:var(--ink)!important}
.readiness-id{color:var(--orange)!important}
.critical{background:var(--peach)!important;color:#a02a19!important;border-radius:999px!important}
.result-hero{background:var(--ink)!important;border-radius:8px!important;border:1px solid var(--ink)}
.notice{background:var(--cream)!important;color:var(--ink)!important}
.error{color:var(--red)}

/* ---- 블로그 ---- */
.post-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;counter-reset:post}
.post-list li{border:1px solid var(--ink)!important;border-radius:8px;padding:28px 30px 26px!important;background:#fff;display:flex;flex-direction:column;counter-increment:post;position:relative}
.post-list li:before{content:"0" counter(post);font-family:'Inter','Helvetica Neue',sans-serif;font-weight:900;font-size:40px;color:var(--peach);-webkit-text-stroke:1.5px var(--ink);line-height:1;margin-bottom:14px}
.post-list a{font-size:21px!important;font-weight:900!important;line-height:1.4}
.post-list p{flex:1}
.post-list .meta{margin-top:16px!important;padding-top:14px;border-top:1px solid var(--line);font-size:12px!important;letter-spacing:1px;color:var(--green)!important;font-weight:700}
main .wrap{max-width:1240px}
article{max-width:860px;margin:auto}
article h2{border-top:0!important;padding-top:0!important;font-size:26px!important}
main>.wrap>article h2:before,.qa-layout>article h2:before{content:"";display:block;width:40px;height:4px;background:var(--orange);border-radius:2px;margin-bottom:12px}
article table{border:1px solid var(--ink)}article th{background:var(--mint)!important;font-weight:900}article th,article td{border-color:var(--line)}
.cta{background:var(--cream)!important;border-radius:16px;padding:48px 44px!important;text-align:center;border:0!important}
.cta h2{font-size:clamp(28px,3vw,38px)!important}.cta h2:before{display:none!important}
.cta p{color:var(--ink)!important}.cta small{color:var(--muted)!important}

/* ---- Legal 허브 ---- */
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.hub-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink);border-radius:8px;padding:28px 28px 26px;text-decoration:none;min-height:200px}
.hub-card:hover{background:var(--cream)}
.hub-card .step-num{font-family:'Inter','Helvetica Neue',sans-serif;font-size:12px;letter-spacing:2px;font-weight:700;color:var(--green)}
.hub-card h2{font-size:22px!important;margin:12px 0 8px!important;border:0!important;padding:0!important}
.hub-card p{font-size:14px;color:var(--muted);line-height:1.8;margin:0;flex:1}
.hub-card .go{margin-top:16px;font-weight:800;color:var(--orange)}
.lang-switch{display:inline-flex;gap:6px;float:right}.lang-switch a,.lang-switch span{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;border:1px solid var(--ink);text-decoration:none}.lang-switch span{background:var(--ink);color:#fff}
/* ---- Legal 문서 ---- */
.doc-head{border-bottom:0!important}
.doc-head h1{font-size:clamp(30px,3.4vw,46px)!important}
.doc-body{padding-top:0!important}
.toc{border-left:0}
.toc h2,.toc .toc-title{color:var(--green)!important;letter-spacing:2px!important}
.toc ol{border-left:2px solid var(--line)}
.toc li a.active,.toc li a:hover{border-left-color:var(--orange)!important;color:var(--ink)!important}
.doc h2 .num{color:var(--orange)!important}
.draft{background:var(--peach)!important;border:1px solid var(--ink)!important;border-left:6px solid var(--orange)!important;border-radius:8px}

/* ---- 반응형 ---- */
@media(max-width:1100px){.v2-hero .v2-deco{display:none}.flow{grid-template-columns:1fr 1fr}.boundary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .wrap{padding:0 22px}.hub-grid{grid-template-columns:1fr}
  .v2-hero{border-radius:0 0 60px 60px;padding:40px 0 48px;margin-bottom:40px}.v2-hero .btn{width:100%;justify-content:center}
  .flow,.boundary,.basis,.blog-list,.post-list,.cards{grid-template-columns:1fr!important}
  .survey-shell{grid-template-columns:1fr!important}.steps{position:static;display:flex;flex-wrap:wrap;gap:4px 14px}.steps h2{width:100%}.step{border-bottom:0;padding:6px 0!important;font-size:13px}
  .panel{padding:24px 20px 26px!important}.choices{grid-template-columns:1fr!important}
  #cta.lp{border-radius:60px 60px 0 0;padding:64px 0 72px!important;margin-top:56px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
