  :root{
    --ink:#0F172A;
    --ink-2:#0B1220;
    --ink-3:#16213A;
    --paper:#F7F8FB;
    --paper-2:#FFFFFF;
    --band:#EEF1F8;
    --seal:#1F3A63;
    --seal-deep:#152A49;
    --accent:#16C9A8;
    --text:#16203A;
    --mute:#67708A;
    --on-ink:#E7ECFB;
    --on-ink-mute:#94A1C9;
    --hair-dark:#E4E8F2;
    --hair-light:rgba(255,255,255,.14);
    --max:1180px;
    --sans:"Pretendard",-apple-system,system-ui,sans-serif;
    --serif:"Pretendard",-apple-system,system-ui,sans-serif;
    --radius:18px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:68px;scrollbar-gutter:stable}
  body{
    font-family:var(--sans);
    color:var(--text);
    background:var(--paper-2);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    word-break:keep-all;
    overflow-x:hidden;
  }
  .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}
  .only-mobile{display:none}
  @media(max-width:600px){.only-mobile{display:inline}}
  section{position:relative}

  /* ---------- eyebrow / labels ---------- */
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-size:12.5px;font-weight:800;letter-spacing:.16em;
    color:var(--seal);text-transform:uppercase;
  }
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--seal);border-radius:2px}
  .eyebrow.on-ink{color:var(--seal)}
  .eyebrow.on-ink::before{background:var(--seal)}

  /* ---------- buttons ---------- */
  .cta{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--seal);color:#fff;font-weight:700;font-size:16px;
    padding:16px 30px;border-radius:14px;text-decoration:none;
    letter-spacing:-.01em;border:none;cursor:pointer;
    box-shadow:0 14px 28px -12px rgba(59,91,255,.45);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .cta:hover{transform:translateY(-2px);background:var(--seal-deep);box-shadow:0 18px 32px -12px rgba(59,91,255,.5)}
  .cta .arw{font-size:17px;transition:transform .18s ease}
  .cta:hover .arw{transform:translateX(3px)}
  .cta.ghost{background:rgba(255,255,255,.06);color:var(--on-ink);border:1.5px solid rgba(255,255,255,.22);box-shadow:none}
  .cta.ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);transform:translateY(-2px)}

  /* ---------- nav ---------- */
  .nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    background:transparent;border-bottom:1px solid transparent;
    transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;
  }
  .nav.scrolled{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom-color:var(--hair-dark)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
  .brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
  /* 최상단(영상 위): 로고 흰색 / 스크롤 후: 원래 네이비 */
  .brand img.logo{height:44px;width:auto;display:block;filter:brightness(0) invert(1);transition:filter .25s ease}
  .nav.scrolled .brand img.logo{filter:none}
  .brand b{font-weight:800;font-size:18px;letter-spacing:-.02em}
  .brand .tag{
    font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--seal);
    background:rgba(59,91,255,.08);padding:4px 9px;border-radius:999px;
  }
  .nav .cta{padding:11px 20px;font-size:14px;border-radius:10px;background:#2B50DE;box-shadow:0 12px 24px -12px rgba(43,80,222,.5)}
  .nav .cta:hover{background:#2246c8}
  /* nav menu + dropdown */
  .nav-menu{display:none;align-items:center;gap:30px;list-style:none;margin:0 auto}
  .nav-menu > li{position:relative}
  .nav-menu > li > a{display:inline-flex;align-items:center;gap:5px;height:68px;
    font-size:15px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.01em;
    transition:color .18s ease}
  .nav.scrolled .nav-menu > li > a{color:var(--ink)}
  .nav-menu > li > a:hover{color:var(--seal)}
  .nav-menu .has-sub > a::after{content:"";width:6px;height:6px;margin-left:2px;margin-top:-3px;
    border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:rotate(45deg);opacity:.55;transition:transform .2s ease}
  .nav-menu .has-sub:hover > a::after{transform:rotate(45deg) translate(1px,1px);opacity:.8}
  .submenu{position:absolute;top:100%;left:50%;list-style:none;z-index:60;
    min-width:158px;padding:8px;background:#fff;border:1px solid var(--hair-dark);border-radius:12px;
    box-shadow:0 18px 38px -18px rgba(15,23,42,.3);
    opacity:0;visibility:hidden;transform:translateX(-50%) translateY(8px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s}
  .nav-menu .has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .submenu li a{display:block;padding:11px 14px;border-radius:8px;white-space:nowrap;
    font-size:14px;font-weight:600;color:var(--text);text-decoration:none;
    transition:background .15s ease, color .15s ease}
  .submenu li a:hover{background:var(--band);color:var(--seal)}
  @media(max-width:960px){.nav-menu{display:none}}
  @media(max-width:560px){.brand .tag{display:none}.nav .cta{padding:10px 16px;font-size:13px}}

  /* ============ HERO ============ */
  .hero{position:relative;background:#0B1220;color:var(--ink);overflow:hidden;isolation:isolate}
  /* 배경 영상(풀블리드) */
  .hero-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;display:block}
  /* 가독성 오버레이 */
  .hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(11,18,32,.5),rgba(11,18,32,.66)),
      radial-gradient(120% 90% at 50% -10%,rgba(59,91,255,.16),transparent 60%)}
  .hero .wrap{padding-top:60px;padding-bottom:50px;position:relative;z-index:2}
  .stain,.drip{display:none}
  /* hero: 배경 영상 위 카피 오버레이 */
  .hero-grid{display:flex;align-items:center;min-height:100vh;min-height:100dvh;text-align:left}
  .hero-copy{flex:1 1 0;min-width:0;max-width:640px;padding-bottom:0;transform:translateY(-30px)}
  @media(max-width:760px){
    .hero-grid{text-align:center}
    .hero-copy{max-width:none;margin:0 auto}
  }

  /* 섹션은 콘텐츠 높이에 맞춤 (한 화면 강제 높이 제거) */
  /* 앵커 스크롤 보정은 html 의 scroll-padding-top(=고정 nav 높이) 하나로만 한다.
     여기에 scroll-margin-top 을 또 주면 두 값이 합산돼(68+76=144px) 섹션이 헤더보다
     한참 아래에서 시작하고, 그 빈 자리에 이전 섹션 끝부분이 걸쳐 보인다. */
  /* 섹션은 DOM(마크업) 순서대로 표시 — 순서 재정의 제거(원위치 복원) */

  /* ============ CASES ============ */
  .cases{background:var(--paper-2);padding:68px 0}
  .sec-head{text-align:center;max-width:680px;margin:0 auto 50px}
  .sec-head h2{
    font-weight:800;letter-spacing:-.02em;margin-top:16px;
    font-size:clamp(23px,3.6vw,32px);line-height:1.4;
  }
  .sec-head .sec-lead{margin-top:14px;font-size:15px;color:var(--mute);line-height:1.7}
  .case-list{display:flex;flex-direction:column;gap:12px;max-width:none;margin:0 auto}
  .case{
    display:grid;grid-template-columns:60px 1fr;gap:0;
    background:var(--paper-2);border:1px solid var(--hair-dark);border-radius:var(--radius);
    box-shadow:0 6px 20px -16px rgba(15,23,42,.18);
    overflow:hidden;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .case:hover{transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(15,23,42,.25);border-color:#d3dbf2}
  /* 케이스 카드: 스크롤 진입 시 차례대로(계단식) 등장 — hover엔 영향 없는 keyframe 방식 */
  .case-list .case.reveal.in{animation:caseUp .55s cubic-bezier(.22,.61,.36,1) backwards}
  .case-list .case:nth-child(1){animation-delay:.04s}
  .case-list .case:nth-child(2){animation-delay:.15s}
  .case-list .case:nth-child(3){animation-delay:.26s}
  .case-list .case:nth-child(4){animation-delay:.37s}
  .case-list .case:nth-child(5){animation-delay:.48s}
  @keyframes caseUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.case-list .case.reveal.in{animation:none}}
  .case .no{
    background:var(--band);color:var(--seal);font-weight:800;font-size:12px;letter-spacing:.04em;
    display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;
    text-orientation:mixed;padding:14px 0;
  }
  .case .no span{transform:rotate(180deg)}
  .case .body{padding:20px 24px}
  .chip{
    display:inline-block;font-size:12px;font-weight:700;letter-spacing:.01em;
    padding:4px 10px;border-radius:8px;margin-bottom:10px;
  }
  .chip.claim{background:rgba(59,91,255,.1);color:var(--seal)}
  .chip.unknown{background:rgba(15,23,42,.07);color:var(--ink)}
  .chip.defense{background:rgba(22,201,168,.12);color:#0E8E74}
  .case .ttl{font-size:clamp(15.5px,2.4vw,18px);font-weight:700;color:var(--text);line-height:1.55;letter-spacing:-.01em}
  .case .desc{margin-top:6px;font-size:14px;color:var(--mute);line-height:1.7}
  /* #caseN 라벨: 데스크톱 숨김, case-top은 투명 래퍼 → chip 기존대로 */
  .case-hash{display:none}
  .case-top{display:contents}
  @media(max-width:680px){
    .case{grid-template-columns:1fr}
    .case .no{display:none}
    .case .body{padding:16px 18px}
    .case-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
    .case-hash{display:inline-block;font-size:16px;font-weight:900;color:#16294E;letter-spacing:.02em}
    .case-top .chip{margin-bottom:0}
  }
  .case-foot{
    text-align:center;margin:50px auto 0;max-width:760px;
    font-weight:800;letter-spacing:-.02em;
    font-size:clamp(20px,3.2vw,28px);line-height:1.5;color:var(--ink);
  }
  .case-foot .hl{color:#2B50DE}
  .hl-red{color:#c00000!important;font-weight:800}
  .case-foot .won{
    display:block;margin-top:6px;color:#2B50DE;
    font-size:clamp(23px,3.8vw,34px);
  }

  /* ============ PROOF (판결문) ============ */
  .proof{background:var(--band);color:var(--text);padding:68px 0;overflow:hidden}
  .proof .sec-head h2{color:var(--ink);font-weight:800}
  .verdicts{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:none;margin:0 auto}
  @media(max-width:680px){.verdicts{grid-template-columns:1fr}}
  .vcard{
    position:relative;display:flex;background:#fff;color:var(--text);border-radius:var(--radius);
    overflow:hidden;box-shadow:0 16px 36px -26px rgba(15,23,42,.22);border:1px solid var(--hair-dark);
    transition:transform .25s ease;
  }
  .vcard:hover{transform:translateY(-4px)}
  .vcard .vphoto{flex:0 0 42%;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px}
  .vcard .vphoto img{width:100%;height:auto;display:block}
  .vcard .vbody{flex:1 1 0;min-width:0;position:relative;padding:22px 22px;display:flex;flex-direction:column}
  .seal{
    order:1;align-self:flex-end;margin-top:auto;
    background:var(--seal);color:#fff;
    font-weight:700;font-size:12px;letter-spacing:.01em;
    padding:7px 12px;border-radius:10px;line-height:1.25;text-align:center;white-space:nowrap;
  }
  .vcard .vtitle{
    display:block;font-size:15.5px;font-weight:800;line-height:1.45;color:var(--ink);
    letter-spacing:-.01em;
  }
  .vcard .result{
    margin-top:12px;padding-top:14px;border-top:1px solid var(--hair-dark);
    font-size:13.5px;font-weight:500;line-height:1.72;color:var(--mute);letter-spacing:-.01em;
  }
  /* verdict slider */
  .verdict-slider{position:relative}
  .verdict-viewport{overflow:hidden}
  .verdict-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}
  .verdict-page{flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:6px}
  .verdict-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:30px}
  .verdict-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--hair-dark);
    background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;
    transition:background .18s ease, border-color .18s ease, transform .18s ease}
  .verdict-arrow:hover{background:var(--band);border-color:#c9d0e0;transform:translateY(-1px)}
  .verdict-arrow svg{width:18px;height:18px}
  .verdict-dots{display:flex;align-items:center;gap:8px}
  .verdict-dot{width:9px;height:9px;border-radius:50%;background:var(--hair-dark);border:none;
    padding:0;cursor:pointer;transition:background .2s ease, width .2s ease}
  .verdict-dot.active{background:var(--seal);width:24px;border-radius:5px}
  .verdict-hint{display:none;text-align:center;margin-top:14px;font-size:12.5px;color:var(--mute);letter-spacing:.02em}
  @media(max-width:680px){
    .verdict-nav{display:none}
    .verdict-hint{display:block}
    .verdict-viewport{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
      scroll-snap-type:x mandatory;padding-bottom:8px}
    .verdict-viewport::-webkit-scrollbar{height:4px}
    .verdict-viewport::-webkit-scrollbar-thumb{background:#c9d0e0;border-radius:4px}
    .verdict-viewport::-webkit-scrollbar-track{background:transparent}
    .verdict-track{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;
      grid-auto-columns:100%;gap:14px;transform:none!important;padding:4px 0}
    .verdict-page{display:contents}
    .vcard{scroll-snap-align:start;align-items:stretch}
    .vcard .vphoto{flex:0 0 40%;padding:12px}
    .vcard .vphoto img{width:100%;height:auto}
    .vcard .vbody{padding:14px;overflow:hidden}
    .vcard .vtitle{font-size:14px;
      display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .vcard .result{margin-top:7px;padding-top:9px;font-size:12.5px;line-height:1.55;
      display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  }
  .proof .cta-row{text-align:center;margin-top:48px}

  /* ============ URGENCY (손해 게이지) ============ */
  .urgency{background:var(--paper-2);padding:68px 0}
  .quote{
    text-align:center;max-width:760px;margin:0 auto 56px;
    font-size:clamp(19px,3.2vw,27px);line-height:1.6;color:var(--ink);font-weight:600;
  }
  .quote .em{color:#C0201A;font-weight:800}
  /* ===== 아코디언 (골드 세리프 넘버 · 단일 오픈 · 첫 항목 기본 열림) ===== */
  .acc-list{max-width:none;margin:0 auto;display:flex;flex-direction:column;gap:10px}
  .acc{border:1px solid #E3E8F2;border-radius:13px;background:#fff;overflow:hidden;transition:border-color .2s ease}
  .acc.open{border-color:rgba(43,80,222,.45)}
  .acc-q{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:none;border:none;cursor:pointer;
    font-family:inherit;padding:18px 18px 18px 20px}
  .acc-q .num{flex:0 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700;color:#2B50DE;
    letter-spacing:.02em;line-height:1;padding-right:14px;border-right:1px solid #E3E8F2}
  .acc-q h3{flex:1;font-size:clamp(15.5px,2.4vw,18px);font-weight:800;color:#16294E;letter-spacing:-.015em;line-height:1.5}
  .acc-q .chip{flex:0 0 auto;font-size:11.5px;font-weight:700;color:#C6453C;letter-spacing:-.01em;white-space:nowrap}
  .acc-q .chip::before{content:"·";margin-right:5px;font-weight:900}
  .acc-q .arr{flex:0 0 auto;color:#B9C1D4;font-size:12px;transition:transform .2s ease}
  .acc.open .acc-q .arr{transform:rotate(180deg)}
  .acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
  .acc.open .acc-a{max-height:340px}
  .acc-a p{padding:0 20px 20px 63px;font-size:13.5px;color:#6A7390;line-height:1.8}
  .acc-a p .loss{color:#C6453C;font-weight:800}
  .urgency .cta-row{text-align:center;margin-top:36px}
  /* 확정 색 문법: 블루는 CTA 전용 (히어로 CTA와 동일) */
  .urgency .cta-row .cta{background:#2B50DE;border-color:#2B50DE;box-shadow:0 14px 26px -12px rgba(43,80,222,.6)}
  .urgency .cta-row .cta:hover{background:#2246c8}
  @media(max-width:560px){
    .acc-q .chip{display:none}
    .acc-a p{padding-left:20px}
  }

  /* ============ VALUE (4분할) ============ */
  .value{background:var(--band);color:var(--ink);padding:64px 0 100px}
  .value .lead{text-align:center;max-width:720px;margin:0 auto 34px}
  .value .lead .small{font-size:14px;color:var(--mute);font-weight:700;margin-bottom:12px}
  .value .lead h2{
    font-weight:800;font-size:clamp(21px,3.4vw,30px);
    line-height:1.35;color:var(--ink);
  }
  .value .lead h2 .q{color:#2B50DE}
  .grid4{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none;margin:0 auto}
  .vc{background:#fff;border:1px solid var(--hair-dark);border-radius:var(--radius);padding:24px 26px;transition:transform .2s ease, box-shadow .2s ease}
  .vc:hover{transform:translateY(-3px);box-shadow:0 16px 30px -20px rgba(15,23,42,.25)}
  .vc .vno{
    font-size:28px;font-weight:800;color:#2B50DE;
    line-height:1;display:flex;align-items:center;gap:12px;
  }
  .vc .vno .vt{font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
  .vc .lead-line{margin-top:12px;font-size:15px;font-weight:700;color:var(--ink);line-height:1.55;letter-spacing:-.01em}
  .vc .vbody{margin-top:8px;font-size:13.5px;color:var(--mute);line-height:1.65}
  /* 모바일: value 카드 아코디언 (데스크톱 .vc 규칙 뒤에 위치해야 우선순위 확보) */
  @media(max-width:680px){
    .grid4{grid-template-columns:1fr;gap:10px}
    .vc{padding:0;overflow:hidden}
    .vc:hover{transform:none;box-shadow:none}
    .vc .vno{padding:19px 46px 19px 22px;cursor:pointer;position:relative;user-select:none;font-size:23px;gap:10px}
    .vc .vno .vt{font-size:15px}
    .vc .vno::after{content:"";position:absolute;right:22px;top:50%;width:8px;height:8px;
      border-right:2px solid #2B50DE;border-bottom:2px solid #2B50DE;
      transform:translateY(-70%) rotate(45deg);transition:transform .25s ease}
    .vc.open .vno::after{transform:translateY(-30%) rotate(225deg)}
    .vc .lead-line,.vc .vbody{margin:0;padding:0 22px;max-height:0;opacity:0;overflow:hidden;
      transition:max-height .32s ease,opacity .25s ease,padding .32s ease}
    .vc.open .lead-line{max-height:140px;opacity:1;padding-top:4px}
    .vc.open .vbody{max-height:480px;opacity:1;padding-top:8px;padding-bottom:22px}
  }

  /* ============ FINAL CTA ============ */
  .final{background:var(--ink-2);color:var(--on-ink);padding:62px 0 70px;text-align:center}
  .final h2{font-size:clamp(21px,3.6vw,30px);font-weight:800;line-height:1.45;color:#fff}
  .final .cta{margin-top:30px}
  /* ============ FINAL CTA 배너 (푸터 바로 위) ============ */
  /* 배경: 아래 푸터(#0B1220)로 자연스럽게 이어지는 딥 네이비 (톤 통일) */
  .finalcta{background:radial-gradient(120% 160% at 50% -30%,#1E2E52 0%,#131F38 55%,#0B1220 100%);
    color:#fff;padding:92px 0;text-align:center}
  .finalcta .fc-h{font-size:clamp(22px,3.4vw,33px);font-weight:800;line-height:1.6;letter-spacing:-.02em;color:#fff}
  .finalcta .fc-h .hl{color:#fff;box-shadow:inset 0 -0.4em rgba(43,80,222,.6)}
  .finalcta .fc-btns{margin-top:38px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
  .finalcta .fc-primary{display:inline-flex;align-items:center;gap:8px;background:#2B50DE;color:#fff;
    font-weight:800;font-size:16px;padding:15px 30px;border-radius:12px;text-decoration:none;letter-spacing:-.01em;
    box-shadow:0 16px 30px -14px rgba(43,80,222,.7);transition:transform .16s ease,background .16s ease}
  .finalcta .fc-primary:hover{transform:translateY(-2px);background:#2246c8}
  .finalcta .fc-tel{display:inline-flex;align-items:center;gap:9px;background:transparent;color:#fff;
    font-weight:800;font-size:16px;padding:15px 26px;border-radius:12px;text-decoration:none;letter-spacing:.01em;
    border:1px solid rgba(255,255,255,.38);cursor:pointer;pointer-events:auto;transition:background .15s}   /* 클릭=번호복사(PC)/전화(모바일) */
  .finalcta .fc-tel:hover{background:rgba(255,255,255,.08)}
  .finalcta .fc-tel svg{width:17px;height:17px;color:#F0554B;flex-shrink:0}
  @media(max-width:560px){
    .finalcta{padding:60px 0}
    .finalcta .fc-btns{flex-direction:column;gap:12px}
    .finalcta .fc-primary,.finalcta .fc-tel{width:100%;max-width:280px;justify-content:center}
  }
  /* ================= footer (참고사이트 이식) ================= */
  .js-footer{background:#262c36;color:#eee;padding:90px 20px}
  .js-footer-wrap{max-width:1440px;margin:0 auto;text-align:left}
  .js-footer-menu{display:flex;flex-wrap:wrap;margin-bottom:40px}
  .js-footer-menu span{color:#fff;font-size:16px;padding:0 15px;position:relative;line-height:1}
  .js-footer-menu span:first-child{padding-left:0}
  .js-footer-menu span:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:rgba(255,255,255,.2)}
  .js-footer-content{display:block}
  .js-footer-logo img{width:180px;margin-bottom:22px}
  .js-footer-title{font-weight:700;font-size:18px;margin-bottom:14px;color:#fff}
  .js-footer-info{font-size:.95rem;line-height:1.9;opacity:.7}
  .js-footer-copy{margin-top:22px;font-size:.9rem;opacity:.6}
  @media(max-width:768px){
    .js-footer{padding:50px 18px}
    .js-footer-menu{margin-bottom:28px}
    .js-footer-menu span{font-size:14px;padding:0 10px}
    .js-footer-logo img{width:150px;margin-bottom:18px}
    .js-footer-title{font-size:16px}
    .js-footer-info{font-size:.85rem;line-height:1.8}
    .js-footer-copy{font-size:.8rem}
  }

  /* ===== 퀵 플로팅 상담 버튼 (참고사이트 이식) ===== */
  .quick-float{position:fixed;right:20px;bottom:80px;z-index:9999;width:90px;
    border-radius:10px;overflow:visible;box-shadow:0 8px 20px rgba(0,0,0,.15)}
  .quick-call{display:block;text-decoration:none;background:#be9b56;color:#fff;text-align:center;padding:10px 8px;cursor:pointer;
    border-radius:10px 10px 0 0}
  .quick-call .call-title{display:block;font-size:13px;margin-bottom:6px;font-weight:700}
  .quick-call .call-number{font-size:16px;font-weight:800;display:flex;flex-direction:column;
    align-items:center;line-height:1.3}
  .quick-call .call-number span{display:block}
  .quick-menu{background:#fff;border-radius:0 0 10px 10px;overflow:hidden}
  /* PC: 아이콘 + 라벨 세로 배치 (원/강조 없음 — 참고사이트 PC와 동일) */
  .quick-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
    height:90px;border-bottom:1px solid #eee;text-decoration:none;color:#333;cursor:pointer}
  /* 온라인상담 입력폼: 위젯 왼쪽에 네모 패널 */
  .qf-form{position:absolute;right:calc(100% + 14px);bottom:0;width:310px;z-index:5;
    opacity:0;visibility:hidden;transform:translateX(14px);pointer-events:none;
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease}
  .quick-float.form-open .qf-form{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .qf-form .inline-form{margin:0;box-shadow:0 24px 60px -24px rgba(15,23,42,.5)}
  .quick-btn:last-child{border-bottom:none}
  .quick-btn .circle{position:absolute;width:56px;height:56px;border-radius:50%;background:#3E6AA8;
    opacity:0;transform:scale(.6);transition:all .25s ease;z-index:1;
    display:flex;align-items:center;justify-content:center}
  .quick-btn .circle svg{width:24px;height:24px}
  .quick-btn .icon{position:relative;z-index:2;width:30px;height:30px;margin-bottom:6px}
  .quick-btn .icon svg{width:100%;height:100%}
  .quick-btn span{line-height:1;position:relative;z-index:2;font-size:12px;color:#333}
  /* 맨 위로 버튼 (PC: 위젯 상단 원형) */
  .to-top{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#fff;color:#222;border:1px solid #e2e6ee;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease,transform .15s ease}
  .to-top.show{opacity:1;visibility:visible;pointer-events:auto}
  .to-top:hover{transform:translateX(-50%) translateY(-3px)}
  .to-top svg{width:24px;height:24px}
  /* 퀵메뉴 전화상담: PC 숨김(상단 박스가 대신), 모바일 하단바에만 표시 */
  .qb-tel{display:none}
  .mobile-call-btn{display:none}
  @keyframes floatUp{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
  @media(max-width:767px){
    .quick-call{display:none}
    .quick-float{right:0;left:0;bottom:0;width:calc(100% - 16px);margin:0 8px;
      border-radius:25px 25px 0 0;box-shadow:0 -4px 12px rgba(0,0,0,.08);overflow:visible}
    .quick-menu{display:flex;justify-content:space-around;background:#fff;overflow:visible;
      border-radius:25px 25px 0 0;border-top:1px solid #e5e5e5;padding:15px 0 12px}
    /* 모바일: active 버튼의 원이 위로 팝업 (JS가 2초마다 자동 순환) */
    .quick-btn{flex:1;text-align:center;position:relative;height:auto;border-bottom:none;padding:0;
      display:flex;flex-direction:column;align-items:center;justify-content:center}
    .quick-btn .circle{position:absolute;top:-32px;left:50%;transform:translateX(-50%) scale(.6);
      width:52px;height:52px;box-shadow:0 6px 14px rgba(0,0,0,.2);z-index:99;transition:all .3s ease}
    .quick-btn.active .circle{opacity:1;transform:translateX(-50%) scale(1)}
    .quick-btn .icon{position:relative;z-index:2;display:block;width:26px;height:26px;margin:0 auto;transition:opacity .3s ease}
    .quick-btn.active .icon{opacity:0}
    .quick-btn span{font-size:12px;margin-top:6px;display:block;position:relative;z-index:2;transition:all .3s ease;color:#666}
    .quick-btn.active span{color:#3E6AA8;font-weight:800}
    /* 모바일: 온라인상담 폼은 하단 바 위에 전체폭으로 */
    .qf-form{position:fixed;left:8px;right:8px;bottom:84px;width:auto;transform:translateY(14px)}
    .quick-float.form-open .qf-form{transform:none}
    .quick-float.form-open ~ .mobile-call-btn{display:none}
    /* 모바일 전용 전화상담 플로팅 버튼 */
    .mobile-call-btn{position:fixed;right:16px;bottom:110px;z-index:9999;display:block;
      animation:floatUp 2s ease-in-out infinite}
    .mobile-call-btn a{display:flex;flex-direction:column;align-items:center;justify-content:center;
      width:90px;height:90px;border-radius:10px;background:#be9b56;color:#fff;text-decoration:none;
      box-shadow:0 8px 20px rgba(0,0,0,.2)}
    .mobile-call-btn .call-title{font-size:13px;margin-bottom:6px}
    .mobile-call-btn .call-number{font-size:16px;font-weight:800;text-align:center}
    .mobile-call-btn .call-number span{display:block;line-height:1.2}
    body{padding-bottom:78px}
    /* 맨 위로 버튼 (모바일: 우하단 플로팅) */
    .to-top{position:fixed;right:16px;bottom:96px;left:auto;transform:none;z-index:10000;width:48px;height:48px;margin:0;box-shadow:0 6px 16px rgba(0,0,0,.25)}
    .to-top:hover{transform:none}
    /* 전화상담: 모바일 하단바에서는 표시 */
    .qb-tel{display:flex}
  }
  @media(prefers-reduced-motion:reduce){.mobile-call-btn{animation:none}}

  /* reveal animation */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
  .reveal.in{opacity:1;transform:none}
  /* 모바일 전용 줄바꿈 */
  .br-m{display:none}
  @media(max-width:680px){.br-m{display:inline}}

  /* hero entrance: staggered blur fade-up */
  @keyframes heroIn{
    0%{opacity:0;transform:translateY(26px);filter:blur(12px)}
    100%{opacity:1;transform:translateY(0);filter:blur(0)}
  }
  .hero-copy > .hero-eyebrow,
  .hero-copy > .hero-h1,
  .hero-copy > .hero-sub,
  .hero-copy > .hero-cred,
  .hero-copy > .cta,
  .hero-photo{
    opacity:0;
    animation:heroIn .9s cubic-bezier(.22,1,.36,1) forwards;
  }
  .hero-copy > .hero-eyebrow{animation-delay:.05s}
  .hero-copy > .hero-h1{animation-delay:.20s}
  .hero-copy > .hero-sub{animation-delay:.32s}
  .hero-copy > .hero-cred{animation-delay:.44s}
  .hero-copy > .cta{animation-delay:.50s}
  .hero-photo{animation-delay:.30s}

  /* animated gradient shimmer on the highlight number */
  .hero-h1 .hl{
    background:linear-gradient(100deg,#A9C0E8 0%,#CBD9F2 35%,#fff 50%,#CBD9F2 65%,#A9C0E8 100%);
    background-size:220% 100%;
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:heroShimmer 3.2s ease-in-out 1.2s infinite;
  }
  @keyframes heroShimmer{
    0%,100%{background-position:120% 0}
    50%{background-position:-20% 0}
  }

  /* '정서' 흰 밑줄 좌→우 드로우 + 오른쪽 위 별 획순 드로우 */
  .hero-h1 .brandmark{position:relative;display:inline-block;
    background:linear-gradient(100deg,#A9C0E8 0%,#CBD9F2 35%,#fff 50%,#CBD9F2 65%,#A9C0E8 100%);
    background-size:220% 100%;-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:heroShimmer 3.2s ease-in-out 1.2s infinite}
  .hero-h1 .brandmark::after{
    content:"";position:absolute;left:0;right:0;bottom:.06em;height:5px;border-top:1.4px solid #fff;border-bottom:1.4px solid #fff;
    transform:scaleX(0);transform-origin:left center;
    animation:ulDraw .6s cubic-bezier(.66,0,.2,1) .55s forwards;
  }
  @keyframes ulDraw{to{transform:scaleX(1)}}
  .hero-h1 .brandmark .star{position:absolute;top:-.2em;right:-.28em;width:.6em;height:.6em;overflow:visible;pointer-events:none;transform:rotate(-12deg)}
  .hero-h1 .brandmark .star path{
    fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:100;stroke-dashoffset:100;
    filter:drop-shadow(0 1px 4px rgba(255,255,255,.35));
    animation:starDraw 1s ease 1s forwards;
  }
  @keyframes starDraw{to{stroke-dashoffset:0}}

  @media(prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .gauge .fill{transition:none}
    html{scroll-behavior:auto}
    .hero-copy > *,.hero-photo{opacity:1 !important;animation:none !important}
    .hero-h1 .hl{animation:none;background-position:50% 0}
    .hero-h1 .brandmark{animation:none;background-position:50% 0}
    .hero-h1 .brandmark::after{animation:none;transform:none}
    .hero-h1 .brandmark .star path{animation:none;stroke-dashoffset:0}
  }

  /* ============ ALL-IN-ONE PACKAGE ============ */
  .allinone{background:var(--paper-2);padding:68px 0}
  .aio-head{text-align:center;position:relative;margin-bottom:56px}
  .aio-head .script{display:none}
  .aio-head h2{
    position:relative;font-weight:500;letter-spacing:-.02em;
    font-size:clamp(24px,4vw,38px);color:var(--ink);
  }
  .aio-head h2 b{font-weight:800}
  .aio-row{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:6px;max-width:760px;margin:0 auto}
  .aio-item{display:flex;flex-direction:column;align-items:center;width:200px}
  .circle{position:relative;width:172px;height:172px;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .circle .bg{position:absolute;inset:8px;border-radius:50%;background:var(--band);box-shadow:none}
  .circle .arc{position:absolute;inset:0;width:100%;height:100%}
  .circle .ico{position:relative;width:42px;height:42px;color:var(--seal);margin-bottom:6px}
  .circle .lbl{position:relative;font-size:16px;font-weight:800;color:var(--ink);text-align:center;line-height:1.35;letter-spacing:-.01em}
  .plus{font-size:26px;font-weight:300;color:var(--mute);opacity:.7;padding:0 4px;margin-top:66px}
  .aio-btnrow{text-align:center;margin-top:44px}
  .aio-btn{
    display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;
    font-weight:700;font-size:14.5px;padding:14px 28px;border-radius:999px;text-decoration:none;
    transition:transform .18s ease, background .18s ease;letter-spacing:-.01em;
  }
  .aio-btn:hover{transform:translateY(-2px);background:var(--ink-3)}
  @media(max-width:560px){
    .aio-row{flex-direction:column;gap:2px;align-items:center}
    .plus{padding:2px 0;margin-top:0}
  }

  /* ============ FAQ ============ */
  .faq{background:var(--band);padding:56px 0 120px;min-height:auto}
  .faq .sec-head{margin-bottom:42px}
  .faq .sec-head h2{font-size:clamp(23px,3.6vw,32px)}
  .faq .sec-head p.s{margin-top:10px;font-size:14.5px;color:var(--mute);font-weight:500}
  .faq-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:auto auto;column-gap:44px;align-items:start;max-width:none;margin:0 auto}
  .faq-grid > .faq-list{grid-column:1;grid-row:1}
  .faq-grid > .faq-photo{grid-column:2;grid-row:1;align-self:stretch}   /* 이미지 높이 = 리스트 높이 */
  .faq-grid > .faq-contact{grid-column:2;grid-row:2}
  @media(max-width:880px){
    .faq-grid{grid-template-columns:1fr;grid-template-rows:auto;column-gap:0;row-gap:32px}
    .faq-grid > .faq-list,.faq-grid > .faq-photo,.faq-grid > .faq-contact{grid-column:1;grid-row:auto;align-self:auto}
    .faq-contact{margin-top:0}
  }
  .faq-list{display:flex;flex-direction:column;gap:10px}
  .faq-item{background:#fff;border:1px solid var(--hair-dark);border-radius:14px;overflow:hidden;transition:border-color .2s ease}
  .faq-item.open{border-color:#a9b8ec}
  .faq-q{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;
    padding:18px 20px;cursor:pointer;font-size:15px;font-weight:700;color:var(--ink);line-height:1.5;letter-spacing:-.01em;font-family:var(--sans)}
  .faq-q .qm{color:var(--seal);font-weight:800;flex-shrink:0}
  .faq-q .chev{margin-left:auto;flex-shrink:0;width:16px;height:16px;color:var(--mute);transition:transform .3s ease}
  .faq-item.open .faq-q .chev{transform:rotate(180deg)}
  .faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}
  .faq-item.open .faq-a{grid-template-rows:1fr}
  .faq-a .inner{display:flex;gap:10px;overflow:hidden;min-height:0;padding:0 20px;font-size:13.5px;color:var(--mute);line-height:1.8;
    opacity:0;transition:opacity .3s ease,padding .4s cubic-bezier(.4,0,.2,1)}
  .faq-item.open .faq-a .inner{opacity:1;padding-bottom:20px}
  .faq-a .am{color:var(--seal);font-weight:800;flex-shrink:0}
  .faq-photo{
    position:relative;width:100%;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;
    background:var(--ink-2);display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.4);
  }
  .faq-photo svg{width:38px;height:38px}
  .faq-photo span{font-size:12px;letter-spacing:.01em}
  .faq-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .faq-contact{text-align:center;margin-top:22px}
  .faq-contact .l1{font-size:14.5px;color:var(--mute);line-height:1.7}
  .faq-contact .phone{margin-top:8px;font-size:clamp(19px,2.8vw,23px);font-weight:800;color:var(--ink);letter-spacing:-.01em}
  .faq-contact .phone b{color:var(--seal)}
  .faq-contact .cta{margin-top:18px;font-size:14.5px;padding:14px 28px}


  /* ============ EXPERT TEAM ============ */
  .case-cta{text-align:center;margin-top:40px}
  /* 케이스·성공사례 상담 버튼: 블루 */
  .case-cta .cta,.proof .cta-row .cta{background:#2B50DE;box-shadow:0 14px 26px -12px rgba(43,80,222,.55)}
  .case-cta .cta:hover,.proof .cta-row .cta:hover{background:#2246C8}
  .team{background:var(--paper);padding:68px 0;width:100%;align-self:stretch}
  /* 카피 블록: 3층 논증(주장→근거→결론) */
  .team-copy{text-align:center;max-width:640px;margin:0 auto 46px}
  .team-copy h2{font-size:clamp(22px,3.4vw,31px);font-weight:800;color:#16294E;letter-spacing:-.028em;line-height:1.45}
  .team-copy .why{margin-top:14px;font-size:clamp(13.5px,1.6vw,15px);color:#6A7390}
  .team-copy .so{margin-top:22px;display:inline-block;font-size:clamp(17px,2.4vw,22px);font-weight:800;color:#1a1a1a;letter-spacing:-.02em;padding-top:20px;border-top:2px solid #2B50DE}
  .team-copy .so .num{color:#D2453B;font-size:1.35em;font-style:italic;margin-right:.3em}
  .team-copy .so .so-blue{color:#2B50DE}
  /* 카드: 좌 텍스트(JS·이름·직함·배지·이력) · 우 인물, 2×2 */
  .team-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:none;margin:0}
  .member{position:relative;background:#fff;border:1px solid #E3E8F2;border-radius:16px;display:flex;overflow:hidden;min-height:250px;
    box-shadow:0 14px 30px -22px rgba(22,41,78,.25);transition:box-shadow .25s ease}
  .member:hover{box-shadow:0 22px 44px -24px rgba(22,41,78,.4)}
  .m-body{flex:1;padding:26px 4px 24px 28px;display:flex;flex-direction:column;position:relative;z-index:2}
  .m-head{display:flex;align-items:center;gap:12px;margin-bottom:2px}
  .m-js{height:34px;width:auto;display:block;flex-shrink:0}
  .m-name{font-size:23px;font-weight:800;color:#16294E;letter-spacing:-.02em;line-height:1.2}
  .m-role{font-size:13px;color:#6A7390;margin-top:3px}
  /* 자격 배지: 사이트 톤(블루) — 골드에서 변경 */
  .m-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:12px;
    font-size:12px;font-weight:800;color:#2B50DE;background:#EEF3FF;
    border:1px solid #CBD9F7;border-radius:8px;padding:6px 12px}
  .m-tag svg{flex:0 0 auto}
  .m-list{margin-top:16px;padding-top:14px;border-top:1px solid #E3E8F2;list-style:none;
    font-size:12.5px;color:#6A7390;line-height:1.8;max-width:250px}
  .m-list li{position:relative;padding-left:12px}
  .m-list li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:2px;background:#2B50DE;opacity:.5}
  /* 인물: 우측, 투명 컷아웃을 라이트 그라데이션 위에 배치 */
  .m-photo{flex:0 0 42%;max-width:230px;position:relative;overflow:hidden;aspect-ratio:3 / 4;align-self:stretch;
    background:linear-gradient(180deg,#EDE7E4 0%,#CFC8C2 50%,#8F8880 100%)}
  /* 이미지를 절대배치해 카드 높이에서 분리 → 원본 세로비와 무관하게 모든 사진 동일 크기 */
  .m-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
  @media(max-width:820px){
    .team-grid2{grid-template-columns:1fr}
    /* 모바일: 패널(그라데이션)은 카드 높이를 채우되, 인물 이미지는 고정 3:4로(띠 방지·항상 동일) */
    .m-photo{aspect-ratio:auto}
    .m-photo img{inset:auto;top:0;left:0;width:100%;height:auto;aspect-ratio:3 / 4}
  }
  @media(max-width:480px){.m-photo{flex-basis:42%}}

  /* ===== 변호사 소개: 지그재그(사진 ↔ 인용+경력+증서) ===== */
  .team-lawyers{display:flex;flex-direction:column;gap:56px;margin-top:52px;max-width:none}
  .lawyer{display:flex;gap:40px;align-items:stretch}
  .lawyer.rev{flex-direction:row-reverse}
  /* 사진 + 이름 배너 — 고정 4:5 비율(콘텐츠와 무관하게 항상 동일 크기) */
  .lw-photo{flex:0 0 32%;max-width:340px;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4 / 5;
    background:linear-gradient(180deg,#EDE7E4,#CFC8C2 55%,#8F8880);box-shadow:0 20px 46px -26px rgba(15,23,42,.4)}
  .lw-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
  /* 인물이 프레임보다 커서 잘리는 사진만 윗단(머리) 고정하고 살짝 축소 → 팔까지 노출 */
  .lw-photo--zoomout > img{object-fit:contain;object-position:center top;transform:scale(1.27);transform-origin:center top}
  .lw-banner{position:absolute;left:0;right:0;bottom:0;padding:26px 24px 22px;color:#fff;text-align:center;
    background:linear-gradient(180deg,rgba(16,26,50,0),rgba(16,26,50,.82) 42%,rgba(16,26,50,.95))}
  .lw-banner .lw-badge{position:static;display:block;margin:0 auto 8px;height:42px;width:auto}
  .lw-banner .lw-tag{font-size:clamp(15px,1.7vw,18px);font-weight:800;letter-spacing:-.01em}
  .lw-banner .lw-nm{margin-top:6px;font-size:clamp(18px,2.1vw,22px);font-weight:800;letter-spacing:-.02em}
  /* 로고: 우측 하단(가장자리·글자와 여백 확보) */
  .lw-banner .lw-logo{position:absolute;inset:auto 18px 16px auto;height:19px;width:auto;opacity:.85}
  /* 콘텐츠(인용 + 상세) */
  .lw-content{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:22px}
  /* 배경: 상담 사진 위에 어두운 그라데이션 오버레이(사진이 살짝만 비침) */
  .lw-quote{position:relative;margin:0;color:#fff;border-radius:14px;padding:30px 34px 24px;overflow:hidden;
    background-color:#0C1428;
    background-image:linear-gradient(125deg,rgba(9,15,32,.94),rgba(9,15,32,.78)),url("/src/img/head/success_head_bg.webp");
    background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat}
  .lw-quote::before{content:"\201C";position:absolute;top:8px;left:28px;font-family:Georgia,serif;
    font-size:66px;line-height:1;color:rgba(228,184,92,.92)}
  .lw-quote p{margin:10px 0 0;font-size:clamp(19px,2.6vw,27px);font-weight:700;line-height:1.45;letter-spacing:-.015em;text-align:center}
  .lw-quote p b{color:#E4B85C}
  .lw-quote cite{display:block;margin-top:16px;text-align:right;font-style:normal;font-size:14px;color:rgba(255,255,255,.72)}
  .lw-detail{flex:1;display:flex;gap:26px;align-items:flex-start}
  .lw-cred-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:14px}
  /* 트렌디 뱃지: 그라데이션 알약 + 반짝임 스윕 */
  .lw-cred-col .m-tag{position:relative;overflow:hidden;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;
    margin-top:0;padding:9px 17px;border:0;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:-.01em;
    color:#fff;background:linear-gradient(120deg,#2E57E8 0%,#1A2E6B 100%);
    box-shadow:0 10px 20px -8px rgba(43,80,222,.55),inset 0 1px 0 rgba(255,255,255,.18)}
  .lw-cred-col .m-tag::after{content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;pointer-events:none;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);
    animation:badgeShine 3.4s ease-in-out infinite}
  @keyframes badgeShine{0%{left:-65%}58%,100%{left:135%}}
  @media(prefers-reduced-motion:reduce){.lw-cred-col .m-tag::after{animation:none;opacity:0}}
  .lw-creds{list-style:none;margin:0;padding:0}
  .lw-creds li{position:relative;padding-left:22px;font-size:14.5px;font-weight:700;color:var(--ink-3);line-height:2;letter-spacing:-.01em}
  .lw-creds li::before{content:"✓";position:absolute;left:0;color:#2B50DE;font-weight:900;font-size:13px}
  .lw-creds li.lead{color:#2B50DE;font-weight:800}
  .lw-creds li.lead::before{color:#2B50DE}
  .lw-certs{flex:0 0 auto;display:flex;gap:10px;flex-wrap:wrap}
  .lw-cert{width:168px;height:auto;display:block;border-radius:6px;border:1px solid var(--hair-dark);
    box-shadow:0 10px 24px -12px rgba(15,23,42,.4);
    pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
  @media(max-width:860px){
    .team-lawyers{gap:36px;margin-top:36px}
    /* column 전환 시 align-items:flex-start가 자식을 콘텐츠 폭으로 줄임 → stretch로 꽉 채움 */
    .lawyer,.lawyer.rev{flex-direction:column;gap:16px;align-items:stretch}
    /* 사진: 세로 과다 방지(4:5, 데스크톱과 동일 비율) + 폭 살짝 좁혀 중앙 배치 */
    .lw-photo{flex:none;width:100%;max-width:none;min-height:0;aspect-ratio:4 / 5}
    /* 김홍일(zoomout) 사진: 데스크톱 규칙(contain+scale 1.27)을 그대로 유지 → 화면 폭 바뀌어도 크기 고정 */
    .lw-content{gap:16px}
    /* 인용구: 좌우 패딩 축소로 텍스트 폭 확보 */
    .lw-quote{padding:26px 20px 20px}
    .lw-quote::before{top:6px;left:18px;font-size:50px}
    .lw-quote p{margin-top:8px;font-size:18px;line-height:1.5}
    .lw-quote cite{margin-top:12px;font-size:13px}
    .lw-detail{flex-direction:column;gap:16px}
    /* 뱃지 + 경력 리스트 중앙정렬(한 열 유지, 블록 가운데) */
    .lw-cred-col{align-items:center}
    .lw-cred-col .m-tag{align-self:center}
    /* 증서: 세로로 쌓지 말고 2장 나란히(높이 대폭 절감) */
    .lw-certs{gap:10px}
    .lw-cert{width:calc(50% - 5px)}
  }

  /* ===== 모바일 전용 변호사 소개 (사진 2×2 그리드 + 경력 토글) ===== */
  .team-mobile{display:none}
  .tm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .tm-card{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:156 / 205;
    background:linear-gradient(180deg,#EDE7E4,#CFC8C2 55%,#8F8880);box-shadow:0 12px 26px -16px rgba(15,23,42,.4)}
  .tm-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
  .tm-card--zoom img{object-fit:contain;transform:scale(1.16);transform-origin:center top}
  .tm-banner{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 11px;text-align:center;color:#fff;
    background:linear-gradient(180deg,rgba(16,26,50,0),rgba(16,26,50,.85) 45%,rgba(16,26,50,.96))}
  .tm-tag{font-size:11px;font-weight:800;color:#cdd7ee;letter-spacing:-.01em;line-height:1.3}
  .tm-name{margin-top:3px;font-size:14px;font-weight:800;letter-spacing:-.02em}
  .tm-lead{margin:24px 0 12px;text-align:center;font-size:14px;font-weight:800;color:var(--ink);line-height:1.5}
  .tm-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:340px;margin:0 auto;
    padding:14px 18px;border:0;border-radius:12px;background:#2B50DE;color:#fff;font-size:15px;font-weight:800;cursor:pointer;
    box-shadow:0 14px 28px -12px rgba(43,80,222,.5)}
  .tm-more .arw{width:18px;height:18px;transition:transform .3s ease}
  .tm-more.open .arw{transform:rotate(180deg)}
  .tm-creds{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .3s ease,margin-top .45s ease}
  .tm-creds.open{max-height:2200px;opacity:1;margin-top:16px}
  .tm-cred{background:#fff;border:1px solid var(--hair-dark);border-radius:12px;padding:16px;margin-bottom:10px;text-align:left}
  .tm-cred:last-child{margin-bottom:0}
  .tm-cred-name{font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
  .tm-cred-name span{display:block;margin-top:2px;font-size:12px;font-weight:800;color:#2B50DE}
  .tm-cred ul{list-style:none;margin:10px 0 0;padding:0}
  .tm-cred li{position:relative;padding-left:18px;font-size:13px;font-weight:700;color:var(--ink-3);line-height:1.95}
  .tm-cred li::before{content:"✓";position:absolute;left:0;color:#2B50DE;font-weight:900;font-size:11px}
  .tm-cred li.lead{color:#2B50DE}
  @media(max-width:680px){
    .team-lawyers{display:none}
    .team-mobile{display:block;margin-top:26px}
  }

  /* ===== hero credibility + naver search ===== */
  .hero-eyebrow{display:inline-block;font-size:14px;font-weight:800;letter-spacing:.06em;color:#E4B85C;margin-bottom:14px}
  .hero-badge{
    font-size:clamp(19px,3.2vw,25px);font-weight:800;color:#fff;letter-spacing:-.01em;
    margin-bottom:18px;line-height:1.4;
  }
  .hero-badge b{color:var(--seal);font-weight:800}
  /* ⑤-B 확정: 헤드라인은 크기·흰색·밑줄만 (색/모션 추가 금지) */
  .hero-h1{font-weight:800;font-size:clamp(28px,4vw,48px);line-height:1.38;letter-spacing:-.028em;color:#fff;margin-bottom:0}
  .hero-h1 .u{box-shadow:inset 0 -0.4em rgba(43,80,222,.6)}
  /* 서브: "1,000건+"만 골드 카운트업, "독보적인 전문성"만 흰색 볼드 */
  .hero-sub{max-width:none;margin:18px 0 0;font-size:clamp(15px,1.7vw,18px);color:#D7DFF2;font-weight:500;line-height:1.75;letter-spacing:-.01em}
  .hero-sub b{color:#fff;font-weight:700}
  .hero-sub .stat-num{font-size:1.75em;font-weight:900;color:#E4B85C;font-variant-numeric:tabular-nums;
    letter-spacing:-.02em;display:inline-block;line-height:1;vertical-align:-.06em;padding:0 .06em}
  /* CTA: 페이지에서 히어로 유일 블루 버튼 */
  .hero-cta{display:inline-flex;align-items:center;gap:8px;margin-top:26px;background:#2B50DE;color:#fff;
    font-weight:700;font-size:clamp(15px,1.55vw,17px);padding:15px 28px;border-radius:12px;text-decoration:none;
    box-shadow:0 14px 26px -12px rgba(43,80,222,.6);transition:transform .16s ease}
  .hero-cta:hover{transform:translateY(-2px)}
  /* 히어로 인라인 상담폼 (CTA 클릭 시 슬라이드 오픈) */
  .form-slot{max-height:0;overflow:hidden;opacity:0;
    transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .4s ease,margin-top .4s ease}
  .form-slot.open{max-height:600px;opacity:1;margin-top:18px}
  .inline-form{background:#fff;border-radius:16px;padding:22px;text-align:left;color:var(--ink);max-width:520px;
    box-shadow:0 26px 54px -22px rgba(0,0,0,.55)}
  .inline-form h3{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 14px}
  .inline-form .f-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .inline-form .f-msg{grid-column:1 / -1}   /* 세로형: 상담내용 전체폭 */
  .inline-form .f-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
  .inline-form .f-row label{font-size:12.5px;font-weight:700;color:#3A4560}
  .inline-form .f-row input,.inline-form .f-row textarea{width:100%;padding:11px 13px;border:1px solid var(--hair-dark);
    border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff;resize:vertical}
  .inline-form .f-row input::placeholder,.inline-form .f-row textarea::placeholder{color:#A9B0C0}
  .fi-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}
  .inline-form .f-row input:focus,.inline-form .f-row textarea:focus{outline:none;border-color:#2B50DE;box-shadow:0 0 0 3px rgba(43,80,222,.13)}
  .inline-form .f-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:2px}
  .inline-form .f-agree{display:flex;align-items:flex-start;gap:7px;font-size:12px;font-weight:600;color:var(--mute);line-height:1.5;cursor:pointer;flex:1 1 210px}
  .inline-form .f-agree input{margin-top:2px;flex-shrink:0}
  .inline-form .f-terms{margin-left:4px;font-size:12px;font-weight:700;color:#2B50DE;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;flex-shrink:0}
  .inline-form .f-terms:hover{color:#1C3AA0}
  .inline-form .fi-submit{font-size:14px;padding:12px 24px;flex-shrink:0}
  .inline-form .f-done{display:none;text-align:center;padding:22px 6px;font-size:15px;font-weight:800;color:var(--seal);margin:0}
  .inline-form.sent h3,.inline-form.sent .f-grid,.inline-form.sent .f-full,.inline-form.sent .f-bottom{display:none}
  .inline-form.sent .f-done{display:block}
  .inline-form .f-note{margin:12px 0 0;font-size:11px;color:var(--mute);line-height:1.5}
  @media(max-width:480px){.inline-form .f-grid{grid-template-columns:1fr}}
  @media(max-width:760px){.inline-form{margin-left:auto;margin-right:auto}}
  /* 프로세스 사이드바(좁은 폭)용 폼: 1열·전체폭 */
  .proc-head .inline-form{max-width:none}
  .proc-head .inline-form .f-grid{grid-template-columns:1fr}
  .proc-head .form-slot.open{max-height:720px}
  /* 넓은 섹션(긴급성·최종CTA)용 가로형 폼: 성함·연락처·상담내용 한 줄 */
  .inline-form.wide{max-width:none}
  .inline-form.wide .f-grid{grid-template-columns:1.1fr 1.1fr 2fr;align-items:start}
  .inline-form.wide .f-msg{grid-column:auto}
  .inline-form.wide .f-msg textarea{height:40px;min-height:40px}   /* 옆 입력칸과 높이 맞춤 */
  .inline-form.wide .f-row{margin-bottom:0}
  .inline-form.wide .f-bottom{margin-top:16px}
  @media(max-width:720px){.inline-form.wide .f-grid{grid-template-columns:1fr}.inline-form.wide .f-row{margin-bottom:12px}}
  /* 진입 연출: 계단식 페이드업(1회) — 헤드라인 0s → 서브 .3s → CTA .5s */
  .hero-copy .hero-eyebrow,.hero-copy .hero-h1{animation:heroUp .6s cubic-bezier(.22,.61,.36,1) both}
  .hero-copy .hero-sub{animation:heroUp .6s cubic-bezier(.22,.61,.36,1) .3s both}
  .hero-copy .hero-cta{animation:heroUp .6s cubic-bezier(.22,.61,.36,1) .5s both}
  @keyframes heroUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){.hero-copy .hero-eyebrow,.hero-copy .hero-h1,.hero-copy .hero-sub,.hero-copy .hero-cta{animation:none}}
  .hook{background:var(--paper-2);color:var(--ink);padding:44px 0;text-align:center}
  .hook-grid{display:flex;justify-content:center;text-align:center}
  .hook-copy{flex:0 1 760px;min-width:0}
  @media(max-width:760px){
    .hook{padding:44px 0}
  }
  .hook-h{font-weight:400;font-size:clamp(26px,5vw,44px);line-height:1.32;letter-spacing:-.01em;color:var(--ink)}
  .hook-h .strong{display:inline-block;margin-top:4px;font-weight:800;color:var(--ink);position:relative}
  .hook-h .strong::after{content:"";position:absolute;left:-4px;right:-4px;bottom:5px;height:12px;z-index:-1;background:linear-gradient(90deg,rgba(31,58,99,0),rgba(31,58,99,.22),rgba(31,58,99,0));border-radius:3px}
  .hook .cta{margin-top:32px}
  .hook .micro{margin-top:16px;font-size:13px;color:var(--mute);letter-spacing:.01em}
  .hook .micro b{color:var(--seal);font-weight:700}
  .naver-search{margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:12px}
  .ns-box{display:flex;align-items:center;justify-content:space-between;width:min(370px,86vw);background:#fff;border-radius:14px;padding:6px 6px 6px 18px;box-shadow:0 14px 30px -16px rgba(15,23,42,.3);border:1px solid var(--hair-dark)}
  .ns-text{font-size:14.5px;font-weight:600;color:#1a1a1a;letter-spacing:-.01em}
  .ns-text b{font-weight:800}
  .ns-btn{width:40px;height:40px;border-radius:10px;background:#03C75A;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .ns-btn svg{width:19px;height:19px;color:#fff}
  .ns-cap{font-size:12px;color:var(--mute);line-height:1.65;text-align:center}
  .ns-cap b{color:var(--accent);font-weight:700}

  /* ===== trust strip ===== */
  .trust{background:var(--band);border-bottom:1px solid var(--hair-dark);padding:28px 0}
  .trust-row{display:flex;justify-content:center;align-items:stretch;max-width:none;margin:0 auto}
  .trust-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;padding:6px 16px;text-align:center;position:relative}
  .trust-item+.trust-item::before{content:"";position:absolute;left:0;top:12%;height:76%;width:1px;background:#B7C0D6}
  .trust-item .ti-ico{width:30px;height:30px;color:var(--seal)}
  .trust-item .ti-t{font-size:14px;font-weight:800;color:var(--ink);line-height:1.4;letter-spacing:-.01em}
  @media(max-width:560px){
    .trust-item{gap:7px;padding:6px 8px}
    .trust-item .ti-ico{width:24px;height:24px}
    .trust-item .ti-t{font-size:12px}
  }

  /* ===== aio descriptions + recovery note ===== */
  .aio-desc{margin-top:14px;font-size:13px;color:var(--mute);max-width:176px;text-align:center;line-height:1.55}
  .aio-note{max-width:640px;margin:32px auto 0;text-align:center;font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.7;
    background:rgba(59,91,255,.06);border:1px solid rgba(59,91,255,.18);border-radius:14px;padding:16px 22px}
  .aio-note b{color:var(--seal);font-weight:800}

  /* ===== process / timeline ===== */
  .process{background:var(--paper-2);color:var(--ink);padding:68px 0}
  .process .sec-head h2{color:var(--ink)}
  /* two-column: sticky left header + scrolling right timeline (O.N.E style) */
  .proc-grid{display:flex;gap:56px;align-items:flex-start}
  .proc-head{flex:0 0 300px;position:sticky;top:96px}
  .proc-head .sec-head{text-align:left;margin:0}
  .proc-lead{margin-top:16px;font-size:15px;color:var(--mute);line-height:1.7}
  .proc-head .cta{margin-top:24px}
  .proc-main{flex:1 1 0;min-width:0}

  .proc-list{position:relative;max-width:none;margin:0}
  /* base track + animated fill (fill height driven by scroll via JS) */
  .proc-list::before{content:"";position:absolute;left:22px;top:39px;bottom:39px;width:2px;background:var(--hair-dark);z-index:0}
  .proc-fill{position:absolute;left:22px;top:39px;width:2px;height:0;z-index:0;
    background:linear-gradient(180deg,#F6836F,#B71508);transition:height .12s linear}
  /* per-step connector fallback (used when JS off): badge center → next badge center */
  .proc-step:not(:last-child)::before{content:"";position:absolute;left:22px;top:39px;bottom:-39px;width:2px;
    background:var(--hair-dark);z-index:0}
  .process.js-timeline .proc-step:not(:last-child)::before{display:none}

  .proc-step{position:relative;display:grid;grid-template-columns:46px 1fr;gap:24px;padding:16px 0 30px;align-items:start}
  .proc-step:last-child{padding-bottom:0}
  .proc-num{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;border:3px solid #fff;
    color:#fff;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 20px -8px rgba(183,21,8,.45),0 0 0 1px var(--hair-dark);
    transition:background .4s ease,box-shadow .4s ease,transform .4s ease}
  /* red deepens step by step (coral → deep red), mirroring the O.N.E timeline */
  .proc-step:nth-of-type(1) .proc-num{background:#F6836F}
  .proc-step:nth-of-type(2) .proc-num{background:#F16C56}
  .proc-step:nth-of-type(3) .proc-num{background:#EB5842}
  .proc-step:nth-of-type(4) .proc-num{background:#E64632}
  .proc-step:nth-of-type(5) .proc-num{background:#DE3624}
  .proc-step:nth-of-type(6) .proc-num{background:#D52719}
  .proc-step:nth-of-type(7) .proc-num{background:#C81C0F}
  .proc-step:nth-of-type(8) .proc-num{background:#B71508}
  .proc-step h3{font-size:clamp(16px,2.4vw,19px);font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.45;padding-top:10px}
  .proc-step p{margin-top:8px;font-size:14px;color:var(--mute);line-height:1.75}
  .proc-step .hl{color:var(--seal);font-weight:700}
  /* scroll-reveal mode: steps dim until their badge is reached */
  .process.js-timeline .proc-step{opacity:.4;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
  .process.js-timeline .proc-step.is-active{opacity:1;transform:none}
  .process.js-timeline .proc-step:not(.is-active) .proc-num{background:#c4c8cf;box-shadow:0 0 0 1px var(--hair-dark)}
  .process.js-timeline .proc-step.is-active .proc-num{transform:scale(1.05)}
  @media(max-width:820px){
    .proc-grid{flex-direction:column;gap:8px}
    .proc-head{position:static;flex:none;width:100%}
    .proc-head .cta{display:none}   /* 모바일: 프로세스 상단 상담버튼 숨김 */
    .proc-head .form-slot{display:none}
  }
  .proc-note{max-width:720px;margin:28px auto 0;text-align:center;font-size:13px;color:var(--mute);
    line-height:1.75;border-top:1px solid var(--hair-dark);padding-top:20px}
  .proc-note b{color:var(--ink)}

  /* ===== emotional bridge (cases → proof) ===== */
  .bridge{background:var(--ink-2);color:var(--on-ink);padding:58px 0}
  .bridge .wrap{text-align:center;max-width:720px}
  .bridge-big{font-size:clamp(20px,3.4vw,28px);font-weight:800;color:#fff;line-height:1.5}
  .bridge-mid{margin-top:14px;font-size:15px;color:var(--on-ink-mute)}
  .bridge-punch{margin-top:8px;font-size:clamp(18px,3.2vw,24px);font-weight:800;color:#9DB4FF}

  /* ===== press / MBC ===== */
  .press{background:var(--paper-2);padding:60px 0}
  .press-head{text-align:center;margin:0 0 2px}
  .press-badge{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}
  .press-logo-mbc{height:20px;width:auto;display:block}
  .press-logo-show{height:52px;width:auto;display:block}
  .press-title{font-size:clamp(19px,2.2vw,26px);font-weight:800;color:var(--ink);
    letter-spacing:-.02em;line-height:1.3}
  .press-title .hl{color:var(--seal)}
  /* 이미지 그리드를 히어로로 세로 스택: 제목 → 2×2 그리드 → 캡션(문구) */
  .press-grid{display:flex;flex-direction:row;align-items:stretch;gap:20px}
  .press-photo{flex:0 0 auto;position:relative;overflow:hidden;
    border-radius:var(--radius);box-shadow:0 22px 50px -30px rgba(15,23,42,.28)}
  .press-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  /* 4장 2×2 그리드 (셀 16:9로 높이 통일 · 크롭 최소) */
  /* 오른쪽 열: 로고 헤딩 + 이미지 그리드 + 캡션 (중앙정렬) */
  .press-media{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
  .press-photo.press-photo--grid{width:100%;margin:0;aspect-ratio:auto;background:transparent;box-shadow:none;overflow:visible;
    display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .press-photo--grid img{position:static;inset:auto;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;display:block;
    border-radius:8px;box-shadow:0 10px 26px -18px rgba(15,23,42,.35)}
  .press-card{position:relative;overflow:hidden;min-width:0;background:var(--paper-2);border:1px solid var(--hair-dark);
    border-radius:var(--radius);padding:28px 26px;box-shadow:0 16px 40px -28px rgba(15,23,42,.22);
    display:flex;flex-direction:column}
  .press-card--media{flex:1.15 1 0;order:-1;justify-content:center}
  .press-card--text{flex:.85 1 0}
  /* 뒷배경: MBC 배경 이미지 아주 흐릿하게 */
  .press-card::before{content:"";position:absolute;inset:-24px;z-index:0;pointer-events:none;
    background:url("/src/img/main/mbc배경.jpg") center/cover no-repeat;
    opacity:.12;filter:blur(2px)}
  .press-card > *{position:relative;z-index:1}
  .press-card-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
  /* 이미지 아래 캡션(방송 정보) — 중앙정렬 */
  .press-cap{text-align:center;margin-top:2px}
  .press-cap-title{font-size:clamp(16px,1.9vw,19px);font-weight:800;color:#2B50DE;letter-spacing:-.015em;margin-bottom:3px}
  .press-cap-sub{font-size:13px;font-weight:700;color:var(--mute);margin-bottom:0}
  .press-card h4{font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--seal);
    text-transform:uppercase;margin-bottom:8px}
  .press-card h2{font-size:clamp(20px,3vw,27px);font-weight:800;color:var(--ink);
    line-height:1.3;letter-spacing:-.02em;margin-bottom:10px}
  .press-card p{font-size:14.5px;color:rgba(22,32,58,.72);line-height:1.55;margin-bottom:0}
  .press-card .press-divider{height:1px;background:var(--hair-dark);border:0;margin:14px 0}
  .press-card .press-subtitle{font-size:14.5px;font-weight:800;color:var(--seal);margin-bottom:10px;letter-spacing:-.01em}
  .press-check{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
  .press-check li{display:flex;align-items:flex-start;gap:9px;font-size:14px;
    color:var(--ink-3);line-height:1.45}
  .press-check li svg{flex:0 0 auto;width:19px;height:19px;margin-top:1px;color:var(--seal)}
  .press-profile{display:flex;flex-direction:column;gap:3px;background:#ab9bff24;
    border:1px solid var(--hair-dark);border-radius:12px;padding:12px 14px;margin-bottom:14px}
  .press-profile .name{font-size:15px;font-weight:800;color:var(--ink)}
  .press-profile .role{font-size:13px;color:var(--mute);line-height:1.5}
  .press-card .cta{width:100%;justify-content:center;margin-top:auto}
  /* press 색 통일: 사이트 공통 밝은 네이비(#2B50DE) */
  .press-title .hl{color:#2B50DE}
  .press-card h4{color:#2B50DE}
  .press-card .press-subtitle{color:#2B50DE}
  .press-check li svg{color:#2B50DE}
  .press-card .cta{background:#2B50DE;box-shadow:0 14px 28px -12px rgba(43,80,222,.5)}
  .press-card .cta:hover{background:#2246C8}
  @media(max-width:820px){
    .press-grid{flex-direction:column}
    .press-card{flex:none;flex-direction:column;align-items:stretch;gap:20px;padding:24px 20px;width:100%}
    .press-media{width:100%;max-width:none;order:-1}   /* 모바일: 로고+이미지+캡션 위로 */
  }
  .press-img{display:block;width:100%;max-width:680px;margin:0 auto;border-radius:var(--radius);box-shadow:0 22px 50px -30px rgba(15,23,42,.28)}
  .mbc-badge{display:inline-flex;align-items:center;gap:8px;margin:26px auto 0;padding:8px 18px;background:rgba(59,91,255,.08);border-radius:999px;color:var(--seal);font-weight:800;font-size:13px;letter-spacing:.01em}
  .mbc-badge svg{width:18px;height:18px}
  .press-stills{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:none;margin:30px auto 24px}
  .press-still{position:relative;aspect-ratio:16/10;border-radius:12px;background:linear-gradient(135deg,#1E2A4A,#0B1220);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--hair-dark)}
  .press-still .play{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
  .press-still .play svg{width:15px;height:15px;color:#fff;margin-left:2px}
  .press-still .stamp{position:absolute;top:9px;left:10px;font-size:10px;font-weight:700;color:rgba(255,255,255,.55);letter-spacing:.03em}
  .press-cap{font-size:15px;font-weight:800;color:var(--ink);margin-top:6px}
  .press-sub{font-size:13.5px;color:var(--mute);margin-top:6px}
  @media(max-width:560px){.press-stills{grid-template-columns:1fr 1fr;gap:10px}}

  /* ============ 하단 고정 상담신청 바 ============ */
  :root{
    --cb-navy:#001230;      /* 바 배경 진한 네이비 */
    --cb-blue:#173a7a;      /* 대각선 전화 영역 파랑(어둡고 고급스러운 블루) */
    --cb-blue-dark:#102b5c; /* 사선 영역 그라데이션 하단 */
    --cb-blue-hover:#1c4794;
    --cb-beige:#E6D8B8;     /* 상담신청 버튼 베이지 */
    --cb-beige-hover:#D8C79C;
    --cb-height:82px;
    --cb-field-h:44px;
    --cb-radius:6px;
  }
  /* 데스크탑에서만 바 높이만큼 하단 여백 확보 (모바일 .mbar 예약과 충돌 방지) */
  @media(min-width:769px){ body{padding-bottom:var(--cb-height)} }
  /* 상담바 임시 숨김 (되돌리려면 이 블록만 삭제) */
  .consult-bar{display:none !important}
  @media(min-width:769px){ body{padding-bottom:0} }

  .consult-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:65;
    height:var(--cb-height);
    background:var(--cb-navy);
    display:flex;align-items:stretch;
    font-family:var(--sans);
    box-shadow:0 -8px 28px -14px rgba(0,0,0,.55);
  }
  /* 왼쪽 대각선 파란 전화 영역 */
  .cb-phone{
    position:relative;
    display:flex;align-items:center;
    align-self:flex-end;              /* 바 아래에 고정하고 위로 커지도록 */
    width:344px;height:106px;         /* 바(82px)보다 크게 → 위로 튀어나옴 */
    padding:0 0 0 46px;
    background:linear-gradient(rgba(10,25,55,.28), rgba(10,25,55,.28)), url("/src/img/telImg.png") center/cover no-repeat;
    color:#fff;text-decoration:none;flex-shrink:0;
    /* 왼쪽은 각지게, 우측 사선 시작부만 라운드(아래로 넓어짐) */
    clip-path:path('M 0 0 L 288 0 Q 306 0 312 16 L 344 106 L 0 106 Z');
    transition:filter .18s ease;
  }
  .cb-phone-text{position:relative}
  .cb-phone:hover{filter:brightness(1.06)}
  .cb-phone-text{display:flex;flex-direction:column;line-height:1.25}
  .cb-phone-label{
    display:inline-flex;align-items:center;gap:7px;
    font-size:15px;font-weight:600;color:rgba(255,255,255,.82);letter-spacing:.02em;
  }
  .cb-phone-ico{width:18px;height:18px;flex-shrink:0}
  .cb-phone-num{font-size:30px;font-weight:800;letter-spacing:.01em}

  /* 가운데 폼 영역 */
  .cb-form{
    flex:1;display:flex;align-items:center;gap:18px;
    padding:0 34px;margin:0;
  }
  /* 좌우 auto 마진으로 가운데 그룹은 중앙 정렬, 버튼은 오른쪽 끝으로 */
  .cb-title{
    margin-left:auto;
    font-size:16px;font-weight:800;color:#fff;letter-spacing:-.01em;white-space:nowrap;
  }
  .cb-select,.cb-input{
    height:var(--cb-field-h);
    border:1px solid #D5DBE6;border-radius:var(--cb-radius);
    background:#fff;color:var(--text);
    font-family:var(--sans);font-size:14px;
    padding:0 14px;outline:none;
    transition:border-color .18s ease, box-shadow .18s ease;
  }
  .cb-select{min-width:190px;cursor:pointer;
    appearance:none;-webkit-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2367708A' stroke-width='2.4'><path d='M6 9l6 6 6-6'/></svg>");
    background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
  .cb-input{width:250px}
  .cb-select:focus,.cb-input:focus{border-color:var(--cb-blue-hover);box-shadow:0 0 0 3px rgba(37,81,198,.18)}
  .cb-input::placeholder{color:#A7AEBD}

  /* 개인정보 동의 */
  .cb-agree{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
  .cb-check{width:17px;height:17px;accent-color:var(--cb-blue);cursor:pointer;flex-shrink:0}
  .cb-agree-text{font-size:13px;color:rgba(255,255,255,.9);cursor:pointer}
  .cb-terms{font-size:13px;color:#A9C0E8;text-decoration:underline;text-underline-offset:2px;margin-left:2px}
  .cb-terms:hover{color:#fff}

  /* 오른쪽 상담신청 버튼 */
  .cb-submit{
    margin-left:auto;flex-shrink:0;
    height:var(--cb-field-h);min-width:150px;
    padding:0 48px;border:none;border-radius:var(--cb-radius);cursor:pointer;
    background:var(--cb-beige);color:#14233E;
    font-family:var(--sans);font-size:15px;font-weight:800;letter-spacing:-.01em;
    transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
  }
  .cb-submit:hover{background:var(--cb-beige-hover);transform:translateY(-2px);box-shadow:0 12px 22px -10px rgba(0,0,0,.5)}
  .cb-submit:active{transform:translateY(0)}

  /* ---- 반응형: 768px 이하 세로 스택 + static 전환 ---- */
  @media(max-width:768px){
    .consult-bar{position:static;height:auto;flex-direction:column;box-shadow:none}
    .cb-phone{
      clip-path:none;width:100%;justify-content:center;
      align-self:auto;height:auto;box-shadow:none;
      padding:14px 16px;gap:10px;
    }
    .cb-phone-num{font-size:20px}
    .cb-form{flex-direction:column;align-items:stretch;gap:10px;padding:16px}
    .cb-title{text-align:center;font-size:15px;margin-left:0}
    .cb-select,.cb-input{width:100%;min-width:0}
    .cb-agree{justify-content:center;flex-wrap:wrap}
    .cb-submit{width:100%;min-width:0;margin-left:0;height:48px}
  }

  /* ============ 개인정보 처리방침 팝업 ============ */
  .cb-modal{
    position:fixed;inset:0;z-index:10001;
    display:flex;align-items:center;justify-content:center;
    padding:24px;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s ease, visibility .22s ease;
  }
  .cb-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .cb-modal-overlay{position:absolute;inset:0;background:rgba(6,15,35,.62);backdrop-filter:blur(2px)}
  .cb-modal-box{
    position:relative;z-index:1;
    width:100%;max-width:680px;max-height:82vh;
    display:flex;flex-direction:column;
    background:#fff;
    border-radius:24px;                 /* 유연한 라운드 */
    box-shadow:0 30px 80px -24px rgba(0,0,0,.5);
    overflow:hidden;
    transform:translateY(14px) scale(.98);
    transition:transform .24s cubic-bezier(.2,.7,.3,1);
  }
  .cb-modal.is-open .cb-modal-box{transform:translateY(0) scale(1)}
  .cb-modal-head{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:20px 24px;
    border-bottom:1px solid #EbEEF3;
    flex-shrink:0;
  }
  .cb-modal-title{font-family:var(--sans);font-size:19px;font-weight:800;color:var(--cb-navy);letter-spacing:-.01em}
  .cb-modal-close{
    width:36px;height:36px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    border:none;border-radius:50%;cursor:pointer;
    background:#F0F2F6;color:#4A5468;font-size:22px;line-height:1;
    transition:background .18s ease, color .18s ease;
  }
  .cb-modal-close:hover{background:#E2E6EE;color:#111}
  .cb-modal-body{
    padding:22px 24px 26px;overflow-y:auto;
    font-family:var(--sans);font-size:14px;line-height:1.72;color:#3A4356;
    -webkit-overflow-scrolling:touch;
  }
  .cb-modal-body h4{margin:22px 0 8px;font-size:15px;font-weight:800;color:var(--cb-navy)}
  .cb-modal-body h4:first-child,.cb-modal-body p:first-child{margin-top:0}
  .cb-modal-body p{margin:0 0 10px}
  body.cb-modal-lock{overflow:hidden}

  @media(max-width:560px){
    .cb-modal{padding:14px}
    .cb-modal-box{border-radius:18px;max-height:78vh}
    .cb-modal-head{padding:16px 18px}
    .cb-modal-title{font-size:17px}
    .cb-modal-body{padding:18px 18px 22px;font-size:13.5px}
  }
