/*
Theme Name:  CC Child
Description: Child theme for CulturaConnector.com — FSE shell for Gutenberg rebuild
Template:    twentytwentyfive
Version:     4.0.5 (Master Refactor, Local Fonts, Transparent Header, FSE Gap Fix)
Author:      Shoaib
License:     GPL-2.0-or-later
Text Domain: cc-child
*/

/* ─────────────────────────────────────────────────────────────────────────────
 * 1. CSS VARIABLES & GLOBALS
 * ───────────────────────────────────────────────────────────────────────────── */

:root {
    /* Brand Colors */
    --cc-brand-red:         #af0a2b;
    --cc-brand-red-dark:    #8c0822;
    --cc-brand-red-deep:    #b00020;
    --cc-brand-yellow:      #f6a728;
    --cc-brand-yellow-dark: #df9316;
    --cc-brand-green:       #163626;
    
    /* Text & Neutrals */
    --cc-text-dark:         #1a1a1a;
    --cc-text-grey:         #333333;
    --cc-text-light:        #555555;
    --cc-bg-grey:           #f7f7f7;
    --cc-white:             #ffffff;
    --cc-black:             #000000;
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 1.5. LOCAL WEBFONTS (Self-Hosted)
 * ───────────────────────────────────────────────────────────────────────────── */
/* --- INTER (Body Text) --- */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    src: url('/wp-content/themes/cc-child/assets/fonts/inter-v20-latin-regular.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: url('/wp-content/themes/cc-child/assets/fonts/inter-v20-latin-500.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 600;
    src: url('/wp-content/themes/cc-child/assets/fonts/inter-v20-latin-600.woff2') format('woff2');
}

/* --- ARCHIVO (Headings) --- */
@font-face {
    font-display: swap;
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 400;
    src: url('/wp-content/themes/cc-child/assets/fonts/archivo-v25-latin-regular.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 600;
    src: url('/wp-content/themes/cc-child/assets/fonts/archivo-v25-latin-600.woff2') format('woff2');
}
@font-face {
    font-display: swap;
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 700;
    src: url('/wp-content/themes/cc-child/assets/fonts/archivo-v25-latin-700.woff2') format('woff2');
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 1.8. GLOBAL TYPOGRAPHY ASSIGNMENTS & RESETS
 * ───────────────────────────────────────────────────────────────────────────── */

html, body { 
    max-width: 100%; 
    overflow-x: hidden; 
}

body { 
    padding: 0 !important; 
    font-family: 'Inter', system-ui, sans-serif;
    color: var(--cc-text-dark);
} 

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    font-family: 'Archivo', sans-serif;
}

figure { 
    margin: 0; 
}

a { 
    text-decoration-thickness: var(--wp--style--link-decoration-thickness, none); 
}

.wp-site-blocks .entry-content > * + *, 
.editor-styles-wrapper .entry-content > * + * { 
    margin-block-start: 0 !important; 
}

.wp-block-post-title { 
    margin-block-start: 0; 
    margin-block-end: 0; 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 2. UNIVERSAL LAYOUT & COLOR BANDS
 * ───────────────────────────────────────────────────────────────────────────── */

/* Full-Width Bleed Triggers */
body .wp-site-blocks .cc-inner-hero,
body .wp-site-blocks .cc-hero-slider,
body .wp-site-blocks .cc-hero-grit,
body .wp-site-blocks .cc-hero-black,
body .wp-site-blocks .cc-hero-grey,
body .wp-site-blocks .cc-cta-banner,
body .wp-site-blocks .cc-band-grey,
body .wp-site-blocks .cc-band-green,
body .wp-site-blocks .cc-band-yellow,
body .wp-site-blocks .cc-band-red,
body .wp-site-blocks .cc-section-nav {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Master Vertical Padding */
body .wp-site-blocks .cc-page-wrapper,
body .wp-site-blocks .cc-hero-grey,
body .wp-site-blocks .cc-cta-banner,
body .wp-site-blocks .cc-band-grey,
body .wp-site-blocks .cc-band-green,
body .wp-site-blocks .cc-band-yellow,
body .wp-site-blocks .cc-band-red {
    padding-top: clamp(3rem, 6vw, 5rem);
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* Base Background Colors */
body .wp-site-blocks .cc-hero-grey,
body .wp-site-blocks .cc-band-grey { background-color: var(--cc-bg-grey); }
body .wp-site-blocks .cc-band-green { background-color: var(--cc-brand-green); }
body .wp-site-blocks .cc-cta-banner,
body .wp-site-blocks .cc-band-yellow { background-color: var(--cc-brand-yellow); }
body .wp-site-blocks .cc-band-red { background-color: var(--cc-brand-red-deep); }

/* Force White Text on Dark Bands */
body .wp-site-blocks .cc-band-green .wp-block-heading,
body .wp-site-blocks .cc-band-green p,
body .wp-site-blocks .cc-band-green li,
body .wp-site-blocks .cc-band-yellow .wp-block-heading,
body .wp-site-blocks .cc-band-yellow p,
body .wp-site-blocks .cc-band-red .wp-block-heading,
body .wp-site-blocks .cc-band-red p,
body .wp-site-blocks .cc-band-red li { 
    color: var(--cc-white); 
}

/* Vertical Rhythm & Narrow Containers */
body .wp-site-blocks .cc-page-wrapper > * + * { 
    margin-top: clamp(3rem, 5vw, 4rem); 
}

body .wp-site-blocks .cc-container-narrow { 
    max-width: 950px; 
    margin-left: auto; 
    margin-right: auto; 
}

@media (max-width: 781px) {
    body .wp-site-blocks .wp-block-columns.cc-mobile-reverse { 
        display: flex; 
        flex-direction: column-reverse; 
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 3. SHARED GRIDS & COLUMNS
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-columns-wide { 
    gap: clamp(2rem, 5vw, 4rem); 
}

body .wp-site-blocks .cc-board-grid,
body .wp-site-blocks .cc-values-grid,
body .wp-site-blocks .cc-resources-grid,
body .wp-site-blocks .cc-grid-4 { 
    display: grid; 
    gap: clamp(2rem, 5vw, 4rem); 
}

body .wp-site-blocks .cc-board-grid,
body .wp-site-blocks .cc-values-grid { grid-template-columns: repeat(2, 1fr); }
body .wp-site-blocks .cc-resources-grid { grid-template-columns: repeat(3, 1fr); margin-top: 2rem; }
body .wp-site-blocks .cc-grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 781px) {
    body .wp-site-blocks .cc-columns-wide { gap: 2rem; }
    body .wp-site-blocks .cc-board-grid,
    body .wp-site-blocks .cc-values-grid,
    body .wp-site-blocks .cc-resources-grid,
    body .wp-site-blocks .cc-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    body .wp-site-blocks .cc-board-grid,
    body .wp-site-blocks .cc-values-grid,
    body .wp-site-blocks .cc-resources-grid,
    body .wp-site-blocks .cc-grid-4 { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 4. BUTTONS & INTERACTIVE LINKS
 * ───────────────────────────────────────────────────────────────────────────── */

/* Global Button Traits */
body .wp-site-blocks .wp-block-button.cc-btn-donate .wp-block-button__link,
body .wp-site-blocks .wp-block-button.cc-btn-list-now .wp-block-button__link,
body .wp-site-blocks .wp-block-button.cc-btn-notify .wp-block-button__link,
body .wp-site-blocks .wp-block-button.cc-btn-fund-more .wp-block-button__link,
body .wp-site-blocks .cc-resource-card .cc-btn-more-info .wp-block-button__link { 
    color: var(--cc-white) !important; 
    border: none; 
    border-radius: 3px; 
    font-family: 'Inter', sans-serif;
    font-weight: 700; 
    transition: background-color 0.2s ease, transform 0.2s ease; 
    text-decoration: none; 
}

/* Gravity Forms Global Submit Button */
body .wp-site-blocks .gform_wrapper .gform_footer,
body .gform_wrapper .gform_footer {
    width: 100%;
    display: block;
}

body .wp-site-blocks .gform_wrapper .gform_footer input.gform_button[type="submit"],
body .gform_wrapper .gform_footer input.gform_button[type="submit"] {
    width: 100% !important;
    display: block;
    box-sizing: border-box;
    text-align: center;
    font-family: 'Inter', sans-serif;
}

/* Shared Red Button Backgrounds */
body .wp-site-blocks .wp-block-button.cc-btn-list-now .wp-block-button__link,
body .wp-site-blocks .wp-block-button.cc-btn-fund-more .wp-block-button__link,
body .wp-site-blocks .cc-resource-card .cc-btn-more-info .wp-block-button__link { 
    background-color: var(--cc-brand-red); 
}

/* Shared Red Button Hovers */
body .wp-site-blocks .wp-block-button.cc-btn-list-now .wp-block-button__link:hover,
body .wp-site-blocks .wp-block-button.cc-btn-fund-more .wp-block-button__link:hover,
body .wp-site-blocks .cc-resource-card .cc-btn-more-info .wp-block-button__link:hover { 
    background-color: var(--cc-brand-red-dark); 
    color: var(--cc-white); 
}

/* Specific Layout Adjustments */
body .wp-site-blocks .wp-block-button.cc-btn-list-now .wp-block-button__link { 
    padding: 12px 32px; text-transform: uppercase; 
}
body .wp-site-blocks .wp-block-button.cc-btn-fund-more .wp-block-button__link { 
    font-size: 1rem; padding: 1rem 2rem; display: block; text-align: center; width: 100%; text-transform: uppercase; letter-spacing: 0.05em; 
}
body .wp-site-blocks .cc-resource-card .cc-btn-more-info .wp-block-button__link { 
    font-weight: 600; padding: 0.6em 1.5em; text-transform: none; 
}

/* Notify Black Button */
body .wp-site-blocks .wp-block-button.cc-btn-notify .wp-block-button__link { 
    background-color: var(--cc-black); padding: 12px 32px; text-transform: uppercase; 
}
body .wp-site-blocks .wp-block-button.cc-btn-notify .wp-block-button__link:hover { 
    background-color: var(--cc-text-grey); color: var(--cc-white); 
}

/* Donate Yellow Button with SVG */
body .wp-site-blocks .wp-block-button.cc-btn-donate .wp-block-button__link { 
    position: relative; background-color: var(--cc-brand-yellow); border-radius: 0; padding: 14px 64px 14px 24px; text-transform: uppercase; overflow: hidden; letter-spacing: 0.5px; 
}
body .wp-site-blocks .wp-block-button.cc-btn-donate .wp-block-button__link:hover { 
    background-color: var(--cc-brand-yellow-dark); color: var(--cc-white); 
}
body .wp-site-blocks .wp-block-button.cc-btn-donate .wp-block-button__link::after { 
    content: ""; position: absolute; right: 0; top: 0; height: 100%; width: 48px; background-color: var(--cc-brand-yellow-dark); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M22 9h-4.79l-4.38-6.56a1 1 0 0 0-1.66 1.12L14.8 9H9.2L12.83 3.56a1 1 0 1 0-1.66-1.12L6.79 9H2a1 1 0 0 0 0 2h1.1l1.72 8.6A2 2 0 0 0 6.78 21h10.44a2 2 0 0 0 1.96-1.4L20.9 11H22a1 1 0 0 0 0-2zM6.8 19l-1.4-7h13.2l-1.4 7H6.8z'/%3E%3Ccircle cx='12' cy='14' r='2' fill='white'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 20px; transition: background-color 0.2s ease; 
}
body .wp-site-blocks .wp-block-button.cc-btn-donate .wp-block-button__link:hover::after { 
    background-color: #c47c0c; 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 5. TYPOGRAPHY, LISTS & TEXT UTILITIES
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .wp-block-heading.cc-font-regular,
body .wp-site-blocks p.cc-font-regular { 
    font-weight: 400; 
}

body .wp-site-blocks .wp-block-heading.cc-font-heavy,
body .wp-site-blocks p.cc-font-heavy {
    font-size: clamp(1.25rem, 4vw, 1.5625rem); 
    font-weight: 900;
    line-height: 1.3;
}

/* Shared Red Links */
body .wp-site-blocks .cc-page-wrapper p a,
body .wp-site-blocks .cc-page-wrapper .wp-block-list a,
body .wp-site-blocks .cc-text-red-bold a,
body .wp-site-blocks .cc-bibliography .wp-block-list-item a,
body .wp-site-blocks .cc-checklist-item a,
body .wp-site-blocks .cc-download-link a {
    color: var(--cc-brand-red);
    text-decoration: none;
    transition: color 0.2s ease;
}

body .wp-site-blocks .cc-page-wrapper p a:hover,
body .wp-site-blocks .cc-page-wrapper .wp-block-list a:hover,
body .wp-site-blocks .cc-text-red-bold a:hover,
body .wp-site-blocks .cc-bibliography .wp-block-list-item a:hover,
body .wp-site-blocks .cc-checklist-item a:hover,
body .wp-site-blocks .cc-download-link a:hover {
    color: var(--cc-brand-red-dark);
    text-decoration: underline;
}

/* Text Colors & Specific Elements */
body .wp-site-blocks .cc-heading-red,
body .wp-site-blocks .cc-values-cell .cc-heading-red-label { 
    color: var(--cc-brand-red); font-weight: 700; 
}
body .wp-site-blocks .cc-heading-red { 
    font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; margin-bottom: 1.5rem; 
}

/* Values Cell Heading */
body .wp-site-blocks .cc-values-cell .cc-heading-red-label {  
    margin-top: 1rem; 
    margin-bottom: 0.5rem; 
    padding-bottom: 0; 
    border-bottom: none; 
    display: block; 
}
body .wp-site-blocks .cc-values-cell .cc-heading-red-label::after { 
    content: ''; 
    display: block; 
    width: 30px; 
    height: 2px; 
    background-color: var(--cc-brand-yellow); 
    margin-top: 10px; 
}

body .wp-site-blocks .cc-text-accent,
body .wp-site-blocks .cc-preform-cta .cc-heading-yellow { 
    color: var(--cc-brand-yellow); 
}
body .wp-site-blocks .cc-text-accent { 
    font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1.1; margin-bottom: 1.5rem; 
}
body .wp-site-blocks .cc-preform-cta .cc-heading-yellow { 
    font-weight: 700; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.3; 
}

body .wp-site-blocks .cc-note-label { 
    font-style: italic; font-weight: 700; color: var(--cc-text-dark); 
}
body .wp-site-blocks .cc-text-red-bold { 
    font-weight: 700; color: var(--cc-brand-red); 
}

body .wp-site-blocks .cc-checklist-item { 
    font-weight: 400; margin-bottom: 0.25rem; color: var(--cc-text-dark); 
}
body .wp-site-blocks .cc-bibliography { 
    font-size: 0.78rem; line-height: 1.7; color: var(--cc-text-grey); 
}
body .wp-site-blocks .cc-bibliography .wp-block-list-item { 
    margin-bottom: 0.75rem; 
}

body .wp-site-blocks .cc-text-orange-links .wp-block-paragraph a { 
    color: var(--cc-brand-yellow); text-decoration: none; 
}
body .wp-site-blocks .cc-text-orange-links .wp-block-paragraph a:hover { 
    text-decoration: underline; color: var(--cc-brand-yellow-dark); 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 6. HERO SECTIONS & FSE LAYOUT GAP FIXES
 * ───────────────────────────────────────────────────────────────────────────── */

/* ── FORCE FSE WRAPPERS TO ZERO GAP SO HERO CAN BLEED UNDER HEADER ── */
header.wp-block-template-part {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    border: none !important;
}

/* Crush native WP Preset variables injected into inline styles */
body .wp-site-blocks > main,
body .wp-site-blocks > main#wp--skip-link--target {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
}

body .wp-site-blocks > main > .wp-block-group:first-child,
body .wp-site-blocks > main > .wp-block-group:first-child > .entry-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-block-start: 0 !important;
}

/* Ensure the sliders themselves have no rogue margins */
body .wp-site-blocks .cc-hero-slider,
body .wp-site-blocks .cc-inner-hero {
    margin-top: 0 !important;
}

/* ── Inner Page Heroes: Push text down so it clears the fixed transparent header ── */
body .wp-site-blocks .cc-inner-hero {
    padding-top: 100px !important; 
}

/* ── Pages without a hero: Prevent standard content from hiding under fixed header ── */
body .wp-site-blocks .cc-page-wrapper {
    padding-top: 120px; 
}

@media (max-width: 781px) { 
    body .wp-site-blocks .cc-inner-hero.wp-block-cover { min-height: 200px; } 
}

/* Global Hero Default */
body .wp-site-blocks .cc-inner-hero .wp-block-heading { 
    font-size: clamp(2.5rem, 5vw, 3.8rem); 
    font-weight: 700; 
    line-height: 1.2; 
    letter-spacing: 0.01em; 
    text-shadow: 0 1px 3px rgba(0,0,0,0.6); 
}

body .wp-site-blocks .cc-inner-hero .wp-block-paragraph,
body .wp-site-blocks .cc-inner-hero p { 
    font-size: 1.125rem; 
    font-weight: 600; 
    opacity: 0.95; 
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
    margin-top: 1rem;
    max-width: 950px; 
    margin-left: auto; 
    margin-right: auto; 
}

/* Home Page Hero Heading */
body .wp-site-blocks .wp-block-heading.cc-home-hero-title {
    font-size: clamp(2.5rem, 5vw, 3.8rem);
    font-weight: 400; 
}

body .wp-site-blocks .cc-inner-hero.cc-hero--right-align .wp-block-cover__inner-container { 
    margin-left: auto; margin-right: 0; text-align: right; max-width: 55%; 
}
body .wp-site-blocks .cc-inner-hero.cc-hero--left-align .wp-block-cover__inner-container { 
    margin-left: 0; margin-right: auto; text-align: left; max-width: 600px; 
}
body .wp-site-blocks .cc-inner-hero.cc-hero--left-align .has-text-align-center { 
    text-align: left !important; 
}

@media (max-width: 781px) {
    body .wp-site-blocks .cc-inner-hero.cc-hero--right-align .wp-block-cover__inner-container,
    body .wp-site-blocks .cc-inner-hero.cc-hero--left-align .wp-block-cover__inner-container { 
        margin-left: auto; margin-right: auto; text-align: center; max-width: 100%; 
    }
    body .wp-site-blocks .cc-inner-hero.cc-hero--left-align .has-text-align-center { 
        text-align: center !important; 
    }
}

/* GRIT Hero Section */
body .wp-site-blocks .cc-hero-grit { 
    background-color: #114222; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    text-align: center; 
    min-height: 400px; 
    padding: clamp(3rem, 6vw, 5rem) 24px; 
}

body .wp-site-blocks .cc-hero-grit .wp-block-heading { 
    color: var(--cc-white); 
    font-size: clamp(2.5rem, 5vw, 3.5rem); 
    font-weight: 700; 
    margin-bottom: 1.5rem; 
    max-width: 900px;
}

/* The Yellow Dot Fix */
body .wp-site-blocks .cc-hero-grit .cc-hero-grit__dot { 
    width: 12px !important; 
    height: 12px !important; 
    min-height: 12px !important; 
    border-radius: 50%; 
    background-color: var(--cc-brand-yellow); 
    margin-left: auto; 
    margin-right: auto; 
    padding: 0 !important; 
    border: none;
}

body .wp-site-blocks .cc-hero-black { 
    background-color: var(--cc-black); 
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; 
    min-height: 520px; 
    padding-left: clamp(1.5rem, 4vw, 3rem); padding-right: clamp(1.5rem, 4vw, 3rem); 
}
body .wp-site-blocks .cc-hero-black .wp-block-heading { 
    color: var(--cc-white); font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: 700; margin-bottom: 1.5rem; 
}
body .wp-site-blocks .cc-hero-black p { 
    color: var(--cc-white); font-size: clamp(1.1rem, 2vw, 1.25rem); max-width: 800px; margin: 0 auto; 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 7. SHARED UI COMPONENTS & BANNERS
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-cta-banner p {
    font-size: clamp(1.125rem, 3vw, 1.25rem); 
    font-weight: 500;
    line-height: 1.6;
}

body .wp-site-blocks .cc-infographic img { width: 100%; height: auto; display: block; }
body .wp-site-blocks .cc-infographic figcaption,
body .wp-site-blocks .cc-infographic .wp-element-caption { 
    text-align: center; font-size: 0.82rem; font-style: italic; color: var(--cc-text-light); margin-top: 0.5rem; 
}

body .wp-site-blocks .cc-promo-image { text-align: center; margin-top: 2rem; margin-bottom: 2rem; }
body .wp-site-blocks .cc-promo-image img { width: 100%; max-width: 600px; height: auto; display: block; margin: 0 auto; }

body .wp-site-blocks .cc-grit-photo-stack .wp-block-image,
body .wp-site-blocks .cc-grit-fund-photos .wp-block-image { margin-bottom: 0.5rem; }
body .wp-site-blocks .cc-grit-photo-stack .wp-block-image img,
body .wp-site-blocks .cc-grit-fund-photos .wp-block-image img { width: 100%; height: auto; display: block; border-radius: 2px; }
body .wp-site-blocks .cc-grit-photo-stack figcaption,
body .wp-site-blocks .cc-grit-photo-stack .wp-element-caption { 
    color: var(--cc-brand-red); font-size: 0.78rem; text-align: left; margin-top: 0.4rem; font-style: normal; 
}

body .wp-site-blocks .cc-bridge-photo-stack .wp-block-image { margin-bottom: 1.5rem; }
body .wp-site-blocks .cc-bridge-photo-stack .wp-block-image img { 
    width: 100%; height: auto; display: block; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
}

body .wp-site-blocks .cc-profile-card { display: flex; flex-direction: column; gap: 1rem; }
body .wp-site-blocks .cc-profile-card .cc-profile-img img { 
    width: 100%; max-width: 350px; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; display: block; 
}

body .wp-site-blocks .cc-profile-card .cc-profile-name { 
    font-size: 2rem; font-weight: 700; margin-bottom: 0.25rem; color: var(--cc-black); 
}
body .wp-site-blocks .cc-profile-card p {
    font-size: 1.25rem; font-weight: 500; line-height: 1.6; color: var(--cc-text-dark);
}

body .wp-site-blocks .cc-values-cell { display: flex; flex-direction: column; align-items: flex-start; }
body .wp-site-blocks .cc-values-icon { margin-bottom: 0; }
body .wp-site-blocks .cc-values-icon img { 
    width: 70px; height: 70px; object-fit: contain; display: block; 
    filter: brightness(0) saturate(100%) invert(13%) sepia(75%) saturate(5187%) hue-rotate(337deg) brightness(96%) contrast(98%);
}

body .wp-site-blocks .cc-resource-card { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
body .wp-site-blocks .cc-resource-card .cc-resource-logo img { 
    width: auto; object-fit: contain; object-position: center; display: block; margin: 0 auto; 
}

body .wp-site-blocks .cc-service-circle { display: flex; justify-content: center; }
body .wp-site-blocks .cc-resources-grid .wp-block-image img,
body .wp-site-blocks .cc-service-circle img { margin-left: auto; margin-right: auto; }

body .wp-site-blocks .cc-section-video .wp-block-heading { max-width: 760px; margin: 0 auto 2rem auto; }
body .wp-site-blocks .cc-section-video .wp-block-embed { max-width: 860px; margin: 0 auto; }
body .wp-site-blocks .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper { position: relative; margin-bottom: 1.5rem; }

/* ─────────────────────────────────────────────────────────────────────────────
 * 8. FAQ ACCORDION
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-faq-wrapper { 
    display: flex; flex-direction: column; gap: 0; border: 1px solid #2a2a2a; border-radius: 4px; overflow: hidden; 
}
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item { 
    background-color: #f0f0f0; border-top: 1px solid var(--cc-text-grey); margin: 0; padding: 0; 
}
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item:first-child { border-top: none; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item summary { 
    background-color: var(--cc-text-dark); color: var(--cc-white); padding: 1rem 1.25rem; font-size: 0.95rem; font-weight: 500; cursor: pointer; list-style: none; user-select: none; display: flex; justify-content: space-between; align-items: center; margin: 0; 
}
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item:not([open]) summary:hover { background-color: #252525; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item[open] summary { background-color: #2a2a2a; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item summary:focus-visible { outline: 2px solid var(--cc-brand-yellow); outline-offset: -3px; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item summary::-webkit-details-marker { display: none; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item summary::marker { content: none; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item summary::after { 
    content: ""; display: inline-block; flex-shrink: 0; width: 0.6em; height: 0.6em; margin-left: 1rem; border-right: 2px solid var(--cc-white); border-bottom: 2px solid var(--cc-white); transform: rotate(45deg); transition: transform 0.2s ease; position: relative; top: -0.1em; 
}
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item[open] summary::after { transform: rotate(-135deg); top: 0.15em; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item > p { 
    padding: 1rem 1.25rem; margin: 0; color: var(--cc-text-dark); font-size: 0.9rem; line-height: 1.7; 
}
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item > p ~ p { padding-top: 0; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item > p a { color: #3a6fa6; text-decoration: none; }
body .wp-site-blocks .cc-faq-wrapper .cc-faq-item > p a:hover { text-decoration: underline; }

/* ─────────────────────────────────────────────────────────────────────────────
 * 9. PORTS DATA TABLE
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-ports-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body .wp-site-blocks .cc-ports-table .wp-block-table { margin: 0; width: 100%; }
body .wp-site-blocks .cc-ports-table .wp-block-table table { 
    width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 0.95rem; 
}
body .wp-site-blocks .cc-ports-table .wp-block-table col:first-child { width: 65%; }
body .wp-site-blocks .cc-ports-table .wp-block-table col:last-child { width: 35%; }
body .wp-site-blocks .cc-ports-table .wp-block-table thead th { 
    color: #5b7fa6; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.75rem 1rem; border-bottom: 2px solid #e0e0e0; text-align: left; background-color: transparent; 
}
body .wp-site-blocks .cc-ports-table .wp-block-table tbody td { 
    padding: 0.65rem 1rem; border-bottom: 1px solid #e8e8e8; color: var(--cc-text-dark); vertical-align: middle; line-height: 1.4; 
}
body .wp-site-blocks .cc-ports-table .wp-block-table tbody tr:last-child td { border-bottom: none; }
body .wp-site-blocks .cc-ports-table .wp-block-table tbody td:last-child { color: var(--cc-text-light); text-align: left; }
body .wp-site-blocks .cc-ports-table .wp-block-table tbody td a { color: #3a6fa6; text-decoration: none; }
body .wp-site-blocks .cc-ports-table .wp-block-table tbody td a:hover { text-decoration: underline; color: #2a5a8e; }

@media (max-width: 600px) {
    body .wp-site-blocks .cc-ports-table .wp-block-table table { font-size: 0.82rem; }
    body .wp-site-blocks .cc-ports-table .wp-block-table thead th,
    body .wp-site-blocks .cc-ports-table .wp-block-table tbody td { padding: 0.55rem 0.6rem; }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 10. GLOBAL HEADER & FOOTER
 * ───────────────────────────────────────────────────────────────────────────── */

/* ── Header: Transparent Overlay Default State ── */
.cc-header { 
    position: fixed !important; /* Overrides WP is-position-sticky */
    top: 0; 
    left: 0;
    right: 0;
    z-index: 999; 
    background-color: transparent !important; /* Sits over the hero */
    box-shadow: none !important; 
    transition: background-color 300ms ease, box-shadow 300ms ease; 
    width: 100%; 
}

/* ── Scrolled State: Solid White with Shadow ── */
.cc-header.cc-header--scrolled { 
    background-color: var(--cc-white) !important; 
    box-shadow: 0 2px 8px rgba(0,0,0,0.10) !important; 
}

/* ── Nav Links: White when Transparent ── */
body .wp-site-blocks .cc-header:not(.cc-header--scrolled) .wp-block-navigation-item__content {
    color: var(--cc-white) !important;
}

/* ── Submenu links MUST stay dark even when header is transparent ── */
body .wp-site-blocks .cc-header:not(.cc-header--scrolled) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: var(--cc-text-dark) !important;
}
body .wp-site-blocks .cc-header:not(.cc-header--scrolled) .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content {
    color: #f9b73b !important;
}

/* ── Submenu Dropdown Arrows: White when Transparent ── */
body .wp-site-blocks .cc-header:not(.cc-header--scrolled) .wp-block-navigation-submenu__toggle {
    color: var(--cc-white) !important;
}
body .wp-site-blocks .cc-header:not(.cc-header--scrolled) .wp-block-navigation-submenu__toggle svg path {
    stroke: var(--cc-white) !important;
}

/* ── Mobile Hamburger Icon: White when Transparent ── */
body .wp-site-blocks .cc-header:not(.cc-header--scrolled) .wp-block-navigation__responsive-container-open svg {
    fill: var(--cc-white) !important;
    color: var(--cc-white) !important;
}

/* ── MOBILE MENU FIX: Force dark text inside the open white off-canvas menu ── */
body .wp-site-blocks .cc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: var(--cc-text-dark) !important;
}
body .wp-site-blocks .cc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    color: var(--cc-text-dark) !important;
}
body .wp-site-blocks .cc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg path {
    stroke: var(--cc-text-dark) !important;
}

/* Header Container Layout */
.cc-header__container { 
    display: flex; align-items: center; justify-content: space-between; height: 75px; max-width: 1200px; margin: 0 auto; padding: 0 24px; 
}
.cc-header__logo img { height: 60px; width: auto; max-height: 60px; display: block; }
.cc-header__nav .wp-block-navigation-item__label { color: inherit; }
.cc-header__nav .wp-block-navigation__container { 
    display: flex; align-items: center; gap: 40px; list-style: none; margin: 0; padding: 0; 
}

/* Nav Link Hover Underline Effect */
.cc-header__nav .wp-block-navigation-item__content { 
    position: relative; display: inline-block; font-size: 14px; font-weight: 400; text-decoration: none; white-space: nowrap; padding: 0; 
}
.cc-header__nav .wp-block-navigation-item > .wp-block-navigation-item__content::after { 
    content: ''; position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%) scaleX(0); width: 20px; height: 2px; background-color: #f9b73b; transform-origin: left center; transition: transform 200ms ease; 
}
.wp-site-blocks .cc-header__nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.wp-site-blocks .cc-header__nav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content::after,
.wp-site-blocks .cc-header__nav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content::after,
.wp-site-blocks .cc-header__nav .wp-block-navigation__container > li > a[aria-current="page"]::after { 
    transform: translateX(-50%) scaleX(1); 
}

/* Submenu Dropdown Layout */
.cc-header__nav .wp-block-navigation__submenu-container { 
    background: var(--cc-white); border: 1px solid rgba(0,0,0,0.12); box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 8px 0; width: 280px; min-width: 280px; 
}
.cc-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { 
    display: block; padding: 14px 20px; font-size: 15px; font-weight: 400; text-decoration: none; line-height: 1.3; transition: color 150ms ease; position: relative; 
}
.cc-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.cc-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { 
    content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%) scaleX(0); width: 10px; height: 2px; background-color: #f9b73b; transform-origin: left center; transition: transform 150ms ease; 
}

.wp-site-blocks .cc-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.wp-site-blocks .cc-header__nav .wp-block-navigation__submenu-container > .current-menu-item > .wp-block-navigation-item__content,
.wp-site-blocks .cc-header__nav .wp-block-navigation__submenu-container > li > a[aria-current="page"] { color: #f9b73b !important; }

.wp-site-blocks .cc-header__nav .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::before,
.wp-site-blocks .cc-header__nav .wp-block-navigation__submenu-container > .current-menu-item > .wp-block-navigation-item__content::before,
.wp-site-blocks .cc-header__nav .wp-block-navigation__submenu-container > li > a[aria-current="page"]::before { transform: translateY(-50%) scaleX(1); }
.cc-header__nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { position: absolute; top: 0; left: 100%; width: 260px; }

@media (min-width: 1025px) {
    .wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container-open,
    .wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container-close { display: none; }
}
@media (max-width: 1024px) {
    .cc-header__nav .wp-block-navigation__responsive-container-open { background: none; border: none; cursor: pointer; padding: 0; }
}

/* Mobile Nav Menu Layout */
.cc-header__nav .wp-block-navigation__responsive-container.is-menu-open { background-color: var(--cc-white); color: var(--cc-text-dark); padding: 32px 24px; }
.cc-header__nav .wp-block-navigation__responsive-container .wp-block-navigation-item__content { color: var(--cc-text-dark); font-size: 18px; padding: 12px 0; }
.cc-header__nav .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--cc-text-grey); font-size: 14px; font-weight: 400; padding: 8px 0 8px 20px; }
.cc-header__nav .wp-block-navigation__responsive-container-close { color: var(--cc-text-dark); background: none; border: none; cursor: pointer; }
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; }
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation-item__content { flex: 1 1 0%; width: auto; max-width: calc(100% - 50px); }
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation__submenu-container { flex-basis: 100%; display: none; position: static; width: 100%; min-width: 0; border: none; box-shadow: none; background: transparent; padding: 0 0 0 16px; }
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child.cc-submenu-open > .wp-block-navigation__submenu-container { display: block; }
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: none; border: none; padding: 12px; cursor: pointer; color: var(--cc-text-dark); min-width: 44px; min-height: 44px; }
.cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg { transition: transform 200ms ease; width: 12px; height: 12px; }
.cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .cc-submenu-open > .wp-block-navigation-submenu__toggle svg { transform: rotate(180deg); }
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after,
.wp-site-blocks .cc-header__nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::before { display: none; }


/* ── Footer Main Sections ── */
.cc-footer { background-color: #dcdcdc; color: var(--cc-black); }
.cc-footer-zone1 { padding-bottom: 30px; }
.cc-footer-zone2 { padding-top: 50px; padding-bottom: 40px; }
.cc-footer-zone3 { padding-top: 20px; padding-bottom: 20px; }

/* ── Footer Contact Us Button Override ── */
body .wp-site-blocks .cc-footer .cc-footer-cta .wp-block-button__link {
    background-color: var(--cc-brand-red-dark) !important; 
    color: var(--cc-white) !important;
    border: none;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

body .wp-site-blocks .cc-footer .cc-footer-cta .wp-block-button__link:hover {
    transform: scale(1.05); /* Hover Scale Effect */
    background-color: var(--cc-brand-red-deep) !important;
}

/* ── Footer Social Media Icons ── */
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn a.wp-block-button__link.wp-element-button { 
    color: var(--cc-white) !important; 
    background-color: var(--cc-brand-red); 
    border-radius: 20px; 
    padding: 8px 16px 8px 42px; 
    font-size: 0.875rem; 
    font-weight: 500; 
    text-decoration: none; 
    border: none; 
    display: inline-flex; 
    align-items: center; 
    position: relative; 
    overflow: hidden; 
    transition: transform 0.2s ease, background-color 0.2s ease; 
}

body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn a.wp-block-button__link.wp-element-button:hover,
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn a.wp-block-button__link.wp-element-button:focus { 
    background-color: var(--cc-brand-red-dark); 
    color: var(--cc-white) !important; 
    transform: scale(1.05); 
}

body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn a.wp-block-button__link.wp-element-button::before { 
    content: ''; 
    position: absolute; left: 0; top: 0; width: 34px; height: 100%; 
    background-color: var(--cc-brand-red-dark); 
    background-repeat: no-repeat; background-position: center center; background-size: 16px 16px; 
    transition: background-color 0.2s ease; 
}
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn a.wp-block-button__link.wp-element-button:hover::before,
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn a.wp-block-button__link.wp-element-button:focus::before { 
    background-color: #6e0619; 
}

/* SVG Backgrounds */
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn--facebook a.wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E"); }
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn--instagram a.wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E"); }
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn--twitter a.wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E"); }
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn--tiktok a.wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 0 0-.79-.05 6.34 6.34 0 0 0-6.34 6.34 6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.33-6.34V8.69a8.19 8.19 0 0 0 4.78 1.52V6.76a4.85 4.85 0 0 1-1.01-.07z'/%3E%3C/svg%3E"); }
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn--linkedin a.wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6zM2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E"); }
body .wp-site-blocks .cc-footer .wp-block-buttons .cc-social-btn--youtube a.wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M22.54 6.42a2.78 2.78 0 0 0-1.95-1.96C18.88 4 12 4 12 4s-6.88 0-8.59.46a2.78 2.78 0 0 0-1.95 1.96A29 29 0 0 0 1 12a29 29 0 0 0 .46 5.58A2.78 2.78 0 0 0 3.41 19.6C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 0 0 1.95-1.95A29 29 0 0 0 23 12a29 29 0 0 0-.46-5.58z'/%3E%3Cpolygon fill='%23af0a2b' points='9.75 15.02 15.5 12 9.75 8.98 9.75 15.02'/%3E%3C/svg%3E"); }

/* ── Footer Typography & Layout ── */
.wp-site-blocks .cc-footer-divider { border: none; border-top: 1px solid #cccccc; margin-top: 0; margin-bottom: 0; }
.wp-site-blocks .cc-footer .cc-footer-heading { 
    color: var(--cc-brand-red); font-size: 1.42857em; font-weight: 700; text-transform: none; margin-bottom: 0; padding-bottom: 0; position: relative; display: block; 
}
.wp-site-blocks .cc-footer .cc-footer-heading::after { 
    content: ''; display: block; width: 30px; height: 2px; background-color: #f9b73b; margin-top: 15px; margin-bottom: 15px; 
}
.wp-site-blocks .cc-footer-list { list-style: none; padding-left: 0; margin: 0; }
.wp-site-blocks .cc-footer-list li { padding: 3px 0; }
.wp-site-blocks .cc-footer-list li a,
.wp-site-blocks .cc-footer-list a { 
    color: var(--cc-black); font-size: 0.9375rem; text-decoration: none; transition: color 0.2s ease; 
}
.wp-site-blocks .cc-footer-list li a:hover,
.wp-site-blocks .cc-footer-list a:hover { color: #f9b73b; }

.cc-footer-logo img { max-width: 200px; height: auto; display: block; margin-bottom: 16px; }
.cc-footer-statement { font-size: 1rem; font-weight: 500; color: var(--cc-text-grey); line-height: 1.6; }

.cc-footer-phone a, .cc-footer-legal-link a, .cc-footer-zone3 a { 
    display: inline-block; transition: color 0.2s ease, transform 0.2s ease; will-change: transform; 
}
.cc-footer-phone { font-size: 1rem; margin-bottom: 16px; }
.wp-site-blocks .cc-footer-phone a { 
    color: var(--cc-black); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; 
}
.wp-site-blocks .cc-footer-phone a::before { 
    content: ''; display: inline-block; width: 16px; height: 16px; flex-shrink: 0; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.38 2 2 0 0 1 3.6 1.21h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.81a16 16 0 0 0 6.29 6.29l.91-.91a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 16px 16px; 
}
.wp-site-blocks .cc-footer-phone a:hover { color: var(--cc-brand-red); transform: translateY(-3px); }
.wp-site-blocks .cc-footer-phone a:hover::before { 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23af0a2b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.38 2 2 0 0 1 3.6 1.21h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.81a16 16 0 0 0 6.29 6.29l.91-.91a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); 
}

.wp-site-blocks .cc-footer-copyright { font-size: 0.75rem; color: var(--cc-text-grey); text-align: left; margin: 0; }
.wp-site-blocks .cc-footer-legal-link a,
.wp-site-blocks .cc-footer-zone3 a { color: var(--cc-black); font-size: 1em; font-weight: 300; text-decoration: none; }
.wp-site-blocks .cc-footer-legal-link a:hover,
.wp-site-blocks .cc-footer-zone3 a:hover { color: #f9b73b; text-decoration: underline; transform: translateY(-3px); }

@media (max-width: 768px) {
    .wp-site-blocks .cc-footer-zone3 .wp-block-group { flex-direction: column; align-items: flex-start; gap: 10px; }
    .cc-footer-copyright { width: 100%; }
    .cc-footer-zone1 .wp-block-buttons { justify-content: center; flex-wrap: wrap; }
    .wp-site-blocks .cc-footer-phone a:hover,
    .wp-site-blocks .cc-footer-legal-link a:hover,
    .wp-site-blocks .cc-footer-zone3 a:hover { transform: none; }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 11. PAGE: GRIT & THE SDGs
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-sdg-logos { 
    display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 2.5rem; flex-wrap: wrap; 
}
body .wp-site-blocks .cc-sdg-logos .cc-sdg-intro-logo img { height: 100px; width: auto; object-fit: contain; display: block; }
body .wp-site-blocks .cc-sdg-icon img { 
    width: 100%; max-width: 250px; height: auto; aspect-ratio: 1 / 1; object-fit: contain; display: block; 
}
body .wp-site-blocks .wp-block-column:first-child .cc-sdg-icon img { margin: 0 auto 0 0; }
body .wp-site-blocks .wp-block-column:last-child .cc-sdg-icon img { margin: 0 0 0 auto; }

@media (max-width: 781px) {
    body .wp-site-blocks .cc-sdg-icon img { max-width: 160px; }
    body .wp-site-blocks .wp-block-column:first-child .cc-sdg-icon img,
    body .wp-site-blocks .wp-block-column:last-child .cc-sdg-icon img { margin: 0 auto; }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 12. PAGE: GRIT MAIN PAGE
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-grit-collab-logo img { 
    width: 100%; max-width: 220px; height: auto; display: block; margin: 0 auto 1.5rem auto; 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 13. PAGE: UN POLICY BRIEF
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-un-banner img { width: 100%; height: auto; display: block; border-radius: 0; }

/* ─────────────────────────────────────────────────────────────────────────────
 * 14. PAGE: SUGGESTED READING
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-book-cover { margin-bottom: 1.5rem; }
body .wp-site-blocks .cc-book-cover img { 
    width: auto; max-width: 100%; height: 320px; object-fit: contain; object-position: left center; display: block; 
}
@media (max-width: 781px) {
    body .wp-site-blocks .cc-book-cover img { 
        height: 240px; object-position: center center; margin-left: auto; margin-right: auto; 
    }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 15. PAGE: RESEARCH & ARTICLES
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-section-nav { 
    text-align: center; background-color: var(--cc-white); border-bottom: 1px solid #e8e8e8; position: sticky; top: 75px; z-index: 50; padding-top: 1rem; padding-bottom: 1rem; 
}
body .wp-site-blocks .cc-section-nav .wp-block-buttons { justify-content: center; gap: 0.5rem; }
body .wp-site-blocks .wp-block-button.cc-btn-section-nav .wp-block-button__link { 
    background-color: transparent; color: var(--cc-text-dark); border: 2px solid #e0e0e0; border-radius: 24px; padding: 8px 24px; font-size: 0.9rem; font-weight: 600; transition: all 0.2s ease; 
}
body .wp-site-blocks .wp-block-button.cc-btn-section-nav .wp-block-button__link:hover { 
    background-color: var(--cc-brand-red); border-color: var(--cc-brand-red); color: var(--cc-white); 
}

body .wp-site-blocks .cc-research-section { scroll-margin-top: 160px; }
body .wp-site-blocks .cc-research-section > .wp-block-heading { margin-bottom: 2rem; }
body .wp-site-blocks .cc-resource-article-card { 
    background-color: var(--cc-white); border: 1px solid #e8e8e8; border-radius: 6px; overflow: hidden; transition: box-shadow 0.2s ease; padding: 0 !important; 
}
body .wp-site-blocks .cc-resource-article-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
body .wp-site-blocks .cc-resource-article-card .cc-resource-article-img { margin: 0; }
body .wp-site-blocks .cc-resource-article-card .cc-resource-article-img img { 
    width: 100%; height: 180px; object-fit: cover; display: block; border-radius: 0; 
}
body .wp-site-blocks .cc-resource-article-card .wp-block-heading { 
    font-size: 1.1rem; margin: 1.25rem 1.25rem 0.5rem 1.25rem; color: var(--cc-text-dark); 
}
body .wp-site-blocks .cc-resource-article-card .wp-block-paragraph,
body .wp-site-blocks .cc-resource-article-card p { 
    font-size: 0.9rem; color: var(--cc-text-light); margin: 0 1.25rem 1.5rem 1.25rem; line-height: 1.5; 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 16. PAGE: HOW TO WORK WITH A CULTURAL ADVISOR
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-band-yellow .cc-cta-banner p { color: var(--cc-black); }
body .wp-site-blocks .cc-band-yellow .cc-heading-yellow-sub { 
    margin-top: 0; font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 700; line-height: 1.1; color: var(--cc-text-dark); 
}
body .wp-site-blocks .cc-band-yellow .cc-container-narrow > .wp-block-heading:first-child { 
    margin-bottom: 0; font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 400; line-height: 1.2; 
}
body .wp-site-blocks .cc-band-yellow .cc-grid-4 { margin-top: clamp(2.5rem, 5vw, 4rem); }
body .wp-site-blocks .cc-icon-card { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0; }
body .wp-site-blocks .cc-band-yellow .cc-icon-card .wp-block-heading,
body .wp-site-blocks .cc-band-yellow .cc-icon-card h3 { color: var(--cc-text-dark); font-size: 1.1rem; margin-bottom: 0.5rem; }
body .wp-site-blocks .cc-icon-circle { 
    display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.8); margin: 0 auto 1.25rem auto; flex-shrink: 0; 
}

/* Icon Circle SVG Image */
body .wp-site-blocks .cc-icon-circle img { 
    width: 70px; height: 70px; object-fit: contain; display: block; filter: brightness(0) invert(1); 
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 17. PAGE: INTERCULTURAL BRIDGE
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-hero-bridge__text .wp-block-heading { line-height: 1.15; margin-bottom: 0.75rem; }
body .wp-site-blocks .cc-hero-bridge__text p { margin-bottom: 0.25rem; font-size: 0.95rem; opacity: 0.9; }

/* ─────────────────────────────────────────────────────────────────────────────
 * 18. PAGE: CULTURALLY RELEVANT GAMES
 * ───────────────────────────────────────────────────────────────────────────── */
/* Relying on DRY modular system — no page-specific CSS needed */

/* ─────────────────────────────────────────────────────────────────────────────
 * 19. BASIC PAGE HEADERS
 * ───────────────────────────────────────────────────────────────────────────── */

body .wp-site-blocks .cc-hero-grey { 
    background-color: var(--cc-bg-grey); display: flex; flex-direction: column; justify-content: center; min-height: 520px; padding-left: clamp(1.5rem, 4vw, 3rem); padding-right: clamp(1.5rem, 4vw, 3rem); 
}
body .wp-site-blocks .cc-breadcrumb { 
    font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.5rem; color: var(--cc-text-dark); 
}
body .wp-site-blocks .cc-page-title { 
    font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 300; margin-top: 0; margin-bottom: 1rem; color: var(--cc-text-dark); line-height: 1.1; 
}
body .wp-site-blocks .cc-page-title::after { 
    content: ''; display: block; width: 30px; height: 2px; background-color: #f9b73b; margin-top: 15px; margin-bottom: 15px; 
}

@media (max-width: 781px) {
    body .wp-site-blocks .cc-breadcrumb,
    body .wp-site-blocks .cc-page-title { text-align: center; }
    body .wp-site-blocks .cc-page-title::after { margin-left: auto; margin-right: auto; }
}

/* ─────────────────────────────────────────────────────────────────────────────
 * 20. HOME PAGE — SLIDER ENGINE & COMPONENTS
 * ───────────────────────────────────────────────────────────────────────────── */

/* GENERIC SLIDER ENGINE */
body .wp-site-blocks .cc-slider { position: relative; overflow: hidden; }
body .wp-site-blocks .cc-slider > .cc-slide { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity 0.8s ease-in-out; margin: 0; 
}
body .wp-site-blocks .cc-slider > .cc-slide.is-active { opacity: 1; pointer-events: auto; z-index: 2; }
body .wp-site-blocks .cc-slider > .cc-slide.is-leaving { opacity: 0; z-index: 1; pointer-events: none; }
body .wp-site-blocks .cc-slider:not([data-slider-ready]) > .cc-slide:first-child { opacity: 1; z-index: 2; pointer-events: auto; }
body .wp-site-blocks .cc-slider:not([data-slider-ready]) > .cc-slide:not(:first-child) { opacity: 0; pointer-events: none; }
body .wp-site-blocks .cc-slider[data-slider-ready] > .cc-slide:first-child:not(.is-active) { opacity: 0; pointer-events: none; z-index: 1; }
body .wp-site-blocks .cc-slider > .cc-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Photo Gallery specific overrides */
body .wp-site-blocks .cc-slider:not(.cc-hero-slider) { aspect-ratio: 3 / 2; }
body .wp-site-blocks .cc-slider:not(.cc-hero-slider) .cc-slider-arrow { display: none; }
body .wp-site-blocks .cc-slider:not(.cc-hero-slider) .cc-slider-nav { 
    background-color: rgba(0, 0, 0, 0.35); border-radius: 20px; padding: 6px 10px; bottom: 0.75rem; 
}
body .wp-site-blocks .cc-slider:not(.cc-hero-slider) .cc-slider-nav__dot { background-color: rgba(255, 255, 255, 0.5); }
body .wp-site-blocks .cc-slider:not(.cc-hero-slider) .cc-slider-nav__dot:hover:not(.is-active) { background-color: rgba(255, 255, 255, 0.85); }

/* SHARED DOT NAVIGATION */
body .wp-site-blocks .cc-slider-nav { 
    position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.5rem; z-index: 10; list-style: none; margin: 0; padding: 0; 
}
body .wp-site-blocks .cc-slider-nav__dot { 
    width: 10px; height: 10px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.5); border: none; cursor: pointer; padding: 0; transition: background-color 0.3s ease, transform 0.3s ease; position: relative; 
}
body .wp-site-blocks .cc-slider-nav__dot::before { content: ''; position: absolute; inset: -6px; }
body .wp-site-blocks .cc-slider-nav__dot.is-active { background-color: var(--cc-brand-yellow); transform: scale(1.25); }
body .wp-site-blocks .cc-slider-nav__dot:hover:not(.is-active) { background-color: rgba(255, 255, 255, 0.85); }
body .wp-site-blocks .cc-slider-nav__dot:focus-visible { outline: 2px solid var(--cc-brand-yellow); outline-offset: 3px; }

/* SHARED ARROW CONTROLS */
body .wp-site-blocks .cc-slider-arrow { 
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background-color: rgba(0, 0, 0, 0.35); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; color: var(--cc-white); 
}
body .wp-site-blocks .cc-slider-arrow--prev { left: 1.25rem; }
body .wp-site-blocks .cc-slider-arrow--next { right: 1.25rem; }
body .wp-site-blocks .cc-slider-arrow:hover, 
body .wp-site-blocks .cc-slider-arrow:focus-visible { 
    background-color: rgba(246, 167, 40, 0.85); border-color: rgba(246, 167, 40, 0.6); outline: none; 
}
body .wp-site-blocks .cc-slider-arrow:hover { transform: translateY(-50%) scale(1.08); }
body .wp-site-blocks .cc-slider-arrow svg { 
    width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; 
}

@media (max-width: 480px) { 
    body .wp-site-blocks .cc-slider-arrow { display: none; } 
}

/* HERO SLIDER OVERRIDES */
body .wp-site-blocks .cc-hero-slider { min-height: 100vh; height: 100vh; }
body .wp-site-blocks .cc-hero-slider > .cc-slide { min-height: 100vh; height: 100%; }

@media (max-width: 781px) { 
    body .wp-site-blocks .cc-hero-slider { min-height: 100vh; height: 100vh; } 
}

body .wp-site-blocks .cc-hero-slider > .cc-slide.wp-block-cover { min-height: 0; height: 100%; }
body .wp-site-blocks .cc-hero-slider > .cc-slide .wp-block-cover__inner-container { position: relative; z-index: 3; width: 100%; }
body .wp-site-blocks .cc-hero-slider > .cc-slide::after { 
    content: ''; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1; pointer-events: none; 
}
body .wp-site-blocks .cc-hero-slider > .cc-slide .wp-block-heading, 
body .wp-site-blocks .cc-hero-slider > .cc-slide .wp-block-paragraph { color: var(--cc-white); }

body .wp-site-blocks .cc-hero-home .wp-block-heading { 
    font-size: clamp(2.5rem, 5vw, 3.8rem); font-weight: 400; line-height: 1.2; max-width: 900px; margin-left: auto; margin-right: auto; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); 
}
body .wp-site-blocks .cc-hero-home p:not(.cc-slider-subheading) { 
    font-size: 1.1rem; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 1rem; 
}

body .wp-site-blocks .cc-hero-slider .cc-slider-subheading { 
    display: flex; align-items: center; justify-content: center; gap: 0.75rem; font-size: 1.3rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cc-white); 
}
body .wp-site-blocks .cc-hero-slider .cc-slider-subheading::before, 
body .wp-site-blocks .cc-hero-slider .cc-slider-subheading::after { 
    content: ''; display: block; width: 160px; height: 1px; background-color: var(--cc-brand-yellow); flex-shrink: 0; 
}
@media (max-width: 781px) { 
    body .wp-site-blocks .cc-hero-slider .cc-slider-subheading::before, 
    body .wp-site-blocks .cc-hero-slider .cc-slider-subheading::after { width: 50px; } 
}

/* Photo credits */
body .wp-site-blocks .cc-photo-credits { 
    font-size: 0.75rem; color: var(--cc-text-light); line-height: 1.8; margin-top: 0.75rem; text-align: center; 
}
body .wp-site-blocks .cc-photo-credits a { color: #3a6fa6; text-decoration: none; }
body .wp-site-blocks .cc-photo-credits a:hover { text-decoration: underline; }

/* Stats grid */
body .wp-site-blocks .cc-stats-grid { 
    display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(2rem, 4vw, 3rem); margin-top: 2rem; 
}
@media (max-width: 781px) { 
    body .wp-site-blocks .cc-stats-grid { grid-template-columns: 1fr; gap: 2.5rem; } 
}

body .wp-site-blocks .cc-stat-col { text-align: center; display: flex; flex-direction: column; align-items: center; }
body .wp-site-blocks .cc-stat-pct { font-size: clamp(2rem, 5vw, 2rem); line-height: 1; color: var(--cc-brand-red); margin-bottom: 0.25rem; }

body .wp-site-blocks .cc-stat-amp { 
    font-size: 2rem; font-weight: 600; color: var(--cc-brand-yellow); margin: 0.75rem 0; line-height: 1; position: relative; display: inline-block; 
}
body .wp-site-blocks .cc-stat-amp::after { 
    content: ''; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 24px; height: 2px; background-color: var(--cc-brand-yellow); 
}
body .wp-site-blocks .cc-stat-col .wp-block-paragraph { font-size: 0.82rem; line-height: 1.4; color: var(--cc-text-grey); max-width: 200px; }

body .wp-site-blocks .cc-stats-section-heading { 
    font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 400; color: var(--cc-text-dark); margin-bottom: 1.5rem; 
}

/* Red band directory grid */
body .wp-site-blocks .cc-band-red .cc-directory-why-grid { 
    margin-top: clamp(2rem, 4vw, 3rem); max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; width: 100%; 
}
body .wp-site-blocks .cc-band-red .cc-directory-num { 
    font-size: 2rem; font-weight: 300; color: var(--cc-white); margin-bottom: 1rem; 
}
body .wp-site-blocks .cc-band-red .cc-directory-num::after { 
    content: ''; display: block; width: 36px; height: 2px; background-color: var(--cc-brand-yellow); margin-top: 0.5rem; 
}
body .wp-site-blocks .cc-band-red .cc-directory-why-grid p:not(.cc-directory-num) { 
    font-size: 1.125rem; font-weight: 500; line-height: 1.6; 
}

/* List & Get Hired heading */
body .wp-site-blocks .cc-heading-list-hired { 
    color: var(--cc-brand-yellow); font-size: clamp(2rem, 5vw, 3rem); line-height: 1.1; margin-bottom: 1rem; 
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    body .wp-site-blocks .cc-slider > .cc-slide,
    body .wp-site-blocks .cc-slider-arrow { transition: none; }
}