﻿@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

:root {
    --corp-bg: #f4f7fb;
    --corp-surface: #ffffff;
    --corp-surface-soft: #f8fbff;
    --corp-ink: #1d2a36;
    --corp-muted: #607285;
    --corp-line: #d6e1ec;
    --corp-brand: #0d4e7a;
    --corp-brand-strong: #0b3f63;
    --corp-accent: #0f766e;
    --corp-shadow: 0 10px 28px rgba(17, 37, 56, 0.07);
    --corp-radius: 10px;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Pretendard', sans-serif !important;
    background: linear-gradient(180deg, #f8fafd 0%, var(--corp-bg) 100%) !important;
    color: var(--corp-ink) !important;
    line-height: 1.62;
    letter-spacing: -0.01em;
    min-height: 100vh;
}

a { color: inherit; }

.corp-global-shell {
    width: min(1820px, calc(100% - 24px));
    margin: 10px auto 16px;
    background: var(--corp-surface);
    border: 1px solid var(--corp-line);
    border-radius: var(--corp-radius);
    box-shadow: var(--corp-shadow);
}

.corp-global-inner {
    padding: 14px 18px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px 18px;
    align-items: center;
}

.corp-brand-wrap { min-width: 0; }

.corp-brand {
    text-decoration: none;
    font-size: 18px;
    font-weight: 800;
    color: var(--corp-brand);
}

.corp-brand-desc {
    margin: 3px 0 0;
    color: var(--corp-muted);
    font-size: 13px;
}

.corp-quick-nav {
    display: none !important;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.corp-quick-nav a {
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    color: #27415a;
    border: 1px solid #d7e3ef;
    background: #f8fbff;
    padding: 7px 10px;
    border-radius: 6px;
}

.corp-page-intro {
    width: min(1820px, calc(100% - 24px));
    margin: 0 auto 16px;
    background: linear-gradient(180deg, #f5f9fd 0%, #ffffff 100%);
    border: 1px solid #d7e3ee;
    border-radius: var(--corp-radius);
    padding: 18px 20px;
}

.corp-page-kicker {
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #4f6d88;
}

.corp-page-title {
    margin: 0;
    font-size: 30px;
    line-height: 1.24;
    letter-spacing: -0.03em;
    color: #122739;
}

.corp-page-desc {
    margin: 8px 0 0;
    color: var(--corp-muted);
    font-size: 15px;
}

/* root/home */
.top-nav-bar {
    background: rgba(255,255,255,0.97) !important;
    border-bottom: 1px solid #dbe5ef !important;
    box-shadow: 0 2px 12px rgba(17, 37, 56, 0.06) !important;
}

.top-nav-list {
    width: min(1820px, calc(100% - 34px)) !important;
    justify-content: flex-start !important;
}

.top-nav-link {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #2b3d4f !important;
}

.top-nav-link:hover,
.top-nav-link.active {
    color: #2b3d4f !important;
}

.main-container {
    width: min(1820px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
}

.header-area {
    display: grid;
    grid-template-columns: minmax(420px, 560px) minmax(640px, 1fr);
    grid-template-areas:
      "logo banner"
      "copy banner"
      "badges banner";
    column-gap: 32px;
    row-gap: 12px;
}

.logo { grid-area: logo; }
.hero-copy { grid-area: copy; max-width: 540px; }
.main-banner-img { grid-area: banner; height: clamp(320px, 33vw, 520px); object-fit: cover; }
.trust-badge-area { grid-area: badges; }

.hero-title {
    margin: 0;
    font-size: 42px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #132637;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.hero-lead {
    margin: 12px 0 0;
    font-size: 17px;
    color: #546c81;
    line-height: 1.7;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.trust-pill {
    background: #eef4fa !important;
    border: 1px solid #d7e3f0 !important;
    color: #31526e !important;
    border-radius: 6px !important;
}

.stats-grid { max-width: none !important; margin: 0 0 24px !important; }
.stat-item {
    border-radius: 8px !important;
}
.stat-num {
    color: #123b5e !important;
}

.identity-strip {
    margin: 0 0 20px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.identity-card {
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
    border: 1px solid #d5e1ed;
    border-radius: 8px;
    padding: 18px 16px;
    text-align: left;
    min-height: 182px;
}

.identity-label {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    color: #496782;
    letter-spacing: -0.01em;
}

.identity-card h3 {
    margin: 0;
    font-size: 19px;
    line-height: 1.42;
    letter-spacing: -0.02em;
    color: #182d40;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.identity-card p {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.68;
    color: #5e7488;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.service-map {
    margin: 18px 0 14px;
    border: 1px solid #d7e2ed;
    border-radius: 8px;
    background: linear-gradient(180deg, #f8fbff 0%, #f3f8fc 100%);
    padding: 22px 20px;
}

.service-map-head {
    display: grid;
    grid-template-columns: minmax(240px, 360px) 1fr;
    gap: 14px 24px;
    align-items: end;
    margin-bottom: 14px;
}

.service-map-head h3 {
    margin: 0;
    font-size: 30px;
    line-height: 1.25;
    letter-spacing: -0.03em;
    color: #183147;
}

.service-map-head p {
    margin: 0;
    font-size: 15px;
    color: #5f768b;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.service-map-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.service-map-card {
    display: block;
    text-decoration: none;
    border: 1px solid #d3e0ec;
    border-radius: 8px;
    background: #ffffff;
    padding: 16px 15px;
}

.service-map-label {
    display: inline-block;
    margin-bottom: 9px;
    padding: 4px 8px;
    border: 1px solid #d0deeb;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: #30516f;
}

.service-map-card strong {
    display: block;
    margin: 0;
    font-size: 19px;
    line-height: 1.35;
    color: #1a3248;
    letter-spacing: -0.02em;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.service-map-card em {
    display: block;
    margin-top: 8px;
    font-style: normal;
    font-size: 13px;
    color: #5f7689;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.photo-gallery-wrapper {
    padding: 24px !important;
    margin-bottom: 22px !important;
}

.photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.photo-grid img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    cursor: pointer;
    transition: all 0.25s ease;
    background: #e9f0f7;
}

.photo-grid img:hover {
    filter: brightness(0.74);
    transform: scale(0.985);
}

#imgZoomModal {
    flex-direction: column;
    background: rgba(15, 23, 42, 0.95) !important;
    cursor: pointer;
}

#zoomedImg {
    max-width: 90%;
    max-height: 80vh;
    border-radius: 12px;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.6);
    object-fit: contain;
    cursor: default;
}

.close-zoom-btn {
    margin-top: 20px;
    padding: 11px 28px !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
}

.divider-wrap {
    border-top: 2px solid #e0e8f1 !important;
    padding-top: 16px;
}

.divider-wrap.first { border-top: 0 !important; }
.divider { color: #1b3246 !important; }
.section-desc { color: #637a8f !important; }

.stat-desc {
    color: #596f83 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.58 !important;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.menu-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; }
.menu-btn.featured { grid-column: span 2; }
.process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.hero-diagnosis-card {
    display: grid !important;
    grid-template-columns: 110px 1fr;
    gap: 20px;
    align-items: center;
    padding: 24px 26px !important;
    border-radius: 12px !important;
    min-height: 0 !important;
    background: linear-gradient(135deg, #dcecff 0%, #d4e5f6 55%, #e7f1fb 100%) !important;
    border: 1px solid #a8c3db !important;
    box-shadow: 0 10px 20px rgba(23, 56, 85, 0.14);
}

.hero-diagnosis-card:hover {
    transform: translateY(-2px) !important;
    border-color: #8fb0ce !important;
    box-shadow: 0 14px 26px rgba(23, 56, 85, 0.18);
}

.hero-diagnosis-card .icon-box {
    width: 84px !important;
    height: 84px !important;
    min-width: 84px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    color: #203246 !important;
    border: 1px solid #dfc673 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.hero-diagnosis-card .btn-content {
    display: grid;
    gap: 8px;
}

.hero-diagnosis-card .label.recommend {
    background: #1b4f76 !important;
    color: #ffffff !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
}

.hero-diagnosis-card .btn-title {
    margin-top: 0 !important;
    font-size: 29px !important;
    line-height: 1.25;
    color: #183046 !important;
}

.hero-diagnosis-card .btn-desc {
    margin-top: 0 !important;
    font-size: 15px !important;
    color: #4f677c !important;
}

.core-diagnosis-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 6px;
}

.core-diagnosis-grid .info-card {
    display: block !important;
    min-height: 208px !important;
    padding: 18px 18px 16px !important;
    border-radius: 10px !important;
    border: 1px solid #bcd2e6 !important;
    background: linear-gradient(180deg, #f2f8ff 0%, #e8f1fb 100%) !important;
    position: relative;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(24, 55, 82, 0.10);
}

.core-diagnosis-grid .info-card:hover {
    transform: translateY(-3px) !important;
    border-color: #8faece !important;
    box-shadow: 0 12px 20px rgba(24, 55, 82, 0.16);
}

.core-diagnosis-grid .icon-box {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 13px !important;
    padding: 5px 9px;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1;
    color: #2e516c !important;
    background: #edf4fb !important;
    border: 1px solid #d6e2ee;
    display: inline-flex !important;
}

.core-diagnosis-grid .btn-content {
    display: block;
}

.core-diagnosis-grid .btn-title {
    display: block !important;
    font-size: 21px !important;
    line-height: 1.34;
    margin-bottom: 8px;
    color: #1f3448 !important;
}

.core-diagnosis-grid .btn-desc {
    display: block !important;
    font-size: 15px !important;
    line-height: 1.56;
    color: #536b80 !important;
    max-width: 92%;
}

.core-diagnosis-grid .info-card::after {
    content: "진단 시작";
    position: absolute;
    left: 18px;
    bottom: 12px;
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
    background: #1f4f75;
    border: 1px solid #1a4465;
    border-radius: 999px;
    padding: 5px 10px;
}

.core-diagnosis-grid .info-card.is-pending::after {
    content: "오픈 예정";
    color: #ffffff;
    background: #6b7f91;
    border-color: #5f7283;
}

.core-diagnosis-grid .info-card.is-pending {
    opacity: 1 !important;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f6fa 100%) !important;
    cursor: default;
}

.activity-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.activity-grid .activity-card {
    display: block !important;
    min-height: 182px !important;
    padding: 18px 18px 16px !important;
    border-radius: 10px !important;
    border: 1px solid #d4e0ec !important;
    background: #ffffff !important;
    position: relative;
}

.activity-grid .activity-card .icon-box {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 10px !important;
    padding: 5px 9px;
    border-radius: 6px !important;
    background: #eaf2fb !important;
    border: 1px solid #d2dfec;
    font-size: 11px !important;
    color: #315370 !important;
}

.activity-grid .activity-card .label {
    margin-bottom: 7px !important;
}

.activity-grid .activity-card .btn-title {
    font-size: 20px !important;
    line-height: 1.32;
    color: #1f3448 !important;
}

.activity-grid .activity-card .btn-desc {
    font-size: 15px !important;
    line-height: 1.6;
    color: #546d82 !important;
}

/* shared page skeleton */
.container,
.main-container {
    background: transparent !important;
}

.container {
    width: min(1300px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

.container,
.form-box,
.result-card,
.result-screen,
.quiz-screen,
.intro-screen,
.card,
.curri-section,
.review-section,
.photo-gallery-wrapper,
.profile-section,
.track-card,
.process-card,
.modal-content,
.secret-box,
.color-result-box,
.cta-box,
.desc-box,
.keyword-summary,
.keyword-details,
.mini-card,
.module-item,
.pc-content {
    border: 1px solid var(--corp-line) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    background: var(--corp-surface) !important;
}

.header,
.form-header,
.logo-area {
    border-bottom: 1px solid #e1e8f0 !important;
    padding-bottom: 12px !important;
    margin-bottom: 14px !important;
}

.intro-title,
.form-title,
.title,
.m-title,
.pc-title,
.result-title,
.question-text,
.q-title {
    color: #1a2f42 !important;
    letter-spacing: -0.02em;
}

.intro-subtitle,
.form-desc,
.desc-label,
.desc-row,
.pc-desc,
.m-desc,
.result-desc-box,
.cta-text,
.cta-sub-text,
.q-text,
.loading-text,
.loading-msg {
    color: var(--corp-muted) !important;
}

.color-label,
.color-desc,
.rc-head,
.rc-body,
.result-label,
.result-keyword,
.result-god,
.subline {
    color: #4e667b !important;
}

.btn,
.start-btn,
.action-btn,
.submit-btn,
.cta-btn,
.btn-action,
.btn-kakao,
.btn-home,
.btn-retry,
.back-btn,
.review-btn,
.report-btn,
.biz-btn,
.corp-quick-nav a,
button {
    border-radius: 6px !important;
    border: 1px solid #c9d9e8 !important;
    background: #f7fbff !important;
    color: #1c3348 !important;
    font-weight: 700 !important;
}

.submit-btn,
.btn-kakao,
.cta-btn,
.btn-action {
    background: var(--corp-brand) !important;
    border-color: var(--corp-brand) !important;
    color: #fff !important;
}

.form-input,
.form-select,
.form-textarea,
input,
select,
textarea,
.name-input,
.pw-input {
    border: 1px solid #cfdceb !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #23384d !important;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus,
input:focus,
select:focus,
textarea:focus,
.name-input:focus,
.pw-input:focus {
    outline: none;
    border-color: #5ea2d3 !important;
    box-shadow: 0 0 0 3px rgba(13, 78, 122, 0.12) !important;
}

/* quiz/result visuals */
.result-img,
.result-img-box img,
.pc-img,
.track-img,
.pf-img,
.card-thumb img,
.photo-grid img,
.main-banner-img,
.curriculum-banner-img {
    border: 1px solid #d4dfeb !important;
    border-radius: 8px !important;
}

.progress-bar,
.progress-bar-area {
    background: #e9eff6 !important;
    border-radius: 999px !important;
}

.progress-fill,
.progress-bar-fill {
    background: linear-gradient(90deg, #1b5c89, #2f7fb5) !important;
}

.modal-overlay {
    background: rgba(16, 28, 41, 0.62) !important;
}

.footer {
    color: #4f6478 !important;
    border-top: 1px solid #d7e2ed !important;
    line-height: 1.75 !important;
}

.footer a {
    color: #3f596f !important;
    border-bottom-color: #738aa0 !important;
}

.review-section {
    border: 1px solid #d8e3ee !important;
    background: #ffffff !important;
}

.review-item {
    color: #21374b !important;
    font-size: 15px !important;
    line-height: 1.72 !important;
    border-bottom: 1px solid #e1e9f2 !important;
}

.review-meta {
    color: #5f7488 !important;
    font-size: 13px !important;
}

.review-meta span[style*="#fbbf24"] {
    color: #1f4c70 !important;
    font-weight: 700 !important;
}

#reviewLoading {
    color: #4f667b !important;
    font-size: 14px !important;
}

/* contrast boost for white backgrounds (home + curriculum) */
.section-sub,
.ph-desc,
.track-target,
.m-desc,
.pc-desc,
.photo-loading,
.pf-role,
.pf-slogan,
.pf-history li,
.loading-msg {
    color: #4f667b !important;
}

.pf-slogan {
    line-height: 1.72 !important;
}

.pc-tag {
    color: #3e5b72 !important;
    border-color: #ccdae8 !important;
    background: #edf4fb !important;
}

.review-title {
    color: #1f3f59 !important;
}

.review-btn {
    color: #1f3d56 !important;
    border-color: #c6d8e8 !important;
    background: #f5f9fd !important;
}

/* apply page: yellow text contrast fix on bright surfaces */
.form-label,
.text-modal h3 {
    color: #1f4d70 !important;
}

.track-name[style*="#60a5fa"],
.track-name[style*="#34d399"],
.track-name[style*="#fbbf24"] {
    color: #1f4d70 !important;
}

.track-card:nth-child(2) .track-name {
    color: #1e6157 !important;
}

.track-card:nth-child(3) .track-name {
    color: #634a16 !important;
}

.pf-history li::before {
    color: #2c5f85 !important;
}

.main-container [style*="color: #fbbf24"],
.main-container [style*="color:#fbbf24"],
.main-container [style*="color: #facc15"],
.main-container [style*="color:#facc15"],
.main-container [style*="color: #FFD700"],
.main-container [style*="color:#FFD700"],
.container [style*="color: #fbbf24"],
.container [style*="color:#fbbf24"],
.container [style*="color: #facc15"],
.container [style*="color:#facc15"],
.container [style*="color: #FFD700"],
.container [style*="color:#FFD700"] {
    color: #1f4d70 !important;
}

.main-container [style*="color: #e2e8f0"],
.main-container [style*="color:#e2e8f0"],
.container [style*="color: #e2e8f0"],
.container [style*="color:#e2e8f0"] {
    color: #4d657a !important;
}

.main-container [style*="color: #94a3b8"],
.main-container [style*="color:#94a3b8"],
.main-container [style*="color: #cbd5e1"],
.main-container [style*="color:#cbd5e1"],
.container [style*="color: #94a3b8"],
.container [style*="color:#94a3b8"],
.container [style*="color: #cbd5e1"],
.container [style*="color:#cbd5e1"] {
    color: #4e6579 !important;
}

/* full readability sweep for light corporate surfaces */
.container .subtitle,
.container .click-hint,
.container .modal-text,
.container .keyword-title,
.container .secret-header,
.container .item-label,
.container .item-val.locked,
.container .loading-text {
    color: #50687d !important;
}

.container .card-name,
.container .ph-title,
.container .pf-name {
    color: #1d344a !important;
}

/* card page: ensure cards remain readable on light theme */
.container .card-item {
    background: #f7fbff !important;
    border: 1px solid #d5e2ee !important;
}

.container .card-item:hover {
    background: #edf5ff !important;
    border-color: #b9cee3 !important;
}

.container .card-thumb {
    background-color: #e7eef6 !important;
}

/* free-diagnosis + six diagnosis pages readability */
.free-intro h1,
.free-card strong,
.container .intro-title,
.container .result-title,
.container .q-text,
.container .question-text,
.container .result-god,
.container .keyword-title,
.container .modal-title {
    color: #1c3348 !important;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.free-intro p,
.free-card .kicker,
.free-card em,
.container .intro-subtitle,
.container .progress-text,
.container .result-label,
.container .rc-head,
.container .rc-body,
.container .color-label,
.container .desc-label,
.container .cta-text,
.container .loading-text,
.container .loading-msg,
.container .keyword-details,
.container .detail-label,
.container .detail-row,
.container .secret-header,
.container .item-label,
.container .item-val.locked,
.container .toggle-icon,
.container .home-link {
    color: #4f677d !important;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.container .answer-btn,
.container .btn-option {
    background: #f7fbff !important;
    border: 1px solid #d2deea !important;
    color: #1e3549 !important;
}

.container .answer-btn:hover,
.container .btn-option:hover {
    background: #edf5fd !important;
    border-color: #bfd3e6 !important;
    color: #1c3348 !important;
}

/* six diagnosis pages: remove dark/gray result fills, keep border-only clarity */
.container .result-card,
.container .keyword-box,
.container .keyword-details,
.container .secret-box,
.container .color-result-box,
.container .result-desc-box,
.container .color-box,
.container .desc-box,
.container .soul-message-box {
    background: transparent !important;
    border: 1px solid #cfdceb !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.container .keyword-header:hover {
    background: #f4f8fd !important;
}

.container [style*="color:#fbbf24"],
.container [style*="color: #fbbf24"] {
    color: #7a5b17 !important;
}

/* specific stronger overrides for corp/seoul-test */
body:not(.corp-assessment-page) .app-window,
body:not(.corp-assessment-page) .screen,
body:not(.corp-assessment-page) .quiz-container,
body:not(.corp-assessment-page) .result-body,
body:not(.corp-assessment-page) .intro-box,
body:not(.corp-assessment-page) .mission-box,
body:not(.corp-assessment-page) .score-table,
body:not(.corp-assessment-page) .chart-card-height {
    background: #fff !important;
    border-color: #d4e0ec !important;
}

.brand,
.pill,
.org-badge,
.step-num,
.label,
.ph-badge,
.pc-tag {
    border-radius: 4px !important;
}

/* responsive */
@media (max-width: 1280px) {
    .header-area {
        grid-template-columns: 1fr;
        grid-template-areas:
          "logo"
          "copy"
          "banner"
          "badges";
    }

    .main-banner-img { height: auto; }

    .menu-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .menu-btn.featured { grid-column: auto; }
    .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .core-diagnosis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .identity-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-map-head { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .corp-global-inner {
        grid-template-columns: 1fr;
    }

    .corp-quick-nav {
        justify-content: flex-start;
    }

    .corp-page-title {
        font-size: 25px;
    }

    .hero-title {
        font-size: 31px;
    }

    .hero-lead {
        font-size: 15px;
    }

    .container,
    .main-container,
    .corp-global-shell,
    .corp-page-intro {
        width: calc(100% - 14px) !important;
    }

    .menu-grid,
    .process-grid,
    .biz-grid,
    .lecture-grid,
    .stats-grid {
        grid-template-columns: 1fr !important;
    }
    .hero-diagnosis-card {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .hero-diagnosis-card .icon-box {
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        display: inline-flex !important;
    }
    .hero-diagnosis-card .btn-title {
        font-size: 24px !important;
    }
    .core-diagnosis-grid,
    .activity-grid {
        grid-template-columns: 1fr !important;
    }
    .identity-strip,
    .service-map-grid {
        grid-template-columns: 1fr;
    }
    .service-map {
        padding: 16px 14px;
    }
    .service-map-head h3 {
        font-size: 25px;
    }
    .photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .photo-grid img {
        height: 160px;
    }

    .top-nav-list {
        width: calc(100% - 20px) !important;
        justify-content: flex-start !important;
    }
}

/* text badge style for icon placeholders */
.icon-box {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
    color: #21384d !important;
    text-align: center;
}

.menu-btn .icon-box[style*="#fbbf24"] {
    color: #1c2f42 !important;
    text-shadow: none !important;
}

.corp-assessment-page {
    background: linear-gradient(180deg, #f8fafd 0%, var(--corp-bg) 100%) !important;
    display: block !important;
    min-height: 100vh !important;
    padding: 0 0 22px !important;
    overflow-x: hidden !important;
}

.corp-assessment-page .corp-page-intro,
.corp-assessment-page .corp-global-shell {
    width: min(1250px, calc(100% - 24px)) !important;
}

.corp-assessment-page .app-window {
    width: min(1250px, calc(100% - 24px)) !important;
    max-width: 1250px !important;
    height: auto !important;
    min-height: calc(100vh - 210px) !important;
    max-height: none !important;
    margin: 0 auto 24px !important;
    border-radius: 16px !important;
}

.corp-assessment-page .screen,
.corp-assessment-page .result-body,
.corp-assessment-page .quiz-container {
    background: transparent !important;
}

.corp-assessment-page .card {
    background: #ffffff !important;
    border: 1px solid #d7e2ee !important;
}

.corp-assessment-page .btn-dark {
    background: #111827 !important;
    color: #ffffff !important;
    border-color: #111827 !important;
}

.corp-assessment-page .btn-gray {
    background: #6b7c8f !important;
    color: #ffffff !important;
    border-color: #6b7c8f !important;
}

.corp-assessment-page .btn-white {
    background: #ffffff !important;
    color: #1f3448 !important;
    border-color: #cfdceb !important;
}

@media (max-width: 900px) {
    .corp-assessment-page .corp-page-intro,
    .corp-assessment-page .corp-global-shell,
    .corp-assessment-page .app-window {
        width: calc(100% - 14px) !important;
    }

    .corp-assessment-page .app-window {
        min-height: calc(100vh - 180px) !important;
        border-radius: 12px !important;
    }
}

.intro-icon,
.question-emoji,
.char-icon {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}
