/* 차량 보험처리 케어센터 — 공통 스타일

   색 역할 (한 색 = 한 뜻, 장식용 색 금지)
     navy   구조·브랜드면 (헤더, 진한 밴드)
     blue   누를 수 있는 것 (버튼, 링크)
     amber  고객이 받는 혜택 (금액, 무료 항목)
   그라디언트·글로우·글래스 없음. 깊이는 실선과 배경면으로만. */

:root{
  --navy:#132a4a;
  --navy-deep:#0d1f38;
  --blue:#1558c0;
  --blue-dark:#11469a;
  --blue-wash:#eff4fc;
  --amber:#8a5a00;
  --amber-wash:#fdf6e7;
  --amber-line:#e8d5a8;

  --ink:#111820;
  --ink-2:#48535f;
  --ink-3:#5f6a76;
  --line:#dde2e8;
  --line-2:#eaeef2;
  --bg:#fff;
  --surface:#f6f8fa;

  --r:5px;
  --sp-1:8px;
  --sp-2:16px;
  --sp-3:28px;
  --sp-4:48px;
  --sp-5:80px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-text-size-adjust:100%;
}

h1,h2,h3,.lead,.tag,.btn,summary,.offer b,.flow h3{word-break:keep-all}
a{color:inherit;text-decoration:none}
p{margin:0 0 12px}
p:last-child{margin-bottom:0}
svg{flex:none}

.container{width:min(1080px,calc(100% - 40px));margin:0 auto}

/* 타입 스케일 — 단계마다 최소 1.35배 차이 */
h1{
  font-size:clamp(32px,4.6vw,50px);
  font-weight:800;
  line-height:1.16;
  letter-spacing:-.025em;
  margin:0 0 var(--sp-2);
}
h2{
  font-size:clamp(24px,3vw,34px);
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.02em;
  margin:0 0 10px;
}
h3{font-size:18px;font-weight:700;line-height:1.4;margin:0 0 6px}
.lead{font-size:19px;line-height:1.65;color:var(--ink-2);margin:0}
.desc{color:var(--ink-2);margin:0 0 var(--sp-2)}
.small{font-size:13.5px;line-height:1.6;color:var(--ink-3)}
.label{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--ink-3);
}

/* 헤더 */
.topbar{background:var(--navy);color:#fff}
.nav{
  height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-2);
}
.brand{display:flex;align-items:center;gap:9px;font-size:15.5px;font-weight:700}
.brand svg{color:#9dc0f0}
.navcta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  font-weight:600;
  color:#fff;
  border:1px solid #ffffff40;
  border-radius:var(--r);
  padding:7px 13px;
}
.navcta:hover{background:#ffffff14}

/* 섹션 리듬 — 밴드 교차로 스크롤 마디 만들기 */
section{padding:var(--sp-5) 0}
.band{background:var(--surface);border-block:1px solid var(--line-2)}
.sectionHead{max-width:660px;margin-bottom:var(--sp-3)}
.sectionHead p{color:var(--ink-2);margin:0}

/* 히어로 — 네이비면 위에서 시작해 첫 화면에 무게를 준다 */
.hero{
  background:var(--navy);
  color:#fff;
  padding:var(--sp-4) 0 var(--sp-5);
}
.heroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-4);align-items:start}
.hero .lead{color:#c3d3e8;margin-bottom:var(--sp-3)}
.hero h1{text-wrap:balance}
.tag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13.5px;
  font-weight:600;
  color:#a9c8ee;
  margin-bottom:var(--sp-2);
}

/* 버튼 */
.buttons{display:flex;gap:10px;flex-wrap:wrap}
.btn{
  min-height:50px;
  padding:0 22px;
  border-radius:var(--r);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:15.5px;
  font-weight:700;
  border:1px solid transparent;
}
.primary{background:var(--blue);color:#fff}
.primary:hover{background:var(--blue-dark)}
.ghost{border-color:#ffffff4d;color:#fff}
.ghost:hover{background:#ffffff14}
.outline{border-color:var(--line);color:var(--ink)}
.outline:hover{background:var(--surface)}
.chat{background:var(--blue);color:#fff}
.chat:hover{background:var(--blue-dark)}
.phone{border-color:#ffffff4d;color:#fff;font-variant-numeric:tabular-nums}
.phone:hover{background:#ffffff14}

.ctaActions{display:flex;gap:10px;flex-wrap:wrap}

/* 혜택 명세 — amber는 고객이 받는 값에만 */
.offer{
  border:1px solid var(--amber-line);
  border-radius:var(--r);
  background:var(--amber-wash);
  color:var(--ink);
  overflow:hidden;
}
.offer h2,.offer h3{
  margin:0;
  padding:14px 20px;
  font-size:15px;
  font-weight:700;
  color:var(--amber);
  border-bottom:1px solid var(--amber-line);
  background:#fff;
}
.offer ul{list-style:none;margin:0;padding:0}
.offer li{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:12px;
  align-items:start;
  padding:13px 20px;
  border-bottom:1px solid var(--amber-line);
  font-size:15px;
}
.offer li svg{color:var(--amber);margin-top:3px}
.offer b{display:block;font-weight:700;color:var(--ink)}
.offer li>div>span{display:block;color:var(--ink-2);font-size:14px}
.offer .note{
  padding:11px 20px;
  font-size:12.5px;
  color:var(--ink-3);
}
.offer .amount,.amount{color:var(--amber);font-weight:700}

/* 피해 유형 카드 */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2)}
.tile{
  padding:var(--sp-3) 22px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:var(--bg);
}
.tile svg{color:var(--blue);margin-bottom:14px}
.tile p{color:var(--ink-2);font-size:14.5px;margin:0}

/* 순서 있는 절차 */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) 56px}

.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.steps li{
  counter-increment:step;
  position:relative;
  padding:14px 0 14px 40px;
  border-top:1px solid var(--line-2);
  font-size:15.5px;
}
.steps li:first-child{border-top:none;padding-top:0}
.steps li:before{
  content:counter(step);
  position:absolute;
  left:0;
  top:13px;
  width:24px;
  height:24px;
  border-radius:var(--r);
  background:var(--blue-wash);
  color:var(--blue);
  font-size:13px;
  font-weight:700;
  display:grid;
  place-items:center;
  font-variant-numeric:tabular-nums;
}
.steps li:first-child:before{top:-1px}
.steps strong{font-weight:700;color:var(--ink)}

.checks{list-style:none;margin:0;padding:0}
.checks li{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:11px;
  align-items:start;
  padding:7px 0;
  font-size:15.5px;
  color:var(--ink-2);
}
.checks svg{color:var(--blue);margin-top:4px}

/* 처리 흐름 */
.flow{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border:1px solid var(--line);
  border-radius:var(--r);
  background:var(--bg);
  overflow:hidden;
}
.flow>div{padding:22px 20px;border-left:1px solid var(--line-2)}
.flow>div:first-child{border-left:none}
.flow>div svg{color:var(--blue)}
.flow b{
  display:block;
  margin:12px 0 3px;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--blue);
}
.flow h3{font-size:16px;margin:0 0 3px}
.flow p{font-size:13.5px;color:var(--ink-2);margin:0}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  cursor:pointer;
  padding:17px 0;
  font-size:16.5px;
  font-weight:700;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:var(--sp-2);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{color:var(--ink-3);margin-top:5px;transition:transform .15s}
.faq details[open] summary svg{transform:rotate(180deg);color:var(--blue)}
.faq details p{margin:0 0 18px;color:var(--ink-2);font-size:15.5px;max-width:70ch}

/* 하단 상담 유도 */
.ctaBox{
  background:var(--navy);
  color:#fff;
  border-radius:var(--r);
  padding:var(--sp-4);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--sp-3);
  flex-wrap:wrap;
}
.ctaBox h2{margin:0 0 6px}
.ctaBox p{margin:0;color:#c3d3e8}

/* 푸터 */
.footer{
  background:var(--navy-deep);
  color:#8fa3bd;
  padding:var(--sp-3) 0;
  font-size:13.5px;
}
.footer b{display:block;color:#fff;font-size:15px;margin-bottom:10px}
.footer p{margin:0 0 8px;max-width:78ch;line-height:1.75}
.footer .legal{border-top:1px solid #ffffff1f;margin-top:var(--sp-2);padding-top:var(--sp-2);font-size:12.5px}

/* 모바일 고정 바 */
.sticky{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:30;
  display:none;
  grid-template-columns:1fr 1.5fr;
  gap:8px;
  padding:9px 12px;
  background:var(--bg);
  border-top:1px solid var(--line);
}
.sticky a{
  min-height:47px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:var(--r);
  font-size:15px;
  font-weight:700;
}
.sticky .s1{border:1px solid var(--line)}
.sticky .s2{background:var(--blue);color:#fff}

/* 본문 글 */
.articleHead{background:var(--navy);color:#fff;padding:var(--sp-4) 0}
.articleHead .container{max-width:760px}
.articleHead .lead{color:#c3d3e8;margin-top:var(--sp-2)}
.article{max-width:760px;margin:0 auto}
.article h2{
  margin:var(--sp-4) 0 12px;
  padding-top:var(--sp-2);
  border-top:1px solid var(--line-2);
  font-size:clamp(21px,2.4vw,26px);
}
.article h2:first-child{margin-top:0;padding-top:0;border-top:none}
.article>p,.article>ul>li,.article>ol:not([class])>li{color:var(--ink-2)}
.article .note{
  margin:var(--sp-2) 0;
  padding:16px 18px;
  border:1px solid var(--amber-line);
  border-radius:var(--r);
  background:var(--amber-wash);
  font-size:15px;
}
.article .note b{color:var(--amber)}
.article table{width:100%;border-collapse:collapse;margin:var(--sp-2) 0;font-size:14.5px}
.article th,.article td{
  border-bottom:1px solid var(--line-2);
  padding:12px;
  text-align:left;
  vertical-align:top;
}
.article th{
  color:var(--ink);
  font-weight:700;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.article ul:not([class]){margin:0;padding-left:20px}
.article ul:not([class])>li{padding:3px 0}
.article .steps,.article .offer,.article .checks{margin:var(--sp-2) 0}
.article .ctaBox{margin-top:var(--sp-4)}

@media (max-width:900px){
  :root{--sp-5:56px;--sp-4:36px}
  .heroGrid,.cols{grid-template-columns:1fr;gap:var(--sp-3)}
  .cards{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr}
  .flow>div{border-top:1px solid var(--line-2)}
  .flow>div:nth-child(odd){border-left:none}
  .flow>div:nth-child(-n+2){border-top:none}
}

@media (max-width:600px){
  body{font-size:15.5px}
  :root{--sp-5:44px;--sp-4:28px}
  .cards,.flow{grid-template-columns:1fr}
  .flow>div{border-left:none;border-top:1px solid var(--line-2)}
  .flow>div:first-child{border-top:none}
  .buttons .btn{flex:1 1 100%}
  .ctaBox{padding:26px 22px;flex-direction:column;align-items:flex-start}
  .ctaBox .btn{width:100%}
  .ctaActions{width:100%}
  .sticky{display:grid}
  body:has(.sticky) .footer{padding-bottom:88px}
  .navcta{display:none}
  .article h2{margin-top:var(--sp-3)}
}
