    :root {
      --primary: #1769d1;
      --primary-hover: #0f56b5;
      --bar: #30343b;
      --black: #0d0d0d;
      --gray-900: #221e1f;
      --gray-800: #333;
      --gray-700: #545454;
      --gray-400: #a8a8a8;
      --line: #cccccc;
      --white: #fff;
      --soft: #f3f3f3;
      --section-h: calc(100dvh - var(--sticky-consult-h));
      --section-min: 720px;
      --header-h: 126px;
      --side-pad: clamp(42px, 4.9vw, 70px);
      --float-safe: clamp(132px, 8.5vw, 170px);
      --safe-right-pad: calc(var(--side-pad) + var(--float-safe));
      --type-title: 42px;
      --type-subtitle: 22px;
      --type-body: 16px;
      --leading-title: 1.24;
      --leading-subtitle: 1.45;
      --leading-body: 1.75;
      --tracking-title: -0.055em;
      --tracking-subtitle: -0.04em;
      --tracking-body: -0.025em;
      --sticky-consult-h: 76px;
      --fit-pad-xs: 32px;
      --fit-pad-sm: 46px;
      --fit-pad-md: 58px;
      --fit-pad-lg: 74px;
      --fit-gap-xs: 8px;
      --fit-gap-sm: 16px;
      --fit-gap-md: 34px;
      --fit-gap-lg: 54px;
      --fit-gap-xl: 72px;
      --fit-menu-item: 66px;
      --fit-content-offset: 110px;
      --section-bottom-gap: 72px;
      --section-heading-gap: 38px;
      --section-frame-inset: 42px;
      --hero-title-top: 292px;
      --hero-card-bottom: 196px;
      --hero-search-bottom: 118px;
      --hero-scroll-bottom: 62px;
    }

    * { box-sizing: border-box; }
    html, body {
      margin: 0;
      padding: 0;
      scroll-behavior: smooth;
      overscroll-behavior-y: none;
    }
    body {
      font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", Arial, sans-serif;
      color: var(--gray-900);
      background: #fff;
      letter-spacing: -0.02em;
    }
    a { color: inherit; text-decoration: none; }
    ul { list-style: none; padding: 0; margin: 0; }
    main { padding-bottom: var(--sticky-consult-h); }
    main.consult-page { padding-bottom: 0; }
    .text-nowrap { white-space: nowrap; }
    .page :is(
      h1, h2, h3, h4,
      p, li, dt, dd,
      th, td, label,
      button, input, select, textarea,
      a, span, strong, small
    ) {
      word-break: keep-all;
      overflow-wrap: normal;
      line-break: strict;
    }

    .page {
      width: 100%;
      min-height: 100%;
      margin: 0;
      overflow: hidden;
      position: relative;
      background: #fff;
    }

    .header {
      position: fixed;
      z-index: 50;
      top: 0;
      left: 0;
      width: 100%;
      height: 158px;
      pointer-events: none;
    }

    .header-bar {
      position: absolute;
      top: 34px;
      left: auto;
      right: calc(clamp(34px, 4vw, 76px) + 180px);
      height: 42px;
      translate: 0 0;
      transform: none;
      background: rgba(48, 52, 59, 0.97);
      color: #fff;
      border-radius: 999px;
      box-shadow: 0 12px 32px rgba(0,0,0,0.18);
      overflow: hidden;
      pointer-events: auto;
    }

    .header-bar-inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0;
    }

    .consult-btn {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      height: 100%;
      padding: 0 23px;
      border-radius: 999px;
      background: var(--primary);
      color: #fff;
      font-size: var(--type-body);
      font-weight: 800;
      white-space: nowrap;
      box-shadow: none;
    }

    .consult-btn .pointer {
      width: 15px;
      height: 15px;
      border: 2px solid #fff;
      transform: rotate(45deg);
      border-left: 0;
      border-bottom: 0;
      display: inline-block;
    }

    .top-nav {
      display: flex;
      align-items: center;
      gap: 0;
      height: 100%;
      padding: 0 22px 0 28px;
      color: #fff;
      font-size: var(--type-body);
      font-weight: 800;
      white-space: nowrap;
    }

    .top-nav .divider {
      margin: 0 17px;
      opacity: 0.55;
    }

    .mobile-menu-toggle,
    .mobile-nav-backdrop {
      display: none;
    }

    .header-top {
      position: absolute;
      inset: 0;
      height: 158px;
      background: transparent;
      border: 0;
      box-shadow: none;
      backdrop-filter: none;
      pointer-events: none;
    }

    .hamburger {
      position: absolute;
      right: clamp(38px, 2.3vw, 48px);
      top: 30px;
      width: 58px;
      height: 48px;
      color: #1f2733;
      text-align: center;
      font-size: var(--type-body);
      text-transform: lowercase;
      pointer-events: auto;
      text-shadow: 0 1px 10px rgba(255,255,255,0.5);
      transition: color 0.25s ease, transform 0.45s cubic-bezier(.16, 1, .3, 1), opacity 0.35s ease;
    }

    .hamburger.is-over-dark {
      color: #fff;
      text-shadow: 0 1px 12px rgba(0,0,0,0.42);
    }

    .hamburger .line {
      display: block;
      width: 36px;
      height: 2px;
      background: currentColor;
      margin: 7px auto;
      box-shadow: 0 0 8px rgba(255,255,255,0.36);
    }

    .fixed-side {
      position: fixed;
      z-index: 35;
      right: 35px;
      top: auto;
      bottom: calc(var(--sticky-consult-h) + clamp(34px, 4vh, 50px));
      width: 92px;
      pointer-events: auto;
      text-align: center;
    }

    .side-word {
      writing-mode: vertical-rl;
      text-orientation: mixed;
      letter-spacing: 0.2em;
      font-weight: 800;
      font-size: var(--type-subtitle);
      color: rgba(8, 14, 24, 0.96);
      margin: 0 auto 18px;
      text-shadow: 0 1px 2px rgba(255,255,255,0.72), 0 0 14px rgba(8,14,24,0.24), 0 0 28px rgba(8,14,24,0.16);
      transition: color 0.25s ease, text-shadow 0.25s ease;
    }

    .side-word.is-over-dark {
      color: rgba(255, 255, 255, 0.92);
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.44), 0 0 18px rgba(255,255,255,0.52), 0 0 34px rgba(23,105,209,0.18);
    }

    .quick-btn {
      background: rgba(0, 0, 0, 0.47);
      padding: 14px 8px 18px;
      color: #fff;
    }

    .quick-title {
      font-size: var(--type-body);
      font-weight: 700;
      padding-bottom: 13px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.32);
      margin-bottom: 9px;
    }

    .quick-item {
      width: 100%;
      height: 92px;
      padding: 0;
      border: 0;
      appearance: none;
      background: transparent;
      color: inherit;
      font: inherit;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      font-size: var(--type-body);
      font-weight: 600;
    }

    button.quick-item {
      cursor: pointer;
    }

    .quick-label {
      display: block;
      line-height: 1.15;
      letter-spacing: -0.03em;
      white-space: nowrap;
    }

    .quick-icon {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #111;
      background: #fff;
      font-size: var(--type-body);
      font-weight: 900;
    }

    .quick-icon img,
    .quick-icon svg {
      width: 23px;
      height: 23px;
      display: block;
    }

    .quick-icon svg {
      fill: none;
      stroke: currentColor;
      stroke-width: 2.25;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .quick-icon.kakao img {
      width: 46px;
      height: 46px;
      object-fit: contain;
    }

    .quick-icon.kakao {
      width: 46px;
      height: 46px;
      border-radius: 0;
      overflow: visible;
      background: transparent;
    }
    .quick-icon.phone {
      background: transparent;
      color: inherit;
    }

    .quick-icon.phone img {
      width: 44px;
      height: 44px;
    }
    .quick-icon.red { background: var(--primary); color: #fff; }

    .bottom-consult {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 65;
      min-height: var(--sticky-consult-h);
      display: grid;
      grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) minmax(170px, 198px);
      color: #fff;
      box-shadow: 0 -18px 42px rgba(0, 0, 0, 0.2);
    }

    .bottom-consult * {
      font-family: inherit;
    }

    .bottom-consult-phone,
    .bottom-consult-submit {
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--primary);
      color: #fff;
      font-weight: 850;
      border: 0;
    }

    .bottom-consult-phone {
      gap: 12px;
      font-size: var(--type-subtitle);
      letter-spacing: -0.035em;
      white-space: nowrap;
    }

    .bottom-consult-phone strong {
      font-size: 23px;
      letter-spacing: 0;
    }

    .bottom-consult-form {
      display: grid;
      grid-template-columns: auto minmax(118px, 140px) auto minmax(170px, 200px) auto minmax(180px, 220px) minmax(190px, 1fr);
      align-items: center;
      gap: 16px;
      min-width: 0;
      padding: 0 clamp(24px, 3vw, 42px);
      background: rgba(48, 52, 59, 0.98);
    }

    .bottom-consult-label {
      font-size: var(--type-body);
      font-weight: 800;
      white-space: nowrap;
    }

    .bottom-consult-control {
      width: 100%;
      height: 36px;
      border: 0;
      border-radius: 4px;
      background: #fff;
      color: #222;
      padding: 0 14px;
      font-size: 15px;
      font-weight: 600;
      outline: none;
      min-width: 0;
    }

    .bottom-consult select.bottom-consult-control {
      appearance: none;
      -webkit-appearance: none;
      padding-right: 38px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 5.25 7 8.75l3.5-3.5' fill='none' stroke='%23222934' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      background-size: 14px 14px;
    }

    .bottom-consult select.bottom-consult-control option,
    .consult-reference-right .consult-form .form-row select option,
    .consult-reference-right .sub-consult-form .sub-form-row select option {
      padding: 10px 14px;
      min-height: 36px;
      background-color: #fff;
      color: #172033;
      font-size: 15px;
      font-weight: 650;
      line-height: 1.45;
    }

    .bottom-consult select.bottom-consult-control option:checked,
    .consult-reference-right .consult-form .form-row select option:checked,
    .consult-reference-right .sub-consult-form .sub-form-row select option:checked {
      background-color: var(--primary);
      color: #fff;
      font-weight: 800;
    }

    .native-select-hidden {
      display: none !important;
    }

    .custom-select {
      position: relative;
      width: 100%;
      min-width: 0;
    }

    .custom-select-button {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      border: 0;
      outline: 0;
      cursor: pointer;
      font-family: inherit;
      letter-spacing: 0;
      text-align: left;
    }

    .custom-select-value {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .custom-select-chevron {
      flex: 0 0 auto;
      width: 8px;
      height: 8px;
      margin-left: 14px;
      border: solid currentColor;
      border-width: 0 2px 2px 0;
      transform: translateY(-2px) rotate(45deg);
      transition: transform 0.16s ease;
    }

    .custom-select.is-open .custom-select-chevron {
      transform: translateY(2px) rotate(225deg);
    }

    .custom-select-list {
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 6px);
      z-index: 180;
      max-height: 280px;
      overflow: auto;
      padding: 6px 0;
      border: 1px solid rgba(16, 25, 39, 0.18);
      border-radius: 2px;
      background: #fff;
      box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
    }

    .custom-select-option {
      display: block;
      width: 100%;
      min-height: 38px;
      padding: 10px 18px;
      border: 0;
      background: #fff;
      color: #172033;
      font-family: inherit;
      font-size: 15px;
      font-weight: 650;
      line-height: 1.45;
      letter-spacing: 0;
      text-align: left;
      cursor: pointer;
    }

    .custom-select-option:hover,
    .custom-select-option:focus-visible,
    .custom-select-option.is-selected {
      background: var(--primary);
      color: #fff;
      font-weight: 800;
    }

    .custom-select--bottom .custom-select-button {
      height: 36px;
      min-height: 36px;
      padding: 0 14px;
      border-radius: 4px;
      background: #fff;
      color: #222;
      font-size: 15px;
      font-weight: 600;
    }

    .custom-select--bottom .custom-select-list {
      top: auto;
      bottom: calc(100% + 8px);
      min-width: 188px;
      padding: 0;
    }

    .custom-select--line .custom-select-button {
      min-height: 40px;
      padding: 14px 2px 14px 0;
      border-radius: 0;
      background: transparent;
      color: #fff;
      font-size: var(--type-body);
      font-weight: 650;
      line-height: 1.2;
    }

    .bottom-consult-control::placeholder {
      color: #9a9a9a;
      font-weight: 600;
    }

    .bottom-consult-agree {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      color: #fff;
      font-size: var(--type-body);
      font-weight: 800;
      line-height: 1.2;
      white-space: nowrap;
    }

    .bottom-consult-agree-check {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      min-height: 36px;
      cursor: pointer;
    }

    .bottom-consult-agree-check span {
      display: inline-flex;
      align-items: center;
      white-space: nowrap;
    }

    .privacy-consent-trigger {
      display: inline-flex;
      align-items: center;
      min-height: 36px;
      padding: 0;
      border: 0;
      background: transparent;
      color: inherit;
      font: inherit;
      font-weight: inherit;
      line-height: 1.2;
      letter-spacing: inherit;
      text-align: left;
      white-space: nowrap;
      cursor: pointer;
    }

    .privacy-consent-trigger:hover,
    .privacy-consent-trigger:focus-visible,
    .footer-privacy-link:hover,
    .footer-privacy-link:focus-visible {
      text-decoration: underline;
      text-underline-offset: 4px;
    }

    .privacy-consent-trigger:focus-visible,
    .footer-privacy-link:focus-visible {
      outline: 2px solid rgba(255,255,255,0.75);
      outline-offset: 4px;
    }

    .bottom-consult-agree input,
    .privacy-consent-label input {
      appearance: none;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: #fff;
      border: 2px solid #fff;
      box-shadow: inset 0 0 0 6px #fff;
      flex: 0 0 auto;
      margin: 0;
    }

    .bottom-consult-agree input:checked,
    .privacy-consent-label input:checked {
      border-width: 4px;
      box-shadow: inset 0 0 0 4px var(--primary);
    }

    .bottom-consult-agree input:focus-visible,
    .privacy-consent-label input:focus-visible {
      outline: 2px solid rgba(255,255,255,0.75);
      outline-offset: 3px;
    }

    .bottom-privacy-detail {
      position: relative;
      flex: 0 0 auto;
      font-size: inherit;
      font-weight: 800;
      letter-spacing: 0;
      line-height: inherit;
    }

    .bottom-privacy-detail summary {
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      min-height: 36px;
      padding: 0;
      border: 0;
      border-radius: 0;
      color: #fff;
      cursor: pointer;
      list-style: none;
    }

    .bottom-privacy-detail summary::-webkit-details-marker {
      display: none;
    }

    .bottom-privacy-detail summary::marker {
      content: "";
    }

    .bottom-privacy-detail[open] summary {
      background: transparent;
      border-color: transparent;
    }

    .bottom-privacy-panel {
      position: absolute;
      right: 0;
      bottom: calc(100% + 16px);
      width: min(420px, calc(100vw - 40px));
      padding: 18px 20px;
      background: rgba(255,255,255,0.97);
      border: 1px solid #d5dde8;
      box-shadow: 0 18px 46px rgba(7,21,35,0.22);
      color: var(--gray-900);
      white-space: normal;
      line-height: 1.65;
      z-index: 90;
    }

    .bottom-privacy-panel strong {
      display: block;
      margin-bottom: 8px;
      color: var(--primary);
      font-size: 14px;
      font-weight: 900;
    }

    .bottom-privacy-panel p {
      margin: 0 0 6px;
      color: #4c596b;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .bottom-privacy-panel p:last-child {
      margin-bottom: 0;
    }

    .bottom-privacy-panel b {
      color: #101927;
      font-weight: 900;
      margin-right: 6px;
    }

    .bottom-consult-submit {
      width: 100%;
      cursor: pointer;
      font-size: var(--type-body);
      letter-spacing: -0.02em;
      transition: background 0.25s ease, filter 0.25s ease;
    }

    .bottom-consult-submit:hover {
      background: var(--primary-hover);
      filter: brightness(1.04);
    }

    .main-pagination {
      position: absolute;
      z-index: 5;
      left: 72px;
      top: 510px;
      color: #fff;
      display: flex;
      align-items: center;
      gap: 18px;
      font-weight: 600;
    }

    .progress-label {
      width: 44px;
      font-size: var(--type-subtitle);
    }

    .progress-bar {
      width: 116px;
      height: 2px;
      background: rgba(255, 255, 255, 0.42);
      position: relative;
    }

    .progress-bar::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      height: 2px;
      width: 100%;
      background: var(--primary);
      transform: scaleX(0);
      transform-origin: left center;
    }

    .main-label {
      font-size: var(--type-subtitle);
      margin-left: 6px;
    }

    .hero {
      height: var(--section-h);
      min-height: var(--section-min);
      position: relative;
      color: #fff;
      background: #0d0d0d;
      overflow: hidden;
    }

    .hero-bg-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
    }

    .hero-overlay {
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(100deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.08) 38%, rgba(0, 0, 0, 0.04) 72%, rgba(0, 0, 0, 0.22) 100%);
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 7%, rgba(255,255,255,0.05) 7.1% 8.3%, transparent 8.5% 19%, rgba(255,255,255,0.05) 19.2% 20.5%, transparent 20.7% 100%),
        linear-gradient(180deg, rgba(255,255,255,0.12), transparent 28%),
        radial-gradient(circle at 77% 44%, rgba(255,255,255,0.38), transparent 9%),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 74px);
      opacity: 0.22;
    }

    .hero::after {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      width: 51%;
      height: 100%;
      background:
        linear-gradient(180deg, rgba(255,255,255,0.12) 0 1px, transparent 1px 18px),
        linear-gradient(90deg, rgba(255,255,255,0.07), transparent 46%),
        radial-gradient(ellipse at 47% 56%, rgba(255,255,255,0.2), transparent 38%);
      filter: blur(0.2px);
      opacity: 0.16;
    }

    .main-title-box {
      position: absolute;
      z-index: 4;
      left: clamp(96px, 8vw, 154px);
      top: var(--hero-title-top);
      width: min(690px, 46vw);
      opacity: 1;
      transform: translateY(0);
      filter: none;
    }

    .main-title-box .kicker {
      font-size: var(--type-subtitle);
      color: rgba(255, 255, 255, 0.74);
      letter-spacing: 0.1em;
      margin-bottom: 28px;
    }

    .main-title-box h1 {
      margin: 0;
      font-size: var(--type-title);
      line-height: 1.28;
      letter-spacing: -0.07em;
      font-weight: 500;
    }

    .main-title-box h1 strong {
      font-weight: 800;
    }

    .main-title-box .light {
      font-weight: 300;
    }

    .search-ani {
      position: absolute;
      z-index: 6;
      right: var(--safe-right-pad);
      left: auto;
      bottom: var(--hero-search-bottom);
      transform: none;
      width: min(650px, calc(100vw - var(--safe-right-pad) - var(--side-pad)));
      height: 58px;
      background: rgba(0, 0, 0, 0.42);
      border: 1px solid rgba(255, 255, 255, 0.22);
      display: flex;
      align-items: center;
      padding: 0 26px;
      color: rgba(255, 255, 255, 0.78);
      font-size: var(--type-body);
      text-decoration: none;
      cursor: pointer;
    }

    .search-ani .search-arrow {
      margin-left: auto;
      width: 34px;
      height: 2px;
      background: #fff;
      position: relative;
      transition: transform 0.22s ease;
    }

    .search-ani .search-arrow::after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      width: 11px;
      height: 11px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: translateY(-50%) rotate(45deg);
    }

    .search-ani:hover .search-arrow,
    .search-ani:focus-visible .search-arrow {
      transform: translateX(5px);
    }

    .scroll-down {
      position: absolute;
      z-index: 5;
      left: 72px;
      bottom: var(--hero-scroll-bottom);
      color: rgba(255, 255, 255, 0.78);
      font-size: var(--type-body);
      letter-spacing: 0.2em;
      writing-mode: vertical-rl;
    }

    .lawyer-right {
      position: absolute;
      z-index: 6;
      right: var(--safe-right-pad);
      bottom: var(--hero-card-bottom);
      width: min(480px, calc(40vw - 20px));
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      overflow: hidden;
      background: rgba(255,255,255,0.58);
      border: 0;
      box-shadow: 0 34px 72px rgba(0,0,0,0.34), 0 10px 22px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.62);
      backdrop-filter: blur(18px) saturate(1.14);
      transform: translateY(-8px);
    }

    .lawyer-card {
      position: relative;
      min-height: 220px;
      color: #1f2733;
      background: transparent;
      overflow: hidden;
      border: 0;
      box-shadow: none;
      backdrop-filter: none;
    }

    .lawyer-card + .lawyer-card {
      border-left: 1px solid rgba(13,35,64,0.08);
    }

    .lawyer-card::before {
      content: "";
      position: absolute;
      left: 26px;
      right: 26px;
      top: 24px;
      height: 1px;
      background: rgba(13,35,64,0.13);
    }

    .lawyer-card::after {
      content: "";
      position: absolute;
      right: 24px;
      bottom: 22px;
      width: 26px;
      height: 26px;
      border-right: 1px solid rgba(13,35,64,0.18);
      border-bottom: 1px solid rgba(13,35,64,0.18);
      pointer-events: none;
    }

    .lawyer-card .txt {
      position: relative;
      z-index: 1;
      padding: 48px 36px 36px;
    }

    .lawyer-card .card-tag {
      display: block;
      margin-bottom: 18px;
      color: rgba(31,39,51,0.7);
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: -0.035em;
    }

    .lawyer-card dt {
      margin: 0 0 16px;
      color: #111827;
      font-size: var(--type-title);
      line-height: 1.12;
      font-weight: 900;
      letter-spacing: -0.065em;
    }

    .lawyer-card dt span {
      color: rgba(31,39,51,0.68);
      font-size: var(--type-body);
      font-weight: 800;
      letter-spacing: -0.045em;
    }

    .lawyer-card dd {
      margin: 0;
      color: rgba(31,39,51,0.82);
      font-size: var(--type-body);
      line-height: 1.78;
      letter-spacing: -0.04em;
    }

    .section {
      min-height: 1040px;
      position: relative;
    }

    .case-section {
      position: relative;
      height: var(--section-h);
      min-height: var(--section-min);
      background: #111;
      padding: calc(var(--header-h) + var(--fit-pad-md)) var(--safe-right-pad) var(--fit-pad-md) var(--side-pad);
      overflow: hidden;
      display: flex;
      align-items: center;
    }

    .case-bg-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0.96;
      z-index: 0;
    }

    .case-inner {
      --case-inner-lift: -30px;
      position: relative;
      z-index: 2;
      height: min(calc(var(--section-h) - var(--header-h) - var(--fit-pad-xs)), 820px);
      min-height: min(520px, calc(var(--section-h) - var(--header-h) - var(--fit-pad-xs)));
      width: 100%;
      display: grid;
      grid-template-columns: 31.5% 68.5%;
      background: rgba(255, 255, 255, 0.85);
      translate: 0 var(--case-inner-lift);
    }

    .case-left {
      background:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 74px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.026) 0 1px, transparent 1px 82px),
        linear-gradient(180deg, rgba(21, 22, 24, 0.86), rgba(35, 36, 38, 0.84));
      padding: var(--fit-pad-lg) clamp(28px, 3vw, 46px) var(--fit-pad-lg) clamp(58px, 5.6vw, 88px);
      color: #fff;
      position: relative;
      overflow: hidden;
      display: flex;
      align-items: stretch;
    }

    .case-left::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(115deg, rgba(23,105,209,0.12), transparent 34%),
        linear-gradient(90deg, rgba(0,0,0,0.14), transparent 54%);
      pointer-events: none;
    }

    .case-left::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 1px;
      background: rgba(255,255,255,0.16);
      pointer-events: none;
    }

    .case-left .line {
      display: none;
    }

    .case-menu-desktop-shell {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: stretch;
    }

    .case-menu-mobile {
      display: none;
    }

    .case-menu-desktop {
      --item-h: 58px;
      position: relative;
      padding-left: 38px;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      z-index: 1;
    }

    .case-menu-desktop::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 1px;
      background: rgba(255,255,255,0.38);
      z-index: 0;
    }

    .case-menu-desktop::after {
      content: "";
      position: absolute;
      left: 0;
      top: var(--marker-y, calc(var(--item-h) / 2));
      width: 13px;
      height: 13px;
      border-radius: 50%;
      background: #fff;
      border: 3px solid rgba(255,255,255,0.28);
      box-shadow: 0 0 0 7px rgba(255,255,255,0.1), 0 8px 24px rgba(23,105,209,0.24);
      transform: translate(-50%, -50%);
      transition: top 0.72s cubic-bezier(.18, 1.18, .32, 1), box-shadow 0.32s ease, transform 0.32s ease;
      z-index: 2;
      pointer-events: none;
    }

    .case-menu-desktop li {
      position: relative;
      height: var(--item-h);
      flex: 0 0 var(--item-h);
      display: flex;
      align-items: center;
      width: 100%;
    }

    .case-menu-desktop li::before {
      display: none;
    }

    .case-menu-desktop li.active::before {
      display: none;
    }

    .case-tab-desktop {
      appearance: none;
      border: 0;
      background: transparent;
      width: 100%;
      min-height: 44px;
      padding: 0 clamp(20px, 2.4vw, 34px) 0 0;
      margin: 0;
      cursor: pointer;
      text-align: left;
      font-family: inherit;
      font-size: var(--type-subtitle);
      color: #aaa;
      font-weight: 500;
      letter-spacing: -0.04em;
      line-height: 1.25;
      transition: color 0.24s ease, transform 0.24s ease;
    }

    .case-tab-desktop:hover,
    .case-tab-desktop:focus-visible {
      color: #fff;
      transform: translateX(4px);
      outline: none;
    }

    .case-menu-desktop li.active .case-tab-desktop {
      color: #fff;
      font-weight: 800;
      cursor: default;
      transform: translateX(0);
    }

    .case-right {
      --case-table-cols: minmax(112px, 148px) minmax(0, 0.9fr) minmax(108px, 144px) minmax(210px, 260px);
      --case-frame-bottom: clamp(10px, 1.6vh, 16px);
      --case-content-drop: 30px;
      position: relative;
      padding: var(--fit-pad-md) clamp(54px, 5.5vw, 80px) var(--section-bottom-gap);
      background: rgba(250, 251, 253, 0.9);
      overflow: hidden;
    }

    .case-right::before {
      content: "";
      position: absolute;
      inset: var(--section-frame-inset) var(--section-frame-inset) var(--case-frame-bottom);
      border: 1px solid rgba(13, 35, 64, 0.1);
      background:
        linear-gradient(180deg, rgba(255,255,255,0.76), rgba(248,249,250,0.58)),
        repeating-linear-gradient(90deg, rgba(23, 105, 209, 0.032) 0 1px, transparent 1px 42px);
      background-size: auto, 42px 100%;
      background-repeat: no-repeat, repeat;
      opacity: 0.86;
      pointer-events: none;
    }

    .case-right > * {
      position: relative;
      z-index: 1;
      translate: 0 var(--case-content-drop);
    }

    .box-top {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      margin-bottom: var(--fit-gap-md);
    }

    .case-right .box-top {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--fit-gap-sm);
      align-items: start;
    }

    .case-right .page-title h2,
    .case-right .page-title .section-headline {
      max-width: none;
    }

    .page-title h2 {
      margin: 0 0 14px;
      font-size: var(--type-title);
      font-weight: 800;
      color: #222;
      letter-spacing: -0.08em;
    }

    .page-title .section-headline {
      margin: 0;
      white-space: pre-line;
      font-size: var(--type-title);
      line-height: 1.35;
      font-weight: 400;
      color: #222;
      letter-spacing: -0.06em;
    }

    .page-title .section-headline strong {
      font-weight: 800;
    }

    .more {
      appearance: none;
      border: 0;
      background: transparent;
      font-family: inherit;
      padding-top: 10px;
      display: flex;
      align-items: center;
      gap: 12px;
      text-transform: lowercase;
      color: var(--primary);
      font-size: var(--type-subtitle);
      font-weight: 700;
      text-decoration: none;
      cursor: pointer;
    }

    .add-btn {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid #ccc;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #222;
      font-size: var(--type-subtitle);
    }

    .case-doc-meta {
      display: none;
      grid-template-columns: var(--case-table-cols);
      column-gap: 0;
      padding: 0 14px;
      border-top: 2px solid #1d2d44;
      border-left: 0;
      border-right: 0;
      border-bottom: 0;
      background: rgba(13, 35, 64, 0.045);
    }

    .case-doc-meta span {
      min-height: clamp(38px, 4vh, 44px);
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 0 clamp(6px, 0.75vw, 10px);
      color: #25364c;
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: -0.02em;
    }

    .case-doc-meta span:first-child,
    .case-list a > span:first-child {
      padding-left: 0;
    }

    .case-doc-meta span:last-child,
    .case-list a > span:last-child {
      padding-right: 0;
    }

    .case-doc-meta span:nth-child(2),
    .case-doc-meta span:nth-child(3),
    .case-doc-meta span:nth-child(4),
    .case-doc-meta span:nth-child(5) {
      justify-content: center;
      text-align: center;
    }

    .case-list-window {
      --case-row-h: clamp(66px, 8.2vh, 82px);
      --case-visible-rows: 5;
      height: calc(var(--case-row-h) * var(--case-visible-rows));
      margin-bottom: 0;
      overflow: hidden;
      position: relative;
      border-top: 2px solid #1d2d44;
      border-bottom: 1px solid rgba(13, 35, 64, 0.14);
    }

    .case-list-window:hover .case-list {
      animation-play-state: paused;
    }

    .case-list {
      animation: none;
      will-change: auto;
    }

    .case-right.is-case-changing .box-top,
    .case-right.is-case-changing .case-list-window {
      animation: caseStatusRise 0.5s cubic-bezier(.16, 1, .3, 1) both;
    }

    .case-right.is-case-changing .case-list-window {
      animation-delay: 0.05s;
    }

    .case-list li {
      height: var(--case-row-h);
      border-bottom: 1px solid rgba(13, 35, 64, 0.16);
      position: relative;
      background: rgba(255, 255, 255, 0.34);
      transition: transform 0.35s cubic-bezier(.16, 1, .3, 1), background-color 0.35s ease, box-shadow 0.35s ease;
    }

    .case-list li:first-child { border-top: 0; }

    .case-list a {
      height: 100%;
      min-height: 0;
      display: grid;
      grid-template-columns: var(--case-table-cols);
      align-items: center;
      column-gap: 0;
      font-size: var(--type-body);
      padding: 0 clamp(20px, 2.2vw, 34px);
    }

    .case-list a > span {
      padding: 0 clamp(6px, 0.65vw, 10px);
    }

    .case-type {
      color: #25364c;
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: -0.04em;
      white-space: nowrap;
    }

    .case-title {
      justify-self: stretch;
      display: block;
      text-align: left;
      font-weight: 850;
      color: #1f2328;
      line-height: 1.4;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .case-step {
      justify-self: stretch;
      display: none;
      text-align: right;
      color: #6f7b88;
      font-size: var(--type-body);
      font-weight: 760;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .case-issue {
      justify-self: stretch;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: var(--primary);
      font-size: var(--type-body);
      font-weight: 800;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .case-point {
      justify-self: stretch;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      padding: 0;
      border: 0;
      border-radius: 0;
      color: #25364c;
      background: transparent;
      font-size: var(--type-body);
      font-weight: 900;
      text-align: center;
      line-height: 1.35;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .case-result.status-wait {
      color: #5f6b7a;
      border-color: transparent;
      background: transparent;
    }

    .case-result.status-progress {
      color: #1769d1;
      border-color: transparent;
      background: transparent;
    }

    .case-result.status-done {
      color: #1d2d44;
      border-color: transparent;
      background: transparent;
    }

    @keyframes caseStatusRise {
      from {
        opacity: 0;
        transform: translateY(24px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    @keyframes caseLoop {
      0%, 3.2% { transform: translateY(0); }
      6.9%, 10.1% { transform: translateY(calc(var(--case-row-h) * -1)); }
      13.7%, 16.9% { transform: translateY(calc(var(--case-row-h) * -2)); }
      20.6%, 23.8% { transform: translateY(calc(var(--case-row-h) * -3)); }
      27.4%, 30.6% { transform: translateY(calc(var(--case-row-h) * -4)); }
      34.3%, 37.5% { transform: translateY(calc(var(--case-row-h) * -5)); }
      41.1%, 44.3% { transform: translateY(calc(var(--case-row-h) * -6)); }
      48%, 51.2% { transform: translateY(calc(var(--case-row-h) * -7)); }
      54.9%, 58.1% { transform: translateY(calc(var(--case-row-h) * -8)); }
      61.7%, 64.9% { transform: translateY(calc(var(--case-row-h) * -9)); }
      68.6%, 71.8% { transform: translateY(calc(var(--case-row-h) * -10)); }
      75.4%, 78.6% { transform: translateY(calc(var(--case-row-h) * -11)); }
      82.3%, 85.5% { transform: translateY(calc(var(--case-row-h) * -12)); }
      89.1%, 92.3% { transform: translateY(calc(var(--case-row-h) * -13)); }
      96%, 100% { transform: translateY(calc(var(--case-row-h) * -14)); }
    }

    .knowledge-row {
      height: var(--section-h);
      min-height: 0;
      background: #fff;
      display: grid;
      grid-template-columns: 31.5% 68.5%;
      border-top: 0;
      overflow: hidden;
    }

    .knowledge-left {
      background:
        linear-gradient(180deg, rgba(24, 24, 24, 0.94), rgba(23, 23, 23, 0.98)),
        url("mockup_assets/beommusa_office_photo_v2.png") center / cover no-repeat;
      color: #fff;
      padding: calc(var(--header-h) + var(--fit-pad-sm)) 58px var(--section-bottom-gap) var(--side-pad);
      display: flex;
      flex-direction: column;
      min-height: 0;
      position: relative;
      isolation: isolate;
      overflow: hidden;
    }

    .knowledge-left::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 100%),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 66px),
        linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.055) 74%, transparent 100%);
      background-size: 100% 100%, 100% 100%, 100% 100%;
      opacity: 0.62;
    }

    .knowledge-left::after {
      content: "";
      position: absolute;
      z-index: 0;
      right: -18%;
      bottom: -11%;
      width: 70%;
      height: 42%;
      pointer-events: none;
      background:
        linear-gradient(0deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 100%),
        linear-gradient(90deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 100%);
      background-size: 44px 44px;
      transform: skewX(-11deg);
      opacity: 0.42;
    }

    .knowledge-left > * {
      position: relative;
      z-index: 1;
    }

    .knowledge-left h2 {
      margin: 0 0 var(--fit-gap-md);
      font-size: var(--type-title);
      font-weight: 800;
      letter-spacing: -0.07em;
    }

    .knowledge-left p {
      margin: 0;
      color: #c6c6c6;
      font-size: var(--type-subtitle);
      line-height: 1.7;
    }

    .knowledge-left .mini-menu {
      margin-top: var(--fit-gap-xl);
    }

    .knowledge-left .mini-menu li {
      height: var(--fit-menu-item);
      color: #aaa;
      font-size: var(--type-subtitle);
      display: flex;
      align-items: center;
      border-bottom: 1px solid rgba(255,255,255,0.15);
    }

    .knowledge-filter {
      appearance: none;
      border: 0;
      background: transparent;
      width: 100%;
      min-height: 44px;
      padding: 0;
      text-align: left;
      color: inherit;
      font: inherit;
      cursor: pointer;
      transition: color 0.24s ease, transform 0.24s ease;
    }

    .knowledge-filter:hover,
    .knowledge-filter:focus-visible {
      color: #fff;
      transform: translateX(4px);
      outline: none;
    }

    .knowledge-left .mini-menu li.is-active .knowledge-filter {
      color: #fff;
      font-weight: 800;
    }

    .knowledge-right {
      --knowledge-pad-y: var(--fit-pad-sm);
      padding: calc(var(--header-h) + var(--knowledge-pad-y)) calc(clamp(54px, 5.5vw, 80px) + var(--float-safe)) var(--section-bottom-gap) clamp(54px, 5.5vw, 80px);
      background:
        linear-gradient(90deg, rgba(255,255,255,0.96), rgba(248,250,253,0.9)),
        repeating-linear-gradient(90deg, rgba(23,105,209,0.045) 0 1px, transparent 1px 76px),
        repeating-linear-gradient(0deg, rgba(20,32,51,0.038) 0 1px, transparent 1px 76px),
        linear-gradient(135deg, #fff 0%, #f4f7fb 100%);
      overflow: hidden;
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
      row-gap: var(--section-heading-gap);
      position: relative;
      isolation: isolate;
    }

    .knowledge-right::before {
      content: "LEGAL GUIDE";
      position: absolute;
      z-index: 0;
      top: calc(var(--header-h) + 4px);
      right: calc(var(--float-safe) + 28px);
      color: rgba(23, 105, 209, 0.052);
      font-size: clamp(72px, 7.4vw, 142px);
      line-height: 1;
      font-weight: 900;
      letter-spacing: 0.08em;
      white-space: nowrap;
      pointer-events: none;
    }

    .knowledge-right::after {
      content: "";
      position: absolute;
      z-index: 0;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(115deg, transparent 0 58%, rgba(23,105,209,0.07) 58.1% 58.35%, transparent 58.45% 100%),
        linear-gradient(115deg, transparent 0 72%, rgba(20,32,51,0.045) 72.1% 72.25%, transparent 72.35% 100%);
      opacity: 0.78;
    }

    .knowledge-right > * {
      position: relative;
      z-index: 1;
    }

    .knowledge-right .box-top {
      margin-bottom: 0;
    }

    .column-grid {
      --knowledge-card-gap: clamp(18px, 1.8vw, 28px);
      display: grid;
      grid-auto-flow: column;
      grid-auto-columns: calc((100% - var(--knowledge-card-gap) - var(--knowledge-card-gap)) / 3);
      grid-template-columns: none;
      grid-template-rows: minmax(0, 1fr);
      gap: var(--knowledge-card-gap);
      height: clamp(340px, calc(var(--section-h) - var(--header-h) - 270px), 430px);
      min-height: 0;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
    }

    .column-grid::-webkit-scrollbar {
      display: none;
    }

    .column-card {
      appearance: none;
      position: relative;
      width: 100%;
      height: 100%;
      padding: 0;
      margin: 0;
      text-align: left;
      font-family: inherit;
      color: #fff;
      text-decoration: none;
      min-height: 0;
      background: #111;
      border: 0;
      box-shadow: 0 24px 54px rgba(17, 24, 39, 0.18);
      overflow: hidden;
      display: block;
      cursor: pointer;
      scroll-snap-align: start;
      isolation: isolate;
    }

    .column-card.is-hidden {
      display: none;
    }

    .column-card:focus-visible {
      outline: 2px solid rgba(23,105,209,0.65);
      outline-offset: 4px;
    }

    .thumb {
      position: absolute;
      inset: 0;
      z-index: 0;
      overflow: hidden;
    }

    .thumb img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      filter: grayscale(1);
      transform: scale(1.02);
    }

    .thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(0,0,0,0.16) 0%, rgba(0,0,0,0.25) 42%, rgba(0,0,0,0.76) 100%),
        rgba(25, 25, 25, 0.24);
      pointer-events: none;
    }

    .column-text {
      position: absolute;
      z-index: 2;
      left: 0;
      right: 0;
      bottom: 0;
      padding: clamp(28px, 3.2vw, 38px);
    }

    .column-text .cat {
      display: block;
      margin-bottom: 11px;
      color: #6fb0ff;
      font-size: var(--type-body);
      line-height: 1.35;
      font-weight: 900;
      letter-spacing: -0.025em;
    }

    .column-text .title {
      font-size: clamp(22px, 1.55vw, 28px);
      line-height: 1.38;
      font-weight: 900;
      color: #fff;
      letter-spacing: -0.045em;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      word-break: keep-all;
      overflow-wrap: normal;
      text-shadow: 0 3px 16px rgba(0, 0, 0, 0.32);
    }

    .column-text .summary {
      display: -webkit-box;
      margin: 14px 0 0;
      color: rgba(255, 255, 255, 0.78);
      font-size: var(--type-body);
      line-height: 1.68;
      font-weight: 650;
      letter-spacing: -0.03em;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      word-break: keep-all;
      overflow-wrap: normal;
    }

    .consult-section {
      height: var(--section-h);
      min-height: var(--section-min);
      background: #f7f8fa;
      display: grid;
      grid-template-columns: minmax(330px, 38%) minmax(0, 62%);
      padding: 0;
    }

    .consult-left {
      padding: calc(var(--header-h) + var(--fit-pad-md)) clamp(50px, 5vw, 92px) var(--section-bottom-gap) var(--side-pad);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .consult-left .page-title h2 {
      font-size: var(--type-title);
    }

    .process-list {
      margin-top: var(--fit-gap-lg);
    }

    .process-list li {
      display: grid;
      grid-template-columns: 72px 1fr;
      gap: 28px;
      min-height: clamp(82px, 10vh, 105px);
      border-bottom: 1px solid #ccc;
      align-items: center;
    }

    .process-list .count {
      font-size: var(--type-title);
      color: #222;
      font-weight: 300;
    }

    .process-list p {
      margin: 0;
      font-size: var(--type-subtitle);
      font-weight: 700;
      letter-spacing: -0.06em;
    }

    .consult-right {
      position: relative;
      overflow: hidden;
      background: #142033;
      color: #fff;
      padding: calc(var(--header-h) + var(--fit-pad-sm)) clamp(126px, 9.6vw, 168px) var(--section-bottom-gap) clamp(54px, 5.4vw, 86px);
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-width: 0;
    }

    .consult-photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0.54;
      z-index: 0;
    }

    .consult-right::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(9, 22, 38, 0.96) 0%, rgba(9, 22, 38, 0.8) 56%, rgba(9, 22, 38, 0.68) 100%),
        linear-gradient(180deg, rgba(9, 22, 38, 0.12), rgba(9, 22, 38, 0.32));
      z-index: 1;
    }

    .consult-right > *:not(.consult-photo) {
      position: relative;
      z-index: 2;
    }

    .consult-right h2 {
      margin: 0 0 14px;
      font-size: var(--type-title);
      letter-spacing: -0.07em;
      max-width: 760px;
    }

    .consult-right .desc {
      color: #d4d4d4;
      font-size: var(--type-body);
      line-height: 1.7;
      margin-bottom: 24px;
      max-width: 760px;
    }

    .consult-form {
      position: relative;
      z-index: 2;
      display: grid;
      gap: 11px;
      max-width: 760px;
    }

    .form-row {
      display: grid;
      grid-template-columns: 130px 1fr;
      gap: 20px;
      align-items: center;
      min-height: 54px;
      border-bottom: 1px solid rgba(255,255,255,0.24);
      color: #eee;
      font-size: var(--type-body);
    }

    .form-row span {
      color: #eee;
      font-weight: 800;
    }

    .form-row input,
    .form-row select,
    .form-row textarea {
      width: 100%;
      border: 0;
      outline: 0;
      background: rgba(255, 255, 255, 0.1);
      color: #fff;
      font: inherit;
      border-radius: 2px;
      padding: 13px 16px;
      min-height: 44px;
    }

    .form-row select {
      appearance: none;
      -webkit-appearance: none;
      padding-right: 44px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 5.25 7 8.75l3.5-3.5' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 16px center;
      background-size: 14px 14px;
    }

    .form-row select option {
      color: #1f2733;
    }

    .form-row textarea {
      min-height: 86px;
      resize: vertical;
      line-height: 1.55;
    }

    .form-row.area {
      align-items: center;
      padding-top: 0;
    }

    .form-row.area span {
      padding-top: 0;
    }

    .form-row input::placeholder,
    .form-row textarea::placeholder {
      color: rgba(255,255,255,0.55);
    }

    .form-row input:focus,
    .form-row select:focus,
    .form-row textarea:focus {
      background: rgba(255, 255, 255, 0.16);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.32);
    }

    .privacy-consent {
      display: grid;
      gap: 9px;
      padding-left: 150px;
      color: rgba(255,255,255,0.76);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.65;
      letter-spacing: 0;
    }

    .privacy-consent-light {
      padding-left: 162px;
      color: #5f6c7d;
    }

    .privacy-consent-label {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      width: fit-content;
      min-width: 0;
      cursor: pointer;
      line-height: 1.2;
    }

    .privacy-consent-row {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      min-width: 0;
      color: inherit;
      font: inherit;
      font-weight: inherit;
      line-height: inherit;
    }

    .privacy-consent-label span {
      white-space: nowrap;
    }

    .privacy-consent-light .privacy-consent-label input {
      border-color: #c3cedb;
    }

    .privacy-consent-light .privacy-consent-label input:focus-visible {
      outline-color: var(--primary);
    }

    .privacy-detail {
      max-width: 100%;
      font-size: 13px;
      font-weight: 650;
    }

    .privacy-detail summary {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      cursor: pointer;
      color: rgba(255,255,255,0.68);
      list-style: none;
    }

    .privacy-detail summary::-webkit-details-marker {
      display: none;
    }

    .privacy-detail summary::marker {
      content: "";
    }

    .privacy-consent-light .privacy-detail summary {
      color: var(--primary);
    }

    .privacy-detail-content {
      margin-top: 10px;
      padding: 12px 14px;
      background: rgba(255,255,255,0.08);
      border-left: 2px solid var(--primary);
    }

    .privacy-consent-light .privacy-detail-content {
      background: rgba(23,105,209,0.06);
    }

    .privacy-detail-content p {
      margin: 0 0 6px;
    }

    .privacy-detail-content p:last-child {
      margin-bottom: 0;
    }

    .privacy-modal-open,
    .privacy-modal-open body {
      overflow: hidden;
    }

    .privacy-modal {
      position: fixed;
      inset: 0;
      z-index: 220;
      display: grid;
      place-items: center;
      padding: 24px;
    }

    .privacy-modal[aria-hidden="true"] {
      display: none;
    }

    .privacy-modal-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.68);
      backdrop-filter: blur(2px);
    }

    .privacy-modal-dialog {
      position: relative;
      z-index: 1;
      width: min(500px, calc(100vw - 40px));
      max-height: min(760px, calc(100dvh - 48px));
      overflow-y: auto;
      padding: 48px 40px 54px;
      border-radius: 20px;
      background: #fff;
      color: #202020;
      box-shadow: 0 28px 80px rgba(0,0,0,0.34);
      outline: none;
      letter-spacing: -0.02em;
    }

    .privacy-modal-close {
      position: absolute;
      top: 24px;
      right: 28px;
      width: 32px;
      height: 32px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      background: transparent;
      color: #666;
      font-size: 32px;
      line-height: 1;
      cursor: pointer;
    }

    .privacy-modal-close:hover,
    .privacy-modal-close:focus-visible {
      color: #111;
    }

    .privacy-modal-dialog h2 {
      margin: 0 44px 42px 0;
      color: #171717;
      font-size: 25px;
      line-height: 1.25;
      font-weight: 900;
      letter-spacing: -0.045em;
    }

    .privacy-modal-body section + section {
      margin-top: 28px;
    }

    .privacy-modal-body h3 {
      margin: 0 0 10px;
      color: #171717;
      font-size: 18px;
      line-height: 1.35;
      font-weight: 900;
      letter-spacing: -0.035em;
    }

    .privacy-modal-body p,
    .privacy-modal-body li {
      margin: 0;
      color: #2c2c2c;
      font-size: 14px;
      line-height: 1.7;
      font-weight: 600;
      letter-spacing: -0.025em;
    }

    .privacy-modal-body ul {
      margin: 14px 0 0;
      padding: 0;
    }

    .privacy-modal-body li + li {
      margin-top: 4px;
    }

    .knowledge-modal-open,
    .knowledge-modal-open body {
      overflow: hidden;
    }

    .knowledge-modal {
      position: fixed;
      inset: 0;
      z-index: 225;
      display: grid;
      place-items: center;
      padding: 24px;
    }

    .knowledge-modal[aria-hidden="true"] {
      display: none;
    }

    .knowledge-modal-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(4, 12, 22, 0.72);
      backdrop-filter: blur(2px);
    }

    .knowledge-modal-dialog {
      position: relative;
      z-index: 1;
      width: min(920px, calc(100vw - 40px));
      max-height: min(780px, calc(100dvh - 48px));
      overflow-y: auto;
      padding: 52px 56px 48px;
      border-radius: 20px;
      background: #fff;
      color: #17243a;
      box-shadow: 0 30px 82px rgba(0,0,0,0.36);
      outline: none;
    }

    .knowledge-modal-close {
      position: absolute;
      top: 22px;
      right: 28px;
      width: 32px;
      height: 32px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      background: transparent;
      color: #66717f;
      font-size: 32px;
      line-height: 1;
      cursor: pointer;
    }

    .knowledge-modal-close:hover,
    .knowledge-modal-close:focus-visible {
      color: #111;
    }

    .knowledge-modal-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 280px;
      gap: 34px;
      align-items: end;
      margin-right: 34px;
    }

    .knowledge-modal-copy {
      min-width: 0;
    }

    .knowledge-modal-category {
      margin-bottom: 16px;
      color: var(--primary);
      font-size: var(--type-body);
      line-height: 1.35;
      font-weight: 900;
      letter-spacing: 0;
    }

    .knowledge-modal-dialog h2 {
      max-width: 760px;
      margin: 0 0 24px;
      color: #121c2d;
      font-size: clamp(28px, 2.1vw, 36px);
      line-height: 1.24;
      font-weight: 950;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .knowledge-modal-thumb-wrap {
      margin: 0 0 24px;
      overflow: hidden;
      background: #e9eef5;
      border: 1px solid #dbe3ee;
    }

    .knowledge-modal-thumb-wrap[hidden] {
      display: none;
    }

    .knowledge-modal-thumb {
      display: block;
      width: 100%;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      filter: grayscale(0.45);
    }

    .knowledge-modal-answer {
      margin: 2px 0 30px;
      padding: 18px 20px;
      background: #f4f7fb;
      border: 1px solid #dbe3ee;
      color: #263446;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 750;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .knowledge-modal-answer span {
      display: inline-flex;
      margin-right: 10px;
      color: var(--primary);
      font-weight: 900;
    }

    .knowledge-modal-answer strong {
      font-weight: 800;
    }

    .knowledge-modal-news {
      display: block;
      padding-top: 30px;
      border-top: 1px solid #dbe3ee;
    }

    .knowledge-modal-body {
      display: grid;
      gap: 0;
    }

    .knowledge-modal-section {
      padding: 28px 0;
      border-top: 1px solid #dbe3ee;
    }

    .knowledge-modal-section:first-child {
      padding-top: 0;
      border-top: 0;
    }

    .knowledge-modal-section:last-child {
      padding-bottom: 0;
    }

    .knowledge-modal-section h3 {
      margin: 0 0 12px;
      color: #121c2d;
      font-size: 20px;
      line-height: 1.35;
      font-weight: 900;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .knowledge-modal-section p {
      margin: 0;
      color: #283647;
      font-size: var(--type-body);
      line-height: 1.78;
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .footer-privacy-box {
      margin-top: 18px;
      padding-top: 16px;
      border-top: 1px solid rgba(255,255,255,0.16);
    }

    .footer-privacy-link {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0;
      border: 0;
      background: transparent;
      color: rgba(255,255,255,0.82);
      font: inherit;
      font-size: var(--type-body);
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: -0.025em;
      cursor: pointer;
    }

    .field-placeholder {
      color: rgba(255,255,255,0.5);
    }

    .form-button {
      margin-top: 18px;
      height: 58px;
      border: 0;
      background: var(--primary);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-weight: 800;
      font-size: var(--type-body);
      cursor: pointer;
    }

    .location-section {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      height: var(--section-h);
      min-height: var(--section-min);
      background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
      padding: calc(var(--header-h) + var(--fit-pad-sm)) var(--safe-right-pad) var(--section-bottom-gap) var(--side-pad);
      display: flex;
      align-items: center;
    }

    .location-section::before,
    .location-section::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
    }

    .location-section::before {
      background:
        linear-gradient(90deg, rgba(255,255,255,0.74) 0%, rgba(255,255,255,0.92) 42%, rgba(255,255,255,0.74) 100%),
        url("mockup_assets/beommusa_office_photo_v2.png") right center / cover no-repeat;
      opacity: 0.24;
      filter: grayscale(1) contrast(0.95);
    }

    .location-section::after {
      background: linear-gradient(118deg, transparent 0 63%, rgba(23,105,209,0.08) 63.1% 63.35%, transparent 63.45% 100%);
      background-size: 100% 100%;
      opacity: 0.72;
    }

    .location-inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 41% 59%;
      height: min(calc(var(--section-h) - var(--header-h) - var(--fit-content-offset)), 680px);
      min-height: 0;
      width: 100%;
      border-top: 1px solid #ddd;
      border-bottom: 1px solid #ddd;
    }

    .location-left {
      padding: var(--fit-pad-md) 70px 0 0;
    }

    .location-left h2 {
      margin: 0 0 18px;
      font-size: var(--type-title);
      letter-spacing: -0.08em;
    }

    .location-left p {
      margin: 0;
      color: #666;
      font-size: var(--type-subtitle);
      line-height: 1.7;
    }

    .office-list {
      margin-top: var(--fit-gap-lg);
      border-top: 1px solid #ddd;
    }

    .office-list li {
      min-height: 76px;
      padding: 16px 0;
      border-bottom: 1px solid #ddd;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: var(--type-subtitle);
      font-weight: 700;
    }

    .office-list small {
      color: #777;
      font-weight: 400;
      font-size: var(--type-body);
      text-align: right;
      line-height: 1.55;
    }

    .office-hours {
      white-space: normal;
    }

    .map {
      position: relative;
      margin-top: var(--fit-gap-lg);
      height: min(calc(var(--section-h) - var(--header-h) - var(--fit-content-offset) - 70px), 520px);
      min-height: min(360px, calc(var(--section-h) - var(--header-h) - var(--fit-content-offset) - 70px));
      border: 1px solid #d7d7d7;
      overflow: hidden;
      background: #f8fafc;
      box-shadow: 0 22px 44px rgba(0, 0, 0, 0.06);
    }

    .kakao-map,
    .kakao-map .wrap_map,
    .kakao-map .wrap_controllers {
      width: 100% !important;
    }

    .kakao-map,
    .kakao-map .wrap_map {
      height: 100% !important;
    }

    .kakao-map {
      position: relative;
      z-index: 1;
    }

    .kakao-map-mobile {
      display: none;
    }

    .map-fallback {
      position: absolute;
      inset: auto 24px 24px;
      z-index: 2;
      margin: 0;
      padding: 16px 18px;
      background: rgba(255,255,255,0.94);
      color: #172334;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 800;
      box-shadow: 0 12px 28px rgba(15, 35, 64, 0.12);
    }

    .map-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: none;
    }

    .map::before {
      display: none;
    }

    .map::after {
      display: none;
    }

    .map-address {
      display: none;
      position: absolute;
      left: 28px;
      bottom: 28px;
      z-index: 2;
      width: min(430px, calc(100% - 56px));
      padding: 22px 24px;
      background: rgba(255,255,255,0.95);
      border: 1px solid rgba(23, 105, 209, 0.18);
      box-shadow: 0 18px 42px rgba(0,0,0,0.16);
      color: #172334;
    }

    .map-address strong {
      display: block;
      margin-bottom: 8px;
      color: var(--primary);
      font-size: var(--type-subtitle);
      font-weight: 900;
      letter-spacing: -0.05em;
    }

    .map-address span {
      display: block;
      color: #3d4653;
      font-size: var(--type-body);
      line-height: 1.65;
      font-weight: 700;
    }

    .pin {
      display: none;
      position: absolute;
      width: 82px;
      height: 82px;
      background: var(--primary);
      color: #fff;
      border-radius: 50%;
      display: none;
      align-items: center;
      justify-content: center;
      font-weight: 800;
      box-shadow: 0 14px 28px rgba(0,0,0,0.18);
    }

    .pin.suwon { left: 280px; top: 268px; }
    .pin.hwasung { left: 370px; top: 350px; background: #555; }
    .pin.dongtan { left: 480px; top: 305px; background: #222; }

    .footer {
      height: var(--section-h);
      min-height: var(--section-min);
      position: relative;
      overflow: hidden;
      background: #0c1522;
      color: #fff;
      padding: calc(var(--header-h) + var(--fit-pad-lg)) calc(var(--safe-right-pad) + clamp(8px, 1vw, 18px)) var(--section-bottom-gap) clamp(70px, 5.6vw, 108px);
      display: grid;
      grid-template-columns: minmax(520px, 1.08fr) minmax(560px, 0.92fr);
      align-items: center;
      gap: clamp(46px, 5vw, 86px);
      border-top: 0;
    }

    .footer::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(12, 21, 34, 0.97) 0%, rgba(12, 21, 34, 0.9) 46%, rgba(12, 21, 34, 0.76) 100%),
        url("mockup_assets/beommusa_office_photo_v2.png") right center / cover no-repeat;
      z-index: 0;
    }

    .footer > * {
      position: relative;
      z-index: 2;
      opacity: 1;
      transform: none;
      filter: none;
    }

    .footer-eyebrow {
      display: block;
      margin-bottom: 20px;
      color: #8fbdff;
      font-size: var(--type-body);
      font-weight: 800;
      letter-spacing: 0.16em;
    }

    .footer h2 {
      margin: 0 0 26px;
      font-size: var(--type-title);
      line-height: 1.14;
      letter-spacing: -0.07em;
    }

    .footer p {
      margin: 0;
      max-width: 820px;
      color: rgba(255,255,255,0.7);
      line-height: 1.85;
      font-size: var(--type-subtitle);
      word-break: keep-all;
      overflow-wrap: normal;
    }

    .footer-actions {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-top: 42px;
    }

    .footer-action {
      height: 58px;
      padding: 0 34px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(255,255,255,0.25);
      color: #fff;
      font-size: var(--type-body);
      font-weight: 800;
      transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }

    .footer-action.primary {
      border-color: var(--primary);
      background: var(--primary);
      box-shadow: 0 18px 42px rgba(23, 105, 209, 0.28);
    }

    .footer-action:hover,
    .footer-action:focus-visible {
      border-color: var(--primary);
      background: var(--primary);
      color: #fff;
      box-shadow: 0 18px 36px rgba(23, 105, 209, 0.22);
      transform: translateY(-2px);
    }

    .footer-action.primary:hover,
    .footer-action.primary:focus-visible {
      border-color: #fff;
      background: transparent;
      color: #fff;
      box-shadow: 0 18px 38px rgba(255,255,255,0.1);
    }

    .footer-contact {
      border-top: 1px solid rgba(255,255,255,0.22);
      border-bottom: 1px solid rgba(255,255,255,0.22);
      padding: 34px 0 0;
      width: 100%;
      max-width: 760px;
      justify-self: stretch;
    }

    .footer .call {
      margin-bottom: 32px;
      font-size: var(--type-title);
      font-weight: 800;
      color: #fff;
      text-align: left;
      white-space: nowrap;
    }

    .footer .call span {
      display: block;
      margin-top: 12px;
      font-size: var(--type-body);
      color: rgba(255,255,255,0.66);
      font-weight: 400;
    }

    .footer-info {
      display: grid;
      gap: 0;
      border-top: 1px solid rgba(255,255,255,0.14);
    }

    .footer-info li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      min-height: 62px;
      padding: 0 clamp(10px, 1.4vw, 22px);
      border-bottom: 1px solid rgba(255,255,255,0.14);
      color: rgba(255,255,255,0.74);
      font-size: var(--type-body);
    }

    .footer-info li:last-child {
      border-bottom: 0;
    }

    .footer-info strong {
      color: #fff;
      font-size: var(--type-subtitle);
    }

    .subpage {
      min-height: 100vh;
      background: #f5f7fa;
    }

    .sub-hero {
      position: relative;
      min-height: min(560px, var(--section-h));
      padding: calc(var(--header-h) + var(--fit-pad-lg)) var(--safe-right-pad) var(--fit-pad-lg) var(--side-pad);
      color: #fff;
      overflow: hidden;
      isolation: isolate;
      display: flex;
      align-items: flex-end;
    }

    .sub-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background: url("mockup_assets/hero_reference_law_office.png") center / cover no-repeat;
      transform: scale(1.03);
      filter: grayscale(0.18);
    }

    .sub-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        linear-gradient(90deg, rgba(2, 9, 20, 0.94) 0%, rgba(2, 9, 20, 0.76) 42%, rgba(2, 9, 20, 0.28) 100%),
        linear-gradient(180deg, rgba(2, 9, 20, 0.16), rgba(2, 9, 20, 0.78));
    }

    .sub-hero-inner {
      max-width: 840px;
    }

    .sub-kicker {
      margin-bottom: var(--fit-gap-sm);
      color: #8fbdff;
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: 0;
      text-transform: uppercase;
    }

    .sub-hero h1 {
      margin: 0;
      font-size: var(--type-title);
      line-height: var(--leading-title);
      font-weight: 900;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .sub-hero p {
      max-width: 720px;
      margin: var(--fit-gap-md) 0 0;
      color: rgba(255,255,255,0.78);
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .sub-content {
      padding: var(--fit-pad-lg) var(--safe-right-pad) calc(var(--fit-pad-lg) + 28px) var(--side-pad);
      background:
        linear-gradient(90deg, rgba(23,105,209,0.045) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
      background-size: 54px 54px, 100% 100%;
    }

    #representative-cases {
      scroll-margin-top: 96px;
    }

    .sub-section {
      max-width: 1240px;
      margin: 0 auto;
    }

    .sub-section + .sub-section {
      margin-top: var(--fit-gap-xl);
    }

    .about-page .sub-section + .sub-section {
      margin-top: calc(var(--fit-gap-xl) + 70px);
    }

    .about-page .sub-content > .sub-section:first-child {
      margin-top: 70px;
    }

    .about-page .sub-content > .service-area-section {
      margin-bottom: 70px;
    }

    .knowledge-page .sub-content > .sub-section:first-child,
    .cases-page .sub-content > .sub-section:first-child {
      margin-top: 70px;
      margin-bottom: 70px;
    }

    .sub-heading {
      display: grid;
      grid-template-columns: minmax(220px, 0.34fr) minmax(0, 0.66fr);
      gap: var(--fit-gap-lg);
      align-items: end;
      padding-bottom: var(--fit-gap-md);
      border-bottom: 2px solid #10233e;
      margin-bottom: var(--fit-gap-md);
    }

    .sub-heading h2 {
      margin: 0;
      font-size: var(--type-title);
      line-height: var(--leading-title);
      font-weight: 900;
      letter-spacing: 0;
    }

    .sub-heading p {
      margin: 0;
      color: #5a6472;
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .sub-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }

    .sub-card {
      min-height: 220px;
      padding: var(--fit-pad-xs);
      background: rgba(255,255,255,0.86);
      border: 1px solid #d9e1eb;
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.08);
    }

    .sub-card .eyebrow {
      color: var(--primary);
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: 0;
      margin-bottom: var(--fit-gap-sm);
    }

    .sub-card h3 {
      margin: 0 0 var(--fit-gap-sm);
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 900;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .sub-card p,
    .sub-card li {
      color: #5b6674;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .sub-card p {
      margin: 0;
    }

    .sub-card ul {
      margin: 0;
      padding: 0;
    }

    .case-study-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }

    .case-study-card {
      display: grid;
      grid-template-rows: auto auto 1fr auto;
      position: relative;
      min-height: 360px;
      padding: 30px;
      background: rgba(255,255,255,0.92);
      border: 1px solid #d9e1eb;
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.08);
      overflow: hidden;
    }

    .case-study-card[hidden] {
      display: none;
    }

    .case-study-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background: linear-gradient(90deg, var(--primary), rgba(23,105,209,0.18) 34%, transparent 78%);
    }

    .case-study-category {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: #25364c;
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: 0;
      margin-bottom: 18px;
    }

    .case-study-card h3 {
      margin: 0 0 18px;
      color: #1f2328;
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 900;
      letter-spacing: 0;
    }

    .case-study-card > p {
      margin: 0 0 24px;
      color: #5b6674;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 650;
    }

    .case-study-card dl {
      margin: 0;
      display: grid;
      gap: 0;
      border-top: 1px solid #d8e0ea;
    }

    .case-study-card dl > div {
      display: grid;
      grid-template-columns: 92px minmax(0, 1fr);
      gap: 16px;
      padding: 16px 0;
      border-bottom: 1px solid #d8e0ea;
    }

    .case-study-card dt,
    .case-study-card dd {
      margin: 0;
      font-size: var(--type-body);
      line-height: 1.6;
      letter-spacing: 0;
    }

    .case-study-card dt {
      color: #17243a;
      font-weight: 900;
    }

    .case-study-card dd {
      color: #526072;
      font-weight: 700;
    }

    .sub-table {
      width: 100%;
      border-collapse: collapse;
      background: rgba(255,255,255,0.82);
      border-top: 2px solid #10233e;
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.06);
    }

    .sub-heading + .sub-table {
      border-top: 0;
    }

    .about-page .sub-table {
      border-collapse: collapse;
      background: rgba(255,255,255,0.9);
      border: 1px solid #d8e0ea;
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.07);
    }

    .sub-table th,
    .sub-table td {
      min-height: 68px;
      padding: 20px 22px;
      border-bottom: 1px solid #d8e0ea;
      color: #1b2838;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 750;
      letter-spacing: 0;
      text-align: left;
      vertical-align: middle;
      word-break: keep-all;
    }

    .sub-table th {
      color: #17243a;
      background: rgba(240,244,249,0.76);
      font-weight: 900;
    }

    .about-page .sub-table th {
      width: 280px;
      color: #17243a;
      background: rgba(240,244,249,0.78);
    }

    .about-page .sub-table td {
      background: rgba(255,255,255,0.82);
    }

    .about-page .sub-table tbody tr:hover th {
      background: rgba(232,240,251,0.92);
    }

    .about-page .sub-table tbody tr:hover td {
      background: rgba(255,255,255,0.96);
    }

    .sub-table .accent {
      color: var(--primary);
      font-weight: 900;
    }

    .article-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }

    .article-card {
      appearance: none;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      width: 100%;
      min-height: 350px;
      padding: 0;
      background: #fff;
      border: 1px solid #d9e1eb;
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.08);
      overflow: hidden;
      color: inherit;
      font: inherit;
      text-align: left;
      cursor: pointer;
    }

    .article-card[hidden] {
      display: none;
    }

    .article-card:focus-visible {
      outline: 3px solid rgba(23,105,209,0.28);
      outline-offset: 4px;
    }

    .article-thumb {
      display: block;
      flex: 0 0 200px;
      width: 100%;
      height: 200px;
      background-color: #101419;
      background-image: var(--article-thumb-image);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      overflow: hidden;
      filter: grayscale(0.72);
      transform-origin: center center;
    }

    .article-body {
      flex: 0 0 150px;
      height: 150px;
      padding: 24px var(--fit-pad-xs);
    }

    .article-card strong {
      display: block;
      color: var(--primary);
      font-size: var(--type-body);
      line-height: 1.35;
      font-weight: 900;
      letter-spacing: 0;
      margin-bottom: var(--fit-gap-sm);
    }

    .article-card h4 {
      margin: 0 0 var(--fit-gap-sm);
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 700;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .article-card p {
      margin: 0;
      color: #657180;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .article-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-top: 38px;
    }

    .article-pagination[hidden] {
      display: none;
    }

    .article-page-button {
      appearance: none;
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #d9e1eb;
      border-radius: 4px;
      background: #fff;
      color: #111820;
      font: inherit;
      font-size: var(--type-body);
      font-weight: 850;
      cursor: pointer;
      transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
    }

    .article-page-button:hover,
    .article-page-button:focus-visible,
    .article-page-button.is-active {
      border-color: var(--primary);
      background: var(--primary);
      color: #fff;
      box-shadow: 0 14px 30px rgba(23, 105, 209, 0.18);
    }

    .article-page-button:focus-visible {
      outline: 3px solid rgba(23,105,209,0.24);
      outline-offset: 3px;
    }

    .article-list.is-page-changing .article-card:not([hidden]) {
      animation: article-page-fade 0.18s ease both;
    }

    @keyframes article-page-fade {
      from {
        opacity: 0.35;
      }
      to {
        opacity: 1;
      }
    }

    .service-area-grid,
    .faq-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: var(--fit-gap-sm);
    }

    .service-area-card,
    .faq-item {
      position: relative;
      min-height: 188px;
      padding: var(--fit-pad-xs);
      background: rgba(255,255,255,0.88);
      border: 1px solid #d9e1eb;
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.07);
      overflow: hidden;
    }

    .service-area-card::before,
    .faq-item::before {
      content: "";
      position: absolute;
      left: 0;
      top: var(--fit-pad-xs);
      bottom: var(--fit-pad-xs);
      width: 3px;
      background: var(--primary);
    }

    .service-area-card strong,
    .faq-item h3 {
      display: block;
      margin: 0 0 var(--fit-gap-sm);
      color: #142236;
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 900;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .service-area-card strong {
      color: var(--primary);
    }

    .service-area-card p,
    .faq-item p {
      margin: 0;
      color: #5b6674;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .service-area-note {
      margin: 0 0 22px;
      color: #4d5b6c;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 700;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .service-area-list {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0;
      margin: 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid #cfd8e6;
      border-left: 1px solid #cfd8e6;
      background: rgba(255,255,255,0.58);
      box-shadow: 0 18px 46px rgba(15, 35, 64, 0.05);
    }

    .service-area-list li {
      min-height: 92px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-right: 1px solid #cfd8e6;
      border-bottom: 1px solid #cfd8e6;
      color: #142236;
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 900;
      letter-spacing: 0;
      background: rgba(255,255,255,0.72);
    }

    .sub-consult-layout {
      display: grid;
      grid-template-columns: minmax(300px, 0.36fr) minmax(0, 0.64fr);
      gap: var(--fit-gap-xl);
      align-items: start;
    }

    .sub-consult-panel {
      background: #071321;
      color: #fff;
      padding: var(--fit-pad-md);
      box-shadow: 0 28px 68px rgba(7, 19, 33, 0.24);
    }

    .sub-consult-panel h2 {
      margin: 0 0 var(--fit-gap-md);
      font-size: var(--type-title);
      line-height: var(--leading-title);
      font-weight: 900;
      letter-spacing: 0;
    }

    .sub-consult-panel p {
      margin: 0;
      color: rgba(255,255,255,0.74);
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      font-weight: 650;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .sub-consult-form {
      background: rgba(255,255,255,0.9);
      border: 1px solid #d9e1eb;
      padding: var(--fit-pad-md);
      box-shadow: 0 18px 48px rgba(15, 35, 64, 0.08);
    }

    .sub-form-row {
      display: grid;
      grid-template-columns: 140px minmax(0, 1fr);
      gap: 22px;
      align-items: center;
      min-height: 66px;
      border-bottom: 1px solid #d8e0ea;
    }

    .sub-form-row span {
      color: #14233a;
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: 0;
    }

    .sub-form-row input,
    .sub-form-row select,
    .sub-form-row textarea {
      width: 100%;
      border: 0;
      background: transparent;
      color: #14233a;
      font: inherit;
      font-size: var(--type-body);
      font-weight: 650;
      letter-spacing: 0;
      outline: 0;
      padding: 18px 0;
    }

    .sub-form-row textarea {
      min-height: 132px;
      resize: vertical;
    }

    .sub-form-row.area {
      align-items: center;
    }

    .sub-submit {
      width: 100%;
      height: 64px;
      margin-top: 28px;
      border: 0;
      background: var(--primary);
      color: #fff;
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: 0;
      cursor: pointer;
    }

    .sub-note {
      margin-top: 24px;
      color: #6a7481;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 650;
      letter-spacing: 0;
    }

    .consult-reference-section {
      height: var(--section-h);
      min-height: var(--section-h);
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(540px, min(32vw, 660px));
      background: #f5f7fa;
      overflow: hidden;
    }

    .consult-section.consult-reference-section {
      height: var(--section-h);
      min-height: var(--section-h);
    }

    .consult-reference-left {
      --consult-left-content-shift: -30px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-width: 0;
      padding: calc(var(--header-h) + 38px) clamp(56px, 5vw, 96px) 56px var(--side-pad);
      background: linear-gradient(180deg, #fff 0%, #f5f7fa 100%);
      color: #111927;
      overflow: hidden;
      isolation: isolate;
    }

    @media (min-width: 1025px) {
      .consult-page .consult-reference-left,
      .consult-page .consult-reference-right {
        align-self: stretch;
        min-height: inherit;
      }
    }

    .consult-reference-left::before,
    .consult-reference-left::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .consult-reference-left::before {
      z-index: 0;
      background: url("mockup_assets/consult-left-bg.png") 68% center / cover no-repeat;
      opacity: 0.9;
      filter: saturate(0.76) contrast(0.96);
      transform: scale(1.01);
    }

    .consult-reference-left::after {
      z-index: 1;
      background:
        linear-gradient(105deg, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.68) 52%, rgba(255,255,255,0.34) 100%),
        linear-gradient(180deg, rgba(255,255,255,0.22) 0%, rgba(245,247,250,0.42) 100%);
      background-size: 100% 100%, 100% 100%;
    }

    .consult-reference-left > * {
      position: relative;
      z-index: 2;
      transform: translateY(var(--consult-left-content-shift));
    }

    .consult-reference-kicker {
      margin-bottom: var(--fit-gap-sm);
      color: var(--primary);
      font-size: var(--type-body);
      font-weight: 900;
      letter-spacing: 0;
    }

    .consult-reference-left h1,
    .consult-reference-left h2 {
      margin: 0;
      color: #101927;
      font-size: clamp(34px, 3vw, 48px);
      line-height: 1.22;
      font-weight: 900;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .consult-reference-left > p {
      max-width: 700px;
      margin: 26px 0 0;
      color: #4d5d70;
      font-size: clamp(17px, 1.08vw, 20px);
      line-height: 1.55;
      font-weight: 700;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .consult-proof-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0;
      margin: 46px 0 0;
      padding: 0;
    }

    .consult-proof-grid div {
      padding: 0 clamp(16px, 2vw, 28px);
      border-left: 1px solid #d5dde8;
    }

    .consult-proof-grid div:first-child {
      padding-left: 0;
      border-left: 0;
    }

    .consult-proof-grid dt {
      margin: 0;
      color: #101927;
      font-size: clamp(36px, 3vw, 54px);
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .count-up {
      display: inline-block;
      min-width: 2ch;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0;
      transform-origin: 50% 78%;
      will-change: contents, transform;
    }

    .count-up[data-count-to="2000"] {
      min-width: 4ch;
    }

    .count-up.is-counting {
      animation: countTension 0.56s cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    .count-up.is-counted {
      animation: countSnap 0.42s cubic-bezier(0.18, 1.36, 0.32, 1) both;
    }

    @keyframes countTension {
      0% { transform: translateY(7px) scale(0.94); opacity: 0.55; }
      100% { transform: translateY(0) scale(1); opacity: 1; }
    }

    @keyframes countSnap {
      0% { transform: translateY(0) scale(1); }
      45% { transform: translateY(-3px) scale(1.045); }
      100% { transform: translateY(0) scale(1); }
    }

    .consult-proof-grid dd {
      margin: 10px 0 0;
      color: #5f6d7f;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 800;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .consult-check-list {
      margin-top: 44px;
      border-top: 1px solid #d5dde8;
    }

    .consult-check-list li {
      display: grid;
      grid-template-columns: 72px minmax(0, 1fr);
      gap: 24px;
      align-items: center;
      min-height: 64px;
      border-bottom: 1px solid #d5dde8;
    }

    .consult-check-list strong {
      color: #101927;
      font-size: clamp(24px, 2vw, 34px);
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0;
    }

    .consult-check-list span {
      color: #1d2b3d;
      font-size: var(--type-body);
      line-height: var(--leading-body);
      font-weight: 800;
      letter-spacing: 0;
      word-break: keep-all;
    }

    .consult-reference-right {
      position: relative;
      display: flex;
      align-items: flex-start;
      min-width: 0;
      padding: calc(var(--header-h) + 34px) calc(var(--float-safe) + clamp(24px, 2vw, 40px)) 48px clamp(40px, 3vw, 60px);
      background: #071523;
      color: #fff;
      overflow: hidden;
      isolation: isolate;
    }

    .consult-reference-right::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background: url("mockup_assets/beommusa_office_photo_v2.png") right center / cover no-repeat;
      opacity: 0.5;
      filter: saturate(0.9);
    }

    .consult-reference-right::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        linear-gradient(90deg, rgba(7, 21, 35, 0.98) 0%, rgba(7, 21, 35, 0.86) 58%, rgba(7, 21, 35, 0.76) 100%),
        linear-gradient(180deg, rgba(7, 21, 35, 0.12), rgba(7, 21, 35, 0.38));
    }

    .consult-reference-right .consult-form,
    .consult-reference-right .sub-consult-form {
      width: min(520px, 100%);
      gap: 8px;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
      color: #fff;
    }

    .consult-form-head {
      margin-bottom: 26px;
    }

    .consult-form-topline {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      margin-bottom: 24px;
    }

    .consult-form-head h2 {
      margin: 0;
      color: #fff;
      font-size: clamp(25px, 1.45vw, 30px);
      line-height: var(--leading-title);
      font-weight: 900;
      letter-spacing: 0;
    }

    .consult-form-topline a {
      color: #fff;
      font-size: var(--type-body);
      line-height: 1;
      font-weight: 850;
      letter-spacing: 0;
      text-decoration: none;
      white-space: nowrap;
    }

    .consult-form-topline a::before {
      content: "";
      display: inline-block;
      width: 12px;
      height: 3px;
      margin-right: 6px;
      background: currentColor;
      border-radius: 2px;
      transform: rotate(-45deg) translateY(-3px);
      transform-origin: center;
    }

    .consult-form-head p {
      margin: 0;
      padding-bottom: 20px;
      border-bottom: 1px solid rgba(255,255,255,0.44);
      color: rgba(255,255,255,0.62);
      font-size: 15px;
      line-height: 1.6;
      font-weight: 650;
      letter-spacing: 0;
    }

    .consult-reference-right .consult-form .form-row,
    .consult-reference-right .sub-consult-form .sub-form-row {
      grid-template-columns: 118px minmax(0, 1fr);
      gap: 16px;
      min-height: 70px;
      border-bottom-color: rgba(255,255,255,0.38);
      color: #fff;
    }

    .consult-reference-right .consult-form .form-row span,
    .consult-reference-right .sub-consult-form .sub-form-row span {
      color: #fff;
    }

    .consult-reference-right .consult-form .form-row input,
    .consult-reference-right .consult-form .form-row select,
    .consult-reference-right .consult-form .form-row textarea,
    .consult-reference-right .sub-consult-form .sub-form-row input,
    .consult-reference-right .sub-consult-form .sub-form-row select,
    .consult-reference-right .sub-consult-form .sub-form-row textarea {
      min-height: 40px;
      padding: 14px 0;
      border-radius: 0;
      background-color: transparent;
      color: #fff;
    }

    .consult-reference-right .consult-form .form-row select,
    .consult-reference-right .sub-consult-form .sub-form-row select {
      appearance: none;
      -webkit-appearance: none;
      padding-right: 36px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 5.25 7 8.75l3.5-3.5' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 2px center;
      background-size: 14px 14px;
    }

    .consult-reference-right .consult-form .form-row select option,
    .consult-reference-right .sub-consult-form .sub-form-row select option {
      color: #1f2733;
    }

    .consult-reference-right .consult-form .form-row input::placeholder,
    .consult-reference-right .consult-form .form-row textarea::placeholder,
    .consult-reference-right .sub-consult-form .sub-form-row input::placeholder,
    .consult-reference-right .sub-consult-form .sub-form-row textarea::placeholder {
      color: rgba(255,255,255,0.55);
    }

    .consult-reference-right .consult-form .form-row textarea,
    .consult-reference-right .sub-consult-form .sub-form-row textarea {
      min-height: 74px;
    }

    .consult-reference-right .consult-form .form-row input:focus,
    .consult-reference-right .consult-form .form-row select:focus,
    .consult-reference-right .consult-form .form-row textarea:focus,
    .consult-reference-right .sub-consult-form .sub-form-row input:focus,
    .consult-reference-right .sub-consult-form .sub-form-row select:focus,
    .consult-reference-right .sub-consult-form .sub-form-row textarea:focus {
      background-color: transparent;
      box-shadow: none;
    }

    .consult-reference-right .consult-form .privacy-consent,
    .consult-reference-right .sub-consult-form .privacy-consent-light {
      color: rgba(255,255,255,0.76);
      padding-left: 0;
      margin-top: 14px;
      margin-bottom: 18px;
      font-size: var(--type-body);
      line-height: 1.35;
    }

    .consult-reference-right .consult-form .privacy-detail,
    .consult-reference-right .sub-consult-form .privacy-detail {
      font-size: var(--type-body);
      font-weight: 800;
    }

    .consult-reference-right .consult-form .privacy-detail summary,
    .consult-reference-right .sub-consult-form .privacy-consent-light .privacy-detail summary {
      color: rgba(255,255,255,0.82);
    }

    .consult-reference-right .sub-consult-form .privacy-consent-light .privacy-consent-label input {
      border-color: #fff;
    }

    .consult-reference-right .consult-form .privacy-detail-content,
    .consult-reference-right .sub-consult-form .privacy-consent-light .privacy-detail-content {
      background: rgba(255,255,255,0.08);
    }

    .consult-reference-right .sub-consult-form .sub-note {
      color: rgba(255,255,255,0.68);
    }

    .consult-reference-right .form-button,
    .consult-reference-right .sub-submit {
      height: 56px;
      margin-top: 18px;
    }

    @media (min-width: 1181px) and (max-height: 960px) {
      .consult-reference-left {
        --consult-left-content-shift: -64px;
        padding: calc(var(--header-h) + 24px) clamp(52px, 4.9vw, 90px) 38px var(--side-pad);
      }

      .consult-reference-kicker {
        margin-bottom: 12px;
        font-size: 16px;
      }

      .consult-reference-left h1,
      .consult-reference-left h2 {
        font-size: clamp(32px, 2.8vw, 44px);
        line-height: 1.18;
      }

      .consult-reference-left > p {
        margin-top: 18px;
        font-size: clamp(16px, 1.02vw, 18px);
        line-height: 1.46;
      }

      .consult-proof-grid {
        margin-top: 30px;
      }

      .consult-proof-grid div {
        padding: 0 clamp(14px, 1.7vw, 24px);
      }

      .consult-proof-grid dt {
        font-size: clamp(32px, 2.8vw, 46px);
      }

      .consult-proof-grid dd {
        margin-top: 8px;
        font-size: 16px;
        line-height: 1.42;
      }

      .consult-check-list {
        margin-top: 30px;
      }

      .consult-check-list li {
        grid-template-columns: 66px minmax(0, 1fr);
        gap: 20px;
        min-height: 56px;
      }

      .consult-check-list strong {
        font-size: clamp(23px, 1.75vw, 30px);
      }

      .consult-check-list span {
        font-size: 16px;
        line-height: 1.42;
      }
    }

    @keyframes headerDrop {
      from { opacity: 1; transform: translateY(-24px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes heroDrift {
      0% { transform: scale(1.03) translate3d(0, 0, 0); }
      50% { transform: scale(1.08) translate3d(-1.2%, -0.8%, 0); }
      100% { transform: scale(1.03) translate3d(0, 0, 0); }
    }

    @keyframes titleRise {
      from { opacity: 1; transform: translateY(32px); filter: none; }
      to { opacity: 1; transform: translateY(0); filter: none; }
    }

    @keyframes lineGrow {
      0% { transform: scaleX(0); transform-origin: left center; }
      72% { transform: scaleX(1); transform-origin: left center; }
      86% { transform: scaleX(1); transform-origin: left center; }
      100% { transform: scaleX(0); transform-origin: left center; }
    }

    @keyframes scrollHint {
      0%, 100% { transform: translateY(0); opacity: 0.55; }
      50% { transform: translateY(12px); opacity: 1; }
    }

    @keyframes searchGlow {
      0%, 100% { box-shadow: 0 0 0 rgba(23, 105, 209, 0); border-color: rgba(255, 255, 255, 0.22); }
      50% { box-shadow: 0 0 36px rgba(23, 105, 209, 0.24); border-color: rgba(255, 255, 255, 0.42); }
    }

    @keyframes knowledgeCardRise {
      from { opacity: 0; transform: translateY(30px); filter: blur(5px); }
      to { opacity: 1; transform: translateY(0); filter: blur(0); }
    }

    .header-bar,
    .header-top {
      animation: headerDrop 0.8s cubic-bezier(.16, 1, .3, 1) both;
    }

    .header-top {
      animation-delay: 0.08s;
    }

    .hero-bg-img {
      animation: heroDrift 18s ease-in-out infinite;
      will-change: transform;
    }

    .main-pagination,
    .search-ani,
    .lawyer-card {
      animation: titleRise 1s cubic-bezier(.16, 1, .3, 1) both;
    }

    .main-pagination { animation-delay: 0.2s; }
    .main-title-box .kicker,
    .main-title-box h1 {
      animation: titleRise 1s cubic-bezier(.16, 1, .3, 1) both;
    }

    .main-title-box .kicker { animation-delay: 0.32s; }
    .main-title-box h1 { animation-delay: 0.42s; }
    .lawyer-card:nth-child(1) { animation-delay: 0.58s; }
    .lawyer-card:nth-child(2) { animation-delay: 0.72s; }
    .lawyer-card:nth-child(3) { animation-delay: 0.86s; }
    .search-ani {
      animation-name: titleRise, searchGlow;
      animation-duration: 1s, 4.6s;
      animation-delay: 1.05s, 2.2s;
      animation-timing-function: cubic-bezier(.16, 1, .3, 1), ease-in-out;
      animation-fill-mode: both, none;
      animation-iteration-count: 1, infinite;
    }

    .progress-bar::before { animation: lineGrow 4.2s 0.55s cubic-bezier(.16, 1, .3, 1) infinite; }
    .fixed-side { animation: none; }
    .scroll-down { animation: scrollHint 2.4s ease-in-out infinite; }

    .consult-btn,
    .top-nav a,
    .hamburger,
    .quick-item,
    .lawyer-card,
    .case-list li,
    .column-card,
    .form-button,
    .office-list li,
    .more,
    .add-btn {
      transition: transform 0.45s cubic-bezier(.16, 1, .3, 1), box-shadow 0.45s cubic-bezier(.16, 1, .3, 1), opacity 0.35s ease, background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
    }

    .consult-btn:hover,
    .form-button:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22);
    }

    .top-nav a:hover,
    .top-nav a.is-active,
    .more:hover {
      color: #fff;
      opacity: 0.72;
    }

    .hamburger:hover .line:nth-child(1) { transform: translateX(-6px); }
    .hamburger:hover .line:nth-child(2) { transform: translateX(6px); }
    .hamburger:hover .line:nth-child(3) { transform: translateX(-3px); }

    .quick-item:hover {
      transform: translateY(-5px);
    }

    .quick-item:hover .quick-icon {
      box-shadow: 0 10px 24px rgba(255, 255, 255, 0.16);
      transform: scale(1.06);
    }

    .add-btn:hover {
      transform: translateY(-3px) rotate(90deg);
      box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);
    }

    .lawyer-card:hover,
    .column-card:hover {
      transform: translateY(-10px);
      box-shadow: 0 28px 54px rgba(0, 0, 0, 0.23);
    }

    .column-card:hover .thumb img {
      transform: scale(1.06);
    }

    .column-grid.is-topic-entering .column-card {
      animation: knowledgeCardRise 0.68s cubic-bezier(.16, 1, .3, 1) both;
    }

    .column-grid.is-topic-entering .column-card:nth-child(2) {
      animation-delay: 0.06s;
    }

    .column-grid.is-topic-entering .column-card:nth-child(3) {
      animation-delay: 0.12s;
    }

    .thumb img,
    .map-img,
    .case-bg-img,
    .consult-photo,
    .article-thumb {
      transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), opacity 0.5s ease;
      will-change: transform;
    }

    .subpage .sub-hero::before {
      animation: heroDrift 20s ease-in-out infinite;
      will-change: transform;
    }

    .sub-kicker,
    .sub-hero h1,
    .sub-hero p {
      animation: titleRise 0.95s cubic-bezier(.16, 1, .3, 1) both;
    }

    .sub-kicker { animation-delay: 0.16s; }
    .sub-hero h1 { animation-delay: 0.28s; }
    .sub-hero p { animation-delay: 0.42s; }

    .case-list li:hover {
      transform: translateX(8px);
      background: rgba(255, 255, 255, 0.82);
      box-shadow: 0 14px 34px rgba(13, 35, 64, 0.06);
    }

    .office-list li:hover {
      transform: translateX(10px);
      color: var(--primary);
    }

    .reveal {
      opacity: 0;
      transform: translateY(58px);
      filter: blur(7px);
      transition: opacity 0.9s ease, transform 1s cubic-bezier(.16, 1, .3, 1), filter 0.9s ease;
      transition-delay: var(--reveal-delay, 0s);
      will-change: opacity, transform, filter;
    }

    .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }

    .sub-reveal {
      opacity: 0;
      transform: translateY(34px);
      filter: blur(5px);
      transition: opacity 0.86s ease, transform 0.95s cubic-bezier(.16, 1, .3, 1), filter 0.86s ease, box-shadow 0.45s cubic-bezier(.16, 1, .3, 1), border-color 0.35s ease;
      transition-delay: var(--sub-reveal-delay, 0s);
      will-change: opacity, transform, filter;
    }

    .sub-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0);
    }

    .sub-table tr.sub-reveal {
      transform: none;
      filter: none;
      transition-property: opacity, background-color;
      transition-duration: 0.62s, 0.35s;
      transition-timing-function: ease;
    }

    .sub-card,
    .service-area-card,
    .article-card,
    .faq-item,
    .sub-submit {
      transition: transform 0.5s cubic-bezier(.16, 1, .3, 1), box-shadow 0.5s cubic-bezier(.16, 1, .3, 1), border-color 0.35s ease, background-color 0.35s ease;
    }

    .sub-card:hover,
    .service-area-card:hover,
    .faq-item:hover,
    .article-card:hover {
      transform: translateY(-8px);
      border-color: rgba(23, 105, 209, 0.28);
      box-shadow: 0 28px 62px rgba(15, 35, 64, 0.14);
    }

    .article-card:hover .article-thumb {
      transform: scale(1.045);
    }

    .sub-table tbody tr {
      transition: background-color 0.35s ease;
    }

    .sub-table tbody tr:hover {
      background: rgba(23, 105, 209, 0.045);
    }

    .sub-submit:hover {
      transform: translateY(-3px);
      box-shadow: 0 18px 36px rgba(23, 105, 209, 0.24);
      background: var(--primary-hover);
    }

    .case-menu-desktop li,
    .case-mobile-menu-list li,
    .case-list li,
    .column-card,
    .process-list li,
    .office-list li {
      transition-delay: var(--stagger-delay, 0s);
    }

    .hero.is-scrolled .hero-bg-img {
      transform: scale(1.08) translateY(var(--hero-shift, 0px));
    }

    @media (min-width: 1025px) and (max-width: 1536px) {
      .main-title-box {
        left: clamp(78px, 8vw, 110px);
        width: min(560px, 41vw);
      }

      .lawyer-right {
        width: min(430px, calc(35vw - 20px));
      }

      .search-ani {
        width: min(560px, calc(100vw - var(--safe-right-pad) - var(--side-pad)));
      }

      .case-list-window {
        --case-row-h: clamp(62px, 7.4vh, 74px);
      }

      .case-section {
        padding-left: clamp(54px, 4.6vw, 70px);
        padding-right: clamp(118px, 12vw, 180px);
      }

      .case-inner {
        grid-template-columns: clamp(264px, 20vw, 300px) minmax(0, 1fr);
      }

      .case-left {
        padding-left: clamp(58px, 5vw, 72px);
        padding-right: clamp(28px, 2.6vw, 38px);
      }

      .case-menu-desktop {
        --item-h: clamp(52px, 6.2vh, 58px);
        padding-left: clamp(30px, 2.6vw, 36px);
      }

      .case-tab-desktop {
        padding-right: clamp(14px, 1.6vw, 24px);
      }

      .case-right {
        --case-table-cols: minmax(104px, 136px) minmax(0, 0.9fr) minmax(96px, 126px) minmax(190px, 230px);
        --case-content-drop: clamp(18px, 2.4vh, 26px);
        padding: var(--fit-pad-sm) clamp(42px, 3.5vw, 54px) var(--section-bottom-gap);
      }

      .case-right::before {
        inset: clamp(28px, 2.8vw, 36px) clamp(28px, 2.8vw, 36px) var(--case-frame-bottom);
      }

      .knowledge-right {
        row-gap: clamp(22px, 3.2vh, 30px);
      }

      .column-grid {
        --knowledge-card-gap: clamp(14px, 1.4vw, 20px);
        height: clamp(315px, calc(var(--section-h) - var(--header-h) - 250px), 390px);
      }

      .column-card {
        min-height: 0;
      }

      .column-text {
        padding: clamp(24px, 2.4vw, 32px);
      }

      .column-text .cat {
        font-size: 14px;
        margin-bottom: 6px;
      }

      .column-text .title {
        font-size: clamp(21px, 1.55vw, 26px);
        line-height: 1.38;
      }

      .column-text .summary {
        margin-top: 6px;
        font-size: 13px;
        line-height: 1.42;
        -webkit-line-clamp: 1;
      }

      .consult-left,
      .consult-right {
        min-height: 0;
      }

      .consult-left {
        padding-top: calc(var(--header-h) + var(--fit-pad-xs));
        padding-bottom: var(--fit-pad-xs);
      }

      .process-list {
        margin-top: var(--fit-gap-md);
      }

      .process-list li {
        min-height: clamp(70px, 9vh, 88px);
      }

      .consult-right {
        padding-top: calc(var(--header-h) + var(--fit-pad-xs));
        padding-bottom: var(--fit-pad-xs);
      }

      .consult-form {
        gap: 8px;
      }

      .form-row {
        min-height: 50px;
      }

      .form-row input,
      .form-row select,
      .form-row textarea {
        min-height: 40px;
        padding: 10px 14px;
      }

      .form-row textarea {
        min-height: 72px;
      }

      .privacy-consent {
        padding-left: 0;
        font-size: 13px;
      }

      .privacy-consent-label span {
        white-space: normal;
      }

      .privacy-consent-trigger {
        white-space: normal;
      }

      .form-button {
        height: 52px;
        margin-top: 12px;
      }

      .bottom-consult {
        grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) 168px;
      }

      .bottom-consult-form {
        grid-template-columns: auto minmax(92px, 118px) auto minmax(130px, 170px) auto minmax(140px, 180px) auto;
        gap: 10px;
        padding: 0 18px;
      }

      .bottom-consult-agree {
        font-size: var(--type-body);
      }

      .bottom-consult-agree-check span {
        display: inline-flex;
      }
    }

    @media (min-width: 1501px) and (min-height: 1000px) {
      .case-list-window {
        --case-visible-rows: 6;
      }
    }

    @media (max-width: 1024px) {
      :root {
        --section-min: 0px;
        --header-h: 88px;
        --side-pad: clamp(22px, 5vw, 42px);
        --float-safe: 0px;
        --safe-right-pad: var(--side-pad);
        --sticky-consult-h: 0px;
        --type-title: 36px;
        --type-subtitle: 20px;
        --type-body: 15px;
      }

      html,
      body {
        overscroll-behavior-y: auto;
      }

      .page {
        overflow-x: hidden;
        overflow-y: visible;
      }

      .reveal {
        opacity: 1;
        transform: none;
        filter: none;
      }

      .header {
        height: 88px;
      }

      .header-bar {
        display: block;
        top: 16px;
        left: auto;
        right: 18px;
        width: max-content;
        max-width: calc(100vw - 36px);
        height: 44px;
        translate: none;
        transform: none;
        overflow: visible;
        scrollbar-width: none;
      }

      .header-bar::-webkit-scrollbar {
        display: none;
      }

      .header-bar-inner {
        justify-content: flex-start;
        min-width: 0;
        width: auto;
      }

      .consult-btn {
        width: auto;
        flex: 0 0 auto;
        min-width: 0;
        max-width: calc(100vw - 80px);
        justify-content: flex-start;
        gap: 9px;
        padding: 0 18px;
        font-size: var(--type-body);
      }

      .consult-btn span:last-child {
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .consult-btn .pointer {
        width: 12px;
        height: 12px;
      }

      .mobile-menu-toggle {
        position: relative;
        z-index: 75;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #31353C;
        color: #fff;
        cursor: pointer;
      }

      .header.is-mobile-menu-open .mobile-menu-toggle {
        position: fixed;
        top: 0;
        right: 0;
        width: 56px;
        height: 56px;
        flex-basis: 56px;
        border-radius: 0 0 0 16px;
        border-left: 1px solid rgba(255,255,255,0.16);
        border-bottom: 1px solid rgba(255,255,255,0.16);
        background: #31353C;
        color: #fff;
        box-shadow: -14px 14px 30px rgba(0,0,0,0.24);
      }

      .mobile-menu-toggle span {
        position: absolute;
        width: 20px;
        height: 2px;
        background: currentColor;
        border-radius: 999px;
        transition: transform 0.24s ease, opacity 0.2s ease;
      }

      .mobile-menu-toggle span:nth-child(1) {
        transform: translateY(-7px);
      }

      .mobile-menu-toggle span:nth-child(3) {
        transform: translateY(7px);
      }

      .header.is-mobile-menu-open .mobile-menu-toggle span {
        width: 24px;
        height: 2px;
      }

      .header.is-mobile-menu-open .mobile-menu-toggle span:nth-child(1) {
        transform: rotate(45deg);
      }

      .header.is-mobile-menu-open .mobile-menu-toggle span:nth-child(2) {
        opacity: 0;
      }

      .header.is-mobile-menu-open .mobile-menu-toggle span:nth-child(3) {
        transform: rotate(-45deg);
      }

      .top-nav {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 70;
        counter-reset: mobile-nav;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: min(320px, 82vw);
        height: 100dvh;
        padding: 96px 24px 34px;
        background:
          linear-gradient(180deg, rgba(12,21,34,0.98), rgba(12,21,34,0.94)),
          url("mockup_assets/beommusa_office_photo_v2.png") center / cover no-repeat;
        border-left: 1px solid rgba(255,255,255,0.14);
        color: #fff;
        box-shadow: -28px 0 58px rgba(8, 14, 24, 0.42);
        font-size: 18px;
        overflow: hidden;
        isolation: isolate;
        transform: translateX(100%);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.32s cubic-bezier(.16, 1, .3, 1), opacity 0.24s ease;
      }

      .top-nav::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 0;
        height: 5px;
        background: var(--primary);
      }

      .top-nav::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background:
          linear-gradient(180deg, rgba(255,255,255,0.07), transparent 34%),
          radial-gradient(circle at 82% 14%, rgba(23,105,209,0.22), transparent 28%);
        background-size: 100% 100%, 100% 100%;
        opacity: 0.72;
      }

      .header.is-mobile-menu-open .top-nav {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
      }

      .top-nav a {
        position: relative;
        z-index: 1;
        min-height: 58px;
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr) 18px;
        gap: 12px;
        align-items: center;
        padding: 0 6px;
        border-bottom: 1px solid rgba(255,255,255,0.16);
        color: rgba(255,255,255,0.84);
        transition: color 0.2s ease, background-color 0.2s ease, padding-left 0.2s ease;
      }

      .top-nav a::before {
        counter-increment: mobile-nav;
        content: "0" counter(mobile-nav);
        color: var(--primary);
        font-size: 13px;
        font-weight: 900;
      }

      .top-nav a::after {
        content: "";
        width: 8px;
        height: 8px;
        border: solid currentColor;
        border-width: 2px 2px 0 0;
        opacity: 0.62;
        justify-self: end;
        transform: rotate(45deg);
      }

      .top-nav a:hover,
      .top-nav a:focus-visible,
      .top-nav a.is-active {
        padding-left: 14px;
        background: rgba(23,105,209,0.18);
        color: #fff;
        outline: none;
      }

      .top-nav .divider {
        display: none;
      }

      .mobile-nav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 65;
        display: block;
        width: 100%;
        height: 100%;
        border: 0;
        background: rgba(8, 14, 24, 0.42);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.24s ease;
      }

      .header.is-mobile-menu-open .mobile-nav-backdrop {
        opacity: 1;
        pointer-events: auto;
      }

      html.mobile-nav-open,
      html.mobile-nav-open body {
        overflow: hidden;
      }

      .header-top {
        height: 88px;
      }

      .hamburger {
        top: 13px;
        right: 16px;
        width: 48px;
        height: 44px;
        font-size: var(--type-body);
      }

      .hamburger .line {
        width: 31px;
        margin: 6px auto;
      }

      .fixed-side,
      .bottom-consult {
        display: none !important;
      }

      .fixed-side {
        top: auto;
        right: 50%;
        bottom: calc(var(--sticky-consult-h) + 16px);
        width: auto;
        transform: translateX(50%);
        z-index: 60;
      }

      .side-word {
        display: none;
      }

      .quick-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 8px 10px;
        border-radius: 999px;
        background: rgba(22, 26, 33, 0.82);
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.26);
        backdrop-filter: blur(14px);
      }

      .quick-title {
        display: none;
      }

      .quick-item {
        width: 42px;
        height: 42px;
        gap: 0;
        font-size: 0;
      }

      .quick-label {
        display: none;
      }

      .quick-icon {
        width: 38px;
        height: 38px;
        font-size: var(--type-body);
      }

      .bottom-consult {
        --sticky-consult-h: 150px;
        grid-template-columns: minmax(0, 1fr) 150px;
        align-items: stretch;
      }

      .bottom-consult-phone {
        grid-column: 1 / -1;
        min-height: 48px;
        font-size: var(--type-body);
      }

      .bottom-consult-phone strong {
        font-size: var(--type-subtitle);
      }

      .bottom-consult-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding: 10px 12px;
      }

      .bottom-consult-label {
        display: none;
      }

      .bottom-consult-control {
        height: 38px;
        font-size: 13px;
        padding: 0 10px;
      }

      .custom-select--bottom .custom-select-button {
        height: 38px;
        min-height: 38px;
        padding: 0 10px;
        font-size: 13px;
      }

      .bottom-consult-agree {
        grid-column: 1 / -1;
        font-size: var(--type-body);
        font-weight: 800;
        justify-content: center;
      }

      .bottom-consult-submit {
        grid-row: 2;
        grid-column: 2;
        font-size: var(--type-body);
      }

      .hero {
        height: auto;
        min-height: 760px;
        padding: 118px var(--side-pad) 118px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .hero-bg-img {
        object-position: 58% center;
      }

      .hero-overlay {
        background: linear-gradient(180deg, rgba(0,0,0,0.5), rgba(0,0,0,0.3) 45%, rgba(0,0,0,0.62));
      }

      .hero::after,
      .main-pagination,
      .scroll-down {
        display: none;
      }

      .main-title-box {
        position: relative;
        left: auto;
        top: auto;
        width: min(100%, 660px);
      }

      .main-title-box .kicker {
        margin-bottom: 18px;
        font-size: var(--type-body);
      }

      .main-title-box h1 {
        font-size: var(--type-title);
        line-height: 1.22;
      }

      .lawyer-right {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        max-width: 520px;
        grid-template-columns: 1fr;
        margin-top: 34px;
        transform: none;
      }

      .lawyer-card {
        min-height: 136px;
      }

      .lawyer-card + .lawyer-card {
        border-left: 1px solid rgba(13,35,64,0.08);
        border-top: 0;
      }

      .lawyer-card .txt {
        padding: 38px 26px 24px;
      }

      .search-ani {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 680px;
        margin-top: 22px;
      }

      .case-section,
      .consult-section,
      .location-section,
      .footer {
        height: auto;
        padding: 108px var(--side-pad) 96px;
      }

      .case-section {
        min-height: 1080px;
      }

      .consult-section {
        min-height: 940px;
      }

      .location-section {
        min-height: 760px;
      }

      .footer {
        min-height: 720px;
      }

      .case-section {
        display: block;
      }

      .case-inner {
        height: auto;
        min-height: 0;
        width: min(100%, 430px);
        max-width: 430px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        grid-template-columns: none;
        background: #fff;
        border: 1px solid #d9e1eb;
        box-shadow: 0 24px 60px rgba(13, 35, 64, 0.14);
        translate: none;
      }

      .case-left {
        order: 2;
        background: #fff;
        padding: 16px 0 20px;
        border: 0;
        border-top: 1px solid #d9e1eb;
        display: block;
        overflow: hidden;
      }

      .case-left::before,
      .case-left::after,
      .case-menu-desktop::before,
      .case-menu-desktop::after {
        display: none;
      }

      .case-menu-desktop-shell {
        display: none;
      }

      .case-menu-mobile {
        position: relative;
        display: grid;
        grid-template-columns: 32px minmax(0, 1fr) 32px;
        align-items: stretch;
        gap: 10px;
        width: min(100% - 32px, 340px);
        max-width: 340px;
        height: auto;
        margin: 0 auto;
        padding: 0;
      }

      .case-mobile-arrow {
        appearance: none;
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
        width: 32px;
        height: 56px;
        min-height: 44px;
        border: 1px solid #d9e1eb;
        background: #fff;
        color: #10233e;
        font-family: inherit;
        font-size: 20px;
        font-weight: 900;
        line-height: 1;
        cursor: pointer;
        transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
      }

      .case-mobile-arrow-prev {
        grid-column: 1;
      }

      .case-mobile-arrow-next {
        grid-column: 3;
      }

      .case-mobile-arrow:hover,
      .case-mobile-arrow:focus-visible {
        border-color: var(--primary);
        background: var(--primary);
        color: #fff;
        outline: none;
      }

      .case-mobile-menu-list {
        --item-h: auto;
        padding: 0;
        height: auto;
        grid-column: 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        justify-content: flex-start;
        gap: 10px;
        overflow: hidden;
        scrollbar-width: none;
      }

      .case-mobile-menu-list::-webkit-scrollbar {
        display: none;
      }

      .case-mobile-menu-list li {
        display: none;
        height: 56px;
        min-width: 0;
      }

      .case-mobile-menu-list li.is-case-mobile-visible {
        display: flex;
      }

      .case-tab-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        min-height: 0;
        box-sizing: border-box;
        padding: 5px 10px;
        background: #fff;
        border: 1px solid #d9e1eb;
        color: #10233e;
        font-size: 12px;
        font-weight: 800;
        text-align: center;
        line-height: 1.14;
        white-space: normal;
        word-break: keep-all;
      }

      .case-tab-mobile:hover,
      .case-tab-mobile:focus-visible {
        color: #10233e;
        transform: none;
      }

      .case-mobile-menu-list li.active .case-tab-mobile {
        background: var(--primary);
        border-color: var(--primary);
        color: #fff;
        box-shadow: 0 14px 30px rgba(23,105,209,0.18);
      }

      .case-mobile-menu-list li.active .case-tab-mobile:hover,
      .case-mobile-menu-list li.active .case-tab-mobile:focus-visible {
        color: #fff;
      }

      .case-right {
        --case-content-drop: 0px;
        order: 1;
        display: block;
        padding: 0;
        background: #fff;
        overflow: visible;
      }

      .case-right::before {
        display: none;
      }

      .case-doc-meta {
        display: none;
      }

      .case-list-window {
        --case-row-h: 116px;
        --case-visible-rows: 4;
        height: calc((var(--case-row-h) * var(--case-visible-rows)) + 44px);
        margin-top: 0;
        padding: 20px 26px 24px;
        background: #fff;
        border-right: 0;
        border-left: 0;
      }

      .case-list a {
        grid-template-columns: 1fr auto;
        grid-template-areas:
          "type point"
          "title title"
          "issue issue";
        gap: 5px 12px;
        padding: 14px 16px;
        font-size: var(--type-body);
      }

      .case-list a > span {
        padding: 0;
      }

      .case-type { grid-area: type; }
      .case-title { grid-area: title; display: block; justify-self: start; text-align: left; }
      .case-issue { grid-area: issue; display: block; justify-self: start; text-align: left; }
      .case-point { grid-area: point; display: block; align-self: center; justify-self: end; text-align: right; }

      .box-top {
        gap: 24px;
      }

      .case-right .box-top {
        order: 1;
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 0;
        padding: 34px 26px 18px;
        background: #fff;
        border: 1px solid #d9e1eb;
        border-bottom: 0;
      }

      .case-right .page-title h2,
      .case-right .page-title .section-headline {
        max-width: none;
      }

      .page-title h2 {
        font-size: var(--type-title);
      }

      .page-title .section-headline {
        font-size: var(--type-subtitle);
      }

      .more {
        font-size: var(--type-body);
      }

      .add-btn {
        width: 36px;
        height: 36px;
      }

      .knowledge-row {
        height: auto;
        min-height: 1040px;
        display: block;
        overflow: visible;
      }

      .knowledge-left {
        padding: 108px var(--side-pad) 42px;
      }

      .knowledge-left h2 {
        font-size: var(--type-title);
      }

      .knowledge-left .mini-menu {
        margin-top: 34px;
      }

      .knowledge-left .mini-menu li {
        height: 52px;
      }

      .knowledge-right {
        padding: 48px var(--side-pad) 96px;
        overflow: visible;
      }

      .column-grid {
        grid-auto-flow: row;
        grid-auto-columns: initial;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        height: auto;
        overflow: visible;
      }

      .column-card {
        height: auto;
        min-height: 320px;
      }

      .consult-section {
        grid-template-columns: 1fr;
        gap: 32px;
      }

      .consult-left {
        padding: 0;
      }

      .process-list {
        margin-top: 36px;
      }

      .process-list li {
        min-height: 84px;
      }

      .consult-right {
        padding: 36px clamp(24px, 5vw, 42px);
      }

      .location-section {
        display: block;
      }

      .location-inner {
        height: auto;
        grid-template-columns: 1fr;
        border-top: 0;
      }

      .location-left {
        padding: 0 0 34px;
      }

      .office-list {
        margin-top: 34px;
      }

      .map {
        margin-top: 0;
        height: 360px;
        min-height: 0;
      }

      .footer {
        grid-template-columns: 1fr;
        gap: 42px;
      }

      .footer h2 {
        font-size: var(--type-title);
      }

      .footer .call {
        white-space: normal;
      }
    }

    @media (max-width: 640px) {
      :root {
        --header-h: 74px;
        --side-pad: 20px;
        --sticky-consult-h: 0px;
        --type-title: 32px;
        --type-subtitle: 19px;
        --type-body: 14px;
      }

      .header,
      .header-top {
        height: 74px;
      }

      .header-bar {
        top: 12px;
        left: auto;
        right: 10px;
        max-width: calc(100vw - 20px);
        height: 40px;
      }

      .consult-btn {
        max-width: calc(100vw - 60px);
        font-size: 13px;
        letter-spacing: -0.05em;
        padding: 0 13px;
      }

      .consult-btn .pointer {
        display: inline-block;
        width: 10px;
        height: 10px;
      }

      .top-nav {
        width: min(300px, 84vw);
        padding: 84px 22px 28px;
        font-size: 16px;
      }

      .top-nav a {
        min-height: 54px;
      }

      .top-nav .divider {
        display: none;
      }

      .mobile-menu-toggle {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
      }

      .hamburger {
        top: 8px;
        right: 10px;
        width: 48px;
      }

      .hamburger .line {
        width: 29px;
        height: 2px;
      }

      .hero {
        min-height: 680px;
        padding: 84px var(--side-pad) 28px;
        justify-content: center;
      }

      .main-title-box h1 {
        font-size: var(--type-title);
      }

      .main-title-box .kicker {
        font-size: var(--type-body);
      }

      .lawyer-card {
        min-height: 124px;
      }

      .lawyer-right {
        grid-template-columns: 1fr;
      }

      .lawyer-card + .lawyer-card {
        border-left: 0;
        border-top: 1px solid rgba(13,35,64,0.08);
      }

      .lawyer-card .txt {
        padding: 36px 22px 22px;
      }

      .lawyer-card dt {
        font-size: var(--type-subtitle);
      }

      .search-ani {
        display: none;
        height: 52px;
        padding: 0 18px;
        font-size: var(--type-body);
      }

      .case-section,
      .consult-section,
      .location-section,
      .footer {
        padding: 88px var(--side-pad) 88px;
      }

      .case-section {
        min-height: 980px;
      }

      .knowledge-row {
        min-height: 980px;
      }

      .consult-section {
        min-height: 900px;
      }

      .location-section {
        min-height: 720px;
      }

      .footer {
        min-height: 660px;
      }

      .case-left {
        padding: 14px 0 18px;
      }

      .case-inner {
        width: min(100%, 380px);
        max-width: 380px;
      }

      .case-menu-mobile {
        grid-template-columns: 28px minmax(0, 1fr) 28px;
        width: min(100% - 24px, 320px);
        max-width: 320px;
        padding: 0;
      }

      .case-mobile-arrow {
        width: 28px;
        height: 48px;
        min-height: 48px;
        font-size: 18px;
      }

      .case-mobile-menu-list {
        gap: 8px;
      }

      .case-mobile-menu-list li {
        height: 48px;
      }

      .case-tab-mobile {
        padding: 4px 8px;
        font-size: 12px;
      }

      .case-right {
        padding: 28px 18px 30px;
      }

      .case-right .box-top {
        padding: 28px 18px 16px;
      }

      .case-list-window {
        --case-row-h: 140px;
        --case-visible-rows: 3;
        height: calc((var(--case-row-h) * var(--case-visible-rows)) + 36px);
        padding: 16px 18px 20px;
      }

      .case-list a {
        grid-template-columns: 1fr;
        grid-template-areas:
          "type"
          "title"
          "issue"
          "point";
        align-content: center;
      }

      .case-issue,
      .case-point {
        justify-self: start;
      }

      .box-top {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: start;
      }

      .case-right .box-top {
        grid-template-columns: 1fr;
        gap: 18px;
      }

      .page-title h2 {
        font-size: var(--type-title);
      }

      .page-title .section-headline {
        font-size: var(--type-subtitle);
      }

      .more span:first-child {
        display: none;
      }

      .knowledge-left {
        padding: 88px var(--side-pad) 36px;
      }

      .knowledge-left h2 {
        font-size: var(--type-title);
      }

      .knowledge-left p {
        font-size: var(--type-body);
      }

      .knowledge-left .mini-menu li {
        height: 48px;
        font-size: var(--type-body);
      }

      .knowledge-right {
        padding: 42px var(--side-pad) 88px;
      }

      .column-grid {
        grid-auto-flow: row;
        grid-auto-columns: initial;
        grid-template-columns: 1fr;
        gap: 16px;
        height: auto;
        overflow: visible;
      }

      .column-card {
        height: auto;
        min-height: 300px;
      }

      .column-text {
        padding: 28px 24px;
      }

      .consult-left .page-title h2 {
        font-size: var(--type-title);
      }

      .process-list li {
        grid-template-columns: 48px 1fr;
        gap: 18px;
        min-height: 72px;
      }

      .process-list .count {
        font-size: var(--type-title);
      }

      .process-list p {
        font-size: var(--type-subtitle);
      }

      .consult-right {
        padding: 30px 22px;
      }

      .consult-right h2 {
        font-size: var(--type-title);
      }

      .form-row {
        grid-template-columns: 1fr;
        gap: 8px;
        align-items: start;
        padding: 12px 0;
      }

      .form-row.area span {
        padding-top: 0;
      }

      .location-left h2 {
        font-size: var(--type-title);
      }

      .office-list li {
        height: auto;
        min-height: 72px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
      }

      .office-list small {
        text-align: left;
      }

      .map {
        height: 240px;
      }

      .kakao-map-desktop {
        display: none;
      }

      .kakao-map-mobile {
        display: block;
        width: 360px !important;
        max-width: 100%;
        height: 240px !important;
        margin: 0 auto;
      }

      .map-address {
        left: 14px;
        right: 14px;
        bottom: 14px;
        width: auto;
        padding: 16px 18px;
      }

      .footer-actions {
        flex-direction: column;
        align-items: stretch;
      }

      .footer-action {
        width: 100%;
      }

      .footer-info li {
        display: grid;
        min-height: 76px;
        padding: 14px 10px;
        gap: 10px;
        align-content: center;
        justify-content: start;
      }

      .quick-btn {
        gap: 7px;
        padding: 7px 9px;
      }

      .quick-item {
        width: 39px;
        height: 39px;
      }

      .quick-icon {
        width: 35px;
        height: 35px;
      }

      .fixed-side {
        display: none;
      }

      .bottom-consult {
        --sticky-consult-h: 198px;
        grid-template-columns: minmax(0, 1fr) 120px;
      }

      .bottom-consult-phone {
        gap: 8px;
      }

      .bottom-consult-form {
        grid-template-columns: 1fr 1fr;
      }

      .bottom-consult-control:first-of-type,
      .bottom-consult .custom-select--bottom {
        grid-column: 1 / -1;
      }

      .bottom-consult-agree {
        grid-column: 1 / -1;
        justify-content: center;
        font-size: var(--type-body);
      }

      .bottom-privacy-trigger {
        white-space: normal;
      }

      .privacy-modal-dialog {
        width: min(500px, calc(100vw - 28px));
        padding: 42px 28px 44px;
        border-radius: 18px;
      }

      .privacy-modal-dialog h2 {
        font-size: 22px;
        margin-bottom: 32px;
      }

      .knowledge-modal-dialog {
        width: min(920px, calc(100vw - 28px));
        padding: 42px 28px 34px;
        border-radius: 18px;
      }

      .knowledge-modal-head {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-right: 0;
      }

      .knowledge-modal-dialog h2 {
        margin-right: 36px;
        margin-bottom: 18px;
        font-size: 24px;
      }

      .knowledge-modal-thumb-wrap {
        margin-bottom: 24px;
      }

      .knowledge-modal-section {
        padding: 24px 0;
      }

      .bottom-privacy-panel {
        right: 50%;
        translate: 50% 0;
        width: min(340px, calc(100vw - 28px));
        max-height: min(56vh, 420px);
        overflow-y: auto;
      }
    }

    @media (max-width: 1024px) {
      .sub-hero {
        min-height: 520px;
        padding: 142px var(--side-pad) 70px;
      }

      .sub-content {
        padding: 64px var(--side-pad) 92px;
      }

      .sub-heading {
        grid-template-columns: 1fr;
        gap: 22px;
      }

      .sub-grid,
      .case-study-grid,
      .service-area-grid,
      .faq-list,
      .article-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .service-area-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .sub-consult-layout {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .sub-hero {
        min-height: 460px;
        padding: 126px var(--side-pad) 58px;
      }

      .sub-hero h1 {
        font-size: var(--type-title);
      }

      .sub-content {
        padding: 46px var(--side-pad) 74px;
      }

      .sub-section + .sub-section {
        margin-top: 64px;
      }

      .about-page .sub-section + .sub-section {
        margin-top: 104px;
      }

      .sub-grid,
      .case-study-grid,
      .service-area-grid,
      .faq-list,
      .article-list {
        grid-template-columns: 1fr;
      }

      .service-area-list {
        grid-template-columns: 1fr;
      }

      .sub-card,
      .case-study-card,
      .service-area-card,
      .faq-item,
      .sub-consult-panel,
      .sub-consult-form {
        padding: 28px;
      }

      .sub-form-row {
        grid-template-columns: 1fr;
        gap: 0;
        align-items: start;
        padding: 16px 0;
      }

      .sub-form-row input,
      .sub-form-row select,
      .sub-form-row textarea {
        padding: 8px 0 0;
      }

      .privacy-consent-light {
        padding-left: 0;
      }

      .sub-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
      }
    }

    @media (max-width: 1180px) {
      .consult-reference-section {
        grid-template-columns: 1fr;
        height: auto;
        min-height: auto;
      }

      .consult-reference-left {
        --consult-left-content-shift: 0px;
        padding: calc(var(--header-h) + var(--fit-pad-md)) var(--side-pad) var(--fit-pad-lg);
      }

      .consult-reference-right {
        padding: var(--fit-pad-lg) var(--safe-right-pad) calc(var(--fit-pad-lg) + 24px) var(--side-pad);
      }

      .consult-reference-right .consult-form,
      .consult-reference-right .sub-consult-form {
        width: 100%;
        max-width: 820px;
      }
    }

    @media (max-width: 768px) {
      :root {
        --mobile-page-max: 768px;
        --mobile-content-max: 430px;
        --header-h: 76px;
        --side-pad: clamp(18px, 5vw, 28px);
        --safe-right-pad: var(--side-pad);
        --float-safe: 0px;
        --sticky-consult-h: 0px;
        --type-title: clamp(30px, 8vw, 36px);
        --type-subtitle: clamp(18px, 5vw, 22px);
        --type-body: 14px;
      }

      html,
      body {
        min-width: 320px;
      }

      .header,
      .header-top {
        height: var(--header-h);
      }

      .header-bar {
        top: 12px;
        right: max(10px, calc((100vw - var(--mobile-page-max)) / 2 + 10px));
        height: 42px;
        max-width: min(420px, calc(100vw - 20px));
      }

      .consult-btn {
        height: 42px;
        max-width: calc(100vw - 62px);
        padding: 0 14px;
        font-size: 13px;
      }

      .mobile-menu-toggle {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        background: #31353C;
        color: #fff;
      }

      .top-nav {
        width: min(330px, calc(100vw - 44px));
        padding: 86px 24px 30px;
      }

      .hero,
      .case-section,
      .knowledge-row,
      .consult-section,
      .location-section,
      .footer {
        width: 100%;
        max-width: var(--mobile-page-max);
        margin-inline: auto;
        padding-left: var(--side-pad);
        padding-right: var(--side-pad);
      }

      .hero {
        min-height: 700px;
        padding-top: calc(var(--header-h) + 54px);
        padding-bottom: 64px;
      }

      .main-title-box,
      .lawyer-right,
      .case-inner,
      .knowledge-left > *,
      .knowledge-right > *,
      .consult-left > *,
      .consult-right,
      .location-inner,
      .footer > * {
        width: 100%;
        max-width: var(--mobile-content-max);
        margin-inline: auto;
      }

      .main-title-box {
        padding-top: 0;
      }

      .lawyer-right {
        margin-top: 30px;
      }

      .case-section {
        min-height: 980px;
      }

      .case-inner {
        width: min(100%, var(--mobile-content-max));
        max-width: var(--mobile-content-max);
      }

      .knowledge-row {
        min-height: 980px;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
      }

      .knowledge-left,
      .knowledge-right {
        width: 100%;
        max-width: none;
        margin-inline: 0;
      }

      .knowledge-left {
        padding-top: calc(var(--header-h) + 44px);
      }

      .knowledge-right {
        padding-top: 38px;
      }

      .column-grid,
      .sub-grid,
      .case-study-grid,
      .service-area-grid,
      .faq-list,
      .article-list,
      .service-area-list {
        grid-template-columns: 1fr;
      }

      .column-grid {
        max-width: var(--mobile-content-max);
        margin-inline: auto;
        gap: 16px;
      }

      .column-card {
        min-height: 300px;
      }

      .consult-section {
        display: block;
        min-height: 860px;
      }

      .consult-left {
        padding: 0;
      }

      .consult-right {
        padding: 30px 22px;
      }

      .form-row,
      .sub-form-row {
        grid-template-columns: 1fr;
        gap: 8px;
        align-items: start;
      }

      .form-row input,
      .form-row select,
      .form-row textarea,
      .sub-form-row input,
      .sub-form-row select,
      .sub-form-row textarea {
        min-width: 0;
      }

      .privacy-consent,
      .privacy-consent-light {
        padding-left: 0;
      }

      .location-section {
        min-height: 700px;
      }

      .location-inner {
        grid-template-columns: 1fr;
      }

      .map {
        max-width: var(--mobile-content-max);
        height: 280px;
        margin-inline: auto;
      }

      .office-list li {
        height: auto;
        min-height: 72px;
        align-items: flex-start;
        flex-direction: column;
        justify-content: center;
        gap: 6px;
      }

      .office-list small {
        text-align: left;
      }

      .footer {
        min-height: 620px;
      }

      .footer-actions {
        flex-direction: column;
        align-items: stretch;
      }

      .footer-action {
        width: 100%;
      }

      .footer-info li {
        display: grid;
        min-height: 76px;
        padding: 14px 10px;
        gap: 10px;
        align-content: center;
        justify-content: start;
      }

      .sub-hero {
        min-height: 460px;
        padding: 126px var(--side-pad) 58px;
      }

      .sub-hero-inner,
      .sub-content {
        width: 100%;
        max-width: var(--mobile-page-max);
        margin-inline: auto;
      }

      .sub-content {
        padding: 46px var(--side-pad) 74px;
      }

      .sub-section + .sub-section {
        margin-top: 70px;
      }

      .sub-card,
      .case-study-card,
      .service-area-card,
      .faq-item,
      .sub-consult-panel,
      .sub-consult-form {
        padding: 28px;
      }

      .sub-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
      }
    }

    @media (max-width: 768px) {
      .consult-reference-section {
        --mobile-consult-pad-top: 76px;
        --mobile-consult-pad-bottom: 42px;
        --mobile-consult-gap: 24px;
      }

      .consult-section.consult-reference-section {
        height: auto;
        min-height: auto;
      }

      .consult-reference-left {
        justify-content: flex-start;
        padding: var(--mobile-consult-pad-top) var(--side-pad) var(--mobile-consult-pad-bottom);
      }

      .consult-reference-left h1,
      .consult-reference-left h2 {
        font-size: var(--type-title);
      }

      .consult-reference-left > p {
        margin-top: var(--mobile-consult-gap);
      }

      .consult-proof-grid {
        margin-top: calc(var(--mobile-consult-gap) + 6px);
      }

      .consult-proof-grid {
        grid-template-columns: 1fr;
        border-top: 1px solid #d5dde8;
      }

      .consult-proof-grid div {
        display: grid;
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 18px;
        align-items: end;
        padding: 20px 0;
        border-left: 0;
        border-bottom: 1px solid #d5dde8;
      }

      .consult-proof-grid dt {
        font-size: var(--type-title);
      }

      .consult-proof-grid dd {
        margin-top: 0;
      }

      .consult-check-list li {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 18px;
        min-height: 68px;
      }

      .consult-check-list {
        margin-top: calc(var(--mobile-consult-gap) + 8px);
      }

      .consult-reference-right {
        width: 100vw;
        min-height: 720px;
        align-items: stretch;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0;
        background-color: #071523;
      }

      .consult-reference-right .consult-form,
      .consult-reference-right .sub-consult-form {
        width: min(520px, calc(100% - (var(--side-pad) * 2)));
        max-width: 520px;
        margin: 0 auto;
        min-height: auto;
        padding: 44px 0 56px;
      }

      .consult-reference-right .consult-form .form-row,
      .consult-reference-right .sub-consult-form .sub-form-row {
        grid-template-columns: 1fr;
        gap: 0;
        align-items: start;
        padding: 16px 0;
      }

      .consult-reference-right .consult-form .form-row input,
      .consult-reference-right .consult-form .form-row select,
      .consult-reference-right .consult-form .form-row textarea,
      .consult-reference-right .sub-consult-form .sub-form-row input,
      .consult-reference-right .sub-consult-form .sub-form-row select,
      .consult-reference-right .sub-consult-form .sub-form-row textarea {
        margin-top: 8px;
      }

      .consult-reference-right .consult-form .privacy-consent,
      .consult-reference-right .sub-consult-form .privacy-consent-light {
        padding-left: 0;
      }
    }

    @media (max-width: 1024px) {
      :root {
        --mobile-section-pad-y: 96px;
        --mobile-section-split-gap: 40px;
      }

      .top-nav {
        top: 0;
        right: 0;
        width: min(320px, 100vw);
        max-width: 100vw;
      }

      .header.is-mobile-menu-open .header-bar {
        position: fixed;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100dvh;
        max-width: 100vw;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
        overflow: visible;
        animation: none;
        transform: none;
        pointer-events: none;
      }

      .header.is-mobile-menu-open .header-bar-inner {
        width: 100%;
        height: 100%;
        justify-content: flex-end;
        pointer-events: none;
      }

      .header.is-mobile-menu-open .consult-btn {
        opacity: 0;
        pointer-events: none;
      }

      .header.is-mobile-menu-open .mobile-menu-toggle,
      .header.is-mobile-menu-open .top-nav,
      .header.is-mobile-menu-open .mobile-nav-backdrop {
        pointer-events: auto;
      }

      .header.is-mobile-menu-open .mobile-menu-toggle {
        top: 0;
        right: 0;
      }

      .hero {
        padding-bottom: var(--mobile-section-pad-y);
      }

      .case-section,
      .knowledge-row,
      .consult-section,
      .location-section,
      .footer {
        min-height: auto;
      }

      .case-section,
      .location-section,
      .footer {
        padding-top: var(--mobile-section-pad-y);
        padding-bottom: var(--mobile-section-pad-y);
      }

      .knowledge-left {
        padding-top: var(--mobile-section-pad-y);
        padding-bottom: var(--mobile-section-split-gap);
      }

      .knowledge-right {
        padding-top: var(--mobile-section-split-gap);
        padding-bottom: var(--mobile-section-pad-y);
      }

      .consult-reference-section {
        --mobile-consult-pad-top: var(--mobile-section-pad-y);
        --mobile-consult-pad-bottom: var(--mobile-section-split-gap);
        --mobile-consult-form-top: var(--mobile-section-split-gap);
        --mobile-consult-form-bottom: var(--mobile-section-pad-y);
      }

      .consult-reference-left {
        padding-top: var(--mobile-consult-pad-top);
        padding-bottom: var(--mobile-consult-pad-bottom);
      }

      .consult-reference-right .consult-form,
      .consult-reference-right .sub-consult-form {
        padding-top: var(--mobile-consult-form-top);
        padding-bottom: var(--mobile-consult-form-bottom);
      }
    }

    @media (max-width: 640px) {
      :root {
        --mobile-section-pad-y: 72px;
        --mobile-section-split-gap: 36px;
      }

      .top-nav {
        right: 0;
        width: min(300px, 100vw);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
      }

      .reveal,
      .sub-reveal,
      .count-up {
        opacity: 1;
        transform: none;
        filter: none;
        animation: none !important;
      }
    }
    .page :is(
      .main-title-box h1,
      .page-title h2,
      .knowledge-left h2,
      .consult-right h2,
      .location-left h2,
      .footer h2,
      .footer .call,
      .lawyer-card dt,
      .process-list .count
    ) {
      font-size: var(--type-title);
      line-height: var(--leading-title);
      letter-spacing: var(--tracking-title);
      font-weight: 900;
    }

    .page :is(
      .main-title-box .kicker,
      .main-label,
      .page-title .section-headline,
      .more,
      .knowledge-left .mini-menu li,
      .process-list p,
      .office-list li,
      .map-address strong,
      .footer-info strong
    ) {
      font-size: var(--type-subtitle);
      line-height: var(--leading-subtitle);
      letter-spacing: var(--tracking-subtitle);
    }

    .page :is(
      .consult-btn,
      .top-nav,
      .hamburger,
      .fixed-side,
      .search-ani,
      .lawyer-card .card-tag,
      .lawyer-card dt span,
      .lawyer-card dd,
      .case-doc-meta span,
      .case-list a,
      .case-type,
      .case-title,
      .case-step,
      .case-date,
      .case-result,
      .knowledge-left p,
      .column-card .cat,
      .column-card .title,
      .consult-right .desc,
      .form-row,
      .form-row input,
      .form-row select,
      .form-row textarea,
      .location-left p,
      .office-list small,
      .map-address span,
      .footer-eyebrow,
      .footer p,
      .footer-action,
      .footer .call span,
      .footer-info li
    ) {
      font-size: var(--type-body);
      line-height: var(--leading-body);
      letter-spacing: var(--tracking-body);
    }

    @media (max-width: 1024px) {
      .case-tab-mobile {
        font-size: 12px;
        line-height: 1.14;
        letter-spacing: 0;
      }
    }

    @media (max-width: 640px) {
      .case-tab-mobile {
        font-size: 12px;
      }
    }
