
:root{
  --ink:#18283B;--ink-soft:#3A4C61;--sky:#3E7CB1;--sky-deep:#2B5D8C;
  --mist:#E8F0F6;--paper:#FAFBFC;--line:#D8E2EA;--gold:#C9A96A;
  --serif:'Gowun Batang',serif;--sans:'IBM Plex Sans KR',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.7;font-weight:400;word-break:keep-all;overflow-wrap:break-word;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none;cursor:pointer}
::selection{background:var(--mist)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;letter-spacing:.22em;color:var(--sky-deep);font-weight:600;text-transform:uppercase;margin-bottom:14px}
.sec-title{font-family:var(--serif);font-size:clamp(24px,3.2vw,34px);font-weight:700;line-height:1.45;letter-spacing:-.01em}
section{padding:80px 0}

/* ── Header ── */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(250,251,252,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--serif);font-weight:700;font-size:19px}
.logo span{color:var(--sky);font-size:12px;font-family:var(--sans);font-weight:500;letter-spacing:.18em;margin-left:10px;vertical-align:2px}
.nav-links{display:flex;gap:30px;font-size:14px;font-weight:500;color:var(--ink-soft)}
.nav-links a:hover,.nav-links a.on{color:var(--sky-deep)}
.nav-cta{background:var(--ink);color:#fff;padding:9px 20px;border-radius:4px;font-size:13.5px;font-weight:500;transition:background .2s}
.nav-cta:hover{background:var(--sky-deep)}
@media(max-width:820px){.nav-links{display:none}}

/* ── Hero (홈) ── */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;padding:120px 0 90px;
  background:linear-gradient(178deg,#16273A 0%,#24425F 34%,#3E6E9A 58%,#7FA8C6 78%,#DCE9F2 96%)}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 42% at 72% 30%,rgba(255,246,224,.30),transparent 70%);animation:light 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes light{from{opacity:.45}to{opacity:.95}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none;opacity:.7}}
.hero .wrap{position:relative;z-index:2;color:#fff}
.dict{display:inline-block;border:1px solid rgba(255,255,255,.35);border-radius:3px;padding:10px 18px;margin-bottom:34px;font-size:14px;color:rgba(255,255,255,.92);background:rgba(255,255,255,.06)}
.dict b{font-family:var(--serif);font-size:16px;margin-right:10px;color:#fff}
.dict i{font-style:normal;color:rgba(255,255,255,.6);margin:0 8px;font-size:12px}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(30px,4.8vw,52px);line-height:1.42;margin-bottom:26px}
.hero h1 em{font-style:normal;color:#F3E4C2}
.hero p{max-width:560px;font-size:16.5px;font-weight:300;color:rgba(255,255,255,.88);margin-bottom:42px}
.btn{display:inline-block;padding:14px 30px;border-radius:4px;font-size:15px;font-weight:500;transition:all .2s}
.btn-solid{background:#fff;color:var(--ink)}
.btn-solid:hover{background:var(--mist)}
.btn-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;margin-left:12px}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
@media(max-width:560px){.btn-ghost{margin:12px 0 0}}
.hero-foot{position:absolute;bottom:26px;left:0;right:0;z-index:2}
.hero-foot .wrap{display:flex;gap:38px;font-size:13px;color:rgba(24,40,59,.75);flex-wrap:wrap}
.hero-foot b{font-family:var(--serif);font-size:17px;color:var(--ink);margin-right:7px}

/* ── 취급보험 카드 ── */
.lines-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:52px;flex-wrap:wrap}
.lines-head p{max-width:420px;color:var(--ink-soft);font-size:15px}
.lines{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:860px){.lines{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lines{grid-template-columns:1fr}}
.line-card{background:var(--paper);padding:34px 28px;transition:background .25s;display:block}
.line-card:hover{background:var(--mist)}
.line-card .en{font-size:11.5px;letter-spacing:.14em;color:var(--sky);font-weight:600;margin-bottom:12px}
.line-card h3{font-family:var(--serif);font-size:19px;font-weight:700;margin-bottom:10px}
.line-card p{font-size:14px;color:var(--ink-soft);line-height:1.75}
.line-card .go{display:inline-block;margin-top:16px;font-size:13px;font-weight:600;color:var(--sky-deep)}

/* ── 해밀의 방식 ── */
.way{background:var(--ink);color:#fff}
.way .eyebrow{color:#9FC3DE}
.way .sec-title{color:#fff;margin-bottom:18px}
.way-lead{max-width:640px;color:rgba(255,255,255,.78);font-size:15.5px;font-weight:300;margin-bottom:58px}
.way-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
@media(max-width:820px){.way-grid{grid-template-columns:1fr;gap:36px}}
.way-item{border-top:1px solid rgba(255,255,255,.22);padding-top:24px}
.way-item h3{font-family:var(--serif);font-size:18px;font-weight:700;margin-bottom:12px;color:#F3E4C2}
.way-item p{font-size:14px;color:rgba(255,255,255,.75);line-height:1.8}

/* ── 회사소개 ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:40px}}
.about-copy p{color:var(--ink-soft);font-size:15.5px;margin-bottom:18px}
.about-copy .sec-title{margin-bottom:26px}
.facts{border-top:2px solid var(--ink)}
.fact{display:flex;justify-content:space-between;align-items:baseline;padding:20px 4px;border-bottom:1px solid var(--line);font-size:14.5px}
.fact b{font-family:var(--serif);font-size:17px}
.fact span{color:var(--ink-soft)}

/* ── 문의 ── */
.contact{background:var(--mist)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:40px}}
.contact .sec-title{margin-bottom:20px}
.contact-lead{color:var(--ink-soft);font-size:15px;margin-bottom:34px;max-width:420px}
.c-list{display:flex;flex-direction:column;gap:16px;font-size:15px}
.c-list div{display:flex;gap:16px}
.c-list b{min-width:64px;font-weight:600;color:var(--sky-deep)}
.form{background:#fff;border:1px solid var(--line);border-radius:6px;padding:34px 30px}
.form label{display:block;font-size:13px;font-weight:600;margin:0 0 7px;color:var(--ink-soft)}
.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:12px 14px;font-size:14.5px;font-family:var(--sans);margin-bottom:18px;background:var(--paper)}
.form input:focus,.form textarea:focus{outline:2px solid var(--sky);border-color:transparent}
.form button{width:100%;background:var(--ink);color:#fff;border:0;border-radius:4px;padding:15px;font-size:15px;font-weight:500;font-family:var(--sans);cursor:pointer;transition:background .2s}
.form button:hover{background:var(--sky-deep)}
.form .note{font-size:12px;color:var(--ink-soft);margin-top:12px;text-align:center}

/* ── 서브페이지 공통 ── */
.page-hero{padding:150px 0 62px;color:#fff;background:linear-gradient(174deg,#16273A 0%,#2B5178 55%,#5E8AB0 100%)}
.crumb{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:22px}
.crumb a:hover{color:#fff}
.crumb i{font-style:normal;margin:0 8px;color:rgba(255,255,255,.35)}
.page-hero .en{font-size:12.5px;letter-spacing:.18em;color:#9FC3DE;font-weight:600;margin-bottom:12px}
.page-hero h1{font-family:var(--serif);font-size:clamp(30px,4vw,42px);font-weight:700;line-height:1.4;margin-bottom:18px}
.page-hero p{max-width:600px;font-size:16px;font-weight:300;color:rgba(255,255,255,.86)}
.define{border-left:3px solid var(--gold);padding:6px 0 6px 26px;margin-bottom:8px}
.define p{font-size:16.5px;color:var(--ink-soft)}
.define b{color:var(--ink)}
.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
@media(max-width:820px){.parts{grid-template-columns:1fr}}
.part{background:var(--paper);padding:32px 26px}
.part .no{font-family:var(--serif);font-size:14px;color:var(--gold);font-weight:700;letter-spacing:.1em;margin-bottom:12px}
.part h3{font-family:var(--serif);font-size:18.5px;font-weight:700;margin-bottom:6px}
.part .en2{font-size:11.5px;letter-spacing:.1em;color:var(--sky);font-weight:600;margin-bottom:14px}
.part p{font-size:14px;color:var(--ink-soft)}
.part ul{margin:12px 0 0 2px;list-style:none}
.part li{font-size:13.5px;color:var(--ink-soft);padding:5px 0 5px 18px;position:relative}
.part li::before{content:"·";position:absolute;left:4px;color:var(--sky);font-weight:700}
.checks{margin-top:44px;border-top:2px solid var(--ink)}
.check{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:30px 4px;border-bottom:1px solid var(--line)}
.check .q{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--gold);padding-top:2px}
.check h3{font-family:var(--serif);font-size:18px;font-weight:700;margin-bottom:8px}
.check p{font-size:14.5px;color:var(--ink-soft)}
.check p b{color:var(--ink)}
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:84px 0}
.cta-band h2{font-family:var(--serif);font-size:clamp(24px,3.2vw,32px);font-weight:700;line-height:1.5;margin-bottom:16px}
.cta-band p{color:rgba(255,255,255,.78);font-weight:300;font-size:15.5px;max-width:560px;margin:0 auto 36px}
.more{padding:52px 0}
.more h2{font-family:var(--serif);font-size:20px;font-weight:700;margin-bottom:24px}
.more-links{display:flex;gap:12px;flex-wrap:wrap}
.more-links a{border:1px solid var(--line);border-radius:100px;padding:9px 20px;font-size:13.5px;color:var(--ink-soft);transition:all .2s}
.more-links a:hover{border-color:var(--sky);color:var(--sky-deep);background:var(--mist)}

/* ── 리포트 아카이브 ── */
.report-list{border-top:2px solid var(--ink);margin-top:40px}
.report-item{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:baseline;padding:26px 4px;border-bottom:1px solid var(--line);transition:background .2s}
.report-item:hover{background:var(--mist)}
@media(max-width:640px){.report-item{grid-template-columns:1fr;gap:6px}}
.report-item .date{font-family:var(--serif);font-weight:700;font-size:16px;color:var(--sky-deep)}
.report-item h3{font-size:16.5px;font-weight:600;margin-bottom:4px}
.report-item p{font-size:13.5px;color:var(--ink-soft)}
.report-item .tag{font-size:12px;color:var(--gold);font-weight:600;letter-spacing:.06em}

/* ── Footer ── */
footer{background:var(--ink);color:rgba(255,255,255,.65);padding:48px 0;font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer .f-logo{font-family:var(--serif);color:#fff;font-size:16px;font-weight:700;margin-bottom:12px}
footer p{line-height:1.9}
footer .legal{max-width:520px}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ── 리포트 아티클(발행본) ── */
.article{max-width:720px;margin:0 auto;padding:0 24px}
.art-meta{display:flex;gap:14px;align-items:center;font-size:13px;color:var(--ink-soft);margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.art-meta .tag{color:var(--gold);font-weight:600;letter-spacing:.06em;font-size:12px}
.article h2{font-family:var(--serif);font-size:21px;font-weight:700;margin:44px 0 14px;line-height:1.5}
.article p{font-size:15px;color:var(--ink-soft);margin-bottom:16px;line-height:1.9}
.article p b{color:var(--ink)}
.case-box{background:var(--mist);border-radius:6px;padding:24px 24px 18px;margin:20px 0 26px}
.case-box .cb-label{font-size:11.5px;letter-spacing:.14em;color:var(--sky-deep);font-weight:600;margin-bottom:10px}
.case-box p{font-size:14px;margin-bottom:10px}
.art-check{border-top:2px solid var(--ink);margin:20px 0 8px}
.art-check div{display:flex;gap:14px;padding:14px 2px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-soft)}
.art-check b{color:var(--sky-deep);min-width:22px;font-family:var(--serif)}
.mask-note{font-size:12.5px;color:var(--ink-soft);background:#fff;border:1px dashed var(--line);border-radius:4px;padding:12px 16px;margin-top:36px}

/* ── 단체보험 운영 증거 ── */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media(max-width:820px){.proof{grid-template-columns:1fr}}
.proof-item{border:1px solid var(--line);border-radius:6px;padding:26px 24px;background:#fff}
.proof-item .pi-label{font-size:11.5px;letter-spacing:.12em;color:var(--gold);font-weight:600;margin-bottom:10px}
.proof-item h3{font-family:var(--serif);font-size:17px;font-weight:700;margin-bottom:8px}
.proof-item p{font-size:13.5px;color:var(--ink-soft);line-height:1.75}
.travel-band{background:var(--mist);border-radius:6px;padding:30px 28px;margin-top:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.travel-band h3{font-family:var(--serif);font-size:18px;font-weight:700;margin-bottom:6px}
.travel-band p{font-size:14px;color:var(--ink-soft);max-width:520px}

/* ── 보종 전환 서브 내비 ── */
.prod-nav{position:sticky;top:64px;z-index:40;background:rgba(250,251,252,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch}
.prod-nav .wrap{display:flex;gap:2px;white-space:nowrap}
.prod-nav a{padding:14px 15px;font-size:13.5px;color:var(--ink-soft);border-bottom:2px solid transparent;flex-shrink:0}
.prod-nav a:hover{color:var(--sky-deep)}
.prod-nav a.cur{color:var(--sky-deep);border-color:var(--sky-deep);font-weight:600}
@media(max-width:640px){.prod-nav a{padding:12px 12px;font-size:12.5px}}

/* PKG 4파트 그리드 (2x2) */
.parts-4{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.parts-4{grid-template-columns:1fr}}



/* ═══ 모바일 가독성 최적화 ═══ */
@media(max-width:640px){
  /* 강제 줄바꿈 해제 — keep-all이 자연스럽게 처리 */
  .hero h1 br,.sec-title br,.cta-band h2 br,.page-hero h1 br{display:none}

  /* 전체 리듬 축소 */
  section{padding:52px 0}
  .wrap,.narrow{padding:0 20px}
  .eyebrow{font-size:11.5px;margin-bottom:10px}
  .sec-title{font-size:22px;line-height:1.5}

  /* 헤더 */
  .logo{font-size:17px}
  .logo span{display:none}

  /* 히어로 */
  .hero{min-height:auto;padding:104px 0 118px}
  .hero h1{font-size:25px;line-height:1.5;margin-bottom:18px}
  .hero p{font-size:14.5px;line-height:1.85;margin-bottom:30px}
  .dict{font-size:12.5px;padding:8px 14px;margin-bottom:24px}
  .dict b{font-size:14px}
  .hero-foot{bottom:20px}
  .hero-foot .wrap{gap:20px;font-size:12px}
  .hero-foot b{font-size:15px;margin-right:5px}

  /* 버튼 — 풀폭 스택 */
  .btn{display:block;width:100%;text-align:center;padding:13px 20px;font-size:14.5px}
  .btn-ghost{margin:10px 0 0}

  /* 서브페이지 히어로 */
  .page-hero{padding:110px 0 44px}
  .page-hero h1{font-size:26px}
  .page-hero p{font-size:14.5px;line-height:1.85}
  .page-hero .en{font-size:11px}
  .crumb{font-size:12px;margin-bottom:16px}

  /* 카드·리스트 */
  .lines-head{margin-bottom:32px}
  .lines-head p{font-size:13.5px}
  .line-card{padding:24px 20px}
  .line-card h3{font-size:17px}
  .line-card p{font-size:13.5px;line-height:1.7}
  .line-card .go{margin-top:12px;font-size:12.5px}

  /* 정의·담보 파트 */
  .define{padding-left:18px}
  .define p{font-size:14.5px;line-height:1.85}
  .parts{margin-top:32px}
  .part{padding:24px 20px}
  .part h3{font-size:17px}
  .part p,.part li{font-size:13.5px}

  /* 해밀의 방식 */
  .way-lead{font-size:14px;margin-bottom:36px;line-height:1.85}
  .way-grid{gap:26px}
  .way-item{padding-top:18px}
  .way-item h3{font-size:16.5px;margin-bottom:8px}
  .way-item p{font-size:13.5px}

  /* 회사소개 팩트 */
  .about-copy p{font-size:14.5px;line-height:1.85}
  .fact{padding:14px 2px;font-size:13.5px}
  .fact b{font-size:15px}

  /* 체크포인트 */
  .checks{margin-top:32px}
  .check{grid-template-columns:38px 1fr;gap:14px;padding:22px 2px}
  .check .q{font-size:17px}
  .check h3{font-size:16px;line-height:1.55}
  .check p{font-size:13.5px;line-height:1.8}

  /* CTA 밴드 */
  .cta-band{padding:56px 0}
  .cta-band h2{font-size:21px;line-height:1.55}
  .cta-band p{font-size:14px;margin-bottom:28px}

  /* 문의 폼 */
  .contact-lead{font-size:14px;margin-bottom:26px}
  .c-list{font-size:14px;gap:13px}
  .c-list b{min-width:56px}
  .form{padding:24px 18px}
  .form input,.form textarea{font-size:15px;padding:11px 12px;margin-bottom:14px}

  /* 리포트 목록 */
  .report-item{padding:20px 2px}
  .report-item h3{font-size:15px}
  .report-item p{font-size:13px}

  /* 하단 링크칩·푸터 */
  .more{padding:40px 0}
  .more-links a{font-size:12.5px;padding:8px 16px}
  footer{padding:36px 0;font-size:12px}
  footer .wrap{flex-direction:column;gap:18px}
}

/* 폼 제출 상태 */
.form-msg{display:none;border-radius:4px;padding:14px 16px;font-size:14px;margin-bottom:16px}
.form-msg.ok{display:block;background:#EAF5EC;color:#1F5C2E;border:1px solid #BFDEC6}
.form-msg.err{display:block;background:#FBECEC;color:#8A2A2A;border:1px solid #E8C4C4}
.form button:disabled{opacity:.55;cursor:wait}
.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
