/* EUREKA BIZ — 안심계약 MASTER Design System v1 적용 (Trustworthy Warmth) */
:root{
  --brand:#3B4DE0; --brand-ink:#2C3BC0; --brand-wash:#EDEFFE;
  --safe:#0FAE7F; --safe-wash:#E4F6EF; --warn:#E08A0B; --warn-wash:#FBF1DF; --danger:#E5484D; --danger-wash:#FBE9E9;
  --ink:#181C33; --ink2:#3C4262; --muted:#6A7091;
  --border:#E2E6F2; --border2:#D3D8EA;
  --surface:#FFFFFF; --surface2:#ECEFFA; --ground:#F4F6FC;
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:22px; --pill:999px;
  --sh1:0 1px 2px rgba(24,28,51,.05);
  --sh2:0 2px 8px rgba(24,28,51,.06),0 1px 2px rgba(24,28,51,.05);
  --sh3:0 8px 28px rgba(31,40,90,.10),0 2px 6px rgba(24,28,51,.05);
  --sh-brand:0 8px 24px rgba(59,77,224,.28);
  --font:"Pretendard",system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --brand:#8A95FF; --brand-ink:#A6AFFF; --brand-wash:#1D2246;
  --safe:#3AD3A0; --safe-wash:#123528; --warn:#EAA53C; --warn-wash:#2C2110; --danger:#F06A6F; --danger-wash:#2C1616;
  --ink:#EAECF7; --ink2:#C2C7E0; --muted:#9096BA;
  --border:#282D4C; --border2:#333963;
  --surface:#161930; --surface2:#1E2240; --ground:#0C0E1A;
  --sh2:0 2px 8px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.3);
  --sh3:0 10px 30px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);
}}

/* ★ EUREKA BIZ = 다크 기본(브랜드 톤 + 원자로고 검정 히어로와 일체). 시스템 설정과 무관하게 강제 */
:root{
  color-scheme:dark;
  --brand:#8A95FF; --brand-ink:#A6AFFF; --brand-wash:#1D2246;
  --safe:#3AD3A0; --safe-wash:#123528; --warn:#EAA53C; --warn-wash:#2C2110; --danger:#F06A6F; --danger-wash:#2C1616;
  --ink:#F2F3FB; --ink2:#D6DAEE; --muted:#AAB0D2;   /* ★대비 강화: 배경에 안 먹히게 밝게 */
  --border:#2C3157; --border2:#3A4070;
  --surface:#171B34; --surface2:#20254A; --ground:#0C0E1A;
  --sh1:0 3px 10px rgba(0,0,0,.38),0 1px 3px rgba(0,0,0,.3);
  --sh2:0 8px 24px rgba(0,0,0,.44),0 2px 8px rgba(0,0,0,.32);
  --sh3:0 20px 48px rgba(0,0,0,.52),0 6px 16px rgba(0,0,0,.38);
  --sh-brand:0 8px 24px rgba(59,77,224,.40);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--ground);color:var(--ink);line-height:1.6;
  letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.tnum{font-variant-numeric:tabular-nums}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* Header (GNB) */
.hd{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--ground) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}
.hd-in{display:flex;align-items:center;gap:22px;height:86px}
.logo{display:flex;align-items:center;gap:12px;flex:none}
.logo .mk{width:46px;height:46px;border-radius:12px;display:block;box-shadow:var(--sh-brand);flex:none;overflow:hidden;background:#05070f;line-height:0}
.logo .mk iframe{width:46px;height:46px;border:0;display:block;pointer-events:none}
.logo-txt{display:flex;flex-direction:column;line-height:1.05;gap:2px}
.lt-tag{font-size:.66rem;font-weight:800;letter-spacing:.13em;color:var(--ind1);text-transform:uppercase}
.lt-name{font-size:1.34rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.lt-name b{color:var(--brand)}
.logo b{color:var(--brand)}
.logo-txt{white-space:nowrap}
/* 움직이는 원자로고(코딩) */
.mk .mk-spin{transform-box:view-box;transform-origin:16px 16px;animation:mkspin 16s linear infinite}
.mk .mk-sun{transform-box:view-box;transform-origin:16px 16px;animation:mkpulse 3.2s ease-in-out infinite}
@keyframes mkspin{to{transform:rotate(360deg)}}
@keyframes mkpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}
@media (prefers-reduced-motion:reduce){.mk .mk-spin,.mk .mk-sun{animation:none}}
/* 상단 메뉴 — 메뉴 9종이라 좁은 데스크톱(≤1400)에서 헤더가 넘치지 않도록 조인다 */
/* ★메뉴가 칸보다 넓어지면 가운데 정렬이 **양옆으로 흘러넘쳐** 로고를 덮는다.
   (1440px 에서도 내용 770px / 칸 537px 이었다 — 메뉴가 늘면서 생긴 오래된 결함)
   safe center = 넘칠 때만 왼쪽 정렬로 물러선다. overflow-x 로 넘친 부분은 밀어서 본다. */
.gnb{display:flex;align-items:center;justify-content:center;justify-content:safe center;
  gap:2px;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.gnb::-webkit-scrollbar{display:none}
.gnb a{padding:8px 10px;border-radius:var(--r-md);font-size:.9rem;font-weight:600;color:var(--ink2);transition:.12s;white-space:nowrap}
@media(max-width:1400px){
  .hd-in{gap:14px}
  .gnb a{padding:8px 7px;font-size:.855rem}
}
@media(max-width:1040px){
  .gnb a{padding:7px 4px;font-size:.76rem}
}
@media(max-width:1160px){
  .hd-in{gap:10px}
  .gnb a{padding:7px 5px;font-size:.8rem}
}
.gnb a:hover,.gnb a:focus-visible{color:var(--brand);background:var(--brand-wash)}
.gnb a.on{color:#fff;background:var(--brand);box-shadow:var(--sh-brand)}
.gnb a.on:hover{color:#fff;filter:brightness(1.08)}
.hd-cta{display:flex;align-items:center;gap:8px;flex:none}
.hd-burger{display:none;background:transparent;border:0;color:var(--ink);font-size:1.35rem;cursor:pointer;padding:2px 6px}
@media (max-width:860px){
  .hd-in{gap:12px;height:62px}
  .gnb{position:absolute;left:0;right:0;top:62px;flex-direction:column;align-items:stretch;gap:2px;display:none;
    background:var(--surface);border-bottom:1px solid var(--border);padding:10px 16px;box-shadow:var(--sh3)}
  body.nav-open .gnb{display:flex}
  .gnb a{padding:13px 10px;font-size:1rem}
  .hd-cta .btn-ghost{display:none}
  .hd-burger{display:block}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-weight:700;
  font-size:.95rem;border-radius:var(--r-md);padding:10px 18px;border:1px solid transparent;cursor:pointer;
  transition:.12s cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}
.btn-primary:hover{background:var(--brand-ink)}
.btn-ghost{background:transparent;color:var(--ink2)}
.btn-ghost:hover{background:var(--brand-wash);color:var(--brand-ink)}
.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--border2)}
.btn-secondary:hover{border-color:var(--brand);color:var(--brand-ink)}
.btn-sm{padding:7px 13px;font-size:.85rem}

/* Hero — 대화형 AI 탐색 */
.hero{padding:32px 0 20px;text-align:center}
.holo{max-width:520px;height:clamp(190px,32vw,270px);margin:0 auto 22px;border-radius:var(--r-xl);overflow:hidden;
  background:#000;border:1px solid var(--border2);box-shadow:var(--sh3),0 0 60px rgba(59,77,224,.18)}
.holo iframe{width:100%;height:100%;border:0;display:block}
.hero .eyebrow{display:inline-flex;gap:7px;align-items:center;font-size:.76rem;font-weight:700;color:var(--brand-ink);
  background:var(--brand-wash);padding:6px 13px;border-radius:var(--pill);margin-bottom:16px}
.hero h1{font-size:clamp(1.65rem,4.4vw,2.35rem);font-weight:800;line-height:1.18;margin:0 0 12px;letter-spacing:-.02em}
.hero h1 .b{color:var(--brand)}
.hero .lead{color:var(--muted);font-size:1.02rem;max-width:52ch;margin:0 auto 22px}
.ask{display:flex;gap:8px;max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--pill);padding:7px 7px 7px 20px;box-shadow:var(--sh3)}
.ask input{flex:1;border:0;background:transparent;font-family:inherit;font-size:1rem;color:var(--ink);outline:none}
.ask input::placeholder{color:var(--muted)}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:16px auto 0;max-width:660px}
.chip{font-size:.83rem;color:var(--ink2);background:var(--surface);border:1px solid var(--border);border-radius:var(--pill);
  padding:7px 14px;cursor:pointer;transition:.12s}
.chip:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-wash)}

/* Chat — 대화형 컨시어지 */
.chat{max-width:720px;margin:6px auto 0}
.chat-log{display:flex;flex-direction:column;gap:12px;padding:8px 0 4px;min-height:120px}
.msg{display:flex}
.msg.me{justify-content:flex-end}
.msg .b{max-width:84%;padding:12px 15px;border-radius:16px;font-size:.95rem;line-height:1.55;box-shadow:var(--sh1);word-break:break-word}
.msg.ai .b{background:var(--surface);border:1px solid var(--border);border-top-left-radius:5px}
.msg.me .b{background:var(--brand);color:#fff;border-top-right-radius:5px}
.typing{color:var(--muted)}
.pcards{display:grid;gap:8px;margin-top:11px}
.pcard{display:block;background:var(--ground);border:1px solid var(--border);border-radius:12px;padding:11px 13px;transition:.13s}
.pcard:hover{border-color:var(--brand);box-shadow:var(--sh2)}
.pcard .top{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:5px}
.pcard .t{font-weight:700;font-size:.92rem;line-height:1.38;color:var(--ink)}
.pcard .m{font-size:.8rem;color:var(--muted);margin-top:4px}
.chat-starters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:14px 0 10px}
.chat-input{display:flex;gap:8px;max-width:720px;margin:6px auto 0;background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--pill);padding:7px 7px 7px 20px;box-shadow:var(--sh3);position:sticky;bottom:12px;z-index:5}
.chat-input input{flex:1;border:0;background:transparent;font-family:inherit;font-size:1rem;color:var(--ink);outline:none}
.chat-input input::placeholder{color:var(--muted)}

/* 접이식 전체 목록 */
.more{margin-top:26px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:4px 16px 16px}
.more>summary{cursor:pointer;padding:14px 2px;font-weight:600;color:var(--ink2);font-size:.92rem;list-style:none}
.more>summary::-webkit-details-marker{display:none}
.more>summary::before{content:"▸ ";color:var(--brand)}
.more[open]>summary::before{content:"▾ "}

/* Stat tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}
.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--sh1)}
.tile .k{font-size:.8rem;color:var(--muted);font-weight:500}
.tile .v{font-size:1.7rem;font-weight:800;margin-top:3px;letter-spacing:-.02em}
.tile .v.b{color:var(--brand)} .tile .v.s{color:var(--safe)} .tile .v.w{color:var(--warn)}

/* Toolbar */
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 16px}
.bar h2{font-size:1.2rem;font-weight:700;margin:0;flex:1}
.sel{font-family:inherit;font-size:.88rem;color:var(--ink);background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--r-md);padding:8px 12px;cursor:pointer}

/* Program list */
.list{display:grid;gap:12px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:17px 19px;
  box-shadow:var(--sh2);transition:.15s;display:block}
.card:hover{box-shadow:var(--sh3);border-color:var(--border2);transform:translateY(-1px)}
.card .top{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.card .title{font-size:1.06rem;font-weight:700;line-height:1.4;margin:2px 0 8px}
.card .meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.card .meta b{color:var(--ink2);font-weight:600}
.card .sum{color:var(--muted);font-size:.9rem;margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:700;border-radius:var(--pill);padding:4px 10px}
.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.b-open{color:var(--safe);background:var(--safe-wash)}
.b-closed{color:var(--muted);background:var(--surface2)}
.b-cat{color:var(--brand-ink);background:var(--brand-wash);font-weight:600}
.b-dday{color:var(--warn);background:var(--warn-wash)}
.b-dday.urgent{color:var(--danger);background:var(--danger-wash)}

.empty{text-align:center;color:var(--muted);padding:60px 0}
.foot{margin-top:48px;padding:26px 0;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;text-align:center;line-height:1.9}

/* Responsive */
@media (max-width:920px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero{padding:32px 0 12px}
  .ask{padding:6px 6px 6px 16px}
  .card .meta{gap:10px}
}

/* ══════════ 디자인 업그레이드 레이어 (안심계약 .rc 이식 · EUREKA 인디고 톤) ══════════ */
:root{
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16);
  --ind1:#A6AFFF; --ind2:#8A95FF; --ind3:#5A67E8; --azure:#3B9BFF; --violet:#B08CFF; --gold:#FFC44D; --cyan:#3FE3D2;
  --e-std:cubic-bezier(.2,.7,.2,1);
}
/* ① 깊이 배경 = 멀티 radial + 그리드 */
body{
  background:
    radial-gradient(1000px 520px at 50% -6%, rgba(138,149,255,.16), transparent 60%),
    radial-gradient(820px 500px at 88% 4%, rgba(63,227,210,.07), transparent 62%),
    radial-gradient(760px 560px at 6% 28%, rgba(176,140,255,.10), transparent 60%),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
    var(--ground);
  background-size:100% 100%,100% 100%,100% 100%,54px 54px,54px 54px,100% 100%;
  background-attachment:fixed;
}
/* ③ 제목 강화 + 그라디언트 텍스트 */
.hero h1{letter-spacing:-.03em;text-wrap:balance}
h1,h2{text-wrap:balance}
.grad-i{background:linear-gradient(96deg,var(--ind1),var(--ind2) 55%,var(--azure));-webkit-background-clip:text;background-clip:text;color:transparent}
/* ④ 버튼 = 그라디언트 + 컬러 섀도(hover 시 섀도 자람) */
.btn-primary{background:linear-gradient(180deg,var(--ind1),var(--ind3));box-shadow:0 10px 30px rgba(90,103,232,.42)}
.btn-primary:hover{background:linear-gradient(180deg,var(--ind1),var(--ind3));box-shadow:0 15px 42px rgba(90,103,232,.62)}
/* ⑤ 카드 = hover 떠오름 + 컬러 섀도 */
.card,.pcard,.tile,.fcard,.mcard,.path,.wprog,.grp,.gauge,.sec{transition:transform .25s var(--e-std),border-color .25s,box-shadow .25s}
.card:hover,.pcard:hover,.fcard:hover,.mcard:hover,.path:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:0 16px 38px rgba(90,103,232,.28)}
.tile:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(90,103,232,.22)}
.logo .mk{box-shadow:0 8px 24px rgba(90,103,232,.5)}
/* ② 히어로 오로라 글로우 + 홀로그램 라운드 */
.hero{position:relative}
.hero>:not(.au){position:relative;z-index:1}
.holo{border-radius:24px;box-shadow:0 24px 64px rgba(0,0,0,.5),0 0 80px rgba(90,103,232,.22)}
.au{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none;z-index:0}
.au-1{width:340px;height:340px;background:radial-gradient(circle,#8A95FF,transparent 68%);top:-10%;left:0;animation:auf 18s ease-in-out infinite}
.au-2{width:380px;height:380px;background:radial-gradient(circle,#3B9BFF,transparent 68%);top:4%;right:0;animation:auf 22s ease-in-out infinite}
.au-3{width:300px;height:300px;background:radial-gradient(circle,#B08CFF,transparent 68%);bottom:-8%;left:28%;animation:auf 20s ease-in-out infinite reverse}
@keyframes auf{0%,100%{transform:translate(0,0)}50%{transform:translate(-22px,-16px)}}
/* eyebrow */
.eyebrow{letter-spacing:.06em}
/* 스크롤 리빌(ui.js가 클래스 부여) */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--e-std),transform .7s var(--e-std)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.au{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* ══ 레이아웃 정렬: 헤더=본문 폭 통일 + 오버플로우 차단 ══ */
.hero{overflow:hidden}                     /* 오로라 글로우를 히어로 안으로 클리핑(가로 오버플로우 방지) */
.wrap{max-width:1040px}                     /* 헤더·본문 공통 컨테이너 */
/* 폼/문서 페이지의 좁은 내부 래퍼를 .wrap 폭에 맞춤 → 헤더와 좌우 정렬 일치 */
body .dh, body .sv, body .pv, body .hv, body .wdoc, body .mp, body .dv, body .detail, body .wv, body .hv{max-width:100%}

/* ══ 폰트 확대 + 가시성 ══ */
html{font-size:17px}
body{color:var(--ink)}
.muted,.lead,.hint,.sub{color:var(--ink2)!important}   /* 배경에 안 먹히게 보조텍스트도 밝게 */

/* ══ 2단 히어로: 좌=큰 홀로그램 / 우=소개 카드 ══ */
.hero2{display:grid;grid-template-columns:3fr 7fr;gap:30px;align-items:stretch;text-align:left;padding:30px 0 22px}
.hero2 .hero-holo{display:flex}
.hero2 .hero-holo .holo{width:100%;height:100%;min-height:340px;margin:0}
.hero2 .hero-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  background:var(--surface);border:1px solid var(--border2);border-radius:var(--r-xl);padding:clamp(24px,2.8vw,36px);box-shadow:var(--sh3),0 0 60px rgba(90,103,232,.16)}
.hero2 .eyebrow{margin-bottom:14px}
.hero2 h1{text-align:left;font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.22;margin:0}
.hero2 .lead{color:var(--ink2);font-size:1.04rem;line-height:1.7;margin:14px 0 20px}
@media (max-width:820px){
  .hero2{grid-template-columns:1fr;gap:20px;text-align:center;padding:22px 0 14px}
  .hero2 h1,.hero2 .hero-card{text-align:center;align-items:center}
  .hero2 .hero-card .btn{align-self:center}
  .hero2 .hero-holo .holo{height:clamp(220px,52vw,300px);min-height:0}
}

/* 여백 + 양쪽 높이 동일 + 카드제목 + 페이지네이션 */
.wrap{padding:0 clamp(20px,4vw,48px)}
.hero2{grid-auto-rows:1fr}
.card .title{font-size:1.2rem;line-height:1.42;margin:0 0 10px}
.card .top{margin-bottom:2px}
.pager{display:flex;align-items:center;gap:6px;justify-content:center;margin:20px 0 4px;flex-wrap:wrap}
.pg{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border-radius:10px;border:1px solid var(--border2);background:var(--surface);color:var(--ink2);font-weight:700;font-size:.95rem;box-shadow:var(--sh1)}
.pg:hover{border-color:var(--brand);color:#fff}
.pg.on{background:linear-gradient(180deg,var(--ind1),var(--ind3));color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(90,103,232,.45)}
.pg.off{opacity:.35;pointer-events:none}
.pg-info{margin-left:10px;color:var(--muted);font-size:.88rem}

/* 히어로 우측 카드 = 채팅(대화는 카드 안에서만 변함, 좌측 로고는 계속 회전) */
.hero-card.chat{max-width:none;margin:0;justify-content:flex-start;align-items:stretch;gap:0;padding:20px}
.hero-card.chat .chat-head{margin-bottom:8px}
.hero-card.chat .chat-title{display:block;font-size:1.18rem;font-weight:800;margin-top:8px;letter-spacing:-.01em}
.hero-card.chat .chat-log{flex:1;min-height:90px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:6px 2px}
.hero-card.chat .chat-starters{margin:8px 0;justify-content:flex-start}
.hero-card.chat .chat-input{position:static;margin:0;box-shadow:var(--sh1)}
.hero-card.chat .msg .b{max-width:100%}
@media (max-width:820px){
  .hero2{grid-auto-rows:auto}
  .hero2 .hero-card.chat{min-height:440px}
}

/* ══════ 안심계약 카드 질감: 상단 radial 글로우 + 선명 테두리 + 입체 그림자 (전 카드 강제) ══════ */
body .card, body .fcard, body .mcard, body .path, body .tile, body .grp, body .gauge,
body .sec, body .card2, body .wform, body .free, body .sform, body .wprog, body .tk,
body .fb, body .kv, body .block, body .gov > a, body .miss{
  background:radial-gradient(135% 92% at 50% -12%, rgba(138,149,255,.14), transparent 56%), var(--surface);
  border:1px solid var(--border2);
  box-shadow:var(--sh2);
}
body .card:hover, body .fcard:hover, body .mcard:hover, body .path:hover, body .gov>a:hover{
  border-color:var(--brand);
  box-shadow:0 18px 44px rgba(90,103,232,.32), 0 4px 14px rgba(0,0,0,.4);
  transform:translateY(-4px);
}
/* 그라디언트 아이콘 타일(아이콘 있는 카드) */
body .path .i, body .fcard .ic, body .mcard .i{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  font-size:1.4rem;background:linear-gradient(180deg,#A6AFFF,#5A67E8);box-shadow:0 8px 20px rgba(90,103,232,.42);color:#fff;flex:none}
/* 섹션 헤더 액센트 바 */
.grp-h::before,.sec-h::before{content:"";display:inline-block;width:4px;height:13px;border-radius:3px;
  background:linear-gradient(180deg,var(--ind1),var(--ind3));margin-right:8px;vertical-align:-2px}
