@import url('https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700;800&display=swap');

/* =============================================
   1. RESET & BASE
   ============================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    font-family: 'Sarabun', sans-serif;
    overflow-x: hidden;
    color-scheme: light;
    background-color: #FFFFFF;
    padding-top: 0;
}

/* Force Light Mode Override */
@media (prefers-color-scheme: dark) {

    html,
    body {
        background-color: #FFFFFF !important;
        color: #000000 !important;
    }
}

/* =============================================
   0. PRELOADER
   ============================================= */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #F8F9FA;
    /* Matches Header Background */
    z-index: 9999;
    /* Highest priority */
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.8s ease-in-out, visibility 0.8s;
    /* Smoother fade */
}

.preloader-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.preloader-logo {
    width: clamp(180px, 30vw, 500px);
    /* Mobile: 180px, Desktop: ~500px */
    height: auto;
    object-fit: contain;
    /* Static logo, no pulse */
}

.loading-line {
    width: 0;
    height: 6px;
    /* Slightly thicker */
    background-color: #A01515;
    /* Theme Red */
    border-radius: 3px;
    animation: runningLine 2s cubic-bezier(0.2, 0, 0, 1) forwards;
    /* Smooth run */
    max-width: clamp(180px, 30vw, 500px);
    /* Match logo width */
    width: 100%;
    /* Occupy space */
}

/* "Running" Animation: Grows from 0 to 100% width smoothly */
@keyframes runningLine {
    0% {
        width: 0%;
        opacity: 1;
    }

    100% {
        width: 100%;
        opacity: 1;
    }
}

#preloader.fade-out {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}


/* =============================================
   2. HEADER (DESKTOP DEFAULT)
   ============================================= */
.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background-color: rgba(248, 249, 250, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 3px solid #C4A484;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    z-index: 1000;
    display: flex;
    align-items: center;
    /* Hamburger menu is positioned relative to this element */
}

.header-container {
    width: 100%;
    /* Full width */
    padding: 0 2%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* Space out Left and Right groups */
    flex-wrap: nowrap;
    gap: 5px;
    overflow: visible;
    min-width: 0;
    position: relative;
    /* For absolute centering */
}

/* Logo Group */
.logo-link-img {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
    margin-right: 5px;
}

.site-logo {
    height: auto;
    max-height: 45px;
    display: block;
    flex-shrink: 0;
}

.logo-link-text {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
    /* FIXED: Never shrink logo text - it must always be fully visible */
    min-width: 150px;
    /* FIXED: Reserve minimum space for "เจาะเกราะ100" */
    overflow: visible;
    /* FIXED: Logo must not be clipped */
    white-space: nowrap;
    margin-left: 10px;
    margin-right: 20px;
    /* ADDED: Buffer space before navigation */
}

.logo-text {
    font-family: 'Sarabun', sans-serif;
    font-weight: 800;
    font-size: clamp(16px, 4vw, 42px);
    margin: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.logo-main {
    color: #222;
}

.logo-highlight {
    color: #A01515;
}

/* Header Contact Info */
/* Header Contact Info - CENTERED */
.header-contact {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    /* Reset margins */
    display: flex;
    align-items: center;
    text-align: left;
    white-space: nowrap;
    flex-shrink: 0;
    z-index: 10;
    /* Ensure clickability */
}

.contact-link {
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #5D4037;
    transition: transform 0.3s ease;
}

/* Large Contact Button Scale - HORIZONTAL LAYOUT (MAXIMIZED) */
/* Large Contact Button Scale - HORIZONTAL LAYOUT (FORCE MAX) */
/* Base Contact Styles (Mobile/Tablet Default) [LOCKED - DO NOT EDIT] */
.contact-icon {
    font-size: 24px;
    /* Standard Size */
    color: #800000;
    flex-shrink: 0;
    margin-right: 8px;
}

.contact-text {
    display: flex;
    flex-direction: column;
    /* Stack Vertical on Mobile */
    align-items: flex-start;
    gap: 0;
    line-height: 1.1;
}

.contact-label {
    font-size: 10px;
    font-weight: 700;
    color: #800000;
    text-transform: uppercase;
    white-space: nowrap;
    display: block;
    /* Always show */
}

.contact-number {
    font-size: 14px;
    font-weight: 800;
    color: #8B6508;
    white-space: nowrap;
}

/* Force HUGE sizes on Desktop (> 1024px) to fill 80px header */
/* Force HUGE sizes & HORIZONTAL Layout on Desktop (> 1024px) */
/* Force HUGE sizes & HORIZONTAL Layout on Desktop (> 1024px) */
/* Force HUGE sizes & HORIZONTAL Layout on Desktop (> 1024px) */
@media screen and (min-width: 1025px) {
    .contact-text {
        flex-direction: row !important;
        /* Horizontal on Desktop */
        align-items: center !important;
        gap: clamp(15px, 2vw, 25px) !important;
        /* Increased Gap - Scalable */
    }

    .contact-icon {
        font-size: clamp(40px, 4vw, 58px) !important;
        /* Match Logo Image Height - Scalable */
        margin-right: clamp(10px, 1.5vw, 20px) !important;
        background: linear-gradient(45deg, #800000, #A01515);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        filter: drop-shadow(0 2px 4px rgba(160, 21, 21, 0.3));
    }

    .contact-label {
        font-size: clamp(24px, 2.4vw, 34px) !important;
        /* Match Logo Text Weight - Scalable */
        font-weight: 800 !important;
        /* Added White Highlight for Shine */
        background: linear-gradient(110deg, #5D4037 20%, #D4AF37 40%, #FFFFE0 50%, #D4AF37 60%, #5D4037 80%);
        background-size: 200% auto;
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: shine 4s linear infinite;
        /* Slightly faster */
        text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        line-height: 1.8 !important;
        /* Fix clipped Thai vowels (Aggressive) */
        padding-top: 15px !important;
        /* Extra room for ascenders */
        padding-bottom: 15px !important;
    }

    .contact-number {
        font-size: clamp(32px, 3.2vw, 46px) !important;
        /* Exceed Logo Text slightly - Scalable */
        font-weight: 800 !important;
        /* Added White Highlight for Shine */
        background: linear-gradient(110deg, #8B6508 20%, #FFD700 40%, #FFFFE0 50%, #FFD700 60%, #8B6508 80%);
        background-size: 200% auto;
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: shine 4s linear infinite;
        /* Slower = More Elegant */
        text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        line-height: 1.8 !important;
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    /* 3. Social Icons - Enhanced for Desktop */
    .header-socials {
        gap: clamp(15px, 1.5vw, 20px) !important;
        /* More breathing room - Scalable */
    }

    .social-link {
        font-size: clamp(28px, 2.5vw, 36px) !important;
        /* Much Larger Icons - Scalable */
        transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        /* Bouncy effect */
    }

    .social-link:hover {
        transform: scale(1.2) translateY(-5px);
        /* Pop effect */
    }
}

/* Keyframes for Shimmer Effect */
@keyframes shine {
    to {
        background-position: 200% center;
    }
}

/* Hamburger Menu - ALWAYS VISIBLE */
.menu-toggle {
    display: flex !important;
    /* Force visible on all screens */
    align-items: center;
    justify-content: center;
    margin-left: 15px;
    /* Space from socials */
    font-size: clamp(22px, 2.5vw, 30px);
    /* Responsive size */
    color: #333;
    cursor: pointer;
    z-index: 100;
    /* Above other header elements */
    width: clamp(36px, 4vw, 48px);
    /* Responsive width */
    height: clamp(36px, 4vw, 48px);
    /* Responsive height */
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}


.menu-toggle:hover {
    transform: scale(1.05);
    /* Removed translateY(-50%) as it's no longer absolutely positioned */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Social Media Icons (Desktop/Tablet) */
/* Social Media Icons (Right Aligned Group) */
.header-socials {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    /* Push this entire group to the right */
    margin-right: 0;
    flex-shrink: 0;
}

/* Contact Info - Important, minimal shrink */
.header-contact {
    margin-left: 0;
    flex-shrink: 0;
    /* Don't shrink contact info */
}

.social-link {
    font-size: 28px;
    transition: transform 0.2s ease, opacity 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.social-link:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

/* Official Brand Colors */
.social-link.tiktok {
    color: #000000;
}

.social-link.facebook {
    color: #1877F2;
}

.social-link.line {
    color: #06C755;
}

.social-link.messenger {
    /* Messenger Gradient Text */
    background: linear-gradient(to bottom right, #00B2FF, #006AFF);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* =============================================
   Zone 3: Team Section
   ============================================= */
.team-section {
    position: relative;
    padding: clamp(40px, 5vw, 80px) 20px;
    background-color: #f9f9f9;
}

.team-container {
    max-width: 95%;
    /* Expand to fill the screen */
    margin: 0 auto;
}

.team-title {
    position: relative;
    display: table;
    /* Fit content */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;

    font-family: 'Sarabun', sans-serif;
    font-size: clamp(42px, 7vw, 90px);
    /* Reduced slightly for balance */
    font-weight: 800;
    line-height: 1.2;

    /* Premium Badge Style */
    color: #FFFFFF;
    background: linear-gradient(135deg, #A01515 0%, #680505 100%);
    /* Deep Red Gradient */
    padding: 15px 60px;
    /* More balanced padding */
    border-radius: 100px;
    /* Full pill shape */
    border: 3px solid #D4AF37;
    /* Thicker Gold Border */

    /* 3D Elevation Shadow */
    box-shadow: 0 10px 25px rgba(160, 21, 21, 0.4);
}

/* Remove separate underline, the border serves as accent */
.team-title::after {
    display: none;
}

.team-subtitle {
    text-align: center;
    font-family: 'Sarabun', sans-serif;
    font-size: clamp(24px, 4vw, 38px);
    /* Larger Subtitle */
    color: #444;
    /* Darker grey */
    font-weight: 500;
    margin-bottom: clamp(50px, 5vw, 70px);
    /* More space below */
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* Desktop: 2 Cards side-by-side */
    gap: 40px;
    /* More breathing room */
}

.team-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    /* Premium soft shadow */
    display: flex;
    overflow: hidden;
    transition: transform 0.3s ease;
    border: 1px solid #D4AF37;
    /* Premium Gold Border */
    min-height: 500px;
    /* Significantly taller for better image display */
}

.team-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(160, 21, 21, 0.1);
}

/* Image Column (Left) */
.team-image-col {
    width: 35%;
    /* Reduced slightly to give more room to text */
    min-width: 250px;
    /* Ensure image isn't too skinny */
    position: relative;
    overflow: hidden;
}

.team-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Info Column (Right) */
.team-info-col {
    width: 65%;
    /* Increased space for text */
    padding: 40px;
    /* More padding for desktop */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.team-name {
    font-size: clamp(22px, 3.5vw, 42px);
    /* Much larger on desktop */
    font-weight: 700;
    color: #A01515;
    margin-bottom: 5px;
    line-height: 1.2;
}

.team-role {
    font-size: clamp(14px, 2vw, 24px);
    /* Scaled role */
    color: #333;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.team-bio {
    font-size: clamp(14px, 1.6vw, 20px);
    /* Larger body text to fill space */
    color: #555;
    line-height: 1.8;
    /* Relaxed reading */
    margin-bottom: 25px;
    flex-grow: 1;
    /* Allow text to take distinct space */
}

.team-bio p {
    margin: 0;
}

.team-bio .mt-2 {
    margin-top: 10px;
}

.team-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    /* Push to bottom if flex container allows */
}

.tag {
    background-color: #A01515;
    color: white;
    padding: 8px 18px;
    /* Larger buttons */
    border-radius: 20px;
    font-size: clamp(11px, 1.2vw, 16px);
    font-weight: 500;
}


/* =============================================
   RESPONSIVE TEAM LAYOUT
   ============================================= */

/* Tablet & Small Laptop (768px - 1180px): Fix Stretched Cards */
@media screen and (min-width: 768px) and (max-width: 1180px) {
    .team-grid {
        grid-template-columns: 1fr;
        /* Force 1 column for landscape */
        max-width: 750px;
        /* Limit width for beauty */
        margin: 0 auto;
        /* Center grid */
    }

    .team-card {
        min-height: auto;
        /* Release the 500px lock */
        height: auto;
        /* Let content dictate height */
        flex-direction: column;
        /* Stack vertically if too narrow, OR keep row but smaller */
        /* Actually, for 2-col grid on tablet, keep row but Compact it */
        flex-direction: row;
    }

    .team-image-col {
        width: 40%;
        /* Profile portrait width */
    }

    .team-info-col {
        width: 60%;
        padding: 20px;
        /* Reduce from 40px desktop padding */
    }

    .team-name {
        font-size: clamp(18px, 2.5vw, 26px);
        /* Smaller than desktop 42px */
    }

    .team-role {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .team-bio {
        font-size: 14px;
        /* Readable standard size */
        margin-bottom: 15px;
    }

    .team-tags {
        gap: 8px;
    }

    .tag {
        font-size: 11px;
        padding: 4px 10px;
    }
}

/* Mobile (< 768px): Full Width Cards */
@media screen and (max-width: 767px) {
    .team-section {
        padding: 40px 0;
        /* Removing side padding for full-width feel */
    }

    .team-container {
        padding: 0;
        /* Full width container */
    }

    .team-title,
    .team-subtitle {
        padding: 0 15px;
        /* Keep title parsed */
    }

    .team-grid {
        grid-template-columns: 1fr;
        /* 1 Card per row */
        gap: 20px;
        padding: 0;
    }

    .team-card {
        flex-direction: row;
        /* KEEP SIDE-BY-SIDE ON MOBILE */
        border-radius: 20px;
        /* Rounded corners back */
        margin-bottom: 0;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        border: 1px solid #D4AF37;
        /* Force Gold Border */
        transition: none;
        /* Disable animation */
        min-height: 220px;
        /* Ensure enough height */
    }

    .team-card:hover {
        transform: none;
        /* No lift */
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        /* Keep original shadow */
    }

    /* Image Left (25%) - Minimized */
    .team-image-col {
        width: 25%;
        /* Smallest functional size for portrait */
        height: auto;
        min-height: 100%;
        /* Stretch */
    }

    .team-img {
        position: absolute;
        /* Cover full area */
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
    }

    /* Info Right (75%) - Maximum space */
    .team-info-col {
        width: 75%;
        padding: 10px 5px;
        /* Minimal padding */
        justify-content: flex-start;
        /* Align top */
    }

    .team-name {
        font-size: 13px;
        /* Reduced slightly to ensure single line */
        margin-bottom: 3px;
        line-height: 1.2;
    }

    .team-role {
        font-size: 10px;
        margin-bottom: 6px;
        padding-bottom: 4px;
    }

    .team-bio {
        font-size: 10px;
        /* Compact body text */
        line-height: 1.25;
        /* Tighter leading */
        margin-bottom: 8px;
    }

    .team-tags {
        gap: 4px;
    }

    .tag {
        font-size: 7.5px;
        /* Micro adjustment */
        padding: 2px 4px;
        /* Ultra tight */
        border-radius: 10px;
        white-space: nowrap;
        /* FORCE single line */
    }
}

/* Team Story Preview & Read More Button */
.team-story-preview {
    font-size: clamp(14px, 1.8vw, 22px);
    color: #666;
    line-height: 1.7;
    margin-top: 10px;
    font-style: italic;
}

.team-read-more {
    background: linear-gradient(135deg, #A01515 0%, #800000 100%);
    color: #FFFFFF;
    border: none;
    padding: 8px 16px;
    border-radius: 25px;
    font-size: clamp(12px, 1.2vw, 15px);
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(160, 21, 21, 0.3);
    width: auto;
    max-width: 160px;
}

.team-read-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(160, 21, 21, 0.4);
    background: linear-gradient(135deg, #C01C1C 0%, #A01515 100%);
}

.team-read-more i {
    font-size: 14px;
}

/* Story Modal Popup */
.story-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(5px);
    z-index: 10000;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.story-modal.active {
    display: flex;
    opacity: 1;
}

.story-modal-content {
    background: linear-gradient(135deg, #FFFFFF 0%, #FFF5F5 100%);
    width: 90%;
    max-width: 800px;
    max-height: 85vh;
    border-radius: 20px;
    padding: 40px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow-y: auto;
    transform: scale(0.9);
    transition: transform 0.3s ease;
    border: 3px solid #D4AF37;
}

.story-modal.active .story-modal-content {
    transform: scale(1);
}

.story-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: #A01515;
    color: #FFFFFF;
    border: none;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    z-index: 10;
}

.story-modal-close:hover {
    background: #C01C1C;
    transform: rotate(90deg);
}

.story-modal-title {
    font-size: clamp(24px, 4vw, 36px);
    color: #A01515;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 3px solid #D4AF37;
    font-weight: 700;
}

.story-modal-body {
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.8;
    color: #333;
}

.story-modal-body p {
    margin-bottom: 20px;
}

.story-modal-body p strong {
    color: #A01515;
    font-weight: 700;
}

/* Mobile Responsive for Modal */
@media screen and (max-width: 767px) {

    /* Limit story preview length on mobile */
    .team-story-preview {
        font-size: 10px !important;
        line-height: 1.5 !important;
        display: -webkit-box;
        display: box;
        -webkit-line-clamp: 9;
        line-clamp: 9;
        -webkit-box-orient: vertical;
        box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        max-height: 135px;
        /* 9 lines * 15px line-height (10px font * 1.5) */
    }

    /* Button as text link on mobile - MINIMAL */
    .team-read-more {
        background: none;
        border: none;
        box-shadow: none;
        padding: 0;
        margin-top: 6px;
        font-size: 10px !important;
        font-weight: 500;
        color: #A01515;
        text-decoration: underline;
        display: inline;
        width: auto;
        max-width: none !important;
        transition: color 0.2s ease;
    }

    .team-read-more:hover {
        color: #C01C1C;
        background: none;
        transform: none;
        box-shadow: none;
    }

    .team-read-more i {
        display: none;
        /* Hide icon on mobile */
    }

    /* Modal styles */
    .story-modal-content {
        width: 95%;
        padding: 30px 20px;
        max-height: 90vh;
    }

    .story-modal-title {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .story-modal-body {
        font-size: 15px;
        line-height: 1.7;
    }
}

/* Tablet */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .story-modal-content {
        padding: 35px 30px;
    }
}

/* =============================================
   Zone 1: Hero Section
   ============================================= */
.hero-section {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #000;
    margin-top: 80px;
    /* Header Height */
}

.hero-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* =============================================
   RESPONSIVE HEADER - MOBILE (max-width: 767px) - CONSOLIDATED
   ============================================= */
@media screen and (max-width: 767px) {

    /* Header Structure */
    .site-header {
        height: 60px;
        border-bottom-width: 2px;
    }

    .site-logo {
        max-height: 35px !important;
        /* Consolidated: smaller for very small screens */
    }

    /* Header Container - Final override values */
    .header-container {
        padding: 0 5px !important;
        /* Consolidated: tighter padding for small screens */
        gap: 2px !important;
        justify-content: space-between;
    }

    /* Logo Styles */
    .logo-link-text {
        flex-grow: 1;
        justify-content: center;
        padding: 0 5px;
        margin-left: 2px !important;
        /* Consolidated */
        margin-right: 2px !important;
        /* Consolidated */
        min-width: auto !important;
        /* Consolidated: allow shrinking */
    }

    .logo-text {
        font-size: 20px !important;
        /* Consolidated: larger for readability */
    }

    /* Contact Info */
    .header-contact {
        position: relative;
        left: auto;
        transform: none;
        margin-left: auto;
        margin-right: 5px;
    }

    .contact-label {
        display: block;
        font-size: 10px;
        margin-bottom: 2px;
        line-height: 1;
    }

    .contact-number {
        font-size: 14px !important;
        /* Consolidated */
    }

    .contact-icon {
        font-size: 20px !important;
        /* Consolidated: adjusted for small screens */
    }

    .contact-link {
        gap: 6px;
    }

    /* Navigation - Hidden on mobile, use hamburger instead */
    .menu-toggle {
        display: flex !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Social Icons - HIDDEN on Mobile (Final override) */
    .header-socials {
        display: none !important;
        /* Consolidated: Keep hidden on mobile phones */
    }

    /* Hero Section */
    .hero-section {
        margin-top: 60px;
    }

    /* =============================================
       ZONE 2-3 SPACING OPTIMIZATION
       ============================================= */
    .trust-section {
        padding-bottom: 15px !important;
    }

    .warning-text {
        margin-bottom: 5px !important;
        padding-bottom: 0 !important;
    }

    .team-section {
        padding-top: 15px !important;
    }
}

/* Very Small Mobile (< 360px) */
@media screen and (max-width: 360px) {
    .contact-label {
        display: none;
    }
}

/* =============================================
   Zone 2: Trust & Warning Section
   ============================================= */
.trust-section {
    position: relative;
    background-color: #FFFFFF;
    border-top: 8px solid #A01515;
    padding-top: clamp(30px, 4vw, 60px);
    padding-bottom: 20px;
    /* Reduced to bring Zone 3 closer */
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
}

.content-container {
    width: 100%;
    max-width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.trust-header {
    text-align: center;
    position: relative;
    /* margin-bottom removed, handled by container gap */
    width: 100%;
}

/* Dual Card Container */
.trust-dual-card-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    margin-bottom: clamp(20px, 3vw, 50px);
}

@media screen and (min-width: 1025px) {
    .trust-dual-card-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        /* Increased alignment gap */
        align-items: stretch;
    }
}

/* Warning Card (Left) - Premium Style */
.trust-warning-card {
    background: linear-gradient(145deg, #ffffff, #fff5f5);
    /* Subtle pink-ish tint */
    border: none;
    /* No flat border */
    border-radius: 20px;
    padding: clamp(30px, 4vw, 50px) clamp(10px, 2vw, 30px);

    /* Premium layered shadow + thin outline ring */
    box-shadow:
        0 10px 40px -10px rgba(160, 21, 21, 0.15),
        0 0 0 1px rgba(160, 21, 21, 0.08);
    /* Faint ring */

    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    /* Removed hover transition */
}


.card-watermark-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    opacity: 0.08;
    /* Very faint */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.card-watermark-bg img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* Full Buddha visible */
    /* mix-blend-mode removed: Image is now transparent */
    transform: scale(0.95);
    /* Slight breathing room */
}

.trust-title {
    font-size: clamp(24px, 3.5vw, 55px);
    /* Significantly reduced */
    font-weight: 700;
    /* Less heavy */
    color: #A01515;
    margin-bottom: clamp(20px, 3vw, 45px);
    /* More breathing room */
    line-height: 1.3;
    text-shadow: 0 4px 20px rgba(160, 21, 21, 0.1);
    white-space: normal;
    word-break: break-word;
    /* Ensure no overflow */
    /* Ensure no overflow */
    letter-spacing: -0.5px;
}

.warning-text {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* --- New 3-Block Text Structure --- */

.warning-intro {
    font-size: clamp(16px, 1.2vw, 18px);
    color: #555;
    line-height: 1.6;
    margin-bottom: 25px;
    font-weight: 500;
}

.warning-highlight {
    font-size: clamp(20px, 1.8vw, 28px);
    /* Punchy size */
    color: #A01515;
    /* Theme Red */
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 25px;
    padding: 0 10px;
}

.warning-solution {
    font-size: clamp(16px, 1.2vw, 18px);
    color: #333;
    line-height: 1.8;
    font-weight: 500;
}

/* --------------------------------- */
/* Desktop Text Enhancements */
@media screen and (min-width: 1025px) {
    .warning-intro {
        font-size: 22px;
        /* Increased from 18px */
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

    .warning-highlight {
        font-size: 36px;
        /* Increased from 28px */
        padding: 0;
        max-width: 100%;
        white-space: nowrap;
        /* Try to keep on single line if possible, or balance */
        text-wrap: balance;
    }

    .warning-solution {
        font-size: 22px;
        /* Increased from 18px */
        max-width: 95%;
        margin-left: auto;
        margin-right: auto;
    }

    .trust-inner-content {
        max-width: 100%;
        /* Ensure full usage of card width */
    }
}



/* Base Mobile Style */
.trust-desc {
    font-size: clamp(16px, 1.3vw, 20px);
    /* Refined Body */
    color: #444;
    margin-bottom: clamp(25px, 3vw, 60px);
    line-height: 1.8;

    font-weight: 500;
    width: 100%;
    /* Full width on mobile */
    text-wrap: pretty;
    /* Safe wrapping for mobile */
}

/* Desktop Specific Overrides */
@media screen and (min-width: 1025px) {
    .trust-desc {
        max-width: 85%;
        /* Constrain only on desktop */
        margin-left: auto;
        margin-right: auto;
        text-wrap: balance;
        /* Balance only on desktop */
    }
}

.trust-highlight {
    font-size: clamp(18px, 1.5vw, 24px);
    /* Slightly larger than body */
    color: #A01515;
    font-weight: 700;
    line-height: 1.6;
    text-wrap: pretty;
}


.highlight-big {
    font-size: inherit;
    display: inline;
}

.trust-normal {
    font-weight: 500;
    color: #333;
    font-size: clamp(16px, 1.2vw, 18px);
    /* Matching standard body */
    display: block;
    margin-top: clamp(20px, 2vw, 40px);
    /* Slightly increased */
    text-wrap: pretty;
    line-height: 1.8;
    /* Relaxed */
    letter-spacing: 0.3px;
}



.watermark-icon {
    position: absolute;
    top: -5%;
    right: -2%;
    font-size: clamp(150px, 20vw, 500px);
    color: rgba(160, 21, 21, 0.03);
    /* Lighter watermark */
    z-index: 0;
    /* Behind content but barely visible */
    pointer-events: none;
}


/* Divider Removed */
.trust-divider {
    display: none;
}


.trust-quote-box {
    /* Premium Centered Quote */
    border: none;
    /* Removed border */
    background: transparent;
    /* Clean background */
    padding: 10px 0;
    margin: 20px 0;
    width: 100%;
    position: relative;

    /* Removed Grid Props */
}

.trust-quote-box::before {
    content: "“";
    display: block;
    font-size: 60px;
    color: #D4AF37;
    /* Premium Gold */
    opacity: 0.4;
    line-height: 0;
    margin-bottom: 20px;
}

/* --- Mobile Specific: Full Width Cards (No Gaps) --- */
@media screen and (max-width: 767px) {
    .content-container {
        width: 100%;
        max-width: 100%;
        padding: 0 5px;
        /* Minimal padding */
    }

    .trust-dual-card-container {
        gap: 20px;
        /* Tighter gap */
        margin-bottom: 30px;
    }

    .trust-warning-card,
    .trust-card {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 25px 10px;
        /* Reduced side padding from 15px to 10px */
    }

    .trust-section {
        padding: 30px 0;
        /* Tighter vertical padding */
    }

    /* Optimize CTA Space for Mobile text flow */
    .trust-cta {
        flex-direction: column;
        padding: 25px 2px;
        /* Maximize side width */
        height: auto;
    }
}

.keep-word {
    display: inline-block;
    white-space: nowrap;
}


.quote-text {
    font-size: clamp(18px, 2vw, 24px);
    /* Elegant Quote Size */
    font-style: italic;
    color: #555;
    /* Softer than black */
    font-weight: 600;
    white-space: normal;
    line-height: 1.6;
    text-wrap: balance;
    /* Prevent orphans */
}

@media screen and (max-width: 767px) {
    .quote-text {
        font-size: 16px;
        /* Smaller on mobile to fit text */
    }
}



/* Trust Card (Grid - Compact Vertical) - Premium Style */
.trust-card {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFAF0 100%);
    /* Subtle Warmth */

    /* Pure white base */
    border: none;
    border-radius: 20px;

    /* Premium layered shadow + gold/red accent ring */
    box-shadow:
        0 10px 40px -10px rgba(160, 21, 21, 0.15),
        0 0 0 1px rgba(160, 21, 21, 0.08);

    padding: clamp(30px, 4vw, 50px);
    /* Increased padding consistency */
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;

    text-align: center;
    /* Center text */

    position: relative;
    /* Ensure absolute children are relative to this */
    overflow: hidden;
    /* Clip watermark */
}


.trust-watermark {
    position: absolute;
    top: -10px;
    right: -20px;
    font-size: clamp(80px, 10vw, 150px);
    font-weight: 900;
    color: #A01515;
    opacity: 0.04;
    /* Very subtle */
    z-index: 0;
    pointer-events: none;
    user-select: none;
    letter-spacing: 10px;
    transform: rotate(-5deg);
    /* Dynamic tilt */
}





.card-icon-box {
    /* Removed Grid Props */
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #B71C1C 0%, #800000 100%);
    /* Depth Gradient */

    width: clamp(60px, 6vw, 100px);
    height: clamp(60px, 6vw, 100px);
    margin-bottom: 25px;
    /* Spacing below icon */

    /* Premium Circle Badge */
    border-radius: 50%;
    /* Circle */
    border: 4px solid #fff;
    /* White ring */
    box-shadow:
        0 8px 25px rgba(160, 21, 21, 0.4),
        0 0 0 1px rgba(160, 21, 21, 0.1);
    /* Subtle outer definition */
}



.trust-card .fa-heart {
    color: #FFFFFF;
    /* White Icon */
    font-size: clamp(24px, 3vw, 48px);
    margin: 0;
}

.card-icon-box .fa-handshake {
    color: #FFFFFF;
    font-size: clamp(36px, 4.5vw, 65px);
    /* Increased by ~50% */
    margin: 0;
}

.gold-indicator {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #FFD700, #B8860B);
    /* Gold Gradient */
    border-radius: 2px;
    margin: 0 auto 25px auto;
    /* Center and space */
}

/* Unwrap content so Title and Text hit the main grid */

.card-content {
    display: contents;
    position: relative;
    z-index: 1;
    /* Ensure text sits above watermark */
}


.card-title {
    /* Removed Grid Props */
    font-size: clamp(20px, 2.5vw, 36px);
    /* Balanced with Left Card */
    font-weight: 700;
    color: #800000;
    margin: 0 0 25px 0;
    /* More space below */
    line-height: 1.35;
    text-wrap: balance;
    width: 100%;
}



.big-trust {
    /* Desktop/Tablet: Equal Size (Inherit) */
    font-size: inherit;
    line-height: inherit;
    display: inline;
}

.mobile-only-break {
    display: none;
    /* Hidden on Desktop/Tablet */
}

@media screen and (max-width: 767px) {
    .mobile-only-break {
        display: inline;
        /* Force break on Mobile */
    }

    /* Mobile: Trust Title Bigger */
    .card-title {
        font-size: 28px;
        /* Reduced from 34px to 28px */
        line-height: 1.3;
    }

    /* Mobile: Warning Title Bigger */
    .trust-title {
        font-size: 29px;
        /* Reduced from 32px to 29px */
        line-height: 1.3;
        letter-spacing: -0.5px;
    }

    /* Mobile: Trust Word Bigger when Stacked */
    .big-trust {
        font-size: 1.3em;
        /* Relative to 34px -> ~44px */
        line-height: 1.1;
        display: inline-block;
        /* Stack nicely */
    }

    /* Mobile: Trust Description Bigger */
    .card-text {
        font-size: 17px;
        /* Bump from 15px */
    }
}

/* Dedicated break for Description to work on Tablets/Large Phones too */
.desc-break {
    display: none;
}

@media screen and (max-width: 1024px) {
    .desc-break {
        display: block;
        /* Robust break for text */
        content: "";
        margin: 0;
    }

    .hide-on-small {
        display: none !important;
    }
}



.card-text {
    /* Removed Grid Props */
    font-size: clamp(15px, 1.1vw, 18px);
    /* Professional Body Size */
    color: #555;
    line-height: 1.8;
    text-wrap: pretty;
    letter-spacing: 0.3px;
    margin: 15px auto 0 auto;
    width: 100%;
    max-width: 90%;
    /* Prevent text from hitting edges too hard */
}




/* CTA Banner - Calibrated + Beauty Polish */
.trust-cta {
    background: linear-gradient(135deg, #A01515 0%, #600000 100%);
    border-radius: 20px;
    padding: clamp(20px, 2vw, 60px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(10px, 1.5vw, 30px);
    margin-bottom: clamp(10px, 2vw, 30px);
    color: #FFFFFF;
    box-shadow: 0 15px 40px rgba(139, 0, 0, 0.4);
    position: relative;
    /* overflow: hidden;  <-- REMOVED to prevent clipping */
    text-align: center;
}


.cta-icon {
    font-size: clamp(28px, 3.5vw, 65px);
    color: #FFD700;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
    flex-shrink: 0;
}


.cta-text {
    /* 2.4vw Calibrated Fit for Single Line on Desktop */
    font-size: clamp(22px, 2.5vw, 60px);
    font-weight: 700;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    line-height: 1.5;
    /* Relaxed from 1.2 for Thai Vowels */
    letter-spacing: -0.5px;
    white-space: normal;
    /* Allow wrap if necessary */
    width: 100%;
    margin: 0;
    /* removed overflow: hidden/clip */
    transition: font-size 0.2s ease;
    padding: 5px 0;
    /* Extra vertical breathing room */
}


.mobile-break {
    display: none;
}

/* =============================================
   5. FOOTER
   ============================================= */
.trust-footer {
    text-align: center;
    color: #666;
    font-size: clamp(14px, 1.5vw, 18px);
    /* Adjusted size */
    max-width: 90%;
    margin: 0 auto;
    padding-bottom: 40px;
}

.warning-text {
    margin-bottom: 15px;
    line-height: 1.6;
}

.warning-icon {
    color: #A01515;
    margin-right: 5px;
    font-size: 1.2em;
}

.red-bold {
    color: #A01515;
    font-weight: 800;
}

/* Diagonal/Tilted Badge - Hanging Style */
.no-transfer-badge {
    position: absolute;
    /* Responsive Positioning */
    top: -25px;
    /* Slight bump for mobile */
    right: 20px;
    /* Reduced right for mobile */
    transform: rotate(4deg);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    /* High Contrast Warning Theme (Gold + Red) - GLOBAL APPLICATION */
    background: repeating-linear-gradient(45deg,
            #FFD700,
            #FFD700 10px,
            #FFC600 10px,
            #FFC600 20px);
    background-color: #FFD700;

    color: #A01515;
    /* Deep Red Text */

    /* Premium Definition - Mobile Start */
    border: 3px solid #FFFFFF;
    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.25),
        0 2px 10px rgba(160, 21, 21, 0.3),
        inset 0 0 10px rgba(255, 255, 255, 0.5);

    border-radius: 50px;
    padding: 8px 25px;

    /* Mobile Typography */
    font-weight: 800;
    /* Bold */
    font-size: clamp(13px, 3vw, 16px);
    /* Scalable Base */
    text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.4);
    gap: 8px;
    white-space: nowrap;
    z-index: 10;

    /* Animation Global */
    animation: floatBadge 3s ease-in-out infinite;
}

/* Icon Global Style */
.no-transfer-badge i {
    font-size: 1.1em;
    background: #A01515;
    color: #fff;
    width: 28px;
    /* Mobile Size */
    height: 28px;
    /* Mobile Size */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    margin-right: 5px;
}

/* Floaty Attention Animation - Global */
@keyframes floatBadge {
    0% {
        transform: rotate(4deg) translateY(0px);
    }

    50% {
        transform: rotate(4deg) translateY(-4px);
    }

    100% {
        transform: rotate(4deg) translateY(0px);
    }
}

/* =============================================
   Advanced Desktop Enhancement for Badge 
   (Size & Positioning Overrides ONLY)
   ============================================= */
@media screen and (min-width: 992px) {
    .no-transfer-badge {
        /* Larger Desktop Size */
        font-size: 26px;
        padding: 15px 45px;
        top: -40px;
        right: 40px;

        /* Desktop: Thicker Border & Stronger Shadow */
        border: 5px solid #FFFFFF;
        box-shadow:
            0 20px 50px rgba(0, 0, 0, 0.3),
            0 5px 15px rgba(160, 21, 21, 0.4),
            inset 0 0 20px rgba(255, 255, 255, 0.6);

        text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.6);
        letter-spacing: 0.5px;
    }

    .no-transfer-badge i {
        /* Desktop Icon Size */
        font-size: 1.2em;
        margin-right: 15px;
        width: 40px;
        height: 40px;
    }
}



/* =============================================
   6. RESPONSIVE OVERRIDES (MOBILE & TABLET)
   ============================================= */

/* Wrap CTA on Smaller Laptops/Tablets (below 1200px) */
@media screen and (max-width: 1200px) {
    .cta-text {
        white-space: normal;
        /* Allow wrap */
        font-size: clamp(20px, 4.5vw, 42px);
        text-align: left;
        line-height: 1.4;
        letter-spacing: normal;
        /* Beauty Polish: Balanced wrapping */
        text-wrap: balance;
    }

    .mobile-break {
        display: inline;
    }

    .trust-cta {
        flex-direction: column;
        text-align: center;
        padding: 30px 20px;
    }

    .cta-text {
        text-align: center;
    }
}

/* Mobile Header Overrides (< 767px) - Moved here for Cascade */
@media screen and (max-width: 767px) {
    .site-header {
        height: 60px;
        border-bottom-width: 2px;
    }

    .site-logo {
        max-height: 45px;
    }

    .header-container {
        padding: 0 15px;
        justify-content: space-between;
    }

    .logo-link-text {
        flex-grow: 1;
        justify-content: flex-start;
        /* Better for small screens than center */
        padding: 0 5px;
        margin-left: 0;
    }

    .logo-text {
        font-size: clamp(14px, 3.5vw, 20px) !important;
    }

    .header-contact {
        position: relative;
        left: auto;
        transform: none;
        /* Forced RIGHT PIN */
        margin-left: auto;
        margin-right: 5px;
    }

    .contact-label {
        display: block;
        font-size: 10px;
        margin-bottom: 2px;
        line-height: 1;
    }

    .contact-number {
        font-size: 14px;
    }

    .contact-icon {
        font-size: 18px;
    }

    .contact-link {
        gap: 6px;
    }

    .hero-section {
        margin-top: 60px;
    }
}

/* Very Small Mobile (< 360px) */
@media screen and (max-width: 360px) {
    .contact-label {
        display: none;
    }
}

.highlight-big {
    font-size: 1.3em;
    display: inline-block;
    margin-bottom: 5px;
}

/* =============================================
   Utility Classes
   ============================================= */
.mobile-br {
    display: none;
}

@media screen and (max-width: 767px) {
    .mobile-br {
        display: block;
    }
}

/* =============================================
   ZONE 3: TEAM SECTION
   ============================================= */
.team-section {
    padding: 60px 0;
    background: #FFF5F5;
    /* Global Soft Pink */
}

/* =============================================
   ZONE 4: VIDEO PORTFOLIO SECTION
   ============================================= */
.video-section {
    padding: 60px 0 20px 0;
    background: #FFF5F5;
    /* Global Soft Pink */
    text-align: center;
}

.video-container {
    max-width: 95%;
    /* Wider container for 6 items */
    margin: 0 auto;
    padding: 0 20px;
}

/* Header Styling */
.video-header {
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

.video-badge {
    display: inline-block;
    background: linear-gradient(135deg, #B22222 0%, #800000 100%);
    color: #FFD700;
    /* Gold Text */
    padding: 12px 40px;
    /* Larger Badge */
    border-radius: 50px;
    font-size: 20px;
    /* Larger Font */
    font-weight: 700;
    margin-bottom: 20px;
    box-shadow: 0 5px 20px rgba(128, 0, 0, 0.4);
    border: 3px solid #FFD700;
    /* Thicker Border */
    text-transform: uppercase;
    letter-spacing: 2px;
}

.video-title {
    font-family: 'Sarabun', sans-serif;
    font-size: clamp(60px, 12vw, 120px);
    /* MASSIVE TITLE */
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 20px;

    /* Premium Deep Blue Gradient */
    background: linear-gradient(to right, #002244, #00509E, #002244);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.2));
    /* Deeper Shadow */
}

.video-subtitle {
    font-size: clamp(20px, 4vw, 32px);
    /* Larger Subtitle */
    color: #444;
    margin-bottom: 50px;
    font-weight: 500;
    line-height: 1.6;
}

/* Social Buttons */
.header-social-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}

.social-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.social-btn i {
    font-size: 24px;
}

.tiktok-btn {
    background: #000;
    color: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.facebook-btn {
    background: #1877F2;
    color: #fff;
    box-shadow: 0 10px 20px rgba(24, 119, 242, 0.3);
}

.social-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* SEO Tags Removed as requested */

/* Video Grid */
.video-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    /* 6 Columns Desktop */
    gap: 20px;
}

.video-item {
    aspect-ratio: 9/16;
    background: #000;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #D4AF37;
    /* Gold Border */
}

.video-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

/* Highlighted Video (Must Watch) */
.video-item.highlight-video {
    border: 2px solid #FFD700;
    /* Gold Border */
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.6);
    /* Gold Glow */
    animation: goldPulse 2s infinite;
}

.video-item.highlight-video::before {
    content: "🔥 แนะนำ";
    position: absolute;
    top: 10px;
    right: 10px;
    background: linear-gradient(135deg, #FF0000 0%, #cc0000 100%);
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    z-index: 5;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    border: 1px solid #fff;
}

@keyframes goldPulse {
    0% {
        box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
    }

    50% {
        box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
    }

    100% {
        box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
    }
}

/* Local Video Player Styling */
.video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Ensures video fills the 9:16 card */
    display: block;
}

/* Facade / Overlay (Replaces .video-thumb) */
.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    /* Slight dim to make text pop */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    z-index: 2;
    transition: background 0.3s ease;
}

.video-item:hover .video-overlay {
    background: rgba(0, 0, 0, 0.1);
    /* Brighter on hover */
}

.video-thumb {
    width: 100%;
    height: 100%;
    /* Gradient Placeholder since we don't have images yet */
    background: linear-gradient(135deg, #1a1a1a 0%, #2c3e50 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
}

/* Colorful gradients for variety if desired, stick to dark for video feel */

.play-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
    border: 2px solid #fff;
    font-size: 24px;
    margin-bottom: 10px;
    transition: transform 0.3s ease, background 0.3s ease;
}

.video-item:hover .play-icon {
    transform: scale(1.1);
    background: rgba(212, 175, 55, 0.8);
    /* Gold hover */
    border-color: #D4AF37;
}

.video-label {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 10px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    font-size: 14px;
    font-weight: 500;
    color: white;
}

/* Responsive Grid */
@media screen and (max-width: 1024px) {
    .video-grid {
        grid-template-columns: repeat(3, 1fr);
        /* Tablet: 3 Cols */
    }
}

@media screen and (max-width: 767px) {
    .video-grid {
        grid-template-columns: repeat(2, 1fr);
        /* Mobile: 2 Cols */
        gap: 15px;
    }

    /* Reduce vertical spacing between Zone 3 and 4 on Mobile/Tablet */
    .team-section {
        padding-bottom: 20px !important;
    }

    .video-section {
        padding-top: 20px !important;
    }

    .video-title {
        font-size: 32px;
    }

    .video-subtitle {
        font-size: 16px;
        /* Reset for mobile readable */
        width: 100%;
        max-width: 100%;
        padding: 0 5px;
        /* Minimal padding */
    }

    .social-btn {
        padding: 10px 20px;
        font-size: 16px;
    }
}

/* Lightbox Styling */
.lightbox {
    display: none;
    /* Hidden by default */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(5px);
}

.lightbox-content {
    position: relative;
    width: 100%;
    max-width: 400px;
    /* TikTok width optimization */
    height: 90vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.close-lightbox {
    position: absolute;
    top: 20px;
    right: 20px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.5);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-lightbox:hover {
    color: #D4AF37;
    background: rgba(0, 0, 0, 0.8);
}

#tiktok-embed-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}

/* TikTok Embed Customization */
blockquote.tiktok-embed {
    margin: 0 !important;
    min-width: 325px !important;
    max-width: 100% !important;
}

/* =============================================
   ZONE 5: CONTACT US SECTION
   ============================================= */
.contact-section {
    padding: 20px 0 80px 0;
    background: #FFF5F5;
    /* Global Soft Pink to match Zone 3 & 4 */
    position: relative;
    overflow: hidden;
}

.contact-container {
    max-width: 95%;
    /* Maximized width for large screens */
    margin: 0 auto;
    padding: 0 60px 0 20px;
    /* Shift left slightly */
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 30px;
    /* Increased gap */
}

/* Left: Content Area (Now a Card) */
.contact-content {
    flex: 1;
    max-width: 100%;
    /* Card Styles */
    background: #fff;
    padding: 50px;
    border-radius: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    border: 1px solid #fff;
    /* Clean edge */
}

/* Wide Screen Optimization: Single Line Text & Typography */
@media screen and (min-width: 1200px) {

    .contact-title br,
    .contact-desc br {
        display: none;
        /* Hide breaks */
    }

    .contact-title .title-sub::after {
        content: " ";
    }

    .title-main {
        display: block;
        margin-left: 0;
        margin-top: 10px;
        font-size: clamp(24px, 2.3vw, 48px);
        line-height: 1.2;
        white-space: nowrap;
        /* Forced Single Line */
    }

    /* Enhance Subtitle Size on Desktop */
    .title-sub {
        font-size: 40px !important;
    }

    .contact-title {
        text-align: center;
    }

    .contact-desc {
        text-align: center;
        font-size: 26px;
        /* Larger Body */
        line-height: 1.8;
        /* Better Spacing */
        margin-top: 20px;
    }

    /* Widen QR Card */
    .qr-card {
        width: 450px;
    }
}

/* Badge Container */
.contact-badge-wrapper {
    text-align: center;
    margin-bottom: 20px;
    width: 100%;
}

.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: linear-gradient(135deg, #B22222 0%, #800000 100%);
    /* Premium Red Gradient */
    color: #FFD700;
    /* Gold Text */
    padding: 15px 40px;
    border-radius: 60px;
    font-size: 24px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(128, 0, 0, 0.4);
    border: 3px solid #FFD700;
    /* Gold Border */
    line-height: 1;
}

.badge-icon {
    color: #FFD700;
    /* Gold Icon */
    font-size: 1.2em;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
    transform: skew(-10deg);
}

/* Desktop: Make Badge MASSIVE */
@media screen and (min-width: 1024px) {
    .contact-badge {
        font-size: 56px;
        /* Super Massive text */
        padding: 25px 100px;
        /* Ultra padding */
        border-radius: 100px;
        margin-bottom: 30px;
        box-shadow: 0 15px 35px rgba(160, 21, 21, 0.2),
            0 6px 0 #E5D0D0;
        /* 3D effect */
        transition: transform 0.2s;
    }

    .contact-badge:hover {
        transform: translateY(-5px);
        /* Interact on hover */
    }

    .badge-icon {
        font-size: 70px;
        /* Gigantic icon */
    }

    /* Enhance Subtitle Size on Desktop */
    .title-sub {
        font-size: 48px !important;
        /* Larger than 24px base */
    }
}

.contact-title {
    font-family: 'Sarabun', sans-serif;
    color: #333;
    margin-bottom: 20px;
}

.title-sub {
    font-size: clamp(24px, 3vw, 30px);
    color: #000B1D;
    /* Darkest Blue */
    font-weight: 700;
}

.title-main {
    font-size: clamp(32px, 4vw, 48px);
    color: #A01515;
    font-weight: 800;
    line-height: 1.2;
    display: block;
    margin-top: 5px;
}

.contact-desc {
    font-size: 16px;
    color: #555;
    margin-bottom: 30px;
    line-height: 1.6;
}

/* Action Buttons */
.contact-actions {
    display: flex;
    gap: 20px;
    margin-bottom: 40px;
    justify-content: center;
}

.action-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 40px;
    border-radius: 12px;
    text-decoration: none;
    flex: 1;
    max-width: 400px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.action-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.btn-line {
    background: #06C755;
    /* Line Green */
    color: #fff;
    box-shadow: 0 5px 15px rgba(6, 199, 85, 0.3);
}

.btn-call {
    background: #fff;
    border: 2px solid #A01515;
    color: #A01515;
}

.action-btn i {
    font-size: 54px;
}

.btn-text {
    display: flex;
    flex-direction: column;
}

.btn-label {
    font-size: 18px;
    opacity: 0.9;
}

.btn-value {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.1;
}

/* Info Row */
.contact-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-top: 1px solid #eee;
    padding-top: 25px;
    flex-wrap: wrap;
    /* Ensure clean wrap on small screens */
}

.info-item {
    display: flex;
    gap: 15px;
    flex: 1;
    /* Allow items to share space */
    min-width: 250px;
}

.info-item i {
    font-size: 24px;
    color: #A01515;
    margin-top: 5px;
    background: #FFECEC;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.contact-badge-small {
    background: linear-gradient(135deg, #B22222 0%, #800000 100%);
    color: #FFD700;
    padding: 15px 30px;
    border-radius: 50px;
    font-size: 20px;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(128, 0, 0, 0.3);
    border: 2px solid #FFD700;
    display: flex;
    align-items: center;
    gap: 12px;
    white-space: nowrap;
}

.contact-badge-small i {
    color: #FFD700;
}

.info-text {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    line-height: 1.5;
}

.info-text strong {
    color: #333;
    font-size: 18px;
}

/* Right: QR Card */
.contact-qr-wrapper {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
}

.qr-card {
    background: #fff;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
    text-align: center;
    width: 320px;
    border: 1px solid #eee;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.qr-header {
    font-size: 20px;
    color: #333;
    margin-bottom: 20px;
}

.qr-image-box {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
    border-radius: 15px;
    border: 2px dashed #06C755;
    padding: 10px;
}

.qr-code-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
}

.qr-center-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateY(-6px);
    background: #fff;
    color: #06C755;
    font-size: 30px;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.scan-me-btn {
    display: inline-block;
    padding: 10px 30px;
    background: #fff;
    color: #06C755;
    border: 1px solid #06C755;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.2s;
}

.scan-me-btn:hover {
    background: #06C755;
    color: #fff;
}

/* =============================================
   MOBILE POPUP STYLES
   ============================================= */
.contact-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.contact-popup-overlay.active {
    display: flex;
    opacity: 1;
}

.contact-popup-card {
    background: #fff;
    width: 100%;
    max-width: 340px;
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transform: translateY(20px);
    transition: transform 0.3s ease;
}

.contact-popup-overlay.active .contact-popup-card {
    transform: translateY(0);
}

.popup-close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 36px;
    height: 36px;
    background: #f5f5f5;
    color: #333;
    font-size: 24px;
    line-height: 36px;
    border-radius: 50%;
    cursor: pointer;
    font-weight: 700;
    transition: background 0.2s;
}

.popup-close-btn:hover {
    background: #ddd;
}

.popup-qr {
    margin-bottom: 25px;
    width: 200px;
    height: 200px;
}

.popup-btn {
    width: 100%;
    background: #06C755;
    color: #fff;
    padding: 14px;
    border-radius: 12px;
    font-size: 18px;
    display: block;
    box-sizing: border-box;
}

/* =============================================
   RESPONSIVE DESIGN (Zone 5)
   ============================================= */

/* Tablet & Medium Screen Optimization (Horizontal Fluid Layout) */
@media screen and (min-width: 768px) and (max-width: 1199px) {
    .contact-container {
        padding: 0 2vw;
        /* Fluid padding */
        gap: 2vw;
        /* Fluid gap */
        align-items: stretch;
        /* Keep cards equal height like desktop */
    }

    .contact-content {
        padding: 3vw;
        /* Fluid internal padding */
    }

    /* Fluid Typography - Scales with screen width */
    .title-main {
        font-size: 3.5vw;
        /* Scales down from ~42px */
        margin-top: 0.5vw;
    }

    .title-sub {
        font-size: 2.5vw !important;
        /* Scales down from ~30px */
        line-height: 1.3;
    }

    .contact-desc {
        font-size: 1.6vw;
        /* ~16px at 1000px */
        margin-bottom: 2vw;
        line-height: 1.5;
    }

    /* Fluid Buttons */
    .contact-actions {
        gap: 1.5vw;
        margin-bottom: 2.5vw;
    }

    .action-btn {
        padding: 1.5vw 2vw;
        gap: 1vw;
        border-radius: 1vw;
    }

    .action-btn i {
        font-size: 4vw;
    }

    .btn-label {
        font-size: 1.4vw;
    }

    .btn-value {
        font-size: 2vw;
    }

    /* Fluid Info Row */
    .contact-info-row {
        gap: 1.5vw;
        padding-top: 2vw;
    }

    .info-item {
        min-width: auto;
        gap: 1vw;
    }

    .info-item i {
        width: 3.5vw;
        height: 3.5vw;
        font-size: 1.8vw;
    }

    .info-text {
        font-size: 1.4vw;
    }

    .info-text strong {
        font-size: 1.6vw;
    }

    /* Fluid Badge in Footer */
    .contact-badge-small {
        padding: 1vw 2vw;
        font-size: 1.6vw;
        gap: 1vw;
    }

    /* Fluid QR Card */
    .qr-card {
        width: 32vw;
        /* Proportional width */
        padding: 2.5vw;
        border-radius: 2vw;
    }

    .qr-image-box {
        width: 16vw;
        height: 16vw;
        margin-bottom: 1.5vw;
    }

    .qr-header {
        font-size: 2vw;
        margin-bottom: 1.5vw;
    }

    .scan-me-btn {
        padding: 0.8vw 2.5vw;
        font-size: 1.5vw;
    }
}

/* Default State: Hidden on Desktop/Tablet */
.mobile-cta-text {
    display: none;
}

@media screen and (max-width: 767px) {
    .contact-container {
        flex-direction: column;
        text-align: center;
        gap: 30px;
        padding: 0 10px;
        /* Minimize side padding for full width */
        width: 100%;
        max-width: 100%;
    }

    .contact-content {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40px 20px;
        /* Optimize internal padding */
        border-radius: 20px;
    }

    .contact-actions {
        width: 100%;
        justify-content: center;
    }

    .contact-info-row {
        flex-direction: column;
        align-items: center;
        width: 100%;
        text-align: left;
    }

    .info-item {
        width: 100%;
        max-width: 100%;
        /* Allow full width */
        background: #f9f9f9;
        padding: 15px;
        border-radius: 10px;
    }

    .contact-qr-wrapper {
        width: 100%;
        justify-content: center;
    }

    .contact-section {
        padding: 20px 0;
        /* Reduced from 50px to 20px */
    }

    /* Force exact breaking */
    .contact-title>br {
        display: none;
    }

    .title-main br {
        display: block;
    }

    .contact-desc br {
        display: none;
        /* Keep hiding desc breaks */
    }

    .title-main {
        /* Use nowrap to FORBID breaking mid-sentence */
        white-space: nowrap;

        /* Adjusted Clamp: Start smaller (18px) to fit 320px screens, grow fast */
        font-size: clamp(18px, 6.5vw, 38px);

        margin-top: 5px;
        line-height: 1.4;
        width: 100%;
        display: block;
    }

    /* Minimize Container Constraints on Mobile */
    .contact-container {
        flex-direction: column;
        text-align: center;
        gap: 20px;
        padding: 0 4px;
        /* Almost edge to edge */
        width: 100%;
        max-width: 100%;
    }

    .contact-content {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40px 10px;
        /* Reduced internal side padding */
        border-radius: 20px;
        overflow: hidden;
        /* Safety */
    }

    .title-sub {
        display: block;
        margin-bottom: 5px;
        font-size: 18px;
        /* Ensure sub is legible */
    }

    /* Actions: Stack Vertically on Mobile */
    .contact-actions {
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        margin-bottom: 15px;
        /* Reduced from 40px */
    }

    .contact-info-row {
        padding-top: 15px;
        /* Reduced from 25px */
        gap: 10px;
        /* Reduced gap from 20px */
    }

    .action-btn {
        width: 100%;
        max-width: 100%;
        white-space: nowrap;
        /* Force single line */
        flex-wrap: nowrap;
        /* Prevent flex wrapping */
        padding: 15px 10px;
        /* Adjust padding if needed */
    }

    .btn-value {
        white-space: nowrap;
        /* Triple check */
    }

    /* HIDE QR CARD ON MOBILE (Because Popup will take over) */
    .contact-qr-wrapper {
        display: none !important;
    }

    /* Mobile Only CTA Text for Popup */
    .mobile-cta-text {
        display: block;
        margin-top: 10px;
        margin-bottom: 5px;
        color: #555;
        font-size: 14px;
        font-weight: 600;
        animation: pulseText 1.5s infinite ease-in-out;
        text-align: center;
    }

    @keyframes pulseText {
        0% {
            transform: scale(1);
            opacity: 0.8;
        }

        50% {
            transform: scale(1.05);
            opacity: 1;
            color: #06C755;
        }

        100% {
            transform: scale(1);
            opacity: 0.8;
        }
    }
}

/* =========================================
   ZONE 6 (ISOLATED STYLES) - DO NOT NEST
   ========================================= */
.z6-section {
    padding: 40px 0 80px 0;
    /* Reduced top padding to move up */
    background-color: #FFF5F5;
    /* Global Soft Pink */
    text-align: center;
}

.z6-container {
    max-width: 95%;
    /* Use 95% of screen for maximum fullness */
    margin: 0 auto;
    padding: 0 20px;
}

.z6-header {
    margin-bottom: 30px;
    /* Reduced from 50px */
}

.z6-badge {
    display: inline-block;
    background: linear-gradient(135deg, #FF8C00 0%, #FF4500 100%);
    /* Orange Gradient */
    color: #fff;
    padding: 15px 40px;
    /* Larger badge padding */
    border-radius: 50px;
    font-size: 30px;
    /* Increased from 22px */
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(255, 69, 0, 0.4);
    /* Orange shadow */
}

.z6-title {
    font-size: 80px;
    /* Increased from 60px (Gigantic!) */
    background: linear-gradient(135deg, #B22222 0%, #FF4500 100%);
    /* Red to Orange Gradient */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 20px;
    font-weight: 800;
    /* Bolder */
    line-height: 1.1;
    color: #A01515;
    /* Fallback */
    text-shadow: 0 4px 15px rgba(160, 21, 21, 0.1);
}

.z6-subtitle {
    color: #666;
    font-size: 30px;
    /* Increased from 22px */
    margin-bottom: 50px;
}

/* Grid Layout (Desktop Default: 4 Columns) */
.z6-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    /* Wider gap */
}

/* Card Styling */
.z6-card {
    background: #fff;
    border: 3px solid #ca1c1c;
    /* Thicker border */
    border-radius: 25px;
    /* More rounded */
    padding: 40px 30px;
    /* Bigger padding */
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s, box-shadow 0.3s;
    height: 100%;
}

.z6-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(202, 28, 28, 0.2);
}

.z6-icon-wrapper {
    width: 80px;
    /* Larger icon circle */
    height: 80px;
    background: #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.z6-icon {
    font-size: 36px;
    /* Larger icon */
    color: #A01515;
}

.z6-card-title {
    font-size: 28px;
    /* Increased from 20px */
    color: #A01515;
    margin-bottom: 15px;
    font-weight: 700;
}

.z6-card-desc {
    font-size: 18px;
    /* Increased from 14px (Readable!) */
    color: #333;
    line-height: 1.6;
    margin-bottom: 25px;
    flex-grow: 1;
}

.z6-card-highlight {
    background: #fff8e1;
    color: #b77b10;
    padding: 10px 20px;
    border-radius: 15px;
    font-size: 16px;
    /* Larger */
    font-weight: 600;
    margin-bottom: 20px;
    width: 100%;
}

.z6-card-action {
    color: #A01515;
    font-weight: 700;
    font-size: 18px;
    /* Larger */
    cursor: pointer;
    transition: color 0.2s;
}

.z6-card-action:hover {
    color: #d92525;
    text-decoration: underline;
}

/* Tablet & Mobile (max-width: 1199px) -> 2 Columns & No Hover */
@media screen and (max-width: 1199px) {
    .z6-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* Disable hover animation on mobile/tablet */
    .z6-card:hover {
        transform: none;
        box-shadow: none;
        /* Restore to default or remove hover shadow */
    }
}

/* Mobile Specific Tweaks (max-width: 767px) -> Keep 2 Columns, Adjust Sizes Back Down */
@media screen and (max-width: 767px) {
    .z6-section {
        padding: 40px 0;
    }

    .z6-container {
        max-width: 100%;
        padding: 0 10px;
    }

    .z6-grid {
        grid-template-columns: repeat(2, 1fr);
        /* Enforce 2 cols */
        gap: 10px;
    }

    .z6-card {
        padding: 15px 10px;
        border-radius: 15px;
        border-width: 2px;
        /* Thinner border for mobile */
    }

    .z6-icon-wrapper {
        width: 45px;
        height: 45px;
        margin-bottom: 10px;
    }

    .z6-icon {
        font-size: 18px;
    }

    .z6-title {
        font-size: 38px;
        /* Increased from 35px */
    }

    .z6-subtitle {
        font-size: 18px;
        /* Corrected: Increased to 18px as requested */
        margin-bottom: 30px;
    }

    .z6-badge {
        font-size: 14px;
        padding: 5px 15px;
    }


    .z6-card-title {
        font-size: 16px;
        /* Back to mobile size */
        margin-bottom: 5px;
    }

    .z6-card-desc {
        font-size: 12px;
        /* Back to mobile size */
        margin-bottom: 10px;
        line-height: 1.25;
        /* Tighter line height to save space */
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        /* Standard property */
        /* Show fewer lines on mobile to save vertical space */
        -webkit-box-orient: vertical;
        box-orient: vertical;
        overflow: hidden;
    }

    .z6-card-highlight {
        font-size: 11px;
        /* Increased for better legibility */
        padding: 4px 6px;
        margin-bottom: 8px;
    }


}

/* Eye-catching Link Button (Zone 6 Only) */
.z6-link-btn {
    color: #A01515;
    font-weight: 800;
    /* Extra Bold */
    text-decoration: none;
    font-size: 18px;
    /* Default Desktop Size */
    border-bottom: 2px solid #A01515;
    /* Underline Style */
    padding-bottom: 2px;
    transition: all 0.3s ease;
    display: inline-block;
}

.z6-link-btn:hover {
    color: #FF4500;
    border-color: #FF4500;
    transform: scale(1.05);
    /* Slight pop */
}

@media screen and (max-width: 767px) {
    .z6-link-btn {
        font-size: 14px;
        /* Mobile Size */
    }
}

/* =========================================
   ZONE 6 LANDSCAPE FIXES
   (Prevents weird stretching on rotated phones)
   ========================================= */
@media screen and (max-height: 500px) and (orientation: landscape) {
    .z6-section {
        padding: 20px 0;
        /* Minimal padding */
    }

    .z6-grid {
        grid-template-columns: repeat(4, 1fr);
        /* Switch to 4 cols on landscape mobile to save vertical scroll */
        gap: 10px;
    }

    .z6-card {
        padding: 10px 5px;
    }

    .z6-icon-wrapper {
        width: 35px;
        height: 35px;
        margin-bottom: 5px;
    }

    .z6-icon {
        font-size: 16px;
    }

    .z6-card-desc {
        display: none;
        /* Hide description on landscape mobile to fit screen */
    }

    .z6-card-highlight {
        margin-bottom: 5px;
    }
}

/* =============================================
   ZONE 7: ATMOSPHERE / PORTFOLIO (Infinite Train)
   ============================================= */
.z7-section {
    padding: 60px 0;
    background: #FFF5F5;
    /* Global Pink to match other zones */
    content-visibility: auto;
    contain-intrinsic-size: 1000px;
    text-align: center;
    overflow: hidden;
}

.z7-container {
    width: 100%;
    /* Full width for the train effect */
    max-width: 100%;
    padding: 0;
    /* No padding to let train touch edges */
    margin: 0;
}

.z7-header {
    margin-bottom: 50px;
    padding: 0 15px;
    /* Keep header strictly contained */
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
    /* Ensure header stays above potential slider elements */
}

/* Updated Badge: Premium Gold/Orange */
.z7-badge {
    display: inline-block;
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    /* Gold to Orange */
    color: #fff;
    padding: 15px 45px;
    /* Larger Padding */
    border-radius: 50px;
    font-size: 40px;
    /* Much Larger Text */
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(255, 165, 0, 0.4);
    font-weight: bold;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

/* Updated Title: Gradient & Larger */
/* Updated Title: Gradient & Larger */
.z7-title {
    font-size: 60px;
    font-weight: 800;
    /* Red-Orange Gradient (User Request) */
    background: linear-gradient(135deg, #FF4500 0%, #D50000 100%);
    /* OrangeRed to Vivid Red */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
    filter: drop-shadow(0 2px 2px rgba(213, 0, 0, 0.15));
}

/* MANUAL CAROUSEL SLIDER */
.z7-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    /* Full Width */
    margin: 20px 0;
    /* Vertical Margin */
    padding: 30px 0;
    /* Space inside lines */
    /* Edge to Edge */

    /* Decoration: Premium Gradient Fade Lines */
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, transparent 0%, #FF4500 20%, #D50000 80%, transparent 100%) 1;
}

/* Navigation Buttons (Red-Orange) */
.z7-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    /* Red-Orange Gradient */
    background: linear-gradient(135deg, #FF4500 0%, #D50000 100%);
    color: #fff;
    /* White Icon */
    border: 2px solid #fff;
    /* White Border for separation */
    border-radius: 50%;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    box-shadow: 0 5px 20px rgba(213, 0, 0, 0.4);
    /* Red Shadow */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.z7-nav-btn:hover {
    background: linear-gradient(135deg, #FF6F00 0%, #FF3D00 100%);
    /* Brighter Orange on Hover */
    transform: translateY(-50%) scale(1.15);
    box-shadow: 0 0 25px rgba(255, 69, 0, 0.6);
}

.z7-nav-btn i {
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.2));
}

.z7-prev {
    left: 30px;
}

/* Floating inside */
.z7-next {
    right: 30px;
}

@media screen and (max-width: 767px) {
    .z7-wrapper {
        padding: 0;
    }

    .z7-nav-btn {
        width: 40px;
        height: 40px;
        font-size: 18px;
        /* background: rgba(255, 255, 255, 0.6); REMOVED to inherit gradient */
    }

    .z7-prev {
        left: 5px;
    }

    .z7-next {
        right: 5px;
    }
}

.z7-slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    /* Restore Snap */
    scroll-behavior: smooth;
    gap: 20px;
    padding-bottom: 20px;

    /* Hide Scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
}

.z7-slider::-webkit-scrollbar {
    display: none;
}

.z7-slider:active {
    cursor: grabbing;
}

.z7-slide {
    flex: 0 0 auto;
    /* Desktop: Vertical Portrait Mode */
    width: 340px;
    height: 500px;
    /* Increased Height for Vertical Images */

    margin-right: 20px;
    /* Spacing between carriages */
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border: 3px solid #fff;
    /* White border as requested/polished */
    background: #fff;
    cursor: pointer;
    /* Indicate clickable */
    transition: transform 0.3s ease;
}

.z7-slide:hover {
    transform: scale(1.02);
    /* Subtle scale on hover */
    z-index: 10;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.z7-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* pointer-events: none; REMOVED to allow clicking */
}

/* Image Lightbox Styles */
.img-lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.img-lightbox img {
    max-width: 90%;
    max-height: 90vh;
    /* Taller lightbox for vertical images */
    border-radius: 10px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    animation: zoomIn 0.3s ease;
}

.img-lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.img-lightbox-close:hover {
    color: #FF4500;
}

@keyframes zoomIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* =========================================
   ZONE 7 RESPONSIVE
   ========================================= */
@media screen and (max-width: 1024px) {

    /* Tablet: Adjust size slightly but keep vertical */
    .z7-slide {
        width: 280px;
        height: 420px;
    }
}

@media screen and (max-width: 767px) {
    .z7-section {
        padding: 5px 0;
        /* Move UP strongly */
    }

    .z7-badge {
        margin-bottom: 5px;
        /* Badge closer to image */
        font-size: 18px;
        /* Slightly smaller for proportion */
        padding: 8px 25px;
    }

    .z7-header {
        margin-bottom: 10px;
        /* Reduce overall header gap */
    }

    .z7-title {
        font-size: 32px;
        display: none;
        /* Ensure hidden if logic fails, but HTML removed it anyway */
    }

    .z7-slider {
        gap: 15px;
        /* Slight gap */
        padding: 0 5vw;
        /* Padding to center the active slide if width < 100% */
        scroll-padding: 0 5vw;
        /* For snap alignment */
    }

    .z7-slide {
        /* Mobile: Vertical Portrait Mode */
        width: 75vw;
        /* Narrower width for context */
        height: auto;
        aspect-ratio: 3/4;
        /* Explicit Vertical Ratio */

        scroll-snap-align: center;
        /* Snap to center */
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        margin-right: 0;
        /* Clear margin */
    }

    .z7-slide:hover {
        transform: none;
    }
}

/* =============================================
   RE-APPLIED FIXES (Jan 20)
   ============================================= */

/* 1. Team Name Fix for Mobile (Single Line) */
@media screen and (max-width: 767px) {
    .team-name {
        font-size: 11px !important;
        /* Force override */
        white-space: nowrap !important;
        margin-bottom: 3px;
        line-height: 1.2;
    }
}

/* 2. Navigation Menus (New) */

/* Navigation Menu - Removed */

/* Menu Toggle (Hamburger) - Show on Desktop as requested */
.menu-toggle {
    display: flex;
    /* Changed from none to flex */
    /* Show on Desktop */
    font-size: 28px;
    color: #333;
    cursor: pointer;
    flex-shrink: 0;
    margin-left: 20px;
}

/* Mobile Menu Overlay - FLOATING CARDS ONLY */
.mobile-menu-overlay {
    position: absolute;
    top: 75px;
    right: 15px;
    left: auto;
    width: auto;
    min-width: 240px;
    /* Transparent Container - No Background */
    background: transparent;
    box-shadow: none;
    border: none;
    z-index: 999;
    padding: 0;
    /* Animation Properties */
    transform: translateY(-15px) scale(0.95);
    opacity: 0;
    visibility: hidden;
    /* GPU Accelerated Transition */
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease, visibility 0.2s;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* Hide the old close button container */
.mobile-menu-header {
    display: none;
}

.mobile-menu-list {
    list-style: none;
    padding: 10px 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    /* Remove large gap */
}

/* Menu Items - PREMIUM PEARL CARD STYLE */
.mobile-link {
    text-decoration: none;
    color: #444;
    font-size: 15px;
    font-weight: 700;
    /* Bold font for readability */
    font-family: 'Sarabun', sans-serif;
    display: flex;
    align-items: center;
    padding: 12px 15px;
    margin: 8px 0;
    /* Pearl/Cream Gradient to separate from white page */
    background: linear-gradient(to right, #ffffff, #fffdf5);
    border-radius: 12px;
    /* Stronger Shadow */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
    /* Gold Border All Around */
    border: 1px solid #ebdcb2;
    border-left: 5px solid #D4AF37;
    /* Thicker Accent */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
    overflow: hidden;
    /* Smooth fonts */
    -webkit-font-smoothing: antialiased;
}

.mobile-link i {
    width: 32px;
    height: 32px;
    font-size: 16px;
    color: #8B6508;
    /* Darker Gold Icon */
    margin-right: 12px;
    background: #fff8e1;
    /* Light Gold BG */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    transition: all 0.3s ease;
    border: 1px solid rgba(212, 175, 55, 0.2);
}

/* Hover Effect - Hardware Accelerated */
.mobile-link:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 25px rgba(139, 101, 8, 0.25);
    background: #ffffff;
    border-color: #D4AF37;
    border-left-color: #A01515;
    /* Red Accent on Hover */
}

.mobile-link:hover i {
    background: #D4AF37;
    color: #fff;
    transform: rotate(-10deg) scale(1.1);
    box-shadow: 0 4px 10px rgba(212, 175, 55, 0.4);
}

.mobile-link:active {
    transform: scale(0.98);
}

/* Highlighting the Text on hover */
.mobile-link:hover {
    color: #8B6508;
}

/* Responsive Navigation Logic */
@media screen and (max-width: 1200px) {
    .nav-item-optional {
        display: none;
    }
}

@media screen and (max-width: 900px) {
    .site-nav {
        display: none;
    }

    .menu-toggle {
        display: flex;
        /* Show Hamburger */
    }

    .header-socials {
        display: flex;
        gap: 10px;
        margin-right: 15px;
    }

    .header-contact {
        margin-right: 15px;
    }
}

/* =============================================
   ZONE 8: STEPS & FAQ & REVIEWS (Reconstructed)
   ============================================= */
.z8-section {
    padding: 60px 0;
    background: #fdfdfd;
}

.z8-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.z8-title {
    font-size: 32px;
    font-weight: 700;
    color: #333;
    margin-bottom: 30px;
    position: relative;
    padding-left: 15px;
    border-left: 5px solid #A01515;
}

/* Accordion Styles */
.z8-faq-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.z8-faq-item {
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.z8-faq-btn {
    width: 100%;
    padding: 15px 20px;
    background: #fff;
    border: none;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    color: #444;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s;
}

.z8-faq-btn:hover {
    background: #f9f9f9;
}

.z8-faq-icon {
    transition: transform 0.3s;
}

.z8-faq-item.active .z8-faq-icon {
    transform: rotate(180deg);
}

/* Reviews Styling */
.z8-reviews {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.z8-reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.z8-review-head {
    margin: 0;
    font-size: 18px;
    color: #333;
}

.z8-review-head i {
    color: #FF4500;
    /* Orange-Red Star */
    margin-right: 8px;
}

/* Nav Controls Container */
.z8-nav-controls {
    display: flex;
    gap: 10px;
}

/* Updated Slider Viewport (was z8-reviews-wrapper in old css, now matched to HTML) */
.z8-slider-viewport {
    overflow: hidden;
    padding: 10px 5px;
    margin: 0 -5px;
}

.z8-review-track {
    display: flex;
    gap: 20px;
    transition: transform 0.3s ease-out;
}

.z8-review-card {
    flex: 0 0 calc(100% - 10px);
    /* Mobile Default: 1 card wide */
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    gap: 15px;
    border: 1px solid #f0f0f0;
    align-items: center;
}

.z8-r-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

.z8-r-content strong {
    display: block;
    color: #333;
    margin-bottom: 2px;
}

.z8-stars {
    color: #FFC107;
    font-size: 14px;
    margin-bottom: 8px;
}

.z8-r-content p {
    font-size: 14px;
    color: #555;
    line-height: 1.4;
    display: -webkit-box;
    display: box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    /* Standard property */
    -webkit-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
}

/* Nav Buttons - Reset to Static for Header Placement */
.z8-nav-btn {
    position: static;
    /* Fixed: No longer absolute */
    background: #fff;
    border: 1px solid #FF4500;
    /* Orange-Red Border */
    color: #FF4500;
    /* Orange-Red Icon */
    width: 36px;
    /* Slightly larger */
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(255, 69, 0, 0.15);
    /* Soft Orange Shadow */
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    /* Larger Icon */
    transform: none;
}

.z8-nav-btn:hover {
    background: #FF4500;
    /* Orange-Red Glow */
    color: #fff;
    box-shadow: 0 5px 15px rgba(255, 69, 0, 0.4);
    /* Stronger Shadow */
    transform: translateY(-2px);
}

/* Remove old positioning IDs */
#review-prev,
#review-next {
    left: auto;
    right: auto;
}


/* Refined FAQ Answer Typography */
.z8-faq-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    /* Smooth slide */
    background: #fdfdfd;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.z8-faq-item.active .z8-faq-body {
    max-height: 500px;
    /* Generous max-height */
    border-top: 1px solid #f0f0f0;
}

.z8-faq-body p {
    padding: 15px 20px;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}

/* Desktop override for cards */
@media screen and (min-width: 901px) {
    .z8-review-card {
        flex: 0 0 calc(50% - 10px);
        /* 2 cards on desktop */
    }
}


/* MOBILE POPUP LOGIC for Zone 8 */
.z8-popup-trigger {
    display: none;
    /* Hidden on desktop */
    margin-top: 2px;
}

/* FIXED: Added width to prevent collapse */
.z8-step-card {
    width: 100%;
    box-sizing: border-box;
}

/* Mobile Responsive */
@media screen and (max-width: 900px) {
    .z8-container {
        grid-template-columns: 1fr;
    }

    .z8-review-card {
        flex: 0 0 100%;
        /* 1 card per view */
    }
}

@media screen and (max-width: 767px) {

    /* Hide inline content on mobile */
    .z8-inline-content {
        display: none;
    }

    /* Show Trigger Button */
    .z8-popup-trigger {
        display: block;
        width: 100%;
        padding: 15px;
        background: #A01515;
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: bold;
        cursor: pointer;
        margin-top: 20px;
    }

    /* Popup Wrapper */
    .z8-popup-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        z-index: 99999;
        overflow-y: auto;
        padding: 20px;
        transform: translateY(100%);
        transition: transform 0.3s ease;
        display: block;
        /* Ensure it exists in DOM */
    }

    .z8-popup-wrapper.active-popup {
        transform: translateY(0);
    }

    .z8-popup-close {
        position: absolute;
        top: 15px;
        right: 15px;
        font-size: 30px;
        background: none;
        border: none;
        cursor: pointer;
        color: #333;
    }

    /* Reveal content inside popup */
    .z8-popup-wrapper .z8-inline-content {
        display: block;
    }
}


/* =============================================
   ZONE 9: FOOTER (Reconstructed)
   ============================================= */
.z9-footer {
    background: #1a1a1a;
    color: #aaa;
    padding: 60px 0 20px;
    font-size: 14px;
}

.z9-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.z9-top {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 40px;
    margin-bottom: 40px;
    padding-bottom: 40px;
}

.z9-logo-text {
    font-size: 30px;
    color: #fff;
    margin-bottom: 20px;
}

.z9-logo-text span {
    color: #A01515;
}

.z9-warning h4 {
    color: #FFC107;
    margin-bottom: 10px;
    font-size: 16px;
}

.z9-warning p {
    line-height: 1.6;
    margin-bottom: 20px;
}

.z9-highlight-text {
    color: #D4AF37;
}

.z9-socials {
    display: flex;
    gap: 15px;
}

.z9-socials a {
    width: 40px;
    height: 40px;
    background: #333;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s;
    font-size: 18px;
    text-decoration: none;
}

.z9-socials a:hover {
    background: #A01515;
    transform: translateY(-3px);
}

.z9-col h3 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 18px;
    position: relative;
    padding-bottom: 10px;
}

.z9-col h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: #A01515;
}

.z9-col ul {
    list-style: none;
    padding: 0;
}

.z9-col ul li {
    margin-bottom: 12px;
}

.z9-col ul li a {
    color: #aaa;
    text-decoration: none;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.z9-col ul li a i {
    font-size: 10px;
    color: #555;
    transition: color 0.2s;
}

.z9-col ul li a:hover {
    color: #fff;
}

.z9-col ul li a:hover i {
    color: #A01515;
}

/* Contact Buttons in Footer */
.z9-contact-btn {
    display: block;
    background: #2a2a2a;
    color: #ddd;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    text-decoration: none;
    transition: background 0.2s;
    font-weight: 500;
}

.z9-contact-btn:hover {
    background: #333;
    color: #fff;
}

/* Keywords */
.z9-keywords {
    margin-bottom: 30px;
    text-align: center;
}

.z9-kw-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 20px;
}

.z9-kw-list span {
    color: #666;
    font-size: 12px;
}

.z9-kw-list span i {
    margin-right: 5px;
    color: #444;
}

.z9-highlight {
    color: #D4AF37 !important;
    font-weight: bold;
}

/* Copyright */
.z9-copyright {
    text-align: center;
    color: #666;
    font-size: 13px;
}

/* Province Modal (Hidden) */
.z9-modal {
    display: none;
    /* JS handles flex */
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    transition: opacity 0.3s;
    align-items: center;
    justify-content: center;
}

.z9-modal.show {
    opacity: 1;
}

.z9-modal-content {
    background-color: #fff;
    width: 90%;
    max-width: 1000px;
    max-height: 90vh;
    border-radius: 10px;
    overflow-y: auto;
    padding: 30px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.z9-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
    margin-bottom: 20px;
}

.z9-modal-header h3 {
    margin: 0;
    color: #A01515;
    font-size: 20px;
}

.z9-close-modal {
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.z9-close-modal:hover {
    color: #333;
}

.z9-province-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 15px;
}

.z9-province-grid a {
    color: #555;
    text-decoration: none;
    font-size: 13px;
    padding: 5px;
    border-radius: 4px;
    transition: background 0.2s;
}

.z9-province-grid a:hover {
    background: #f5f5f5;
    color: #A01515;
}


/* Footer Responsive */
@media screen and (max-width: 900px) {
    .z9-top {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 600px) {
    .z9-top {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .z9-brand,
    .z9-menu,
    .z9-services,
    .z9-contact {
        text-align: center;
    }

    .z9-col h3::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .z9-col ul li a {
        justify-content: center;
    }

    .z9-socials {
        justify-content: center;
    }
}

/* =============================================
   FINAL FIXES (Footer Red Gradient & Text Block)
   ============================================= */

/* 1. Team Coverage Text Styling (Premium Card Style) */
.team-coverage-box {
    margin-top: 40px;
    padding: 30px;
    background: #fff;
    border-radius: 20px;
    border: 2px solid #D4AF37;
    /* Gold Border */
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.team-coverage-box::before {
    /* Optional: Subtle top sheen */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #D4AF37, #FFF5F5, #D4AF37);
    opacity: 0.5;
}

.coverage-text {
    font-size: 16px;
    color: #444;
    line-height: 1.8;
}

.coverage-highlight {
    color: #A01515;
    /* Red Brand Color */
    font-weight: 700;
    font-size: 20px;
    display: block;
    margin-bottom: 5px;
    /* Reduced to minimum for tight spacing */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.35;
    /* Slightly tighter line height */
}

/* Desktop optimization for coverage highlight */
@media screen and (min-width: 901px) {
    .coverage-highlight {
        font-size: 26px;
        /* Larger on desktop */
        letter-spacing: 1.5px;
        /* Wider spacing */
        white-space: nowrap;
        /* Ensure single line if possible */
    }
}

/* 2. RESTORING RED GRADIENT FOOTER (Zone 9) */
.z9-footer {
    background: linear-gradient(135deg, #8B0000 0%, #300000 100%) !important;
    color: #ffd700;
    /* Gold text basis */
    padding: 60px 0 20px;
    font-size: 14px;
    border-top: 5px solid #D4AF37;
    /* Gold border top */
}

/* Footer Headers - White/Gold */
.z9-logo-text {
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.z9-logo-text span {
    color: #D4AF37;
    /* Gold accent */
}

.z9-col h3 {
    color: #fff;
    /* White headers */
    border-bottom: 2px solid #D4AF37;
    /* Gold underline */
}

/* =============================================
   ZONE 8 ULTIMATE FIX (Grid-Based Card Layout)
   ============================================= */

/* 1. Ensure Container is FULL WIDTH (Block) */
.z8-container {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    padding: 0 20px !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}

/* 2. Ensure Inner Layout is 2-Column Grid */
.z8-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* 3. COLUMNS RESET */
.z8-left,
.z8-right {
    width: auto !important;
    min-width: 0 !important;
    /* Prevent grid blowout */
}

/* 4. CARD LAYOUT - SWITCH TO GRID (More Robust) */
.z8-step-card {
    display: grid !important;
    grid-template-columns: 60px 1fr !important;
    /* Fixed num width + Fluid text */
    gap: 15px !important;
    padding: 25px !important;
    align-items: start !important;
    width: 100% !important;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

/* 5. CONTENT RESET */
.z8-step-content {
    width: auto !important;
    min-width: 0 !important;
    /* Allow wrapping */
}

.z8-step-num {
    width: 50px !important;
    height: 50px !important;
    margin: 0 auto !important;
    /* Center in 60px col */
}

/* 6. Typography Fixes */
.z8-step-content h3 {
    white-space: normal !important;
    /* Force wrap allowed */
    margin-top: 0 !important;
    font-size: 18px !important;
}

.z8-step-content p {
    white-space: normal !important;
    font-size: 15px !important;
}

/* 7. Mobile Reset */
@media screen and (max-width: 900px) {
    .z8-layout {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================
   ZONE 8: VISUAL RESTORATION (PREMIUM PINK THEME)
   ============================================= */

/* 1. Section Background - Soft Pink */
.z8-section {
    background-color: #FFF5F5 !important;
    /* Soft Pink match (same as Zone 7 and others) */
    padding: 80px 0 !important;
}

/* 2. Titles - Clean with Red Underline */
.z8-head-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 30px !important;
    padding-left: 0 !important;
    border-left: none !important;
    background: none !important;
    position: relative !important;
    display: inline-block !important;
}

.z8-head-title::after {
    content: '' !important;
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background: #A01515 !important;
    /* Red underline */
    margin-top: 10px !important;
    border-radius: 2px !important;
}

/* 3. STEP CARDS - PILL SHAPE & SHADOW */
.z8-step-list {
    gap: 20px !important;
}

.z8-step-card {
    background: #fff !important;
    border-radius: 50px !important;
    /* Pill shape */
    padding: 20px 30px !important;
    box-shadow: 0 10px 20px rgba(160, 21, 21, 0.05) !important;
    /* Soft Red Shadow */
    border: none !important;
    align-items: center !important;
    /* Vertically center content */
    display: grid !important;
    grid-template-columns: 60px 1fr !important;
    gap: 20px !important;
}

.z8-step-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 30px rgba(160, 21, 21, 0.1) !important;
}

/* Number Circle */
.z8-step-num {
    width: 50px !important;
    height: 50px !important;
    background: #b71c1c !important;
    /* Darker Red */
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    box-shadow: 0 5px 15px rgba(183, 28, 28, 0.3) !important;
    border: 2px solid #fff !important;
}

/* Step Content */
.z8-step-content h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 5px !important;
}

.z8-step-content p {
    font-size: 14px !important;
    color: #666 !important;
    margin: 0 !important;
}

/* 4. FAQ ACCORDION - PILL SHAPE */
.z8-faq-item {
    background: #fff !important;
    border-radius: 15px !important;
    /* Slightly less rounded than steps */
    border: none !important;
    margin-bottom: 15px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03) !important;
}

.z8-faq-btn {
    padding: 20px 25px !important;
    font-size: 16px !important;
    color: #444 !important;
    background: transparent !important;
    border-radius: 15px !important;
}

.z8-faq-btn:hover {
    color: #A01515 !important;
}

.z8-faq-icon {
    color: #A01515 !important;
    /* Red Chevron */
}

/* 5. REVIEWS - MATCHING STYLE */
.z8-review-card {
    border-radius: 20px !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05) !important;
    border: none !important;
}

.z8-r-icon {
    border: 2px solid #fff !important;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1) !important;
}

/* 6. Layout Reset Consistency */
.z8-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    /* Wider gap for premium look */
    align-items: flex-start !important;
}

@media screen and (max-width: 900px) {
    .z8-layout {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .z8-section {
        padding: 40px 0 !important;
    }
}

.z9-col h3::after {
    display: none;
    /* Remove red underline override */
}

/* Links in Red Footer */
.z9-col ul li a {
    color: #f0f0f0;
    /* Off-white links */
}

.z9-col ul li a:hover {
    color: #D4AF37;
    /* Gold hover */
}

.z9-col ul li a:hover i {
    color: #D4AF37;
}

/* Footer Buttons - Gold/Red Theme Optimized */
.z9-contact-btn {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(212, 175, 55, 0.3);
}

.z9-contact-btn:hover {
    background: #D4AF37;
    color: #300000;
}

/* Warning Text in Footer */
.z9-warning h4 {
    color: #FFC107;
    /* Bright Gold */
}

.z9-warning p {
    color: #eee;
}

.z9-highlight-text {
    color: #fff;
    font-weight: bold;
    text-decoration: underline;
    text-decoration-color: #D4AF37;
}

/* Social Icons in Footer */
.z9-socials a {
    background: rgba(0, 0, 0, 0.3);
    color: #D4AF37;
}

.z9-socials a:hover {
    background: #D4AF37;
    color: #300000;
}

/* Copyright & Guidelines */
.z9-copyright {
    color: rgba(255, 255, 255, 0.7);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
    margin-top: 40px;
}


/* =============================================
   ZONE 8 ULTIMATE FIX (Grid-Based Card Layout)
   ============================================= */

/* 1. Ensure Container is FULL WIDTH (Block) */
.z8-container {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    padding: 0 20px !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}

/* 2. Ensure Inner Layout is 2-Column Grid */
.z8-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    width: 100% !important;
    min-width: 0 !important;
}

/* 3. COLUMNS RESET */
.z8-left,
.z8-right {
    width: auto !important;
    min-width: 0 !important;
    /* Prevent grid blowout */
}

/* 4. CARD LAYOUT - SWITCH TO GRID (More Robust) */
.z8-step-card {
    display: grid !important;
    grid-template-columns: 60px 1fr !important;
    /* Fixed num width + Fluid text */
    gap: 15px !important;
    padding: 25px !important;
    align-items: start !important;
    width: 100% !important;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

/* 5. CONTENT RESET */
.z8-step-content {
    width: auto !important;
    min-width: 0 !important;
    /* Allow wrapping */
}

.z8-step-num {
    width: 50px !important;
    height: 50px !important;
    margin: 0 auto !important;
    /* Center in 60px col */
}

/* 6. Typography Fixes */
.z8-step-content h3 {
    white-space: normal !important;
    /* Force wrap allowed */
    margin-top: 0 !important;
    font-size: 18px !important;
}

.z8-step-content p {
    white-space: normal !important;
    font-size: 15px !important;
}

/* 7. Mobile Reset */
@media screen and (max-width: 900px) {
    .z8-layout {
        grid-template-columns: 1fr !important;
    }
}

/* =============================================
   ZONE 8: VISUAL RESTORATION (PREMIUM PINK THEME)
   ============================================= */

/* 1. Section Background - Soft Pink */
.z8-section {
    background-color: #FFF5F5 !important;
    /* Soft Pink match (same as Zone 7 and others) */
    padding: 80px 0 !important;
}

/* 2. Titles - Clean with Red Underline */
.z8-head-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #333 !important;
    margin-bottom: 30px !important;
    padding-left: 0 !important;
    border-left: none !important;
    background: none !important;
    position: relative !important;
    display: inline-block !important;
}

.z8-head-title::after {
    content: '' !important;
    display: block !important;
    width: 60px !important;
    height: 4px !important;
    background: #A01515 !important;
    /* Red underline */
    margin-top: 10px !important;
    border-radius: 2px !important;
}

/* 3. STEP CARDS - PILL SHAPE & SHADOW */
.z8-step-list {
    gap: 20px !important;
}

.z8-step-card {
    background: #fff !important;
    border-radius: 50px !important;
    /* Pill shape */
    padding: 20px 30px !important;
    box-shadow: 0 10px 20px rgba(160, 21, 21, 0.05) !important;
    /* Soft Red Shadow */
    border: none !important;
    align-items: center !important;
    /* Vertically center content */
    display: grid !important;
    grid-template-columns: 60px 1fr !important;
    gap: 20px !important;
}

.z8-step-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 30px rgba(160, 21, 21, 0.1) !important;
}

/* Number Circle */
.z8-step-num {
    width: 50px !important;
    height: 50px !important;
    background: #b71c1c !important;
    /* Darker Red */
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    box-shadow: 0 5px 15px rgba(183, 28, 28, 0.3) !important;
    border: 2px solid #fff !important;
}

/* Step Content */
.z8-step-content h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 5px !important;
}

.z8-step-content p {
    font-size: 14px !important;
    color: #666 !important;
    margin: 0 !important;
}

/* 4. FAQ ACCORDION - PILL SHAPE */
.z8-faq-item {
    background: #fff !important;
    border-radius: 15px !important;
    /* Slightly less rounded than steps */
    border: none !important;
    margin-bottom: 15px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03) !important;
}

.z8-faq-btn {
    padding: 20px 25px !important;
    font-size: 16px !important;
    color: #444 !important;
    background: transparent !important;
    border-radius: 15px !important;
}

.z8-faq-btn:hover {
    color: #A01515 !important;
}

.z8-faq-icon {
    color: #A01515 !important;
    /* Red Chevron */
}

/* 5. REVIEWS - MATCHING STYLE */
.z8-review-card {
    border-radius: 20px !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05) !important;
    border: none !important;
}

.z8-r-icon {
    border: 2px solid #fff !important;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1) !important;
}

/* 6. Layout Reset Consistency */
.z8-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    /* Wider gap for premium look */
    align-items: flex-start !important;
}

@media screen and (max-width: 900px) {
    .z8-layout {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .z8-section {
        padding: 40px 0 !important;
    }
}

/* Hide Popup elements on Desktop (>768px for safety) */
@media screen and (min-width: 768px) {

    .z8-popup-trigger,
    .z8-popup-header {
        display: none !important;
    }
}

/* FIXED: Added width to prevent collapse */
.z8-step-card {
    width: 100%;
    box-sizing: border-box;
}

/* --- RESTORED SLIDER CSS --- */
.z8-slider-viewport {
    overflow: hidden;
    width: 100%;
    padding: 10px 5px 30px;
    /* Space for shadow */
}

.z8-review-track {
    display: flex;
    gap: 20px;
    transition: transform 0.5s ease-in-out;
    width: max-content;
    /* Ensure track wraps contents */
}

/* Review Card Fixed Width for Slider */
.z8-review-card {
    flex: 0 0 auto;
    width: 300px;
    /* Fixed width needed for slider */
    min-width: 300px;
}

/* =============================================
   ZONE 8: FINAL VISUAL PATCHES (Force Override)
   ============================================= */

/* 1. Force Circle Numbers */
.z8-step-num {
    border-radius: 50% !important;
    width: 60px !important;
    /* Slightly larger for better proportion */
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
    /* Reset any top margin */
}

/* 2. Force Card Vertical Alignment & Shape */
.z8-step-card {
    display: flex !important;
    /* Switch to flex for perfect vertical centering */
    align-items: center !important;
    border-radius: 50px !important;
    padding: 15px 30px !important;
    min-height: 100px;
    /* Ensure consistent height */
    gap: 25px !important;
}

/* 3. Adjust Content for Flexbox */
.z8-step-content {
    text-align: left;
    flex: 1;
    /* Take remaining space */
}

.z8-step-content h3 {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
}

/* 4. Fix Responsive Stacking */
@media screen and (max-width: 768px) {
    .z8-step-card {
        padding: 20px !important;
        min-height: auto;
    }
}

/* 5. Improve Spacing Between Steps */
.z8-step-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    /* Works now because of flex! */
}

/* =============================================
   ZONE 9: FOOTER REFINEMENT (ISOLATED BLOCK)
   ============================================= */

/* 1. BACKGROUND: Red-to-Black Premium Gradient + Logo Watermark */
.z9-footer {
    background: linear-gradient(180deg, #A01515 0%, #1a0000 100%) !important;
    color: #f0f0f0;
    padding: 60px 0 20px !important;
    border-top: 5px solid #D4AF37 !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Logo Watermark Background */
.z9-footer::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 500px !important;
    height: 500px !important;
    background-image: url('../images/logo.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 0.05 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* Ensure content stays above watermark */
.z9-footer>* {
    position: relative !important;
    z-index: 1 !important;
}

/* 2. MOBILE GRID LAYOUT (2-Column) */
@media screen and (max-width: 768px) {

    /* Force 2-column layout */
    .z9-top {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 30px 20px !important;
    }

    /* Brand: Full width at top */
    .z9-brand {
        grid-column: 1 / -1 !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }

    /* Menu: Left column */
    .z9-menu {
        grid-column: 1 !important;
    }

    /* Services: Right column */
    .z9-services {
        grid-column: 2 !important;
    }

    /* Contact: Full width at bottom */
    .z9-contact {
        grid-column: 1 / -1 !important;
        margin-top: 20px !important;
    }

    /* Contact Buttons: Stacked & Full Width */
    .z9-contact-btn {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-content: flex-start !important;
        padding: 18px 20px !important;
        margin-bottom: 12px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(212, 175, 55, 0.4) !important;
        border-radius: 12px !important;
        color: #fff !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
    }

    /* Contact container full width */
    .z9-contact {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    .z9-contact-btn i {
        margin-right: 12px !important;
        font-size: 20px !important;
    }

    /* Section Headers: Gold Style */
    .z9-col h3 {
        color: #FFD700 !important;
        font-size: 18px !important;
        border-bottom: 2px solid #D4AF37 !important;
        padding-bottom: 10px !important;
        margin-bottom: 15px !important;
    }

    /* Links: White with Gold Hover */
    .z9-col ul li a {
        color: #f0f0f0 !important;
        font-size: 14px !important;
    }

    .z9-col ul li a:hover {
        color: #FFD700 !important;
    }

    /* Chevron Icons */
    .z9-col ul li a i {
        color: #D4AF37 !important;
        margin-right: 8px !important;
    }

    /* SEO Keywords Row: Compact on Mobile */
    .z9-keywords {
        padding: 15px 0 !important;
    }

    .z9-kw-list {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    .z9-kw-list span {
        font-size: 11px !important;
        padding: 5px 10px !important;
    }
}

/* 3. DESKTOP & TABLET ENHANCEMENTS */
@media screen and (min-width: 769px) {
    .z9-top {
        display: grid !important;
        grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
        gap: 40px !important;
    }

    /* Column headers - Gold color - LARGER */
    .z9-col h3 {
        color: #FFD700 !important;
        border-bottom: 2px solid #D4AF37 !important;
        padding-bottom: 10px !important;
        margin-bottom: 15px !important;
        font-size: 22px !important;
    }

    /* Links - White with Gold hover - LARGER */
    .z9-col ul li a {
        color: #f0f0f0 !important;
        font-size: 16px !important;
        line-height: 2 !important;
    }

    .z9-col ul li a:hover {
        color: #FFD700 !important;
    }

    /* Chevron icons - Gold */
    .z9-col ul li a i {
        color: #D4AF37 !important;
        margin-right: 8px !important;
    }

    /* Contact buttons - Consistent style */
    .z9-contact-btn {
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid rgba(212, 175, 55, 0.3) !important;
        color: #fff !important;
        border-radius: 8px !important;
        padding: 12px 15px !important;
        margin-bottom: 10px !important;
        display: flex !important;
        align-items: center !important;
        transition: all 0.3s ease !important;
    }

    .z9-contact-btn:hover {
        background: #D4AF37 !important;
        color: #1a0000 !important;
    }

    .z9-contact-btn i {
        margin-right: 12px !important;
    }

    /* Brand text styling - LARGER to match mobile */
    .z9-logo-text {
        color: #fff !important;
        font-size: 48px !important;
        font-weight: 700 !important;
    }

    .z9-logo-text span {
        color: #FFD700 !important;
    }

    /* Warning header */
    .z9-brand h4,
    .z9-warning h4 {
        color: #FFD700 !important;
        font-size: 22px !important;
        margin-bottom: 10px !important;
    }

    /* Warning/Brand paragraphs - LARGER */
    .z9-brand p {
        color: #f0f0f0 !important;
        font-size: 16px !important;
        line-height: 1.6 !important;
    }

    /* Gold highlight text */
    .z9-brand .z9-highlight-text,
    .z9-brand strong {
        color: #FFD700 !important;
        font-size: 20px !important;
    }

    /* Province keywords - consistent */
    .z9-kw-list span {
        color: #f0f0f0 !important;
        padding: 5px 12px !important;
    }

    .z9-kw-list span i {
        color: #D4AF37 !important;
    }

    .z9-kw-list span.z9-highlight {
        color: #FFD700 !important;
        background: rgba(212, 175, 55, 0.15) !important;
        border-radius: 20px !important;
    }

    /* Copyright text */
    .z9-copyright p {
        color: rgba(255, 255, 255, 0.7) !important;
    }
}

/* 4. LANDSCAPE ORIENTATION FIX */
@media screen and (min-width: 568px) and (max-width: 900px) and (orientation: landscape) {
    .z9-top {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr 1fr !important;
        gap: 20px !important;
    }

    .z9-brand {
        grid-column: 1 !important;
    }

    .z9-menu,
    .z9-services,
    .z9-contact {
        grid-column: auto !important;
    }

    .z9-col h3 {
        font-size: 16px !important;
        color: #FFD700 !important;
    }
}

/* =============================================
   ZONE 9: ADDITIONAL FIXES (Province, Modal, Icons)
   ============================================= */

/* 1. MOBILE: Show only first 4 Province Keywords */
@media screen and (max-width: 768px) {
    .z9-kw-list span {
        display: none !important;
    }

    /* Show only first 4 + last 2 (รับเช่าพระทั่วประเทศ + ดูจังหวัดอื่นๆ) */
    .z9-kw-list span:nth-child(-n+4),
    .z9-kw-list span.z9-highlight {
        display: inline-flex !important;
    }

    /* Ensure visible white text - NO BORDER */
    .z9-kw-list span {
        color: #fff !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 5px 8px !important;
    }

    .z9-kw-list span i {
        color: #D4AF37 !important;
    }

    /* Highlight buttons */
    .z9-kw-list span.z9-highlight {
        background: rgba(212, 175, 55, 0.2) !important;
        border-color: #D4AF37 !important;
        color: #FFD700 !important;
    }
}

/* 2. PROVINCE MODAL POPUP: Premium Styling */
.z9-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(5px);
    overflow-y: auto;
}

.z9-modal.active {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 30px 15px;
}

.z9-modal-content {
    background: linear-gradient(145deg, #2a0000 0%, #1a0000 100%) !important;
    border: 2px solid #D4AF37 !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8), 0 0 30px rgba(212, 175, 55, 0.2) !important;
    max-width: 900px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    color: #fff;
}

.z9-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.3);
    background: rgba(160, 21, 21, 0.3);
    border-radius: 18px 18px 0 0;
}

.z9-modal-header h3 {
    margin: 0;
    color: #FFD700 !important;
    font-size: 18px;
    font-weight: 700;
}

.z9-modal-header h3 i {
    color: #FF5722 !important;
    margin-right: 10px;
}

.z9-close-modal {
    font-size: 32px;
    color: #D4AF37;
    cursor: pointer;
    transition: color 0.3s, transform 0.3s;
    line-height: 1;
}

.z9-close-modal:hover {
    color: #fff;
    transform: rotate(90deg);
}

/* Province Grid Inside Modal */
.z9-province-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    padding: 25px;
}

.z9-province-grid a {
    display: block;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.2);
    border-radius: 10px;
    color: #f0f0f0 !important;
    font-size: 13px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.z9-province-grid a:hover {
    background: rgba(212, 175, 55, 0.2);
    border-color: #D4AF37;
    color: #FFD700 !important;
    transform: translateY(-2px);
}

/* 3. SOCIAL ICONS: Brand Colors */
.z9-socials a {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 20px;
    transition: all 0.3s ease;
    text-decoration: none;
}

/* Line - Green */
.z9-socials a[href*="line"],
.z9-socials a[title*="Line"] {
    background: #00B900 !important;
    color: #fff !important;
}

/* Facebook - Blue */
.z9-socials a[href*="facebook"],
.z9-socials a[title*="Facebook"] {
    background: #1877F2 !important;
    color: #fff !important;
}

/* TikTok - Black with Pink/Cyan border */
.z9-socials a[href*="tiktok"],
.z9-socials a[title*="TikTok"] {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #69C9D0;
}

/* Phone - Gold/Yellow */
.z9-socials a[href*="tel"],
.z9-socials a[title*="Call"] {
    background: #FFC107 !important;
    color: #1a0000 !important;
}

.z9-socials a:hover {
    transform: scale(1.1);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

/* 4. MOBILE: Compact Layout - NO BORDERS AT ALL, Minimal Spacing */
@media screen and (max-width: 768px) {
    .z9-contact {
        margin-bottom: 0 !important;
        margin-top: 5px !important;
    }

    .z9-keywords {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 10px !important;
        border: none !important;
        border-top: none !important;
        border-bottom: none !important;
    }

    .z9-top {
        gap: 10px !important;
    }

    /* REMOVE ALL header underlines on mobile */
    .z9-col h3 {
        border: none !important;
        border-bottom: none !important;
        padding-bottom: 5px !important;
        margin-bottom: 10px !important;
    }

    /* Remove border from copyright section */
    .z9-copyright {
        border: none !important;
        border-top: none !important;
        margin-top: 15px !important;
        padding-top: 10px !important;
    }

    /* Remove any pseudo-element borders */
    .z9-col h3::after {
        display: none !important;
    }

    /* Remove borders from kw-list */
    .z9-kw-list {
        border: none !important;
    }

    /* NUCLEAR OPTION: Remove ALL borders from EVERYTHING in footer on mobile */
    .z9-footer *,
    .z9-footer *::before,
    .z9-footer *::after {
        border-top: none !important;
        border-bottom: none !important;
    }

    /* Align Menu & Services lists in neat rows */
    .z9-menu ul,
    .z9-services ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .z9-menu ul li,
    .z9-services ul li {
        margin: 0 !important;
        padding: 0 !important;
        height: 32px !important;
        /* Fixed height for row alignment */
        display: flex !important;
        align-items: center !important;
    }

    .z9-menu ul li a,
    .z9-services ul li a {
        display: flex !important;
        align-items: center !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        padding: 0 !important;
        height: 100% !important;
    }

    /* Align columns at the top */
    .z9-menu,
    .z9-services {
        align-self: flex-start !important;
    }

    /* Ensure Menu and Services are same grid row */
    .z9-menu {
        grid-row: 2 !important;
        grid-column: 1 !important;
    }

    .z9-services {
        grid-row: 2 !important;
        grid-column: 2 !important;
    }

    /* CENTER the grid container on mobile */
    .z9-top {
        justify-content: center !important;
        justify-items: center !important;
        margin: 0 auto !important;
        max-width: 350px !important;
        padding: 0 !important;
    }

    /* Prevent text wrapping in services */
    .z9-menu ul li a,
    .z9-services ul li a {
        justify-content: flex-start !important;
        white-space: nowrap !important;
        font-size: 12px !important;
    }

    /* Align Headers (เมนู & บริการ) at same baseline */
    .z9-menu h3,
    .z9-services h3 {
        font-size: 18px !important;
        margin: 0 0 15px 0 !important;
        padding: 0 !important;
        height: auto !important;
        line-height: 1.3 !important;
    }

    /* Move only เมนู header slightly left */
    .z9-menu h3 {
        margin-left: -5px !important;
    }

    /* Brand Logo Text: EXTRA LARGE & Gold 100 */
    .z9-logo-text {
        font-size: 44px !important;
        font-weight: 700 !important;
        text-align: center !important;
    }

    .z9-logo-text span {
        color: #FFD700 !important;
        /* Gold for 100 */
    }

    /* Warning message text - EXTRA LARGE */
    .z9-brand p,
    .z9-warning p {
        font-size: 18px !important;
        line-height: 1.7 !important;
    }

    .z9-warning h4 {
        font-size: 24px !important;
        color: #FFD700 !important;
        margin-bottom: 12px !important;
    }

    /* Gold highlight text */
    .z9-brand .z9-highlight-text {
        color: #FFD700 !important;
        font-size: 26px !important;
        font-weight: 700 !important;
    }
}

/* =============================================
   HEADER NAVIGATION: RESPONSIVE SCALING
   ============================================= */

/* Desktop Navigation (1024px+) */
/* DEAD CODE - Commented out 2026-01-21: .site-nav not found in HTML
@media screen and (min-width: 1024px) {
    .site-nav {
        display: flex !important;
        margin-left: auto !important;
        margin-right: 10px !important;
        flex-shrink: 1 !important;
        max-width: calc(100% - 350px) !important;
    }

    .nav-list {
        display: flex !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0.4vw !important;
    }

    .nav-list li {
        white-space: nowrap !important;
    }

    .nav-link {
        font-size: 0.85vw !important;
        font-weight: 500 !important;
        color: #333 !important;
        text-decoration: none !important;
        padding: 0.2vw 0.3vw !important;
        transition: color 0.3s ease !important;
    }

    .nav-link:hover {
        color: #A01515 !important;
    }
*/

@media screen and (min-width: 1024px) {
    /* LOCK DESKTOP LAYOUT (1024px+) */
    /* Convert fixed pixels to VW so everything scales proportionally like an image */

    /* 1. Logo Text */
    .logo-text {
        font-size: 2.2vw !important;
        /* ~42px at 1920 width */
    }

    /* 2. Contact Info - REMOVED TO ALLOW HUGE SIZES ABOVE */


    /* 3. Social Icons - REMOVED TO ALLOW HUGE SIZES ABOVE */


    .logo-link-text {
        margin-right: 1.5vw !important;
    }
}

/* Large Desktop (1280px+) - no overrides needed, vw scales automatically */

/* Extra Large Desktop (1440px+) - no overrides needed, vw scales automatically */

/* REMOVED: Progressive hiding strategy was causing nav items to disappear.
   All 7 nav items should remain visible on desktop screens.
   The hamburger menu at 1024px handles mobile navigation. */

/* < 1024px: Standard Mobile Header - Use Hamburger Menu */
@media screen and (max-width: 1024px) {

    /* Show hamburger menu */
    .menu-toggle {
        display: flex !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    /* Contact and Social adjustments for tablet */
    .header-contact {
        display: flex !important;
        margin-right: 15px !important;
    }

    .contact-text {
        display: flex !important;
    }

    .contact-label {
        display: block !important;
        font-size: 12px !important;
    }

    .contact-number {
        font-size: 16px !important;
        display: block !important;
    }
}

/* =============================================
   TABLET & MEDIUM SCREENS (768px - 1024px)
   "Mini Desktop Mode" - Horizontal Layout, Scaled Down
   ============================================= */
@media screen and (min-width: 768px) and (max-width: 1024px) {

    /* FIX OVERLAP: Disable Absolute Centering & Reorder */
    .header-contact {
        position: static !important;
        transform: none !important;
        margin: 0 auto !important;
        /* Center via Flexbox if possible */
        order: 1 !important;
        /* Place Middle */
    }

    /* Force Horizontal Contact Layout */
    .contact-text {
        flex-direction: row !important;
        align-items: center !important;
        gap: 15px !important;
    }

    /* Icon: Smaller than desktop (58px), bigger than mobile (20px) */
    .contact-icon {
        font-size: 32px !important;
        margin-right: 12px !important;
        background: linear-gradient(45deg, #800000, #A01515);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    /* Label: Clear and Shimmering */
    .contact-label {
        font-size: 20px !important;
        line-height: 1.5 !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        background: linear-gradient(110deg, #5D4037 20%, #D4AF37 40%, #FFFFE0 50%, #D4AF37 60%, #5D4037 80%);
        background-size: 200% auto;
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: shine 4s linear infinite;
    }

    /* Number: Prominent */
    .contact-number {
        font-size: 26px !important;
        line-height: 1.5 !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        background: linear-gradient(110deg, #8B6508 20%, #FFD700 40%, #FFFFE0 50%, #FFD700 60%, #8B6508 80%);
        background-size: 200% auto;
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: shine 4s linear infinite;
    }

    /* Social Icons: Visible and Sized appropriately */
    .header-socials {
        display: flex !important;
        gap: 12px !important;
        order: 2 !important;
        /* Place Right next to hamburger */
    }

    .social-link {
        font-size: 28px !important;
    }

    .menu-toggle {
        order: 3 !important;
        /* Force Last */
    }
}

/* =============================================
   SMALL LAPTOP FIX (1025px - 1400px)
   Prevents absolute center overlap when screen is tight
   ============================================= */
@media screen and (min-width: 1025px) and (max-width: 1400px) {
    .header-contact {
        position: static !important;
        transform: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        order: 1 !important;
    }

    .header-socials {
        order: 2 !important;
    }

    .menu-toggle {
        order: 3 !important;
    }
}

/* Duplicate mobile media queries consolidated above (line ~793) */