/* /hi — 현대해상 굿앤굿어린이종합보험Q 안내 (아이보험연구소 자체 페이지)
   현대해상 서버의 화면·스크립트·추적 태그를 쓰지 않고, 우리 사이트 톤(노랑·네이비·Pretendard)으로 다시 만든 페이지 */
:root{
  --brand:#FEE500; --brand-deep:#E6C800; --brand-soft:#FFFBE0;
  --navy:#16181F; --ink:#191F28; --sub:#6B7280; --muted:#9CA3AF;
  --line:#E8E6E1; --soft:#F8F7F3; --card:#fff;
  --danger:#E34948; --ok:#2E7D4F; --new:#FF6B3D;
  --maxw:1080px; --r:16px; --r-sm:12px;
  --ease:cubic-bezier(.16,1,.3,1);
  --shadow:0 12px 40px rgba(17,24,39,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:128px}
body{font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.65;letter-spacing:-0.02em;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
@media(max-width:420px){.wrap{padding:0 16px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── nav ── */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:16px}
.logo{display:flex;align-items:center;gap:12px;white-space:nowrap}
.logo-hi{width:auto;height:24px}
.logo-text{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;letter-spacing:-0.03em;color:var(--ink)}
.logo-text::before{content:"";width:1px;height:16px;background:var(--line)}
@media(max-width:720px){
  .logo{flex-direction:column;align-items:flex-start;gap:4px}
  .logo-hi{height:18px}
  .logo-text{font-size:12px;font-weight:600;color:var(--sub)}
  .logo-text::before{display:none}
}
.nav-menu{display:flex;gap:4px;margin-left:auto}
.nav-menu a{position:relative;display:flex;align-items:center;height:44px;padding:0 12px;font-size:15px;font-weight:700;color:#4B5563;border-radius:10px;transition:color .15s,background .15s}
.nav-menu a::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:3px;border-radius:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-menu a.is-current{color:var(--ink)}
.nav-menu a.is-current::after{transform:scaleX(1)}
.nav-menu a:active{background:var(--soft)}
@media(hover:hover){.nav-menu a:hover{color:var(--ink)}}
.nav-menu + .nav-cta{margin-left:8px}
.nav-cta{margin-left:auto;background:var(--brand);font-size:14px;font-weight:800;padding:9px 18px;border-radius:10px;white-space:nowrap;transition:transform .1s ease-out,background .15s}
.nav-cta:active{transform:scale(.97)}
@media(max-width:420px){.nav-in{padding:0 16px}}

/* ── hero + 보험료 계산 ── */
.hero{background:linear-gradient(180deg,var(--brand-soft) 0%,#fff 78%);padding:56px 0 72px}
.hero-grid{display:grid;grid-template-columns:1fr 440px;gap:48px;align-items:start}
@media(max-width:900px){.hero{padding:36px 0 48px}.hero-grid{grid-template-columns:1fr;gap:28px}}
/* 데스크톱에서는 글을 계산 카드 쪽으로 조금 내려 균형을 맞춘다 */
.hero-copy{padding-top:56px}
@media(max-width:900px){.hero-copy{padding-top:0}}
.kicker{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:15px;font-weight:700;color:var(--sub)}
.kicker span{color:#D1CEC6;font-weight:400}
.hero h1{font-size:clamp(30px,5vw,50px);line-height:1.18;letter-spacing:-0.045em;font-weight:800}
.hero h1 small{display:inline-block;font-size:.4em;font-weight:700;color:var(--sub);letter-spacing:-0.01em;vertical-align:middle;margin-left:6px}
.hero-stat{margin-top:22px;font-size:clamp(18px,2.4vw,24px);font-weight:700;line-height:1.45;letter-spacing:-0.04em}
.hero-stat em{font-style:normal;background:linear-gradient(transparent 60%,var(--brand) 60%)}
.hero-src{margin-top:12px;font-size:13px;color:var(--sub);line-height:1.7}
.hero-points{margin-top:26px;display:grid;gap:10px}
.hero-points li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;font-weight:600}
.hero-points li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.2l2.6 2.6L14 7.4' fill='none' stroke='%23191F28' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
@media(max-width:900px){.hero-points{display:none}}

.calc{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px}
@media(max-width:420px){.calc{padding:22px 18px;border-radius:20px}}
.calc h2{font-size:21px;font-weight:800;letter-spacing:-0.04em}
.calc-sub{font-size:14px;color:var(--sub);margin-top:4px}
.fields{margin-top:20px;display:grid;gap:12px}
.row2{display:grid;grid-template-columns:1fr auto;gap:10px}
.phone{display:grid;grid-template-columns:96px 1fr;gap:8px}
.field{position:relative}
.input,.select{width:100%;height:52px;border:1px solid #D9D6CF;border-radius:var(--r-sm);background:#fff;padding:0 14px;font-size:16px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23191F28' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center/16px no-repeat;padding-right:34px}
.input::placeholder{color:var(--muted)}
.input:focus,.select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(25,31,40,.08)}
.field.is-bad .input,.seg.is-bad{border-color:var(--danger);box-shadow:0 0 0 3px rgba(227,73,72,.12)}
.err{display:none;margin-top:6px;font-size:13px;font-weight:600;color:var(--danger)}
.is-bad > .err,.is-bad + .err{display:block}
.label{font-size:13.5px;font-weight:700;color:var(--sub);margin-bottom:6px}

/* 고르기(성별·가입 구분) — 버튼처럼 누르는 라디오 */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:var(--r-sm);background:var(--soft);border:1px solid transparent;height:52px}
.seg label{position:relative;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:15px;font-weight:700;color:var(--sub);cursor:pointer;white-space:nowrap;padding:0 12px;transition:background .2s var(--ease),color .2s,box-shadow .2s,transform .1s ease-out}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:active{transform:scale(.97)}
.seg label:has(input:checked){background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(17,24,39,.12)}
.seg label:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:1px}

.consent{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}
.consent-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.consent-title{font-size:14px;font-weight:700;line-height:1.45}
.consent-title .tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;margin-right:6px;border-radius:6px;background:var(--navy);color:#fff;font-size:11.5px;font-weight:700;vertical-align:1px}
.link-btn{flex:0 0 auto;font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding:6px 2px}
.consent .seg{margin-top:10px;height:46px}

.actions{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 14px;border-radius:14px;font-size:16px;font-weight:800;letter-spacing:-0.03em;white-space:nowrap;transition:transform .1s ease-out,filter .15s,opacity .15s}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.55;cursor:progress}
.btn-kakao{background:var(--brand);color:#191919}
.btn-kakao svg{width:22px;height:22px;fill:#191919;flex:0 0 auto}
.btn-primary{background:var(--navy);color:#fff}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink);height:52px;font-size:15px;font-weight:700}
@media(hover:hover){.btn-kakao:hover,.btn-primary:hover{filter:brightness(1.06)}}
@media(max-width:360px){.actions{grid-template-columns:1fr}}
.calls{margin-top:10px;display:grid;gap:8px}
.call{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;font-size:15px;font-weight:700;transition:transform .1s ease-out,background .15s}
.call:active{transform:scale(.98);background:var(--soft)}
.call small{font-size:12.5px;font-weight:600;color:var(--sub)}
.call svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.call span{display:flex;flex-direction:column;line-height:1.35}

/* ── 상품 정보 탭 ── */
.info{padding:32px 0 80px}
.tabbar{position:sticky;top:64px;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.tabs{position:relative;display:flex;max-width:var(--maxw);margin:0 auto;padding:0 24px}
@media(max-width:420px){.tabs{padding:0 16px}}
.tab{flex:1;height:56px;font-size:16px;font-weight:700;color:var(--sub);transition:color .2s}
.tab[aria-selected="true"]{color:var(--ink)}
.tab-ink{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--ink);border-radius:3px 3px 0 0;transition:transform .45s var(--ease),width .45s var(--ease)}
.panel[hidden]{display:none}
.panel{padding-top:40px}
.sec-title{font-size:clamp(24px,3.4vw,34px);font-weight:800;letter-spacing:-0.045em;line-height:1.3}
.sec-lead{margin-top:8px;font-size:15.5px;color:var(--sub)}
.block{margin-top:56px}
.block:first-child{margin-top:0}
.h3{font-size:20px;font-weight:800;letter-spacing:-0.04em;margin:40px 0 12px}
.h3:first-child{margin-top:0}
.h4{font-size:16.5px;font-weight:800;margin:24px 0 8px}
.p{font-size:15.5px;line-height:1.8;color:#374151}
.p + .p{margin-top:8px}
.p strong,.dots strong{color:var(--ink)}
.mark{font-weight:700;color:var(--ink);background:linear-gradient(transparent 62%,var(--brand) 62%)}
.note{margin-top:10px;font-size:13.5px;line-height:1.75;color:var(--sub);padding-left:16px;position:relative}
.note::before{content:"※";position:absolute;left:0}
.dots{display:grid;gap:8px}
.dots li{position:relative;padding-left:14px;font-size:15.5px;line-height:1.7;color:#374151}
.dots li::before{content:"";position:absolute;left:2px;top:.78em;width:4px;height:4px;border-radius:50%;background:currentColor}
.dots li p{margin-top:4px;color:var(--sub);font-size:14.5px}
.dots ul{margin-top:4px}
.badge-new{display:inline-flex;align-items:center;height:20px;padding:0 7px;margin-left:6px;border-radius:999px;background:var(--new);color:#fff;font-size:11px;font-weight:800;letter-spacing:0;vertical-align:2px}

/* 성장 단계별 보장 — 옆으로 넘기는 카드 */
.stages{margin-top:22px;display:grid;grid-auto-flow:column;grid-auto-columns:min(340px,84%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;padding:4px 24px 18px;margin-left:-24px;margin-right:-24px;scrollbar-width:none;overscroll-behavior-x:contain}
.stages::-webkit-scrollbar{display:none}
@media(min-width:1000px){.stages{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible;margin:22px 0 0;padding:0}}
@media(max-width:420px){.stages{padding:4px 16px 18px;margin-left:-16px;margin-right:-16px;scroll-padding-inline:16px}}
.stage{scroll-snap-align:start;background:var(--soft);border-radius:var(--r);padding:22px 20px}
.stage-head{display:flex;align-items:center;gap:12px}
.stage-ico{width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:0 0 auto}
.stage-ico img{width:44px;height:44px}
.stage h4{font-size:17px;font-weight:800;letter-spacing:-0.04em;line-height:1.35}
.stage h4 small{display:block;font-size:12.5px;font-weight:600;color:var(--sub)}
.stage-sum{margin:14px 0 12px;font-size:14.5px;font-weight:700;line-height:1.6}
.stage .dots li{font-size:14px}
.stage .note{font-size:12.5px}
.stage-dots{display:flex;justify-content:center;gap:6px;margin-top:2px}
.stage-dots span{width:6px;height:6px;border-radius:3px;background:#D9D6CF;transition:width .35s var(--ease),background .2s}
.stage-dots span.on{width:20px;background:var(--ink)}
@media(min-width:1000px){.stage-dots{display:none}}

/* 핵심 보장 4가지 */
.points{margin-top:22px;display:grid;gap:0}
.point{display:grid;grid-template-columns:1fr 200px;gap:24px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.point:first-child{border-top:0;padding-top:8px}
@media(max-width:640px){.point{grid-template-columns:1fr 112px;gap:14px;padding:26px 0}}
@media(max-width:380px){.point{grid-template-columns:1fr 80px;gap:10px}.row2{grid-template-columns:1fr}}
.point-no{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:var(--brand);font-size:13.5px;font-weight:800}
.point h4{margin-top:12px;font-size:clamp(19px,2.6vw,24px);font-weight:800;line-height:1.45;letter-spacing:-0.045em}
.point h4 small{display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--sub);letter-spacing:-0.02em}
.point .dots,.point .p{margin-top:12px}
.point img{width:100%;max-width:200px;justify-self:end}
.tip{position:relative;display:inline-flex;vertical-align:-3px}
.tip-btn{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--ink);font-size:12px;font-weight:800;line-height:1;display:grid;place-items:center}
.tip-body{position:absolute;left:50%;top:calc(100% + 8px);width:min(280px,72vw);transform:translateX(calc(-50% + var(--dx,0px))) scale(.96);transform-origin:top center;opacity:0;pointer-events:none;background:var(--navy);color:#fff;font-size:13px;line-height:1.6;padding:12px 14px;border-radius:12px;z-index:5;transition:opacity .18s,transform .25s var(--ease)}
.tip.is-open .tip-body{opacity:1;transform:translateX(calc(-50% + var(--dx,0px))) scale(1);pointer-events:auto}

/* 부가서비스 */
.services{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:860px){.services{grid-template-columns:1fr}}
.service{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff}
.service-tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--soft);font-size:12.5px;font-weight:800}
.service h4{margin-top:10px;font-size:20px;font-weight:800;letter-spacing:-0.04em}
.service h4 span{font-size:15px;font-weight:600;color:var(--sub)}
.service h5{margin:20px 0 8px;font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}
.service h5 .pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;background:var(--navy);color:#fff;font-size:12px}
.service .dots li{font-size:14.5px}
.service img{margin:6px auto 4px;width:100%;max-width:320px}
.service-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.service-foot .note{margin-top:4px;font-size:12.5px}

/* 펼쳐 보기 */
.fold{margin-top:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.fold summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;font-size:16px;font-weight:800;cursor:pointer}
.fold summary::-webkit-details-marker{display:none}
.fold summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--ease)}
.fold[open] summary::after{transform:rotate(-135deg) translateX(-2px)}
.fold-body{padding:0 20px 22px}
.fold-body .h4:first-child{margin-top:0}

/* 표 */
.tbl{margin-top:12px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);-webkit-overflow-scrolling:touch}
.tbl table{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.6}
.tbl th,.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th:last-child,.tbl td:last-child{border-right:0}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0}
.tbl thead th{background:var(--soft);font-weight:800;white-space:nowrap}
.tbl tbody th{font-weight:700;background:#FCFBF8;min-width:120px}
.tbl th small,.tbl td small{display:block;font-size:12px;font-weight:500;color:var(--sub)}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}
.subtab{height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);font-size:14.5px;font-weight:700;color:var(--sub);background:#fff;transition:background .2s,color .2s,border-color .2s,transform .1s ease-out}
.subtab:active{transform:scale(.97)}
.subtab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.contact-list{margin-top:4px}
.contact-list li{font-size:14.5px;color:var(--sub)}

.conf{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--sub);text-align:right}
.bottom-cta{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px;margin-left:auto;margin-right:auto}
@media(max-width:360px){.bottom-cta{grid-template-columns:1fr}}

/* ── 바닥글 ── */
footer{background:#0E1014;color:rgba(255,255,255,.45);padding:48px 0 calc(96px + env(safe-area-inset-bottom));font-size:13.5px;line-height:2}
footer .flogo{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:800;color:#fff;margin-bottom:10px}
footer .disc{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;line-height:1.9;color:rgba(255,255,255,.36)}
footer a{color:rgba(255,255,255,.6)}

.kakao-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:95;display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#191919;font-size:15px;font-weight:800;padding:13px 20px 13px 16px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.2);transition:transform .1s ease-out,opacity .25s}
.kakao-fab svg{width:22px;height:22px;fill:#191919}
.kakao-fab:active{transform:scale(.96)}
.kakao-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}
@media(max-width:520px){.kakao-fab{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));font-size:14px;padding:12px 17px 12px 14px}}

/* ── 시트(동의서·결과) ── */
.sheet{border:0;padding:0;margin:auto;width:min(520px,calc(100% - 32px));max-height:min(86vh,760px);border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 24px 60px rgba(17,24,39,.22);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .22s,transform .4s var(--ease),overlay .4s allow-discrete,display .4s allow-discrete}
.sheet[open]{opacity:1;transform:none}
@starting-style{.sheet[open]{opacity:0;transform:translateY(16px) scale(.98)}}
.sheet::backdrop{background:rgba(14,16,20,0);transition:background .3s,overlay .4s allow-discrete,display .4s allow-discrete}
.sheet[open]::backdrop{background:rgba(14,16,20,.48)}
@starting-style{.sheet[open]::backdrop{background:rgba(14,16,20,0)}}
@media(max-width:640px){
  .sheet{margin:auto 0 0;width:100%;max-width:100%;max-height:88vh;border-radius:24px 24px 0 0;transform:translateY(100%)}
  .sheet[open]{transform:none}
  @starting-style{.sheet[open]{transform:translateY(100%)}}
}
.sheet-in{padding:26px 24px calc(22px + env(safe-area-inset-bottom));overflow-y:auto;max-height:inherit}
.sheet-grab{display:none;width:40px;height:5px;border-radius:3px;background:#D9D6CF;margin:-12px auto 16px}
@media(max-width:640px){.sheet-grab{display:block}}
.sheet h2{font-size:21px;font-weight:800;letter-spacing:-0.04em;line-height:1.4}
.sheet .p{margin-top:8px;font-size:15px}
.sheet .tbl table{min-width:0}
.sheet .tbl tbody th{min-width:96px;width:32%}
.sheet-actions{margin-top:20px;display:grid;gap:8px}
.sheet-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:var(--soft);display:grid;place-items:center}
.sheet-close svg{width:16px;height:16px;stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round}
.result-price{margin-top:18px;padding:20px;border-radius:var(--r);background:var(--brand-soft)}
.result-price .lbl{font-size:13.5px;font-weight:700;color:var(--sub)}
.result-price .num{margin-top:2px;font-size:34px;font-weight:800;letter-spacing:-0.04em;line-height:1.25;font-variant-numeric:tabular-nums}
.result-price .num small{font-size:17px;font-weight:700;margin-left:2px}
.result-price .cond{margin-top:6px;font-size:13.5px;color:var(--sub);line-height:1.6}
.result-price.is-loading .num{color:transparent;background:linear-gradient(90deg,#F1EEE2 25%,#FBF8EC 50%,#F1EEE2 75%);background-size:200% 100%;border-radius:8px;animation:shimmer 1.2s linear infinite;width:60%}
@keyframes shimmer{to{background-position:-200% 0}}
.ok-mark{width:52px;height:52px;border-radius:50%;background:var(--brand);display:grid;place-items:center;margin-bottom:14px}
.ok-mark svg{width:26px;height:26px;stroke:var(--ink);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}

.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:200;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--navy);color:#fff;font-size:14.5px;font-weight:600;padding:12px 18px;border-radius:999px;max-width:calc(100% - 32px);text-align:center;transition:opacity .2s,transform .35s var(--ease)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
  .sheet,.sheet[open]{transform:none}
}
@media(prefers-reduced-transparency:reduce){.nav,.tabbar{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* ── 모바일 최적화 ── */
html{-webkit-tap-highlight-color:transparent}
.nav-in{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.sheet-in{overscroll-behavior:contain}
.folds{display:grid;gap:8px}
.folds .fold{margin-top:0}
.fold summary{min-height:56px;line-height:1.45}
.fold summary::after{flex:0 0 auto}
.fold-body .p:first-child{margin-top:0}
/* 누르기 쉬운 크기(44px 이상) */
.link-btn{min-height:44px;padding:0 4px}
.consent .seg{height:48px}
.subtab{height:44px;padding:0 18px}
.tip-btn{position:relative}
.tip-btn::after{content:"";position:absolute;inset:-12px}
/* 표: 옆으로 밀 수 있다는 걸 가장자리 그림자로 알린다 */
.tbl{background:
  linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left/28px 100% no-repeat local,
  linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right/28px 100% no-repeat local,
  radial-gradient(farthest-side at 0 50%,rgba(17,24,39,.14),transparent) left/12px 100% no-repeat scroll,
  radial-gradient(farthest-side at 100% 50%,rgba(17,24,39,.14),transparent) right/12px 100% no-repeat scroll;
  overscroll-behavior-x:contain}
.tbl thead th,.tbl tbody th{background-clip:padding-box}

/* 하단 고정 상담 바 — 모바일에서만, 계산 카드가 보일 때는 내려간다 */
.mbar{display:none}
@media(max-width:720px){
  .kakao-fab{display:none}
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:96;display:grid;grid-template-columns:1fr 1fr;gap:8px;
    padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
    background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);
    box-shadow:0 -1px 0 var(--line);transition:transform .4s var(--ease),opacity .25s}
  .mbar .btn{height:52px;font-size:15.5px}
  .mbar.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
  footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}

  .hero{padding:28px 0 36px}
  .kicker{margin-bottom:10px}
  .hero-stat{margin-top:14px}
  .hero-src{font-size:12.5px}
  .calc h2{font-size:20px}
  .info{padding:20px 0 56px}
  .panel{padding-top:32px}
  .block{margin-top:48px}
  .tab{height:52px;font-size:15.5px}
  .tabbar{top:64px}
  .point img{align-self:start;margin-top:40px}
  .services{gap:12px}
  .service{padding:20px}
  .conf{text-align:left;font-size:12.5px}
}
@media(max-width:420px){
  .nav-in{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .nav-cta{padding:8px 14px;font-size:13.5px}
}
@media(prefers-reduced-transparency:reduce){.mbar{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* 상단 메뉴 — 모바일은 '보험료 계산'이 하단 바에 있으니 상단 버튼을 빼고 메뉴 세 개를 둔다 */
@media(max-width:720px){
  .nav-cta{display:none}
  .nav-in{gap:10px}
  .nav-menu{gap:0;margin-right:-8px}
  .nav-menu a{padding:0 9px;font-size:14.5px}
  .nav-menu a::after{left:9px;right:9px}
}
@media(max-width:420px){.nav-menu a{padding:0 7px;font-size:14px}.nav-menu a::after{left:7px;right:7px}}
@media(max-width:374px){.logo-text{display:none}}

/* 시트를 열면 제목에 초점을 둬 닫기 버튼에 테두리가 먼저 뜨지 않게 */
.sheet h2:focus{outline:none}
