        :root {
            --sig-white: #F1F8FF;
            --sig-sky: #009EDA;
            --sig-blue: #1588FF;
            --sig-deepblue: #0065D1;
            --sig-navy: #014188;
            --faq-bg: #F4F8FC;
            --faq-card: #FFFFFF;
            --faq-text: #102B45;
            --faq-muted: #667C92;
            --faq-soft: #EAF5FF;
            --faq-line: #D9E8F6;
            --faq-shadow: 0 14px 34px rgba(1, 65, 136, 0.08);
        }

        * {
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 24px
        }

        body {
            margin: 0;
            background: var(--faq-bg);
            color: var(--faq-text);
            font-family: Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif;
            font-size: 16px;
            line-height: 1.7
        }

        .faq-page {
            width: min(1180px, calc(100% - 32px));
            margin: 0 auto;
            padding: 28px 0 76px;
            color: var(--faq-text);
            font-family: "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            line-height: 1.65;
        }

        .faq-page *,
        .faq-page *::before,
        .faq-page *::after {
            box-sizing: border-box;
        }

        .faq-page a {
            color: inherit;
            text-decoration: none;
        }

        .faq-hero-panel {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 390px;
            gap: 28px;
            align-items: stretch;
            margin-bottom: 24px;
            padding: 34px;
            border: 1px solid rgba(0, 101, 209, 0.1);
            border-radius: 8px;
            background:
                linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 248, 255, 0.96) 58%, rgba(232, 244, 255, 0.96) 100%);
            box-shadow: var(--faq-shadow);
        }

        .faq-hero-copy {
            min-width: 0;
        }

        .faq-breadcrumb {
            display: flex;
            align-items: center;
            gap: 9px;
            margin-bottom: 18px;
            color: var(--sig-deepblue);
            font-size: 13px;
            font-weight: 800;
        }

        .faq-breadcrumb span::before {
            content: "›";
            margin-right: 9px;
            color: #8DBCEB;
        }

        .faq-eyebrow {
            margin: 0 0 8px;
            color: var(--sig-sky);
            font-size: 13px;
            font-weight: 900;
        }

        .faq-hero-copy h1 {
            max-width: 680px;
            margin: 0 0 16px;
            color: var(--sig-navy);
            font-size: 38px;
            line-height: 1.22;
            font-weight: 900;
            letter-spacing: 0;
            word-break: keep-all;
        }

        .faq-hero-lead {
            max-width: 720px;
            margin: 0;
            color: #526D86;
            font-size: 15px;
            line-height: 1.84;
            word-break: keep-all;
        }

        .faq-hero-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 22px;
        }

        .faq-hero-meta span {
            display: inline-flex;
            align-items: center;
            min-height: 34px;
            padding: 0 12px;
            border: 1px solid #D7E9FA;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.7);
            color: #466784;
            font-size: 13px;
            font-weight: 800;
        }

        .faq-hero-meta strong {
            margin-right: 3px;
            color: var(--sig-deepblue);
        }

        .faq-finder-panel {
            align-self: center;
            padding: 22px;
            border: 1px solid #CFE4F8;
            border-radius: 8px;
            background: rgba(255, 255, 255, 0.86);
            box-shadow: 0 10px 24px rgba(1, 65, 136, 0.06);
        }

        .faq-search-box label {
            display: block;
            margin-bottom: 9px;
            color: var(--sig-navy);
            font-size: 13px;
            font-weight: 900;
        }

        .faq-search-box input {
            width: 100%;
            height: 52px;
            padding: 0 16px;
            border: 1px solid #CDE4FB;
            border-radius: 8px;
            background: #fff;
            color: var(--faq-text);
            font: inherit;
            font-size: 15px;
            font-weight: 700;
            outline: none;
        }

        .faq-search-box input:focus {
            border-color: var(--sig-sky);
            box-shadow: 0 0 0 4px rgba(0, 158, 218, 0.12);
        }

        .faq-search-box input::placeholder {
            color: #94AABF;
            font-weight: 600;
        }

        .faq-filter-chips {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 14px;
        }

        .filter-chip {
            min-height: 34px;
            padding: 0 12px;
            border: 1px solid #D6E8F8;
            border-radius: 999px;
            background: #fff;
            color: #536E88;
            cursor: pointer;
            font: inherit;
            font-size: 13px;
            font-weight: 900;
            transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
        }

        .filter-chip:hover,
        .filter-chip:focus {
            border-color: rgba(0, 158, 218, 0.48);
            color: var(--sig-deepblue);
            outline: none;
        }

        .filter-chip.is-active {
            border-color: var(--sig-deepblue);
            background: var(--sig-deepblue);
            color: #fff;
            box-shadow: 0 8px 18px rgba(0, 101, 209, 0.22);
        }

        .faq-filters {
            display: flex;
            gap: 7px;
            flex-wrap: wrap;
            margin-bottom: 20px
        }

        .faq-filter {
            display: flex;
            gap: 7px;
            align-items: center;
            border: 1px solid #d6e5f2;
            border-radius: 6px;
            padding: 8px 12px;
            background: #fff;
            color: #47647d;
            font-size: 14px;
            font-weight: 700;
            min-height: 42px
        }

        .faq-filter span {
            font-size: 12px;
            color: #69869e
        }

        .faq-filter[aria-pressed=true] {
            background: var(--sig-deepblue);
            border-color: var(--sig-deepblue);
            color: #fff;
            box-shadow: 0 5px 12px #0065d119
        }

        .faq-filter[aria-pressed=true] span {
            color: #e1efff
        }

        .faq-filter:hover {
            border-color: var(--sig-deepblue)
        }

        .faq-content-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 320px;
            align-items: start;
            gap: 22px;
        }

        .faq-detail-section {
            min-width: 0;
        }

        .faq-page .section-heading {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 18px;
            margin-bottom: 16px;
            padding: 0 2px;
        }

        .faq-page .section-heading span {
            display: block;
            margin-bottom: 6px;
            color: var(--sig-sky);
            font-size: 12px;
            font-weight: 900;
        }

        .faq-page .section-heading h2 {
            margin: 0;
            color: var(--sig-navy);
            font-size: 24px;
            line-height: 1.3;
            font-weight: 900;
            letter-spacing: 0;
        }

        .faq-detail-section .faq-result-count {
            flex: 0 0 auto;
            margin: 0 0 3px;
            color: #7890A6;
            font-size: 13px;
            font-weight: 800;
            display: flex;
            justify-content: end;
            margin-top: -15px;
            margin-right: 5px;
        }

        .faq-detail-section .faq-result-count strong {
            color: var(--sig-deepblue);
        }

        .faq-list {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 14px;
        }

        .faq-row {
            min-width: 0;
            border: 1px solid #E0EDF9;
            border-radius: 8px;
            background: linear-gradient(180deg, #FFFFFF 0%, #FAFDFF 100%);
            box-shadow: 0 8px 22px rgba(1, 65, 136, 0.04);
        }

        .faq-row-toggle {
            display: block;
            border-radius: 8px;
            cursor: pointer;
            list-style: none;
        }

        .faq-row-toggle::-webkit-details-marker {
            display: none;
        }

        .faq-row-toggle:focus-visible {
            outline: 3px solid var(--sig-deepblue);
            outline-offset: -3px;
        }

        .faq-row[open]>.faq-row-toggle .faq-row-arrow {
            transform: rotate(90deg);
        }

        .faq-row-answer {
            margin: 0 18px 18px 61px;
            padding-top: 14px;
            border-top: 1px solid #E0EDF9;
        }

        .faq-page .faq-detail-link {
            display: flex;
            align-items: end;
            justify-content: end;
            gap: 6px;
            margin: 12px 12px 0 0;
            color: var(--sig-deepblue);
            font-size: 13px;
            font-weight: 800;
            text-underline-offset: 3px;
        }

        .faq-detail-link:focus-visible {
            outline: 3px solid var(--sig-deepblue);
            outline-offset: 3px;
        }

        .faq-row[hidden] {
            display: none;
        }

        .faq-row-link {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr) 26px;
            gap: 15px;
            align-items: center;
            margin: 0;
            padding: 18px;
            color: inherit;
            font: inherit;
            text-align: left;
        }

        .faq-row-copy {
            display: grid;
            align-content: start;
            min-width: 0;
        }

        .faq-row-badge {
            justify-self: start;
            min-height: 24px;
            margin-bottom: 8px;
            padding: 2px 9px;
            border-radius: 999px;
            background: var(--faq-soft);
            color: var(--sig-deepblue);
            font-size: 12px;
            font-weight: 900;
        }

        .faq-row-question {
            display: block;
            margin: 0;
            color: #17334F;
            font-size: 18px;
            line-height: 1.35;
            font-weight: 900;
            letter-spacing: 0;
        }

        .faq-row-summary {
            display: block;
            margin: 0;
            color: #627B92;
            font-size: 14px;
            line-height: 1.72;
            word-break: keep-all;
            overflow-wrap: anywhere;
        }

        #faq-list .faq-row-question mark.faq-search-highlight,
        #faq-list .faq-row-answer>.faq-row-summary mark.faq-search-highlight {
            padding: 0;
            border-radius: 2px;
            background: #FFE58A;
            color: inherit;
            font: inherit;
        }

        .faq-row-arrow {
            display: flex;
            justify-content: center;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            background: #EFF7FF;
            color: var(--sig-deepblue);
            font-size: 22px;
            font-weight: 900;
            line-height: 1;
            transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
        }

        .faq-row-toggle:hover .faq-row-arrow,
        .faq-row-toggle:focus-visible .faq-row-arrow {
            background: var(--sig-deepblue);
            color: #fff;
        }

        .faq-page .empty-result {
            margin: 16px 0 0;
            padding: 18px;
            border: 1px solid #DCEBFA;
            border-radius: 8px;
            background: var(--faq-soft);
            color: var(--faq-muted);
            font-size: 14px;
            font-weight: 800;
        }

        .faq-sidebar {
            display: grid;
            gap: 14px;
            position: sticky;
            top: 88px;
        }

        .faq-page .side-card {
            padding: 12px 15px 18px 18px;
            border: 1px solid rgba(0, 101, 209, 0.09);
            border-radius: 8px;
            background: var(--faq-card);
            box-shadow: 0 10px 26px rgba(1, 65, 136, 0.05);
        }

        .faq-page .company-card {
            border-color: rgba(0, 158, 218, 0.22);
            background:
                linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(241, 248, 255, 0.96) 100%);
            box-shadow: 0 16px 34px rgba(1, 65, 136, 0.09);
            max-height: 815px;
            /* overflow-y: scroll;
            overflow-x: hidden;
            scrollbar-width: thin;
            scrollbar-color: #b9d9f4 transparent; */
        }

        .faq-page .side-title {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 14px;
        }

        .faq-page .side-title span {
            display: block;
            margin-bottom: 4px;
            color: var(--sig-sky);
            font-size: 12px;
            font-weight: 900;
        }

        .faq-page .side-title h2 {
            margin: 0;
            color: var(--sig-navy);
            font-size: 17px;
            line-height: 1.32;
            font-weight: 900;
            letter-spacing: 0;
        }

        .faq-page .side-title>a {
            flex: 0 0 auto;
            margin-top: 3px;
            color: #7890A6;
            font-size: 12px;
            font-weight: 900;
        }

        .faq-page .side-title>a:hover,
        .faq-page .side-title>a:focus {
            color: var(--sig-deepblue);
        }

        .faq-page .mini-board ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .faq-page .safety-link-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .faq-page .safety-link-grid a {
            display: inline-flex;
            align-items: center;
            min-height: 34px;
            padding: 0 11px;
            border: 1px solid #D7E8F8;
            border-radius: 999px;
            background: #F7FBFF;
            color: #466784;
            font-size: 12px;
            font-weight: 900;
        }

        .faq-page .safety-link-grid a:hover,
        .faq-page .safety-link-grid a:focus {
            border-color: var(--sig-deepblue);
            background: var(--sig-deepblue);
            color: #fff;
        }

        .faq-page .mini-board li {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 54px;
            gap: 10px;
            align-items: center;
            min-height: 30px;
        }

        .faq-page .mini-board a {
            overflow: hidden;
            color: #687D92;
            font-size: 12px;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        .faq-page .mini-board time {
            color: #91A4B7;
            font-size: 12px;
            text-align: right;
        }

        .faq-page .mini-board a:hover,
        .faq-page .mini-board a:focus {
            color: var(--sig-deepblue);
        }

        @media (max-width: 1120px) {

            .faq-hero-panel,
            .faq-content-layout {
                grid-template-columns: 1fr;
            }

            .faq-sidebar {
                position: static;
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .faq-page .company-card {
                grid-column: 1 / -1;
            }
        }

        @media (max-width: 780px) {
            .faq-page {
                width: min(100% - 22px, 1180px);
                padding-top: 18px;
            }

            .faq-hero-panel {
                padding: 24px 18px 18px;
                gap: 12px;
            }

            .faq-hero-copy h1 {
                font-size: 30px;
            }

            .faq-hero-meta {
                margin-top: 12px;
            }

            .faq-hero-lead {
                font-size: 14px;
            }

            .faq-list,
            .faq-sidebar {
                grid-template-columns: 1fr;
            }

            .faq-page .section-heading {
                align-items: flex-start;
                flex-direction: column;
                gap: 8px;
            }

            .faq-row-link {
                grid-template-columns: 28px minmax(0, 1fr) 24px;
                min-height: 0;
                gap: 2px;
                padding: 16px 14px;
            }

            .faq-row-arrow {
                position: static;
                width: 30px;
                height: 30px;
                margin-top: 2px;
            }

            .faq-row-question {
                font-size: 17px;
            }

        }

        @media (max-width: 500px) {
            .faq-hero-panel {
                padding: 22px 16px 16px;
            }

            .faq-finder-panel,
            .faq-page .side-card {
                padding: 16px;
            }

            .faq-row-badge {
                margin-bottom: 7px;
            }

            .faq-row-question {
                font-size: 16px;
                line-height: 1.34;
            }

        }

        /* FAQ-specific layout only. Source spacing and breakpoints remain above. */
        .faq-page [hidden] {
            display: none !important;
        }

        .faq-page .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }



        .faq-row-letter {
            color: var(--sig-deepblue);
            font-size: 22px;
            font-weight: 900;
        }



        .faq-page .faq-filter:focus-visible {
            outline: 3px solid var(--sig-deepblue);
            outline-offset: -3px;
        }

        .faq-page .side-title h2 {
            margin: 0;
        }

        .faq-page .faq-side-description {
            margin: 0 0 14px;
            color: #526D86;
            font-size: 14px;
            line-height: 1.84;
        }

        @media(max-width:780px) {
            .faq-row-answer {
                margin: 0 14px 16px 44px;
            }
        }

        @media(max-width:500px) {
            .faq-row-link {
                grid-template-columns: 28px minmax(0, 1fr) 30px;
            }
        }

        @media(prefers-reduced-motion:reduce) {

            .faq-page *,
            .faq-page *::before,
            .faq-page *::after {
                transition: none !important;
            }

        }

        /* Search clear control stays inside the input field. */
        .faq-search-field {
            position: relative;
        }

        .faq-search-box input {
            padding-right: 44px;
        }

        .faq-search-clear {
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translateY(-50%);
            border: 0;
            background: transparent;
            color: #526D86;
            font-size: 22px;
            line-height: 1;
            padding: 4px 6px;
            cursor: pointer;
        }

        .faq-page .empty-result button {
            border: 0;
            background: transparent;
            color: var(--sig-deepblue);
            padding: 0;
            font: inherit;
            font-size: 13px;
            cursor: pointer;
        }