/*
 * 새 디자인(«디자인 v2»)의 홈 — widgets/v2/home (피그마 PF-01 · PF-05 · PF-06 · PF-07, 모바일 PF-08).
 *
 * core.css 와 같은 규칙이다:
 *  1. 모든 선택자는 [data-design="v2"] 아래, 클래스는 v2- 로 시작한다 — 새 디자인을 켠 사이트에서만 먹는다.
 *  2. 색 · 모서리 · 굵기 · 여백은 CSS 변수(--d-…)만 쓴다. 여기 적힌 숫자는 글자 크기 · 높이 · 간격 같은 배치 치수다.
 *     예외(고정색): 사진 위에 얹는 글자와 딤(흰 글자 · 짙은 남색 그라데이션), 영상 재생 표시의 빨강 — 브랜드색과 무관한 값이다.
 *  3. Tailwind 의 components 층에 둔다. 빌드를 거치지 않는 정적 파일이다(순수 CSS).
 *  4. 기본이 휴대폰(390px) — 820px 까지 이 배치다. 51.3125rem(821px) 이상이 넓은 화면.
 *
 * 차례: 공용(카드 전체 링크 · 메타 · 3열 격자) → 히어로 → 인물 → 가치 · 서비스 → 글 목록(매거진 · 인덱스 · 아카이브) → 영상 → 상담 띠
 */
@layer theme, base, components, utilities;

@layer components {
  /* ── 공용 ─────────────────────────────────────────── */
  /* 카드 전체를 덮는 링크 — 카드(position: relative) 안의 제목 링크에 붙인다 */
  [data-design="v2"] .v2-stretch::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  [data-design="v2"] .v2-stretch:focus-visible {
    outline: none;
  }
  [data-design="v2"] .v2-stretch:focus-visible::after {
    border-radius: inherit;
    outline: 2px solid var(--d-brand-ink);
    outline-offset: -2px;
  }
  [data-design="v2"] .v2-hero-person:focus-visible,
  [data-design="v2"] .v2-hero-search button:focus-visible,
  [data-design="v2"] .v2-pager-btn:focus-visible,
  [data-design="v2"] .v2-feat:focus-visible,
  [data-design="v2"] .v2-lrow:focus-visible,
  [data-design="v2"] .v2-idx-feat:focus-visible,
  [data-design="v2"] .v2-nrow:focus-visible,
  [data-design="v2"] .v2-idx-insta-item:focus-visible,
  [data-design="v2"] .v2-arc-nav-link:focus-visible,
  [data-design="v2"] .v2-pagenav a:focus-visible,
  [data-design="v2"] .v2-ytcard:focus-visible {
    outline: 2px solid var(--d-brand-ink);
    outline-offset: 2px;
  }

  /* «자세히 보기 →» — 카드 맨 아래의 글자 링크 모양 */
  [data-design="v2"] .v2-more {
    display: block;
    margin-top: auto;
    padding-top: 14px;
    color: var(--d-brand-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.68;
  }

  /* 발행일 · 읽는 시간 — 사이에 작은 점 */
  [data-design="v2"] .v2-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: var(--d-faint);
    font-size: 12px;
    line-height: 1.68;
  }
  [data-design="v2"] .v2-meta > * + *::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin-inline: 8px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.6;
    vertical-align: middle;
  }

  /* 작은 제목 — «최신 글» · «전체 콘텐츠» */
  [data-design="v2"] .v2-subtitle {
    color: var(--d-ink);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.02em;
  }

  [data-design="v2"] .v2-grid-3 {
    display: grid;
    gap: 17px;
  }
  [data-design="v2"] .v2-posts-more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
  }

  /* ── 히어로 ───────────────────────────────────────── */
  [data-design="v2"] .v2-hero {
    position: relative;
    overflow: hidden;
  }
  [data-design="v2"] .v2-hero-inner {
    position: relative;
    z-index: 1;
    padding-block: 44px 40px;
  }
  [data-design="v2"] .v2-hero-copy {
    min-width: 0;
  }
  [data-design="v2"] .v2-eyebrow.v2-hero-eyebrow {
    margin-bottom: 8px;
  }
  [data-design="v2"] .v2-hero-title {
    color: var(--d-ink);
    font-size: 28px;
    font-weight: var(--d-title-weight);
    line-height: 1.22;
    letter-spacing: var(--d-title-tracking);
    word-break: keep-all;
  }
  [data-design="v2"] .v2-hero-title em,
  [data-design="v2"] .v2-hero-lead em {
    color: var(--d-brand-ink);
    font-style: normal;
  }
  [data-design="v2"] .v2-hero-lead {
    margin-top: 16px;
    color: var(--d-ink-2);
    font-size: 14.5px;
    line-height: 1.68;
    word-break: keep-all;
  }

  /* 검색창 */
  [data-design="v2"] .v2-hero-search {
    display: flex;
    overflow: hidden;
    width: 100%;
    max-width: 520px;
    height: 55px;
    margin-top: 22px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-card);
    background: var(--d-surface);
    box-shadow: 0 12px 34px rgb(16 26 40 / 0.1);
  }
  [data-design="v2"] .v2-hero-search:focus-within {
    border-color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-hero-search input {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 19px;
    background: transparent;
    color: var(--d-ink);
    font-size: 15px;
    text-overflow: ellipsis;
    outline: none;
  }
  [data-design="v2"] .v2-hero-search input::placeholder {
    color: var(--d-faint);
  }
  [data-design="v2"] .v2-hero-search input::-webkit-search-cancel-button {
    display: none;
  }
  [data-design="v2"] .v2-hero-search button {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 60px;
    background: var(--d-brand-ink);
    color: #fff;
    cursor: pointer;
    transition: background-color 0.15s;
  }
  [data-design="v2"] .v2-hero-search button:hover {
    background: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-hero-search button:focus-visible {
    outline-offset: -3px;
    outline-color: #fff;
  }

  /* 키워드 — 좁은 화면은 가로로 넘기는 한 줄 (PF-08) */
  [data-design="v2"] .v2-hero-keywords {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
  }
  [data-design="v2"] .v2-hero-keywords-label {
    flex-shrink: 0;
    color: var(--d-muted);
    font-size: 12.5px;
    font-weight: 700;
  }
  [data-design="v2"] .v2-hero-keywords ul {
    display: flex;
    flex: 1 1 auto;
    gap: 9px;
    min-width: 0;
    /* 넘긴 칩이 화면 끝까지 흐르게 본문 여백만큼 밖으로 낸다 */
    margin-right: -20px;
    padding: 2px 20px 2px 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  [data-design="v2"] .v2-hero-keywords ul::-webkit-scrollbar {
    display: none;
  }
  [data-design="v2"] .v2-hero-keywords li {
    flex-shrink: 0;
  }

  /* 히어로의 글자 링크(«자세히 보기 →») — 검색창 · 키워드 아래. 관리자가 넣은 사이트에만 있다 */
  [data-design="v2"] .v2-hero-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    color: var(--d-brand-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.68;
    word-break: keep-all;
  }
  [data-design="v2"] a.v2-hero-link:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  [data-design="v2"] .v2-hero-link:focus-visible {
    outline: 2px solid var(--d-brand-ink);
    outline-offset: 2px;
  }

  /* 인물형 (PF-01) — 옅은 브랜드색 그라데이션 바탕 */
  [data-design="v2"] .v2-hero--person {
    background: linear-gradient(162deg, var(--d-brand-tint) 15%, var(--d-brand-soft) 50%, var(--d-bg-alt) 85%);
  }
  [data-design="v2"] .v2-hero-person {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 170px);
    align-items: end;
    gap: 16px;
    margin-top: 30px;
    color: var(--d-muted);
  }
  [data-design="v2"] .v2-hero-person-text {
    display: block;
    padding-bottom: 18px;
    font-size: 13px;
    line-height: 1.72;
  }
  [data-design="v2"] .v2-hero-person-name {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 11px;
  }
  [data-design="v2"] .v2-hero-person-name strong {
    color: var(--d-ink);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }
  [data-design="v2"] .v2-hero-person-name span {
    font-weight: 700;
  }
  [data-design="v2"] .v2-hero-person-bar {
    display: block;
    width: 30px;
    height: 2.5px;
    margin-block: 8px 12px;
    border-radius: 2px;
    background: var(--d-accent);
  }
  [data-design="v2"] .v2-hero-person-intro {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-break: keep-all;
  }
  /* 사진 — 그대로 그릴 때는 틀에 채우고 모서리를 둥글린다 */
  [data-design="v2"] .v2-hero-person-photo {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 268 / 356;
    border-radius: var(--d-radius-image);
  }
  [data-design="v2"] .v2-hero-person-photo img {
    object-fit: cover;
    object-position: center top;
  }
  /* 누끼 사진(값이 있는 사람만) — 틀 없이 바탕 위에 세우고 아래쪽을 흐린다 */
  [data-design="v2"] .v2-hero-person-photo[data-photo="cutout"] {
    border-radius: 0;
  }
  [data-design="v2"] .v2-hero-person-photo[data-photo="cutout"] img {
    object-fit: contain;
    object-position: center bottom;
  }

  /* 배너형 (PF-05 · PF-06) — 화면 폭 사진 + 딤, 가운데 정렬 */
  [data-design="v2"] .v2-hero--banner {
    background: var(--d-brand-deep);
    color: #fff;
  }
  [data-design="v2"] .v2-hero-bg {
    object-fit: cover;
  }
  [data-design="v2"] .v2-hero-dim {
    position: absolute;
    inset: 0;
    /* 위는 옅게, 아래는 짙게 — 기본 강도(55)에서 피그마의 0.34 → 0.64 → 0.78 */
    background: linear-gradient(
      to bottom,
      rgb(6 16 26 / calc(var(--d-hero-dim) * 0.62)),
      rgb(6 16 26 / calc(var(--d-hero-dim) * 1.16)) 50%,
      rgb(6 16 26 / calc(var(--d-hero-dim) * 1.42))
    );
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-inner,
  [data-design="v2"] .v2-hero--simple .v2-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-inner {
    padding-block: 56px 60px;
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-copy,
  [data-design="v2"] .v2-hero--simple .v2-hero-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
  [data-design="v2"] .v2-hero--banner .v2-eyebrow.v2-hero-eyebrow {
    color: rgb(255 255 255 / 0.66);
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-title {
    color: #fff;
  }
  /* 사진 위의 강조는 밝게 푼 강조색 — 브랜드색이 검정에 가까워도 읽히게 흰색을 더 섞는다
     (color-mix 를 모르는 브라우저는 옅은 브랜드색) */
  [data-design="v2"] .v2-hero--banner .v2-hero-title em,
  [data-design="v2"] .v2-hero--banner .v2-hero-lead em {
    color: var(--d-brand-line);
    color: color-mix(in srgb, var(--d-accent) 45%, #fff);
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-lead {
    color: rgb(255 255 255 / 0.84);
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-search {
    max-width: 404px;
    border-color: var(--d-brand-ink);
    box-shadow: none;
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-keywords,
  [data-design="v2"] .v2-hero--simple .v2-hero-keywords {
    justify-content: center;
    max-width: 100%;
  }
  /* 좁은 화면에서는 왼쪽부터 놓는다 — 가운데로 모으면 넘친 앞쪽 칩에 닿을 수 없다 */
  [data-design="v2"] .v2-hero--banner .v2-hero-keywords ul,
  [data-design="v2"] .v2-hero--simple .v2-hero-keywords ul {
    flex: 0 1 auto;
    margin-right: 0;
    padding-right: 0;
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-keywords-label {
    color: rgb(255 255 255 / 0.7);
  }
  [data-design="v2"] .v2-hero--banner .v2-chip {
    border-color: rgb(255 255 255 / 0.3);
    background: rgb(255 255 255 / 0.14);
    color: #fff;
  }
  [data-design="v2"] .v2-hero--banner a.v2-chip:hover {
    border-color: rgb(255 255 255 / 0.7);
    background: rgb(255 255 255 / 0.22);
  }
  /* 사진 위의 글자 링크는 흰색 */
  [data-design="v2"] .v2-hero--banner .v2-hero-link {
    color: #fff;
  }
  [data-design="v2"] .v2-hero--banner .v2-hero-link:focus-visible {
    outline-color: #fff;
  }

  /* 심플형 (PF-07) — 사진 없이 낮게 */
  [data-design="v2"] .v2-hero--simple {
    border-bottom: 1px solid var(--d-line-soft);
    background: linear-gradient(162deg, var(--d-bg-alt) 15%, var(--d-line-soft) 50%, var(--d-bg-alt) 85%);
  }
  [data-design="v2"] .v2-hero--simple .v2-hero-inner {
    padding-block: 34px 40px;
  }
  [data-design="v2"] .v2-hero--simple .v2-hero-title {
    font-size: 23px;
  }
  [data-design="v2"] .v2-hero--simple .v2-hero-lead {
    margin-top: 12px;
    color: var(--d-muted);
  }
  [data-design="v2"] .v2-hero--simple .v2-hero-search {
    max-width: 455px;
    margin-top: 16px;
  }

  /* ── 인물 ─────────────────────────────────────────── */
  [data-design="v2"] .v2-team {
    position: relative;
    overflow: hidden;
    padding: 40px 20px 28px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-card);
    background: var(--d-surface);
  }
  /* 왼쪽 위의 옅은 판 (피그마 div.shape) — 컨셉을 따른다.
     색: 컨셉의 보조 바탕(병의원은 브랜드색의 옅은 틴트, 일반 기업은 샌드, 매거진 · 전문 서비스는 옅은 회색).
     모서리: 카드 모서리에서 계산한다 — 각진 컨셉(매거진 0 · 전문 서비스 4px)은 그 값 그대로,
     둥근 컨셉(병의원 14px · 일반 기업 20px)은 피그마의 50px 까지 커진다. */
  [data-design="v2"] .v2-team::before {
    content: "";
    position: absolute;
    top: -150px;
    left: -210px;
    width: 470px;
    height: 470px;
    border-radius: clamp(0px, calc(var(--d-radius-card) * 5 - 16px), 50px);
    background: var(--d-bg-alt);
  }
  [data-design="v2"] .v2-team-intro,
  [data-design="v2"] .v2-team-cards {
    position: relative;
    min-width: 0;
  }
  [data-design="v2"] .v2-team-intro {
    padding-inline: 12px;
  }
  [data-design="v2"] .v2-team-eyebrow {
    margin-bottom: 14px;
    color: var(--d-muted);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.72;
    letter-spacing: var(--d-eyebrow-tracking);
    text-transform: uppercase;
  }
  [data-design="v2"] .v2-title.v2-team-title {
    font-size: 26px;
    line-height: 1.28;
  }
  [data-design="v2"] .v2-desc.v2-team-desc {
    margin-top: 16px;
    line-height: 1.72;
  }
  [data-design="v2"] .v2-team-cta {
    margin-top: 20px;
  }
  [data-design="v2"] .v2-team-wm {
    overflow: hidden;
    margin-top: 2px;
    color: var(--d-muted);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.72;
    letter-spacing: 0.06em;
    opacity: 0.3;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  [data-design="v2"] .v2-team-cards {
    margin-top: 28px;
  }
  [data-design="v2"] .v2-team-list,
  [data-design="v2"] .v2-solo-list {
    display: grid;
    gap: 17px;
  }
  /* 넘기기로 접은 카드 — hidden 속성이 위의 배치보다 먼저다 */
  [data-design="v2"] .v2-team-list > li[hidden],
  [data-design="v2"] .v2-solo-list > li[hidden] {
    display: none;
  }
  /* 넘기기가 붙은 목록(data-page) — 카드 위에서 옆으로 밀어 넘긴다(V2PeoplePager, 피그마 요구사항 H-07).
     옆으로 미는 손짓은 부품이 받고, 세로로 훑는 것 · 두 손가락 확대는 브라우저가 그대로 처리한다 */
  [data-design="v2"] .v2-team-list[data-page],
  [data-design="v2"] .v2-solo-list[data-page] {
    touch-action: pan-y pinch-zoom;
  }
  /* 넘긴 쪽에서 새 카드가 살짝 밀려 들어온다 — 단추로 넘겨도 같다. 처음 그릴 때(data-dir 없음)는 움직이지 않는다 */
  [data-design="v2"] .v2-team-list[data-dir="next"] > li:not([hidden]),
  [data-design="v2"] .v2-solo-list[data-dir="next"] > li:not([hidden]) {
    animation: v2-pager-next 0.22s ease-out;
  }
  [data-design="v2"] .v2-team-list[data-dir="prev"] > li:not([hidden]),
  [data-design="v2"] .v2-solo-list[data-dir="prev"] > li:not([hidden]) {
    animation: v2-pager-prev 0.22s ease-out;
  }
  @keyframes v2-pager-next {
    from {
      opacity: 0;
      transform: translateX(18px);
    }
  }
  @keyframes v2-pager-prev {
    from {
      opacity: 0;
      transform: translateX(-18px);
    }
  }

  /* 넘기기 «‹ › 01 / 03 ───» */
  [data-design="v2"] .v2-pager {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 20px;
  }
  [data-design="v2"] .v2-pager-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-button);
    background: var(--d-surface);
    color: var(--d-ink-2);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    transition:
      background-color 0.15s,
      border-color 0.15s;
  }
  [data-design="v2"] .v2-pager-btn:hover:not(:disabled) {
    border-color: var(--d-brand-line);
    background: var(--d-brand-tint);
  }
  [data-design="v2"] .v2-pager-btn:disabled {
    opacity: 0.45;
    cursor: default;
  }
  [data-design="v2"] .v2-pager-count {
    flex-shrink: 0;
    color: var(--d-muted);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
  }
  [data-design="v2"] .v2-pager-count strong {
    color: var(--d-ink);
    font-size: 14.5px;
    font-weight: 700;
  }
  [data-design="v2"] .v2-pager-track {
    display: block;
    overflow: hidden;
    flex: 0 1 180px;
    height: 3px;
    border-radius: 2px;
    background: var(--d-line);
  }
  [data-design="v2"] .v2-pager-track i {
    display: block;
    height: 100%;
    border-radius: 2px;
    background: var(--d-brand-ink);
    transition: width 0.25s;
  }

  /* 인물 카드 */
  [data-design="v2"] .v2-card.v2-dcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  [data-design="v2"] .v2-dcard-photo {
    display: block;
  }
  [data-design="v2"] .v2-dcard-photo .v2-media-img {
    object-position: center top;
  }
  /* 누끼 사진(값이 있는 사람만) — 섹션 그라데이션 위에 얹고 아래쪽을 흐린다 */
  [data-design="v2"] .v2-dcard-photo[data-photo="cutout"] .v2-media {
    background: linear-gradient(175deg, var(--d-brand-tint) 3%, var(--d-brand-soft) 50%, var(--d-brand-line) 97%);
  }
  [data-design="v2"] .v2-dcard-photo[data-photo="cutout"] .v2-media-img {
    object-position: center bottom;
  }
  [data-design="v2"] .v2-dcard-photo[data-fade="s"] img,
  [data-design="v2"] .v2-hero-person-photo[data-fade="s"] img {
    --v2-fade: 8%;
  }
  [data-design="v2"] .v2-dcard-photo[data-fade="m"] img,
  [data-design="v2"] .v2-hero-person-photo[data-fade="m"] img {
    --v2-fade: 18%;
  }
  [data-design="v2"] .v2-dcard-photo[data-fade="l"] img,
  [data-design="v2"] .v2-hero-person-photo[data-fade="l"] img {
    --v2-fade: 30%;
  }
  [data-design="v2"] .v2-dcard-photo[data-fade] img,
  [data-design="v2"] .v2-hero-person-photo[data-fade] img {
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - var(--v2-fade)), transparent);
    mask-image: linear-gradient(to bottom, #000 calc(100% - var(--v2-fade)), transparent);
  }
  [data-design="v2"] .v2-dcard-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 18px 17px 17px;
  }
  [data-design="v2"] .v2-dcard-name,
  [data-design="v2"] .v2-solo-name {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 11px;
    color: var(--d-ink);
    font-size: 17.5px;
    font-weight: 700;
    line-height: 1.68;
    letter-spacing: -0.03em;
  }
  [data-design="v2"] .v2-dcard-name span,
  [data-design="v2"] .v2-solo-name span {
    color: var(--d-muted);
    font-size: 13px;
  }
  [data-design="v2"] .v2-dcard-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
  }
  [data-design="v2"] .v2-dcard-intro {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 12px;
    padding-top: 13px;
    border-top: 1px solid var(--d-line-soft);
    color: var(--d-muted);
    font-size: 13px;
    line-height: 1.62;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-dcard[data-size="lg"] .v2-dcard-intro {
    -webkit-line-clamp: 2;
  }

  /* 1인 배치 — 사진 | 상세 */
  [data-design="v2"] .v2-solo {
    display: grid;
    gap: 22px;
  }
  [data-design="v2"] .v2-solo .v2-dcard-photo {
    overflow: hidden;
    border-radius: var(--d-radius-card);
  }
  [data-design="v2"] .v2-solo-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
  }
  [data-design="v2"] .v2-solo-name {
    font-size: 24px;
    line-height: 1.4;
  }
  [data-design="v2"] .v2-solo-name span {
    font-size: 14px;
  }
  [data-design="v2"] .v2-solo-intro {
    margin-top: 16px;
    color: var(--d-ink-2);
    font-size: 15px;
    line-height: 1.75;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-solo-careers {
    width: 100%;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--d-line);
    color: var(--d-muted);
    font-size: 13.5px;
    line-height: 1.7;
  }
  [data-design="v2"] .v2-solo-careers li {
    display: flex;
    gap: 12px;
    padding-block: 3px;
  }
  [data-design="v2"] .v2-solo-careers span {
    flex-shrink: 0;
    min-width: 44px;
    color: var(--d-faint);
    font-variant-numeric: tabular-nums;
  }
  [data-design="v2"] .v2-solo-cta {
    margin-top: 22px;
  }

  /* 매거진 컨셉(PF-06) — 상자의 테두리 대신 위쪽 굵은 줄, 카드도 줄 없이 */
  [data-design="v2"][data-concept="magazine"] .v2-team {
    padding-inline: 0;
    border: 0;
    border-top: 1px solid var(--d-ink);
    border-radius: 0;
  }
  [data-design="v2"][data-concept="magazine"] .v2-dcard {
    border-color: transparent;
  }
  [data-design="v2"][data-concept="magazine"] .v2-dcard:hover {
    border-color: transparent;
  }
  [data-design="v2"][data-concept="magazine"] .v2-dcard-body {
    padding-inline: 0;
  }

  /* ── 가치 · 서비스 ────────────────────────────────── */
  [data-design="v2"] .v2-card.v2-vcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  [data-design="v2"] .v2-vcard-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 20px 22px 22px;
  }
  [data-design="v2"] .v2-vcard-num {
    color: var(--d-accent);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.68;
    letter-spacing: 0.18em;
  }
  [data-design="v2"] .v2-vcard-title {
    margin-top: 7px;
    color: var(--d-ink);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: -0.035em;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-vcard-desc {
    margin-top: 11px;
    color: var(--d-muted);
    font-size: 13.4px;
    line-height: 1.72;
    white-space: pre-line;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-vcard .v2-more {
    padding-top: 16px;
  }

  /* ── 글 목록 A 매거진 (PF-01 · PF-05) ─────────────── */
  [data-design="v2"] .v2-mag {
    display: grid;
    gap: 30px;
  }
  /* 큰 대표 글 — 사진 위에 분류 · 제목 · 날짜 */
  [data-design="v2"] .v2-feat {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: var(--d-radius-image);
    background: var(--d-brand-deep);
    box-shadow: var(--d-shadow-card);
  }
  [data-design="v2"] .v2-media.v2-feat-bg {
    position: absolute;
    inset: 0;
    height: 100%;
  }
  [data-design="v2"] .v2-feat-bg .v2-media-img {
    transition: transform 0.3s;
  }
  [data-design="v2"] .v2-feat:hover .v2-feat-bg .v2-media-img {
    transform: scale(1.03);
  }
  [data-design="v2"] .v2-feat-body {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 64px 20px 20px;
    background: linear-gradient(to bottom, rgb(8 16 26 / 0), rgb(8 16 26 / 0.3) 50%, rgb(8 16 26 / 0.72));
  }
  [data-design="v2"] .v2-feat-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    height: 31px;
    padding-inline: 13px;
    border-radius: var(--d-radius-button);
    background: rgb(255 255 255 / 0.92);
    color: var(--d-ink);
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
  }
  [data-design="v2"] .v2-feat-title {
    display: -webkit-box;
    overflow: hidden;
    color: #fff;
    font-size: 21px;
    font-weight: var(--d-title-weight);
    line-height: 1.28;
    letter-spacing: var(--d-title-tracking);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-feat .v2-meta {
    color: rgb(255 255 255 / 0.78);
  }
  /* 썸네일을 그리지 않는 정책 — 짙은 브랜드색 바탕에 글자만 */
  [data-design="v2"] .v2-feat[data-thumb="none"] {
    display: flex;
    align-items: flex-end;
    aspect-ratio: auto;
    min-height: 240px;
  }
  [data-design="v2"] .v2-feat[data-thumb="none"] .v2-feat-body {
    position: static;
    padding-top: 28px;
    background: none;
  }

  /* 최신 글 목록 */
  [data-design="v2"] .v2-lrows {
    margin-top: 5px;
  }
  [data-design="v2"] .v2-lrow {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-block: 13px;
    border-bottom: 1px solid var(--d-line-soft);
  }
  [data-design="v2"] .v2-lrows > li:last-child .v2-lrow {
    border-bottom: 0;
  }
  [data-design="v2"] .v2-media.v2-lrow-thumb {
    flex-shrink: 0;
    width: 72px;
  }
  [data-design="v2"] .v2-lrow-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
  }
  [data-design="v2"] .v2-lrow-title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--d-ink);
    font-size: 14.5px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.01em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-break: keep-all;
    transition: color 0.15s;
  }
  [data-design="v2"] .v2-lrow:hover .v2-lrow-title {
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-lrow .v2-meta {
    margin-top: 5px;
  }

  /* 에디터 추천 */
  [data-design="v2"] .v2-picks {
    margin-top: 48px;
  }
  [data-design="v2"] .v2-card.v2-pcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  [data-design="v2"] .v2-pcard-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 19px 19px;
  }
  [data-design="v2"] .v2-pcard-title {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 9px;
    color: var(--d-ink);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: -0.03em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-pcard-body > .v2-pcard-title:first-child {
    margin-top: 0;
  }
  [data-design="v2"] .v2-pcard-excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 10px;
    color: var(--d-muted);
    font-size: 13.5px;
    line-height: 1.66;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  [data-design="v2"] .v2-pcard .v2-meta {
    margin-top: auto;
    padding-top: 10px;
  }

  /* ── 글 목록 B 인덱스 (PF-06) ─────────────────────── */
  [data-design="v2"] .v2-idx {
    display: grid;
    gap: 32px;
  }
  [data-design="v2"] .v2-idx-feat {
    display: block;
  }
  [data-design="v2"] .v2-idx-feat-label {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    padding: 11px 13px;
    background: rgb(8 16 26 / 0.6);
    color: #fff;
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.68;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  [data-design="v2"] .v2-eyebrow.v2-idx-feat-eyebrow {
    margin-top: 22px;
    margin-bottom: 6px;
  }
  [data-design="v2"] .v2-idx-feat > .v2-eyebrow.v2-idx-feat-eyebrow:first-child {
    margin-top: 0;
  }
  [data-design="v2"] .v2-idx-feat-title {
    display: block;
    color: var(--d-ink);
    font-size: 24px;
    font-weight: var(--d-title-weight);
    line-height: 1.44;
    letter-spacing: var(--d-title-tracking);
    word-break: keep-all;
    transition: color 0.15s;
  }
  [data-design="v2"] .v2-idx-feat:hover .v2-idx-feat-title {
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-idx-list {
    padding-top: 6px;
    border-top: 1px solid var(--d-line);
  }
  [data-design="v2"] .v2-nrow {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    padding: 20px 4px;
    border-bottom: 1px solid var(--d-line-soft);
  }
  [data-design="v2"] .v2-nrow-num {
    color: var(--d-faint);
    font-size: 27px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
  }
  [data-design="v2"] .v2-nrow-text {
    display: block;
    min-width: 0;
  }
  [data-design="v2"] .v2-nrow-title {
    display: block;
    color: var(--d-ink);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    word-break: keep-all;
    transition: color 0.15s;
  }
  [data-design="v2"] .v2-nrow:hover .v2-nrow-title {
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-nrow-excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 6px;
    color: var(--d-muted);
    font-size: 13px;
    line-height: 1.72;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  [data-design="v2"] .v2-idx-more {
    display: flex;
    justify-content: center;
    padding-top: 18px;
  }
  [data-design="v2"] .v2-idx-insta-title {
    margin-bottom: 12px;
    color: var(--d-muted);
    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.68;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  [data-design="v2"] .v2-idx-insta ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  [data-design="v2"] .v2-idx-insta-item {
    display: block;
  }

  /* ── 글 목록 C 아카이브 (PF-07) ───────────────────── */
  [data-design="v2"] .v2-arc {
    display: grid;
    gap: 32px;
  }
  [data-design="v2"] .v2-arc-main {
    min-width: 0;
  }
  [data-design="v2"] .v2-arc-nav-title {
    margin-bottom: 8px;
    color: var(--d-ink);
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.68;
  }
  /* 좁은 화면은 가로로 흐르는 줄, 넓은 화면은 세로 목록 */
  [data-design="v2"] .v2-arc-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 18px;
  }
  [data-design="v2"] .v2-arc-nav-link {
    display: block;
    padding-block: 6px;
    color: var(--d-ink-2);
    font-size: 14px;
    line-height: 1.6;
    transition: color 0.15s;
  }
  [data-design="v2"] .v2-arc-nav-link[data-sub] {
    color: var(--d-muted);
  }
  [data-design="v2"] a.v2-arc-nav-link:hover {
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-arc-nav-link[aria-current] {
    color: var(--d-ink);
    font-weight: 700;
  }
  [data-design="v2"] .v2-arc-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
  }
  [data-design="v2"] .v2-arc-head .v2-subtitle {
    font-size: 15.5px;
  }
  [data-design="v2"] .v2-arc-count {
    flex-shrink: 0;
    color: var(--d-faint);
    font-size: 13px;
  }
  [data-design="v2"] .v2-arc-grid {
    display: grid;
    gap: 28px 22px;
  }
  [data-design="v2"] .v2-acard {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
  }
  [data-design="v2"] .v2-media.v2-acard-thumb {
    margin-bottom: 14px;
  }
  [data-design="v2"] .v2-acard-cat {
    color: var(--d-accent);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.68;
  }
  [data-design="v2"] .v2-acard-title {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 6px;
    color: var(--d-ink);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.03em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-break: keep-all;
    transition: color 0.15s;
  }
  [data-design="v2"] .v2-acard:hover .v2-acard-title {
    color: var(--d-brand-ink);
  }
  [data-design="v2"] .v2-acard-excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 6px;
    color: var(--d-muted);
    font-size: 13px;
    line-height: 1.62;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  /* 화살표는 카드 맨 아래에 맞춘다(같은 줄의 카드끼리 높이가 달라도) */
  [data-design="v2"] .v2-acard-foot {
    display: block;
    margin-top: auto;
    padding-top: 11px;
  }
  [data-design="v2"] .v2-acard-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-button);
    color: var(--d-ink-2);
    font-size: 12px;
    line-height: 1;
  }

  /* 쪽번호 — 좌우 화살표, 가운데 숫자 */
  [data-design="v2"] .v2-pagenav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 40px;
    padding-top: 27px;
    border-top: 1px solid var(--d-line);
  }
  [data-design="v2"] .v2-pagenav ol {
    display: flex;
    align-items: center;
    gap: 7px;
  }
  [data-design="v2"] .v2-pagenav-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    border-radius: var(--d-radius-button);
    color: var(--d-ink-2);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
  }
  [data-design="v2"] a.v2-pagenav-num:hover {
    background: var(--d-brand-tint);
    color: var(--d-brand-deep);
  }
  [data-design="v2"] .v2-pagenav-num[aria-current] {
    background: var(--d-ink);
    color: var(--d-surface);
    font-weight: 700;
  }
  [data-design="v2"] .v2-pagenav-arrow {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--d-line);
    border-radius: var(--d-radius-button);
    background: var(--d-surface);
    color: var(--d-ink-2);
    font-size: 15px;
    line-height: 1;
  }
  [data-design="v2"] a.v2-pagenav-arrow:hover {
    border-color: var(--d-brand-line);
    background: var(--d-brand-tint);
  }
  [data-design="v2"] .v2-pagenav-arrow[data-disabled] {
    opacity: 0.45;
  }

  /* ── 영상 ─────────────────────────────────────────── */
  [data-design="v2"] .v2-video-grid {
    display: grid;
    gap: 16px;
  }
  /* 좁은 화면은 세로로 4장까지 */
  [data-design="v2"] .v2-video-grid > li:nth-child(n + 5) {
    display: none;
  }
  [data-design="v2"] .v2-card.v2-ytcard {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  /* 사진 위의 옅은 딤과 재생 표시 */
  [data-design="v2"] .v2-ytcard-frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(10 18 28 / 0.18);
    transition: background-color 0.2s;
  }
  [data-design="v2"] .v2-ytcard:hover .v2-ytcard-frame::after {
    background: rgb(10 18 28 / 0.05);
  }
  [data-design="v2"] .v2-ytcard-play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 34px;
    border-radius: 9px;
    background: #ff3b30;
    box-shadow: 0 4px 7px rgb(0 0 0 / 0.3);
    color: #fff;
    font-size: 13px;
    font-style: normal;
    line-height: 1;
    transform: translate(-50%, -50%);
  }
  /* 재생 시간 딱지 — 넣은 영상만. 썸네일 오른쪽 아래 */
  [data-design="v2"] .v2-ytcard-time {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 1;
    padding: 3px 6px;
    border-radius: 5px;
    background: rgb(10 18 28 / 0.82);
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
    letter-spacing: 0.01em;
  }
  [data-design="v2"] .v2-ytcard-title {
    display: -webkit-box;
    overflow: hidden;
    margin: 13px 14px 15px;
    color: var(--d-ink-2);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-break: keep-all;
  }

  /* ── 상담 띠 ──────────────────────────────────────── */
  [data-design="v2"] .v2-band {
    background: var(--d-band-bg);
    color: #fff;
  }
  [data-design="v2"] .v2-band-inner {
    display: flex;
    flex-direction: column;
    gap: 22px;
    padding-block: 40px 44px;
  }
  [data-design="v2"] .v2-band-text {
    min-width: 0;
  }
  [data-design="v2"] .v2-band-title {
    font-size: 21px;
    font-weight: var(--d-title-weight);
    line-height: 1.28;
    letter-spacing: var(--d-title-tracking);
    word-break: keep-all;
  }
  [data-design="v2"] .v2-band-desc {
    margin-top: 10px;
    color: rgb(255 255 255 / 0.72);
    font-size: 14px;
    line-height: 1.68;
    word-break: keep-all;
  }
  [data-design="v2"] .v2-band-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  [data-design="v2"] .v2-band .v2-btn:focus-visible {
    outline-color: #fff;
  }
  /* 푸터가 어두운 컨셉(전문 서비스)은 상담 띠와 푸터가 같은 색이라 한 덩어리로 붙어 보인다 — 피그마 PF-07 처럼 사이를 띄운다 */
  [data-design="v2"][data-concept="professional"] .v2-home > .v2-band:last-child {
    margin-bottom: 10px;
  }

  /* ── 넓은 화면 (821px 이상) ───────────────────────── */
  @media (min-width: 51.3125rem) {
    [data-design="v2"] .v2-grid-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 22px;
    }

    /* 히어로 */
    [data-design="v2"] .v2-hero-inner {
      padding-block: 84px 86px;
    }
    [data-design="v2"] .v2-hero-title {
      font-size: 40px;
      line-height: 1.28;
    }
    [data-design="v2"] .v2-hero-lead {
      margin-top: 18px;
      font-size: 15.5px;
    }
    [data-design="v2"] .v2-hero-keywords ul {
      flex-wrap: wrap;
      margin-right: 0;
      padding-right: 0;
      overflow: visible;
    }
    [data-design="v2"] .v2-hero--banner .v2-hero-keywords ul,
    [data-design="v2"] .v2-hero--simple .v2-hero-keywords ul {
      justify-content: center;
    }
    /* 오른쪽 위 · 아래의 흰 도형 (피그마 div.blob) */
    [data-design="v2"] .v2-hero--person::before,
    [data-design="v2"] .v2-hero--person::after,
    [data-design="v2"] .v2-hero--simple::before {
      content: "";
      position: absolute;
      top: -200px;
      left: calc(50% + 330px);
      width: 520px;
      height: 520px;
      border-radius: 50px;
      background: #fff;
      opacity: 0.5;
    }
    [data-design="v2"] .v2-hero--person::after {
      top: 366px;
      left: calc(50% + 200px);
      width: 300px;
      height: 300px;
      opacity: 0.34;
    }
    [data-design="v2"] .v2-hero--person[data-hero-person] .v2-hero-inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      gap: 24px;
      padding-block: 58px 62px;
    }
    [data-design="v2"] .v2-hero-person {
      display: flex;
      align-items: flex-end;
      gap: 20px;
      margin-top: 0;
    }
    [data-design="v2"] .v2-hero-person-text {
      max-width: 190px;
      padding-bottom: 10px;
      text-align: right;
    }
    [data-design="v2"] .v2-hero-person-name {
      justify-content: flex-end;
    }
    [data-design="v2"] .v2-hero-person-bar {
      margin-left: auto;
    }
    [data-design="v2"] .v2-hero-person-photo {
      flex-shrink: 0;
      width: clamp(180px, 24vw, 268px);
    }
    [data-design="v2"] .v2-hero--banner .v2-hero-inner {
      padding-block: 82px 86px;
    }
    [data-design="v2"] .v2-hero--simple .v2-hero-inner {
      padding-block: 38px 46px;
    }
    [data-design="v2"] .v2-hero--simple .v2-hero-title {
      font-size: 26px;
    }

    /* 인물 — 상자 안 왼쪽 소개, 오른쪽 카드 (피그마: 소개 x43, 카드 x371~1069) */
    [data-design="v2"] .v2-team {
      display: grid;
      grid-template-columns: minmax(0, 286px) minmax(0, 1fr);
      align-items: center;
      gap: 42px;
      padding: 42px;
    }
    [data-design="v2"] .v2-team-intro {
      padding-inline: 0;
    }
    [data-design="v2"] .v2-team-cards {
      margin-top: 0;
    }
    [data-design="v2"] .v2-team[data-layout="three"] .v2-team-list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    [data-design="v2"] .v2-team[data-layout="two"] .v2-team-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    [data-design="v2"][data-concept="magazine"] .v2-team {
      padding-inline: 0;
    }
    [data-design="v2"] .v2-solo {
      grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
      align-items: center;
      gap: 48px;
    }
    [data-design="v2"] .v2-solo-name {
      font-size: 28px;
    }

    /* 매거진 — 대표 글 | 최신 글 (피그마 542 + 28 + 542) */
    [data-design="v2"] .v2-mag {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;
    }
    [data-design="v2"] .v2-mag[data-solo] {
      grid-template-columns: minmax(0, 1fr);
    }
    [data-design="v2"] .v2-mag[data-solo] .v2-feat:not([data-thumb="none"]) {
      aspect-ratio: 16 / 7;
    }
    [data-design="v2"] .v2-feat-body {
      padding: 80px 24px 22px;
    }
    [data-design="v2"] .v2-feat-title {
      font-size: 28px;
    }
    [data-design="v2"] .v2-feat[data-thumb="none"] {
      min-height: 320px;
    }
    [data-design="v2"] .v2-picks {
      margin-top: 53px;
    }

    /* 인덱스 — 대표 글 | 번호 목록 | 인스타그램 (피그마 326 + 44 + 478 + 44 + 220) */
    [data-design="v2"] .v2-idx {
      grid-template-columns: minmax(0, 326fr) minmax(0, 742fr);
      align-items: start;
      gap: 44px;
    }
    [data-design="v2"] .v2-idx[data-instagram] {
      grid-template-columns: minmax(0, 326fr) minmax(0, 478fr) minmax(0, 220fr);
    }
    [data-design="v2"] .v2-idx[data-solo] {
      grid-template-columns: minmax(0, 1fr);
    }
    [data-design="v2"] .v2-idx[data-solo][data-instagram] {
      grid-template-columns: minmax(0, 848fr) minmax(0, 220fr);
    }
    [data-design="v2"] .v2-idx-feat-title {
      font-size: 26px;
    }
    [data-design="v2"] .v2-idx-list {
      padding: 0 26px;
      border-top: 0;
      border-inline: 1px solid var(--d-line);
    }
    [data-design="v2"] .v2-nrow {
      grid-template-columns: 82px minmax(0, 1fr);
      padding: 21px 10px;
    }
    [data-design="v2"] .v2-idx-list li:first-child .v2-nrow {
      padding-top: 0;
    }
    [data-design="v2"] .v2-idx-insta ul {
      grid-template-columns: minmax(0, 1fr);
    }

    /* 아카이브 — 분류 | 글 (피그마 220 + 70 + 822) */
    [data-design="v2"] .v2-arc[data-nav] {
      grid-template-columns: 180px minmax(0, 1fr);
      align-items: start;
      gap: 40px;
    }
    [data-design="v2"] .v2-arc-nav-title {
      margin-bottom: 10px;
    }
    [data-design="v2"] .v2-arc-nav ul {
      display: block;
    }
    [data-design="v2"] .v2-arc-nav-link[data-sub] {
      padding-left: 12px;
    }
    [data-design="v2"] .v2-arc-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    [data-design="v2"] .v2-arc:not([data-nav]) .v2-arc-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    [data-design="v2"] .v2-pagenav {
      margin-top: 44px;
    }

    /* 영상 — 4열 */
    [data-design="v2"] .v2-video-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }
    [data-design="v2"] .v2-video-grid > li:nth-child(n + 5) {
      display: block;
    }

    /* 상담 띠 — 글자 왼쪽, 단추 오른쪽 */
    [data-design="v2"] .v2-band-inner {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
      padding-block: 49px 50px;
    }
    [data-design="v2"] .v2-band-title {
      font-size: 27px;
    }
    [data-design="v2"] .v2-band-desc {
      margin-top: 12px;
    }
    [data-design="v2"] .v2-band-actions {
      flex-shrink: 0;
      flex-wrap: nowrap;
    }
  }

  /* ── 아주 넓은 화면 (1024px 이상) — 아카이브의 3열 ── */
  @media (min-width: 64rem) {
    [data-design="v2"] .v2-arc[data-nav] {
      grid-template-columns: 220px minmax(0, 1fr);
      gap: 70px;
    }
    [data-design="v2"] .v2-arc-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  /* 움직임을 줄이도록 한 사용자 */
  @media (prefers-reduced-motion: reduce) {
    [data-design="v2"] .v2-feat-bg .v2-media-img,
    [data-design="v2"] .v2-pager-track i {
      transition: none;
    }
    [data-design="v2"] .v2-team-list[data-dir] > li,
    [data-design="v2"] .v2-solo-list[data-dir] > li {
      animation: none;
    }
  }
}
