/* ==========================================================================
   CÔNG TY CỔ PHẦN THỦY ĐIỆN BẮC HÀ (BHHC)
   Theme: Pure Ocean Blue & White (#0A4D68, #0077B6, #0096C7, #0A2647)
   ========================================================================== */

/* 1. CSS VARIABLES & SYSTEM RESET (WHITE & DEEP OCEAN BLUE THEME) */
:root {
    /* Brand Primary Colors (Pure Ocean Blue Palette) */
    --primary-blue: #0A4D68;       /* Xanh biển đậm sang trọng */
    --royal-blue: #0077B6;         /* Xanh dương tươi sáng (Pure Ocean Blue) */
    --accent-cyan: #0096C7;        /* Xanh dương trong trẻo */
    --sky-light: #EBF4F6;          /* Xanh nhạt */
    --ocean-deep: #0A2647;         /* Xanh đen thẫm */
    
    /* Backgrounds & Clean White Modern Cards */
    --bg-lake-deep: #0A4D68;
    --bg-lake-main: #0077B6;
    --bg-card-glass: #FFFFFF;
    --bg-card-hover: #FFFFFF;
    --bg-glass-nav: rgba(255, 255, 255, 0.96);
    --bg-dark-glass: rgba(10, 77, 104, 0.78);
    
    /* Dynamic Accents */
    --cyan-neon: #0096C7;
    --blue-electric: #0077B6;
    --blue-royal: #0A4D68;
    --green-hydro: #0077B6;
    --green-emerald: #0A4D68;
    
    /* Texts */
    --text-pure: #FFFFFF;
    --text-heading: #0A2647;
    --text-main: #0A2647;
    --text-muted: #475569;
    --text-dim: #64748B;
    
    /* Borders */
    --border-glass: #E2E8F0;
    --border-glass-subtle: #EDF2F7;
    --border-glass-hover: rgba(0, 119, 182, 0.45);
    
    /* Shadows */
    --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.06);
    --shadow-card-hover: 0 10px 30px rgba(10, 77, 104, 0.12);
    --glow-cyan: 0 0 25px rgba(0, 150, 199, 0.4);
    --glow-blue: 0 0 25px rgba(0, 119, 182, 0.4);
    --glow-green: 0 0 25px rgba(0, 119, 182, 0.4);
    
    --font-heading: 'Montserrat', 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 85px;
    font-size: 16px;
    color-scheme: light dark;
}

body {
    font-family: var(--font-body);
    background-color: #F8FAFC;
    color: var(--text-main);
    line-height: 1.65;
    overflow-x: hidden;
    position: relative;
    min-height: 100vh;
}

/* 1.1 SCROLLYTELLING MULTI-LAYER VERTICAL SVG ILLUSTRATION (SEGESTA-STYLE) */
.hydro-scrolly-canvas-wrap {
    display: none !important;
}

.scrolly-video-canvas {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    display: block;
    pointer-events: none;
    z-index: 0;
    filter: brightness(0.82) contrast(1.08) blur(1.5px);
}

.scrolly-video-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 30%, rgba(7, 18, 34, 0.25) 0%, rgba(5, 12, 22, 0.65) 100%);
    pointer-events: none;
    z-index: 1;
}

.scrolly-svg-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    min-height: 100%;
    display: block;
    transform: translate3d(0, 0, 0);
    will-change: transform;
    pointer-events: none;
}

/* =========================================================================
   LIVE AMBIENT CONTINUOUS ANIMATIONS (RUNS 24/7 INDEPENDENT OF SCROLL)
   ========================================================================= */

/* 1. Continuous Waterfall Torrent */
@keyframes waterfallStreamDown {
    0% { stroke-dashoffset: 0; }
    100% { stroke-dashoffset: -320; }
}

.anim-waterfall-fast line {
    stroke-dasharray: 45, 20;
    animation: waterfallStreamDown 0.65s linear infinite;
}

.anim-waterfall-med line {
    stroke-dasharray: 55, 25;
    animation: waterfallStreamDown 0.95s linear infinite;
}

/* 2. Rising Bubbles Inside Glowing Amber Silo (Segesta Giant Tube) */
@keyframes bubbleFloatUp {
    0% {
        transform: translateY(0) scale(0.85);
        opacity: 0.2;
    }
    15% {
        opacity: 0.85;
    }
    85% {
        opacity: 0.85;
    }
    100% {
        transform: translateY(-580px) scale(1.15);
        opacity: 0;
    }
}

.anim-bubble {
    animation: bubbleFloatUp 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    transform-origin: center;
}
.anim-bubble.b1  { animation-duration: 4.8s; animation-delay: 0.2s; }
.anim-bubble.b2  { animation-duration: 5.5s; animation-delay: 1.1s; }
.anim-bubble.b3  { animation-duration: 4.2s; animation-delay: 0.7s; }
.anim-bubble.b4  { animation-duration: 6.0s; animation-delay: 1.8s; }
.anim-bubble.b5  { animation-duration: 4.6s; animation-delay: 2.3s; }
.anim-bubble.b6  { animation-duration: 5.2s; animation-delay: 0.5s; }
.anim-bubble.b7  { animation-duration: 5.8s; animation-delay: 1.4s; }
.anim-bubble.b8  { animation-duration: 4.4s; animation-delay: 2.7s; }
.anim-bubble.b9  { animation-duration: 5.1s; animation-delay: 3.1s; }
.anim-bubble.b10 { animation-duration: 4.9s; animation-delay: 0.9s; }
.anim-bubble.b11 { animation-duration: 5.6s; animation-delay: 1.6s; }
.anim-bubble.b12 { animation-duration: 6.2s; animation-delay: 2.4s; }
.anim-bubble.b13 { animation-duration: 4.7s; animation-delay: 3.5s; }

/* 3. Rotating Francis Turbine Runner */
@keyframes spinFrancisRunnerArt {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.anim-turbine-runner {
    transform-origin: 0px 0px;
    animation: spinFrancisRunnerArt 3.5s linear infinite;
}

/* 4. High-Pressure Penstock Velocity Flow */
@keyframes penstockRapidFlowArt {
    0% { stroke-dashoffset: 0; }
    100% { stroke-dashoffset: -160; }
}

.anim-penstock-flow {
    animation: penstockRapidFlowArt 0.8s linear infinite;
}

/* 5. Water Foam & Spray Surge at Waterfall Foot */
@keyframes foamSurgeArt {
    0%, 100% { transform: scale(1) translateY(0); opacity: 0.75; }
    50% { transform: scale(1.08) translateY(-6px); opacity: 0.95; }
}

.anim-foam-surge {
    transform-origin: 750px 2160px;
    animation: foamSurgeArt 1.8s ease-in-out infinite alternate;
}

/* 6. Setting Sun & Amber Glow Pulsation */
@keyframes ambientSunPulse {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.04); opacity: 1; }
}

.anim-sun-pulse {
    transform-origin: 780px 3820px;
    animation: ambientSunPulse 4.5s ease-in-out infinite alternate;
}

/* 7. Transmission Pylon Warning Beacon Blinking */
@keyframes beaconBlink {
    0%, 100% { opacity: 1; filter: drop-shadow(0 0 8px #EF4444); }
    50% { opacity: 0.2; filter: none; }
}

.anim-beacon-pulse {
    animation: beaconBlink 1.4s ease-in-out infinite;
}

/* 8. Water Surface Shimmer & Waves */
@keyframes waterWaveShimmer {
    0%, 100% { transform: translateX(0) scaleY(1); opacity: 0.65; }
    50% { transform: translateX(25px) scaleY(1.15); opacity: 0.95; }
}

.water-shimmer {
    animation: waterWaveShimmer 4s ease-in-out infinite;
}
.water-shimmer.wave-1 { animation-delay: 0s; }
.water-shimmer.wave-2 { animation-delay: 1s; }
.water-shimmer.wave-3 { animation-delay: 2s; }
.water-shimmer.wave-4 { animation-delay: 3s; }

/* Crisp & High-Legibility Atmospheric Vignette Overlay (Segesta Style Transparent Subtle Vignette) */
.scrolly-vignette-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 40%, rgba(5, 16, 28, 0.35) 100%);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: none;
    z-index: 1;
}

#hydroCanvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    z-index: 2;
}

/* 2. HERO VIDEO BACKGROUND (CONFINED TO HERO SECTION, NO OVERLAY) */
.video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    pointer-events: none;
    filter: brightness(0.95) contrast(1.02);
}

.video-overlay {
    display: none !important;
}

/* Page content wrapper */
.page-content {
    position: relative;
    z-index: 2;
    background-color: #FFFFFF;
}

/* 3. TOPBAR (DEEP OCEAN BLUE #0A4D68) */
.topbar {
    background-color: #0A4D68;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 0.82rem;
    padding: 9px 0;
    position: relative;
    z-index: 1001;
    color: #FFFFFF;
    box-shadow: 0 2px 12px rgba(10, 38, 71, 0.15);
}

.topbar-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.topbar-left, .topbar-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.topbar-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    font-weight: 500;
}

.topbar-item strong {
    color: #FFFFFF;
    font-weight: 700;
}

.topbar-item i {
    color: #05BFDB !important;
    font-size: 0.88rem;
    filter: drop-shadow(0 0 6px rgba(5, 191, 219, 0.5));
}

/* Topbar Quick Search Bar */
.topbar-search-form {
    display: flex;
    align-items: center;
}

.search-input-wrap {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 20px;
    padding: 3px 10px 3px 14px;
    gap: 8px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: all 0.3s var(--ease-out);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.search-input-wrap:focus-within {
    border-color: #FFFFFF;
    background: rgba(255, 255, 255, 0.25);
    box-shadow: 0 0 14px rgba(255, 255, 255, 0.35);
}

.search-icon {
    color: #FFFFFF;
    font-size: 0.78rem;
    opacity: 0.9;
}

.topbar-search-input {
    background: transparent;
    border: none;
    outline: none;
    color: #FFFFFF;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 500;
    width: 180px;
    transition: width 0.3s ease;
}

.topbar-search-input::placeholder {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.76rem;
}

.topbar-search-input:focus {
    width: 220px;
}

.search-submit-btn {
    background: transparent;
    border: none;
    color: #FFFFFF;
    font-size: 0.76rem;
    cursor: pointer;
    padding: 3px 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: color 0.2s, background 0.2s, transform 0.2s;
}

.search-submit-btn:hover {
    color: #05BFDB;
    background: rgba(255, 255, 255, 0.2);
    transform: translateX(2px);
}

/* 4. TYPOGRAPHY & COMMON COMPONENTS */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-pure);
    font-weight: 700;
    line-height: 1.25;
}

a {
    color: inherit;
    text-decoration: none;
    transition: all 0.25s ease;
}

ul {
    list-style: none;
}

.container {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 32px;
}

.section {
    padding: 100px 0;
    position: relative;
    z-index: 1;
}

.grid { display: grid; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

.gap-24 { gap: 24px; }
.gap-30 { gap: 30px; }
.gap-40 { gap: 40px; }
.gap-60 { gap: 60px; }
.align-center { align-items: center; }
.margin-auto { margin-left: auto; margin-right: auto; }

.gradient-text {
    background: linear-gradient(135deg, #0077B6 0%, #0096C7 50%, #05BFDB 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    text-shadow: none !important;
}

.text-cyan { color: var(--royal-blue) !important; }
.text-green { color: var(--royal-blue) !important; }
.text-purple { color: var(--primary-blue) !important; }

/* Enhanced Modern Glassmorphism Cards with Scrolly Backdrop Filter */
.glass-card {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 1);
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(10, 38, 71, 0.12), 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: all 0.35s var(--ease-out);
    position: relative;
    overflow: hidden;
    color: var(--text-main);
}

.glass-card:hover {
    background: #FFFFFF;
    border-color: rgba(0, 119, 182, 0.4);
    box-shadow: 0 18px 45px rgba(10, 77, 104, 0.16);
    transform: translateY(-5px);
}

.glass-card-sm {
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 1);
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(10, 77, 104, 0.08);
    color: var(--text-main);
}

/* Section Header Tags & Titles */
.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    border: 1px solid rgba(0, 119, 182, 0.3);
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    color: var(--primary-blue);
    margin-bottom: 18px;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.08);
}

.section-title {
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 20px;
    color: #0A2647;
    text-shadow: none;
}

.section-desc {
    max-width: 720px;
    color: #334155;
    font-size: 1.05rem;
    font-weight: 500;
    margin: 0 auto;
    text-shadow: none;
    line-height: 1.6;
}

.section-header-center {
    text-align: center;
    margin-bottom: 55px;
}

.section-head-bar {
    margin-bottom: 28px;
}

.section-head-bar .section-title {
    margin-bottom: 14px;
}

.panel-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    border: 1px solid rgba(0, 119, 182, 0.3);
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    color: var(--primary-blue);
    margin-bottom: 18px;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.08);
}

.panel-headline {
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 20px;
    color: #0A2647;
    font-family: var(--font-heading);
    line-height: 1.25;
    text-shadow: none;
}

.timeline-title-sub,
.leaders-subhead {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 700;
    color: #0A2647;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Interactive Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    font-family: var(--font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    border: none;
    transition: all 0.3s var(--ease-out);
}

.btn-primary-glow {
    background: linear-gradient(135deg, #0077B6 0%, #0A4D68 100%);
    color: #FFFFFF;
    box-shadow: 0 4px 20px rgba(0, 119, 182, 0.35);
}

.btn-primary-glow:hover {
    background: linear-gradient(135deg, #0096C7 0%, #0077B6 100%);
    box-shadow: 0 6px 26px rgba(0, 119, 182, 0.5);
    transform: translateY(-2px);
    color: #FFFFFF;
}

.btn-glass {
    background: rgba(255, 255, 255, 0.94);
    color: #0A2647;
    border: 1px solid rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 18px rgba(10, 77, 104, 0.12);
}

.btn-glass:hover {
    background: #FFFFFF;
    border-color: #0077B6;
    color: #0A4D68;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(0, 119, 182, 0.22);
}

.btn-glow-cta {
    background: linear-gradient(135deg, #0A4D68 0%, #0077B6 100%);
    color: #FFFFFF;
    border: none;
    padding: 9px 18px;
    font-size: 0.88rem;
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.3);
}

.btn-glow-cta:hover {
    background: linear-gradient(135deg, #0077B6 0%, #0096C7 100%);
    color: #FFFFFF;
    box-shadow: 0 6px 24px rgba(0, 119, 182, 0.5);
    transform: translateY(-2px);
}

/* 5. NAVIGATION BAR (WHITE GLASS) */
.header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all 0.35s ease;
    padding: 12px 0;
}

.glass-nav {
    background: var(--bg-glass-nav);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(10, 77, 104, 0.12);
    box-shadow: 0 4px 25px rgba(10, 38, 71, 0.08);
}

.header.scrolled {
    padding: 10px 0;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(10, 77, 104, 0.18);
    box-shadow: 0 8px 30px rgba(10, 38, 71, 0.12);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Brand Logo */
.logo-box {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
}

.logo-img-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 8px;
    padding: 6px 12px;
    border: 1px solid rgba(10, 77, 104, 0.1);
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.08);
    transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}

.logo-box:hover .logo-img-wrapper {
    transform: scale(1.04);
    box-shadow: 0 6px 20px rgba(0, 119, 182, 0.25);
}

.bhhc-logo-img {
    height: 42px;
    width: auto;
    object-fit: contain;
    display: block;
}

.logo-icon-wrap {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, rgba(0, 119, 182, 0.15), rgba(0, 150, 199, 0.2));
    border: 1px solid var(--royal-blue);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-energy-icon {
    font-size: 1.35rem;
    color: var(--royal-blue);
}

.logo-text-group {
    display: flex;
    flex-direction: column;
}

.logo-main {
    font-family: 'Montserrat', 'Outfit', sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-blue);
    line-height: 1.15;
    text-shadow: none;
}

.logo-sub {
    font-family: 'Inter', sans-serif;
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: var(--royal-blue);
    margin-top: 4px;
    text-transform: uppercase;
    text-shadow: none;
}

/* Nav Links */
.nav-links {
    display: flex;
    align-items: center;
    gap: 22px;
}

.nav-link {
    font-family: var(--font-heading);
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--primary-blue);
    letter-spacing: 0.3px;
    position: relative;
    padding: 6px 0;
    text-shadow: none;
    transition: color 0.25s ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2.5px;
    background: var(--royal-blue);
    box-shadow: 0 0 10px rgba(0, 119, 182, 0.4);
    transition: width 0.3s ease;
    border-radius: 2px;
}

.nav-link:hover, .nav-link.active {
    color: var(--royal-blue);
}

.nav-link:hover::after, .nav-link.active::after {
    width: 100%;
}

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

.lang-switch {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5);
}

.lang-btn {
    background: none;
    border: none;
    color: #FFFFFF;
    cursor: pointer;
    font-weight: 700;
    opacity: 0.75;
    transition: all 0.2s;
}

.lang-btn.active, .lang-btn:hover {
    color: #FFFFFF;
    opacity: 1;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
}

/* Hamburger Button */
.hamburger-btn {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.hamburger-btn span {
    width: 100%;
    height: 2.5px;
    background-color: var(--cyan-neon);
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* 6. MOBILE DRAWER */
.mobile-drawer {
    position: fixed;
    top: 0;
    right: -320px;
    width: 300px;
    height: 100%;
    background: rgba(0, 20, 36, 0.98);
    backdrop-filter: blur(25px);
    border-left: 1px solid var(--border-glass);
    z-index: 2000;
    padding: 30px 24px;
    transition: right 0.35s var(--ease-out);
    display: flex;
    flex-direction: column;
}

.mobile-drawer.open { right: 0; }

.drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-glass-subtle);
}

.logo-drawer {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-img-wrapper-drawer {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 6px;
    padding: 4px 8px;
    box-shadow: 0 2px 10px rgba(255, 255, 255, 0.2);
}

.bhhc-logo-drawer {
    height: 32px;
    width: auto;
    object-fit: contain;
    display: block;
}

.logo-main-drawer {
    font-family: 'Montserrat', 'Outfit', sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #FFFFFF;
    line-height: 1.15;
    display: block;
}

.logo-sub-drawer {
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--cyan-neon);
    margin-top: 2px;
    text-transform: uppercase;
    display: block;
}

.close-drawer-btn {
    background: none;
    border: none;
    color: var(--primary-blue);
    font-size: 1.8rem;
    cursor: pointer;
}

.mobile-nav-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mob-link {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--primary-blue);
    display: block;
    padding: 8px 0;
    transition: all 0.25s ease;
}

.mob-link:hover {
    color: var(--royal-blue);
    padding-left: 8px;
}

.btn-drawer-cta {
    margin-top: 20px;
    background: linear-gradient(135deg, var(--primary-blue), var(--royal-blue));
    color: #FFFFFF !important;
    text-align: center;
    border-radius: 8px;
    padding: 12px !important;
    font-weight: 700;
}

.drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(10, 38, 71, 0.6);
    backdrop-filter: blur(5px);
    z-index: 1900;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.drawer-backdrop.open { opacity: 1; visibility: visible; }

/* 7. HERO SECTION */
/* 7. HERO SECTION (VIDEO SHOWCASE - 2/3 VIEWPORT HEIGHT) */
.hero-section {
    position: relative;
    overflow: hidden;
    height: 66.7vh;
    min-height: 480px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    border-bottom: 4px solid #0A4D68;
    box-shadow: 0 10px 30px rgba(10, 38, 71, 0.15);
}

/* Hero Brand Tag (Bottom-Left Glassmorphism Identifier) */
.hero-brand-tag {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 10;
    background: rgba(10, 77, 104, 0.82);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 18px 28px;
    border-radius: 12px;
    border-left: 4px solid #05BFDB;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
    max-width: 580px;
    animation: fadeInTag 0.8s ease-out;
}

@keyframes fadeInTag {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

.hero-brand-tag-name {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #FFFFFF;
    letter-spacing: 0.8px;
    line-height: 1.3;
    margin-bottom: 6px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.hero-brand-tag-slogan {
    font-family: var(--font-body);
    font-size: 0.92rem;
    font-style: italic;
    font-weight: 500;
    color: #05BFDB;
    letter-spacing: 0.3px;
    line-height: 1.4;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

/* Video Playlist Controls (Bottom-Right) */
.hero-video-controls {
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(10, 38, 71, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 8px 16px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.video-ctrl-btn {
    background: transparent;
    border: none;
    color: #FFFFFF;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.25s ease;
}

.video-ctrl-btn:hover {
    background: rgba(5, 191, 219, 0.25);
    color: #05BFDB;
    transform: scale(1.1);
}

.video-playlist-indicators {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 4px;
}

.indicator-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    transition: all 0.3s ease;
}

.indicator-dot:hover {
    background: rgba(255, 255, 255, 0.75);
    transform: scale(1.2);
}

.indicator-dot.active {
    width: 24px;
    border-radius: 10px;
    background: #05BFDB;
    box-shadow: 0 0 10px rgba(5, 191, 219, 0.7);
}

.scroll-down-indicator {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    height: 42px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 20px;
    display: flex;
    justify-content: center;
    padding-top: 6px;
    transition: border-color 0.3s;
    z-index: 5;
}

.scroll-down-indicator:hover { border-color: #05BFDB; }

/* Dashboard Highlights Strip (Positioned between Title and Time Update) */
.dashboard-highlights-strip {
    margin-top: 30px;
    margin-bottom: 28px;
}

.hero-highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
}

.highlight-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 26px;
    text-align: left;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: 14px;
    box-shadow: 0 6px 24px rgba(10, 77, 104, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.95);
    transition: all 0.3s ease;
}

.highlight-item:hover {
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(10, 77, 104, 0.14);
    border-color: rgba(0, 119, 182, 0.4);
}

.hl-icon {
    width: 52px;
    height: 52px;
    background: rgba(0, 119, 182, 0.1);
    color: var(--royal-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex-shrink: 0;
    box-shadow: 0 0 15px rgba(0, 119, 182, 0.1);
}

.hl-text h4 {
    font-size: 1.05rem;
    font-weight: 800;
    color: #071E33;
    margin-bottom: 4px;
}

.hl-text p {
    font-size: 0.86rem;
    font-weight: 500;
    color: #334155;
    line-height: 1.4;
}

.mouse-wheel {
    width: 4px;
    height: 8px;
    background: var(--cyan-neon);
    border-radius: 2px;
    box-shadow: var(--glow-cyan);
    animation: scrollWheel 1.8s infinite;
}

@keyframes scrollWheel { 0% { transform: translateY(0); opacity: 1; } 100% { transform: translateY(14px); opacity: 0; } }

/* 8. LIVE HYDROLOGY & POWER DASHBOARD */
.dashboard-section {
    background: #F4FAFD;
    padding-top: 60px;
    padding-bottom: 60px;
    opacity: 1 !important;
    visibility: visible !important;
    border-bottom: 1px solid #E2E8F0;
}

#dashboard,
#dashboard .section-header-center,
#dashboard .dashboard-meta-bar,
#dashboard .hero-highlights-grid,
#dashboard .highlight-item,
#dashboard .grid-4,
#dashboard .dashboard-card {
    opacity: 1 !important;
    visibility: visible !important;
}

.dashboard-section .section-header-center {
    margin-bottom: 35px;
}

.dashboard-section .section-title {
    color: var(--ocean-deep) !important;
    font-size: 2.5rem;
    font-weight: 800;
    text-shadow: none !important;
    margin-bottom: 24px;
}

.dashboard-section .gradient-text {
    background: linear-gradient(135deg, var(--primary-blue), var(--royal-blue)) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    filter: none !important;
    text-shadow: none !important;
}

.dashboard-meta-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 0;
}

.live-clock {
    font-size: 0.88rem;
    color: var(--text-muted) !important;
    font-weight: 600;
    text-shadow: none !important;
}

.btn-refresh-data {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(0, 119, 182, 0.25);
    color: var(--primary-blue);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.1);
}

.btn-refresh-data:hover {
    background: #0077B6;
    color: #FFFFFF;
    box-shadow: 0 6px 20px rgba(0, 119, 182, 0.35);
}

.dashboard-card {
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card-top-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.card-label {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: var(--primary-blue);
    display: flex;
    align-items: center;
    gap: 6px;
}

.status-badge {
    font-size: 0.68rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 12px;
    letter-spacing: 0.5px;
}

.badge-normal { background: rgba(0, 119, 182, 0.12); color: var(--royal-blue); border: 1px solid rgba(0, 119, 182, 0.25); }
.badge-good { background: rgba(0, 119, 182, 0.12); color: var(--royal-blue); border: 1px solid rgba(0, 119, 182, 0.25); }
.badge-plan { background: rgba(234, 179, 8, 0.15); color: #B45309; border: 1px solid rgba(234, 179, 8, 0.3); }
.badge-generating { background: rgba(16, 185, 129, 0.15); color: #047857; border: 1px solid rgba(16, 185, 129, 0.3); }
.badge-stopped { background: rgba(100, 116, 139, 0.15); color: #475569; border: 1px solid rgba(100, 116, 139, 0.3); }
.badge-flood { background: rgba(239, 68, 68, 0.15); color: #dc2626; border: 1px solid rgba(239, 68, 68, 0.3); }

.card-big-metric {
    font-family: var(--font-heading);
    font-size: 2.8rem;
    font-weight: 900;
    color: var(--ocean-deep);
    line-height: 1;
    margin: 8px 0;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    transition: color 0.4s ease, transform 0.4s ease;
}

@keyframes flashDataUpdate {
    0% { transform: scale(1.05); color: #05BFDB; }
    100% { transform: scale(1); color: var(--ocean-deep); }
}

.data-updated {
    animation: flashDataUpdate 0.8s ease-out;
}

.metric-unit {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--royal-blue);
}

.level-progress-wrap {
    margin: 12px 0 8px;
}

.progress-bar {
    width: 100%;
    height: 7px;
    background: rgba(10, 77, 104, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #0A4D68, #0077B6);
    border-radius: 4px;
    transition: width 0.8s ease;
}

.progress-fill.fill-green {
    background: linear-gradient(90deg, #0A4D68, #0077B6);
}

.progress-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    color: var(--text-dim);
    margin-top: 4px;
}

.flow-metrics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 10px 0 14px 0;
}

.flow-col {
    background: rgba(10, 77, 104, 0.04);
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(10, 77, 104, 0.1);
    text-align: center;
}

.flow-title {
    font-size: 0.7rem;
    color: var(--text-dim);
    display: block;
    margin-bottom: 2px;
    text-align: center;
}

.flow-num {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.flow-num strong {
    font-size: 1.15rem;
    font-family: var(--font-heading);
    color: var(--ocean-deep);
}

.flow-num span {
    font-size: 0.72rem;
    color: var(--royal-blue);
    font-weight: 700;
}

.spillway-info-box {
    background: rgba(10, 77, 104, 0.04);
    border: 1px solid rgba(10, 77, 104, 0.1);
    padding: 8px 12px;
    border-radius: 8px;
    margin: 8px 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.spillway-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.78rem;
    color: var(--ocean-deep);
}

.spillway-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--text-dim);
}

.spillway-val {
    color: var(--ocean-deep);
    font-size: 0.95rem;
    font-family: var(--font-heading);
    font-weight: 800;
}

.spillway-state {
    font-size: 0.72rem;
    color: var(--royal-blue);
    font-weight: 600;
    text-align: right;
}

.spillway-info {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 6px 0;
}

.unit-status-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 10px 0;
}

.unit-chip {
    font-size: 0.8rem;
    background: rgba(10, 77, 104, 0.04);
    border: 1px solid rgba(10, 77, 104, 0.1);
    padding: 6px 10px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ocean-deep);
    font-weight: 600;
}

.card-note {
    font-size: 0.76rem;
    color: var(--text-dim);
    border-top: 1px solid rgba(10, 77, 104, 0.08);
    padding-top: 8px;
    margin-top: 6px;
    text-align: center;
}

/* 9. ABOUT SECTION (CLEAN CORPORATE WHITE THEME) */
.about-section {
    background: #FFFFFF !important;
    position: relative;
    z-index: 2;
    padding: 80px 0;
}

.about-section .section-header-center {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    padding: 0;
    max-width: 900px;
    margin: 0 auto 40px auto;
    box-shadow: none;
    position: relative;
    z-index: 5;
    text-align: center;
}

.about-section .section-title {
    color: var(--ocean-deep) !important;
    font-size: 2.35rem;
    font-weight: 800;
    line-height: 1.35;
    text-shadow: none !important;
    margin-bottom: 0;
}

.about-section .gradient-text {
    background: linear-gradient(135deg, var(--primary-blue), var(--royal-blue)) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    filter: none !important;
    text-shadow: none !important;
}

.about-visual-wrap { position: relative; }

.about-section .about-main-grid {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 36px;
    align-items: center;
}

.about-section .about-image-card {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    box-shadow: 0 10px 30px rgba(10, 77, 104, 0.08);
    height: 100%;
}

.about-img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--ease-out);
}

.about-section .about-image-card:hover .about-img { transform: scale(1.03); }

.about-section .experience-floating-pill {
    position: absolute;
    bottom: 25px;
    left: 25px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 24px;
    border-left: 4px solid var(--royal-blue);
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-radius: 12px;
    border: 1px solid #E2E8F0;
    border-left: 4px solid var(--royal-blue);
    box-shadow: 0 10px 30px rgba(10, 77, 104, 0.12);
}

.about-section .pill-number {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--royal-blue);
    line-height: 1;
    text-shadow: none;
}

.about-section .pill-text {
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--ocean-deep);
    line-height: 1.3;
}

.visual-glow-halo {
    position: absolute;
    inset: -20px;
    background: radial-gradient(circle, rgba(0, 119, 182, 0.12) 0%, transparent 70%);
    filter: blur(40px);
    z-index: -1;
    border-radius: 30px;
}

/* Dynamic Panels Stage */
.about-panels-stage {
    position: relative;
    width: 100%;
}

.about-step-indicators {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.about-step-indicators .step-badge {
    font-family: var(--font-heading);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    padding: 6px 14px;
    border-radius: 20px;
    background: #F1F5F9;
    border: 1px solid #CBD5E1;
    color: #475569;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: all 0.35s ease;
}

.about-step-indicators .step-badge.active {
    background: var(--royal-blue);
    border-color: var(--royal-blue);
    color: #FFFFFF;
    box-shadow: 0 4px 15px rgba(0, 119, 182, 0.3);
}

.about-slides-stack {
    position: relative;
    min-height: 430px;
}

.about-slide-panel {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    padding: 30px 34px;
    box-shadow: 0 10px 30px rgba(10, 77, 104, 0.07);
    color: var(--text-main);
    transition: border-color 0.3s ease;
}

.about-slide-panel:hover {
    border-color: var(--royal-blue);
}

.panel-header-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: var(--royal-blue);
    text-transform: uppercase;
    margin-bottom: 12px;
}

.panel-headline {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--ocean-deep);
    margin-bottom: 14px;
    line-height: 1.35;
    text-shadow: none;
}

.about-section .section-lead {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--royal-blue);
    line-height: 1.6;
    margin-bottom: 12px;
    text-shadow: none;
}

.about-section .section-paragraph {
    font-size: 0.94rem;
    font-weight: 400;
    color: #475569;
    line-height: 1.65;
    margin-bottom: 20px;
}

.about-section .section-paragraph strong {
    color: var(--ocean-deep);
    font-weight: 700;
}

.panel-metrics-strip {
    display: flex;
    gap: 24px;
    padding-top: 16px;
    border-top: 1px solid #E2E8F0;
}

.p-metric {
    display: flex;
    flex-direction: column;
}

.p-val {
    font-family: var(--font-heading);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--royal-blue);
}

.p-lbl {
    font-size: 0.74rem;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

/* About Grid custom layout to give right panel sufficient width for single-line partner items */
.about-section .about-main-grid {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 36px;
    align-items: center;
}

/* Construction Partners Box in About Panel 1 */
.construction-partners-box {
    margin-top: 16px;
    padding: 14px 18px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
}

.partners-box-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--ocean-deep);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.construction-partners-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.construction-partners-list li {
    font-size: 0.83rem;
    color: #334155;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.construction-partners-list .p-num {
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: rgba(0, 119, 182, 0.12);
    border: 1px solid rgba(0, 119, 182, 0.25);
    color: var(--royal-blue);
    font-size: 0.72rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.construction-partners-list strong {
    color: var(--ocean-deep);
    font-weight: 700;
}

/* Pillar cards */
.about-section .pillar-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 0;
}

.about-section .pillar-card.dark-glass-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 16px 20px;
    transition: all 0.3s ease;
}

.about-section .pillar-card.dark-glass-card:hover {
    background: #FFFFFF;
    border-color: var(--royal-blue);
    box-shadow: 0 4px 15px rgba(0, 119, 182, 0.1);
    transform: translateX(5px);
}

.about-section .pillar-icon-box {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(0, 119, 182, 0.1);
    border: 1px solid rgba(0, 119, 182, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.about-section .pillar-icon-box .pillar-icon {
    font-size: 1.15rem;
    color: var(--royal-blue);
    margin: 0;
}

.about-section .pillar-card h5 {
    font-size: 0.98rem;
    color: var(--ocean-deep);
    margin-bottom: 4px;
    font-weight: 700;
}

.about-section .pillar-card p {
    font-size: 0.88rem;
    color: #475569;
    line-height: 1.5;
    margin: 0;
}

.about-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.iso-pills { display: flex; gap: 8px; }

.iso-code {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(10, 77, 104, 0.15);
    padding: 5px 12px;
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--primary-blue);
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(10, 77, 104, 0.08);
}

/* ===================================================
   10. FEATURED NEWS SECTION (TIN NỔI BẬT - PTSC STYLE BANNER)
   =================================================== */
.featured-news-section {
    background: #FFFFFF !important;
    position: relative;
    z-index: 2;
    padding: 70px 0 85px;
    border-top: 1px solid #E2E8F0;
    scroll-margin-top: 90px;
}

.featured-news-header {
    margin-bottom: 24px;
}

.featured-news-main-title {
    font-family: var(--font-heading), 'Montserrat', sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    color: #0A2647;
    text-transform: uppercase;
    letter-spacing: -0.5px;
    line-height: 1.25;
    margin: 0;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.hot-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #FF3B30 0%, #FF9500 100%);
    color: #FFFFFF;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 20px;
    letter-spacing: 1px;
    vertical-align: middle;
    box-shadow: 0 4px 15px rgba(255, 59, 48, 0.45);
    animation: pulseHotBadge 2s infinite ease-in-out;
    -webkit-text-fill-color: initial;
    text-shadow: none;
}

.hot-badge i {
    font-size: 0.85rem;
    color: #FFE600;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}

@keyframes pulseHotBadge {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 4px 15px rgba(255, 59, 48, 0.45);
    }
    50% {
        transform: scale(1.06);
        box-shadow: 0 6px 22px rgba(255, 59, 48, 0.65);
    }
}

.featured-news-banner {
    position: relative;
    width: 100%;
    min-height: 380px;
    height: 420px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(10, 77, 104, 0.12);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #E2E8F0;
}

.featured-banner-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left center;
    z-index: 1;
    filter: none !important;
}

/* Slider Nav Buttons (< >) on Top Left of Photo */
.banner-slider-nav {
    position: absolute;
    top: 24px;
    left: 24px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    z-index: 5;
}

.slider-nav-btn {
    width: 32px;
    height: 32px;
    background: #1C3B6F;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.slider-nav-btn:hover {
    background: #0077B6;
    color: #FFFFFF;
}

/* Slanted Light Content Shape with Soft Drop Shadow ("bóng mờ") */
.banner-white-shape-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    filter: drop-shadow(-14px 0 24px rgba(0, 0, 0, 0.22));
}

.banner-white-shape {
    width: 100%;
    height: 100%;
    clip-path: polygon(72% 0, 100% 0, 100% 100%, 42% 100%);
    background: linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 60%, #EEF2F6 100%);
}

.featured-banner-content {
    position: relative;
    z-index: 4;
    width: 50%;
    max-width: 560px;
    padding: 36px 48px 36px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-left: auto;
}

.banner-category-tag {
    font-size: 0.76rem;
    font-weight: 700;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 6px;
    display: block;
}

.banner-project-title {
    font-family: var(--font-heading), 'Montserrat', sans-serif;
    font-size: 1.45rem;
    font-weight: 800;
    color: #0A2647;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.banner-specs-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
}

.banner-specs-list p {
    font-size: 0.88rem;
    color: #334155;
    line-height: 1.55;
    margin: 0;
}

.banner-specs-list strong {
    color: #0F172A;
    font-weight: 700;
}

.btn-featured-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 24px;
    border: 1px solid #CBD5E1;
    background: #FFFFFF;
    color: #0A2647;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    text-decoration: none;
}

.btn-featured-more:hover {
    background: #0077B6;
    color: #FFFFFF;
    border-color: #0077B6;
    box-shadow: 0 4px 15px rgba(0, 119, 182, 0.3);
    transform: translateY(-2px);
}

.featured-arrow-icon {
    font-size: 0.65rem;
    color: #FF3B30;
    transition: transform 0.2s ease, color 0.2s ease;
}

.btn-featured-more:hover .featured-arrow-icon {
    color: #FFFFFF;
    transform: translateX(3px);
}

.banner-accent-bar {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 6px;
    background: #0077B6;
    z-index: 5;
}

@media (max-width: 991px) {
    .featured-news-main-title {
        font-size: 2rem;
    }
    .featured-news-banner {
        height: auto;
        min-height: 460px;
    }
    .banner-white-shape {
        clip-path: polygon(55% 0, 100% 0, 100% 100%, 30% 100%);
    }
    .featured-banner-content {
        width: 60%;
        padding: 32px 30px;
    }
}

@media (max-width: 768px) {
    .featured-news-main-title {
        font-size: 1.7rem;
    }
    .featured-news-banner {
        flex-direction: column;
        height: auto;
    }
    .featured-banner-img {
        position: relative;
        height: 240px;
    }
    .banner-white-shape-wrapper {
        display: none;
    }
    .featured-banner-content {
        width: 100%;
        max-width: 100%;
        background: #FFFFFF;
        padding: 24px 20px;
    }
}

/* =========================================================================
   11. DEDICATED SECTIONS: TIN TỨC CÔNG TY, THÔNG BÁO CÔNG BỐ, QUAN HỆ CỔ ĐÔNG, VĂN HÓA DOANH NGHIỆP
   ========================================================================= */

/* Common Section Heading Wrapper */
.section-heading-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 36px;
}

.heading-left {
    flex: 1;
    min-width: 280px;
}

.heading-left .section-tag {
    margin-bottom: 12px;
}

.heading-left .section-title {
    margin-bottom: 0;
    line-height: 1.25;
}

.section-subtitle {
    font-size: 0.98rem;
    color: #475569;
    line-height: 1.6;
    max-width: 680px;
    margin: 0;
}

.btn-view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    color: #0A2647;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.btn-view-all-link:hover {
    background: #0077B6;
    color: #FFFFFF;
    border-color: #0077B6;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 119, 182, 0.25);
}

.official-seal-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #F0FDF4;
    border: 1px solid #BBF7D0;
    color: #16A34A;
    border-radius: 20px;
    font-size: 0.82rem;
    font-weight: 700;
}

.tag-warning {
    background: rgba(245, 158, 11, 0.12) !important;
    border: 1px solid rgba(245, 158, 11, 0.3) !important;
    color: #D97706 !important;
}

.tag-warning i {
    color: #D97706 !important;
}

/* -------------------------------------------------------------------------
   SECTION 1: TIN TỨC CÔNG TY (#news)
   ------------------------------------------------------------------------- */
.company-news-section {
    background: #F8FAFC !important;
    padding: 85px 0;
    border-top: 1px solid #E2E8F0;
    scroll-margin-top: 80px;
}

.news-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.company-news-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(10, 77, 104, 0.05);
    transition: all 0.35s var(--ease-out);
}

.company-news-card:hover {
    transform: translateY(-6px);
    border-color: #0077B6;
    box-shadow: 0 12px 30px rgba(10, 77, 104, 0.12);
}

.card-thumb {
    position: relative;
    height: 220px;
    overflow: hidden;
    background: #CBD5E1;
}

.card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--ease-out);
}

.company-news-card:hover .card-thumb img {
    transform: scale(1.08);
}

.card-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: #0A4D68;
    color: #FFFFFF;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.card-badge.badge-accent {
    background: #0077B6;
}

.card-badge.badge-purple {
    background: #4F46E5;
}

.card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 0.78rem;
    color: #64748B;
    margin-bottom: 12px;
}

.card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-title {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.42;
    margin-bottom: 12px;
}

.card-title a {
    color: #0A2647;
    text-decoration: none;
    transition: color 0.2s ease;
}

.card-title a:hover {
    color: #0077B6;
}

.card-desc {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.card-footer {
    padding-top: 14px;
    border-top: 1px solid #F1F5F9;
}

.read-more-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.84rem;
    font-weight: 700;
    color: #0077B6;
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
}

.read-more-link i {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.read-more-link:hover {
    color: #0A4D68;
}

.read-more-link:hover i {
    transform: translateX(4px);
}

/* -------------------------------------------------------------------------
   SECTION 2: THÔNG BÁO CÔNG BỐ (#announcements)
   ------------------------------------------------------------------------- */
.announcements-section {
    background: #FFFFFF !important;
    padding: 85px 0;
    border-top: 1px solid #E2E8F0;
    scroll-margin-top: 80px;
}

.announcements-container {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

/* Urgent / Highlight notice card */
.highlight-notice {
    display: grid;
    grid-template-columns: 190px 1fr 220px;
    gap: 28px;
    align-items: center;
    padding: 28px 32px;
    background: linear-gradient(135deg, #FFFBEB 0%, #FFFFFF 60%, #FEF3C7 100%);
    border: 1px solid #FDE68A;
    border-left: 6px solid #D97706;
    border-radius: 16px;
    box-shadow: 0 6px 25px rgba(217, 119, 6, 0.08);
}

.notice-flag-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pulse-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #EF4444;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
    animation: pulseNoticeDot 1.8s infinite;
}

@keyframes pulseNoticeDot {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

.notice-type-tag {
    font-size: 0.75rem;
    font-weight: 800;
    color: #B45309;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.notice-code {
    font-size: 0.78rem;
    font-weight: 700;
    color: #78350F;
    background: rgba(253, 230, 138, 0.5);
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
    width: fit-content;
}

.notice-date-bar {
    display: flex;
    gap: 20px;
    font-size: 0.8rem;
    color: #64748B;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.notice-date-bar strong {
    color: #1E293B;
}

.notice-title {
    font-size: 1.22rem;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 10px;
}

.notice-title a {
    color: #0A2647;
    text-decoration: none;
    transition: color 0.2s ease;
}

.notice-title a:hover {
    color: #D97706;
}

.notice-desc {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 12px;
}

.notice-meta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.badge-sub {
    font-size: 0.74rem;
    padding: 3px 10px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    color: #475569;
    font-weight: 600;
}

.notice-action-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-action-primary {
    background: #0077B6;
    color: #FFFFFF;
    border: none;
    padding: 11px 18px;
    border-radius: 8px;
    font-size: 0.84rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(0, 119, 182, 0.25);
}

.btn-action-primary:hover {
    background: #0A4D68;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(10, 77, 104, 0.3);
}

.btn-action-outline {
    background: #FFFFFF;
    color: #0A2647;
    border: 1px solid #CBD5E1;
    padding: 10px 18px;
    border-radius: 8px;
    font-size: 0.84rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.25s ease;
}

.btn-action-outline:hover {
    border-color: #0077B6;
    color: #0077B6;
    background: #F8FAFC;
}

/* Announcements subgrid */
.announcements-subgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.announcement-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    transition: all 0.3s ease;
}

.announcement-item:hover {
    background: #FFFFFF;
    border-color: #0077B6;
    box-shadow: 0 8px 24px rgba(10, 77, 104, 0.08);
    transform: translateY(-3px);
}

.item-icon-box {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.15rem;
}

.item-icon-box.bg-blue {
    background: rgba(0, 119, 182, 0.12);
    color: #0077B6;
}

.item-icon-box.bg-cyan {
    background: rgba(6, 182, 212, 0.12);
    color: #0891B2;
}

.item-icon-box.bg-teal {
    background: rgba(20, 184, 166, 0.12);
    color: #0D9488;
}

.item-content {
    flex-grow: 1;
}

.item-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.item-code {
    font-size: 0.72rem;
    font-weight: 700;
    color: #0077B6;
    background: rgba(0, 119, 182, 0.08);
    padding: 2px 6px;
    border-radius: 4px;
}

.item-date {
    font-size: 0.76rem;
    color: #94A3B8;
}

.item-title {
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 6px;
}

.item-title a {
    color: #0A2647;
    text-decoration: none;
    transition: color 0.2s ease;
}

.item-title a:hover {
    color: #0077B6;
}

.item-summary {
    font-size: 0.83rem;
    color: #475569;
    line-height: 1.5;
    margin: 0;
}

.item-btn-wrap {
    flex-shrink: 0;
}

.btn-item-link {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid #E2E8F0;
    background: #FFFFFF;
    color: #64748B;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.announcement-item:hover .btn-item-link {
    background: #0077B6;
    border-color: #0077B6;
    color: #FFFFFF;
}

/* -------------------------------------------------------------------------
   SECTION 3: QUAN HỆ CỔ ĐÔNG - IR PORTAL (#investors)
   ------------------------------------------------------------------------- */
.ir-portal-section {
    background: #F8FAFC !important;
    padding: 85px 0;
    border-top: 1px solid #E2E8F0;
    scroll-margin-top: 80px;
}

.ir-hotline-pill {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 50px;
    font-size: 0.82rem;
    color: #475569;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.ir-hotline-pill i {
    font-size: 1.2rem;
    color: #0077B6;
}

.ir-hotline-pill strong {
    color: #0A2647;
    font-size: 0.92rem;
    display: block;
}

/* IR Stats Strip */
.ir-stats-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 28px;
}

.ir-stat-card {
    padding: 22px 24px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    text-align: center;
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.04);
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.ir-stat-card:hover {
    transform: translateY(-3px);
    border-color: #0077B6;
}

.stat-caption {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.8px;
    color: #0A4D68;
    text-transform: uppercase;
}

.stat-number {
    font-family: var(--font-heading);
    font-size: 1.85rem;
    font-weight: 900;
    color: #0A2647;
    margin: 8px 0;
}

.stat-number .unit {
    font-size: 0.95rem;
    font-weight: 700;
    color: #64748B;
}

.stat-number.ticker {
    color: #0077B6;
    letter-spacing: 2px;
}

.stat-number.highlight-blue {
    color: #0284C7;
}

.stat-number.font-sm {
    font-size: 1.25rem;
    line-height: 1.4;
    color: #0A4D68;
}

.stat-sub {
    font-size: 0.84rem;
    font-weight: 700;
    color: #1E293B;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    padding: 5px 12px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin: 2px auto 0;
    transition: all 0.25s ease;
}

.ir-stat-card:hover .stat-sub {
    background: #E2E8F0;
    color: #0A4D68;
    border-color: #CBD5E1;
}

.ir-stat-card:nth-child(2) .stat-sub {
    background: rgba(0, 119, 182, 0.08);
    border-color: rgba(0, 119, 182, 0.25);
    color: #0077B6;
}

.ir-stat-card:nth-child(2):hover .stat-sub {
    background: #0077B6;
    color: #FFFFFF;
}

/* Stock Live Card (Ô 4: Thị giá cổ phiếu BHA) */
.stock-live-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 18px 20px !important;
}

.stock-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
}

.stock-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.68rem;
    font-weight: 800;
    color: #16A34A;
    background: #DCFCE7;
    border: 1px solid #BBF7D0;
    padding: 2px 8px;
    border-radius: 12px;
}

.pulse-green {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #16A34A;
    box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7);
    animation: pulseStockGreen 1.6s infinite;
}

@keyframes pulseStockGreen {
    0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
    70% { transform: scale(1.1); box-shadow: 0 0 0 6px rgba(22, 163, 74, 0); }
    100% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}

.stock-prices-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 6px 0 10px;
}

.stock-price-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 6px 4px;
    border-radius: 8px;
    border: 1px solid transparent;
    transition: transform 0.2s ease;
}

.stock-price-item:hover {
    transform: translateY(-2px);
}

.stock-price-item .p-tag {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.stock-price-item .p-num {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.2;
}

/* Tham Chiếu: Màu Vàng chuẩn sàn CK */
.stock-price-item.tc-price {
    background: #FEF9C3;
    border-color: #FDE047;
}

.stock-price-item.tc-price .p-tag {
    color: #A16207;
}

.stock-price-item.tc-price .p-num {
    color: #854D0E;
}

/* Giá Trần: Màu Tím chuẩn sàn CK */
.stock-price-item.tran-price {
    background: #F3E8FF;
    border-color: #E9D5FF;
}

.stock-price-item.tran-price .p-tag {
    color: #7E22CE;
}

.stock-price-item.tran-price .p-num {
    color: #6B21A8;
}

/* Giá Sàn: Màu Xanh Lơ / Lam chuẩn sàn CK */
.stock-price-item.san-price {
    background: #E0F2FE;
    border-color: #BAE6FD;
}

.stock-price-item.san-price .p-tag {
    color: #0284C7;
}

.stock-price-item.san-price .p-num {
    color: #0369A1;
}

.stock-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid #F1F5F9;
    margin-top: 4px;
}

.stock-unit-note {
    font-size: 0.76rem;
    color: #475569;
    font-weight: 700;
    background: #F1F5F9;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid #E2E8F0;
}

.stock-link-vietstock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #0077B6;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    background: rgba(0, 119, 182, 0.08);
    border: 1px solid rgba(0, 119, 182, 0.22);
    padding: 4px 10px;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.stock-link-vietstock i {
    font-size: 0.72rem;
    transition: transform 0.2s ease;
}

.stock-link-vietstock:hover {
    background: #0077B6;
    color: #FFFFFF;
    border-color: #0077B6;
    text-decoration: none;
}

.stock-link-vietstock:hover i {
    transform: translate(2px, -2px);
}

/* IR Portal Card & Tabs */
.ir-portal-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.04);
}

.ir-portal-nav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    background: #F1F5F9;
    padding: 6px;
    border-radius: 12px;
    margin-bottom: 24px;
}

.ir-nav-tab {
    padding: 10px 18px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-family: var(--font-heading);
    font-size: 0.84rem;
    font-weight: 700;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.25s ease;
}

.ir-nav-tab:hover {
    color: #0077B6;
    background: rgba(255, 255, 255, 0.6);
}

.ir-nav-tab.active {
    background: #0077B6;
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(0, 119, 182, 0.3);
}

/* IR Documents Grid */
.ir-documents-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.ir-doc-box {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    transition: all 0.25s ease;
}

.ir-doc-box:hover {
    background: #FFFFFF;
    border-color: #0077B6;
    box-shadow: 0 6px 20px rgba(10, 77, 104, 0.08);
    transform: translateY(-2px);
}

.ir-doc-box.hidden {
    display: none !important;
}

.doc-icon {
    font-size: 2rem;
    color: #E11D48;
    flex-shrink: 0;
}

.doc-icon.text-purple {
    color: #7C3AED;
}

.doc-icon.text-cyan {
    color: #0891B2;
}

.doc-content {
    flex-grow: 1;
}

.doc-badge {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 2px 8px;
    border-radius: 4px;
    margin-bottom: 4px;
    display: inline-block;
}

.badge-fin {
    background: rgba(225, 29, 72, 0.1);
    color: #E11D48;
}

.badge-ann {
    background: rgba(2, 132, 199, 0.1);
    color: #0284C7;
}

.badge-res {
    background: rgba(124, 58, 237, 0.1);
    color: #7C3AED;
}

.badge-gov {
    background: rgba(8, 145, 178, 0.1);
    color: #0891B2;
}

.doc-title {
    font-size: 0.94rem;
    font-weight: 700;
    color: #0A2647;
    margin-bottom: 6px;
    line-height: 1.4;
}

.doc-meta-row {
    display: flex;
    gap: 16px;
    font-size: 0.78rem;
    color: #64748B;
}

.doc-meta-row span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.doc-action {
    flex-shrink: 0;
}

.btn-dl-doc {
    background: rgba(0, 119, 182, 0.1);
    border: 1px solid rgba(0, 119, 182, 0.25);
    color: #0077B6;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}

.btn-dl-doc:hover {
    background: #0077B6;
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(0, 119, 182, 0.3);
}

/* -------------------------------------------------------------------------
   SECTION 4: VĂN HÓA DOANH NGHIỆP & CỘNG ĐỒNG (#culture)
   ------------------------------------------------------------------------- */
.culture-community-section {
    background: #FFFFFF !important;
    padding: 85px 0;
    border-top: 1px solid #E2E8F0;
    scroll-margin-top: 80px;
}

.culture-badge-flag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    color: #1D4ED8;
    border-radius: 25px;
    font-size: 0.82rem;
    font-weight: 700;
}

.culture-pillars-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-bottom: 36px;
}

.culture-pillar-box {
    padding: 26px 22px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    text-align: center;
    transition: all 0.35s ease;
}

.culture-pillar-box:hover {
    background: #FFFFFF;
    border-color: #0077B6;
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(10, 77, 104, 0.08);
}

.pillar-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 16px;
    border-radius: 12px;
    background: rgba(0, 119, 182, 0.1);
    border: 1px solid rgba(0, 119, 182, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0077B6;
    font-size: 1.35rem;
}

.culture-pillar-box h4 {
    font-size: 1.05rem;
    font-weight: 800;
    color: #0A2647;
    margin-bottom: 8px;
}

.culture-pillar-box p {
    font-size: 0.85rem;
    color: #475569;
    line-height: 1.55;
    margin: 0;
}

/* Culture Content Grid */
.culture-content-grid {
    display: grid;
    grid-template-columns: 54% 46%;
    gap: 28px;
}

.culture-story-card {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.story-image-wrap {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.story-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.culture-story-card:hover .story-image-wrap img {
    transform: scale(1.05);
}

.story-tag {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: #0077B6;
    color: #FFFFFF;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 6px;
}

.story-body {
    padding: 26px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.story-date {
    font-size: 0.78rem;
    color: #64748B;
    display: block;
    margin-bottom: 8px;
}

.story-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #0A2647;
    line-height: 1.4;
    margin-bottom: 12px;
}

.story-text {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.btn-story-read {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.86rem;
    font-weight: 700;
    color: #0077B6;
    text-decoration: none;
    transition: gap 0.2s ease;
}

.btn-story-read:hover {
    gap: 12px;
    color: #0A4D68;
}

/* Secondary Activities Column */
.culture-activity-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.activity-card-sm {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    transition: all 0.25s ease;
}

.activity-card-sm:hover {
    background: #FFFFFF;
    border-color: #0077B6;
    box-shadow: 0 6px 18px rgba(10, 77, 104, 0.07);
    transform: translateY(-2px);
}

.activity-card-sm img {
    width: 110px;
    height: 85px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.activity-info {
    flex-grow: 1;
}

.act-tag {
    font-size: 0.68rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
    display: inline-block;
    margin-bottom: 6px;
}

.tag-party {
    background: rgba(220, 38, 38, 0.1);
    color: #DC2626;
}

.tag-youth {
    background: rgba(2, 132, 199, 0.1);
    color: #0284C7;
}

.tag-env {
    background: rgba(22, 163, 74, 0.1);
    color: #16A34A;
}

.activity-info h4 {
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 6px;
}

.activity-info h4 a {
    color: #0A2647;
    text-decoration: none;
    transition: color 0.2s ease;
}

.activity-info h4 a:hover {
    color: #0077B6;
}

.act-date {
    font-size: 0.74rem;
    color: #94A3B8;
    display: block;
}

/* =========================================================================
   RESPONSIVE STYLES FOR THE 4 DEDICATED SECTIONS
   ========================================================================= */
@media (max-width: 1100px) {
    .highlight-notice {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .notice-action-col {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .culture-content-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .news-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .announcements-subgrid {
        grid-template-columns: 1fr;
    }
    .ir-stats-strip {
        grid-template-columns: repeat(2, 1fr);
    }
    .ir-documents-grid {
        grid-template-columns: 1fr;
    }
    .culture-pillars-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .news-grid-3 {
        grid-template-columns: 1fr;
    }
    .ir-stats-strip {
        grid-template-columns: 1fr;
    }
    .culture-pillars-row {
        grid-template-columns: 1fr;
    }
    .section-heading-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }
    .ir-doc-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .btn-dl-doc {
        width: 100%;
        justify-content: center;
    }
}

/* 12. BANKING PARTNERS */
.partners-section {
    padding: 90px 0 85px;
    text-align: center;
    background: #FFFFFF;
    border-top: 1px solid #E2E8F0;
    border-bottom: 3px solid #174F9A;
}

.partners-grid-custom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    row-gap: 60px;
    column-gap: 60px;
    align-items: center;
    justify-items: center;
}

.partner-logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 135px;
    padding: 12px 28px;
    text-decoration: none;
    cursor: pointer;
    border-radius: 14px;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease;
}

.partner-logo-item:hover {
    transform: translateY(-6px) scale(1.06);
    filter: drop-shadow(0 12px 24px rgba(10, 77, 104, 0.14));
}

.partner-logo-img {
    max-height: 118px;
    max-width: 310px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}

@media (max-width: 1200px) {
    .partners-grid-custom {
        row-gap: 45px;
        column-gap: 35px;
    }
    .partner-logo-item {
        height: 105px;
    }
    .partner-logo-img {
        max-height: 95px;
        max-width: 240px;
    }
}

@media (max-width: 768px) {
    .partners-section {
        padding: 55px 0;
    }
    .partners-grid-custom {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 35px;
        column-gap: 25px;
    }
    .partner-logo-item {
        height: 85px;
        padding: 6px 12px;
    }
    .partner-logo-img {
        max-height: 75px;
        max-width: 180px;
    }
}

@media (max-width: 480px) {
    .partners-grid-custom {
        grid-template-columns: 1fr;
        row-gap: 26px;
    }
}

/* 13. FOOTER */
.footer { 
    position: relative; 
    z-index: 1;
    background: #0A2647;
    color: #FFFFFF;
    padding-top: 40px;
}

.footer-cta-wrapper { margin-bottom: 60px; }

.footer-cta-card {
    padding: 42px 50px;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--royal-blue) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 10px 35px rgba(10, 38, 71, 0.35);
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.footer-cta-card:hover {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--royal-blue) 100%) !important;
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 16px 45px rgba(10, 38, 71, 0.45);
    transform: translateY(-3px);
}

.cta-subtitle {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #E0F7FA;
    margin-bottom: 8px;
    display: block;
}

.cta-left h3 {
    font-size: 1.8rem;
    color: #FFFFFF;
    margin-bottom: 10px;
}

.cta-left p {
    color: #F1F5F9;
    font-size: 0.95rem;
    max-width: 550px;
}

.contact-cta-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    max-width: 580px;
}

.cta-form-row {
    display: flex;
    gap: 12px;
    width: 100%;
}

.cta-input {
    flex: 1;
    min-width: 0;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    padding: 13px 18px;
    font-size: 0.95rem;
    color: #FFFFFF;
    outline: none;
    font-family: inherit;
    transition: all 0.25s ease;
}

.cta-input::placeholder {
    color: rgba(255, 255, 255, 0.72);
}

.cta-input:focus {
    border-color: #FFFFFF;
    background: rgba(255, 255, 255, 0.25);
    box-shadow: 0 0 16px rgba(255, 255, 255, 0.35);
}

.cta-input-msg {
    flex: 1.8 !important;
}

.cta-submit-btn {
    white-space: nowrap;
    padding: 0 24px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    font-size: 0.95rem;
    background: #0A2647;
    color: #FFFFFF;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.28s ease;
}

.cta-submit-btn:hover {
    background: #0077B6;
    border-color: #FFFFFF;
    box-shadow: 0 0 20px rgba(0, 119, 182, 0.6);
    transform: translateY(-2px);
}

@media (max-width: 992px) {
    .footer-cta-card {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        padding: 35px 25px;
    }
    .contact-cta-form {
        max-width: 100%;
    }
}

@media (max-width: 600px) {
    .cta-form-row {
        flex-direction: column;
        gap: 10px;
    }
    .cta-submit-btn {
        width: 100%;
        height: 46px;
    }
}

.footer-main-body { padding-bottom: 60px; }

.footer-columns-grid {
    display: grid;
    grid-template-columns: minmax(360px, auto) 1fr minmax(320px, auto);
    gap: 50px;
    align-items: start;
    width: 100%;
}

.footer-col.col-brand {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    width: fit-content;
    max-width: 100%;
}

.footer-col.col-nav {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
    padding: 0 10px;
}

.footer-col.col-contact {
    justify-self: end;
}

.footer-nav-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 28px;
    row-gap: 12px;
    width: 100%;
}

.footer-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-nav li {
    margin-bottom: 0;
}

.footer-nav a {
    font-size: 0.9rem;
    color: #CBD5E1;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.footer-nav a:hover {
    color: var(--accent-cyan);
    transform: translateX(4px);
}

@media (max-width: 1200px) {
    .footer-columns-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }
    .footer-col.col-nav {
        max-width: 100%;
        margin: 0;
        padding: 0;
    }
    .footer-col.col-contact {
        justify-self: start;
    }
}

@media (max-width: 768px) {
    .footer-nav-columns {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .footer-nav-columns {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

.footer-logo-box {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    text-decoration: none;
    width: 100%;
}

.footer-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    border-radius: 12px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    flex-shrink: 0;
}

.footer-logo-wrap:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 150, 199, 0.3);
}

.footer-logo-wrap .bhhc-logo-img {
    height: 56px;
    width: auto;
    object-fit: contain;
    display: block;
}

.footer .logo-main {
    font-size: 1.65rem;
    font-weight: 800;
    letter-spacing: 0.8px;
    color: #FFFFFF;
    line-height: 1.2;
}

.footer .logo-sub {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: var(--accent-cyan);
    margin-top: 5px;
}

.footer-summary {
    color: #CBD5E1;
    font-size: 0.88rem;
    margin: 20px 0;
    line-height: 1.6;
}

.social-pills { 
    display: flex; 
    gap: 16px; 
    margin-top: 20px;
}

.footer-social-pills {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 6px;
    width: 100%;
}

.social-link {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.12);
    border: 1.5px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 1.25rem;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.social-link:hover {
    background: var(--royal-blue);
    border-color: #FFFFFF;
    color: #FFFFFF;
    box-shadow: 0 0 20px rgba(0, 119, 182, 0.6);
    transform: translateY(-4px) scale(1.1);
}

.footer-col-title {
    font-size: 1.05rem;
    color: #FFFFFF;
    margin-bottom: 22px;
    position: relative;
    padding-bottom: 10px;
}

.footer-col-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--accent-cyan);
    box-shadow: 0 0 10px var(--accent-cyan);
}

.footer-nav li { margin-bottom: 10px; }

.footer-nav a {
    font-size: 0.88rem;
    color: #CBD5E1;
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-nav a:hover {
    color: var(--accent-cyan);
    padding-left: 5px;
}

.footer-contact-list li {
    font-size: 0.88rem;
    color: var(--text-muted);
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.footer-mail-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.footer-mail-link:hover {
    color: var(--accent-cyan);
    text-decoration: underline;
}

.footer-contact-list i { margin-top: 4px; }

.footer-sm-note {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 15px;
}

.cert-chips-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cert-chip {
    background: rgba(0, 119, 182, 0.15);
    border: 1px solid rgba(0, 119, 182, 0.35);
    color: #90E0EF;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
}

.footer-bottom-bar {
    background: rgba(0, 16, 28, 0.95);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 24px 0;
    font-size: 0.82rem;
    color: var(--text-dim);
}

.footer-bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-legals { display: flex; gap: 14px; }
.footer-legals a:hover { color: var(--cyan-neon); }
.footer-legals .sep { color: rgba(255, 255, 255, 0.15); }

/* 14. FLOATING BACK TO TOP */
.back-to-top-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
    background: rgba(10, 38, 71, 0.95);
    border: 1px solid var(--royal-blue);
    color: #FFFFFF;
    border-radius: 50%;
    font-size: 1.1rem;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0, 119, 182, 0.35);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 900;
}

.back-to-top-btn.show { opacity: 1; visibility: visible; }

.back-to-top-btn:hover {
    background: var(--royal-blue);
    color: #FFFFFF;
    box-shadow: 0 0 30px rgba(0, 119, 182, 0.7);
    transform: translateY(-4px);
}

/* 15. RESPONSIVE BREAKPOINTS */
@media (max-width: 1024px) {
    .grid-4 { grid-template-columns: repeat(2, 1fr); }
    .grid-3 { grid-template-columns: repeat(2, 1fr); }
    .hero-highlights-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-cta-card { flex-direction: column; text-align: center; }
    .cta-left p { margin: 0 auto; }
    .newsletter-form { width: 100%; max-width: 500px; }
}

@media (max-width: 768px) {
    .hide-mobile { display: none !important; }
    .desktop-nav { display: none; }
    .hamburger-btn { display: flex; }
    
    .hero-section {
        height: 60vh;
        min-height: 420px;
    }
    
    .hero-brand-tag {
        bottom: 80px;
        left: 20px;
        right: 20px;
        max-width: calc(100% - 40px);
        padding: 14px 18px;
    }
    
    .hero-brand-tag-name {
        font-size: 1.05rem;
    }
    
    .hero-brand-tag-slogan {
        font-size: 0.82rem;
    }

    .hero-video-controls {
        bottom: 25px;
        right: 20px;
        padding: 6px 12px;
    }

    .hero-highlights-grid { grid-template-columns: 1fr; }
    .grid-2 { grid-template-columns: 1fr; }
    .grid-3 { grid-template-columns: 1fr; }
    .grid-4 { grid-template-columns: 1fr; }
    
    .about-section .about-main-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .construction-partners-list li {
        white-space: normal;
        align-items: flex-start;
    }
    .construction-partners-list .p-num {
        margin-top: 2px;
    }

    .section { padding: 75px 0; }
    .footer-bottom-flex { flex-direction: column; gap: 12px; text-align: center; }
}

@media (max-width: 576px) {
    .section-title { font-size: 2rem; }
    .card-big-metric { font-size: 2.2rem; }
}

/* =========================================================================
   14. SUBPAGE STYLES (GIOI-THIEU.HTML & CONTENT PAGES)
   ========================================================================= */

/* Hero banner for Content / Subpages */
.subpage-hero {
    position: relative;
    background-color: #0A2647;
    background-image: url('AnhPoster/AnhPoster.JPG');
    background-size: cover;
    background-position: 55% 80%;
    background-repeat: no-repeat;
    min-height: 460px;
    padding: 160px 0 45px;
    display: flex;
    align-items: flex-end;
    border-bottom: 4px solid #0096C7;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(10, 38, 71, 0.15);
}

.subpage-hero::before {
    display: none;
}

.subpage-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
}

/* Breadcrumb Navigation */
.subpage-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(10, 38, 71, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 14px;
    width: fit-content;
}

.subpage-breadcrumb a {
    color: #05BFDB;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.subpage-breadcrumb a:hover {
    color: #FFFFFF;
    text-decoration: underline;
}

.subpage-breadcrumb .crumb-sep {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
}

.subpage-breadcrumb .crumb-current {
    color: #FFFFFF;
    font-weight: 600;
}

.subpage-title {
    font-family: var(--font-heading);
    font-size: 2.8rem;
    font-weight: 900;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0;
    line-height: 1.2;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85), 0 1px 4px rgba(0, 0, 0, 0.95);
}

.subpage-subtitle {
    font-size: 1.05rem;
    color: #38BDF8;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85), 0 1px 3px rgba(0, 0, 0, 0.95);
}

/* Subpage In-page Subnav (Quick anchor navigation) */
.subpage-nav-bar {
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    position: sticky;
    top: 76px;
    z-index: 90;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.subpage-nav-list {
    display: flex;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 10px 0;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: thin;
}

.subpage-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    color: #475569;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.subpage-nav-link:hover,
.subpage-nav-link.active {
    background: #EBF4F6;
    color: #0A4D68;
}

.subpage-nav-link i {
    color: #0096C7;
}

/* Subpage Section Spacing */
.content-section {
    padding: 60px 0;
    border-bottom: 1px solid #EDF2F7;
}

.content-section:last-of-type {
    border-bottom: none;
}

.section-head-bar {
    margin-bottom: 32px;
}

.section-head-bar .panel-headline {
    font-family: var(--font-heading);
    font-size: 1.85rem;
    font-weight: 800;
    color: #0A2647;
    margin-top: 8px;
}

/* Teaser Button inside about-panel-2 on Homepage */
.about-panel-action {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px dashed rgba(10, 77, 104, 0.2);
}

.btn-about-teaser {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    font-size: 0.95rem;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.25s ease;
}

.btn-about-teaser:hover {
    transform: translateX(4px);
}

/* Milestone Timeline for Lịch Sử Hình Thành */
.timeline-list {
    position: relative;
    padding-left: 28px;
    margin: 24px 0 32px;
    border-left: 3px solid #0096C7;
}

.timeline-item {
    position: relative;
    margin-bottom: 24px;
}

.timeline-item:last-child {
    margin-bottom: 0;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -35px;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #0077B6;
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 0 2px #0096C7;
}

.timeline-year {
    display: inline-block;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1rem;
    color: #0A4D68;
    background: #EBF4F6;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 6px;
}

.timeline-content {
    color: #334155;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
}

/* Specs Table for Thông Số Kỹ Thuật */
.specs-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid #E2E8F0;
    background: #FFFFFF;
}

.specs-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.95rem;
}

.specs-table thead {
    background: linear-gradient(90deg, #0A4D68, #0077B6);
    color: #FFFFFF;
}

.specs-table th {
    padding: 16px 20px;
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: 0.5px;
    font-size: 0.92rem;
    text-transform: uppercase;
}

.specs-table td {
    padding: 14px 20px;
    border-bottom: 1px solid #EDF2F7;
    color: #1E293B;
}

.specs-table tbody tr:nth-child(even) {
    background: #F8FAFC;
}

.specs-table tbody tr:hover {
    background: #F1F5F9;
}

.specs-table .spec-param {
    font-weight: 600;
    color: #0A2647;
    width: 40%;
}

.specs-table .spec-value {
    font-weight: 700;
    color: #0077B6;
    width: 40%;
}

.specs-table .spec-note {
    color: #64748B;
    font-size: 0.88rem;
    width: 20%;
}

.specs-table .spec-placeholder {
    color: #D97706;
    background: #FEF3C7;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85rem;
    display: inline-block;
}

/* Organization Chart (Cơ cấu tổ chức) */
.org-chart-wrap {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 36px 24px;
    text-align: center;
}

.org-level {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    position: relative;
    margin-bottom: 28px;
}

.org-level:last-child {
    margin-bottom: 0;
}

.org-connector {
    width: 2px;
    height: 24px;
    background: #CBD5E1;
    margin: -14px auto 14px;
}

.org-box {
    background: #FFFFFF;
    border: 2px solid #0A4D68;
    border-radius: 10px;
    padding: 14px 22px;
    min-width: 220px;
    max-width: 280px;
    box-shadow: 0 4px 12px rgba(10, 77, 104, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.org-box:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(10, 77, 104, 0.15);
}

.org-box.level-1 {
    background: linear-gradient(135deg, #0A4D68, #0077B6);
    color: #FFFFFF;
    border-color: #0A4D68;
}

.org-box.level-1 .org-title {
    color: #FFFFFF;
}

.org-box.level-2 {
    border-color: #0077B6;
    background: #EBF4F6;
}

.org-box.level-2 .org-title {
    color: #0A4D68;
}

.org-box.level-3 {
    border-color: #0096C7;
}

.org-box.level-4 {
    border-color: #CBD5E1;
    background: #FFFFFF;
}

.org-title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 0.95rem;
    text-transform: uppercase;
    color: #0A2647;
    margin: 0;
}

.org-desc {
    font-size: 0.8rem;
    color: #64748B;
    margin-top: 4px;
    margin-bottom: 0;
}

.org-note-badge {
    display: inline-block;
    margin-top: 24px;
    padding: 8px 18px;
    border-radius: 20px;
    background: #FEF3C7;
    color: #92400E;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid #FDE68A;
}

/* Functional Missions Grid (Chức Năng & Nhiệm Vụ) */
.mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.mission-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 28px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.mission-card:hover {
    transform: translateY(-4px);
    border-color: #0096C7;
    box-shadow: 0 10px 24px rgba(10, 77, 104, 0.1);
}

.mission-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: #EBF4F6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #0077B6;
    font-size: 1.4rem;
}

.mission-content h4 {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: #0A2647;
    margin-bottom: 8px;
}

.mission-content p {
    font-size: 0.92rem;
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

/* Achievements List (Thành Tích) */
.achievement-card-box {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.achieve-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.achieve-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    background: #F8FAFC;
    border: 1px dashed #CBD5E1;
    border-radius: 8px;
    font-size: 0.95rem;
    color: #334155;
}

.achieve-item i {
    font-size: 1.25rem;
    color: #F59E0B;
}

.achieve-placeholder {
    color: #64748B;
    font-style: italic;
    font-weight: 500;
}

@media (max-width: 992px) {
    .mission-grid { grid-template-columns: 1fr; }
    .subpage-title { font-size: 2.2rem; }
    .org-box { min-width: 100%; max-width: 100%; }
}

/* =========================================================================
   15. HISTORICAL TIMELINE SHOWCASE (CINEMATIC PTSC-STYLE)
   ========================================================================= */

.history-showcase-wrapper {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(10, 38, 71, 0.08);
    margin-top: 10px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* 1. Cinematic Stage with Center Photo (Không còn 2 cánh mờ thừa, ảnh vừa khung) */
.history-image-stage {
    position: relative;
    width: 100%;
    height: 520px;
    overflow: hidden;
    background: #0B192C;
    display: flex;
    align-items: center;
    justify-content: center;
}

.history-image-backdrop {
    display: none !important; /* Đã loại bỏ 2 phần nền mờ thừa hai bên */
}

.history-image-center {
    position: relative;
    z-index: 2;
    height: 100%;
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.history-main-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    box-shadow: none;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

/* 2. Horizon Metallic / Silver Era Ribbon */
.history-ribbon-bar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    padding: 16px 24px;
    background: radial-gradient(ellipse at 50% 50%, #FFFFFF 0%, #F1F5F9 45%, #E2E8F0 100%);
    border-top: 2px solid rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid #CBD5E1;
    box-shadow: inset 0 2px 6px rgba(255, 255, 255, 0.8), 0 4px 14px rgba(0, 0, 0, 0.04);
}

.history-nav-arrow {
    background: transparent;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 2rem;
    color: #94A3B8;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.22s ease;
}

.history-nav-arrow:hover {
    color: #0A4D68;
    background: rgba(255, 255, 255, 0.8);
    transform: scale(1.15);
    box-shadow: 0 4px 12px rgba(10, 77, 104, 0.15);
}

.history-nav-arrow:active {
    transform: scale(0.95);
}

.history-era-display {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
}

.history-era-years {
    font-family: var(--font-heading);
    font-size: 2.6rem;
    font-weight: 900;
    color: #0A2647;
    letter-spacing: 2.5px;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
    transition: opacity 0.25s ease, transform 0.25s ease;
    user-select: none;
}

/* 3. Period Milestones Content Body */
.history-content-body {
    padding: 32px 48px 24px;
    text-align: center;
    background: #FFFFFF;
    min-height: 120px;
}

.history-period-slide {
    display: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.history-period-slide.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.history-bullet-item {
    font-size: 1rem;
    color: #334155;
    line-height: 1.8;
    margin: 8px 0;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.history-bullet-item strong {
    color: #0A4D68;
    font-weight: 700;
}

/* 4. Timeline Quick Navigation Pills */
.history-timeline-nav {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 0 24px 28px;
    background: #FFFFFF;
    flex-wrap: wrap;
}

.history-timeline-pill {
    padding: 8px 20px;
    border-radius: 24px;
    border: 1px solid #CBD5E1;
    background: #F8FAFC;
    color: #475569;
    font-family: var(--font-heading);
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s ease;
}

.history-timeline-pill:hover {
    border-color: #0096C7;
    color: #0A4D68;
    background: #EBF4F6;
}

.history-timeline-pill.active {
    background: linear-gradient(135deg, #0A4D68, #0077B6);
    color: #FFFFFF;
    border-color: #0A4D68;
    box-shadow: 0 4px 12px rgba(10, 77, 104, 0.25);
}

@media (max-width: 992px) {
    .history-showcase-wrapper { max-width: 100%; }
    .history-image-stage { height: 440px; }
}

@media (max-width: 768px) {
    .history-image-stage { height: 320px; }
    .history-era-years { font-size: 1.8rem; letter-spacing: 1px; }
    .history-ribbon-bar { gap: 16px; padding: 12px; }
    .history-content-body { padding: 24px 20px 16px; }
    .history-bullet-item { font-size: 0.92rem; }
    .history-era-display { min-width: 200px; }
}

@media (max-width: 480px) {
    .history-image-stage { height: 240px; }
    .history-era-years { font-size: 1.5rem; }
}

/* =========================================================================
   16. DETAILED CORPORATE SECTIONS (TONG QUAN, LICH SU, THONG SO, CHUC NANG, CO CAU)
   ========================================================================= */

/* Company Info Table (Tong Quan) */
.company-info-table-wrap {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.company-info-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.94rem;
}

.company-info-table thead th {
    background: linear-gradient(90deg, #0A4D68, #0077B6);
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.88rem;
    letter-spacing: 0.5px;
    padding: 14px 18px;
    text-align: left;
}

.company-info-table tbody tr {
    border-bottom: 1px solid #F1F5F9;
    transition: background 0.2s ease;
}

.company-info-table tbody tr:last-child {
    border-bottom: none;
}

.company-info-table tbody tr:hover {
    background: #F8FAFC;
}

.company-info-table td {
    padding: 12px 18px;
    color: #1E293B;
}

.company-info-table .info-label {
    font-weight: 600;
    color: #0A2647;
    background: #F8FAFC;
}

.company-info-table .stock-badge {
    background: #0A4D68;
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
}

/* Vertical Timeline (Lich Su) */
.vertical-timeline-wrap {
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 36px 32px;
}

.timeline-title-sub {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    color: #0A2647;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.vertical-timeline {
    position: relative;
    padding-left: 20px;
}

.vertical-timeline::before {
    content: '';
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 27px;
    width: 3px;
    background: linear-gradient(180deg, #0096C7, #0A4D68);
    border-radius: 2px;
}

.v-timeline-item {
    position: relative;
    display: flex;
    gap: 24px;
    margin-bottom: 28px;
    align-items: flex-start;
}

.v-timeline-item:last-child {
    margin-bottom: 0;
}

.v-timeline-marker {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 195px;
    position: relative;
    z-index: 2;
}

.v-timeline-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #0077B6;
    border: 3px solid #FFFFFF;
    box-shadow: 0 0 0 3px #0096C7, 0 3px 10px rgba(0, 119, 182, 0.4);
    flex-shrink: 0;
}

.v-timeline-badge {
    background: linear-gradient(135deg, #0A4D68, #0077B6);
    color: #FFFFFF;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 0.92rem;
    padding: 7px 16px;
    border-radius: 24px;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(10, 77, 104, 0.25);
}

.v-timeline-card {
    flex: 1;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-left: 5px solid #0096C7;
    border-radius: 12px;
    padding: 18px 24px;
    box-shadow: 0 4px 18px rgba(10, 77, 104, 0.08);
    transition: all 0.25s ease;
}

.v-timeline-card:hover {
    transform: translateX(6px);
    border-left-color: #00B4D8;
    box-shadow: 0 8px 25px rgba(10, 77, 104, 0.14);
    background: #FAFCFF;
}

.v-timeline-card p {
    margin: 0;
    font-size: 1.02rem;
    color: #1E293B;
    line-height: 1.7;
}

.v-timeline-card strong {
    color: #0A2647;
    font-weight: 700;
}

.v-timeline-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #E0F2FE;
    color: #0369A1;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    margin-right: 8px;
    border: 1px solid rgba(2, 132, 199, 0.2);
    letter-spacing: 0.3px;
    vertical-align: middle;
}

/* Specs Table 2-col (Thong So) */
.specs-table-2col th,
.specs-table-2col td {
    padding: 14px 20px;
}

/* Chuc Nang, Nhiem Vu Cards */
.chuc-nang-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.chuc-nang-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 24px 28px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.cn-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid #EDF2F7;
    padding-bottom: 12px;
}

.cn-icon-badge {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #EBF4F6;
    color: #0A4D68;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
}

.cn-title {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
    color: #0A2647;
    margin: 0;
}

.main-business-text {
    margin: 0;
    font-size: 1.05rem;
    color: #0A4D68;
    display: flex;
    align-items: center;
    gap: 10px;
}

.styled-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.styled-bullet-list li {
    position: relative;
    padding-left: 24px;
    font-size: 0.94rem;
    color: #334155;
    line-height: 1.65;
}

.styled-bullet-list li::before {
    content: '\f058';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: #0096C7;
    font-size: 0.9rem;
}

/* Organization Tree (Co Cau To Chuc - Theo So Do Chuan Image 2) */
.org-tree-wrap {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 20px;
    padding: 36px 24px 24px;
    box-shadow: 0 10px 30px rgba(10, 77, 104, 0.05);
    position: relative;
    width: 100%;
}

.org-tree-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
}

.org-svg-tree {
    width: 100%;
    min-width: 940px;
    height: auto;
    display: block;
}

/* Node Styling */
.node-card {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--font-heading, 'Montserrat', sans-serif);
    font-weight: 700;
    letter-spacing: 0.3px;
    box-shadow: 0 4px 12px rgba(10, 38, 71, 0.07);
    transition: all 0.25s ease;
    cursor: default;
    user-select: none;
    padding: 6px 10px;
}

.node-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(10, 38, 71, 0.14);
}

.node-card i {
    font-size: 15px;
    margin-bottom: 3px;
}

.node-hdqt {
    background: linear-gradient(135deg, #0A4D68 0%, #051923 100%);
    color: #FFFFFF;
    border: 2px solid #00A8CC;
    font-size: 14px;
}
.node-hdqt i { color: #38BDF8; }

.node-bks {
    background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
    color: #92400E;
    border: 2px solid #F59E0B;
    font-size: 13px;
}
.node-bks i { color: #D97706; }

.node-tgd {
    background: linear-gradient(135deg, #0284C7 0%, #0A4D68 100%);
    color: #FFFFFF;
    border: 2px solid #38BDF8;
    font-size: 14.5px;
    box-shadow: 0 6px 20px rgba(2, 132, 199, 0.28);
}
.node-tgd i { color: #FDE047; }

.node-ptgd {
    background: #F0F9FF;
    color: #0369A1;
    border: 2px solid #0284C7;
    font-size: 12px;
    white-space: nowrap;
}
.node-ptgd i { color: #0284C7; }

.node-ktt {
    background: #F0FDF4;
    color: #15803D;
    border: 2px solid #22C55E;
    font-size: 12.5px;
    white-space: nowrap;
}
.node-ktt i { color: #16A34A; }

.node-dept {
    background: #FFFFFF;
    color: #0F172A;
    border: 1.5px solid #CBD5E1;
    border-top: 3.5px solid #0284C7;
    font-size: 12px;
    padding: 6px 6px;
    line-height: 1.35;
}
.node-dept .dept-title {
    font-weight: 700;
}
.node-dept .dept-code {
    font-size: 11px;
    font-weight: 600;
    color: #64748B;
    margin-top: 3px;
}
.node-dept i { 
    color: #0284C7; 
    font-size: 14px;
    margin-bottom: 4px;
}

/* SVG Connectors */
.tree-line {
    fill: none;
    stroke: #64748B;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tree-line-bks {
    fill: none;
    stroke: #D97706;
    stroke-width: 2.2;
    stroke-linecap: round;
}

.tree-arrow {
    fill: #64748B;
}
.tree-arrow-bks {
    fill: #D97706;
}

.org-scroll-hint {
    display: none;
    text-align: center;
    font-size: 0.85rem;
    color: #64748B;
    margin-top: 10px;
    font-weight: 500;
}

@media (max-width: 991px) {
    .org-scroll-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
}

/* Leaders Grid (Ban Lanh Dao) */
.leaders-section {
    margin-top: 48px;
}

.leaders-subhead {
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: #0A2647;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Leaders Pyramid (Ban Lãnh Đạo & Trưởng Đơn Vị: 1 - 2 - 4) */
.leaders-pyramid-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
    width: 100%;
}

.leaders-tier {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

/* Tier 1 - Giám Đốc (Apex & Nổi bật) */
.tier-1 {
    display: flex;
    justify-content: center;
}

.person-card.director-card {
    width: 440px;
    max-width: 100%;
    background: linear-gradient(180deg, #FFFFFF 0%, #F0F9FF 100%);
    border: 2px solid #0096C7;
    border-radius: 22px;
    padding: 36px 28px;
    box-shadow: 0 16px 40px rgba(0, 150, 199, 0.2), 0 4px 14px rgba(10, 77, 104, 0.08);
    position: relative;
    transform: scale(1.02);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.person-card.director-card:hover {
    transform: scale(1.04) translateY(-5px);
    border-color: #0077B6;
    box-shadow: 0 20px 48px rgba(0, 150, 199, 0.28), 0 8px 20px rgba(10, 77, 104, 0.12);
}

.director-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #0A2647 0%, #0A4D68 100%);
    color: #FFD166;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 7px 20px;
    border-radius: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(10, 38, 71, 0.25);
}

.person-card.director-card .person-avatar-wrap {
    width: 185px;
    height: 185px;
    border: 5px solid #0096C7;
    box-shadow: 0 0 0 7px rgba(0, 150, 199, 0.22), 0 14px 30px rgba(0, 0, 0, 0.15);
    margin-bottom: 20px;
}

.person-name.director-name {
    font-size: 1.5rem;
    font-weight: 800;
    color: #03045E;
    margin-bottom: 10px;
}

.person-role.director-role {
    font-size: 1.05rem;
    font-weight: 700;
    background: linear-gradient(135deg, #0284C7 0%, #0369A1 100%);
    color: #FFFFFF;
    padding: 9px 26px;
    border-radius: 22px;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
    letter-spacing: 0.3px;
}

/* Tier 2 - Phó Giám Đốc & Kế Toán Trưởng (2 người) */
.tier-2 {
    display: flex;
    justify-content: center;
    gap: 36px;
    flex-wrap: wrap;
}

.tier-2 .person-card {
    width: 360px;
    max-width: calc(50% - 18px);
    background: #FFFFFF;
    border: 1.5px solid #BAE6FD;
    padding: 32px 24px;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(10, 77, 104, 0.09);
}

.tier-2 .person-card:hover {
    border-color: #0096C7;
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(10, 77, 104, 0.16);
}

.tier-2 .person-avatar-wrap {
    width: 155px;
    height: 155px;
    border: 4px solid #38BDF8;
    box-shadow: 0 0 0 6px rgba(56, 189, 248, 0.2), 0 12px 24px rgba(0, 0, 0, 0.12);
    margin-bottom: 16px;
}

.tier-2 .person-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0A2647;
    margin-bottom: 8px;
}

.tier-2 .person-role {
    font-size: 0.95rem;
    font-weight: 600;
    background: #E0F2FE;
    color: #0369A1;
    border: 1px solid #BAE6FD;
    padding: 7px 18px;
}

/* Tier 3 - 4 Trưởng/Phó đơn vị */
.tier-3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    width: 100%;
}

.tier-3 .person-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    padding: 28px 16px;
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
}

.tier-3 .person-card:hover {
    transform: translateY(-5px);
    border-color: #0096C7;
    box-shadow: 0 14px 30px rgba(10, 77, 104, 0.12);
}

/* Base Person Card */
.person-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 24px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.person-avatar-wrap {
    width: 135px;
    height: 135px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 16px;
    border: 4px solid #E2E8F0;
    background: #F1F5F9;
    box-shadow: 0 0 0 5px rgba(226, 232, 240, 0.9), 0 10px 22px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.person-card:hover .person-avatar-wrap {
    transform: scale(1.04);
}

.person-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.person-card:hover .person-avatar {
    transform: scale(1.06);
}

.person-name {
    font-family: var(--font-heading);
    font-size: 1.08rem;
    font-weight: 700;
    color: #0A2647;
    margin: 0 0 8px;
}

.person-role {
    font-size: 0.85rem;
    font-weight: 600;
    color: #0077B6;
    background: #F1F5F9;
    padding: 6px 14px;
    border-radius: 16px;
    margin: 0;
    line-height: 1.35;
}

@media (max-width: 1100px) {
    .tier-3 {
        grid-template-columns: repeat(2, 1fr);
        max-width: 760px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .tier-2 {
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }
    .tier-2 .person-card {
        width: 100%;
        max-width: 360px;
    }
    .tier-3 {
        grid-template-columns: 1fr;
        max-width: 360px;
        margin: 0 auto;
    }
    .person-card.director-card {
        width: 100%;
        max-width: 380px;
    }
}

.org-summary-note {
    margin-top: 32px;
    background: #F0F9FF;
    border: 1px solid #BAE6FD;
    border-left: 5px solid #0096C7;
    padding: 18px 24px;
    border-radius: 10px;
    font-size: 1rem;
    color: #1E293B;
    line-height: 1.7;
    box-shadow: 0 4px 15px rgba(10, 77, 104, 0.06);
}

@media (max-width: 900px) {
    .org-branches-row {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }
    .org-h-bar, .org-branch-v-line {
        display: none;
    }
    .v-timeline-item {
        flex-direction: column;
        gap: 10px;
    }
    .v-timeline-marker {
        min-width: unset;
    }
}

/* Vinh Danh & Khen Thưởng Showcase */
.vinh-danh-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-top: 24px;
}

.vinh-danh-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(10, 77, 104, 0.08);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
}

.vinh-danh-card:hover {
    transform: translateY(-6px);
    border-color: #0096C7;
    box-shadow: 0 16px 36px rgba(10, 77, 104, 0.16);
}

.vinh-danh-img-wrap {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
    background: #0A2647;
}

.vinh-danh-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.vinh-danh-card:hover .vinh-danh-img {
    transform: scale(1.04);
}

.vinh-danh-overlay-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: linear-gradient(135deg, rgba(10, 38, 71, 0.88) 0%, rgba(0, 150, 199, 0.92) 100%);
    backdrop-filter: blur(8px);
    color: #FFD166;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0.4px;
}

.vinh-danh-body {
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: #FFFFFF;
}

.vinh-danh-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    font-size: 0.86rem;
    color: #64748B;
    font-weight: 600;
    flex-wrap: wrap;
}

.vinh-danh-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748B;
}

.vinh-danh-unit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #F0F9FF;
    color: #0284C7;
    padding: 3px 10px;
    border-radius: 12px;
    font-weight: 700;
}

.vinh-danh-card-title {
    font-family: var(--font-heading);
    font-size: 1.22rem;
    font-weight: 700;
    color: #0A2647;
    margin: 0 0 10px;
    line-height: 1.4;
}

.vinh-danh-card-desc {
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.65;
    margin: 0;
    flex-grow: 1;
}

@media (max-width: 900px) {
    .vinh-danh-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .vinh-danh-img-wrap {
        height: 280px;
    }
}


/* =========================================================================
   FOOTER VISITOR STATS & CONTACT STRIP (THỐNG KÊ TRUY CẬP & DÒNG TRỤ SỞ NGANG)
   ========================================================================= */
.footer-col.col-stats {
    justify-self: end;
    width: 100%;
    max-width: 320px;
}

.footer-visitor-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(0, 150, 199, 0.28);
    border-radius: 12px;
    padding: 16px 20px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.visitor-stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
    font-size: 0.9rem;
    color: #E2E8F0;
}

.visitor-stat-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.visitor-stat-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #CBD5E1;
    font-weight: 500;
}

.visitor-stat-val {
    font-size: 1.05rem;
    font-weight: 700;
    font-family: 'Outfit', 'Montserrat', sans-serif;
    color: #FFFFFF;
    letter-spacing: 0.5px;
}

.visitor-stat-val.text-emerald {
    color: #10B981;
}

.visitor-stat-val.text-cyan {
    color: #00D2D3;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    background-color: #10B981;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 0 rgba(16, 185, 129, 0.7);
    animation: livePulse 2s infinite;
}

@keyframes livePulse {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}

/* Dòng ngang Trụ sở & Liên hệ */
.footer-contact-strip {
    background: rgba(0, 20, 38, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding: 18px 0;
    margin-top: 40px;
    color: #CBD5E1;
    font-size: 0.88rem;
}

.footer-contact-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    text-align: center;
}

.contact-strip-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.contact-strip-item strong {
    color: #FFFFFF;
}

.contact-strip-item a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.contact-strip-item a:hover {
    color: var(--cyan-neon, #00D2D3);
    text-decoration: underline;
}

.contact-sep {
    color: rgba(0, 150, 199, 0.5);
    font-weight: bold;
}

@media (max-width: 992px) {
    .footer-col.col-stats {
        justify-self: start;
        max-width: 100%;
    }
    .footer-contact-flex {
        flex-direction: column;
        gap: 10px;
    }
    .contact-sep {
        display: none;
    }
}
