/* ==========================================================================
   법무법인 감천 — Concept 01: 네이비 시그니처 (Navy Signature) Dynamic Edition
   Kim & Chang-style Continuous Multi-Scene Hero + Integrated Search +
   Interactive Visual Sections + Feather-Light Native Scrolling
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700&display=swap');

:root {
    --gc-navy: #122132;
    --gc-navy-deep: #0A1420;
    --gc-navy-soft: #1B3048;
    --gc-stone: #F4F6F9;
    --gc-stone-2: #E9EEF5;
    --gc-white: #FFFFFF;
    --gc-bronze: #B4A07E;
    --gc-bronze-on-dark: #D5C4A3;
    --gc-bronze-on-light: #786648;
    --gc-ink: #101E2E;
    --gc-body: #3E4A59;
    --gc-muted: #687483;
    --gc-line: #D8DFE9;
    --gc-line-soft: #E5EBF2;
    --gc-serif: 'Noto Serif KR', 'Nanum Myeongjo', 'Batang', Georgia, serif;
    --gc-sans: 'Noto', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
    --gc-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* --------------------------------------------------------------------------
   1. Global Base — Feather-Light Native Scrolling & Sky-Blue Overrides
   -------------------------------------------------------------------------- */
html {
    scroll-behavior: auto !important;
}

body {
    font-family: var(--gc-sans);
    color: var(--gc-body);
    background-color: var(--gc-white);
    font-size: 15.5px;
    line-height: 1.72;
    letter-spacing: -0.02em;
    padding-bottom: 0 !important;
    overflow-x: hidden;
}

p, .adv-img p, .caption-bottom p, .adv-circle .caption p, .advs-box p, .list-blog p {
    font-family: var(--gc-sans);
    color: var(--gc-body);
    line-height: 1.72;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--gc-ink);
    word-break: keep-all;
}

#promotionBanner,
.quick-menu,
#fullpage-menu {
    display: none !important;
}

/* Override all legacy #0988cd / #F3B007 color utilities in skin.css & custom_v2.css */
.text-color,
.mi-menu ul li > a:before,
.sidebar-nav .panel-item > span:before,
i.icon,
.block-infos .bd-day,
.text-color-hover:hover,
.tab-box .nav-tabs > li.active > a,
.advs-box-content h2:hover a,
.box-steps .step-item:after,
.box-steps .step-number,
h6,
.accordion-list .list-group-item > a i,
.accordion-list .list-group-item > a.active,
.accordion-list .list-group-item > a:hover,
.btn-border,
.btn.btn-border,
.btn.circle-button.btn-border,
.tag-row i,
.pagination > .active > a,
.pagination > li:not(.disabled):hover > a,
.advs-box h2 a:hover,
.nav.ms-minimal > li.active > a {
    color: var(--gc-navy) !important;
}

/* Keep all <i> elements inheriting color instead of custom_v2.css's global #0988cd */
i:not(.scroll-top):not(.fa-white) {
    color: inherit !important;
}

.bg-color,
.nav:not(.ms-rounded) li > a:before,
.boxed.advs-box-top-icon-img .advs-box-content,
[class*="col-md-"].boxed,
.advs-box-side-img hr,
.advs-box-top-icon-img.niche-box-post:after,
.accordion-list .list-group-item:before,
[class*=header-] .title-base h1:before,
.circle-button,
.btn.circle-button,
.btn:not(.btn-default):not(.btn-border):not(.gc-btn-reset),
.header-title hr,
.advs-box.boxed,
i.circle,
.call-action-box,
.title-base hr,
.nav.inner.ms-mini,
i.square,
.header-base,
.progress-bar,
.tagbox span,
.niche-box-post .block-infos .block-data,
.block-infos {
    background-color: var(--gc-navy) !important;
}

.btn:not(.btn-border):not(.btn-default):hover,
.btn-primary:focus,
.boxed .btn,
.btn-primary.focus {
    background-color: var(--gc-navy-deep) !important;
    border-color: var(--gc-navy-deep) !important;
}

.circle-button,
.btn-border,
.niche-box-post,
.border-color,
.img-border,
.pagination li.active a {
    border-color: var(--gc-navy) !important;
}

.circle-button:hover,
.btn:not(.btn-default):hover {
    border-color: var(--gc-navy-deep) !important;
}

i.scroll-top {
    background-color: var(--gc-navy) !important;
    color: var(--gc-stone) !important;
    border: 1px solid rgba(155, 140, 112, 0.45) !important;
    border-radius: 0 !important;
    box-shadow: 0 6px 18px rgba(14, 26, 39, 0.22);
}
i.scroll-top:before {
    color: var(--gc-stone) !important;
}

/* Scroll-Entrance Animation Utility (GPU-composited, zero scroll-event lag) */
.gc-will-reveal {
    opacity: 0;
    transform: translate3d(0, 26px, 0);
    transition: opacity 0.7s var(--gc-ease), transform 0.7s var(--gc-ease);
    transition-delay: var(--gc-delay, 0ms);
    will-change: opacity, transform;
}

.gc-will-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .gc-will-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* --------------------------------------------------------------------------
   2. Unified Navy Signature Header (.gc-header) + Global Search Modal
   -------------------------------------------------------------------------- */
.gc-header {
    position: sticky;
    top: 0;
    z-index: 1050;
    width: 100%;
    background-color: var(--gc-navy);
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.gc-header.is-scrolled {
    background-color: rgba(16, 29, 44, 0.97);
    box-shadow: 0 8px 28px rgba(9, 17, 26, 0.30);
}

.gc-header-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gc-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none !important;
    padding: 6px 0;
    flex-shrink: 0;
}

.gc-brand img {
    height: 36px;
    width: auto;
    display: block;
}

.gc-nav-wrap {
    display: flex;
    align-items: center;
    gap: 28px;
}

.gc-nav {
    display: flex;
    align-items: center;
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-nav-item {
    position: relative;
}

.gc-nav-link {
    display: inline-flex;
    align-items: center;
    height: 80px;
    font-family: var(--gc-sans);
    font-size: 15.5px;
    font-weight: 500;
    color: rgba(250, 249, 246, 0.90) !important;
    text-decoration: none !important;
    letter-spacing: -0.02em;
    position: relative;
    transition: color 0.2s ease;
}

.gc-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background-color: var(--gc-bronze);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.22s ease;
}

.gc-nav-item:hover > .gc-nav-link,
.gc-nav-item:focus-within > .gc-nav-link,
.gc-nav-item.is-active > .gc-nav-link {
    color: #FFFFFF !important;
}

.gc-nav-item:hover > .gc-nav-link::after,
.gc-nav-item:focus-within > .gc-nav-link::after,
.gc-nav-item.is-active > .gc-nav-link::after {
    transform: scaleX(1);
}

.gc-sub {
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    min-width: 164px;
    background-color: #182A3E;
    border: 1px solid rgba(155, 140, 112, 0.32);
    border-top: 2px solid var(--gc-bronze);
    padding: 8px 0;
    margin: 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    box-shadow: 0 14px 32px rgba(8, 15, 24, 0.35);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
    z-index: 1100;
}

.gc-nav-item:hover > .gc-sub,
.gc-nav-item:focus-within > .gc-sub {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.gc-sub li { margin: 0; }

.gc-sub a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    color: rgba(250, 249, 246, 0.84) !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.gc-sub a:hover,
.gc-sub a:focus {
    background-color: rgba(155, 140, 112, 0.16);
    color: #FFFFFF !important;
}

.gc-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gc-header-search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(250, 249, 246, 0.90);
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.gc-header-search-btn:hover {
    border-color: var(--gc-bronze);
    background: rgba(155, 140, 112, 0.16);
    color: #FFFFFF;
}

.gc-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    border: 1px solid var(--gc-bronze);
    background-color: transparent;
    color: var(--gc-stone) !important;
    font-family: var(--gc-sans);
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: -0.01em;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gc-header-cta:hover,
.gc-header-cta:focus {
    background-color: rgba(155, 140, 112, 0.20);
    border-color: var(--gc-bronze-on-dark);
    color: #FFFFFF !important;
}

/* Global Header Search Drawer */
.gc-search-modal {
    display: none;
    background-color: #0E1B2A;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 2px solid var(--gc-bronze);
    padding: 28px 0 32px;
    box-shadow: 0 24px 48px rgba(6, 12, 20, 0.45);
}

.gc-header.search-open .gc-search-modal {
    display: block;
}

.gc-search-modal-inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 24px;
}

.gc-search-modal-form {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(210, 193, 161, 0.50);
    height: 54px;
    padding: 0 6px 0 18px;
}

.gc-search-modal-form input {
    flex: 1;
    background: transparent;
    border: 0;
    outline: none;
    color: #FFFFFF;
    font-size: 16px;
}

.gc-search-modal-form input::placeholder {
    color: rgba(250, 249, 246, 0.55);
}

.gc-search-modal-form button[type="submit"] {
    height: 42px;
    padding: 0 22px;
    background: var(--gc-bronze);
    border: 0;
    color: var(--gc-navy-deep);
    font-weight: 700;
    font-size: 14.5px;
    cursor: pointer;
}

.gc-search-modal-close {
    background: transparent;
    border: 0;
    color: rgba(250, 249, 246, 0.70);
    font-size: 20px;
    padding: 0 12px;
    cursor: pointer;
}

/* Mobile Toggle & Drawer */
.gc-mobile-right {
    display: none;
    align-items: center;
    gap: 8px;
}

.gc-mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: transparent;
    border: 1px solid rgba(155, 140, 112, 0.45);
    color: var(--gc-stone);
    cursor: pointer;
    padding: 0;
}

.gc-mobile-toggle span {
    display: block;
    width: 19px;
    height: 1.5px;
    background-color: var(--gc-stone);
    position: relative;
    transition: background-color 0.2s ease;
}

.gc-mobile-toggle span::before,
.gc-mobile-toggle span::after {
    content: "";
    position: absolute;
    left: 0;
    width: 19px;
    height: 1.5px;
    background-color: var(--gc-stone);
    transition: transform 0.22s ease, top 0.22s ease;
}

.gc-mobile-toggle span::before { top: -6px; }
.gc-mobile-toggle span::after { top: 6px; }

.gc-header.menu-open .gc-mobile-toggle span { background-color: transparent; }
.gc-header.menu-open .gc-mobile-toggle span::before { top: 0; transform: rotate(45deg); }
.gc-header.menu-open .gc-mobile-toggle span::after { top: 0; transform: rotate(-45deg); }

.gc-mobile-drawer {
    display: none;
    background-color: #101D2C;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(155, 140, 112, 0.35);
    padding: 18px 24px 26px;
}

.gc-header.menu-open .gc-mobile-drawer { display: block; }

.gc-mobile-list { list-style: none; margin: 0; padding: 0; }
.gc-mobile-list > li { border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding: 12px 0; }
.gc-mobile-list > li > a {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--gc-stone) !important;
    text-decoration: none !important;
}
.gc-mobile-sub { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 8px; padding-left: 2px; }
.gc-mobile-sub a { font-size: 13.5px; color: rgba(250, 249, 246, 0.72) !important; text-decoration: none !important; }
.gc-mobile-cta-row { margin-top: 18px; display: flex; gap: 10px; }
.gc-mobile-cta-row a { flex: 1; text-align: center; padding: 11px 12px; font-size: 14px; font-weight: 500; text-decoration: none !important; }
.gc-mobile-cta-primary { border: 1px solid var(--gc-bronze); color: var(--gc-stone) !important; background-color: rgba(155, 140, 112, 0.14); }
.gc-mobile-cta-tel { border: 1px solid rgba(255, 255, 255, 0.18); color: rgba(250, 249, 246, 0.88) !important; }

/* --------------------------------------------------------------------------
   3. Shared Editorial Tokens (Eyebrows, Links, Containers)
   -------------------------------------------------------------------------- */
.gc-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 28px;
}

.gc-eyebrow {
    font-family: var(--gc-sans);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 12px 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.gc-eyebrow::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background-color: var(--gc-bronze);
}

.gc-eyebrow--light { color: var(--gc-bronze-on-light) !important; }
.gc-eyebrow--dark { color: var(--gc-bronze-on-dark) !important; }

.gc-arrow-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--gc-sans);
    font-size: 15px;
    font-weight: 500;
    padding-bottom: 6px;
    text-decoration: none !important;
    letter-spacing: -0.01em;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.gc-arrow-link .gc-arrow {
    font-style: normal;
    font-size: 15px;
    line-height: 1;
    transition: transform 0.22s var(--gc-ease);
}

.gc-arrow-link:hover .gc-arrow {
    transform: translate(3px, -3px);
}

.gc-arrow-link--dark {
    color: var(--gc-bronze-on-dark) !important;
    border-bottom: 1px solid var(--gc-bronze);
}
.gc-arrow-link--dark:hover { color: #FFFFFF !important; border-bottom-color: #FFFFFF; }

.gc-arrow-link--light {
    color: var(--gc-bronze-on-light) !important;
    border-bottom: 1px solid var(--gc-bronze);
}
.gc-arrow-link--light:hover { color: var(--gc-navy) !important; border-bottom-color: var(--gc-navy); }

/* --------------------------------------------------------------------------
   4. SECTION 01 — Kim & Chang Continuous Multi-Scene Hero + Center Search Hub
   -------------------------------------------------------------------------- */
.gc-hero {
    position: relative;
    background-color: var(--gc-navy-deep);
    min-height: 760px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: visible;
}

.gc-hero-stage {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.gc-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale3d(1.08, 1.08, 1);
    transition: opacity 1.35s var(--gc-ease), transform 7.2s linear;
    will-change: opacity, transform;
}

.gc-hero-bg.is-active {
    opacity: 1;
    transform: scale3d(1.0, 1.0, 1);
    z-index: 1;
}

.gc-hero-bg.was-active {
    opacity: 0;
    transform: scale3d(1.02, 1.02, 1);
    z-index: 0;
}

/* Deep Midnight-Navy directional blend for high-contrast typography & search */
.gc-hero-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(12, 22, 34, 0.92) 0%,
            rgba(20, 35, 52, 0.78) 44%,
            rgba(20, 35, 52, 0.42) 74%,
            rgba(12, 22, 34, 0.32) 100%),
        linear-gradient(180deg,
            rgba(12, 22, 34, 0.32) 0%,
            rgba(12, 22, 34, 0.12) 45%,
            rgba(12, 22, 34, 0.86) 100%);
    z-index: 2;
    pointer-events: none;
}

/* Architectural vertical hairline grid from Concept 01 */
.gc-hero-grid {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1280px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    pointer-events: none;
    z-index: 3;
}
.gc-hero-grid span { border-left: 1px solid rgba(255, 255, 255, 0.075); }
.gc-hero-grid span:last-child { border-right: 1px solid rgba(255, 255, 255, 0.075); }

.gc-hero-body {
    position: relative;
    z-index: 5;
    padding: 86px 0 36px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Slide Copy Deck */
.gc-hero-copy-deck {
    position: relative;
    min-height: 248px;
    max-width: 880px;
    width: 100%;
    margin: 0 auto 30px;
}

.gc-hero-slide-copy {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 14px, 0);
    transition: opacity 0.14s ease, visibility 0.14s ease;
    pointer-events: none;
}

.gc-hero-slide-copy.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
    transition: opacity 0.52s var(--gc-ease) 0.10s, transform 0.52s var(--gc-ease) 0.10s, visibility 0s;
    pointer-events: auto;
}

.gc-hero-kicker {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--gc-bronze-on-dark) !important;
    margin: 0 0 14px 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.gc-hero-kicker::before {
    content: "";
    width: 26px;
    height: 1px;
    background-color: var(--gc-bronze);
}

.gc-hero-title {
    font-family: var(--gc-serif);
    font-size: 52px;
    font-weight: 500;
    line-height: 1.27;
    letter-spacing: -0.03em;
    color: #FFFFFF !important;
    margin: 0 0 20px 0;
}

.gc-hero-sub {
    font-family: var(--gc-sans);
    font-size: 17.5px;
    font-weight: 300;
    line-height: 1.68;
    color: rgba(250, 249, 246, 0.88) !important;
    margin: 0 0 24px 0;
    word-break: keep-all;
}

/* Kim & Chang-Style Prominent Center Integrated Search Hub */
.gc-hero-search-hub {
    position: relative;
    z-index: 20;
    max-width: 880px;
    margin: 6px auto 0;
    width: 100%;
}

.gc-hero-search-box {
    display: flex;
    align-items: center;
    background: rgba(14, 26, 39, 0.86);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(210, 193, 161, 0.58);
    box-shadow: 0 20px 48px rgba(6, 12, 20, 0.42);
    height: 62px;
    padding: 0 7px 0 22px;
    transition: border-color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;
}

.gc-hero-search-box:focus-within {
    background: rgba(12, 22, 34, 0.96);
    border-color: #E2D3B5;
    box-shadow: 0 24px 56px rgba(5, 10, 18, 0.58);
}

.gc-hero-search-ico {
    color: var(--gc-bronze-on-dark) !important;
    font-size: 18px;
    margin-right: 14px;
    flex-shrink: 0;
}

.gc-hero-search-input {
    flex: 1;
    background: transparent;
    border: 0;
    outline: none;
    color: #FFFFFF;
    font-family: var(--gc-sans);
    font-size: 16px;
    font-weight: 400;
    min-width: 0;
}

.gc-hero-search-input::placeholder {
    color: rgba(250, 249, 246, 0.62);
}

.gc-hero-search-clear {
    display: none;
    background: transparent;
    border: 0;
    color: rgba(250, 249, 246, 0.60);
    font-size: 18px;
    padding: 0 10px;
    cursor: pointer;
}

.gc-hero-search-submit {
    height: 48px;
    padding: 0 28px;
    background: linear-gradient(135deg, #B5A382 0%, #9B8C70 100%);
    border: 0;
    color: #0E1A27;
    font-family: var(--gc-sans);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.01em;
    cursor: pointer;
    flex-shrink: 0;
    transition: filter 0.2s ease, transform 0.15s ease;
}

.gc-hero-search-submit:hover {
    filter: brightness(1.08);
}

.gc-hero-tags {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: 14px;
}

.gc-hero-tags > span {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--gc-bronze-on-dark);
    margin-right: 4px;
}

.gc-hero-tags a,
.gc-hero-tags button {
    display: inline-flex;
    align-items: center;
    padding: 5px 13px;
    background: rgba(20, 35, 52, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(250, 249, 246, 0.88) !important;
    font-size: 13px;
    font-weight: 400;
    text-decoration: none !important;
    cursor: pointer;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.gc-hero-tags a:hover,
.gc-hero-tags button:hover {
    border-color: var(--gc-bronze-on-dark);
    background: rgba(155, 140, 112, 0.24);
    color: #FFFFFF !important;
}

/* Live Instant Search Dropdown Panel */
.gc-live-dropdown {
    display: none;
    position: absolute;
    top: 66px;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border: 1px solid var(--gc-navy);
    border-top: 3px solid var(--gc-bronze);
    box-shadow: 0 28px 60px rgba(10, 18, 28, 0.36);
    z-index: 1200;
    max-height: 440px;
    overflow-y: auto;
    text-align: left;
}

.gc-live-dropdown.is-open {
    display: block;
}

.gc-live-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    background: var(--gc-stone);
    border-bottom: 1px solid var(--gc-line-soft);
    font-size: 13.5px;
    color: var(--gc-body);
}

.gc-live-head strong { color: var(--gc-navy); }

.gc-live-close {
    background: transparent;
    border: 0;
    color: var(--gc-muted);
    font-size: 13px;
    cursor: pointer;
}

.gc-live-sec {
    padding: 12px 20px;
    border-bottom: 1px solid var(--gc-line-soft);
}

.gc-live-sec-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--gc-bronze-on-light);
    letter-spacing: 0.06em;
    margin: 0 0 8px 0;
}

.gc-live-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 8px;
    text-decoration: none !important;
    transition: background-color 0.15s ease;
}

.gc-live-item:hover {
    background-color: var(--gc-stone);
}

.gc-live-avatar {
    width: 40px;
    height: 48px;
    object-fit: cover;
    object-position: top center;
    border: 1px solid var(--gc-line);
    flex-shrink: 0;
}

.gc-live-item-body {
    min-width: 0;
    flex: 1;
}

.gc-live-item-title {
    display: block;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--gc-navy);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-live-item-sub {
    display: block;
    font-size: 12.5px;
    color: var(--gc-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-live-more {
    display: block;
    text-align: center;
    padding: 13px 16px;
    background: var(--gc-navy);
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.gc-live-more:hover {
    background: var(--gc-navy-deep);
}

/* Bottom Hero Scene Progress Bar & Scroll Cue */
.gc-hero-bottom {
    position: relative;
    z-index: 4;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(11, 20, 31, 0.56);
    backdrop-filter: blur(6px);
}

.gc-hero-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 16px;
    padding-bottom: 18px;
}

.gc-hero-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    flex: 1;
}

.gc-hero-tab {
    background: transparent;
    border: 0;
    padding: 0;
    text-align: left;
    cursor: pointer;
    color: rgba(250, 249, 246, 0.52);
    transition: color 0.2s ease;
}

.gc-hero-tab:hover,
.gc-hero-tab.is-active {
    color: #FFFFFF;
}

.gc-hero-tab-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    font-weight: 500;
    margin-bottom: 9px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-hero-tab-num {
    font-family: var(--gc-serif);
    font-weight: 600;
    color: var(--gc-bronze-on-dark);
}

.gc-hero-tab-track {
    display: block;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.18);
    position: relative;
    overflow: hidden;
}

.gc-hero-tab-fill {
    display: block;
    height: 100%;
    width: 0%;
    background: var(--gc-bronze-on-dark);
}

.gc-hero-tab.is-active:not(.is-paused) .gc-hero-tab-fill {
    animation: gcHeroProgress 5.6s linear forwards;
}

@keyframes gcHeroProgress {
    from { width: 0%; }
    to { width: 100%; }
}

.gc-hero-nav-btns {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.gc-hero-ctrl {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: transparent;
    color: rgba(250, 249, 246, 0.88);
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.gc-hero-ctrl:hover {
    border-color: var(--gc-bronze-on-dark);
    background: rgba(155, 140, 112, 0.20);
}

.gc-scroll-cue {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(250, 249, 246, 0.72) !important;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-decoration: none !important;
    margin-left: 10px;
}

.gc-scroll-line {
    width: 1px;
    height: 24px;
    background: rgba(255, 255, 255, 0.22);
    position: relative;
    overflow: hidden;
}

.gc-scroll-line::after {
    content: "";
    position: absolute;
    left: 0;
    top: -100%;
    width: 100%;
    height: 100%;
    background: var(--gc-bronze-on-dark);
    animation: gcScrollPulse 1.9s infinite ease-in-out;
}

@keyframes gcScrollPulse {
    0% { top: -100%; }
    100% { top: 100%; }
}

/* --------------------------------------------------------------------------
   5. SECTION 02 — Interactive Practice Spotlight + 10-Area Grid (#FAF9F6)
   -------------------------------------------------------------------------- */
.gc-practice-sec {
    background-color: var(--gc-stone);
    padding: 100px 0 96px;
    border-bottom: 1px solid var(--gc-line-soft);
}

.gc-sec-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 44px;
}

.gc-sec-serif-title {
    font-family: var(--gc-serif);
    font-size: 40px;
    font-weight: 600;
    line-height: 1.32;
    letter-spacing: -0.03em;
    color: var(--gc-navy) !important;
    margin: 0;
}

.gc-sec-guide {
    font-size: 15px;
    color: var(--gc-muted);
    margin: 10px 0 0 0;
    word-break: keep-all;
}

.gc-practice-interactive {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    gap: 36px;
    align-items: stretch;
}

/* Left Interactive Visual Spotlight Card */
.gc-spotlight-card {
    position: relative;
    background-color: var(--gc-navy);
    color: #FFFFFF;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 38px 36px;
    overflow: hidden;
    border: 1px solid rgba(20, 35, 52, 0.18);
    box-shadow: 0 22px 48px rgba(20, 35, 52, 0.14);
}

.gc-spotlight-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: background-image 0.35s ease, transform 0.65s var(--gc-ease);
    transform: scale(1.03);
}

.gc-spotlight-card:hover .gc-spotlight-bg {
    transform: scale(1.08);
}

.gc-spotlight-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(14, 26, 39, 0.32) 0%,
        rgba(14, 26, 39, 0.76) 48%,
        rgba(12, 22, 34, 0.96) 100%
    );
    z-index: 1;
}

.gc-spotlight-inner {
    position: relative;
    z-index: 2;
    transition: opacity 0.22s ease, transform 0.22s ease;
}

.gc-spotlight-inner.is-switching {
    opacity: 0.35;
    transform: translateY(6px);
}

.gc-spotlight-num {
    display: inline-block;
    font-family: var(--gc-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--gc-bronze-on-dark);
    padding: 4px 12px;
    border: 1px solid rgba(210, 193, 161, 0.45);
    background: rgba(14, 26, 39, 0.55);
    margin-bottom: 16px;
}

.gc-spotlight-title {
    font-family: var(--gc-serif);
    font-size: 32px;
    font-weight: 600;
    color: #FFFFFF !important;
    margin: 0 0 14px 0;
    line-height: 1.3;
}

.gc-spotlight-desc {
    font-size: 15px;
    line-height: 1.72;
    color: rgba(250, 249, 246, 0.86) !important;
    margin: 0 0 20px 0;
    word-break: keep-all;
}

.gc-spotlight-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 26px;
}

.gc-spotlight-tags span {
    font-size: 12.5px;
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(250, 249, 246, 0.90);
}

.gc-spotlight-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    background: var(--gc-bronze);
    color: #0E1A27 !important;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none !important;
    transition: filter 0.2s ease;
}

.gc-spotlight-cta:hover {
    filter: brightness(1.08);
}

/* Right 2x5 Interactive Practice Cards */
.gc-pcard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gc-pcard {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    background: var(--gc-white);
    border: 1px solid var(--gc-line);
    text-decoration: none !important;
    position: relative;
    overflow: hidden;
    transition: border-color 0.22s ease, transform 0.22s var(--gc-ease), box-shadow 0.22s ease, background-color 0.22s ease;
}

.gc-pcard::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--gc-bronze);
    transform: scaleY(0);
    transition: transform 0.22s var(--gc-ease);
}

.gc-pcard:hover,
.gc-pcard:focus,
.gc-pcard.is-active {
    border-color: var(--gc-navy);
    background-color: #FFFFFF;
    transform: translate3d(0, -2px, 0);
    box-shadow: 0 12px 26px rgba(20, 35, 52, 0.08);
}

.gc-pcard:hover::before,
.gc-pcard:focus::before,
.gc-pcard.is-active::before {
    transform: scaleY(1);
}

.gc-pcard-left {
    min-width: 0;
}

.gc-pcard-head {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-bottom: 3px;
}

.gc-pcard-idx {
    font-family: var(--gc-serif);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--gc-bronze-on-light);
}

.gc-pcard-name {
    font-family: var(--gc-serif);
    font-size: 19px;
    font-weight: 600;
    color: var(--gc-navy);
    letter-spacing: -0.025em;
}

.gc-pcard-mini {
    display: block;
    font-size: 13px;
    color: var(--gc-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gc-pcard-go {
    width: 32px;
    height: 32px;
    border: 1px solid var(--gc-line-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: var(--gc-navy);
    flex-shrink: 0;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.gc-pcard:hover .gc-pcard-go,
.gc-pcard.is-active .gc-pcard-go {
    background-color: var(--gc-navy);
    border-color: var(--gc-navy);
    color: #FFFFFF;
}

/* --------------------------------------------------------------------------
   6. SECTION 03 — Collaborative Professionals Portrait Showcase (#142334)
   -------------------------------------------------------------------------- */
.gc-team-sec {
    background-color: var(--gc-navy);
    padding: 96px 0 92px;
    color: var(--gc-stone);
    position: relative;
    overflow: hidden;
}

.gc-team-sec::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 25% 100%;
    pointer-events: none;
}

.gc-team-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 34px;
}

.gc-team-title {
    font-family: var(--gc-serif);
    font-size: 38px;
    font-weight: 500;
    line-height: 1.35;
    color: #FFFFFF !important;
    margin: 0;
}

.gc-team-sub {
    color: rgba(250, 249, 246, 0.74) !important;
    font-size: 15px;
    margin: 10px 0 0 0;
}

.gc-team-toolbar {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    margin-bottom: 28px;
}

.gc-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-pill-btn {
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: transparent;
    color: rgba(250, 249, 246, 0.80);
    cursor: pointer;
    transition: all 0.2s ease;
}

.gc-pill-btn:hover,
.gc-pill-btn.is-active {
    background: var(--gc-bronze);
    border-color: var(--gc-bronze);
    color: #0E1A27;
    font-weight: 700;
}

.gc-team-scroll-btns {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gc-team-track {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 14px;
    scrollbar-width: thin;
    scrollbar-color: var(--gc-bronze) rgba(255, 255, 255, 0.08);
}

.gc-team-track::-webkit-scrollbar { height: 5px; }
.gc-team-track::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.08); }
.gc-team-track::-webkit-scrollbar-thumb { background: var(--gc-bronze); }

.gc-mcard {
    flex: 0 0 232px;
    scroll-snap-align: start;
    background: #1B2E44;
    border: 1px solid rgba(255, 255, 255, 0.12);
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.28s var(--gc-ease), border-color 0.28s ease, box-shadow 0.28s ease;
}

.gc-mcard.is-hidden {
    display: none;
}

.gc-mcard:hover {
    transform: translate3d(0, -6px, 0);
    border-color: var(--gc-bronze-on-dark);
    box-shadow: 0 18px 36px rgba(6, 12, 20, 0.40);
}

.gc-mcard-photo {
    position: relative;
    height: 268px;
    background: #F4F2EE;
    overflow: hidden;
}

.gc-mcard-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.55s var(--gc-ease);
}

.gc-mcard:hover .gc-mcard-photo img {
    transform: scale(1.05);
}

.gc-mcard-hover-cta {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 9px 14px;
    background: rgba(20, 35, 52, 0.90);
    color: var(--gc-bronze-on-dark);
    font-size: 12.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transform: translateY(100%);
    transition: transform 0.25s var(--gc-ease);
}

.gc-mcard:hover .gc-mcard-hover-cta {
    transform: translateY(0);
}

.gc-mcard-info {
    padding: 16px 18px 18px;
    background: #17283B;
    border-top: 2px solid var(--gc-bronze);
}

.gc-mcard-role {
    display: block;
    font-size: 12.5px;
    color: var(--gc-bronze-on-dark);
    margin-bottom: 4px;
}

.gc-mcard-name {
    font-family: var(--gc-serif);
    font-size: 20px;
    font-weight: 600;
    color: #FFFFFF !important;
    margin: 0;
}

/* --------------------------------------------------------------------------
   7. SECTION 04 — Visual Case Highlights with Outcome Badges (#FFFFFF)
   -------------------------------------------------------------------------- */
.gc-cases-sec {
    background-color: var(--gc-white);
    padding: 98px 0 92px;
    border-bottom: 1px solid var(--gc-line-soft);
}

.gc-case-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
}

.gc-light-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.gc-light-pill {
    padding: 8px 18px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid var(--gc-line);
    background: var(--gc-stone);
    color: var(--gc-body);
    cursor: pointer;
    transition: all 0.2s ease;
}

.gc-light-pill:hover,
.gc-light-pill.is-active {
    background: var(--gc-navy);
    border-color: var(--gc-navy);
    color: #FFFFFF;
}

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

.gc-ccard {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: var(--gc-white);
    border: 1px solid var(--gc-line);
    border-top: 3px solid var(--gc-navy);
    padding: 28px 26px 22px;
    text-decoration: none !important;
    transition: transform 0.28s var(--gc-ease), border-color 0.25s ease, box-shadow 0.28s ease;
}

.gc-ccard.is-hidden {
    display: none;
}

.gc-ccard:hover {
    transform: translate3d(0, -6px, 0);
    border-color: var(--gc-bronze);
    border-top-color: var(--gc-bronze);
    box-shadow: 0 20px 42px rgba(20, 35, 52, 0.10);
}

.gc-ccard-top {
    margin-bottom: 18px;
}

.gc-ccard-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.gc-ccard-cat {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--gc-navy);
    background: var(--gc-stone);
    border: 1px solid var(--gc-line);
    padding: 3px 10px;
}

.gc-ccard-date {
    font-size: 12.5px;
    color: var(--gc-muted);
}

.gc-ccard-result {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--gc-bronze-on-light);
    margin-bottom: 10px;
    letter-spacing: -0.01em;
}

.gc-ccard-title {
    font-family: var(--gc-serif);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.44;
    color: var(--gc-navy) !important;
    margin: 0 0 12px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gc-ccard-desc {
    font-size: 14px;
    line-height: 1.66;
    color: var(--gc-body);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gc-ccard-foot {
    padding-top: 16px;
    border-top: 1px solid var(--gc-line-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--gc-navy);
}

.gc-ccard:hover .gc-ccard-foot {
    color: var(--gc-bronze-on-light);
}

.gc-ccard-foot span:last-child {
    transition: transform 0.22s var(--gc-ease);
}

.gc-ccard:hover .gc-ccard-foot span:last-child {
    transform: translateX(5px);
}

/* --------------------------------------------------------------------------
   8. SECTION 05 — Photo Media Grid + 3-Way Direct Consultation Hub (#FAF9F6)
   -------------------------------------------------------------------------- */
.gc-media-sec {
    background-color: var(--gc-stone);
    padding: 96px 0 98px;
}

.gc-media-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 76px;
}

.gc-news-card {
    background: var(--gc-white);
    border: 1px solid var(--gc-line);
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.28s var(--gc-ease), border-color 0.25s ease, box-shadow 0.28s ease;
}

.gc-news-card:hover {
    transform: translate3d(0, -6px, 0);
    border-color: var(--gc-bronze);
    box-shadow: 0 18px 36px rgba(20, 35, 52, 0.09);
}

.gc-news-thumb {
    position: relative;
    padding-bottom: 62%;
    background: var(--gc-navy);
    overflow: hidden;
}

.gc-news-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--gc-ease);
}

.gc-news-card:hover .gc-news-thumb img {
    transform: scale(1.07);
}

.gc-news-date-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(20, 35, 52, 0.90);
    color: var(--gc-bronze-on-dark);
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    z-index: 2;
}

.gc-news-body {
    padding: 20px 20px 22px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.gc-news-title {
    font-family: var(--gc-serif);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.46;
    color: var(--gc-navy) !important;
    margin: 0 0 10px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gc-news-excerpt {
    font-size: 13.5px;
    line-height: 1.62;
    color: var(--gc-muted);
    margin: 0 0 14px 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gc-news-more {
    font-size: 13px;
    font-weight: 600;
    color: var(--gc-bronze-on-light);
}

/* 3-Way Direct Consultation Action Cards */
.gc-action-trio {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.gc-action-card {
    padding: 34px 30px;
    border: 1px solid var(--gc-line);
    background: var(--gc-white);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    transition: transform 0.25s var(--gc-ease), border-color 0.25s ease, box-shadow 0.25s ease;
}

.gc-action-card:hover {
    transform: translate3d(0, -4px, 0);
    border-color: var(--gc-bronze);
    box-shadow: 0 16px 34px rgba(20, 35, 52, 0.08);
}

.gc-action-card--navy {
    background: var(--gc-navy);
    border-color: var(--gc-navy);
    color: #FFFFFF;
}

.gc-action-card--navy h3 {
    color: #FFFFFF !important;
}

.gc-action-card--navy p {
    color: rgba(250, 249, 246, 0.82) !important;
}

.gc-action-card h3 {
    font-family: var(--gc-serif);
    font-size: 23px;
    font-weight: 600;
    margin: 6px 0 10px 0;
}

.gc-action-card p {
    font-size: 14.5px;
    line-height: 1.68;
    margin: 0;
}

.gc-action-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gc-btn-bronze {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    background: var(--gc-bronze);
    color: #0E1A27 !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
}

.gc-btn-navy {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    background-color: var(--gc-navy);
    border: 1px solid var(--gc-navy);
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
}

.gc-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 16px;
    background-color: var(--gc-stone);
    border: 1px solid var(--gc-line);
    color: var(--gc-navy) !important;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none !important;
}

.gc-btn-outline:hover {
    border-color: var(--gc-navy);
}

/* --------------------------------------------------------------------------
   9. Integrated Search Results Page (/search?q=...)
   -------------------------------------------------------------------------- */
.gc-sres-hero {
    background-color: var(--gc-navy);
    padding: 58px 0 54px;
    border-bottom: 2px solid var(--gc-bronze);
    text-align: center;
}

.gc-sres-hero h1 {
    font-family: var(--gc-serif);
    font-size: 36px;
    font-weight: 500;
    color: #FFFFFF !important;
    margin: 0 0 26px 0;
}

.gc-sres-bar {
    max-width: 780px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    background: #FFFFFF;
    height: 58px;
    padding: 0 6px 0 20px;
    border: 1px solid var(--gc-bronze);
}

.gc-sres-ico {
    color: var(--gc-navy) !important;
    font-size: 18px;
    margin-right: 12px;
}

.gc-sres-bar input {
    flex: 1;
    border: 0;
    outline: none;
    font-size: 16px;
    color: var(--gc-ink);
}

.gc-sres-bar button {
    height: 46px;
    padding: 0 28px;
    background: var(--gc-navy);
    border: 0;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.gc-sres-main {
    background: var(--gc-stone);
    padding: 56px 0 96px;
    min-height: 520px;
}

.gc-sres-summary {
    font-size: 18px;
    color: var(--gc-ink);
    margin-bottom: 22px;
}

.gc-sres-summary em {
    font-style: normal;
    font-weight: 700;
    color: var(--gc-bronze-on-light);
}

.gc-sres-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 36px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--gc-line);
}

.gc-sres-tab {
    padding: 9px 18px;
    border: 1px solid var(--gc-line);
    background: var(--gc-white);
    color: var(--gc-body);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.gc-sres-tab span {
    margin-left: 4px;
    color: var(--gc-bronze-on-light);
}

.gc-sres-tab.is-active {
    background: var(--gc-navy);
    border-color: var(--gc-navy);
    color: #FFFFFF;
}

.gc-sres-tab.is-active span { color: var(--gc-bronze-on-dark); }

.gc-sres-group {
    margin-bottom: 46px;
}

.gc-sres-ghead {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    border-bottom: 2px solid var(--gc-navy);
    padding-bottom: 12px;
    margin-bottom: 18px;
}

.gc-sres-ghead h3 {
    font-family: var(--gc-serif);
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}

.gc-sres-ghead h3 span {
    font-family: var(--gc-sans);
    font-size: 15px;
    color: var(--gc-bronze-on-light);
    margin-left: 6px;
}

.gc-sres-ghead a {
    font-size: 14px;
    color: var(--gc-bronze-on-light) !important;
    text-decoration: none !important;
}

.gc-sres-pgrid,
.gc-sres-mgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.gc-sres-pcard,
.gc-sres-mcard {
    display: flex;
    gap: 16px;
    background: #FFFFFF;
    border: 1px solid var(--gc-line);
    padding: 18px;
    text-decoration: none !important;
    transition: border-color 0.2s ease;
}

.gc-sres-pcard:hover,
.gc-sres-mcard:hover {
    border-color: var(--gc-bronze);
}

.gc-sres-pthumb {
    width: 96px;
    height: 96px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.gc-sres-mcard img {
    width: 78px;
    height: 98px;
    object-fit: cover;
    object-position: top center;
    flex-shrink: 0;
    border: 1px solid var(--gc-line-soft);
}

.gc-sres-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--gc-bronze-on-light);
    margin-bottom: 4px;
}

.gc-sres-pcard h4,
.gc-sres-mcard h4,
.gc-sres-list h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--gc-navy);
    margin: 0 0 6px 0;
}

.gc-sres-pcard p,
.gc-sres-mcard p,
.gc-sres-list p {
    font-size: 14px;
    color: var(--gc-body);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gc-sres-list {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #FFFFFF;
    border: 1px solid var(--gc-line);
}

.gc-sres-list li + li {
    border-top: 1px solid var(--gc-line-soft);
}

.gc-sres-list li a {
    display: block;
    padding: 20px 24px;
    text-decoration: none !important;
}

.gc-sres-list li a:hover {
    background: #FCFBF9;
}

.gc-sres-rmeta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.gc-sres-date {
    font-size: 12.5px;
    color: var(--gc-muted);
}

.gc-sres-empty {
    background: #FFFFFF;
    border: 1px solid var(--gc-line);
    padding: 48px 24px;
    text-align: center;
    font-size: 16px;
}

mark.gc-hl {
    background: rgba(206, 189, 158, 0.42);
    color: var(--gc-navy);
    padding: 0 2px;
    font-weight: 700;
}

/* --------------------------------------------------------------------------
   10. Unified Institutional Footer (.gc-footer — Deep Midnight Navy #0B1522)
   -------------------------------------------------------------------------- */
footer.gc-footer {
    background-color: #0B1522 !important;
    color: rgba(244, 246, 249, 0.72) !important;
    border-top: 2px solid var(--gc-bronze);
    padding: 50px 0 46px;
}

.gc-footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.gc-footer-brand-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 28px;
}

.gc-footer-logo { display: inline-flex; align-items: center; }
.gc-footer-logo img { height: 36px; width: auto; display: block; }
.gc-footer-pipe { width: 1px; height: 24px; background-color: rgba(255, 255, 255, 0.18); }

.gc-footer-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: visible;
}

footer.gc-footer .gc-footer-links li {
    float: none !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
}

footer.gc-footer .gc-footer-links li + li::before {
    position: static !important;
    display: inline-block !important;
    content: "";
    width: 1px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.18) !important;
    margin: 0 18px;
}

footer.gc-footer .gc-footer-links li a {
    color: rgba(244, 246, 249, 0.88) !important;
    font-size: 14.5px !important;
    font-weight: 500;
    text-decoration: none !important;
}
footer.gc-footer .gc-footer-links li a.is-policy { font-weight: 700; color: var(--gc-bronze-on-dark) !important; }
footer.gc-footer .gc-footer-links li a:hover { color: #FFFFFF !important; }

.gc-footer-channels { display: flex; align-items: center; gap: 16px; font-size: 13.5px; }
footer.gc-footer .gc-footer-channels a { color: rgba(244, 246, 249, 0.72) !important; text-decoration: none !important; }
footer.gc-footer .gc-footer-channels a:hover { color: var(--gc-bronze-on-dark) !important; }

.gc-footer-bottom {
    padding-top: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

footer.gc-footer .gc-footer-meta p {
    margin: 0 0 4px 0 !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
    color: rgba(244, 246, 249, 0.62) !important;
}
footer.gc-footer .gc-footer-meta a { color: rgba(244, 246, 249, 0.86) !important; text-decoration: none !important; }
footer.gc-footer .gc-footer-copy { font-size: 12.5px !important; color: rgba(244, 246, 249, 0.46) !important; margin: 0 !important; }

/* --------------------------------------------------------------------------
   11. Subpage System Harmonization
   -------------------------------------------------------------------------- */
.header-title {
    position: relative;
    height: 256px !important;
    background-color: var(--gc-navy) !important;
    background-size: cover !important;
    background-position: center !important;
    overflow: hidden;
    border-bottom: 1px solid rgba(155, 140, 112, 0.28);
}

.header-title::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(17, 30, 46, 0.90) 0%,
        rgba(20, 35, 52, 0.80) 55%,
        rgba(20, 35, 52, 0.86) 100%
    );
    z-index: 1;
}

.header-title::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1280px;
    background-color: transparent !important;
    opacity: 1 !important;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.075) 1px, transparent 1px) !important;
    background-size: 25% 100% !important;
    pointer-events: none;
    z-index: 1;
}

.header-title > .container { position: relative; z-index: 2; height: 100%; }
.header-title .breadcrumb { float: right; margin-top: 34px; background: transparent; }
.header-title .breadcrumb * { color: rgba(250, 249, 246, 0.72) !important; opacity: 1; font-size: 13px; }
.header-title .breadcrumb > li.active { color: var(--gc-bronze-on-dark) !important; }
.header-title .title-base { clear: both; padding-top: 32px; }
.header-title .title-base hr { display: none !important; }
.header-title h2 {
    font-family: var(--gc-serif) !important;
    font-size: 38px !important;
    font-weight: 500 !important;
    letter-spacing: -0.025em;
    color: #FFFFFF !important;
}

.container.content, .section-empty > .content { padding-top: 68px; padding-bottom: 104px; }

h2.sub-tit {
    font-family: var(--gc-serif);
    font-size: 30px;
    font-weight: 600;
    color: var(--gc-navy);
    padding-left: 20px;
    letter-spacing: -0.025em;
}
h2.sub-tit:before {
    top: 5px; left: 0; width: 4px; height: 28px;
    background: var(--gc-bronze) !important;
    border-radius: 0 !important;
}

.block-quote.quote-1.quote-center, .block-quote.quote-2.quote-center {
    max-width: 820px; margin: 0 auto; color: var(--gc-body); font-size: 16px; line-height: 1.85; word-break: keep-all;
}
.block-quote.quote-1:before, .block-quote.quote-2:before { color: var(--gc-bronze) !important; }

.intro .text-l.circle,
.intro .intro-con > div:nth-child(1) i.circle,
.intro .intro-con > div:nth-child(3) i.circle,
.intro .intro-con > div:nth-child(5) i.circle {
    background: var(--gc-navy) !important;
    border: 1px solid var(--gc-bronze) !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 24px rgba(20, 35, 52, 0.12);
}
.intro .intro-con label.text-m {
    font-family: var(--gc-serif); font-size: 20px !important; font-weight: 600 !important;
    color: var(--gc-navy) !important; margin-bottom: 6px; display: inline-block;
}

.location .icon-box i.circle, .location i.circle {
    background-color: var(--gc-navy) !important;
    border: 1px solid var(--gc-bronze) !important;
}

.business-list li { border: 1px solid rgba(20, 35, 52, 0.12); background-color: var(--gc-navy); }
.business-list li a::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(16, 29, 45, 0.48) 0%, rgba(20, 35, 52, 0.78) 100%);
    z-index: 3; transition: background 0.25s ease;
}
.business-list li a:hover::before {
    background: linear-gradient(180deg, rgba(20, 35, 52, 0.68) 0%, rgba(14, 26, 39, 0.90) 100%);
}
.business-list li a p { font-family: var(--gc-serif); font-weight: 500; letter-spacing: -0.02em; z-index: 5; }

.businessView h3 { font-family: var(--gc-serif); font-size: 28px; font-weight: 600; color: var(--gc-navy); margin-bottom: 20px; }
.businessView .advs-box { border: 1px solid var(--gc-line) !important; background-color: var(--gc-white); }
.businessView .advs-box:hover { border-color: var(--gc-navy) !important; box-shadow: 0 10px 26px rgba(20, 35, 52, 0.08); }
.businessView .expert-box { background-color: var(--gc-stone) !important; border: 1px solid var(--gc-line) !important; }
.businessView .expert-box h4 { font-family: var(--gc-serif); color: var(--gc-navy); }
.businessView .expert-box li b { color: var(--gc-bronze-on-light) !important; }
.businessView .expert-box li b:before { background: var(--gc-bronze) !important; }
.businessView a[href*="gamcheon.org"] {
    display: inline-block; padding: 9px 18px; border: 1px solid var(--gc-navy);
    color: var(--gc-navy) !important; font-size: 14.5px; font-weight: 600; text-decoration: none !important;
}
.businessView a[href*="gamcheon.org"]:hover { background-color: var(--gc-navy); color: #FFFFFF !important; }

.member #tab-box-border .nav-tabs { border-bottom: 1px solid var(--gc-line); background-color: var(--gc-stone); }
.member #tab-box-border li { border: 1px solid var(--gc-line) !important; border-left: 0 !important; background-color: var(--gc-stone); }
.member #tab-box-border li:first-child { border-left: 1px solid var(--gc-line) !important; }
.member #tab-box-border .nav-tabs > li > a { font-family: var(--gc-serif); font-size: 18px; font-weight: 500; color: var(--gc-muted) !important; }
.member #tab-box-border .nav-tabs > li.active > a,
.member #tab-box-border .nav-tabs > li:hover > a { background-color: var(--gc-navy) !important; color: #FFFFFF !important; }
.member #tab-box-border .nav:not(.ms-rounded) li > a:before { background-color: var(--gc-bronze) !important; height: 3px; }
.niche-box-team { border: 1px solid var(--gc-line-soft); background-color: var(--gc-white); transition: border-color 0.22s ease, box-shadow 0.22s ease; }
.niche-box-team:hover { border-color: var(--gc-bronze); box-shadow: 0 12px 28px rgba(20, 35, 52, 0.09); }
.niche-box-team .content-box { background-color: var(--gc-white); }
.niche-box-team .content-box h2 { font-family: var(--gc-serif); font-size: 20px; font-weight: 600; color: var(--gc-navy); }
.niche-box-team .content-box h4 { color: var(--gc-bronze-on-light); font-size: 14px; font-weight: 500; }
.niche-box-team i.fa-plus.circle { color: var(--gc-navy) !important; background: var(--gc-stone) !important; border: 1px solid var(--gc-bronze) !important; }
.popup-member-detail { border-top: 4px solid var(--gc-navy) !important; background-color: var(--gc-white) !important; }
.popup-member-detail h2, .popup-member-detail h3 { font-family: var(--gc-serif); color: var(--gc-navy); }

.grid-company li { border: 1px solid var(--gc-line-soft); background-color: var(--gc-white); }
.grid-company li:hover { border-color: var(--gc-bronze); }

.list-blog .form-control {
    height: 46px; background-color: var(--gc-white); border: 1px solid #C5BEB0 !important;
    border-right: 0 !important; color: var(--gc-ink); font-size: 14.5px; box-shadow: none !important;
}
.list-blog .input-group-btn .btn, .list-blog .btn.btn-default, .list-blog .btn.btn-default:hover {
    height: 46px; padding: 0 16px; border: 1px solid #C5BEB0 !important; border-left: 0 !important;
    background-color: var(--gc-white) !important; color: var(--gc-navy) !important; border-radius: 0 !important;
}
.table.custom-table { border-top: 2px solid var(--gc-navy) !important; border-bottom: 1px solid var(--gc-line) !important; }
.custom-table > thead > tr > th { background-color: var(--gc-stone); border-bottom: 1px solid var(--gc-line) !important; color: var(--gc-navy); font-weight: 700; padding: 17px 15px !important; }
.custom-table > tbody > tr > td { border-top: 1px solid var(--gc-line-soft); padding: 17px 15px !important; color: var(--gc-body); }
.custom-table > tbody > tr:hover > td { background-color: #FCFBF9; }
.custom-table > tbody > tr > td a { color: var(--gc-ink); font-weight: 500; text-decoration: none !important; }
.custom-table > tbody > tr > td a:hover { color: var(--gc-bronze-on-light); }

.grid-item a .niche-box-post { border: 1px solid var(--gc-line-soft) !important; background-color: var(--gc-white) !important; }
.grid-item a:hover .niche-box-post { border-color: var(--gc-bronze) !important; box-shadow: 0 12px 28px rgba(20, 35, 52, 0.08); }
.niche-box-post .block-infos .block-data { background-color: var(--gc-navy) !important; border-bottom: 2px solid var(--gc-bronze); }
.grid-item a .niche-box-post .advs-box-content h2 { font-family: var(--gc-serif); font-size: 18.5px !important; font-weight: 600; line-height: 1.45; color: var(--gc-navy); }
.grid-item a:hover .niche-box-post .advs-box-content h2 { color: var(--gc-bronze-on-light) !important; }

.pagination li.btn-page a { border: 1px solid var(--gc-line) !important; background-color: var(--gc-white) !important; color: var(--gc-navy) !important; border-radius: 0 !important; }
.pagination li.page a { color: var(--gc-muted) !important; border: 0 !important; background: transparent !important; }
.pagination li.active a { color: var(--gc-navy) !important; font-weight: 700 !important; background: transparent !important; }
.pagination li.active a:before { background: var(--gc-bronze) !important; height: 2px; }

.view .custom-table > thead > tr > th, .view .custom-table > tbody > tr:first-child > th { background-color: var(--gc-stone); }
.view table.table:not(.grid-table) > tbody > tr > td.view-con { padding: 52px 48px; line-height: 1.85; color: #2E3842; }

body.contact .section-empty[style*="f7f7f7"] { background-color: var(--gc-stone) !important; border-top: 1px solid var(--gc-line-soft); }
body.contact h2.text-center { font-family: var(--gc-serif); font-size: 32px; font-weight: 600; color: var(--gc-navy); }
.box-steps .step-number { color: var(--gc-bronze) !important; font-family: var(--gc-serif); }
.box-steps h4 { font-family: var(--gc-serif); color: var(--gc-navy); font-weight: 600; }
#contact-form p { text-align: left; font-weight: 700; color: var(--gc-navy); margin-bottom: 8px; font-size: 14.5px; }
#contact-form .form-control { background-color: var(--gc-white) !important; border: 1px solid #CFC8BA !important; border-radius: 0 !important; padding: 12px 15px; font-size: 15px; color: var(--gc-ink); box-shadow: none !important; }
#contact-form textarea.form-control { min-height: 170px; }
#submit-btn { background-color: var(--gc-navy) !important; border: 1px solid var(--gc-bronze) !important; color: #FFFFFF !important; border-radius: 0 !important; padding: 13px 44px !important; font-size: 15.5px !important; font-weight: 500 !important; }

/* --------------------------------------------------------------------------
   12. Responsive Breakpoints
   -------------------------------------------------------------------------- */
@media (max-width: 1120px) {
    .gc-nav { gap: 20px; }
    .gc-practice-interactive { grid-template-columns: 1fr; }
    .gc-spotlight-card { min-height: 360px; }
    .gc-case-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-action-trio { grid-template-columns: 1fr; }
}

@media (max-width: 991px) {
    .gc-header-inner { height: 68px; padding: 0 20px; }
    .gc-brand img { height: 31px; }
    .gc-nav-wrap { display: none; }
    .gc-mobile-right { display: inline-flex; }
    .gc-container { padding: 0 20px; }
    .gc-hero { min-height: 640px; }
    .gc-hero-body { padding: 56px 0 28px; }
    .gc-hero-copy-deck { min-height: 210px; margin-bottom: 22px; }
    .gc-hero-title { font-size: 36px; }
    .gc-hero-sub { font-size: 15.5px; }
    .gc-hero-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .gc-scroll-cue { display: none; }
    .gc-sec-serif-title, .gc-team-title { font-size: 31px; }
    .gc-sres-pgrid, .gc-sres-mgrid { grid-template-columns: 1fr; }
    .header-title { height: 196px !important; }
    .header-title h2 { font-size: 28px !important; }
}

@media (max-width: 640px) {
    .gc-hero-title { font-size: 29px; line-height: 1.34; }
    .gc-hero-copy-deck { min-height: 195px; }
    .gc-hero-search-box { height: 54px; padding-left: 14px; }
    .gc-hero-search-input { font-size: 14px; }
    .gc-hero-search-submit { height: 42px; padding: 0 16px; font-size: 13.5px; }
    .gc-hero-tab-label span:last-child { display: none; }
    .gc-hero-tabs { grid-template-columns: repeat(4, 1fr); gap: 8px; }
    .gc-pcard-grid { grid-template-columns: 1fr; }
    .gc-case-cards { grid-template-columns: 1fr; }
    .gc-media-grid { grid-template-columns: 1fr; }
    .gc-mcard { flex: 0 0 200px; }
    .gc-mcard-photo { height: 230px; }
    .gc-sec-head { flex-direction: column; align-items: flex-start; }
    .gc-footer-brand-group { flex-direction: column; align-items: flex-start; gap: 16px; }
    .gc-footer-pipe { display: none; }
    footer.gc-footer .gc-footer-links li + li::before { margin: 0 10px; }
}


/* --------------------------------------------------------------------------
   13. SECTION 02 (NEW) — WHY GAMCHEON: Interactive 3-Pillar Accordion +
       Institutional Fact Bar (Navy-Centric Flagship Architecture)
   -------------------------------------------------------------------------- */
.gc-why-sec {
    background-color: var(--gc-stone);
    padding: 96px 0 88px;
    border-bottom: 1px solid var(--gc-line);
}

.gc-pillar-deck {
    display: flex;
    gap: 18px;
    min-height: 410px;
    margin-bottom: 28px;
}

.gc-pillar-card {
    position: relative;
    flex: 1 1 0%;
    background-color: var(--gc-navy);
    color: #FFFFFF;
    padding: 36px 32px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-top: 3px solid var(--gc-bronze);
    transition: flex 0.55s var(--gc-ease), border-color 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.gc-pillar-card.is-active,
.gc-pillar-card:hover {
    flex: 1.55 1 0%;
    border-color: var(--gc-bronze-on-dark);
    box-shadow: 0 24px 52px rgba(10, 20, 32, 0.24);
}

.gc-pillar-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.26;
    transform: scale(1.04);
    transition: opacity 0.5s ease, transform 0.7s var(--gc-ease);
    z-index: 0;
}

.gc-pillar-card.is-active .gc-pillar-bg,
.gc-pillar-card:hover .gc-pillar-bg {
    opacity: 0.42;
    transform: scale(1.09);
}

.gc-pillar-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(10, 20, 32, 0.66) 0%,
        rgba(14, 27, 43, 0.84) 55%,
        rgba(10, 20, 32, 0.96) 100%
    );
    z-index: 1;
}

.gc-pillar-top,
.gc-pillar-bottom {
    position: relative;
    z-index: 2;
}

.gc-pillar-num {
    display: inline-block;
    font-family: var(--gc-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: var(--gc-bronze-on-dark);
    padding: 4px 12px;
    border: 1px solid rgba(213, 196, 163, 0.40);
    background: rgba(10, 20, 32, 0.58);
    margin-bottom: 16px;
}

.gc-pillar-title {
    font-family: var(--gc-serif);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.35;
    color: #FFFFFF !important;
    margin: 0 0 12px 0;
}

.gc-pillar-desc {
    font-size: 14.5px;
    line-height: 1.72;
    color: rgba(244, 246, 249, 0.86) !important;
    margin: 0 0 18px 0;
    word-break: keep-all;
}

.gc-pillar-points {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gc-pillar-points li {
    font-size: 12.5px;
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: var(--gc-bronze-on-dark);
}

.gc-pillar-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    font-size: 13.5px;
    color: rgba(244, 246, 249, 0.88);
}

.gc-pillar-link {
    color: var(--gc-bronze-on-dark) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.gc-pillar-link:hover {
    color: #FFFFFF !important;
}

/* Institutional 4-Column Verifiable Fact Bar */
.gc-fact-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--gc-navy-deep);
    border: 1px solid rgba(213, 196, 163, 0.30);
}

.gc-fact-cell {
    padding: 26px 28px;
    border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.gc-fact-cell:last-child {
    border-right: 0;
}

.gc-fact-val {
    display: block;
    font-family: var(--gc-serif);
    font-size: 28px;
    font-weight: 600;
    color: var(--gc-bronze-on-dark);
    line-height: 1.2;
    margin-bottom: 6px;
}

.gc-fact-label {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 3px;
}

.gc-fact-note {
    display: block;
    font-size: 12.5px;
    color: rgba(244, 246, 249, 0.62);
}

/* --------------------------------------------------------------------------
   14. Re-Architected Key Subpages (/intro, /business, /location, /contact)
   -------------------------------------------------------------------------- */
/* /intro — Modern Navy Executive Firm Overview */
.gc-sub-wrap {
    padding: 76px 0 104px;
    background-color: var(--gc-white);
}

.gc-sub-wrap--stone {
    background-color: var(--gc-stone);
}

.gc-intro-lead {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    gap: 48px;
    align-items: center;
    margin-bottom: 72px;
}

.gc-intro-photo {
    position: relative;
    border: 1px solid var(--gc-line);
    box-shadow: 0 22px 48px rgba(16, 30, 46, 0.12);
    background: var(--gc-navy);
    overflow: hidden;
}

.gc-intro-photo img {
    width: 100%;
    height: auto;
    display: block;
}

.gc-intro-copy h3 {
    font-family: var(--gc-serif);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.38;
    color: var(--gc-navy);
    margin: 0 0 20px 0;
}

.gc-intro-copy p {
    font-size: 16px;
    line-height: 1.82;
    color: var(--gc-body);
    margin: 0 0 16px 0;
    word-break: keep-all;
}

.gc-intro-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 64px;
}

.gc-ival-card {
    background: var(--gc-stone);
    border: 1px solid var(--gc-line);
    border-top: 3px solid var(--gc-navy);
    padding: 34px 30px;
    transition: transform 0.25s var(--gc-ease), border-color 0.25s ease, box-shadow 0.25s ease;
}

.gc-ival-card:hover {
    transform: translate3d(0, -4px, 0);
    border-top-color: var(--gc-bronze);
    box-shadow: 0 16px 36px rgba(16, 30, 46, 0.08);
}

.gc-ival-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.gc-ival-num {
    font-family: var(--gc-serif);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--gc-bronze-on-light);
}

.gc-ival-ico {
    width: 46px;
    height: 46px;
    background: var(--gc-navy);
    border: 1px solid var(--gc-bronze);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gc-ival-ico img {
    height: 22px;
    width: auto;
}

.gc-ival-card h4 {
    font-family: var(--gc-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--gc-navy);
    margin: 0 0 12px 0;
}

.gc-ival-card p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--gc-body);
    margin: 0;
    word-break: keep-all;
}

.gc-intro-centers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.gc-center-box {
    background: var(--gc-navy);
    color: #FFFFFF;
    padding: 36px 34px;
    border-left: 4px solid var(--gc-bronze);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.gc-center-box h4 {
    font-family: var(--gc-serif);
    font-size: 24px;
    font-weight: 600;
    color: #FFFFFF !important;
    margin: 6px 0 10px 0;
}

.gc-center-box p {
    color: rgba(244, 246, 249, 0.82) !important;
    font-size: 15px;
    margin: 0;
}

/* /business — Modern 10-Practice-Area Visual Catalog Grid */
.gc-biz-catalog {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 42px;
}

.gc-biz-card {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    background: var(--gc-white);
    border: 1px solid var(--gc-line);
    overflow: hidden;
    transition: transform 0.26s var(--gc-ease), border-color 0.25s ease, box-shadow 0.26s ease;
}

.gc-biz-card:hover {
    transform: translate3d(0, -4px, 0);
    border-color: var(--gc-navy);
    box-shadow: 0 18px 38px rgba(16, 30, 46, 0.10);
}

.gc-biz-photo {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 210px;
}

.gc-biz-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(16, 30, 46, 0.30) 0%, rgba(16, 30, 46, 0.78) 100%);
}

.gc-biz-idx {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    font-family: var(--gc-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--gc-bronze-on-dark);
    background: rgba(10, 20, 32, 0.82);
    border: 1px solid rgba(213, 196, 163, 0.40);
    padding: 3px 10px;
}

.gc-biz-body {
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.gc-biz-body h3 {
    font-family: var(--gc-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--gc-navy);
    margin: 0 0 8px 0;
}

.gc-biz-body p {
    font-size: 14.5px;
    line-height: 1.68;
    color: var(--gc-body);
    margin: 0 0 14px 0;
    word-break: keep-all;
}

.gc-biz-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 12px;
    border-top: 1px solid var(--gc-line-soft);
    font-size: 13.5px;
    font-weight: 600;
}

.gc-biz-links a {
    color: var(--gc-navy) !important;
    text-decoration: none !important;
}

.gc-biz-links a.is-sub {
    color: var(--gc-bronze-on-light) !important;
}

/* /location — Modern 2-Column Map + Floor Directory Layout */
.gc-loc-layout {
    display: grid;
    grid-template-columns: minmax(0, 58%) minmax(0, 42%);
    gap: 32px;
    align-items: stretch;
    margin-bottom: 32px;
}

.gc-loc-map {
    min-height: 420px;
    border: 1px solid var(--gc-line);
    background: var(--gc-stone);
    overflow: hidden;
}

.gc-loc-dir {
    background: var(--gc-navy);
    color: #FFFFFF;
    padding: 36px 34px;
    border-top: 3px solid var(--gc-bronze);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.gc-loc-dir h3 {
    font-family: var(--gc-serif);
    font-size: 26px;
    font-weight: 600;
    color: #FFFFFF !important;
    margin: 6px 0 14px 0;
}

.gc-loc-dir p {
    color: rgba(244, 246, 249, 0.85) !important;
    font-size: 15px;
    margin: 0 0 18px 0;
}

.gc-loc-floors {
    display: grid;
    gap: 14px;
    margin-bottom: 20px;
}

.gc-loc-floor {
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.06);
    border-left: 3px solid var(--gc-bronze);
}

.gc-loc-floor strong {
    display: block;
    color: var(--gc-bronze-on-dark);
    font-size: 14px;
    margin-bottom: 4px;
}

.gc-loc-floor span,
.gc-loc-floor a {
    color: #FFFFFF !important;
    font-size: 14.5px;
    text-decoration: none !important;
}

.gc-loc-transport {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.gc-trans-card {
    background: var(--gc-stone);
    border: 1px solid var(--gc-line);
    padding: 28px 30px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.gc-trans-ico {
    width: 48px;
    height: 48px;
    background: var(--gc-navy);
    border: 1px solid var(--gc-bronze);
    color: var(--gc-bronze-on-dark) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.gc-trans-card h4 {
    font-family: var(--gc-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--gc-navy);
    margin: 0 0 8px 0;
}

.gc-trans-card p {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.72;
}

@media (max-width: 1120px) {
    .gc-pillar-deck { flex-direction: column; min-height: 0; }
    .gc-fact-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gc-fact-cell { border-bottom: 1px solid rgba(255, 255, 255, 0.09); }
    .gc-intro-lead, .gc-loc-layout, .gc-biz-catalog { grid-template-columns: 1fr; }
    .gc-intro-values { grid-template-columns: 1fr; }
    .gc-intro-centers, .gc-loc-transport { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .gc-fact-strip { grid-template-columns: 1fr; }
    .gc-biz-card { grid-template-columns: 1fr; }
    .gc-biz-photo { min-height: 160px; }
}
