 /* 1. SHARED ROOT DESIGN TOKENS */
        :root {
            --primaryFont: "Be Vietnam Pro", sans-serif;
            --secondaryFont: "Inter", sans-serif;
            --primaryColor: #111111;
            --secondaryColor: #FF6200;
            --accentOrbColor: #FF6A00;
            --bgColor: #FFF4E6;
            --whiteColor: #FFFFFF;
            --footerColor: #111111;
            --borderColor: rgba(17, 17, 17, 0.15);
            --borderColorLight: rgba(17, 17, 17, 0.1);
            --offwhiteColor: rgba(255, 255, 255, 0.7);
            --mutedWhiteColor: rgba(255, 255, 255, 0.3);
            
            --titleColor: #111111;
            --paraColor: rgba(17, 17, 17, 0.85); 
            --darkParaColor: rgba(17, 17, 17, 0.7); 
            --grayColor: rgba(17, 17, 17, 0.6); 
            --ashColor: rgba(17, 17, 17, 0.4); 
            
            --fontSize: 16px;
            --transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
            --transition-fast: all 0.3s ease;
            
            /* Fluid Typography Scalings */
            --h1-size: clamp(3rem, 6vw, 7.5rem);
            --h2-size: clamp(2.5rem, 5vw, 4.5rem);
            --h3-size: clamp(1.875rem, 3vw, 2.5rem);
            --h4-size: clamp(1.25rem, 2vw, 1.5rem);
        }

        /* 2. GLOBAL RESET & BASE */
        html { scroll-behavior: smooth; }
        body {
            background-color: var(--bgColor);
            color: var(--primaryColor);
            font-family: var(--secondaryFont);
            font-size: var(--fontSize);
            line-height: 1.65;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            margin: 0;
            padding: 0;
        }
        @media (min-width: 768px) { body { font-size: 1.125rem; } }

        a { text-decoration: none; color: inherit; touch-action: manipulation; }
        ul { list-style: none; padding: 0; margin: 0; }
        p { font-family: var(--secondaryFont); margin-bottom: 0; }
        button { font-family: var(--primaryFont); border: none; background: none; padding: 0; cursor: pointer; touch-action: manipulation; }

        /* Global Typography - Enforcing common sizes */
        h1, h2, h3, h4, h5, h6 {
            font-family: var(--primaryFont);
            text-transform: uppercase;
            margin-bottom: 0;
            font-weight: 900;
            letter-spacing: -0.05em;
            line-height: 1.1em;
            color: var(--titleColor);
            overflow-wrap: break-word;
            word-wrap: break-word;
        }

        /* Common Heading Sizes */
        .huge-heading, h1 { font-size: clamp(2.5rem, 6vw + 1rem, 7.5rem) !important; }
        h2 { font-size: clamp(2rem, 3.5vw + 1rem, 4.5rem) !important; }
        h3, .global-h3 { font-size: clamp(1.5rem, 2.5vw + 1rem, 2.75rem) !important; }
        
        /* Common Subheadings */
        .exact-subheading, .mono-tag, .culture-label, .pillar-role, .meta-label {
            font-family: monospace !important;
            font-weight: 700 !important;
            font-size: 0.75rem !important;
            letter-spacing: 0.2em !important;
            text-transform: uppercase !important;
            margin-bottom: 0 !important;
        }

        /* Typography Utilities */
        .font-heading { font-family: var(--primaryFont); }
        .font-body { font-family: var(--secondaryFont); }
        .font-mono { font-family: monospace; }
        
        .font-black { font-weight: 900; }
        .font-bold { font-weight: 700; }
        .font-medium { font-weight: 500; }
        
        .tracking-tighter { letter-spacing: -0.05em; }
        .tracking-tight { letter-spacing: -0.02em; }
        .tracking-widest { letter-spacing: 0.1em; }
        .leading-tight { line-height: 1.2; }

        /* Color Utilities */
        .text-accent { color: var(--secondaryColor) !important; }
        .text-black-custom { color: var(--primaryColor) !important; }
        .text-white-custom { color: var(--whiteColor) !important; }
        .text-black-60 { color: var(--grayColor); }
        .text-black-40 { color: var(--ashColor); }
        .text-black-70 { color: var(--darkParaColor); }
        .bg-black-custom { background-color: var(--primaryColor); }

        /* 3. UTILITIES & REUSABLE COMPONENTS */
        .custom-container { max-width: 1440px; margin-left: auto; margin-right: auto; width: 100%; }
        
        .hairline-t { border-top: 1px solid var(--borderColor); }
        .hairline-b { border-bottom: 1px solid var(--borderColor); }
        .hairline-l { border-left: 1px solid var(--borderColor); }
        .hairline-r { border-right: 1px solid var(--borderColor); }

        .px-fluid { padding-left: 1.5rem; padding-right: 1.5rem; }
        @media (min-width: 768px) { .px-fluid { padding-left: 3rem; padding-right: 3rem; } }

        .py-section { padding-top: 8rem; padding-bottom: 8rem; }
        @media (max-width: 767px) { .py-section { padding-top: 5rem; padding-bottom: 5rem; } }

        /* Standardized Orb Logic */
        .orb-relative { position: relative; display: inline-block; }
        .orb-text-front { position: relative; z-index: 1; }

        .common-orb {
            position: absolute;
            background-color: var(--accentOrbColor);
            border-radius: 50%;
            z-index: 0;
            width: 3rem; height: 3rem;
            top: -0.5rem; left: -0.75rem;
        }
        @media (min-width: 768px) {
            .common-orb {
                width: 4.5rem; height: 4.5rem;
                top: -1rem; left: -1rem;
            }
        }
        .dot-accent { width: 12px; height: 12px; background-color: var(--secondaryColor); border-radius: 50%; display: inline-block; }
        .dot-accent-sm { width: 8px; height: 8px; background-color: var(--secondaryColor); border-radius: 50%; display: inline-block; }

        /* Animations */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal.active { opacity: 1; transform: translateY(0); }
        .delay-100 { transition-delay: 100ms; }
        .delay-200 { transition-delay: 200ms; }
        
        .transition-colors { transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease; }
        .transition-all { transition: var(--transition-fast); }

        /* Minimal scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--bgColor); }
        ::-webkit-scrollbar-thumb { background: var(--primaryColor); }

        /* Image Grayscale Reveal */
        .img-editorial {
            filter: grayscale(100%) contrast(1.1);
            transition: var(--transition);
            width: 100%; height: 100%; object-fit: cover;
        }
        .image-hover-wrapper:hover .img-editorial,
        .group-hover-img:hover .img-editorial,
        .img-editorial:hover {
            filter: grayscale(0%) contrast(1);
            transform: scale(1.03);
        }

        /* ==========================================================================
           END: 00-global.css
           ========================================================================== */



        .pt-header { padding-top: 10rem; }
        @media (min-width: 768px) { .pt-header { padding-top: 12rem; } }

        /* .meta-label is now governed by the Common Subheadings block above */
        .meta-value { font-size: 0.875rem; font-weight: 700; letter-spacing: -0.02em; }

        .hero-img-container { width: 100%; height: 50vh; overflow: hidden; }
        @media (min-width: 768px) { .hero-img-container { height: 70vh; } }
        
        .sticky-sidebar { position: sticky; top: 10rem; }
        
        .index-list a { color: rgba(17,17,17,0.5); font-weight: 500; font-size: 0.875rem; transition: color 0.3s; }
        .index-list a:hover { color: var(--primaryColor); }
        
        .share-btn { width: 40px; height: 40px; border: 1px solid var(--borderColor); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; transition: var(--transition-fast); }
        .share-btn:hover { background-color: var(--secondaryColor); border-color: var(--secondaryColor); color: var(--whiteColor); }

        /* Blog Content Specifics */
        .blog-content { font-size: 1.125rem; line-height: 1.8; }
        @media (min-width: 768px) { .blog-content { font-size: 1.25rem; } }
        
        .blog-content p { margin-bottom: 2rem; color: var(--paraColor); }
        
        .blog-lead { font-size: 1.5rem; font-weight: 500; color: var(--primaryColor); line-height: 1.6; }
        @media (min-width: 768px) { .blog-lead { font-size: 1.875rem; } }
        
        .blog-content h2 { margin-top: 4rem; margin-bottom: 2rem; }
        
        .blog-content ul { list-style: none; margin-bottom: 2rem; padding-left: 1.5rem; }
        .blog-content ul li { position: relative; margin-bottom: 1rem; color: var(--paraColor); }
        .blog-content ul li::before { content: ''; position: absolute; left: -1.5rem; top: 0.6rem; width: 6px; height: 6px; background-color: var(--secondaryColor); border-radius: 50%; }

        .pull-quote { border-left: 4px solid var(--secondaryColor); padding-left: 1.5rem; margin-top: 4rem; margin-bottom: 4rem; }
        @media (min-width: 768px) { .pull-quote { padding-left: 3rem; } }
        .pull-quote h3 { color: var(--primaryColor); margin: 0; }

        .author-img { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
        .author-img img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); }

        /* Read Next */
        .card-img-wrapper { width: 100%; height: 300px; overflow: hidden; margin-bottom: 1.5rem; }
        @media (min-width: 992px) { .card-img-wrapper { height: 400px; } }
        
        .card-title { margin-bottom: 0; transition: color 0.3s ease; }
        .group-hover-img:hover .card-title { color: var(--secondaryColor); }

        /* CTA Banner */
        .cta-wrapper { max-width: 1400px; margin: 0 auto; position: relative; z-index: 20; padding-top: 5rem; padding-bottom: 5rem; width: 100%; }
        @media (min-width: 768px) { .cta-wrapper { padding-top: 8rem; padding-bottom: 8rem; } }
        
        .cta-banner { background-color: #111; border-radius: 2rem; padding: 2rem; position: relative; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
        @media (min-width: 768px) { .cta-banner { border-radius: 3rem; padding: 4rem; } }
        @media (min-width: 992px) { .cta-banner { padding: 6rem; } }
        
        .cta-glow { position: absolute; top: 0; right: 25%; width: 600px; height: 600px; background-color: rgba(255, 98, 0, 0.2); border-radius: 50%; filter: blur(100px); mix-blend-mode: screen; transform: translateY(-50%); pointer-events: none; transition: background-color 1s ease; }
        .cta-banner:hover .cta-glow { background-color: rgba(255, 98, 0, 0.3); }
        
        .cta-title { color: var(--whiteColor); font-size: clamp(2rem, 8vw, 4.5rem); line-height: 1.1; }
        .cta-title span { display: block; width: fit-content; position: relative; transition: color 0.3s ease; }
        .cta-title span.muted { color: var(--mutedWhiteColor); }
        .cta-title span:hover { color: var(--whiteColor) !important; padding-left: 4px; }
        @media (min-width: 768px) {
            .cta-title span { display: inline-block; width: auto; }
            .cta-title span:nth-child(1) { margin-left: -1.5rem; }
            .cta-title span:nth-child(2) { margin-left: 3rem; color: var(--secondaryColor); }
            .cta-title span:nth-child(3) { margin-left: -0.5rem; }
            .cta-title span:nth-child(4) { margin-left: 5rem; }
            .cta-title span:nth-child(5) { margin-left: -2rem; }
        }

        .cta-circle-btn { width: 10rem; height: 10rem; background-color: var(--secondaryColor); color: var(--whiteColor); box-shadow: 0 20px 50px rgba(255, 68, 0, 0.4); transition: var(--transition); position: relative; }
        @media (min-width: 576px) { .cta-circle-btn { width: 12rem; height: 12rem; } }
        @media (min-width: 768px) { .cta-circle-btn { width: 16rem; height: 16rem; } }
        @media (min-width: 992px) { .cta-offset { margin-right: -5rem; margin-bottom: -5rem; } }
        
        .cta-circle-btn:hover { background-color: var(--whiteColor); color: var(--primaryColor); transform: scale(1.05); box-shadow: 0 25px 60px rgba(255, 68, 0, 0.5); }
        .cta-meta { font-family: monospace; font-size: 10px; letter-spacing: 0.2em; color: var(--offwhiteColor); transition: color 0.3s ease; }
        .cta-circle-btn:hover .cta-meta { color: var(--ashColor); }
        
        .btn-ring { border: 1px solid rgba(255, 255, 255, 0.2); transform: scale(1.15); transition: all 0.7s ease; pointer-events: none; }
        .cta-circle-btn:hover .btn-ring { transform: scale(1.25); border-color: rgba(255, 98, 0, 0.4); }



        /* ==========================================================================
           FAQ SECTION — Premium, theme-matched addition
           ========================================================================== */
        .faq-section {
            position: relative;
            overflow: hidden;
        }

        .faq-intro {
            max-width: 680px;
        }

        .faq-kicker {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            color: var(--secondaryColor);
            font-family: monospace;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 0.2em;
            text-transform: uppercase;
        }

        .faq-kicker::before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--secondaryColor);
            flex: 0 0 auto;
        }

        .faq-title {
            margin-top: 1rem;
            margin-bottom: 1.25rem;
        }

        .faq-subtitle {
            max-width: 620px;
            color: var(--grayColor);
            font-size: 1rem;
            line-height: 1.75;
        }

        .faq-list {
            border-top: 1px solid var(--borderColor);
        }

        .faq-item {
            border-bottom: 1px solid var(--borderColor);
        }

        .faq-question {
            width: 100%;
            padding: 1.75rem 0;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
            text-align: left;
            color: var(--primaryColor);
            transition: color 0.3s ease;
        }

        .faq-question:hover,
        .faq-item.is-open .faq-question {
            color: var(--secondaryColor);
        }

        .faq-number {
            min-width: 42px;
            font-family: monospace;
            font-size: 10px;
            letter-spacing: 0.16em;
            color: var(--ashColor);
            transition: color 0.3s ease;
        }

        .faq-item.is-open .faq-number {
            color: var(--secondaryColor);
        }

        .faq-question-text {
            flex: 1;
            font-family: var(--primaryFont);
            font-size: clamp(1rem, 1.5vw, 1.35rem);
            font-weight: 800;
            letter-spacing: -0.025em;
            line-height: 1.35;
            text-transform: uppercase;
        }

        .faq-icon {
            position: relative;
            width: 42px;
            height: 42px;
            border: 1px solid var(--borderColor);
            border-radius: 50%;
            flex: 0 0 42px;
            transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                        background-color 0.3s ease,
                        border-color 0.3s ease;
        }

        .faq-icon::before,
        .faq-icon::after {
            content: "";
            position: absolute;
            left: 50%;
            top: 50%;
            width: 14px;
            height: 1px;
            background: currentColor;
            transform: translate(-50%, -50%);
            transition: transform 0.35s ease;
        }

        .faq-icon::after {
            transform: translate(-50%, -50%) rotate(90deg);
        }

        .faq-item.is-open .faq-icon {
            background: var(--secondaryColor);
            border-color: var(--secondaryColor);
            color: var(--whiteColor);
            transform: rotate(180deg);
        }

        .faq-item.is-open .faq-icon::after {
            transform: translate(-50%, -50%) rotate(0deg);
        }

        .faq-answer {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows 0.5s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .faq-answer-inner {
            overflow: hidden;
        }

        .faq-answer p {
            max-width: 820px;
            padding: 4px 20px;
            color: var(--darkParaColor);
            font-size: 1rem;
            line-height: 1.8;
        }

        .faq-item.is-open .faq-answer {
            grid-template-rows: 1fr;
        }

        .faq-orb {
            position: absolute;
            width: 320px;
            height: 320px;
            right: -170px;
            top: 18%;
            border-radius: 50%;
            background: rgba(255, 106, 0, 0.08);
            filter: blur(2px);
            pointer-events: none;
        }

        @media (max-width: 767px) {
            .faq-question {
                padding: 1.35rem 0;
                gap: 1rem;
            }

            .faq-number {
                min-width: 30px;
            }

            .faq-question-text {
                font-size: 1rem;
            }

            .faq-icon {
                width: 36px;
                height: 36px;
                flex-basis: 36px;
            }

            .faq-answer p {
                padding: 0 0 1.35rem 2.6rem;
                font-size: 0.95rem;
            }

            .faq-orb {
                width: 220px;
                height: 220px;
                right: -130px;
            }
        }
