/*
Theme Name: Genesis Block Theme Child
Template: genesis-block-theme
Version: 1.0.1
*/
/* --- Load Google Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bebas+Neue&family=League+Gothic&display=swap');

/* --- BWW HERO SECTION: FULL WIDTH & OVERLAP LOGIC --- */

:root {
    --bww-teal: #009784;
    --bww-yellow: #ffc845;
    --bww-white: #ffffff;
    --bww-blush: #FAF4F4;      /* The soft off-white/pink background */
    --bww-purple: #2b2274;
    --bww-dark-blue: #2A2A5A;  /* The text and image shadow color */
    --bww-font-main: 'League Gothic', sans-serif;
}
/* --- Global Header Styling & Responsive Sizing --- */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--bww-font-main);
    color: var(--bww-teal);
    font-weight: normal; 
    line-height: 1.2; 
    margin-bottom: 0.75em;
}
p {
    color: var(--bww-dark-blue);
}

/* * The clamp() formula: clamp(Minimum Size, Fluid Viewport Size, Maximum Size)
 * This ensures text never gets too tiny on phones or too massive on 4K monitors.
 */
h1 {
    font-size: clamp(3.5rem, 6.5vw, 7.5rem);
}

h2 {
    font-size: clamp(2rem, 4vw, 4.25rem);
}

h3 {
    font-size: clamp(1.75rem, 3vw, 3.25rem);
}

h4 {
    font-size: clamp(1.25rem, 2vw, 2.5rem);
}

/* Optional: Fallbacks for h5 and h6 if you use them */
h5 {
    font-size: clamp(1.1rem, 1vw, 2.25rem);
}

h6 {
    font-size: clamp(1rem, 1vw, 1.75rem);
}

/* Ensure the Genesis Theme title area catches it too */
.site-title, 
.entry-title {
    font-family: var(--bww-font-main);
}
.entry-header .entry-title {
    font-size: 5.5rem;
}

.bww-hero-section {
    background-color: var(--bww-teal);
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: visible;
    padding-top: 10px; /* Space above the text */
    margin-bottom: 150px; 
}

/* * The Container 
 * Note: We removed 'position: relative' here so the images 
 * inside can look past the container and anchor to the screen edges.
 */
.bww-container {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 0 10px;
    display: flex;
    align-items: center;  /* Centers the text and image side-by-side */
    justify-content: space-between; /* Forces text left, image right */
}

/* * 2. Text Content (The Top Layer) 
 */
.bww-content {
    width: 55%; /* Closes the gap between text and images */
    z-index: 10;
    margin: 0;
    padding: 10px 0;
}

.bww-title {
    font-family: var(--bww-font-main);
    font-size: clamp(4rem, 4.8vw, 4.4rem);
    text-transform: uppercase;
    color: var(--bww-white);
    line-height: 1.35; /* Spacing between the yellow boxes */
    margin: 0;
    text-align: left; 
}

.bww-title span {
    background-color: var(--bww-yellow);
    padding: 2px 15px; 
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    display: inline;
    white-space: pre-wrap;
}

/* * 3. Image Wrapper (The Background Layer) 
 */
/* The Wrapper */
.bww-image-wrapper {
    width: 45%;
    position: relative; 
    height: 600px;
    z-index: 1; 
    margin-bottom: -120px; 
}

/* Smiling Woman - Anchored to the far right screen edge */
.bww-main-image {
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%; 
    height: 100%; 
    z-index: 1; 
}

.bww-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
    border: 2px solid var(--bww-dark-blue);
    box-shadow: 6px 6px 0px var(--bww-yellow);
}

/* Mother & Daughter - Overlapping bottom left */
.bww-overlap-image {
    position: absolute;
    bottom: -60px; 
    left: -40%; /* Pulled slightly further left to sit under the text */    
    width: 85%;    
    max-width: 450px;
    z-index: 2;    
}
.bww-overlap-image img {
    width: 100%;
    height: auto;
    border: 2px solid var(--bww-dark-blue);
    box-shadow: 8px 8px 0px var(--bww-teal);
    display: block;
}

/* =========================================================================
 * DESKTOP HEADER & LOGO ISOLATION MATRIX (MIN-WIDTH: 769PX ONLY)
 * ========================================================================= */

@media (min-width: 1001px) {
    header.site-header,
    header.site-header .top-navigation {
        display: block !important;
        position: relative !important;
        width: 100% !important;
    }

    /* Format the container block holding your logo identity row elements */
    header.site-header .top-navigation .container {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 15px 40px !important;
        box-sizing: border-box !important;
        display: block !important;
    }

    /* Allow your logo wrap container to layout full width so inner links have space */
    header.site-header .site-identity {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Clean left block constraints specifically on the logo image */
    header.site-header .site-identity .custom-logo-link {
        display: inline-block !important;
        width: 220px !important;
        max-width: 220px !important;
    }

    header.site-header .site-identity .custom-logo-link img {
        width: 100% !important;
        max-width: 220px !important;
        height: auto !important;
        display: block !important;
    }

    /* Hide fallback text blocks so space definitions remain pristine */
    header.site-header .site-identity .titles-wrap,
    header.site-header .site-identity .site-title {
        display: none !important;
    }

    /* Absolute lock placement to drive nested elements to the far right screen wall */
    header.site-header .top-navigation-right {
        position: absolute !important;
        right: 40px !important; /* Matches parent horizontal padding layout rules */
        top: 50% !important;
        transform: translateY(-50%) !important; /* Perfectly aligns navbar vertically with logo center */
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }

    .menu-top-menu-container {
        width: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
    }

    .menu-top-menu-container ul.menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        align-items: center !important;
        gap: 6px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .menu-top-menu-container ul.menu > li {
        display: inline-block !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }

    /* Top Level Buttons Graphic Format */
    .menu-top-menu-container ul.menu > li > a {
        color: #FFFFFF !important; 
        font-size: 14px !important; 
        font-weight: 800 !important; 
        text-transform: uppercase !important;
        text-decoration: none !important;
        letter-spacing: 0.04em !important;
        white-space: nowrap !important; 
        padding: 8px 12px !important; 
        border: 2px solid transparent !important; 
        transition: none !important; 
        display: block !important;
    }

    .menu-top-menu-container ul.menu > li:hover > a,
    .menu-top-menu-container ul.menu > li > a:focus {
        background-color: #000000 !important; 
        color: #FFFFFF !important;
        border: 2px solid #000000 !important;
        box-shadow: 3px 3px 0px #000000 !important; 
    }

    .menu-top-menu-container ul.menu > li.current-menu-item > a,
    .menu-top-menu-container ul.menu > li.current-menu-ancestor > a {
        border: 2px solid #000000 !important; 
        background-color: rgba(0, 0, 0, 0.15) !important;
    }

    /* Dropdown Menus */
    .menu-top-menu-container ul.menu .sub-menu {
        display: none; 
        position: absolute;
        top: 100% !important;
        left: auto !important;
        right: 0 !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
        min-width: 250px;
        background: #FFFFFF !important; 
        border: 3px solid #000000 !important; 
        box-shadow: 6px 6px 0px #000000 !important; 
        padding: 0 !important;
        list-style: none;
        z-index: 10000;
    }

    .menu-top-menu-container ul.menu .sub-menu li {
        position: relative !important;
        width: 100%;
        border-bottom: 2px solid #000000 !important;
    }

    .menu-top-menu-container ul.menu .sub-menu li:last-child {
        border-bottom: none !important;
    }

    .menu-top-menu-container ul.menu .sub-menu a {
        color: #000000 !important;
        display: block !important;
        padding: 14px 18px !important;
        font-size: 1.2rem !important;
        font-weight: 700 !important;
        text-transform: uppercase;
        text-decoration: none;
        text-align: left;
        letter-spacing: 0.03em;
        transition: none !important; 
    }

    .menu-top-menu-container ul.menu .sub-menu .sub-menu {
        display: none !important;
        position: absolute !important;
        top: -3px !important; 
        left: 100% !important; 
        margin-left: 0 !important;
        transform: none !important;
        right: auto !important;
        min-width: 230px;
        border: 3px solid #000000 !important;
        box-shadow: 6px 6px 0px #000000 !important;
    }

    .menu-top-menu-container ul.menu > li:hover > .sub-menu,
    .menu-top-menu-container ul.menu > li:focus-within > .sub-menu {
        display: block !important; 
    }

    .menu-top-menu-container ul.menu .sub-menu li:hover > .sub-menu,
    .menu-top-menu-container ul.menu .sub-menu li:focus-within > .sub-menu {
        display: block !important;
    }

    .menu-top-menu-container ul.menu .sub-menu a:hover,
    .menu-top-menu-container ul.menu .sub-menu a:focus {
        background-color: #ffc845 !important;
        color: #000000 !important;
        outline: none;
    }

    .menu-top-menu-container ul.menu > li.menu-donate {
        margin-left: 12px !important; 
    }

    .menu-top-menu-container ul.menu > li.menu-donate > a {
        background-color: var(--bww-yellow) !important; 
        color: var(--bww-dark-blue) !important; 
        font-size: 13px !important;
        font-weight: 900 !important; 
        text-transform: uppercase !important;
        padding: 8px 16px !important;
        border: 2px solid #000000 !important; 
        border-radius: 0px !important; 
        box-shadow: 4px 4px 0px #000000 !important; 
        white-space: nowrap !important;
        transition: none !important; 
    }

    .menu-top-menu-container ul.menu > li.menu-donate:hover > a,
    .menu-top-menu-container ul.menu > li.menu-donate > a:focus {
        background-color: #000000 !important; 
        color: #FFFFFF !important; 
        border-color: #000000 !important;
        transform: translate(2px, 2px) !important;
        box-shadow: 2px 2px 0px #000000 !important;
    }

    .menu-top-menu-container ul.menu > li.menu-donate:active > a {
        transform: translate(4px, 4px) !important;
        box-shadow: 0px 0px 0px transparent !important;
    }
}

/* --- Global Site Header Utility Cleanups --- */
.site-header {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    min-height: auto; 
}

.site-header,
.site-header .title-area {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.site-header .nav-primary {
    margin-top: 0;
}

.timeline {
    padding: 0 12px;
}

/* --- Responsive Compression Matrix for Laptop Viewports --- */
@media (max-width: 1340px) and (min-width: 1001px) {
    header.site-header .top-navigation .container {
        padding-left: 20px !important;
    }
    header.site-header .site-identity .custom-logo-link {
        width: 170px !important; 
        max-width: 170px !important;
    }
    header.site-header .top-navigation-right {
        right: 20px !important;
    }
    .menu-top-menu-container ul.menu {
        gap: 2px !important; 
    }
    .menu-top-menu-container ul.menu > li > a {
        font-size: 11px !important; 
        padding: 6px 8px !important;  
        letter-spacing: 0.01em !important;
    }
    .menu-top-menu-container ul.menu > li.menu-donate {
        margin-left: 6px !important;
    }
    .menu-top-menu-container ul.menu > li.menu-donate > a {
        font-size: 11px !important;
        padding: 6px 12px !important;
    }
}

/* --- BWW Campaign Row Styles --- */
.bww-campaign-section {
    background-color: var(--bww-blush);
    padding: 100px 0;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.bww-campaign-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: center;
}

.bww-campaign-container.bww-layout-text-only {
    display: block !important; 
    width: 100% !important;
}

.bww-campaign-container.bww-layout-text-only .bww-campaign-content {
    max-width: 800px; 
    width: 100%;
    text-align: left;
    margin-right: auto; 
    margin-left: 0;
}

/* --- Campaign Row: Left Layout Modifiers --- */
.bww-layout-image-left {
    grid-template-columns: 1.1fr 1fr; 
}
.bww-layout-image-left .bww-campaign-image {
    order: 1; 
}
.bww-layout-image-left .bww-campaign-content {
    order: 2; 
    padding-left: 20px; 
}

/* --- Campaign Row: Purple Theme Modifier --- */
.bww-campaign-section.bww-theme-purple {
    background-color: var(--bww-purple); 
}
.bww-campaign-section.bww-theme-purple .bww-campaign-title,
.bww-campaign-section.bww-theme-purple .bww-campaign-text {
    color: var(--bww-white);
}
.bww-campaign-section.bww-theme-purple .bww-campaign-overline {
    color: var(--bww-yellow); 
}
.bww-campaign-section.bww-theme-purple .bww-campaign-image img {
    box-shadow: -20px 20px 0px var(--bww-teal); 
}
.bww-campaign-section.bww-theme-purple .bww-layout-image-left .bww-campaign-image img {
    box-shadow: 20px 20px 0px var(--bww-teal); 
}

/* Typography */
.bww-campaign-overline {
    display: block;
    color: var(--bww-teal);
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 15px;
}

.bww-campaign-title {
    color: var(--bww-dark-blue);
    margin-bottom: 25px;
}

.bww-campaign-text {
    color: var(--bww-dark-blue);
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 35px;
    max-width: 90%;
}

.bww-btn {
    display: inline-block;
    background-color: var(--bww-yellow);
    color: var(--bww-dark-blue);
    font-size: 1.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 14px 32px;
    border-radius: 50px; 
    text-decoration: none;
    transition: all 0.3s ease;
}

.bww-btn:hover {
    background-color: var(--bww-dark-blue);
    color: var(--bww-white);
    transform: translateY(-2px);
}

.bww-campaign-image img {
    width: 100%;
    height: auto;
    display: block;
    box-shadow: -20px 20px 0px var(--bww-dark-blue); 
}
.bww-layout-image-left .bww-campaign-image img {
    box-shadow: 20px 20px 0px var(--bww-dark-blue); 
}

/* --- BWW Timeline Section Styling --- */
.timeline .timeline__content {
    background: var(--bww-white);
    border: 2px solid var(--bww-dark-blue); 
    border-radius: 8px; 
    padding: 1.5rem;
    box-shadow: 6px 6px 0px var(--bww-teal); 
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    margin-right: 12px;
    margin-bottom: 12px;
}

.timeline__item:hover .timeline__content {
    transform: translate(-3px, -3px);
    box-shadow: 9px 9px 0px var(--bww-yellow); 
}

.timeline .timeline__content strong,
.timeline .timeline__content h3,
.timeline .timeline__content h4 {
    font-family: var(--bww-font-main); 
    font-size: 1.8rem;
    color: var(--bww-dark-blue);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 10px;
    line-height: 1.1;
    font-weight: normal;
}

.timeline .timeline__content p {
    color: var(--bww-dark-blue);
    font-size: 1.05rem;
    line-height: 1.5;
    margin-bottom: 0;
}

.timeline .timeline__content a {
    color: var(--bww-teal);
    font-weight: bold;
    text-decoration: none;
    border-bottom: 2px solid var(--bww-yellow); 
    transition: all 0.2s ease;
    padding-bottom: 2px;
}

.timeline .timeline__content a:hover {
    color: var(--bww-dark-blue);
    border-bottom-color: var(--bww-dark-blue);
    background-color: var(--bww-yellow); 
}

/* --- Neo-Brutalist Section Heading --- */
.bww-brutalist-heading {
    font-family: var(--bww-font-main);
    font-size: clamp(2rem, 4vw, 3.5rem);
    color: var(--bww-dark-blue);
    background-color: var(--bww-yellow); 
    border: 3px solid var(--bww-dark-blue);
    border-radius: 8px; 
    padding: 12px 30px; 
    box-shadow: 8px 8px 0px var(--bww-teal); 
    display: inline-block; 
    margin-bottom: 40px; 
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.1;
    transform: rotate(-1deg); 
}
.bww-heading-wrapper {
    text-align: center;
    width: 100%;
    margin-bottom: 20px;
}

/* --- 2026 Propositions Page & Accordions --- */
.page-template-default h1.entry-title,
.page-template-default h2 {
    font-family: var(--bww-font-main);
    color: var(--bww-dark-blue);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 30px;
}

.wp-block-accordion {
    border: 2px solid var(--bww-dark-blue);
    border-radius: 8px;
    box-shadow: 6px 6px 0px var(--bww-teal);
    background-color: var(--bww-white);
    margin-bottom: 40px;
    overflow: hidden; 
}

.wp-block-accordion summary,
.wp-block-accordion .accordion-title,
.wp-block-accordion-summary {
    background-color: var(--bww-yellow) !important; 
    color: var(--bww-dark-blue) !important; 
    font-family: var(--bww-font-main);
    font-size: 1.5rem;
    text-transform: uppercase;
    padding: 16px 24px;
    border-bottom: 2px solid var(--bww-dark-blue); 
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none; 
    margin: 0;
}
.wp-block-accordion summary span,
.wp-block-accordion .accordion-title span {
    padding-left: 10px;
}
.wp-block-accordion summary::-webkit-details-marker {
    display: none;
}

.wp-block-accordion summary:hover,
.wp-block-accordion summary:focus,
.wp-block-accordion summary:active,
.wp-block-accordion details[open] summary,
.wp-block-accordion .accordion-title:hover,
.wp-block-accordion [aria-expanded="true"],
.wp-block-accordion button[aria-expanded="true"] {
    background: var(--bww-teal) !important; 
    background-color: var(--bww-teal) !important; 
    color: var(--bww-white) !important;
}

.wp-block-accordion summary:hover *,
.wp-block-accordion summary:focus *,
.wp-block-accordion details[open] summary *,
.wp-block-accordion [aria-expanded="true"] * {
    color: var(--bww-white) !important;
    fill: var(--bww-white) !important; 
}

.wp-block-accordion .accordion-content,
.wp-block-accordion-text,
.wp-block-accordion-panel,
.wp-block-accordion .wp-block-accordion-item-content {
    background-color: var(--bww-white);
    padding: 30px;
    color: var(--bww-dark-blue);
    border-bottom: 2px solid var(--bww-dark-blue); 
}

.wp-block-accordion > *:last-child .accordion-content,
.wp-block-accordion > *:last-child .wp-block-accordion-text,
.wp-block-accordion > *:last-child .wp-block-accordion-panel,
.wp-block-accordion details:last-of-type summary:not([open]) {
    border-bottom: none;
}

.wp-block-accordion strong {
    color: var(--bww-teal);
    font-size: 1.85rem;
}

.wp-block-accordion ul {
    margin-left: 20px;
    margin-top: 15px;
}

.wp-block-accordion li {
    margin-bottom: 15px;
    line-height: 1.7;
}

.wp-block-accordion summary,
.wp-block-accordion .accordion-title,
.gb-accordion-title {
    padding: 18px 30px !important; 
}

.wp-block-accordion summary span,
.wp-block-accordion .accordion-title span,
.gb-accordion-title-text, .wp-block-accordion-heading__toggle-title {
    padding: 10px;
    font-size: 3.25rem;
}

.wp-block-accordion .accordion-content,
.gb-accordion-text,
.wp-block-accordion-text,
.wp-block-accordion-panel,
.wp-block-accordion .wp-block-accordion-item-content {
    font-size: 1.85rem !important; 
    line-height: 1.7 !important; 
    padding: 30px 40px !important; 
}

.wp-block-accordion p,
.gb-accordion-text p {
    font-size: 1.85rem !important;
    margin-bottom: 20px;
}

.wp-block-accordion strong,
.gb-accordion-text strong {
    font-size: 1.85rem !important; 
}
.wp-block-button.is-style-text .wp-block-button__link:hover,
.wp-block-button.is-style-text .wp-block-button__link:focus,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
    color: var(--bww-dark-blue) !important; 
    background-color: var(--bww-yellow) !important; 
    border-color: var(--bww-dark-blue) !important; 
}

.wp-block-accordion button:hover,
.wp-block-accordion button:focus,
.gb-accordion button:hover {
    color: var(--bww-dark-blue) !important;
}

.bww-keep-dark:hover,
.bww-keep-dark a:hover {
    color: var(--bww-dark-blue);
}
/* --- BWW Breadcrumbs Styling --- */
.bww-breadcrumbs {
    font-family: var(--bww-font-main);
    font-size: 2rem;
    margin-top: 24px;
    margin-bottom: -10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--bww-dark-blue);
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
}

.bww-breadcrumbs a {
    color: var(--bww-teal);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.2s ease;
}

.bww-breadcrumbs a:hover {
    color: var(--bww-dark-blue);
    border-bottom: 2px solid var(--bww-yellow);
}

.bww-crumb-divider {
    margin: 0 12px;
    color: var(--bww-teal);
    opacity: 0.6;
    font-weight: bold;
}

.bww-crumb-current {
    color: var(--bww-dark-blue);
    font-weight: normal; 
}
/* --- BWW SEO Team Grid & Cards --- */
.bww-team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 40px;
    margin: 40px 0;
}

.bww-team-card {
    background-color: var(--bww-white);
    border: 2px solid var(--bww-dark-blue);
    border-radius: 8px;
    box-shadow: 8px 8px 0px var(--bww-teal);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bww-team-card:hover {
    transform: translate(-4px, -4px);
    box-shadow: 12px 12px 0px var(--bww-yellow);
}

.bww-team-image-wrap {
    width: 100%;
    aspect-ratio: 1 / 1; 
    border-bottom: 2px solid var(--bww-dark-blue);
    overflow: hidden;
    background-color: #f4f4f4;
}

.bww-team-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
}

/* --- Kill invisible ghost elements inside the team grid --- */
.bww-team-grid > p,
.bww-team-grid > br {
    display: none !important;
}

.bww-team-info {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; 
}

.bww-team-name {
    font-family: var(--bww-font-main);
    color: var(--bww-dark-blue);
    font-size: 1.6rem;
    text-transform: uppercase;
    margin: 0 0 5px 0;
    line-height: 1.1;
}

.bww-team-role {
    font-weight: bold;
    color: var(--bww-teal);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 15px;
    display: block;
}

.bww-team-bio {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--bww-dark-blue);
}
/* --- Neo-Brutalist Action Buttons --- */
.bww-action-btn,
.wp-block-button.is-style-bww-action .wp-block-button__link {
    display: inline-block;
    font-family: var(--bww-font-main);
    font-size: 2.45rem; 
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none !important; 
    background-color: var(--bww-yellow);
    color: var(--bww-dark-blue);
    border: 3px solid var(--bww-teal);
    border-radius: 8px;
    padding: 16px 32px;
    box-shadow: 6px 6px 0px var(--bww-teal);
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.bww-action-btn:hover,
.bww-action-btn:focus,
.wp-block-button.is-style-bww-action .wp-block-button__link:hover,
.wp-block-button.is-style-bww-action .wp-block-button__link:focus {
    background-color: var(--bww-dark-blue) !important;
    color: var(--bww-white) !important;
    transform: translate(2px, 2px);
    box-shadow: 4px 4px 0px var(--bww-dark-blue);
}

.bww-action-btn:active,
.wp-block-button.is-style-bww-action .wp-block-button__link:active {
    transform: translate(6px, 6px);
    box-shadow: 0px 0px 0px transparent;
}

/* --- Mobile Media Breakpoint Matrix --- */
@media (max-width: 1000px) {
    header.site-header .top-navigation .container,
    header.site-header .top-navigation-right {
        position: relative !important;
        display: block !important;
        margin-left: 0 !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
    }
	
	/* Fixed: Limit how wide the logo element wraps when inside tablet and mobile viewports */
    header.site-header .site-identity .custom-logo-link {
        display: block !important;
        width: 180px !important;
        max-width: 180px !important;
        margin: 0 auto 10px auto !important; /* Centers logo block layout on small viewports */
    }

    header.site-header .site-identity .custom-logo-link img {
        width: 100% !important;
        max-width: 180px !important;
        height: auto !important;
        display: block !important;
    }
	
    .bww-team-grid {
        grid-template-columns: 1fr; 
    }
    .menu-top-menu-container {
        position: relative !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-top: 15px !important;
    }
    
    .menu-top-menu-container ul.menu {
        display: block !important; 
    }

    .menu-top-menu-container ul.menu .sub-menu {
        position: relative !important; 
        top: 0 !important;
        width: 100% !important;
        box-shadow: none !important;
        border-top: none !important;
        border-right: none !important;
        border-bottom: none !important;
        border-left: 6px solid #000000 !important; 
        padding-left: 10px !important;
        margin-top: 5px;
    }

    .menu-top-menu-container ul.menu .sub-menu .sub-menu {
        position: relative !important;
        top: 0 !important;
        left: 0 !important; 
        width: 100% !important;
        box-shadow: none !important;
        border-top: none !important;
        border-right: none !important;
        border-bottom: none !important;
        border-left: 4px solid var(--bww-yellow) !important; 
        padding-left: 10px !important;
        margin-top: 5px !important;
    }
}

@media (max-width: 480px) {
    .bww-title {
        line-height: 1.4; 
    }
    .bww-overlap-image {
        width: 65%; 
    }
}