/*------------------------------------------------------
· ICTK Ver 1.0
· Type : contents.css
· Author : Albatrosss Pictures Kim Hyun Gyu
· Data : 2026.02.24
· Copyright @ 2026 ICTK all rights reserved
---------------------------------------------------------
· SUMMARY:
0) Responsive Area
1) Company - Overview
2) Company - Safe With Us
3) Company - CEO
4) Company - PUF Technology
5) Company - Vision
6) Company - History
7) Technology - Overview
8) Technology - Why Quantum
9) Technology - Solution
10) Technology - Chain of Trust
11) Technology - Products
12) VIA PUF - Overview
13) VIA PUF - PUF 조건
14) VIA PUF - Why VIA PUF
15) VIA PUF - 보안칩 구성
16) VIA PUF - 적용 제품
17) Security IP - Overview
18) Security IP - Features
19) Security IP - Guide
20) Security IP - Algorithms
21) Security Chips - Product Tabs
22) Security Chips - Product Card
23) Security Chips - eSIM/USIM
24) Security Chips - Comparison Table
25) Security Chips - Hardware Security
26) Security Chips - Detail Features
27) Security Modules - Overview
28) Security Modules - Products
29) Security Modules - Features
30) Security Modules - Applications
31) Security Solutions - Tabs
32) Security Solutions - Section Title
33) Security Solutions - qTrustNet (Diagram, Why, UI, Features, Models)
34) Security Solutions - PQC Services (KMS, WhyKMS, Usecases, CA, WhyCA)
---------------------------------------------------------*/

@charset "utf-8";

/* #################################### 01.Company - Overview #################################### */
.ictk-company-wrap {
    width: 100%;
    background: var(--base-color-white);
}

.ictk-company-overview-wrap {
    width: 100%;
    padding: var(--company-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-company-overview-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-company-overview-title {
    font-size: var(--company-title-size);
    font-weight: var(--company-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-company-overview-title span {
    color: var(--point-color);
}

.ictk-company-overview-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--company-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.8;
}


/* #################################### 02.Company - Safe With Us #################################### */
.ictk-company-safewithus-wrap {
    width: 100%;
    padding: var(--company-section-padding-y) 0;
    background: var(--base-color-darkGrey);
}

.ictk-company-safewithus-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-company-safewithus-title {
    font-size: var(--company-title-size);
    font-weight: var(--company-title-weight);
    color: var(--base-color-white);
    line-height: 1.3;
}

.ictk-company-safewithus-title em {
    font-style: normal;
    color: var(--point-color);
}

.ictk-company-safewithus-subtitle {
    margin-top: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: var(--company-desc-size);
    font-weight: 300;
    color: var(--base-color-lightGrey);
}

.ictk-company-safewithus-key {
    margin-top: clamp(1.5rem, 2.0833vw, 2.5rem);
    font-size: var(--company-desc-size);
    font-weight: 300;
    color: var(--base-color-white);
}

.ictk-company-safewithus-key strong {
    font-weight: 700;
    color: var(--point-color);
}

.ictk-company-safewithus-key span {
    font-weight: 700;
    color: var(--point-color);
}

.ictk-company-safewithus-safe {
    margin-top: clamp(0.5rem, 0.7292vw, 0.875rem);
    font-size: var(--company-desc-size);
    font-weight: 300;
    color: var(--base-color-lightGrey);
}

.ictk-company-safewithus-quote {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: clamp(2rem, 3.125vw, 3.75rem);
    padding: clamp(1.25rem, 2.0833vw, 2.5rem) clamp(2.5rem, 4.1667vw, 5rem);
    background: var(--point-color);
}

.ictk-company-safewithus-quote p {
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: var(--base-color-white);
    line-height: 1.8;
    text-align: center;
}


/* #################################### 03.Company - CEO #################################### */
.ictk-company-ceo-wrap {
    width: 100%;
    padding: var(--company-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-company-ceo-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-company-ceo-quote {
    font-size: var(--company-ceo-quote-size);
    font-weight: 400;
    color: #333;
    line-height: 1.8;
    font-style: normal;
}

.ictk-company-ceo-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
    margin-top: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-company-ceo-position {
    font-size: var(--company-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
}

.ictk-company-ceo-sign {
    height: clamp(1.25rem, 1.5625vw, 1.875rem);
    width: auto;
}


/* #################################### 04.Company - PUF Technology #################################### */
.ictk-company-puf-wrap {
    width: 100%;
    padding: var(--company-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-company-puf-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 4.1667vw, 5rem);
    width: var(--contents-wrap-width);
    margin: 0 auto;
    align-items: center;
}

.ictk-company-puf-title {
    font-size: var(--company-title-size);
    font-weight: var(--company-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-company-puf-title span {
    color: var(--point-color);
}

.ictk-company-puf-desc {
    margin-top: clamp(1.25rem, 1.5625vw, 1.875rem);
    font-size: var(--company-desc-size);
    font-weight: 400;
    color: #333;
    line-height: 1.8;
}

.ictk-company-puf-sub {
    margin-top: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    font-weight: 300;
    color: var(--color-grey-light);
    line-height: 1.8;
}

.ictk-company-puf-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.ictk-company-puf-media iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: none;
}


/* #################################### 05.Company - Vision #################################### */
.ictk-company-vision-wrap {
    position: relative;
    width: 100%;
    background: var(--base-color-white);
    z-index: 1;
}

.ictk-company-vision-header {
    padding: var(--company-section-padding-y) 0 clamp(2rem, 3.125vw, 3.75rem);
    text-align: center;
}

.ictk-company-vision-title {
    font-size: var(--company-title-size);
    font-weight: var(--company-title-weight);
    color: var(--base-color-black);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ictk-company-vision-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: var(--contents-wrap-width);
    margin: 0 auto;
    overflow: hidden;
}

.ictk-company-vision-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: var(--company-vision-card-height);
    overflow: hidden;
}

.ictk-company-vision-card img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ictk-company-vision-card-screen {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
}

.ictk-company-vision-card-content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.ictk-company-vision-card-name {
    font-size: clamp(1.5rem, 2.0833vw, 2.5rem);
    font-weight: 700;
    color: var(--base-color-white);
    letter-spacing: 0.02em;
}

.ictk-company-vision-card-desc {
    margin-top: clamp(0.375rem, 0.5208vw, 0.625rem);
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    font-weight: 300;
    color: var(--base-color-lightGrey);
}

.ictk-company-vision-footer {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    padding: clamp(2.5rem, 3.6458vw, 4.375rem) 0;
    background: var(--base-color-darkGrey);
    text-align: center;
}

.ictk-company-vision-footer-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 0.7292vw, 0.875rem);
    align-items: center;
}

.ictk-company-vision-footer-list li {
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    font-weight: 300;
    color: var(--base-color-lightGrey);
    line-height: 1.6;
}

.ictk-company-vision-footer-list li::before {
    content: '· ';
}


/* #################################### 06.Company - History #################################### */
.ictk-company-history-wrap {
    width: 100%;
    padding: var(--company-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-company-history-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

/* Header + Slider Top Row */
.ictk-company-history-top {
    display: flex;
    align-items: stretch;
    gap: clamp(3rem, 4.6875vw, 5.625rem);
    margin-bottom: clamp(2.5rem, 4.1667vw, 5rem);
    overflow: hidden;
}

/* Header - KMAC Style */
.ictk-company-history-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 3px solid var(--point-color);
    padding-left: clamp(1.5rem, 2.0833vw, 2.5rem);
    flex-shrink: 0;
}

.ictk-company-history-subtitle {
    font-size: var(--company-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.6;
}

.ictk-company-history-title {
    margin-top: clamp(0.5rem, 0.7292vw, 0.875rem);
    font-size: var(--company-title-size);
    font-weight: var(--company-title-weight);
    color: var(--base-color-black);
    line-height: 1.1;
}

/* Image Slider */
.ictk-company-history-slider {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.ictk-company-history-slider-track {
    display: flex;
    gap: clamp(0.5rem, 0.7292vw, 0.875rem);
    animation: historySlide 30s linear infinite;
    width: max-content;
}

.ictk-company-history-slider-track img {
    height: clamp(6rem, 9.375vw, 11.25rem);
    width: auto;
    object-fit: cover;
    flex-shrink: 0;
}

@keyframes historySlide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Tabs - Full Width + Sliding Indicator */
.ictk-company-history-tabs {
    position: relative;
    display: flex;
    justify-content: flex-start;
    margin-bottom: clamp(2.5rem, 4.1667vw, 5rem);
}

.ictk-company-history-tabs::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: #ddd;
    z-index: 1;
}

.ictk-company-history-tabs::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: var(--ind-left, 0);
    width: var(--ind-width, 0);
    height: 1px;
    background: var(--point-color);
    pointer-events: none;
    z-index: 2;
    transition: left 0.45s cubic-bezier(0.4, 0, 0.2, 1),
                width 0.38s cubic-bezier(0.4, 0, 0.2, 1);
}

.ictk-company-history-tab {
    position: relative;
    flex: 1;
    padding: clamp(0.875rem, 1.25vw, 1.5rem) 0;
    font-size: clamp(0.9375rem, 1.0417vw, 1.25rem);
    font-weight: 400;
    color: #bbb;
    background: none;
    cursor: pointer;
    transition: color 0.3s ease, background 0.3s ease;
    white-space: nowrap;
    text-align: center;
}

.ictk-company-history-tab.active {
    color: var(--point-color);
    font-weight: 500;
}

@media (hover: hover) {
    .ictk-company-history-tab:hover:not(.active) {
        color: var(--color-grey-mid);
        background: rgba(0, 190, 181, 0.04);
    }
}

/* Content */
.ictk-company-history-content {
    width: 100%;
}

/* Panels - Fade Crossover */
.ictk-company-history-panels {
    position: relative;
    margin-top: clamp(2.5rem, 4.1667vw, 5rem);
}

.ictk-company-history-panel {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
}

.ictk-company-history-panel.active {
    position: relative;
    opacity: 1;
    visibility: visible;
}

/* Period Description */
.ictk-company-history-period-desc {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: clamp(1.25rem, 1.5625vw, 1.875rem) clamp(2rem, 3.125vw, 3.75rem);
    margin-bottom: clamp(2.5rem, 4.1667vw, 5rem);
    background: #f8f8f8;
}

.ictk-company-history-period-desc p {
    font-size: var(--company-desc-size);
    font-weight: 400;
    color: #333;
    line-height: 1.8;
}

/* Year Items */
.ictk-company-history-item {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: clamp(5rem, 10.4167vw, 12.5rem) 1fr;
    gap: clamp(1.5rem, 2.5vw, 3rem);
    padding: clamp(1.5rem, 2.5vw, 3rem) 0;
    border-bottom: 1px solid #eee;
}

.ictk-company-history-item:last-child {
    border-bottom: none;
}

.ictk-company-history-year-col {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-left: clamp(0.5rem, 0.8333vw, 1rem);
}

.ictk-company-history-year {
    font-size: var(--company-history-year-size);
    font-weight: 700;
    color: var(--point-color);
    line-height: 1;
}

.ictk-company-history-events-col {
    border-left: 1px solid #ddd;
    padding-left: clamp(1.5rem, 2.5vw, 3rem);
}

.ictk-company-history-events {
    display: flex;
    flex-direction: column;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-company-history-events li {
    font-size: var(--company-history-item-size);
    font-weight: 300;
    color: #333;
    line-height: 1.6;
    padding-left: clamp(0.75rem, 0.8333vw, 1rem);
    position: relative;
}

.ictk-company-history-events li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--point-color);
    font-weight: 700;
}

.ictk-company-history-sub {
    display: block;
    margin-top: clamp(0.125rem, 0.2083vw, 0.25rem);
    padding-left: clamp(0.5rem, 0.625vw, 0.75rem);
    font-size: clamp(0.8125rem, 0.7813vw, 0.9375rem);
    color: var(--color-grey-mid);
}



/* **************************************************************
    0) Responsive Area
************************************************************** */

/* 모션 감소 설정 */
@media (prefers-reduced-motion: reduce) {
    .ictk-company-history-slider-track {
        animation: none;
    }

    .ictk-company-history-panel {
        transition: none;
    }

    .ictk-company-history-tabs::after {
        transition: none;
    }
}

/* Tablet — 구조 전환 (PUF 1컬럼, History 슬라이더 축소) */
@media all and (max-width: 1024px) {
    .ictk-company-puf-inner {
        grid-template-columns: 1fr;
    }

    .ictk-company-puf-media {
        max-width: 100%;
    }

    .ictk-company-history-top {
        gap: clamp(1.5rem, 3vw, 2.5rem);
    }

    .ictk-company-history-slider-track img {
        height: clamp(5rem, 8vw, 8rem);
    }
}

/* Mobile — 핵심 레이아웃 전환 */
@media all and (max-width: 768px) {
    /* Overview — br 줄바꿈 해제 */
    .ictk-company-overview-desc br,
    .ictk-company-ceo-quote br,
    .ictk-company-safewithus-quote p br,
    .ictk-company-history-period-desc p br,
    .ictk-company-history-subtitle br {
        display: none;
    }

    /* Safe With Us — 인용 박스 */
    .ictk-company-safewithus-quote {
        padding: clamp(1rem, 4vw, 1.5rem) clamp(1.25rem, 4vw, 1.5rem);
    }

    /* Vision — 3컬럼 → 1컬럼 */
    .ictk-company-vision-cards {
        grid-template-columns: 1fr;
    }

    .ictk-company-vision-card {
        height: clamp(10rem, 40vw, 15rem);
    }

    .ictk-company-vision-footer {
        padding: clamp(1.5rem, 4vw, 2rem) clamp(1rem, 3vw, 1.5rem);
    }

    /* History — 슬라이더 + 타이틀 세로 배치 */
    .ictk-company-history-top {
        flex-direction: column;
        align-items: flex-start;
        gap: clamp(1.25rem, 3vw, 1.75rem);
    }

    .ictk-company-history-slider {
        width: 100%;
    }

    .ictk-company-history-slider-track img {
        height: clamp(4rem, 12vw, 6rem);
    }

    /* History — 탭 */
    .ictk-company-history-tab {
        padding: clamp(0.625rem, 2vw, 0.875rem) 0;
        font-size: clamp(0.8125rem, 2.5vw, 0.9375rem);
    }

    /* History — 연도/이벤트 1컬럼 */
    .ictk-company-history-item {
        grid-template-columns: 1fr;
        gap: clamp(0.5rem, 1.5vw, 0.75rem);
    }

    .ictk-company-history-events-col {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid #eee;
        padding-top: clamp(0.75rem, 2vw, 1rem);
    }

    .ictk-company-history-year-col {
        padding-left: 0;
    }

    /* Period Description — 풀와이드 */
    .ictk-company-history-period-desc {
        padding: clamp(1rem, 3vw, 1.25rem) clamp(1rem, 3vw, 1.5rem);
    }
}

/* Small Mobile — 극소 화면 보정 (320px~) */
@media all and (max-width: 480px) {
    .ictk-company-safewithus-key strong,
    .ictk-company-safewithus-key span {
        display: block;
    }

    .ictk-company-ceo-info {
        flex-direction: column;
        gap: clamp(0.375rem, 1.5vw, 0.5rem);
    }

    .ictk-company-history-tab {
        font-size: clamp(0.75rem, 3vw, 0.875rem);
    }
}


/* ############################################################################################
   Quantum Technology Page
############################################################################################ */

/* #################################### 01.Technology - Overview #################################### */
.ictk-technology-wrap {
    width: 100%;
    background: var(--base-color-white);
}

.ictk-technology-overview-wrap {
    width: 100%;
    padding: var(--technology-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-technology-overview-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 4.1667vw, 5rem);
    width: var(--contents-wrap-width);
    margin: 0 auto;
    align-items: center;
}


.ictk-technology-overview-title {
    font-size: var(--technology-title-size);
    font-weight: var(--technology-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-technology-overview-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--technology-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.8;
}

.ictk-technology-overview-media {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.ictk-technology-overview-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ictk-technology-overview-terminal {
    position: absolute;
    bottom: clamp(0.75rem, 1.5625vw, 1.875rem);
    right: clamp(0.75rem, 1.5625vw, 1.875rem);
    background: rgba(0, 0, 0, 0.85);
    padding: clamp(0.75rem, 1.25vw, 1.5rem);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.ictk-technology-overview-terminal-head {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.5);
    line-height: 2;
    white-space: nowrap;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: clamp(0.25rem, 0.3646vw, 0.4375rem);
    margin-bottom: clamp(0.25rem, 0.3646vw, 0.4375rem);
}

.ictk-technology-overview-terminal-line {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
    line-height: 2;
    white-space: nowrap;
}

.terminal-prompt { color: var(--point-color); }
.terminal-yellow { color: #f0c040; font-weight: 600; }
.terminal-red { color: #e04040; font-weight: 600; }
.terminal-cyan { color: var(--point-color); font-weight: 600; }


/* #################################### 02.Technology - Why Quantum #################################### */
.ictk-technology-why-wrap {
    width: 100%;
    padding: var(--technology-section-padding-y) 0;
    background: var(--color-bg-light);
}

.ictk-technology-why-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-technology-why-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(2rem, 4.1667vw, 5rem);
    margin-bottom: clamp(2.5rem, 4.1667vw, 5rem);
}

.ictk-technology-why-header-title {
    font-size: var(--technology-title-size);
    font-weight: 800;
    color: var(--base-color-black);
    line-height: 1.2;
    white-space: nowrap;
}

.ictk-technology-why-header-title span {
    color: var(--point-color);
}

.ictk-technology-why-header-subtitle {
    font-size: clamp(1.125rem, 1.5625vw, 1.875rem);
    font-weight: 700;
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-technology-why-header-desc {
    margin-top: clamp(0.5rem, 0.7292vw, 0.875rem);
    font-size: var(--technology-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.8;
}

.ictk-technology-why-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--technology-card-gap);
}

.ictk-technology-why-card {
    background: var(--base-color-white);
    padding: var(--technology-card-padding);
}

.ictk-technology-why-card-icon {
    width: clamp(2.5rem, 3.125vw, 3.75rem);
    height: clamp(2.5rem, 3.125vw, 3.75rem);
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
    background: var(--point-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-technology-why-card-icon img {
    width: 55%;
    height: 55%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.ictk-technology-why-card-category {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: var(--color-grey-muted);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ictk-technology-why-card-title {
    margin-top: clamp(0.25rem, 0.3646vw, 0.4375rem);
    font-size: clamp(1.125rem, 1.25vw, 1.5rem);
    font-weight: 700;
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-technology-why-card-list {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    display: flex;
    flex-direction: column;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-technology-why-card-list li {
    position: relative;
    padding-left: clamp(0.75rem, 0.8333vw, 1rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: var(--color-grey-dark);
    line-height: 1.6;
}

.ictk-technology-why-card-list li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--point-color);
    font-weight: 700;
}


/* #################################### 03.Technology - ICTK Solution #################################### */
.ictk-technology-solution-wrap {
    width: 100%;
    padding: var(--technology-section-padding-y) 0;
    background: var(--base-color-darkGrey);
}

.ictk-technology-solution-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-technology-solution-subtitle {
    font-size: var(--technology-subtitle-size);
    font-weight: 300;
    color: var(--point-color);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ictk-technology-solution-title {
    margin-top: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: var(--technology-title-size);
    font-weight: var(--technology-title-weight);
    color: var(--base-color-white);
    line-height: 1.3;
}

.ictk-technology-solution-title span {
    color: var(--point-color);
}

.ictk-technology-solution-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--technology-desc-size);
    font-weight: 300;
    color: var(--base-color-lightGrey);
    line-height: 1.8;
}

.ictk-technology-solution-desc strong {
    font-weight: 600;
    color: var(--base-color-white);
}

/* Triangle Diagram */
.ictk-technology-solution-diagram {
    position: relative;
    width: 100%;
    max-width: clamp(35rem, 50vw, 60rem);
    aspect-ratio: 600 / 380;
    margin: clamp(3rem, 5.2083vw, 6.25rem) auto;
}

.ictk-technology-solution-diagram::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(0, 190, 181, 0.12) 0%, rgba(0, 190, 181, 0) 70%);
    z-index: 0;
    animation: diagramGlow 3s ease-in-out infinite;
}

@keyframes diagramGlow {
    0%, 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.9); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
}

.ictk-technology-solution-svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

/* 라인 초기 상태: JS에서 getTotalLength로 dasharray 설정 */

.ictk-technology-solution-node {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
    z-index: 1;
    opacity: 0;
}

.ictk-technology-solution-node-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.125rem, 0.2083vw, 0.25rem);
    padding: clamp(0.875rem, 1.25vw, 1.5rem) clamp(2rem, 4.1667vw, 5rem);
    background: #2d2c2d;
}

.ictk-technology-solution-node-box strong {
    font-size: clamp(1rem, 1.25vw, 1.5rem);
    font-weight: 700;
    color: var(--base-color-white);
}

.ictk-technology-solution-node-box span {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 300;
    color: var(--base-color-lightGrey);
}

.ictk-technology-solution-node-box.point {
    background: var(--point-color);
    border-color: var(--point-color);
}

.ictk-technology-solution-node-box.point span {
    color: rgba(255, 255, 255, 0.8);
}

.ictk-technology-solution-node-desc {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
    text-align: center;
}

/* Node Positions */
.ictk-technology-solution-node-pqc {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.ictk-technology-solution-node-rootkey {
    top: 55%;
    left: 0;
}

.ictk-technology-solution-node-secure {
    top: 55%;
    right: 0;
}

.ictk-technology-solution-node-puf {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.ictk-technology-solution-node-icon {
    position: relative;
    width: clamp(3.5rem, 4.6875vw, 5.625rem);
    height: clamp(3.5rem, 4.6875vw, 5.625rem);
    background: #252425;
    border: 1px solid rgba(0, 190, 181, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-technology-solution-node-icon img {
    width: 55%;
    height: 55%;
    object-fit: contain;
}

.ictk-technology-solution-node-puf.glow-active .ictk-technology-solution-node-icon {
    animation: pufGlow 2s ease-in-out infinite;
}

@keyframes dashFlow {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: -10; }
}

.ictk-technology-solution-line.dash-flowing {
    animation: dashFlow 0.8s linear infinite;
}

@keyframes pufGlow {
    0%, 100% {
        border-color: rgba(0, 190, 181, 0.25);
        box-shadow: 0 0 clamp(0.5rem, 0.7292vw, 0.875rem) rgba(0, 190, 181, 0.2),
                    0 0 clamp(1.5rem, 2.0833vw, 2.5rem) rgba(0, 190, 181, 0.08);
    }
    50% {
        border-color: rgba(0, 190, 181, 0.6);
        box-shadow: 0 0 clamp(1rem, 1.25vw, 1.5rem) rgba(0, 190, 181, 0.5),
                    0 0 clamp(2.5rem, 3.125vw, 3.75rem) rgba(0, 190, 181, 0.15);
    }
}

.ictk-technology-solution-puf-label {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: var(--point-color);
    letter-spacing: 0.02em;
    padding: clamp(0.25rem, 0.3646vw, 0.4375rem) clamp(0.75rem, 1.0417vw, 1.25rem);
    border: 1px solid rgba(0, 190, 181, 0.3);
}

/* Detail Cards */
.ictk-technology-solution-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--technology-card-gap);
    text-align: left;
}

.ictk-technology-solution-card {
    padding: var(--technology-card-padding);
    background: rgba(255, 255, 255, 0.04);
}

.ictk-technology-solution-card-icon {
    width: clamp(2.25rem, 2.6042vw, 3.125rem);
    height: clamp(2.25rem, 2.6042vw, 3.125rem);
    margin-bottom: clamp(1rem, 1.25vw, 1.5rem);
    background: #1e1d1e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-technology-solution-card-icon img {
    width: 55%;
    height: 55%;
    object-fit: contain;
}

.ictk-technology-solution-card-name {
    font-size: clamp(1.125rem, 1.25vw, 1.5rem);
    font-weight: 700;
    color: var(--base-color-white);
}

.ictk-technology-solution-card-subtitle {
    margin-top: clamp(0.125rem, 0.2083vw, 0.25rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 400;
    color: var(--point-color);
}

.ictk-technology-solution-card-desc {
    margin-top: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: var(--base-color-lightGrey);
    line-height: 1.6;
}

.ictk-technology-solution-card-list {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    display: flex;
    flex-direction: column;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-technology-solution-card-list li {
    position: relative;
    padding-left: clamp(0.75rem, 0.8333vw, 1rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: var(--base-color-lightGrey);
    line-height: 1.6;
}

.ictk-technology-solution-card-list li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--point-color);
    font-weight: 700;
}


/* #################################### 04.Technology - Chain of Trust #################################### */
.ictk-technology-chain-wrap {
    width: 100%;
    padding: var(--technology-section-padding-y) 0;
    background: var(--color-bg-light);
}

.ictk-technology-chain-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-technology-chain-title {
    font-size: var(--technology-title-size);
    font-weight: var(--technology-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-technology-chain-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--technology-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.8;
}

.ictk-technology-chain-desc span {
    color: var(--point-color);
    font-weight: 500;
}

.ictk-technology-chain-desc strong {
    font-weight: 600;
    color: var(--base-color-black);
}

.ictk-technology-chain-diagram {
    position: relative;
    margin-top: clamp(3rem, 5.2083vw, 6.25rem);
}

.ictk-technology-chain-line {
    position: absolute;
    top: clamp(1.75rem, 2.6042vw, 3.125rem);
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, #00BEB5, #4A7BF7, #A855F7);
    z-index: 0;
    transform: scaleX(0);
    transform-origin: left center;
}

.ictk-technology-chain-items {
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 1;
}

.ictk-technology-chain-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
    opacity: 0;
    flex: 1;
}

.ictk-technology-chain-item-circle {
    position: relative;
    width: clamp(3.5rem, 5.2083vw, 6.25rem);
    height: clamp(3.5rem, 5.2083vw, 6.25rem);
    background: #e0e0e0;
    clip-path: circle(50%);
    flex-shrink: 0;
}

.ictk-technology-chain-item-circle::before {
    content: '';
    position: absolute;
    inset: 2px;
    background: var(--base-color-white);
    clip-path: circle(50%);
    z-index: 0;
}

.ictk-technology-chain-item-circle img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 30%;
    object-fit: contain;
}

.ictk-technology-chain-item.active .ictk-technology-chain-item-circle {
    background: var(--point-color);
}

.ictk-technology-chain-item-name {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    color: var(--base-color-black);
}

.ictk-technology-chain-item.active .ictk-technology-chain-item-name {
    color: var(--point-color);
}

.ictk-technology-chain-item-sub {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 300;
    color: var(--color-grey-light);
    margin-top: clamp(-0.375rem, -0.2083vw, -0.1875rem);
}


/* #################################### 05.Technology - Products #################################### */
.ictk-technology-products-wrap {
    width: 100%;
    padding: var(--technology-section-padding-y) 0;
    background: var(--base-color-darkGrey);
}

.ictk-technology-products-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-technology-products-subtitle {
    font-size: var(--technology-subtitle-size);
    font-weight: 400;
    color: var(--point-color);
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.ictk-technology-products-title {
    margin-top: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: var(--technology-title-size);
    font-weight: var(--technology-title-weight);
    color: var(--base-color-white);
    line-height: 1.3;
}

.ictk-technology-products-title span {
    color: var(--point-color);
}

.ictk-technology-products-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--technology-desc-size);
    font-weight: 300;
    color: var(--base-color-lightGrey);
    line-height: 1.8;
}

.ictk-technology-products-cards {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    margin-top: clamp(3rem, 5.2083vw, 6.25rem);
}

.ictk-technology-products-card {
    flex: 1;
    padding: var(--technology-card-padding);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-align: left;
}

.ictk-technology-products-card-icon {
    width: clamp(2.25rem, 2.6042vw, 3.125rem);
    height: clamp(2.25rem, 2.6042vw, 3.125rem);
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
    background: #1e1d1e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-technology-products-card-icon img {
    width: 55%;
    height: 55%;
    object-fit: contain;
    filter: brightness(0) invert(1) opacity(0.7);
}

.ictk-technology-products-card-title {
    font-size: clamp(1rem, 1.25vw, 1.5rem);
    font-weight: 700;
    color: var(--base-color-white);
}

.ictk-technology-products-card-desc {
    margin-top: clamp(0.5rem, 0.7292vw, 0.875rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: var(--base-color-lightGrey);
    line-height: 1.6;
}

.ictk-technology-products-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(3rem, 4.1667vw, 5rem);
    flex-shrink: 0;
    opacity: 0;
}

.ictk-technology-products-separator svg {
    width: clamp(1.75rem, 2.0833vw, 2.5rem);
    height: clamp(1.75rem, 2.0833vw, 2.5rem);
}




/* **************************************************************
    Technology - Responsive Area
************************************************************** */

@media (prefers-reduced-motion: reduce) {
    .ictk-technology-solution-line {
        stroke-dasharray: 6 4 !important;
        stroke-dashoffset: 0 !important;
    }
    .ictk-technology-chain-line {
        transform: scaleX(1) !important;
    }
    .ictk-technology-solution-node,
    .ictk-technology-chain-item {
        opacity: 1;
    }
    .ictk-technology-solution-node-puf .ictk-technology-solution-node-icon {
        box-shadow: 0 0 0.625rem rgba(0, 190, 181, 0.3);
        border-color: rgba(0, 190, 181, 0.4);
    }
    .ictk-technology-solution-diagram::before {
        animation: none;
        opacity: 0.5;
    }
    .ictk-technology-solution-line.dash-flowing {
        animation: none;
    }
    .ictk-technology-products-card {
        opacity: 1 !important;
        transform: none !important;
    }
    .ictk-technology-products-separator {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Tablet */
@media all and (max-width: 1024px) {
    .ictk-technology-overview-inner {
        grid-template-columns: 1fr;
    }

    .ictk-technology-overview-text {
        padding-bottom: clamp(2rem, 4vw, 3rem);
    }

    .ictk-technology-overview-media img {
        max-height: 28rem;
        object-fit: cover;
    }

    .ictk-technology-why-header {
        flex-direction: column;
        gap: clamp(1rem, 2vw, 1.5rem);
    }

    .ictk-technology-solution-cards {
        grid-template-columns: 1fr;
    }

    .ictk-technology-chain-items {
        flex-direction: column;
        align-items: center;
        gap: clamp(2rem, 4vw, 3rem);
    }

    .ictk-technology-chain-line {
        display: none;
    }

    .ictk-technology-chain-item {
        opacity: 1;
        max-width: 20rem;
    }

    .ictk-technology-products-cards {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--technology-card-gap);
    }

    .ictk-technology-products-card {
        flex: unset;
    }

    .ictk-technology-products-separator {
        display: none;
    }
}

/* Mobile */
@media all and (max-width: 768px) {
    .ictk-technology-overview-desc br,
    .ictk-technology-why-header-desc br,
    .ictk-technology-solution-desc br,
    .ictk-technology-solution-node-desc br,
    .ictk-technology-solution-card-desc br,
    .ictk-technology-chain-desc br,
    .ictk-technology-products-desc br,
    .ictk-technology-why-cards {
        grid-template-columns: 1fr;
    }

    .ictk-technology-products-cards {
        grid-template-columns: 1fr;
    }

    .ictk-technology-overview-terminal {
        position: relative;
        bottom: auto;
        right: auto;
        margin-top: -1px;
    }

    .ictk-technology-overview-media img {
        max-height: 22rem;
    }
}

/* Diagram Stack + Small Mobile */
@media all and (max-width: 640px) {
    /* 다이어그램: absolute → 세로 스택 전환 (노드 겹침 방지) */
    .ictk-technology-solution-diagram {
        aspect-ratio: unset;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(1.5rem, 4vw, 2rem);
    }

    .ictk-technology-solution-diagram::before {
        display: none;
    }

    .ictk-technology-solution-svg {
        display: none;
    }

    .ictk-technology-solution-node {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .ictk-technology-solution-node-box {
        padding: clamp(0.75rem, 2vw, 1rem) clamp(1.5rem, 4vw, 2rem);
    }

    .ictk-technology-solution-node-desc {
        display: none;
    }

    .ictk-technology-solution-node-puf {
        order: 4;
    }
}

/* Small Mobile */
@media all and (max-width: 480px) {
    .ictk-technology-why-header-title {
        white-space: normal;
    }
}


/* ################################################################################################ */
/* ######################################  VIA PUF PAGE  ########################################## */
/* ################################################################################################ */

/* #################################### 01.VIA PUF - Overview #################################### */
.ictk-via_puf-overview-wrap {
    width: 100%;
    padding: var(--via-puf-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-via_puf-overview-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2.5rem, 5.2083vw, 6.25rem);
    align-items: center;
}

.ictk-via_puf-overview-title {
    font-size: var(--via-puf-title-size);
    font-weight: var(--via-puf-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-via_puf-overview-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--via-puf-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.5;
}

.ictk-via_puf-overview-subtitle {
    margin-top: clamp(2.5rem, 4.1667vw, 5rem);
    font-size: clamp(1.5rem, 2.0833vw, 2.5rem);
    font-weight: var(--via-puf-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-via_puf-overview-subtitle span {
    color: var(--point-color);
}

.ictk-via_puf-overview-detail {
    margin-top: clamp(0.5rem, 0.7292vw, 0.875rem);
    font-size: var(--via-puf-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.5;
}

.ictk-via_puf-overview-media {
    position: relative;
    overflow: hidden;
}

.ictk-via_puf-overview-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ictk-via_puf-overview-label {
    position: absolute;
    top: clamp(1rem, 1.5625vw, 1.875rem);
    right: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 500;
    color: var(--base-color-white);
    letter-spacing: 0.3em;
    z-index: 1;
}


/* #################################### 02.VIA PUF - PUF 조건 #################################### */
.ictk-via_puf-condition-wrap {
    width: 100%;
    padding: var(--via-puf-section-padding-y) 0;
    background: var(--base-color-darkGrey);
}

.ictk-via_puf-condition-header {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: left;
}

.ictk-via_puf-condition-title {
    font-size: var(--via-puf-title-size);
    font-weight: var(--via-puf-title-weight);
    color: var(--base-color-white);
}

.ictk-via_puf-condition-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--via-puf-desc-size);
    font-weight: 300;
    color: var(--color-grey-light);
}

.ictk-via_puf-condition-cards {
    width: var(--contents-wrap-width);
    margin: clamp(2.5rem, 4.1667vw, 5rem) auto 0;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1px;
}

.ictk-via_puf-condition-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(2rem, 2.6042vw, 3.125rem) clamp(1rem, 1.25vw, 1.5rem);
    background: rgba(255, 255, 255, 0.04);
    position: relative;
    transition: background 0.4s ease, transform 0.4s ease;
}

.ictk-via_puf-condition-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--point-color);
    transition: width 0.4s ease;
}

@media (hover: hover) {
    .ictk-via_puf-condition-card:hover {
        background: rgba(255, 255, 255, 0.08);
        transform: translateY(-4px);
    }

    .ictk-via_puf-condition-card:hover::after {
        width: 100%;
    }

    .ictk-via_puf-condition-card:hover .ictk-via_puf-condition-card-icon img {
        transform: scale(1.15);
        filter: brightness(0) saturate(100%) invert(63%) sepia(72%) saturate(600%) hue-rotate(131deg) brightness(110%) contrast(101%);
    }

    .ictk-via_puf-condition-card:hover strong {
        color: var(--point-color);
    }
}

.ictk-via_puf-condition-card-icon {
    width: clamp(2.25rem, 3.125vw, 3.75rem);
    height: clamp(2.25rem, 3.125vw, 3.75rem);
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-via_puf-condition-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(63%) sepia(72%) saturate(400%) hue-rotate(131deg) brightness(95%) contrast(101%);
    transition: transform 0.4s ease, filter 0.4s ease;
}

.ictk-via_puf-condition-card strong {
    display: block;
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: var(--base-color-white);
    margin-bottom: clamp(0.5rem, 0.7292vw, 0.875rem);
    transition: color 0.4s ease;
}

.ictk-via_puf-condition-card span {
    display: block;
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.5;
}


/* #################################### 03.VIA PUF - Why VIA PUF #################################### */
.ictk-via_puf-why-wrap {
    width: 100%;
    padding: var(--via-puf-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-via_puf-why-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-via_puf-why-title {
    font-size: clamp(1.75rem, 2.6042vw, 3.125rem);
    font-weight: var(--via-puf-title-weight);
    color: var(--base-color-black);
    line-height: 1.3;
}

.ictk-via_puf-why-title span {
    color: var(--point-color);
}

.ictk-via_puf-why-desc {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: var(--via-puf-desc-size);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.8;
    max-width: 50rem;
}

.ictk-via_puf-why-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--via-puf-card-gap);
    margin-top: clamp(3rem, 5.2083vw, 6.25rem);
}

.ictk-via_puf-why-card {
    background: var(--color-bg-light);
    padding: var(--via-puf-card-padding);
}

.ictk-via_puf-why-card-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(2.25rem, 3.125vw, 3.75rem);
    height: clamp(2.25rem, 3.125vw, 3.75rem);
    background: var(--point-color);
    color: var(--base-color-white);
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
}

.ictk-via_puf-why-card-title {
    margin-top: clamp(1rem, 1.5625vw, 1.875rem);
    font-size: clamp(1.125rem, 1.4583vw, 1.75rem);
    font-weight: 700;
    color: var(--base-color-black);
}

.ictk-via_puf-why-card-sub {
    margin-top: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    color: var(--point-color);
    line-height: 1.6;
}

.ictk-via_puf-why-card-desc {
    margin-top: clamp(0.5rem, 0.7292vw, 0.875rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.7;
}


/* #################################### 04.VIA PUF - 보안칩 구성 #################################### */
.ictk-via_puf-chip-wrap {
    width: 100%;
    padding: var(--via-puf-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-via_puf-chip-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-via_puf-chip-title {
    font-size: var(--via-puf-title-size);
    font-weight: var(--via-puf-title-weight);
    color: var(--base-color-black);
    text-align: left;
}

.ictk-via_puf-chip-content {
    display: flex;
    align-items: center;
    gap: clamp(2rem, 3.125vw, 3.75rem);
    margin-top: clamp(2.5rem, 4.1667vw, 5rem);
}

.ictk-via_puf-chip-diagram {
    flex-shrink: 0;
    width: clamp(15rem, 25vw, 30rem);
}

.ictk-via_puf-chip-diagram img {
    width: 100%;
}

.ictk-via_puf-chip-fields {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-via_puf-chip-field {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
    background: var(--color-bg-light);
}

.ictk-via_puf-chip-field-icon {
    width: clamp(2rem, 2.6042vw, 3.125rem);
    height: clamp(2rem, 2.6042vw, 3.125rem);
}

.ictk-via_puf-chip-field-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(63%) sepia(72%) saturate(400%) hue-rotate(131deg) brightness(95%) contrast(101%);
}

.ictk-via_puf-chip-field-name {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 500;
    color: var(--base-color-black);
    text-align: center;
}


/* #################################### 05.VIA PUF - 적용 제품 #################################### */
.ictk-via_puf-products-wrap {
    width: 100%;
    padding: var(--via-puf-section-padding-y) 0;
    background: var(--color-bg-light);
}

.ictk-via_puf-products-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-via_puf-products-title {
    font-size: var(--via-puf-title-size);
    font-weight: var(--via-puf-title-weight);
    color: var(--base-color-black);
    text-align: center;
}

.ictk-via_puf-products-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--via-puf-card-gap);
    margin-top: clamp(3rem, 5.2083vw, 6.25rem);
    background: var(--base-color-white);
    padding: var(--via-puf-card-padding);
}

.ictk-via_puf-products-card {
    background: var(--base-color-white);
    overflow: hidden;
}

.ictk-via_puf-products-card-img {
    width: 100%;
    overflow: hidden;
}

.ictk-via_puf-products-card-img img {
    width: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.ictk-via_puf-products-card-info {
    padding: clamp(1.25rem, 2.0833vw, 2.5rem) clamp(0.5rem, 0.7292vw, 0.875rem);
    text-align: center;
}

.ictk-via_puf-products-card-category {
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 600;
    color: var(--point-color);
}

.ictk-via_puf-products-card-name {
    margin-top: clamp(0.25rem, 0.4167vw, 0.5rem);
    font-size: clamp(1.125rem, 1.4583vw, 1.75rem);
    font-weight: 700;
    color: var(--base-color-black);
}

.ictk-via_puf-products-card-line {
    display: block;
    width: clamp(1.5rem, 2.0833vw, 2.5rem);
    height: 2px;
    background: var(--color-grey-light);
    margin: clamp(0.75rem, 1.0417vw, 1.25rem) auto;
}

.ictk-via_puf-products-card-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 300;
    color: var(--color-grey-mid);
    line-height: 1.6;
}




/* **************************************************************
    VIA PUF - Responsive Area
************************************************************** */

/* --- 1024px: 태블릿 가로 --- */
@media all and (max-width: 1024px) {
    /* Overview: 1단 전환 */
    .ictk-via_puf-overview-inner {
        grid-template-columns: 1fr;
    }

    .ictk-via_puf-overview-media img {
        max-height: 28rem;
        object-fit: cover;
    }

    /* Why: 3→2열 */
    .ictk-via_puf-why-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    /* 보안칩: 가로→세로 전환 */
    .ictk-via_puf-chip-content {
        flex-direction: column;
    }

    .ictk-via_puf-chip-diagram {
        width: clamp(15rem, 40vw, 25rem);
    }

    .ictk-via_puf-chip-fields {
        grid-template-columns: repeat(4, 1fr);
    }

    /* 제품: 3→2열 */
    .ictk-via_puf-products-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- 768px: 태블릿 세로 --- */
@media all and (max-width: 768px) {
    /* br 숨김 */
    .ictk-via_puf-overview-desc br,
    .ictk-via_puf-why-desc br,
    .ictk-via_puf-condition-desc br {
        display: none;
    }

    /* Why: 2→1열 */
    .ictk-via_puf-why-cards {
        grid-template-columns: 1fr;
    }

    /* PUF 조건: 6→3열 */
    .ictk-via_puf-condition-cards {
        grid-template-columns: repeat(3, 1fr);
    }

    /* 보안칩 적용분야: 4→2열 */
    .ictk-via_puf-chip-fields {
        grid-template-columns: repeat(2, 1fr);
    }

    /* 제품: 2→1열 */
    .ictk-via_puf-products-cards {
        grid-template-columns: 1fr;
    }

    .ictk-via_puf-products-card-img img {
        aspect-ratio: 16 / 9;
    }
}

/* --- 480px: 모바일 --- */
@media all and (max-width: 480px) {
    /* PUF 조건: 3→2열 */
    .ictk-via_puf-condition-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    /* 보안칩 다이어그램 크기 축소 */
    .ictk-via_puf-chip-diagram {
        width: 80%;
    }

    /* 보안칩 적용분야: 2열 유지, 패딩 축소 */
    .ictk-via_puf-chip-field {
        padding: clamp(1rem, 4vw, 1.5rem);
    }
}

/* --- 360px: 극소형 모바일 --- */
@media all and (max-width: 360px) {
    /* PUF 조건: 2→1열 */
    .ictk-via_puf-condition-cards {
        grid-template-columns: 1fr;
    }

    /* 보안칩 적용분야: 2→1열 */
    .ictk-via_puf-chip-fields {
        grid-template-columns: 1fr;
    }
}

/* VIA PUF — prefers-reduced-motion 대응 */
@media (prefers-reduced-motion: reduce) {
    .ictk-via_puf-condition-header,
    .ictk-via_puf-condition-card,
    .ictk-via_puf-why-title,
    .ictk-via_puf-why-desc,
    .ictk-via_puf-why-card,
    .ictk-via_puf-chip-title,
    .ictk-via_puf-chip-diagram,
    .ictk-via_puf-chip-field,
    .ictk-via_puf-products-title,
    .ictk-via_puf-products-card,
    .ictk-via_puf-products-card-img img,
    .ictk-via_puf-products-card-line {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* ######################################################################################################### */
/* #################################### SECURITY IP STYLES START ########################################## */
/* ######################################################################################################### */

/* #################################### 17.Security IP - Wrap #################################### */
.ictk-security_ip-wrap {
    width: 100%;
    background: var(--base-color-white);
}

/* #################################### 17-1.Security IP - Overview #################################### */
.ictk-security_ip-overview-wrap {
    width: 100%;
    padding: var(--security-ip-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-security_ip-overview-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_ip-overview-title {
    font-size: var(--security-ip-title-size);
    font-weight: 800;
    color: var(--base-color-black);
    margin-bottom: clamp(1.25rem, 2.0833vw, 2.5rem);
}

.ictk-security_ip-overview-desc {
    font-size: var(--security-ip-desc-size);
    color: var(--color-grey-mid);
    line-height: 1.9;
}

/* #################################### 17-2.Security IP - Features (01~06) #################################### */
.ictk-security_ip-features-wrap {
    width: 100%;
    padding: 0 0 var(--security-ip-section-padding-y);
    background: var(--base-color-white);
}

.ictk-security_ip-features-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-security_ip-features-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--security-ip-card-gap);
}

.ictk-security_ip-features-card {
    background: var(--color-bg-light);
    padding: clamp(1.75rem, 2.5vw, 3rem);
    display: flex;
    align-items: flex-start;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_ip-features-card-num {
    flex-shrink: 0;
    width: clamp(2.75rem, 3.3333vw, 4rem);
    height: clamp(2.75rem, 3.3333vw, 4rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--point-color);
    color: var(--base-color-white);
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
}

.ictk-security_ip-features-card-content {
    flex: 1;
    min-width: 0;
}

.ictk-security_ip-features-card-title {
    display: block;
    font-size: clamp(1rem, 1.25vw, 1.5rem);
    font-weight: 700;
    color: var(--base-color-black);
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_ip-features-card-title span {
    display: inline;
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: var(--color-grey-light);
    margin-left: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_ip-features-card-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.25rem, 0.3646vw, 0.4375rem);
}

.ictk-security_ip-features-card-list li {
    font-size: var(--security-ip-desc-size);
    color: var(--color-grey-mid);
    line-height: 1.6;
    padding-left: clamp(0.75rem, 0.8333vw, 1rem);
    position: relative;
}

.ictk-security_ip-features-card-list li::before {
    content: '·';
    position: absolute;
    left: 0;
    color: var(--color-grey-mid);
    font-weight: 700;
}

/* #################################### 17-3.Security IP - Guide (안내서) #################################### */
.ictk-security_ip-guide-wrap {
    width: 100%;
    padding: var(--security-ip-section-padding-y) 0 var(--security-ip-card-gap);
    background: var(--color-bg-light);
}

.ictk-security_ip-guide-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_ip-guide-title {
    font-size: var(--security-ip-title-size);
    font-weight: 800;
    color: var(--base-color-black);
    margin-bottom: clamp(0.75rem, 1.0417vw, 1.25rem);
}

.ictk-security_ip-guide-title span {
    color: var(--point-color);
}

.ictk-security_ip-guide-desc {
    font-size: var(--security-ip-desc-size);
    color: var(--color-grey-mid);
    margin-bottom: clamp(2.5rem, 4.1667vw, 5rem);
}

.ictk-security_ip-guide-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--security-ip-card-gap);
}

.ictk-security_ip-guide-column {
    background: var(--base-color-white);
    padding: clamp(2rem, 2.9167vw, 3.5rem);
    text-align: left;
}

.ictk-security_ip-guide-column.elite {
    background: var(--base-color-darkGrey);
}

.ictk-security_ip-guide-column-label {
    display: inline-block;
    padding: clamp(0.5rem, 0.625vw, 0.75rem) clamp(1.25rem, 1.5625vw, 1.875rem);
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: var(--base-color-white);
    background: var(--base-color-darkGrey);
    margin-bottom: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_ip-guide-column.elite .ictk-security_ip-guide-column-label {
    background: var(--point-color);
}

.ictk-security_ip-guide-column-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
}

.ictk-security_ip-guide-column-list li {
    font-size: var(--security-ip-desc-size);
    color: var(--color-grey-dark);
    padding-left: clamp(1.75rem, 2.0833vw, 2.5rem);
    position: relative;
    line-height: 1.6;
}

.ictk-security_ip-guide-column.elite .ictk-security_ip-guide-column-list li {
    color: var(--base-color-white);
}

.ictk-security_ip-guide-column-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: clamp(0.125rem, 0.2083vw, 0.25rem);
    width: clamp(1.125rem, 1.25vw, 1.5rem);
    height: clamp(1.125rem, 1.25vw, 1.5rem);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2300BEB5'/%3E%3Cpath d='M7 12l3.5 3.5L17 9' stroke='white' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* #################################### 17-4.Security IP - Algorithms (AES/ECC/HMAC) #################################### */
.ictk-security_ip-algorithms-wrap {
    width: 100%;
    padding: 0 0 var(--security-ip-section-padding-y);
    background: var(--color-bg-light);
}

.ictk-security_ip-algorithms-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-security_ip-algorithms-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--security-ip-card-gap);
}

.ictk-security_ip-algorithms-card {
    background: #0f172b;
    border: 1px solid #1d293d;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 1.25vw, 1.5rem);
}

.ictk-security_ip-algorithms-card-icon {
    flex-shrink: 0;
    width: clamp(2.5rem, 3.125vw, 3.75rem);
    height: clamp(2.5rem, 3.125vw, 3.75rem);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--point-color);
}

.ictk-security_ip-algorithms-card-icon img {
    width: 50%;
    height: 50%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.ictk-security_ip-algorithms-card-content {
    flex: 1;
    min-width: 0;
}

.ictk-security_ip-algorithms-card-title {
    font-size: var(--security-ip-subtitle-size);
    font-weight: 700;
    color: var(--base-color-white);
    margin-bottom: clamp(0.125rem, 0.2604vw, 0.3125rem);
}

.ictk-security_ip-algorithms-card-sub {
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: clamp(1rem, 1.25vw, 1.5rem);
}

.ictk-security_ip-algorithms-card-desc {
    font-size: var(--security-ip-desc-size);
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin-bottom: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.ictk-security_ip-algorithms-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-security_ip-algorithms-tag {
    display: inline-block;
    padding: clamp(0.25rem, 0.3646vw, 0.4375rem) clamp(0.625rem, 0.8333vw, 1rem);
    font-size: clamp(0.75rem, 0.7813vw, 0.875rem);
    font-weight: 500;
    white-space: nowrap;
    background: var(--point-color);
    color: var(--base-color-white);
}


/* #################################### 21.Security Chips - Product Tabs #################################### */
.ictk-security_chips-wrap {
    width: 100%;
    background: var(--base-color-white);
}

.ictk-security_chips-tabs-wrap {
    width: 100%;
    background: var(--base-color-white);
    padding-top: clamp(2rem, 3.125vw, 3.75rem);
    position: sticky;
    top: 0;
    z-index: 50;
}

.ictk-security_chips-tabs-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: flex;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

a.ictk-security_chips-tab,
a.ictk-security_chips-tab:link,
a.ictk-security_chips-tab:visited {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: clamp(3.5rem, 4.6875vw, 5.625rem);
    padding: clamp(0.5rem, 1vw, 1rem) clamp(0.75rem, 1.5vw, 1.5rem);
    font-size: var(--security-chips-tab-font-size);
    font-weight: 600;
    color: var(--base-color-black);
    background: #e8e8e8;
    line-height: 1.4;
    transition: background 0.3s ease, color 0.3s ease;
}

a.ictk-security_chips-tab.active,
a.ictk-security_chips-tab.active:link,
a.ictk-security_chips-tab.active:visited {
    background: var(--point-color);
    color: var(--base-color-white);
}

a.ictk-security_chips-tab:hover:not(.active) {
    background: #d5d5d5;
}

/* #################################### 22.Security Chips - Product Card #################################### */
/* #################################### Section Title #################################### */
.ictk-security_chips-section-title-wrap {
    width: 100%;
    padding: clamp(3rem, 5.2083vw, 6.25rem) 0 clamp(2rem, 3.125vw, 3.75rem);
    background: var(--base-color-white);
}

.ictk-security_chips-section-title-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_chips-section-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_chips-section-title-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 400;
    color: #363636;
    line-height: 1.625;
}

/* #################################### Product Container (New Layout) #################################### */
.ictk-security_chips-product-wrap {
    width: 100%;
    padding: 0 0 clamp(2.5rem, 4.1667vw, 5rem);
    background: var(--base-color-white);
}

.ictk-security_chips-product-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-security_chips-product-container {
    background: linear-gradient(154deg, #f9fafb 0%, #f3f4f6 100%);
    padding: clamp(2.5rem, 3.6458vw, 4.375rem) clamp(2rem, 3.2292vw, 3.875rem);
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_chips-product-name {
    grid-column: 1 / -1;
    font-size: clamp(1.5rem, 1.5625vw, 1.875rem);
    font-weight: 700;
    color: #101828;
    line-height: 1.2;
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_chips-product-badge {
    font-size: clamp(0.75rem, 0.8333vw, 1rem);
    font-weight: 500;
    color: #3e4451;
}

.ictk-security_chips-product-desc {
    grid-column: 1 / -1;
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: #364153;
    line-height: 1.625;
    margin-bottom: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_chips-product-content {
    display: contents;
}

.ictk-security_chips-product-img {
    grid-column: 1;
    grid-row: 3 / 5;
    width: 100%;
    overflow: hidden;
    background: var(--base-color-white);
    position: relative;
}

.ictk-security_chips-product-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ictk-security_chips-product-img.is-transparent {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_chips-product-img.is-transparent img {
    position: static;
    width: 65%;
    height: auto;
    object-fit: contain;
}

/* Spec Table */
.ictk-security_chips-product-spec-wrap {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    background: var(--base-color-white);
    overflow: hidden;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.ictk-security_chips-product-spec-table {
    width: 100%;
    border-collapse: collapse;
}

.ictk-security_chips-product-spec-table th,
.ictk-security_chips-product-spec-table td {
    padding: clamp(0.75rem, 0.8333vw, 1rem) clamp(1rem, 1.25vw, 1.5rem);
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    line-height: 1.5;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #e5e7eb;
}

.ictk-security_chips-product-spec-table tr:last-child th,
.ictk-security_chips-product-spec-table tr:last-child td {
    border-bottom: none;
}

.ictk-security_chips-product-spec-table th {
    background: #404040;
    color: #fff;
    font-weight: 700;
    width: clamp(7rem, 10.4688vw, 12.5rem);
    white-space: nowrap;
}

.ictk-security_chips-product-spec-table td {
    color: #364153;
    font-weight: 400;
}


.ictk-security_chips-highlight {
    font-style: normal;
    font-weight: 700;
    color: var(--point-color);
}

/* Product Feature Tags */
.ictk-security_chips-product-tags {
    grid-column: 2;
    grid-row: 4;
    align-self: start;
    display: flex;
    gap: clamp(0.75rem, 0.8854vw, 1.0625rem);
    margin-top: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.ictk-security_chips-product-tag {
    flex: 1;
    background: var(--base-color-white);
    padding: clamp(1rem, 1.25vw, 1.5rem);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: clamp(5rem, 7.0313vw, 8.4375rem);
}

.ictk-security_chips-product-tag strong {
    display: block;
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    font-weight: 700;
    color: var(--base-color-black);
    line-height: 1.5;
}

.ictk-security_chips-product-tag span {
    display: block;
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    color: #4a5565;
    margin-top: clamp(0.25rem, 0.3125vw, 0.375rem);
    line-height: 1.4;
}

/* #################################### 23.Security Chips - (eSIM section removed, uses product container) #################################### */

/* #################################### 24.Security Chips - Comparison Table #################################### */
.ictk-security_chips-comparison-wrap {
    width: 100%;
    padding: clamp(3rem, 5.2083vw, 6.25rem) 0;
    background: var(--base-color-white);
}

.ictk-security_chips-comparison-inner {
    width: var(--contents-wrap-width);
    max-width: 64rem;
    margin: 0 auto;
}

.ictk-security_chips-comparison-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    text-align: center;
    margin-bottom: clamp(2rem, 3.125vw, 3.75rem);
}

.ictk-security_chips-comparison-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--base-color-white);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.ictk-security_chips-comparison-table {
    width: 100%;
    min-width: 36rem;
    border-collapse: collapse;
}

.ictk-security_chips-comparison-table thead th {
    background: #404040;
    color: #fff;
    font-weight: 700;
    padding: clamp(1rem, 1.1458vw, 1.375rem) clamp(1.25rem, 1.6667vw, 2rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    text-align: center;
    border-bottom: 1px solid #e5e7eb;
}

.ictk-security_chips-comparison-table thead th:first-child {
    text-align: left;
}

.ictk-security_chips-comparison-table thead th.highlight {
    color: var(--point-color-light, #5eead4);
}

.ictk-security_chips-comparison-table tbody td {
    padding: clamp(1rem, 1.1458vw, 1.375rem) clamp(1.25rem, 1.6667vw, 2rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #364153;
    text-align: center;
    line-height: 1.6;
    border-bottom: 1px solid #e5e7eb;
}

.ictk-security_chips-comparison-table tbody tr:last-child td {
    border-bottom: none;
}

.ictk-security_chips-comparison-table tbody td:first-child {
    font-weight: 700;
    color: #101828;
    text-align: left;
}

.ictk-security_chips-comparison-table tbody td.highlight {
    color: var(--point-color);
    font-weight: 700;
}

.ictk-security_chips-comparison-table tbody td.disabled {
    color: #99a1af;
}

/* Comparison Feature Tags */
.ictk-security_chips-comparison-tags {
    display: flex;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
    margin-top: clamp(2rem, 3.125vw, 3.75rem);
}

.ictk-security_chips-comparison-tag {
    flex: 1;
    background: #f0f0f0;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem) clamp(1rem, 1.25vw, 1.5rem);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: clamp(5rem, 7.0313vw, 8.4375rem);
}

.ictk-security_chips-comparison-tag strong {
    display: block;
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: var(--base-color-darkGrey);
    line-height: 1.5;
}

.ictk-security_chips-comparison-tag span {
    display: block;
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    color: #4a5565;
    margin-top: clamp(0.25rem, 0.3125vw, 0.375rem);
}

/* #################################### 25.Security Chips - Hardware Security #################################### */
.ictk-security_chips-hardware-wrap {
    width: 100%;
    padding: var(--security-chips-section-padding-y) 0;
    background: var(--base-color-white);
}

.ictk-security_chips-hardware-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_chips-hardware-title {
    font-size: var(--security-chips-title-size);
    font-weight: var(--security-chips-title-weight);
    color: var(--base-color-black);
    line-height: 1.5;
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_chips-hardware-subtitle {
    font-size: var(--security-chips-desc-size);
    font-weight: 400;
    color: #6b7280;
    line-height: 1.625;
    margin-bottom: clamp(2.5rem, 3.6458vw, 4.375rem);
}

.ictk-security_chips-hardware-tags {
    display: flex;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
    justify-content: center;
}

.ictk-security_chips-hardware-tag {
    flex: 1;
    max-width: clamp(18rem, 26.0417vw, 31.25rem);
    background: #f0f0f0;
    padding: clamp(2.5rem, 3.6458vw, 4.375rem) clamp(3rem, 5.2083vw, 6.25rem);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: clamp(6rem, 8.3333vw, 10rem);
}

.ictk-security_chips-hardware-tag strong {
    font-size: clamp(1rem, 1.1458vw, 1.375rem);
    font-weight: 700;
    color: var(--base-color-black);
    line-height: 1.5;
}


/* #################################### Security IP - Responsive #################################### */
@media all and (max-width: 1024px) {
    .ictk-security_ip-features-cards {
        gap: clamp(0.875rem, 1.25vw, 1.5rem);
    }
}

@media all and (max-width: 768px) {
    .ictk-security_ip-overview-desc br {
        display: none;
    }

    .ictk-security_ip-features-cards {
        grid-template-columns: 1fr;
    }

    .ictk-security_ip-guide-columns {
        grid-template-columns: 1fr;
    }

    .ictk-security_ip-algorithms-cards {
        grid-template-columns: 1fr;
    }
}

@media all and (max-width: 480px) {
    .ictk-security_ip-features-card-title span {
        display: block;
        margin-left: 0;
        margin-top: clamp(0.125rem, 0.2604vw, 0.3125rem);
    }
}


/* #################################### Security Chips - Responsive #################################### */
@media all and (max-width: 1024px) {
    /* 2-column → 1-column 전환 */
    .ictk-security_chips-product-container {
        grid-template-columns: 1fr;
        padding: clamp(1.5rem, 5vw, 2.5rem) clamp(1.25rem, 4vw, 2rem);
    }

    /* 이미지: absolute 해제 → static, 자연 비율 복원 */
    .ictk-security_chips-product-img {
        grid-column: 1;
        grid-row: auto;
        position: static;
        max-width: 100%;
    }

    .ictk-security_chips-product-img img {
        position: static;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .ictk-security_chips-product-img.is-transparent {
        padding: clamp(1rem, 3vw, 2rem);
    }

    .ictk-security_chips-product-img.is-transparent img {
        width: 50%;
    }

    .ictk-security_chips-product-spec-wrap {
        grid-column: 1;
        grid-row: auto;
    }

    .ictk-security_chips-product-tags {
        grid-column: 1;
        grid-row: auto;
    }

    /* 스펙 테이블 가로 스크롤 */
    .ictk-security_chips-product-spec-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* 스펙 테이블 th 너비 축소 + 줄바꿈 허용 */
    .ictk-security_chips-product-spec-table th {
        width: clamp(5.5rem, 10.4688vw, 12.5rem);
        white-space: normal;
    }

    .ictk-security_chips-product-spec-table th,
    .ictk-security_chips-product-spec-table td {
        padding: clamp(0.625rem, 2vw, 0.875rem) clamp(0.75rem, 2.5vw, 1.25rem);
    }

    .ictk-security_chips-comparison-tags {
        flex-wrap: wrap;
    }

    .ictk-security_chips-hardware-tags {
        flex-wrap: wrap;
    }
}

@media all and (max-width: 768px) {
    .ictk-security_chips-product-tags {
        flex-wrap: wrap;
    }

    .ictk-security_chips-product-tag {
        flex: 1 1 calc(50% - 0.5rem);
    }

    .ictk-security_chips-comparison-tag {
        min-width: auto;
        flex: 1 1 auto;
    }

    .ictk-security_chips-hardware-tag {
        min-width: auto;
        flex: 1 1 auto;
    }

    /* 탭 세로 패딩 축소 */
    .ictk-security_chips-tabs-inner {
        gap: clamp(0.25rem, 1vw, 0.5rem);
    }
}

@media all and (max-width: 480px) {
    a.ictk-security_chips-tab,
    a.ictk-security_chips-tab:link,
    a.ictk-security_chips-tab:visited {
        font-size: clamp(0.75rem, 3.5vw, 0.875rem);
        min-height: clamp(3rem, 15vw, 4rem);
        padding: clamp(0.375rem, 2vw, 0.5rem) clamp(0.5rem, 2vw, 0.75rem);
    }

    .ictk-security_chips-product-tag {
        min-width: auto;
        flex: 1 1 100%;
    }

    .ictk-security_chips-comparison-tag {
        flex: 1 1 100%;
    }

    .ictk-security_chips-hardware-tag {
        flex: 1 1 100%;
    }

    .ictk-security_chips-product-img.is-transparent img {
        width: 65%;
    }
}


/* ################################################################################################ */
/* ######################################  SECURITY MODULES PAGE  ################################# */
/* ################################################################################################ */

/* #################################### 27.Security Modules - Wrap #################################### */
.ictk-security_modules-wrap {
    width: 100%;
    background: #fff;
}

/* #################################### 27-1.Security Modules - Overview #################################### */
.ictk-security_modules-overview-wrap {
    width: 100%;
    padding: var(--security-modules-section-padding-y) 0;
    background: #fff;
}

.ictk-security_modules-overview-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_modules-overview-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(1.25rem, 2.0833vw, 2.5rem);
}

.ictk-security_modules-overview-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #363636;
    line-height: 1.625;
}

/* #################################### 28.Security Modules - Product Showcase #################################### */
.ictk-security_modules-product-wrap {
    width: 100%;
    padding: 0 0 var(--security-modules-section-padding-y);
    background: #fff;
}

.ictk-security_modules-product-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
    align-items: start;
}

.ictk-security_modules-product-image {
    width: 100%;
    background: #f2f2f2;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 881 / 600;
}

.ictk-security_modules-product-image img {
    width: 60%;
    height: auto;
    display: block;
    mix-blend-mode: multiply;
}

.ictk-security_modules-product-detail {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_modules-product-detail-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #252425;
    line-height: 1.625;
}

.ictk-security_modules-spec-cards {
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 0.5208vw, 0.625rem);
}

.ictk-security_modules-spec-card {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
    padding: clamp(1rem, 1.25vw, 1.5rem) clamp(1.25rem, 1.5625vw, 1.875rem);
    background: #fff;
    border: 1px solid #e5e5e5;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.ictk-security_modules-spec-icon {
    width: clamp(1.375rem, 1.5625vw, 1.875rem);
    height: clamp(1.375rem, 1.5625vw, 1.875rem);
    flex-shrink: 0;
}

.ictk-security_modules-spec-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(55%) sepia(98%) saturate(367%) hue-rotate(132deg) brightness(99%) contrast(101%);
}

.ictk-security_modules-spec-info {
    display: flex;
    flex-direction: column;
    gap: clamp(0.125rem, 0.1563vw, 0.1875rem);
}

.ictk-security_modules-spec-label {
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    font-weight: 600;
    color: var(--point-color);
}

.ictk-security_modules-spec-value {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: #252425;
}

.ictk-security_modules-spec-sub {
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    color: #666;
    line-height: 1.4;
}

/* #################################### 29.Security Modules - Related Solutions #################################### */
.ictk-security_modules-solutions-wrap {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.ictk-security_modules-solutions-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.ictk-security_modules-solutions-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ictk-security_modules-solutions-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
}

.ictk-security_modules-solutions-inner {
    position: relative;
    z-index: 1;
    width: var(--contents-wrap-width);
    margin: 0 auto;
    padding: clamp(4rem, 6.25vw, 7.5rem) 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_modules-solutions-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #fff;
}

.ictk-security_modules-solutions-btns {
    display: flex;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
}

a.ictk-security_modules-solutions-btn,
a.ictk-security_modules-solutions-btn:link,
a.ictk-security_modules-solutions-btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: clamp(7rem, 7.2396vw, 8.6875rem);
    height: clamp(2.5rem, 2.5vw, 3rem);
    padding: 0 clamp(1.25rem, 1.5625vw, 1.875rem);
    background: var(--point-color);
    color: #fff;
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 500;
    text-align: center;
    transition: background 0.3s ease;
}

a.ictk-security_modules-solutions-btn:hover {
    background: #009e96;
}

/* #################################### 30.Security Modules - PUF Modules #################################### */
.ictk-security_modules-puf-wrap {
    width: 100%;
    padding: var(--security-modules-section-padding-y) 0;
    background: #fff;
}

.ictk-security_modules-puf-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-security_modules-puf-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_modules-puf-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #363636;
    line-height: 1.625;
    margin-bottom: clamp(2rem, 3.125vw, 3.75rem);
}

.ictk-security_modules-puf-content {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_modules-puf-image {
    position: relative;
    overflow: hidden;
}

.ictk-security_modules-puf-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.ictk-security_modules-puf-products {
    display: flex;
    flex-direction: column;
}

.ictk-security_modules-puf-product-title {
    font-size: clamp(1.125rem, 1.25vw, 1.5rem);
    font-weight: 700;
    color: #000;
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_modules-puf-product-desc {
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    color: #363636;
    line-height: 1.625;
    margin-bottom: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_modules-puf-product-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
}

.ictk-security_modules-puf-product-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_modules-puf-product-card img {
    width: 80%;
    height: auto;
    display: block;
    object-fit: contain;
}


/* ################################################################################################ */
/* ###################################  SECURITY SOLUTIONS PAGE  ################################## */
/* ################################################################################################ */

/* #################################### 31.Security Solutions - Wrap #################################### */
.ictk-security_solutions-wrap {
    width: 100%;
    background: #fff;
    overflow-x: hidden;
}

/* #################################### 31-1.Security Solutions - Tabs #################################### */
.ictk-security_solutions-tabs-wrap {
    width: 100%;
    background: #fff;
    padding-top: clamp(2rem, 3.125vw, 3.75rem);
    position: sticky;
    top: 0;
    z-index: 50;
}

.ictk-security_solutions-tabs-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: flex;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

a.ictk-security_solutions-tab,
a.ictk-security_solutions-tab:link,
a.ictk-security_solutions-tab:visited {
    flex: 1;
    text-align: center;
    padding: var(--security-solutions-tab-padding-y) 0;
    font-size: var(--security-solutions-tab-font-size);
    font-weight: 600;
    color: #000;
    background: #e8e8e8;
    line-height: 2;
    transition: background 0.3s ease, color 0.3s ease;
}

a.ictk-security_solutions-tab.active,
a.ictk-security_solutions-tab.active:link,
a.ictk-security_solutions-tab.active:visited {
    background: var(--point-color);
    color: #fff;
}

a.ictk-security_solutions-tab:hover:not(.active) {
    background: #d5d5d5;
}

/* #################################### 32.Security Solutions - Section Title #################################### */
.ictk-security_solutions-section-title-wrap {
    width: 100%;
    padding: clamp(3rem, 5.2083vw, 6.25rem) 0 clamp(2rem, 3.125vw, 3.75rem);
    background: #fff;
}

.ictk-security_solutions-section-title-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_solutions-section-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-section-title-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 400;
    color: #363636;
    line-height: 1.625;
}


/* #################################### 33.Security Solutions - qTrustNet #################################### */

/* -- Diagram Section -- */
.ictk-security_solutions-diagram-wrap {
    width: 100%;
    padding: var(--security-solutions-section-padding-y) 0;
    background: #fff;
}

.ictk-security_solutions-diagram-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    grid-template-rows: auto 1fr;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_solutions-diagram-inner > * {
    min-width: 0;
}

.ictk-security_solutions-diagram-text {
    grid-column: 1;
    grid-row: 1;
}

.ictk-security_solutions-diagram-img {
    grid-column: 2;
    grid-row: 1 / 3;
}

.ictk-security_solutions-diagram-details {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 1.3021vw, 1.5625rem);
    align-self: end;
}

.ictk-security_solutions-diagram-detail {
    padding: clamp(1.25rem, 1.5625vw, 1.875rem);
    background: #f9fafb;
    border-left: 3px solid var(--point-color);
}

.ictk-security_solutions-diagram-detail strong {
    display: block;
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: #181818;
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_solutions-diagram-detail p {
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    color: #555;
    line-height: 1.6;
}

.ictk-security_solutions-diagram-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-diagram-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #363636;
    line-height: 1.625;
}

.ictk-security_solutions-diagram-img {
    width: 100%;
    position: relative;
    overflow: hidden;
    background: #f5f5f5;
    padding-bottom: 75%;
}

.ictk-security_solutions-diagram-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 72%;
    height: auto;
    display: block;
}

/* -- Why qTrustNet Section -- */
.ictk-security_solutions-why-wrap {
    width: 100%;
    padding-top: var(--security-solutions-section-padding-y);
    padding-bottom: var(--security-solutions-section-padding-y);
    background: #252425;
    overflow-x: hidden;
}

.ictk-security_solutions-why-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
}

.ictk-security_solutions-why-title {
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: clamp(3rem, 4.1667vw, 5rem);
    text-align: left;
}

.ictk-security_solutions-why-title span {
    color: var(--point-color);
}

.ictk-security_solutions-why-content {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(2.5rem, 4.1667vw, 5rem);
    align-items: center;
    min-width: 0;
}

.ictk-security_solutions-why-content > * {
    min-width: 0;
}

.ictk-security_solutions-why-chart {
    background: #2d2c2d;
    padding: clamp(2rem, 2.6042vw, 3.125rem) clamp(1.5rem, 2.0833vw, 2.5rem);
    overflow: hidden;
}

.ictk-security_solutions-why-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.7;
    margin-bottom: clamp(2.5rem, 3.125vw, 3.75rem);
    text-align: left;
}

.ictk-security_solutions-why-desc strong {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
}

.ictk-security_solutions-why-chart-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-why-chart-title {
    font-size: clamp(0.9375rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.ictk-security_solutions-why-chart-legend {
    list-style: disc;
    padding-left: 1.25rem;
    text-align: left;
}

.ictk-security_solutions-why-chart-legend li {
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.6;
    list-style: disc;
}

.ictk-security_solutions-why-chart-source {
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    color: rgba(255, 255, 255, 0.35);
    text-align: center;
    margin-top: clamp(1.5rem, 2.0833vw, 2.5rem);
    word-break: break-all;
}

.ictk-security_solutions-why-chart-area {
    display: flex;
    gap: clamp(0.5rem, 0.5208vw, 0.625rem);
    height: clamp(13rem, 17.1875vw, 20.625rem);
}

.ictk-security_solutions-why-chart-y {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-shrink: 0;
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    color: rgba(255, 255, 255, 0.4);
    text-align: right;
    padding-bottom: 2.5rem;
}

.ictk-security_solutions-why-chart-bars {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: clamp(1.5rem, 15%, 8.75rem);
    position: relative;
}

.ictk-security_solutions-why-chart-bars::after {
    content: '';
    position: absolute;
    bottom: 2.5rem;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(255, 255, 255, 0.2);
}

.ictk-security_solutions-why-chart-bar-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: clamp(1.75rem, 4.6875vw, 5.625rem);
    height: calc(100% - 2.5rem);
    margin-bottom: 2.5rem;
    justify-content: flex-end;
    position: relative;
}

.ictk-security_solutions-why-chart-bar-value {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0.25rem;
    white-space: nowrap;
}

.ictk-security_solutions-why-chart-bar-value.wireguard {
    color: #00BEB5;
}

.ictk-security_solutions-why-chart-bar {
    width: 100%;
    background: rgba(255, 255, 255, 0.2);
}

.ictk-security_solutions-why-chart-bar.wireguard {
    background: #00BEB5;
}

.ictk-security_solutions-why-chart-bar.ipsec {
    background: rgba(255, 255, 255, 0.4);
}

.ictk-security_solutions-why-chart-bar.openvpn {
    background: rgba(255, 255, 255, 0.15);
}

.ictk-security_solutions-why-chart-bar-label {
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    color: #fff;
    text-align: center;
    line-height: 1.4;
    font-weight: 600;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 0.5rem;
    white-space: nowrap;
}

.ictk-security_solutions-why-chart-bar-label.wireguard {
    color: #00BEB5;
}

.ictk-security_solutions-why-diagram {
    position: relative;
    width: 100%;
    aspect-ratio: 600 / 520;
    overflow: hidden;
}

.ictk-security_solutions-why-diagram::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60%;
    aspect-ratio: 1;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(0, 190, 181, 0.12) 0%, rgba(0, 190, 181, 0) 70%);
    z-index: 0;
    animation: whyDiagramGlow 3s ease-in-out infinite;
}

@keyframes whyDiagramGlow {
    0%, 100% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.9); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
}

.ictk-security_solutions-why-diagram-svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.ictk-security_solutions-why-diagram-node {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
    z-index: 1;
    opacity: 0;
}

.ictk-security_solutions-why-diagram-node-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0.125rem, 0.2083vw, 0.25rem);
    padding: clamp(0.75rem, 1.0417vw, 1.25rem) clamp(1.5rem, 3.125vw, 3.75rem);
    background: #2d2c2d;
}

.ictk-security_solutions-why-diagram-node-box strong {
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.ictk-security_solutions-why-diagram-node-box span {
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
}

.ictk-security_solutions-why-diagram-node-box.point {
    background: var(--point-color);
}

.ictk-security_solutions-why-diagram-node-box.point span {
    color: rgba(255, 255, 255, 0.8);
}

.ictk-security_solutions-why-diagram-node-desc {
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
    text-align: center;
}

/* Node Positions — 정삼각형 꼭지점 중심 (viewBox 600x520: 상300,60 / 좌100,406 / 우500,406) */
.ictk-security_solutions-why-diagram-node-wireguard {
    top: 11.5%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ictk-security_solutions-why-diagram-node-security {
    top: 78.1%;
    left: 16.7%;
    transform: translate(-50%, -50%);
}

.ictk-security_solutions-why-diagram-node-reliable {
    top: 78.1%;
    left: 83.3%;
    transform: translate(-50%, -50%);
}

.ictk-security_solutions-why-diagram-node-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.25rem, 0.4167vw, 0.5rem);
}

.ictk-security_solutions-why-diagram-node-icon {
    position: relative;
    width: clamp(3.5rem, 4.4271vw, 5.3125rem);
    height: clamp(3.5rem, 4.4271vw, 5.3125rem);
    background: #252425;
    border: 1px solid rgba(0, 190, 181, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-security_solutions-why-diagram-node-icon svg {
    width: 55%;
    height: 55%;
    color: var(--point-color);
}

.ictk-security_solutions-why-diagram-center-label {
    font-size: clamp(1.0625rem, 1.25vw, 1.5rem);
    font-weight: 600;
    color: var(--point-color);
}

.ictk-security_solutions-why-diagram-line.dash-flowing {
    animation: whyDashFlow 0.8s linear infinite;
}

@keyframes whyDashFlow {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: -10; }
}

/* -- 사용자 친화적 UI Section -- */
.ictk-security_solutions-ui-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    padding-top: var(--security-solutions-section-padding-y);
}

.ictk-security_solutions-ui-content {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: clamp(3rem, 5.2083vw, 6.25rem);
    align-items: start;
}

.ictk-security_solutions-ui-grid {
    order: -1;
}

.ictk-security_solutions-ui-header {
    text-align: left;
    margin-left: auto;
}

.ictk-security_solutions-ui-title {
    font-size: clamp(2rem, 2.5vw, 3rem);
    font-weight: 800;
    color: #fff;
    line-height: 1.3;
    margin-bottom: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_solutions-ui-title span {
    color: var(--point-color);
}

.ictk-security_solutions-ui-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.7;
}

.ictk-security_solutions-ui-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(2rem, 2.6042vw, 3.125rem);
}

.ictk-security_solutions-ui-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-ui-thumb {
    background: #2d2c2d;
    padding: clamp(0.75rem, 1.0417vw, 1.25rem);
    overflow: hidden;
}

.ictk-security_solutions-ui-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.ictk-security_solutions-ui-label {
    display: inline-block;
    padding: clamp(0.375rem, 0.5208vw, 0.625rem) clamp(1.25rem, 1.5625vw, 1.875rem);
    background: rgba(255, 255, 255, 0.08);
    font-size: clamp(0.8125rem, 0.8333vw, 1rem);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
}

/* -- qTrustNet 기능 + 모델 사양 2컬럼 Section -- */
.ictk-security_solutions-spec-wrap {
    width: 100%;
    padding: var(--security-solutions-section-padding-y) 0;
    background: #fff;
}

.ictk-security_solutions-spec-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 3.125vw, 3.75rem);
    align-items: stretch;
}

.ictk-security_solutions-spec-left,
.ictk-security_solutions-spec-right {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ictk-security_solutions-spec-left .ictk-security_solutions-features-table-wrap,
.ictk-security_solutions-spec-right .ictk-security_solutions-models-table-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.ictk-security_solutions-spec-left .ictk-security_solutions-features-table,
.ictk-security_solutions-spec-right .ictk-security_solutions-models-table {
    flex: 1;
}

.ictk-security_solutions-features-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-features-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ictk-security_solutions-features-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid #000;
}

.ictk-security_solutions-features-table thead th {
    background: #f2f2f2;
    color: #000;
    font-weight: 500;
    padding: clamp(0.875rem, 1.0417vw, 1.25rem) clamp(1.25rem, 1.6667vw, 2rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    text-align: center;
    border-bottom: 1px solid #ddd;
}

.ictk-security_solutions-features-table thead th:first-child {
    width: clamp(8rem, 11.7188vw, 14rem);
}

.ictk-security_solutions-features-table tbody td {
    padding: clamp(0.875rem, 1.0417vw, 1.25rem) clamp(1.25rem, 1.6667vw, 2rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #252425;
    line-height: 1.6;
    border-bottom: 1px solid #ddd;
    text-align: center;
}

.ictk-security_solutions-features-table tbody td:first-child {
    font-weight: 500;
    color: #000;
    background: #f2f2f2;
}

/* -- qTrustNet 모델 사양 (우측 컬럼) -- */

.ictk-security_solutions-models-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    line-height: 1.5;
    margin-bottom: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-models-sub {
    font-size: clamp(0.75rem, 0.8333vw, 1rem);
    font-weight: 400;
    color: #252425;
}

.ictk-security_solutions-models-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ictk-security_solutions-models-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid #000;
}

.ictk-security_solutions-models-table thead th {
    background: #f2f2f2;
    color: #000;
    font-weight: 600;
    padding: clamp(1rem, 1.25vw, 1.5rem) clamp(1rem, 1.25vw, 1.5rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    text-align: center;
    border-bottom: 1px solid #ddd;
    line-height: 1.4;
}

.ictk-security_solutions-models-table thead th:first-child {
    width: clamp(8rem, 11.7188vw, 14rem);
}

.ictk-security_solutions-models-table tbody td {
    padding: clamp(0.875rem, 1.0417vw, 1.25rem) clamp(1rem, 1.25vw, 1.5rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #000;
    line-height: 1.4;
    border-bottom: 1px solid #ddd;
    text-align: center;
}

.ictk-security_solutions-models-table tbody td:first-child {
    font-weight: 600;
    color: #000;
    background: #f2f2f2;
}

/* NIC rowspan/colspan 구조 */
.ictk-security_solutions-models-nic-label {
    background: #f2f2f2;
    font-weight: 600;
    vertical-align: middle;
}

.ictk-security_solutions-models-nic-sub {
    background: #f2f2f2;
    font-weight: 500;
}


/* #################################### 34.Security Solutions - PQC Services #################################### */

/* -- PQC KMS Section -- */
.ictk-security_solutions-kms-wrap {
    width: 100%;
    padding: clamp(6rem, 9.375vw, 11.25rem) 0 0;
}

.ictk-security_solutions-kms-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: left;
}

.ictk-security_solutions-kms-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-kms-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #363636;
    line-height: 1.625;
    margin-bottom: clamp(3rem, 5.2083vw, 6.25rem);
}

.ictk-security_solutions-kms-diagram {
    width: 100%;
}

/* -- KMS Architecture Diagram -- */
.ictk-security_solutions-kms-arch {
    background: #252425;
    padding: clamp(4rem, 6.25vw, 7.5rem) clamp(1.5rem, 2.0833vw, 2.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-kms-arch-users {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
    flex-shrink: 0;
}

.ictk-security_solutions-kms-arch-user {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-security_solutions-kms-arch-user-icon {
    position: relative;
    width: clamp(3rem, 3.6458vw, 4.375rem);
    height: clamp(3rem, 3.6458vw, 4.375rem);
    background: rgba(0, 190, 181, 0.15);
    border: 1px solid rgba(0, 190, 181, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-security_solutions-kms-arch-user-icon iconify-icon {
    font-size: clamp(1.5rem, 2vw, 2.5rem);
}

.ictk-security_solutions-kms-arch-user-icon.blocked {
    background: rgba(220, 53, 69, 0.15);
    border-color: rgba(220, 53, 69, 0.3);
}

.ictk-security_solutions-kms-arch-badge {
    position: absolute;
    top: -8px;
    right: -12px;
    background: var(--point-color);
    color: #fff;
    font-size: 0.5625rem;
    font-weight: 600;
    padding: 2px 4px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 2px;
}

.ictk-security_solutions-kms-arch-badge iconify-icon {
    font-size: 10px;
    color: #fff;
}

.ictk-security_solutions-kms-arch-block-icon {
    position: absolute;
    bottom: -4px;
    right: -6px;
    color: #dc3545;
    line-height: 1;
}

.ictk-security_solutions-kms-arch-user p {
    font-size: clamp(0.6875rem, 0.7292vw, 0.875rem);
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    line-height: 1.4;
    font-weight: 500;
}

.ictk-security_solutions-kms-arch-user.auth p {
    color: var(--point-color);
}

.ictk-security_solutions-kms-arch-arrow {
    flex-shrink: 0;
    width: clamp(2rem, 2.6042vw, 3.125rem);
}

.ictk-security_solutions-kms-arch-arrow svg {
    width: 100%;
    height: auto;
    display: block;
}

.ictk-security_solutions-kms-arch-system {
    border: 1px solid rgba(0, 190, 181, 0.4);
    padding: clamp(1rem, 1.5625vw, 1.875rem);
    position: relative;
}

.ictk-security_solutions-kms-arch-system-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #252425;
    padding: 0 clamp(0.5rem, 0.7813vw, 0.9375rem);
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: var(--point-color);
    white-space: nowrap;
}

.ictk-security_solutions-kms-arch-system-inner {
    display: flex;
    align-items: center;
    gap: clamp(0.75rem, 1.0417vw, 1.25rem);
    margin-top: clamp(0.5rem, 0.7813vw, 0.9375rem);
}

.ictk-security_solutions-kms-arch-console {
    background: #2d2c2d;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: clamp(0.875rem, 1.3021vw, 1.5625rem) clamp(1rem, 1.5625vw, 1.875rem);
    text-align: center;
}

.ictk-security_solutions-kms-arch-console strong {
    font-size: clamp(0.75rem, 0.8333vw, 1rem);
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
}

.ictk-security_solutions-kms-arch-server {
    background: rgba(0, 190, 181, 0.15);
    border: 1px solid rgba(0, 190, 181, 0.3);
    padding: clamp(1rem, 1.5625vw, 1.875rem) clamp(1.25rem, 1.8229vw, 2.1875rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
    overflow: visible;
}

.ictk-security_solutions-kms-arch-server strong {
    font-size: clamp(0.8125rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: #fff;
}

.ictk-security_solutions-kms-arch-hsm {
    background: rgba(0, 190, 181, 0.15);
    border: 1px solid rgba(0, 190, 181, 0.3);
    padding: clamp(0.375rem, 0.5208vw, 0.625rem) clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: clamp(0.75rem, 0.7292vw, 0.875rem);
    font-weight: 600;
    color: var(--point-color);
    text-align: center;
}

.ictk-security_solutions-kms-arch-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.25rem, 0.3125vw, 0.375rem);
    flex-shrink: 0;
}

.ictk-security_solutions-kms-arch-flow-arrows {
    width: clamp(2rem, 2.6042vw, 3.125rem);
    height: auto;
}

.ictk-security_solutions-kms-arch-flow-labels {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.ictk-security_solutions-kms-arch-flow-labels span {
    font-size: clamp(0.625rem, 0.6771vw, 0.8125rem);
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.4;
    text-align: center;
}

.ictk-security_solutions-kms-arch-customer {
    border: 1px solid rgba(255, 255, 255, 0.25);
    padding: clamp(1rem, 1.5625vw, 1.875rem);
    position: relative;
    text-align: center;
}

.ictk-security_solutions-kms-arch-customer-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #252425;
    padding: 0 clamp(0.5rem, 0.7813vw, 0.9375rem);
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.ictk-security_solutions-kms-arch-agent {
    background: #2d2c2d;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: clamp(0.875rem, 1.3021vw, 1.5625rem) clamp(1rem, 1.5625vw, 1.875rem);
    margin-top: clamp(0.5rem, 0.7813vw, 0.9375rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.25rem, 0.3125vw, 0.375rem);
}

.ictk-security_solutions-kms-arch-agent strong {
    font-size: clamp(0.8125rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    color: #fff;
}

.ictk-security_solutions-kms-arch-agent span {
    font-size: clamp(0.6875rem, 0.7292vw, 0.875rem);
    color: rgba(255, 255, 255, 0.5);
}

/* -- CA Architecture Diagram -- */
.ictk-security_solutions-ca-arch {
    padding: clamp(1rem, 1.5625vw, 1.875rem) 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-ca-arch-admin {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
    flex-shrink: 0;
}

.ictk-security_solutions-ca-arch-admin-icon {
    width: clamp(3rem, 3.6458vw, 4.375rem);
    height: clamp(3rem, 3.6458vw, 4.375rem);
    background: rgba(0, 190, 181, 0.15);
    border: 1px solid rgba(0, 190, 181, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-security_solutions-ca-arch-admin-icon iconify-icon {
    font-size: clamp(1.5rem, 2vw, 2.5rem);
}

.ictk-security_solutions-ca-arch-admin p {
    font-size: clamp(0.6875rem, 0.7292vw, 0.875rem);
    color: rgba(255, 255, 255, 0.7);
    font-weight: 500;
}

.ictk-security_solutions-ca-arch-arrow {
    flex-shrink: 0;
    width: clamp(2rem, 2.6042vw, 3.125rem);
}

.ictk-security_solutions-ca-arch-arrow svg {
    width: 100%;
    height: auto;
    display: block;
}

.ictk-security_solutions-ca-arch-console {
    border: 1px solid rgba(255, 255, 255, 0.25);
    padding: clamp(1rem, 1.5625vw, 1.875rem);
    position: relative;
    text-align: center;
}

.ictk-security_solutions-ca-arch-console-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #252425;
    padding: 0 clamp(0.5rem, 0.7813vw, 0.9375rem);
    font-size: clamp(0.8125rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.ictk-security_solutions-ca-arch-console-inner {
    margin-top: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-security_solutions-ca-arch-console-page {
    background: var(--point-color);
    color: #fff;
    font-size: clamp(0.75rem, 0.8333vw, 1rem);
    font-weight: 600;
    padding: clamp(0.5rem, 0.7813vw, 0.9375rem) clamp(1.25rem, 1.8229vw, 2.1875rem);
}

.ictk-security_solutions-ca-arch-console-note {
    font-size: clamp(0.625rem, 0.6771vw, 0.8125rem);
    color: rgba(255, 255, 255, 0.45);
    margin-top: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_solutions-ca-arch-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.25rem, 0.3125vw, 0.375rem);
    flex-shrink: 0;
}

.ictk-security_solutions-ca-arch-flow-arrows {
    width: clamp(2rem, 2.6042vw, 3.125rem);
    height: auto;
}

.ictk-security_solutions-ca-arch-flow-labels {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.25rem, 0.3125vw, 0.375rem);
}

.ictk-security_solutions-ca-arch-flow-labels span {
    font-size: clamp(0.625rem, 0.6771vw, 0.8125rem);
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.4;
    text-align: center;
}

.ictk-security_solutions-ca-arch-flow-db {
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7) !important;
}

.ictk-security_solutions-ca-arch-server {
    border: 1px solid rgba(0, 190, 181, 0.4);
    padding: clamp(1rem, 1.5625vw, 1.875rem);
    position: relative;
}

.ictk-security_solutions-ca-arch-server-title {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #252425;
    padding: 0 clamp(0.5rem, 0.7813vw, 0.9375rem);
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: var(--point-color);
    white-space: nowrap;
}

.ictk-security_solutions-ca-arch-server-modules {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
    margin-top: clamp(0.5rem, 0.7813vw, 0.9375rem);
}

.ictk-security_solutions-ca-arch-module {
    background: #2d2c2d;
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: clamp(0.5rem, 0.7813vw, 0.9375rem) clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: clamp(0.6875rem, 0.7292vw, 0.875rem);
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    line-height: 1.3;
}

.ictk-security_solutions-ca-arch-module.highlight {
    background: rgba(0, 190, 181, 0.15);
    border-color: rgba(0, 190, 181, 0.3);
    color: var(--point-color);
    font-weight: 600;
}

.ictk-security_solutions-ca-arch-module.highlight small {
    font-size: 0.85em;
    font-weight: 400;
    opacity: 0.7;
}

.ictk-security_solutions-ca-arch-module.highlight.shimmer-active {
    animation: hsmPulse 2s ease-in-out infinite;
    position: relative;
    z-index: 1;
}

/* -- KMS / CA Architecture Flow Animation -- */
@keyframes archFlowForward {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: -14; }
}

@keyframes archFlowReverse {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: 14; }
}

@keyframes archPulseGlow {
    0%, 100% { filter: drop-shadow(0 0 2px rgba(0, 190, 181, 0)); }
    50% { filter: drop-shadow(0 0 6px rgba(0, 190, 181, 0.6)); }
}

@keyframes archNodeShimmer {
    0%, 100% { box-shadow: 0 0 8px rgba(0, 190, 181, 0.2), inset 0 0 6px rgba(255, 255, 255, 0); }
    50% { box-shadow: 0 0 20px rgba(0, 190, 181, 0.5), inset 0 0 12px rgba(255, 255, 255, 0.08); }
}

.ictk-security_solutions-kms-arch-server.shimmer-active {
    animation: archNodeShimmer 2.5s ease-in-out infinite;
}

@keyframes hsmPulse {
    0%, 100% {
        box-shadow: 0 0 6px rgba(0, 190, 181, 0.2), 0 0 12px rgba(0, 190, 181, 0.1);
        background: rgba(0, 190, 181, 0.15);
        border-color: rgba(0, 190, 181, 0.3);
    }
    50% {
        box-shadow: 0 0 14px 4px rgba(0, 190, 181, 0.6), 0 0 24px 8px rgba(0, 190, 181, 0.2);
        background: rgba(0, 190, 181, 0.35);
        border-color: rgba(0, 190, 181, 0.7);
    }
}

.ictk-security_solutions-kms-arch-hsm.shimmer-active {
    animation: hsmPulse 2s ease-in-out infinite;
    position: relative;
    z-index: 1;
}

.kms-arrow-line.flow-active,
.kms-flow-line-fwd.flow-active,
.ca-arrow-line.flow-active,
.ca-flow-line.flow-active {
    animation: archFlowForward 0.6s linear infinite;
}

.kms-flow-line-rev.flow-active {
    animation: archFlowReverse 0.6s linear infinite;
}

.ictk-security_solutions-kms-arch-arrow.flow-active svg,
.ictk-security_solutions-kms-arch-flow.flow-active svg,
.ictk-security_solutions-ca-arch-arrow.flow-active svg,
.ictk-security_solutions-ca-arch-flow.flow-active svg {
    animation: archPulseGlow 2s ease-in-out infinite;
}

/* -- 왜 ICTK의 PQC KMS인가? -- */
.ictk-security_solutions-whykms-wrap {
    width: 100%;
    position: relative;
    min-height: clamp(24rem, 31.25vw, 37.5rem);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

.ictk-security_solutions-whykms-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.ictk-security_solutions-whykms-bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.ictk-security_solutions-whykms-bg img.active {
    opacity: 1;
}

/* sub_header 스타일 그라디언트 */
.ictk-security_solutions-whykms-wrap::before,
.ictk-security_solutions-whykms-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    width: clamp(6rem, 15vw, 18rem);
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.ictk-security_solutions-whykms-wrap::before {
    left: 0;
    background: linear-gradient(90deg, var(--base-color-black), transparent);
}

.ictk-security_solutions-whykms-wrap::after {
    right: 0;
    background: linear-gradient(270deg, var(--base-color-black), transparent);
}

.ictk-security_solutions-whykms-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.55);
}


.ictk-security_solutions-whykms-gradient-bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: clamp(8rem, 16vw, 16rem);
    background: linear-gradient(180deg, transparent, var(--base-color-black));
    z-index: 1;
    pointer-events: none;
}

.ictk-security_solutions-whykms-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: clamp(4rem, 6.25vw, 7.5rem) clamp(3rem, 4.1667vw, 5rem) clamp(3rem, 4.1667vw, 5rem);
}

.ictk-security_solutions-whykms-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: clamp(3rem, 4.1667vw, 5rem);
}

.ictk-security_solutions-whykms-title span {
    color: var(--point-color);
}

.ictk-security_solutions-whykms-tabs {
    display: flex;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
    align-items: stretch;
}

.ictk-security_solutions-whykms-tab {
    flex: 1;
    padding: clamp(1.25rem, 1.5625vw, 1.875rem);
    border: none;
    background: rgba(0, 0, 0, 0.65);
    cursor: pointer;
    transition: background 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.ictk-security_solutions-whykms-tab-icon {
    position: absolute;
    right: clamp(0.75rem, 1.0417vw, 1.25rem);
    bottom: clamp(0.75rem, 1.0417vw, 1.25rem);
    font-size: clamp(2rem, 2.6042vw, 3.125rem);
    color: rgba(255, 255, 255, 0.15);
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.ictk-security_solutions-whykms-tab:hover .ictk-security_solutions-whykms-tab-icon,
.ictk-security_solutions-whykms-tab.active .ictk-security_solutions-whykms-tab-icon {
    opacity: 0;
}

.ictk-security_solutions-whykms-tab:hover {
    background: rgba(0, 190, 181, 0.25);
}

.ictk-security_solutions-whykms-tab.active {
    background: var(--point-color);
}

.ictk-security_solutions-whykms-tab-title {
    display: block;
    font-size: clamp(0.9375rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: clamp(0.5rem, 0.625vw, 0.75rem);
    transition: color 0.3s ease;
}

.ictk-security_solutions-whykms-tab:hover .ictk-security_solutions-whykms-tab-title {
    color: rgba(255, 255, 255, 0.8);
}

.ictk-security_solutions-whykms-tab.active .ictk-security_solutions-whykms-tab-title {
    color: #fff;
}

.ictk-security_solutions-whykms-tab-desc {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.65;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ictk-security_solutions-whykms-tab.active .ictk-security_solutions-whykms-tab-desc {
    opacity: 1;
}

/* -- 활용분야 -- */
.ictk-security_solutions-usecases-wrap {
    width: 100%;
    padding: var(--security-solutions-section-padding-y) 0;
    background: #fff;
}

.ictk-security_solutions-usecases-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-security_solutions-usecases-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    margin-bottom: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_solutions-usecases-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1rem, 1.0417vw, 1.25rem);
}

.ictk-security_solutions-usecases-card {
    background: #f5f5f5;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_solutions-usecases-card-icon {
    font-size: clamp(1.75rem, 2.0833vw, 2.5rem);
    color: var(--point-color);
    line-height: 1;
}

.ictk-security_solutions-usecases-card-title {
    display: block;
    font-size: clamp(0.9375rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #252425;
}

.ictk-security_solutions-usecases-card-desc {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    color: #555;
    line-height: 1.75;
}

/* -- PQC CA Section -- */
.ictk-security_solutions-ca-wrap {
    width: 100%;
    padding: var(--security-solutions-section-padding-y) 0;
    background: #252425;
}

.ictk-security_solutions-ca-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr clamp(8rem, 10.4167vw, 12.5rem) 2fr;
    gap: clamp(1.5rem, 2.0833vw, 2.5rem);
    align-items: center;
}

.ictk-security_solutions-ca-cells {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(0.25rem, 0.3646vw, 0.4375rem);
    align-self: stretch;
    align-content: center;
}

.ictk-security_solutions-ca-cell {
    aspect-ratio: 1;
    background: rgba(255, 255, 255, 0.08);
    transition: background 0.4s ease, box-shadow 0.4s ease;
}

.ictk-security_solutions-ca-cell.spark {
    background: var(--point-color);
    box-shadow: 0 0 6px rgba(0, 190, 181, 0.5);
}

.ictk-security_solutions-ca-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: var(--point-color);
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-ca-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.625;
    max-width: clamp(18rem, 23.2292vw, 27.875rem);
}

.ictk-security_solutions-ca-diagram {
    width: 100%;
    overflow: hidden;
}

.ictk-security_solutions-ca-diagram img {
    width: 100%;
    height: auto;
    display: block;
}

/* -- 왜 ICTK의 PQC CA인가? -- */
.ictk-security_solutions-whyca-wrap {
    width: 100%;
    padding: var(--security-solutions-section-padding-y) 0;
    background: #fff;
}

.ictk-security_solutions-whyca-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
    align-items: stretch;
}

.ictk-security_solutions-whyca-text {
    padding-right: clamp(1rem, 2.0833vw, 2.5rem);
}

.ictk-security_solutions-whyca-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 1fr;
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_solutions-whyca-img-tile {
    overflow: hidden;
}

.ictk-security_solutions-whyca-img-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.ictk-security_solutions-whyca-img-tile:hover img {
    transform: scale(1.05);
}

.ictk-security_solutions-whyca-title {
    font-size: clamp(1.5rem, 1.6667vw, 2rem);
    font-weight: 700;
    color: #181818;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-security_solutions-whyca-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #363636;
    line-height: 1.625;
}

.ictk-security_solutions-whyca-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr 1fr;
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
}

.ictk-security_solutions-whyca-card {
    background: #f2f2f2;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-security_solutions-whyca-card-icon {
    margin-bottom: clamp(0.75rem, 1.0417vw, 1.25rem);
    color: var(--point-color);
    line-height: 1;
    font-size: clamp(2rem, 2.6042vw, 3.125rem);
}

.ictk-security_solutions-whyca-card-title {
    display: block;
    font-size: clamp(1rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #000;
    margin-bottom: clamp(0.75rem, 1.0417vw, 1.25rem);
}

.ictk-security_solutions-whyca-card-list {
    display: flex;
    flex-direction: column;
    gap: clamp(0.25rem, 0.3125vw, 0.375rem);
}

.ictk-security_solutions-whyca-card-list li {
    font-size: clamp(0.875rem, 0.8333vw, 1rem);
    color: #000;
    line-height: 1.75;
}


/* #################################### Security Modules - Responsive #################################### */
@media all and (max-width: 1024px) {
    .ictk-security_modules-product-inner {
        grid-template-columns: 1fr;
    }

    .ictk-security_modules-spec-cards {
        grid-template-columns: 1fr;
    }

    .ictk-security_modules-puf-content {
        grid-template-columns: 1fr;
    }
}

@media all and (max-width: 768px) {
    .ictk-security_modules-overview-desc br,
    .ictk-security_modules-product-detail-desc br,
    .ictk-security_modules-puf-desc br {
        display: none;
    }

    .ictk-security_modules-solutions-btns {
        flex-direction: column;
        align-items: center;
    }

    .ictk-security_modules-puf-product-cards {
        grid-template-columns: 1fr;
    }
}


/* #################################### Security Solutions - Responsive #################################### */

/* --- 1440px: PQC CA 중간 화면 조정 --- */
@media all and (max-width: 1440px) {
    /* PQC CA 섹션: 3열 → 2열 (cells 숨김) */
    .ictk-security_solutions-ca-inner {
        grid-template-columns: 1fr 1.8fr;
    }

    .ictk-security_solutions-ca-cells {
        display: none;
    }

    .ictk-security_solutions-ca-desc {
        max-width: none;
    }

    /* CA Architecture: 중앙 정렬 */
    .ictk-security_solutions-ca-arch {
        justify-content: center;
        gap: clamp(0.75rem, 1.25vw, 1.25rem);
    }

    /* 다이어그램 overflow 해제 */
    .ictk-security_solutions-ca-diagram {
        overflow: visible;
    }

    .ictk-security_solutions-ca-arch-server-modules {
        gap: clamp(0.375rem, 0.5vw, 0.5rem);
    }

    .ictk-security_solutions-ca-arch-module {
        padding: clamp(0.375rem, 0.625vw, 0.75rem) clamp(0.5rem, 0.833vw, 1rem);
        font-size: clamp(0.625rem, 0.625vw, 0.75rem);
    }
}

/* --- 1200px: PQC CA 다이어그램 세로 스택 --- */
@media all and (max-width: 1200px) {
    .ictk-security_solutions-ca-arch {
        flex-direction: column;
        align-items: center;
    }

    .ictk-security_solutions-ca-arch-arrow {
        transform: rotate(90deg);
    }

    .ictk-security_solutions-ca-arch-flow {
        flex-direction: row;
    }

    .ictk-security_solutions-ca-arch-flow-arrows {
        transform: rotate(90deg);
    }
}

/* --- 1024px: 2열→1열 전환 --- */
@media all and (max-width: 1024px) {
    /* Section 1: Diagram 1열 전환 */
    .ictk-security_solutions-diagram-inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .ictk-security_solutions-diagram-text {
        grid-column: 1;
        grid-row: auto;
        max-width: none;
    }

    .ictk-security_solutions-diagram-img {
        grid-column: 1;
        grid-row: auto;
        padding-bottom: 56%;
    }

    .ictk-security_solutions-diagram-details {
        grid-column: 1;
        grid-row: auto;
    }

    /* Section 2: Why 차트+다이어그램 1열 전환 */
    .ictk-security_solutions-why-content {
        grid-template-columns: 1fr;
    }

    .ictk-security_solutions-why-diagram {
        max-width: clamp(24rem, 60vw, 32rem);
        margin: 0 auto;
    }

    /* Section 3: UI 1열 전환 */
    .ictk-security_solutions-ui-content {
        grid-template-columns: 1fr;
        gap: clamp(2rem, 4.1667vw, 5rem);
    }

    .ictk-security_solutions-ui-grid {
        order: 0;
        grid-template-columns: repeat(2, 1fr);
    }

    .ictk-security_solutions-ui-header {
        text-align: center;
        margin-left: 0;
    }

    .ictk-security_solutions-ui-title {
        font-size: clamp(1.75rem, 4vw, 2.5rem);
    }

    /* Section 4+5: Spec 1열 전환 */
    .ictk-security_solutions-spec-inner {
        grid-template-columns: 1fr;
    }

    /* PQC Services */
    .ictk-security_solutions-whykms-cards {
        grid-template-columns: 1fr;
    }

    .ictk-security_solutions-usecases-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .ictk-security_solutions-ca-inner {
        grid-template-columns: 1fr;
    }

    .ictk-security_solutions-ca-cells {
        display: none;
    }

    .ictk-security_solutions-ca-desc {
        max-width: none;
    }

    .ictk-security_solutions-ca-arch {
        flex-wrap: wrap;
        justify-content: center;
    }

    .ictk-security_solutions-whyca-inner {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 3vw, 2rem);
    }

    .ictk-security_solutions-whyca-text {
        max-width: none;
        padding-right: 0;
        text-align: center;
    }

    .ictk-security_solutions-whyca-images {
        order: -1;
    }

    /* KMS Architecture 세로 스택 */
    .ictk-security_solutions-kms-arch {
        flex-direction: column;
        gap: clamp(2rem, 4vw, 3rem);
        padding: clamp(3rem, 5vw, 6rem) clamp(1.5rem, 3vw, 2.5rem);
    }

    .ictk-security_solutions-kms-arch-users {
        flex-direction: row;
        gap: clamp(2rem, 4vw, 3rem);
    }

    .ictk-security_solutions-kms-arch-arrow {
        transform: rotate(90deg);
    }

    .ictk-security_solutions-kms-arch-flow {
        flex-direction: row;
        gap: clamp(1rem, 2vw, 1.5rem);
    }

    .ictk-security_solutions-kms-arch-flow-arrows {
        transform: rotate(90deg);
    }

    /* Why KMS tabs 세로 스택 */
    .ictk-security_solutions-whykms-tabs {
        flex-direction: column;
    }
}

/* --- 768px: 텍스트 줄바꿈 해제, 간격·폰트 축소 --- */
@media all and (max-width: 768px) {
    .ictk-security_solutions-section-title-desc br,
    .ictk-security_solutions-diagram-desc br,
    .ictk-security_solutions-why-desc br,
    .ictk-security_solutions-ui-desc br,
    .ictk-security_solutions-kms-desc br {
        display: none;
    }

    .ictk-security_solutions-tabs-inner {
        gap: clamp(0.25rem, 1vw, 0.5rem);
    }

    /* Section 1: Diagram 상세카드 간격 축소 */
    .ictk-security_solutions-diagram-details {
        gap: clamp(0.625rem, 1.5vw, 1rem);
    }

    .ictk-security_solutions-diagram-detail {
        padding: clamp(0.875rem, 2vw, 1.25rem);
    }

    /* Section 2: 차트 헤더 세로 스택 + 패딩 축소 */
    .ictk-security_solutions-why-chart {
        padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 2.5vw, 1.5rem);
    }

    .ictk-security_solutions-why-chart-header {
        flex-direction: column;
        gap: clamp(0.5rem, 1.5vw, 0.75rem);
    }

    .ictk-security_solutions-why-chart-bar-label .bar-label-sub {
        display: none;
    }

    .ictk-security_solutions-why-chart-title {
        white-space: normal;
    }

    /* 삼각형 다이어그램 노드 패딩 축소 */
    .ictk-security_solutions-why-diagram-node-box {
        padding: clamp(0.5rem, 1.5vw, 0.75rem) clamp(0.75rem, 2vw, 1.5rem);
    }

    /* 테이블 패딩 축소 */
    .ictk-security_solutions-features-table thead th,
    .ictk-security_solutions-features-table tbody td,
    .ictk-security_solutions-models-table thead th,
    .ictk-security_solutions-models-table tbody td {
        padding: clamp(0.625rem, 1.5vw, 0.875rem) clamp(0.5rem, 1.25vw, 1rem);
        font-size: clamp(0.8125rem, 1.8vw, 0.9375rem);
    }

    .ictk-security_solutions-features-table thead th:first-child,
    .ictk-security_solutions-models-table thead th:first-child {
        width: auto;
    }

    /* PQC KMS/CA 아키텍처 폰트 축소 */
    .ictk-security_solutions-kms-arch-system-title,
    .ictk-security_solutions-kms-arch-customer-title,
    .ictk-security_solutions-ca-arch-server-title,
    .ictk-security_solutions-ca-arch-console-title {
        font-size: clamp(0.75rem, 2.5vw, 1rem);
    }

    .ictk-security_solutions-kms-arch-console strong,
    .ictk-security_solutions-kms-arch-server strong,
    .ictk-security_solutions-kms-arch-agent strong,
    .ictk-security_solutions-ca-arch-console-page {
        font-size: clamp(0.6875rem, 2vw, 0.875rem);
    }

    .ictk-security_solutions-kms-arch-user p,
    .ictk-security_solutions-ca-arch-admin p {
        font-size: clamp(0.625rem, 2vw, 0.75rem);
    }

    /* CA 아키텍처 세로 스택 */
    .ictk-security_solutions-ca-arch {
        flex-direction: column;
    }

    .ictk-security_solutions-ca-arch-arrow {
        transform: rotate(90deg);
    }

    .ictk-security_solutions-ca-arch-flow {
        flex-direction: row;
    }

    .ictk-security_solutions-ca-arch-flow-arrows {
        transform: rotate(90deg);
    }

    /* Why CA 섹션 조정 */
    .ictk-security_solutions-whyca-desc br {
        display: none;
    }
}

/* --- 640px: 삼각형 다이어그램 세로 스택 전환 --- */
@media all and (max-width: 640px) {
    .ictk-security_solutions-why-diagram {
        aspect-ratio: unset;
        position: static;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(1.5rem, 4vw, 2rem);
        max-width: none;
    }

    .ictk-security_solutions-why-diagram-svg,
    .ictk-security_solutions-why-diagram::before {
        display: none;
    }

    .ictk-security_solutions-why-diagram-node {
        position: static;
        transform: none;
        opacity: 1;
    }

    .ictk-security_solutions-why-diagram-node-center {
        order: -1;
    }

    /* Section 1: Diagram 이미지 비율 확대 */
    .ictk-security_solutions-diagram-img {
        padding-bottom: 70%;
    }

    .ictk-security_solutions-diagram-img img {
        width: 90%;
    }

    /* PQC: KMS 아키텍처 추가 축소 */
    .ictk-security_solutions-kms-arch-system-inner {
        flex-direction: column;
    }

    .ictk-security_solutions-kms-arch-user-icon {
        width: clamp(2.5rem, 10vw, 3rem);
        height: clamp(2.5rem, 10vw, 3rem);
    }

    /* PQC: CA 서버 모듈 1열 */
    .ictk-security_solutions-ca-arch-server-modules {
        grid-template-columns: 1fr;
    }

    /* PQC: Why CA 이미지 1열 */
    .ictk-security_solutions-whyca-images {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
}

/* --- 480px: 1열 전환, 극소 화면 대응 --- */
@media all and (max-width: 480px) {
    /* UI 그리드 1열 */
    .ictk-security_solutions-ui-grid {
        grid-template-columns: 1fr;
    }

    /* PQC Services 1열 */
    .ictk-security_solutions-usecases-cards {
        grid-template-columns: 1fr;
    }

    .ictk-security_solutions-whyca-cards {
        grid-template-columns: 1fr;
    }

    /* PQC: Why KMS 패딩 축소 */
    .ictk-security_solutions-whykms-inner {
        padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 3vw, 2rem);
    }

    .ictk-security_solutions-whykms-tab {
        padding: clamp(1rem, 3vw, 1.25rem);
    }

    .ictk-security_solutions-whykms-tab-title {
        font-size: clamp(0.875rem, 3.5vw, 1rem);
    }

    .ictk-security_solutions-whykms-tab-desc {
        font-size: clamp(0.8125rem, 3vw, 0.875rem);
    }

    /* PQC: KMS 아키텍처 극소화면 */
    .ictk-security_solutions-kms-arch {
        padding: clamp(2rem, 5vw, 3rem) clamp(1rem, 3vw, 1.5rem);
    }

    .ictk-security_solutions-kms-arch-badge {
        font-size: 0.5rem;
        padding: 1px 3px;
    }

    /* 탭 축소 */
    a.ictk-security_solutions-tab,
    a.ictk-security_solutions-tab:link,
    a.ictk-security_solutions-tab:visited {
        font-size: clamp(0.75rem, 3.75vw, 0.875rem);
        padding: clamp(0.625rem, 2.5vw, 0.875rem) clamp(0.375rem, 1.5vw, 0.625rem);
    }

    /* Section 1: Diagram 상세카드 2열→1열 */
    .ictk-security_solutions-diagram-details {
        gap: clamp(0.5rem, 1.5vw, 0.75rem);
    }

    /* 차트 바 라벨 축소 */
    .ictk-security_solutions-why-chart-bar-label {
        font-size: clamp(0.625rem, 2.8vw, 0.75rem);
    }

    /* 테이블 더 축소 */
    .ictk-security_solutions-features-table thead th,
    .ictk-security_solutions-features-table tbody td,
    .ictk-security_solutions-models-table thead th,
    .ictk-security_solutions-models-table tbody td {
        padding: clamp(0.5rem, 1.25vw, 0.625rem) clamp(0.375rem, 1vw, 0.5rem);
        font-size: clamp(0.75rem, 2.8vw, 0.8125rem);
    }

    /* Why 타이틀 줄바꿈 허용 */
    .ictk-security_solutions-why-title {
        white-space: normal;
    }
}

/* --- 360px: 극소 화면 --- */
@media all and (max-width: 360px) {
    /* 차트 Y축 숨김 (공간 확보) */
    .ictk-security_solutions-why-chart-y {
        display: none;
    }

    .ictk-security_solutions-why-chart-bars {
        border-left: none;
    }
}


/* #################################### Security IP + Chips — prefers-reduced-motion #################################### */
@media (prefers-reduced-motion: reduce) {
    .ictk-security_ip-features-card,
    .ictk-security_ip-guide-title,
    .ictk-security_ip-guide-desc,
    .ictk-security_ip-guide-column,
    .ictk-security_ip-algorithms-card,
    .ictk-security_chips-section-title-wrap,
    .ictk-security_chips-product-container,
    .ictk-security_chips-product-img img,
    .ictk-security_chips-product-spec-wrap,
    .ictk-security_chips-product-tags,
    .ictk-security_chips-comparison-title,
    .ictk-security_chips-comparison-table-wrapper,
    .ictk-security_chips-comparison-tags,
    .ictk-security_chips-hardware-title,
    .ictk-security_chips-hardware-subtitle,
    .ictk-security_chips-hardware-tag {
        opacity: 1 !important;
        transform: none !important;
    }
}


/* ################################################################################################ */
/* ##########################################  CONTACT PAGE  ###################################### */
/* ################################################################################################ */

/* #################################### Contact - Wrap #################################### */
.ictk-contact-wrap {
    width: 100%;
    background: #fff;
}

/* #################################### Contact - Offices Section #################################### */
.ictk-contact-offices-wrap {
    width: 100%;
    padding: clamp(3rem, 5.2083vw, 6.25rem) 0;
    background: #fff;
}

.ictk-contact-offices-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    text-align: center;
}

.ictk-contact-offices-title {
    font-size: clamp(1.5rem, 2.0833vw, 2.5rem);
    font-weight: 700;
    color: var(--point-color);
    margin-bottom: clamp(0.5rem, 0.7813vw, 0.9375rem);
}

.ictk-contact-offices-desc {
    font-size: clamp(0.875rem, 1.0417vw, 1.25rem);
    color: #666;
    margin-bottom: clamp(2rem, 3.125vw, 3.75rem);
}

/* #################################### Contact - Map #################################### */
.ictk-contact-map-wrap {
    width: 100%;
    height: clamp(18rem, 26.0417vw, 31.25rem);
    overflow: hidden;
}

.ictk-contact-map-wrap iframe {
    width: 100%;
    height: 100%;
    display: block;
}

/* #################################### Contact - Information Bar #################################### */
.ictk-contact-info-wrap {
    width: 100%;
    padding: clamp(1.25rem, 2.0833vw, 2.5rem) 0;
    background: #fff;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.ictk-contact-info-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 2.6042vw, 3.125rem);
}

.ictk-contact-info-label-wrap {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
    flex-shrink: 0;
}

.ictk-contact-info-label-text {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.ictk-contact-info-label-line {
    width: clamp(3rem, 5.2083vw, 6.25rem);
    height: 1px;
    background: #ccc;
}

.ictk-contact-info-items {
    flex: 1;
    display: flex;
    justify-content: space-between;
    gap: clamp(1rem, 2.0833vw, 2.5rem);
}

.ictk-contact-info-item {
    display: flex;
    align-items: center;
    gap: clamp(0.625rem, 0.7813vw, 0.9375rem);
}

.ictk-contact-info-icon {
    width: clamp(2.25rem, 2.6042vw, 3.125rem);
    height: clamp(2.25rem, 2.6042vw, 3.125rem);
    background: var(--point-color);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ictk-contact-info-icon svg {
    width: clamp(1rem, 1.1458vw, 1.375rem);
    height: clamp(1rem, 1.1458vw, 1.375rem);
    color: #fff;
}

.ictk-contact-info-content {
    display: flex;
    flex-direction: column;
    gap: clamp(0.125rem, 0.2604vw, 0.3125rem);
}

.ictk-contact-info-title {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.ictk-contact-info-value {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #666;
    line-height: 1.4;
}

/* #################################### Contact - Form Section #################################### */
.ictk-contact-form-wrap {
    width: 100%;
    padding: clamp(4rem, 6.25vw, 7.5rem) 0;
    background: #fff;
}

.ictk-contact-form-inner {
    width: var(--contents-wrap-width);
    margin: 0 auto;
    display: flex;
    gap: clamp(2rem, 2.6042vw, 3.125rem);
}

.ictk-contact-form-left {
    flex: 0 0 38%;
}

.ictk-contact-form-right {
    flex: 0 0 58%;
}

.ictk-contact-form-badge {
    display: inline-block;
    padding: clamp(0.375rem, 0.5208vw, 0.625rem) clamp(0.75rem, 1.0417vw, 1.25rem);
    background: var(--point-color);
    color: #fff;
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-contact-form-title {
    font-size: clamp(1.75rem, 2.5vw, 3rem);
    font-weight: 700;
    color: #181818;
    margin-bottom: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-contact-form-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #666;
    line-height: 1.7;
}

/* #################################### Contact - Form Fields #################################### */
.ictk-contact-form {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-contact-form-row {
    display: flex;
    gap: clamp(1rem, 1.5625vw, 1.875rem);
}

.ictk-contact-form-row.full {
    flex-direction: column;
}

.ictk-contact-form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: clamp(0.375rem, 0.5208vw, 0.625rem);
}

.ictk-contact-form-group.checkbox {
    flex-direction: row;
    align-items: flex-start;
    gap: clamp(0.5rem, 0.7813vw, 0.9375rem);
}

.ictk-contact-form-label {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    color: #333;
}

.ictk-contact-form-label .required {
    color: var(--point-color);
}

.ictk-contact-form-input,
.ictk-contact-form-textarea {
    width: 100%;
    padding: clamp(0.875rem, 1.0417vw, 1.25rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-family: inherit;
    color: #333;
    background: #f5f5f5;
    border: none;
    outline: none;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.ictk-contact-form-input:focus,
.ictk-contact-form-textarea:focus {
    background: #eee;
    box-shadow: inset 0 0 0 2px var(--point-color);
}

.ictk-contact-form-input::placeholder,
.ictk-contact-form-textarea::placeholder {
    color: #999;
}

.ictk-contact-form-textarea {
    resize: vertical;
    min-height: clamp(8rem, 10.4167vw, 12.5rem);
}

.ictk-contact-form-checkbox {
    width: clamp(1rem, 1.1458vw, 1.375rem);
    height: clamp(1rem, 1.1458vw, 1.375rem);
    accent-color: var(--point-color);
    flex-shrink: 0;
    margin-top: 0.1875rem;
}

.ictk-contact-form-checkbox-content {
    display: flex;
    flex-direction: column;
    gap: clamp(0.25rem, 0.3906vw, 0.46875rem);
}

.ictk-contact-form-checkbox-label {
    font-size: clamp(0.8125rem, 0.9375vw, 1.125rem);
    color: #333;
    line-height: 1.4;
    cursor: pointer;
}

.ictk-contact-form-checkbox-label .required {
    color: var(--point-color);
}

.ictk-contact-form-checkbox-desc {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #888;
    line-height: 1.5;
    padding-left: 0.25rem;
}

.ictk-contact-form-submit {
    width: 100%;
    padding: clamp(1rem, 1.1458vw, 1.375rem);
    font-size: clamp(0.9375rem, 1.0417vw, 1.25rem);
    font-weight: 600;
    color: #fff;
    background: var(--point-color);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.5rem, 0.625vw, 0.75rem);
    transition: background 0.2s ease;
}

.ictk-contact-form-submit svg {
    width: clamp(1rem, 1.1458vw, 1.375rem);
    height: clamp(1rem, 1.1458vw, 1.375rem);
}

.ictk-contact-form-submit:hover {
    background: #009990;
}

/* #################################### Contact - Responsive #################################### */
@media all and (max-width: 1280px) {
    .ictk-contact-info-inner {
        flex-wrap: wrap;
    }

    .ictk-contact-info-label-wrap {
        flex: 0 0 100%;
        margin-bottom: clamp(0.5rem, 1vw, 1rem);
    }

    .ictk-contact-info-label-line {
        flex: 1;
    }

    .ictk-contact-info-items {
        flex-wrap: wrap;
    }

    .ictk-contact-info-item {
        flex: 1 1 calc(50% - 1rem);
    }
}

@media all and (max-width: 1024px) {
    .ictk-contact-form-inner {
        flex-direction: column;
        gap: clamp(2rem, 4vw, 3rem);
    }

    .ictk-contact-form-left {
        flex: 0 0 auto;
    }
}

@media all and (max-width: 768px) {
    .ictk-contact-info-item {
        flex: 1 1 100%;
    }

    .ictk-contact-form-row {
        flex-direction: column;
    }
}

@media all and (max-width: 480px) {
    .ictk-contact-map-wrap {
        height: clamp(12rem, 60vw, 18rem);
    }

    .ictk-contact-info-item {
        justify-content: flex-start;
    }
}

/* #################################### Contact - Privacy Link #################################### */
.ictk-contact-privacy-link {
    background: none;
    border: none;
    color: var(--point-color);
    font-size: inherit;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
}

.ictk-contact-privacy-link:hover {
    color: #009990;
}

/* #################################### Contact - Privacy Modal #################################### */
.ictk-privacy-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 10001;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s ease;
}

.ictk-privacy-modal.active {
    visibility: visible;
    opacity: 1;
}

.ictk-privacy-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.ictk-privacy-modal-content {
    position: relative;
    width: 90%;
    max-width: 700px;
    max-height: 85vh;
    background: #fff;
    display: flex;
    flex-direction: column;
    transform: translateY(20px);
    transition: transform 0.3s ease;
}

.ictk-privacy-modal.active .ictk-privacy-modal-content {
    transform: translateY(0);
}

.ictk-privacy-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: clamp(1rem, 1.5625vw, 1.875rem) clamp(1.5rem, 2.0833vw, 2.5rem);
    border-bottom: 1px solid #eee;
    flex-shrink: 0;
}

.ictk-privacy-modal-title {
    font-size: clamp(1.25rem, 1.5625vw, 1.875rem);
    font-weight: 700;
    color: #181818;
}

.ictk-privacy-modal-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ictk-privacy-modal-close svg {
    width: clamp(1.25rem, 1.5625vw, 1.875rem);
    height: clamp(1.25rem, 1.5625vw, 1.875rem);
    color: #666;
    transition: color 0.2s ease;
}

.ictk-privacy-modal-close:hover svg {
    color: #333;
}

.ictk-privacy-modal-body {
    flex: 1;
    overflow-y: auto;
    padding: clamp(1.5rem, 2.0833vw, 2.5rem);
}

.ictk-privacy-modal-body h4 {
    font-size: clamp(0.9375rem, 1.0417vw, 1.25rem);
    font-weight: 700;
    color: #181818;
    margin: clamp(1.5rem, 2.0833vw, 2.5rem) 0 clamp(0.5rem, 0.7813vw, 0.9375rem);
}

.ictk-privacy-modal-body h4:first-child {
    margin-top: 0;
}

.ictk-privacy-modal-body p {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #555;
    line-height: 1.7;
    margin-bottom: clamp(0.75rem, 1.0417vw, 1.25rem);
}

.ictk-privacy-modal-body ul {
    margin: 0 0 clamp(0.75rem, 1.0417vw, 1.25rem) 0;
    padding-left: clamp(1.25rem, 1.5625vw, 1.875rem);
}

.ictk-privacy-modal-body li {
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    color: #555;
    line-height: 1.7;
    margin-bottom: clamp(0.25rem, 0.3906vw, 0.46875rem);
}

.ictk-privacy-modal-body strong {
    color: var(--point-color);
}

.ictk-privacy-modal-footer {
    padding: clamp(1rem, 1.5625vw, 1.875rem) clamp(1.5rem, 2.0833vw, 2.5rem);
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
}

.ictk-privacy-modal-btn {
    padding: clamp(0.625rem, 0.8333vw, 1rem) clamp(1.5rem, 2.0833vw, 2.5rem);
    font-size: clamp(0.875rem, 0.9375vw, 1.125rem);
    font-weight: 600;
    color: #fff;
    background: var(--point-color);
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ictk-privacy-modal-btn:hover {
    background: #009990;
}

@media all and (max-width: 768px) {
    .ictk-privacy-modal-content {
        width: 95%;
        max-height: 90vh;
    }
}
