/**
 * D20 Starter Theme
 *
 * Fonts | Token | Base | Components
 */

/* =================================================================
   FONTS
   ================================================================= */

@font-face {
    font-family: 'Lato';
    src: url('../fonts/lato-light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/lato-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/lato-bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('../fonts/lato-black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Ponter S';
    src: url('../fonts/ponter-s.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* =================================================================
   TOKENS
   ================================================================= */

:root {
    /* Colors */
    --color-brand: var(--color-primary-500);
    --color-brand-dark: var(--color-primary-800);
    --color-brand-light: var(--color-primary-100);

    --color-primary-50: #e69aac;
    --color-primary-100: #e08198;
    --color-primary-200: #d44e6e;
    --color-primary-300: #cd3559;
    --color-primary-400: #c71b45;
    --color-primary-500: #c10230;
    --color-primary-600: #ae022b;
    --color-primary-700: #9a0226;
    --color-primary-800: #870122;
    --color-primary-900: #610118;

    --color-secondary-50: #a2bbdd;
    --color-secondary-100: #8fadd6;
    --color-secondary-200: #7da0cf;
    --color-secondary-300: #6a92c9;
    --color-secondary-400: #5885c2;
    --color-secondary-500: #4577bb;
    --color-secondary-600: #3e6ba8;
    --color-secondary-700: #375f96;
    --color-secondary-800: #305383;
    --color-secondary-900: #294770;

    --color-neutral-50: #f7f8f8;
    --color-neutral-100: #e4e5e7;
    --color-neutral-200: #c9cccf;
    --color-neutral-300: #bbc2ca;
    --color-neutral-400: #a8adb3;
    --color-neutral-500: #aaa4b5;
    --color-neutral-600: #6c747e;
    --color-neutral-700: #535961;
    --color-neutral-800: #3b3e43;
    --color-neutral-900: #141516;
    --color-dark-bg:     #0f1d30;

    --color-error-50: #f7f2f2;
    --color-error-100: #f0dbdb;
    --color-error-200: #e6b2b2;
    --color-error-300: #df7b7b;
    --color-error-400: #db3e3e;
    --color-error-500: #dc2626;
    --color-error-600: #af1a1a;
    --color-error-700: #851515;
    --color-error-800: #591313;
    --color-error-900: #390f0f;

    /* Typography */
    --font-sans: 'Lato', system-ui, -apple-system, sans-serif;
    --font-heading: 'Ponter S', system-ui, -apple-system, sans-serif;

    --text-xs: 0.75rem;
    --text-sm: 1.125rem;
    --text-base: 1.25rem;
    --text-lg: 1.5rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.75rem;
    --text-4xl: 2.75rem;
    --text-5xl: 4rem;

    --leading-tight: 1.2;
    --leading-normal: 1.5;
    --leading-relaxed: 1.6;

    /* Spacing */
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.875rem;
    --space-lg: 2.5rem;
    --space-xl: 3.75rem;
    --space-2xl: 7.5rem;
    --space-3xl: 10rem;

    /* Layout */
    --container-max: 1560px;
    --container-max-wide: 1806px;
    --gutter: 30px;

    /* Misc */
    --radius: 1.875rem;
    --shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    --transition: 300ms ease-in-out;
}



@media (max-width: 1081px) {
    :root {
        --text-2xl: 1rem;
        --text-3xl: 1.5rem;
        --text-4xl: 2rem;
        --text-5xl: 3rem;
    }
}

@media (max-width: 767px) {
    :root {
        --space-md: 1.5rem;
        --space-lg: 2rem;
        --space-xl: 3rem;
        --space-2xl: 4rem;
        --space-3xl: 5rem;
        --text-base: 1.125rem;
        --text-lg: 1.25rem;
        --text-2xl: 1.125rem;
        --text-3xl: 1.25rem;
        --text-4xl: 1.7rem;
        --text-5xl: 2rem;
    }
}


/* =================================================================
   BASE
   ================================================================= */

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

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-neutral-900);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; height: auto; display: block; }

#main-content:has(> [class*="-bg-dark"]:last-child),
#main-content:has(> [class*="-bg-light"]:last-child) {
    padding-bottom: var(--space-3xl);
}

/* Animate on scroll */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .animate-on-scroll {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Background image utility for components */
[class*="--bg-image"] {
    position: relative;
    background: var(--color-dark-bg) center/cover no-repeat;
    color: #fff;
}
[class*="--bg-image"] .eyebrow { color: var(--color-brand-light); }
[class*="--bg-image"] > .container,
[class*="--bg-image"] > [class*="__inner"] { position: relative; z-index: 1; }
[class*="__overlay"] { position: absolute; inset: 0; }

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 var(--space-md);
    font-family: var(--font-heading);
    font-weight: 400;
    line-height: var(--leading-tight);
}

p { margin: 0 0 var(--space-md); }
p:last-child { margin-bottom: 0; }

a { color: var(--color-brand); }


/* =================================================================
   ACCESSIBILITY
   ================================================================= */

/* Skip link */
.skip-link {
    position: absolute;
    left: -9999px;
    top: var(--space-sm);
    background: var(--color-brand);
    color: #fff;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius);
    font-weight: 600;
    text-decoration: none;
    z-index: 9999;
}
.skip-link:focus {
    left: var(--space-sm);
    outline: 2px solid var(--color-brand-dark);
    outline-offset: 2px;
}

/* Screen reader only (visually hidden) */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus visible states */
:focus-visible {
    outline: 2px solid var(--color-brand);
    outline-offset: 2px;
}
:focus:not(:focus-visible) {
    outline: none;
}

/* Focus on dark backgrounds */
[class*="--bg-dark"] :focus-visible,
[class*="--bg-brand"] :focus-visible,
[class*="--bg-image"] :focus-visible,
.site-footer :focus-visible {
    outline-color: #fff;
}

/* Minimum tap target size */
button,
.btn,
input[type="submit"],
input[type="button"],
a.btn {
    min-height: 68px;
}

/* Text overflow handling */
h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    letter-spacing: 0.01em;
}

h1{
    font-size:var(--text-5xl);
}

h2 {
    font-size:var(--text-4xl);
}

h3 {
    font-size:var(--text-3xl);
}

h4 {
    font-size:var(--text-3xl);
}

p { margin: 0 0 var(--space-md); }
p:last-child { margin-bottom: 0; }

strong {
    font-weight:900;
}

/* Prevent iOS text resize issues */
html {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    /* Keep elements visible without animation */
    .animate-on-scroll {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Color tokens for accessible text */
:root {
    --color-text: var(--color-neutral-800);
    --color-text-muted: var(--color-neutral-600); /* 7.4:1 contrast on white */
    --color-brand: var(--color-primary-500);
    --color-brand-dark: var(--color-primary-800);
    --color-brand-light: var(--color-primary-100);
}


/* Container */
.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--gutter);
}
.container--narrow { max-width: 720px; }

/* Section width modifiers ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â inner .container always stays at --container-max */
.c-section--wide {
    max-width: var(--container-max-wide);
    margin-left: auto;
    margin-right: auto;
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 60px 100%, 0 calc(100% - 60px));
}
.c-section--full {
    max-width: 100vw;
    max-width: 100svw;
    width: 100%;
}

/* Prose (WYSIWYG content) */
.prose h2 { font-size: var(--text-2xl); margin-top: var(--space-xl); }
.prose h3 { font-size: var(--text-xl); margin-top: var(--space-lg); }
.prose ul, .prose ol { padding-left: var(--space-lg); }
.prose li { margin-bottom: var(--space-xs); }
.prose a { color: var(--color-brand); text-decoration: underline; }

/* Eyebrow / Subhead */
.eyebrow {
    margin-bottom: var(--space-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-brand);
}
.subhead {
    font-size: var(--text-lg);
    /* color: var(--color-neutral-600); */
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 0.75em 2.25em;
    font-size: var(--text-base);
    font-weight: 900;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all var(--transition);
    clip-path: polygon(
        0 0,
        calc(100% - 14px) 0,
        100% 14px,
        100% 100%,
        0 100%
    );
    min-width:270px;
    justify-content:center;
}
.btn--primary {
    background: var(--color-brand);
    color: #fff;
}
.btn--primary:focus,
.btn--primary:hover {
    background: var(--color-brand-dark);
}
.btn--secondary {
    background: var(--color-secondary-500);
    color: #fff;
}
.btn--secondary:focus,
.btn--secondary:hover {
    background: var(--color-secondary-700);
}
.btn--white {
    background: #fff;
    color: var(--color-brand);
}
.btn--white:hover {
    background: var(--color-neutral-100);
}
.btn--outline-light {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    outline: 2px solid rgba(255, 255, 255, 0.5);
    outline-offset: -2px;
}
.btn--outline-light:hover {
    background: rgba(255, 255, 255, 0.25);
    outline-color: #fff;
}

.gform_button[type="submit"]{
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 0.75em 2.25em!important;
    font-size: var(--text-base)!important;
    font-weight: 900!important;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all var(--transition);
    clip-path: polygon(
        0 0,
        calc(100% - 14px) 0,
        100% 14px,
        100% 100%,
        0 100%
    );
    min-width:270px!important;
    min-height: 68px!important;
    justify-content:center;
    background: var(--color-brand)!important;
    color: #fff;
}

.gform_button[type="submit"]:hover,
.gform_button[type="submit"]:focus {
    background: var(--color-brand-dark)!important;    
}

.btn[href^="tel:"]::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url('/wp-content/uploads/phone-icon-white.svg') center / contain no-repeat;
    flex-shrink: 0;
}

.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-weight: 600;
    color: var(--color-brand);
    text-decoration: none;
}
.link-arrow svg { width: 1em; height: 1em; transition: transform var(--transition); }
.link-arrow:hover svg { transform: translateX(4px); }

/* Icons */
svg { width: 24px; height: 24px; flex-shrink: 0; }

@media (max-width:767px) {
    .c-section--wide {
        clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 30px 100%, 0 calc(100% - 30px));
    }
}

/* =================================================================
   HEADER
   ================================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid var(--color-neutral-200);
}
.site-header__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    /* grid-template-rows: 40px 72px; */
}
/* Logo spans both the top-bar row and the nav row */
.site-header__logo {
    grid-column: 1;
    grid-row: 1 / 3;
    /* display: flex; */
    /* align-items: center; */
    /* display:block; */
    padding-right: var(--space-xl);
    padding-top: var(--space-lg);
}
.site-header__logo img { 
    height: 140px; 
    width: auto; 
}
/* Top-bar content row */
.top-bar__content {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    padding-top:1rem;
    gap: 30px;
}
/* Main nav row */
.site-header__nav-row {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
/* WordPress admin bar offset */
.admin-bar .site-header { 
    top: 32px; 
}
.admin-bar.has-hero .site-header { 
    top: 32px; 
}

@media (max-width:1140px){
    .site-header__logo img { 
        height: 100px; 
    }
}

@media (max-width:1040px){
    .menu-item-home {
        display:none;
    }
}

@media (max-width:960px){
    .site-header__logo img { 
        height: 80px; 
    }
}

@media (max-width:900px) {
    .site-header__logo{
        padding-top:var(--space-md);
    }
}

@media (max-width: 782px) {
    .admin-bar .site-header { 
        top: 46px; 
    }
    .admin-bar.has-hero .site-header { 
        top: 46px; 
    }
}

@media (max-width:840px) {
    .site-header__logo img { 
        height: 60px; 
    }
}

@media (max-width:768px) {
    .top-bar__content{
        display:none;
    }
    
    .site-header__logo img { 
        height: 60px; 
    }
}


/* Scrolled state */
body.scrolled .site-header {
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}
body.scrolled .site-header__inner {
    
}
body.scrolled .site-header__logo img {
    
}
.site-header__toggle {
    display: flex;
    flex-direction: column;
    gap: 5px;
    /* padding: var(--space-sm); */
    background: none;
    border: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 60px;
    height: 60px;
    min-height: 60px;
    background:rgba(255,255,255,0.1);
    position:fixed;
    transition:all var(--transition);
    top:var(--space-md);
    padding:0;
}
.admin-bar .site-header__toggle {
    top:calc(var(--space-md) + 46px);
}
.scrolled .site-header__toggle{
    background: #294770e3;
    backdrop-filter: blur(2px);
}
.site-header__toggle span,
.site-header__toggle::before,
.site-header__toggle::after {
    content: '';
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-neutral-900);
    transition: var(--transition);
}
.site-header__toggle[aria-expanded="true"] {
    /* top: 2rem; */
    /* right: 1rem; */
    padding-right:0;
    z-index: 9999;
    background:var(--color-secondary-700);
    position:fixed;
}
.site-header__toggle[aria-expanded="true"] span {
    opacity: 0;
    transform: scaleX(0);
}
.site-header__toggle[aria-expanded="true"]::before,
.site-header__toggle[aria-expanded="true"]::after{
    width:32px;
    /* background-color:var(--primary-500); */
}
.site-header__toggle[aria-expanded="true"]::before {
    transform: translateY(7px) rotate(45deg);
}
.site-header__toggle[aria-expanded="true"]::after {
    transform: translateY(-7px) rotate(-45deg);
    /* border: 1px solid red; */
    /* height: 200px!important; */
}
.site-nav__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: var(--space-lg);
}
.site-nav__menu a {
    text-decoration: none;
}
.site-nav__menu > li > a{
    color:#fff;
    font-size:1.5rem;
    font-family: var(--font-heading);
    font-weight: 400;
    transition:opacity var(--transition);
    padding-top:1rem;
    padding-bottom:1rem;
    display:flex;
}
.site-nav__menu a:hover { color: var(--color-brand); }

.site-nav__menu .sub-menu a{
    font-weight: 700;    
    line-height:var(--leading-tight);
    color:var(--color-neutral-900);
}

/* Parent menu items with children */
.site-nav__menu > .menu-item-has-children {
    position: relative;
}
.site-nav__menu > .menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}
.site-nav__menu > .menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 6px;
    background: url('/wp-content/uploads/dropdown-arroow.svg') center / contain no-repeat;
    flex-shrink: 0;
    transition: transform var(--transition);
    position:relative;
    top:-.25rem;
}

@media (min-width:769px) and (max-width:900px) {
    .site-nav__menu > li > a {
        font-size:1.25rem;
    }
}

/* Desktop dropdown */
@media (min-width: 769px) {
    .site-nav__menu > li.mobile-show,
    button.submenu-toggle{
        display:none!important;
    }
    
    .site-nav__menu .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 320px;
        list-style: none;
        margin: 0;
        padding: 0;
        background: #fff;
        border-radius: 4px;
        box-shadow: var(--shadow);
        opacity: 0;
        visibility: hidden;
        transform: translateY(16px);
        transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
    }
    .site-nav__menu > .menu-item-has-children:hover > .sub-menu,
    .site-nav__menu > .menu-item-has-children:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .site-nav__menu > .menu-item-has-children:hover > a::after {
        transform: rotate(180deg);
    }
    .site-nav__menu .sub-menu a {
        display: block;
        padding: var(--space-sm) var(--space-md);
        font-size:1.125rem;        
    }
	
	.site-nav__menu .sub-menu > li {
		border-bottom: solid 1px #ddd;
	}

	.site-nav__menu .sub-menu > li:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 768px) {
    .site-nav {
        position: fixed;
        top: 72px;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(to bottom, var(--color-secondary-500), var(--color-secondary-900));
        padding: var(--space-lg) 5%;
        padding-top: 5rem;
        transform: translateX(100%);
        transition: transform var(--transition);
        overflow-y: auto;
    }
    .site-nav.is-open { transform: translateX(0); }
    body.nav-open { overflow: hidden; }
    .site-nav__menu { flex-direction: column; gap: 0; }
    .site-nav__menu > li {
        display:flex;
        border-bottom: 1px solid var(--color-secondary-500);
        /* flex-direction:column; */
        /* align-items:flex-start!important; */
    }
    .site-nav__menu > .menu-item-has-children > a,
    .site-nav__menu > li > a { 
        display: block; 
        padding: 1.5rem 0 1rem 0; 
    }
    /* Row layout so the toggle button sits beside the link */
    .site-nav__menu > .menu-item-has-children {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content:flex-start;
    }
    .site-nav__menu > .menu-item-has-children > a {
        flex: 1;
        flex-basis: auto;
        min-width: 0;
        /* display: block; */
    }
    /* Sub-menu spans full width on its own row */
    .site-nav__menu > .menu-item-has-children > .sub-menu {
        flex-basis: 100%;
    }
    /* Hide the pseudo-element arrow ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â the button replaces it */
    .site-nav__menu > .menu-item-has-children > a::after {
        display: none;
    }
    /* Toggle button arrow */
    .submenu-toggle {
        background: none;
        border: none;
        padding: 1rem;
        cursor: pointer;
        color: inherit;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .submenu-toggle::before {
        content: '';
        border: solid var(--color-secondary-100);
        border-width: 0 2px 2px 0;
        padding: 8px;
        transform: rotate(45deg);
        margin-top: -6px;
        transition: all var(--transition);
        display: block;
    }
    .site-nav__menu > .menu-item-has-children.is-open > .submenu-toggle::before {
        transform: rotate(-135deg);
        border-color: #fff;
        margin-top: 2px;
    }
    .site-nav__menu .sub-menu {
        list-style: none;
        margin: 0;
        padding: 0 0 var(--space-sm) var(--space-md);
        padding: 0;
        max-height: 0;
        overflow: hidden;
        transition: all var(--transition);
        width:100%; 
    }
    .site-nav__menu > .menu-item-has-children.is-open > .sub-menu {
        max-height: 500px;
        overflow-y: scroll;
        padding-bottom:var(--space-sm);
    }
    .site-nav__menu .sub-menu li {

    }
    .site-nav__menu .sub-menu a {
        display: block;
        padding: .875rem 0;
        font-weight: 600;
        color: #fff;
        font-size:1.125rem;
    }
    .site-nav__menu .sub-menu li.current-menu-item > a,
    .site-nav__menu .sub-menu a:focus, 
    .site-nav__menu .sub-menu a:hover {
        color: var(--color-neutral-900)!important;
        opacity:0.65;
    }
    .site-nav__menu > li.current-menu-item > a,
    .site-nav__menu > li > a:hover,
    .site-nav__menu > li > a:focus{
        color: var(--color-neutral-900)!important;
        opacity:0.9;
    }
	
	.site-nav__menu .sub-menu li.current-menu-item a, 
	.site-nav__menu .sub-menu a:focus, 
	.site-nav__menu .sub-menu a:hover {
		color: var(--color-secondary-800);
		background: var(--color-neutral-50);
		padding-left:.325rem;
	}
}
@media (min-width: 769px) {
    .site-header__toggle { display: none; }
    .site-nav {
        display: flex;
        align-items: center;
    }
}

/* Header actions (phone + CTA) */
.site-nav__actions {
    display: flex;
    display:none;
    align-items: center;
    gap: var(--space-md);
    margin-top: var(--space-lg);
    /* padding-top: var(--space-md); */
    /* border-top: 1px solid var(--color-neutral-100); */
}
.site-nav__phone {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-weight: 500;
    color: var(--color-neutral-700);
    text-decoration: none;
}
.site-nav__phone svg { width: 18px; height: 18px; }
.site-nav__phone:hover { color: var(--color-brand); }

@media (min-width: 769px) {
    .site-nav__actions {
        margin-top: 0;
        margin-left: var(--space-lg);
        padding-top: 0;
        padding-left: var(--space-lg);
        border-top: none;
        border-left: 1px solid var(--color-neutral-200);
    }
}
@media (max-width: 768px) {
    .site-nav__phone span { display: none; }
    .site-nav__phone svg { width: 24px; height: 24px; }
    .site-nav__actions{
        flex-wrap:wrap;
    }

    .site-nav__actions > a{
        flex-basis:100%;
        justify-content:center;
    }
}

/* Small button variant */
.btn--sm {
    padding: var(--space-xs) var(--space-md);
    font-size: var(--text-sm);
}


/* Header overlaid on hero */
.has-hero .site-header {
    position: absolute;
    width: 100%;
    background: transparent;
    border-bottom: none;
}
.site-header__nav-row .site-nav__menu a:focus,
.site-header__nav-row .site-nav__menu a:hover {
    opacity:0.75;
    color:#fff;
}

.site-nav__menu .sub-menu li.current-menu-item a,
.site-nav__menu .sub-menu a:focus,
.site-nav__menu .sub-menu a:hover{
    color:var(--color-secondary-500);
}

.has-hero .site-header__nav-row .site-nav__phone {
    color: #fff;
}
.has-hero .site-header__toggle span,
.has-hero .site-header__toggle::before,
.has-hero .site-header__toggle::after {
    background: #fff;
}


/* Top bar menu and phone */
.top-bar__menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 30px;
}
.top-bar__menu a {
    font-size: 16px;
    font-weight: 900;
    color: #fff;
    text-decoration: none;
    line-height: 20px;
}
.top-bar__menu a:hover { color: var(--color-neutral-200); }
.top-bar__menu li.phone-link a {
    display: flex;
    align-items: center;
    gap: 8px;
}
.top-bar__menu li.phone-link a::before {
    content: '';
    display: inline-block;
    width: 17px;
    height: 17px;
    background: url('/wp-content/uploads/phone-icon-red.svg') center / contain no-repeat;
    flex-shrink: 0;
    position:relative;
    top:px;
}
.top-bar__phone {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 900;
    color: #fff;
    text-decoration: none;
    line-height: 20px;
}
.top-bar__phone svg {
    width: 17px;
    height: 17px;
    color: var(--color-brand);
    flex-shrink: 0;
}
.top-bar__phone:hover { color: var(--color-neutral-200); }


/* =================================================================
   FOOTER
   ================================================================= */

.site-footer {
    background: linear-gradient(180deg, #fff 0%, #eff6ff 40%, #a2bbdd 100%);
    color: var(--color-neutral-900);
    padding: var(--space-3xl) 0 var(--space-lg);
}

.site-footer__inner {
    display: grid;
    gap: var(--space-xl);
    align-items: start;
}

@media (min-width: 768px) {
    .site-footer__inner {
        grid-template-columns: 400px 1fr;
    }
}

.site-footer__logo {
    display: block;
    margin-bottom: var(--space-md);
    position:relative;
    left:-1rem;
    margin-top:-80px;
}

.site-footer__logo img {
    height: 180px;
    width: auto;
}

.site-footer__text {
    color: var(--color-neutral-700);
    margin-bottom: var(--space-md);
}

.site-footer__text a{
    color:inherit;
    text-decoration:none;
    transition: color var(--transition);
}

.site-footer__social {
    display: flex;
    gap: var(--space-md);
    margin-top: var(--space-lg);
}

.site-footer__social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: none;
    border-radius: 0;
    color: var(--color-neutral-700);
    transition: color var(--transition);
}

.c-form-section .site-footer__social a {
    width:36px;
    height:36px;
}

.site-footer__social a:hover {
    background: none;
    color: var(--color-secondary-500);
}

.site-footer__social svg {
    width: 24px;
    height: 24px;
}

.c-form-section .site-footer__social {
    margin-top:var(--space-xl);
}

.c-form-section .site-footer__social svg {
    width: 36px;
    height: 36px;
}

.c-form-section .site-footer__social svg path{
    fill:var(--color-secondary-500);
    transition:fill var(--transition);
}

.c-form-section .site-footer__social a:focus svg path,
.c-form-section .site-footer__social a:hover svg path{
    fill:var(--color-primary-500);
}

.c-form-section .site-footer__social a:first-child svg {
    width: 42px;
    height: 42px;
}


.site-footer__social-icon {
    height: 36px;
    width: auto;
    transition: opacity var(--transition);
}

.site-footer__social-icon:hover,
.site-footer__social-icon:focus{
    opacity:0.7;
}

/* Footer nav ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â depth 2: parent items as column headings, children as link lists */
.site-footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl) var(--space-2xl);
    align-items: flex-start;
}

.site-footer__menu {
    display: contents;
}

.site-footer__menu > li {
    list-style: none;
    min-width: 140px;
}

.site-footer__menu > li > a {
    font-family: var(--font-heading);
    font-weight: 400;
    font-size: var(--text-3xl);
    color: var(--color-secondary-500);
    text-decoration: none;
    display: block;
    margin-bottom: var(--space-xs);
    letter-spacing: 0.01em;
    transition:color var(--transition);
}

.site-footer__menu > li > a:focus,
.site-footer__menu > li > a:hover {
    color: var(--color-brand);
}

.site-footer__menu .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 1;
}

.site-footer__menu .sub-menu a {
    color: var(--color-neutral-900);
    font-size: var(--text-base);
    line-height: 2;
    display: block;
    text-decoration: none;
    transition: color var(--transition);
}

.site-footer__text a:hover,
.site-footer__menu .sub-menu a:hover {
    color: var(--color-secondary-500);
}

/* Two-column sub-menu for wider lists (e.g. Service Areas) */
.site-footer__menu > li.menu-item-has-children:last-child .sub-menu {
    columns: 2;
    column-gap: var(--space-xl);
}

.site-footer__bottom {
    margin-top: var(--space-xl);
    padding-top: var(--space-md);
    color: var(--color-neutral-900);
    font-size: var(--text-sm);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-sm) var(--space-lg);
}

.site-footer__bottom-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-xs) var(--space-lg);
}

.site-footer__copyright {
    margin: 0;
}

.site-footer__bottom-nav {
    display: flex;
    align-items: center;
}

.site-footer__bottom-menu {
    display: flex;
    gap: var(--space-lg);
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer__bottom-menu a {
    color: var(--color-neutral-900);
    text-decoration: none;
    transition: color var(--transition);
}

.site-footer__bottom-menu a:hover,
.site-footer__bottom-menu a:focus {
    color: var(--color-neutral-700);
}

.site-footer__privacy-link {
    color: var(--color-neutral-900);
    text-decoration: none;
    transition: color var(--transition);
}

.site-footer__privacy-link:hover,
.site-footer__privacy-link:focus {
    color: var(--color-neutral-700);
}

.site-footer__credits {
    margin: 0;
}

.site-footer__credits a {
    color: var(--color-neutral-900);
    text-decoration: none;
    transition: color var(--transition);
}

.site-footer__credits a:hover,
.site-footer__credits a:focus {
    color: var(--color-neutral-700);
}

@media (max-width:767px) {
    .site-footer {
        padding-top:var(--space-3xl);
    }

    .site-footer__logo{
        margin-top:0;
    }

    .site-footer__logo img{
        height:80px;
    }
}

@media (max-width:550px) {
    .site-footer__nav {
        display:none;
    }
}

/* =================================================================
   COMPONENTS
   ================================================================= */

/* Adjacent same-background components: collapse top padding */
[class*="--bg-white"] + script + script + [class*="--bg-white"],
[class*="--bg-white"] + script + [class*="--bg-white"],
[class*="--bg-white"] + [class*="--bg-white"],
[class*="--bg-light"] + [class*="--bg-light"],
[class*="--bg-dark"] + [class*="--bg-dark"],
[class*="--bg-brand"] + [class*="--bg-brand"] {
    padding-top: 0;
}

/* ----------------------- UNDER CONSTRUCTION ----------------------- */

.c-under-construction {
    padding: var(--space-3xl) 0;
    min-height: 50vh;
    display: flex;
    align-items: center;
    background: var(--color-neutral-50);
}
.c-under-construction h1 {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-md);
    color: var(--color-neutral-700);
}
.c-under-construction p {
    color: var(--color-neutral-500);
    font-size: var(--text-lg);
}

/* ----------------------- HERO ----------------------- */

.c-hero {
    position: relative;
    display: flex;
    align-items: center;
    padding: var(--space-3xl) 0;
    background: var(--color-dark-bg) center/cover no-repeat;
    color: #fff;
    overflow: hidden;
}
.c-hero:before{
    content:'';
    position:absolute;
    background:linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0));
    display:block;
    top:0;
    bottom:0;
    left:0;
    right:0;
    z-index:1;
}
.c-hero:after{
    content:'';
    position:absolute;
    background:linear-gradient(to bottom, #141516, rgba(0,0,0,0));
    display:block;
    top:0;
    bottom:0;
    left:0;
    right:0;
    z-index:1;
    height:280px;
}

.c-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    overflow: hidden;
}
.c-hero__overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 600px;
    height: 600px;
    background: radial-gradient(
        circle farthest-side at 0% 0%,
        rgba(0, 0, 0, 0.9) 0%,
        rgba(0, 0, 0, 0.65) 43%,
        rgba(0, 0, 0, 0) 100%
    );
    pointer-events: none;
}
.c-hero__overlay::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 600px;
    height: 600px;
    background: radial-gradient(
        circle farthest-side at 100% 100%,
        rgba(55, 95, 150, 0.75) 0%,
        rgba(55, 95, 150, 0) 100%
    );
    pointer-events: none;
}

.c-hero__inner {
    position: relative;
    z-index: 1;
}

.c-hero__content { 
    max-width: 800px; 
}

.wider-hero-text .c-hero__content {
    width:1000px;
    max-width:100%;
}

.c-hero--minimal .c-hero__headline,
.c-hero--minimal .c-hero__content {
    width:100%;
    max-width:100%;
}


.c-hero--center { 
    text-align: center; 
}

.c-hero--center .c-hero__inner { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    position:relative;
    z-index:2;
}
.c-hero--center .c-hero__content { 
    margin: 0 auto; 
}

.c-hero__eyebrow { opacity: 0.8; color: inherit; }
.c-hero__headline {
    /* font-size: var(--text-5xl); */
    /* margin-bottom: var(--space-md); */
    width:700px;
    margin-left:auto;
    margin-right:auto;
}
.wider-hero-text .c-hero__headline {
    width:1000px;
    max-width:100%;
}
.c-hero__subhead { 
    font-size: var(--text-2xl); 
    margin-bottom: var(--space-lg); 
}
.c-hero__buttons { 
    display: flex; 
    flex-wrap: wrap; 
    gap: var(--space-sm); 
    column-gap: var(--space-lg); 

}
.c-hero--center .c-hero__buttons { justify-content: center; }

/* Split layout */
.c-hero--split { background: var(--color-dark-bg); }
.c-hero--split .c-hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
    align-items: center;
    max-width: none;
}
.c-hero--split .c-hero__content { max-width: none; }
.c-hero--split .c-hero__media { order: 1; }
.c-hero--split-left .c-hero__media { order: -1; }
.c-hero--split .c-hero__image {
    width: 100%;
    height: auto;
    border-radius: var(--radius);
}

@media (max-width: 1081px) {
    .c-hero__subhead{
        font-size:var(--text-base);
    }
}

@media (max-width: 768px) {
    .c-hero--split .c-hero__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .c-hero--split .c-hero__media { order: -1; }
    .c-hero--split .c-hero__buttons { justify-content: center; }

    .c-hero__headline,
    .c-hero__content{
        max-width:100%;
    }
}

/* Minimal layout */
.c-hero--minimal {
    padding: var(--space-2xl) 0;
}
.c-hero--minimal .c-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
}
.c-hero--minimal .c-hero__content {
    margin: 0 auto;
    text-align: center;
}
.c-hero--minimal .c-hero__headline {
    /* font-size: var(--text-3xl); */
    margin-bottom: 0;
}

/* Parallax */
.c-hero__parallax {
    position: absolute;
    inset: -5%;
    background: center/cover no-repeat;
    will-change: transform;
}
.c-hero--parallax {
    background: transparent;
}

.has-hero .c-hero {
    padding-top: calc(180px + var(--space-3xl));
}

.has-hero .c-hero.c-hero--minimal {
    /* padding-top: calc(180px + var(--space-2xl)); */
}

@media (max-width: 768px) {
    .c-hero { padding: var(--space-2xl) 0; }
    .has-hero .c-hero { padding-top: calc(72px + var(--space-2xl)); }
    .c-hero__headline {/* font-size: var(--text-3xl); */}
    .c-hero--minimal .c-hero__headline {/* font-size: var(--text-2xl); */}
}

.c-hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Breadcrumbs */
.rank-math-breadcrumb,
.breadcrumbs { 
    margin-bottom: var(--space-sm); 
    text-transform:uppercase;
    display:flex;
    justify-content:center;
}
.rank-math-breadcrumb p,
.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-xs);
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--text-xs);
	justify-content: center;
}
.breadcrumbs__item { display: flex; align-items: center; gap: var(--space-xs); }
.breadcrumbs__link { text-decoration: none; }

.rank-math-breadcrumb .separator,
.breadcrumbs__sep { color: #fff; opacity:0.4; }

.rank-math-breadcrumb p,
.rank-math-breadcrumb a,
.breadcrumbs__current,
.breadcrumbs__item,
.breadcrumbs__link {
    color:#ffff; 
    transition:color var(--transition);
    letter-spacing:1px;
	text-decoration:none;
}

.rank-math-breadcrumb a:hover,
.rank-math-breadcrumb a:focus,
.breadcrumbs__link:hover,
.breadcrumbs__link:focus{
    color:var(--color-secondary-500);
}

/* ----------------------- CONTENT + MEDIA ----------------------- */

.c-content-media { padding: var(--space-3xl) 0; }
.c-content-media__inner { display: grid; gap: var(--space-2xl); align-items: center; }

@media (min-width: 768px) {
    .c-content-media__inner { grid-template-columns: 1fr 1fr; }
    .c-content-media--left .c-content-media__media { order: -1; }
}

.c-content-media__buttons { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
.c-content-media__image {
    border-radius: var(--radius);
}
.c-content-media__media img {
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}
.no-img-clip-path .c-content-media__media img,
.finance-your-system .c-content-media__media img {
    clip-path: none;
}
.c-content-media__video { position: relative; padding-bottom: 56.25%; border-radius: var(--radius); overflow: hidden; }
.c-content-media__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

.c-content-media--bg-white { background: #fff; }
.c-content-media--bg-light { padding: var(--space-2xl) 0; background: var(--color-neutral-50); }
.c-content-media--bg-dark { padding: var(--space-2xl) 0; background: var(--color-dark-bg); color: #fff; }
.c-content-media.finance-your-system {
    padding:var(--space-xl) 0;
}
.c-content-media--bg-dark .eyebrow { color: var(--color-brand-light); }

.c-content-media.wave-pattern {
    background-image:
        linear-gradient(to right, #0f1d30 20%, rgba(15, 29, 48, 0.55) 50%, rgba(15, 29, 48, 0) 75%),
        url('/wp-content/uploads/bg-wave-blue.svg');
    background-repeat: no-repeat;
    background-size: 95%;
    background-position: right center;
}

.finance-your-system .c-content-media__content h2,
.finance-your-system .c-content-media__content h3,
.finance-your-system .c-content-media__content h4 {
    display: flex;
    align-items: center;
    gap: 20px;
}
.c-content-media__logo-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 151px;
    background: #fff;
    border-radius: 6px;
    padding: 9px 16px;
    position:relative;
    top:-8px;
}
.c-content-media__logo-badge img {
    display: block;
    width: 117px;
    height: auto;
}
.finance-your-system .prose ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding-left: 0;
    list-style: none;
}
.finance-your-system .prose ul li {
    position: relative;
    padding-left: 40px;
    margin-bottom: 0;
    font-weight: 900;
}
.finance-your-system .prose ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 26px;
    height: 27px;
    background-image: url('/wp-content/uploads/icon-shield-check.svg');
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width:767px){
    .c-content-media--bg-dark,
    .c-content-media.finance-your-system{
        padding:var(--space-3xl) 0;
    }

    .c-content-media__media {
        order:1;
    }

    .c-content-media__content {
        order:2;
    }
    
    .c-content-media__media img {
        clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
    }
	
	.finance-your-system .prose ul {
		grid-template-columns: 1fr;
	}
    
}


/* ----------------------- CARDS ----------------------- */

.c-cards { padding: var(--space-3xl) 0; }
.c-cards__header {/* text-align: center; *//* max-width: 700px; *//* margin: 0 auto var(--space-2xl); */}
.c-cards__grid { display: grid; gap: var(--space-lg); }
.c-cards__header .subhead {
    margin-bottom:var(--space-lg);
}
@media (min-width: 820px) {
    .c-cards--cols-2 .c-cards__grid,
    .c-cards--cols-3 .c-cards__grid,
    .c-cards--cols-4 .c-cards__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .c-cards--cols-3 .c-cards__grid { grid-template-columns: repeat(3, 1fr); }
    .c-cards--cols-4 .c-cards__grid { grid-template-columns: repeat(4, 1fr); }
}

.c-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: var(--shadow);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform var(--transition), box-shadow var(--transition);
}
a.c-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

.c-card__image {
    margin: 0;
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
    overflow: hidden;
}
.c-card__image img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
    display: block;
}
.c-card__content { padding: var(--space-lg); flex: 1; display: flex; flex-direction: column; }
.c-card__title { font-size: var(--text-xl); margin-bottom: var(--space-sm); }
.c-card__desc {/* color: var(--color-neutral-600); */flex: 1;}
.c-card__link { margin-top: var(--space-md); font-weight: 600; color: var(--color-brand); display: inline-flex; align-items: center; gap: var(--space-xs); }
.c-card__link svg { width: 1em; height: 1em; transition: transform var(--transition); }
.c-cards--style-default .c-card__link svg {
    position: relative;
    top: -.25rem;
    transition: color var(--transition);
}
a.c-card:hover .c-card__link svg { transform: translateX(4px); }

/* Card Style: Default */
.c-cards--style-default .c-card {
    box-shadow: none!important;
    transform:none !important;
}

.c-cards--style-default .c-card__image {
    clip-path:none;
}
.c-cards--style-default .c-card__image img {
    aspect-ratio: 1/1;
    object-fit: unset;
    width:100%;
    min-width:100%;
    display:block;
    height: auto!important;
    /* contain-intrinsic-size:unset; */
}
.c-cards--style-default .c-card__content {
    padding: 0;
    padding-top:var(--space-md);
}
.c-cards--style-default .c-card__title {
    font-size: unset;
    font-size: var(--text-3xl);
    transition: color var(--transition);
}
.c-cards--style-default .c-card__link {
    margin-top: var(--space-md);
    font-family: var(--font-heading);
    font-weight: 400;
    transition: color var(--transition);
}
.c-cards--style-default a.c-card:hover .c-card__title,
.c-cards--style-default a.c-card:hover .c-card__link,
.c-cards--style-default a.c-card:hover .c-card__link svg {
    color: var(--color-secondary-500);
}
.c-cards--style-default a.c-card:hover .c-card__link svg {
    transform: none;
}

/* Card Style: Horizontal */
.c-cards--style-horizontal .c-card { flex-direction: row; }
.c-cards--style-horizontal .c-card__image { flex: 0 0 40%; max-width: 40%; }
.c-cards--style-horizontal .c-card__image img { aspect-ratio: 1/1; height: 100%; }
.c-cards--style-horizontal .c-card__content { justify-content: center; }
@media (max-width: 639px) {
    .c-cards--style-horizontal .c-card { flex-direction: column; }
    .c-cards--style-horizontal .c-card__image { flex: none; max-width: 100%; }
    .c-cards--style-horizontal .c-card__image img { aspect-ratio: 16/9; height: auto; }
}

/* Card Style: Overlay */
.c-card-wrap {
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.5));
    transition: filter var(--transition);
}
.c-card-wrap:hover {
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.85));
}
.c-cards--style-overlay .c-card {
    position: relative;
    aspect-ratio: 500 / 444;
    clip-path: polygon(0 0, calc(100% - 24px) 0, 100% 24px, 100% 100%, 0 100%);
    border: 1px solid #fff;
    box-shadow: none;
}
.c-cards--style-overlay .c-card__image {
    position: absolute;
    inset: 0;
    clip-path: none;
    overflow: hidden;
}
.c-cards--style-overlay .c-card__image img {
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.c-cards--style-overlay .c-card__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 55%, transparent 100%);
}
.c-cards--style-overlay.service-area-cards .c-card__image::after {
    background: linear-gradient(to top, rgb(255 255 255 / 85%) 0%, rgb(255 255 255 / 30%) 55%, transparent 100%);
}
.c-cards--style-overlay .c-card__content {
    position: relative;
    z-index: 1;
    justify-content: flex-end;
    color: #fff;
    padding: var(--space-md);
}
.c-cards--style-overlay .c-card__title {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.2;
    color: #fff;
    margin-bottom: var(--space-xs);
    /* display: flex; */
    /* align-items: flex-end; */
    gap: 10px;
}
.c-cards--style-overlay.service-area-cards .c-card__title {
    color:var(--color-secondary-700);
    margin-bottom:0;
}
.c-cards--style-overlay .c-card__desc {
    font-size: var(--text-base);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
    margin: 0;
    flex-grow:0;
}
.c-cards--style-overlay .c-card__link { color: #fff; }
a.c-cards--style-overlay .c-card:hover .c-card__image img { transform: scale(1.05); }
.c-cards--style-overlay .c-card__image img { transition: transform var(--transition); }
.c-card__title-arrow {
    flex-shrink: 0;
    width: 18px;
    height: 19px;
    margin-bottom: 2px;
}

.service-area-cards .c-card__title-arrow * {
    fill:var(--color-secondary-700);
}

/* Card Style: Minimal */
.c-cards--style-minimal .c-card {
    flex-direction: row;
    box-shadow: none;
    border: 1px solid var(--color-neutral-200);
}
.c-cards--style-minimal .c-card__image {
    order: 2;
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    margin: var(--space-lg);
    margin-left: 0;
    border-radius: 50%;
    overflow: hidden;
}
.c-cards--style-minimal .c-card__image img {
    aspect-ratio: 1/1;
    height: 100%;
    width: 100%;
}
.c-cards--style-minimal .c-card__content {
    padding: var(--space-xl);
    flex: 1;
}
a.c-cards--style-minimal .c-card:hover {
    transform: none;
    box-shadow: none;
    border-color: var(--color-brand);
}

.c-cards--bg-white { background: #fff; }
.c-cards--bg-light { background: var(--color-neutral-50); }
.c-cards--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-cards--bg-dark .c-card { background: var(--color-neutral-800); }
.c-cards--bg-dark .c-card__desc { color: var(--color-neutral-300); }
.c-cards--bg-dark.c-cards--style-minimal .c-card { border-color: var(--color-neutral-700); }
.c-cards--bg-dark.c-cards--style-minimal a.c-card:hover { border-color: var(--color-brand-light); }

@media (max-width:819px) {
    .c-cards--style-overlay .c-card {
        aspect-ratio:unset;
        padding-top:var(--space-xl);
    }

    .c-cards--style-overlay .c-card__image::after {
            background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.3));
    }
}

@media (max-width:767px) {
    .c-card__title-arrow{
        height:16px;
        position:relative;
        top:2px;
    }
}

/* ----------------------- CTA ----------------------- */

.c-cta { padding: var(--space-3xl) 0; }
.c-cta__inner { display: flex; flex-direction: column; gap: var(--space-lg); }
.c-cta--center { text-align: center; }
.c-cta--center .c-cta__inner { align-items: center; max-width: 700px; margin: 0 auto; }

.c-cards__buttons {
    padding-top:var(--space-lg);
}


@media (min-width: 768px) {
    .c-cta--split .c-cta__inner,
    .c-cta--has-form .c-cta__inner { flex-direction: row; justify-content: space-between; align-items: center; gap: var(--space-2xl); }
    .c-cta--split .c-cta__content,
    .c-cta--has-form .c-cta__content { flex: 1; }
    .c-cta--split .c-cta__form,
    .c-cta--has-form .c-cta__form { flex: 1; max-width: 640px; }
}

.c-cta__content h2 { margin-bottom: var(--space-sm); }
.c-cta__content p { margin: 0; font-size:var(--text-lg);}
.c-cta__buttons { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.c-cta--center .c-cta__buttons { justify-content: center; }

.c-cta__form {
    background: rgba(255, 255, 255, 0.1);
    padding: var(--space-xl);
    border-radius: var(--radius);
}

.iti__selected-country,
.c-cta__form .gfield_description,
.c-cta__form legend, 
.c-cta__form label{
    display:none!important;
}

.c-cta--bg-light .c-cta__form {
    background: #fff;
    box-shadow: var(--shadow);
}

.c-cta__form .gform_wrapper { margin: 0; }
.c-cta__form .gfield {/* margin-bottom: var(--space-md); */}
.c-cta__form input:not([type="submit"]),
.c-cta__form textarea,
.c-cta__form select {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--radius);
    background: rgba(255, 255, 255, 0.9);
    font-size: var(--text-base);
}

.c-cta--bg-light .c-cta__form input:not([type="submit"]),
.c-cta--bg-light .c-cta__form textarea,
.c-cta--bg-light .c-cta__form select {
    border-color: var(--color-neutral-300);
    background: #fff;
}

.c-cta__form .gform_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 0.75em 1.5em;
    font-size: var(--text-base);
    font-weight: 600;
    text-decoration: none;
    border-radius: var(--radius);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all var(--transition);
    /* Default: white button for dark/brand backgrounds */
    background: #fff;
    color: var(--color-brand);
    border-color: #fff;
}

.c-cta__form .gform_button:hover {
    background: var(--color-neutral-100);
    border-color: var(--color-neutral-100);
}

.c-cta__form .gform_validation_errors{
    background:rgba(255,255,255,0.95)!important;
}

.gform_validation_errors *{
    color:var(--color-brand)!important;
}

.gform-icon--circle-error{
	display:none!important;
}

.gform_validation_errors ol{
	padding:0!important;
}

.gform_validation_errors li{
	list-style-type:none;
	font-size:.875rem!important;
}

.gform_body input,
.gform_body textarea {
    font-size:var(--text-xl)!important;
    padding:1.25rem 1rem!important;
    display:block!important;
    min-height:62px!important;
    border-radius:0!important;
    border:none!important;
}

.gform_body fieldset,
.gform-theme--foundation .gform-grid-row{
    margin:0!important;    
}

.gform-theme--foundation .gform_fields,
.gform-theme--foundation .gform-grid-row{
    gap:1.75rem!important;
}

.gform-theme--foundation .gform-grid-col{
    padding:0!important;
}

.gform_body input::placeholder,
.gform_body textarea::placeholder {
    color:var(--color-neutral-600);
}

.gform-theme--foundation .gform_footer{
    margin-block-start:0!important;
    margin-top:1.75rem!important;
}

/* Light background: use primary button style */
.c-cta--bg-light .c-cta__form .gform_button {
    background: var(--color-brand);
    color: #fff;
    border-color: var(--color-brand);
}

.c-cta--bg-light .c-cta__form .gform_button:hover {
    background: var(--color-brand-dark);
    border-color: var(--color-brand-dark);
}

.c-cta--bg-brand { background: var(--color-brand); color: #fff; }
.c-cta--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-cta--bg-light { background: var(--color-neutral-50); }

.c-cta--global {
    background-color: var(--color-dark-bg);
    background-image:
        linear-gradient(rgba(15, 29, 48, 0.82), rgba(15, 29, 48, 0.82)),
        url('/wp-content/uploads/cta-bg.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
}

.c-cta--global .c-cta__form {
    background: none;
    padding: 0;
    border-radius: 0;
}

.c-cta__form-heading {
    color: #fff;
    margin-bottom: var(--space-sm);
}

.c-cta .c-cta__buttons{
    margin-top:var(--space-lg);
}

@media (min-width: 1240px) {
    .c-cta--global .c-cta__headline {
        font-size: var(--text-5xl);
    }

    .c-cta--global .c-cta__form-heading {
        font-size: var(--text-4xl);
    }
}

@media (max-width:1140px) {
    .gform-theme--foundation .gform-grid-row{
        flex-direction:column!important;
        align-items:flex-start!important;
    }

    .gform-theme--foundation .gform-grid-col.gform-grid-col--size-auto{
        flex-basis:100%!important;
        inline-size:100%!important;
    }

    .gform-theme--foundation .gfield--width-half{
        grid-column:span 12!important;
    }

    .gform-theme--foundation .gform_fields, 
    .gform-theme--foundation .gform-grid-row{
        gap:var(--space-sm)!important;
    }
}

@media (max-width:767px) {
    .c-cta__inner{
        gap:var(--space-xl);
    }
}


/* ----------------------- TESTIMONIALS ----------------------- */

.c-testimonials { padding: var(--space-3xl) 0; }
.c-testimonials__header { text-align: center; max-width: 700px; margin: 0 auto var(--space-2xl); }

.c-testimonial { text-align: center; max-width: 800px; margin: 0 auto; }
.c-testimonial__icon { width: 48px; height: 48px; margin: 0 auto var(--space-lg); color: var(--color-brand); opacity: 0.3; }
.c-testimonial__quote { font-size: var(--text-xl); font-style: italic; line-height: var(--leading-relaxed); margin-bottom: var(--space-lg); }
.c-testimonial--featured .c-testimonial__quote { font-size: var(--text-2xl); }
.c-testimonial__author { display: flex; align-items: center; justify-content: center; gap: var(--space-md); text-align: left; }
.c-testimonial__photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.c-testimonial__author cite { display: block; font-style: normal; font-weight: 600; }
.c-testimonial__author span { font-size: var(--text-xs); color: #4A5565); }

/* Slider nav */
.c-testimonials__nav {
    display: flex;
    align-items: center;
    justify-content: center!important;
    gap: var(--space-md);
    margin-top: var(--space-sm)!important;
}
.c-testimonials__prev,
.c-testimonials__next {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 44px;
    height: 44px;
    background: none;
    border: 1px solid var(--color-neutral-300);
    border-radius: 50%;
    cursor: pointer;
    transition: var(--transition);
}
.c-testimonials__prev:hover,
.c-testimonials__next:hover { border-color: var(--color-neutral-500); }
.c-testimonials__prev svg,
.c-testimonials__next svg { width: 20px; height: 20px; }
.c-testimonials__dots {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.c-testimonials__dot {
    display: block;
    width: 13px;
    height: 13px;
    min-height: 13px;
    padding: 0;
    flex-shrink: 0;
    background: var(--color-neutral-300);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: var(--transition);
    appearance: none;
}
.c-testimonials__dot:hover,
.c-testimonials__dot.is-active { background: var(--color-brand); }

/* Grid layout */
.c-testimonials--grid .c-testimonials__grid { display: grid; gap: var(--space-lg); }
@media (min-width: 768px) {
    .c-testimonials--grid .c-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .c-testimonials--grid .c-testimonials__grid { grid-template-columns: repeat(3, 1fr); }
}
.c-testimonials--grid .c-testimonial { text-align: left; background: #fff; padding: var(--space-lg); border-radius: var(--radius); box-shadow: var(--shadow); }
.c-testimonials--grid .c-testimonial__author { justify-content: flex-start; }
.c-testimonials--grid .c-testimonial__icon { width: 32px; height: 32px; margin: 0 0 var(--space-md); }
.c-testimonials--grid .c-testimonial__quote { font-size: var(--text-base); }

.c-testimonials--bg-white { background: #fff; }
.c-testimonials--bg-light { background: var(--color-neutral-50); }
.c-testimonials--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-testimonials--bg-dark .c-testimonial__author span { color: var(--color-neutral-400); }

/* With-content layout */
.c-testimonials--with-content .c-testimonials__inner {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xl);
}

.c-testimonials__content {
    /* flex: 0 0 auto; */
    width: 40%;
    /* display: flex; */
    /* flex-direction: column; */
    /* gap: var(--space-md); */
}

.c-testimonials__buttons {
    margin-top: var(--space-lg);
}

.c-testimonials--with-content .c-testimonials__slider {
    flex: 1;
    min-width: 0;
    padding-bottom: var(--space-lg);
}

.c-testimonials__slider {
    overflow: hidden;
}

/* Slider track ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â all pages laid out in a row, track slides via transform */
.c-testimonials__track {
    display: flex;
    transition: transform 400ms ease-in-out;
}

.c-testimonials__page {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    min-width: 100%;
    width: 100%;
}

/* Slider card design */
.c-testimonials--slider .c-testimonial {
    background: #fff;
    border: 1px solid var(--color-neutral-200);
    border-radius: 10px;
    padding: var(--space-md);
    text-align: left;
    max-width: none;
    margin: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.c-testimonial__stars {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: var(--space-sm);
}

.c-testimonial__stars img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.c-testimonials--slider .c-testimonial__quote {
    font-style: normal;
    font-size: var(--text-sm);
    line-height: 1.5;
    flex: 1;
    margin: 0;
    padding: 0;
}

.c-testimonials--slider .c-testimonial__author {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    border-top: 1px solid var(--color-neutral-200);
    padding-top: var(--space-sm);
    margin-top: var(--space-sm);
    text-align: left;
}

.c-testimonials--slider .c-testimonial__author cite {
    font-size: var(--text-sm);
    font-weight: 900;
    color: var(--color-neutral-900);
}

.c-testimonial__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.c-testimonial__location,
.c-testimonial__date {
    font-size: var(--text-xs);
    color: var(--color-neutral-600);
}

/* Dot-only nav */
.c-testimonials--with-content .c-testimonials__nav {
    justify-content: flex-end;
    margin-top: var(--space-md);
}

@media (max-width: 960px) {
    .c-testimonials--with-content .c-testimonials__inner {
        flex-direction: column;
    }

    .c-testimonials__content {
        width: 100%;
    }

    .c-testimonials__page {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ----------------------- ACCORDION ----------------------- */

.c-accordion {
    padding: var(--space-3xl) 0;
    position: relative;
    overflow: hidden;
}

.c-accordion::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110vw;
    height: 100%;
    background-image: url('/wp-content/uploads/bg-wave-blue.svg');
    background-size: 110vw auto;
    background-repeat: no-repeat;
    background-position: center center;
    pointer-events: none;
    z-index: 0;
}

.c-accordion__inner {
    position: relative;
    z-index: 1;
}

.c-accordion__header {
    text-align: center;
    /* margin-bottom: var(--space-xl); */
}

.c-accordion__items {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 950px;
    margin: 0 auto;
}

.c-accordion__item {
    background: #fff;
    border: 1px solid var(--color-neutral-100);
    border-radius: 10px;
}

.c-accordion__item h3 {
    margin: 0;
}

.c-accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    width: 100%;
    padding: var(--space-md) var(--space-lg) var(--space-sm) var(--space-lg);
    font-family: var(--font-heading);
    font-size:var(--text-3xl);
    font-weight: 400;
    color: var(--color-secondary-500);
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    transition:all var(--transition);
}

.c-accordion__trigger:hover {
    opacity:0.6;
}

.c-accordion__icon {
    width: 36px;
    height: 22px;
    flex-shrink: 0;
    transition: transform var(--transition);
    transform: rotate(180deg)!important;
    position:relative;
    top:-.325rem;
    right:-1rem;
}

.c-accordion__item.is-open .c-accordion__icon {
    transform: rotate(0deg)!important;
}

.c-accordion__content {
    padding: 0 var(--space-lg) var(--space-md);
    color: var(--color-neutral-900);
}

.c-accordion--bg-white {
    background: #fff;
}

.c-accordion--bg-light {
    background: var(--color-neutral-50);
}


/* ----------------------- STATS ----------------------- */

.c-stats {
    padding: var(--space-3xl) 0;
}
.c-stats__header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto var(--space-xl);
}
.c-stats__grid {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.c-stat {
    flex: 1;
    min-width: 0;
    padding: var(--space-md) var(--space-lg);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.c-stat:first-child {
    padding-left: 0;
}
.c-stat:last-child {
    padding-right: 0;
}
.c-stat + .c-stat::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 100px;
    background: #d9d9d9;
}
.c-stat__number {
    font-family: var(--font-heading);
    font-size: 1.5625rem;
    font-weight: 400;
    color: var(--color-neutral-900);
    letter-spacing: 0.01em;
    line-height: 1.5;
}
.c-stat__label {
    font-family: var(--font-heading);
    font-size: var(--text-4xl);
    font-weight: 400;
    color: var(--color-secondary-500);
    line-height: 1.2;
}
.c-stat__image {
    display: block;
    max-height: 100px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 767px) {
    .c-stats__grid {
        flex-wrap: wrap;
        gap: var(--space-lg);
        row-gap: var(--space-xl);
    }
    .c-stat {
        flex: 0 0 calc(50% - var(--space-lg));
        align-items:flex-start;
        padding: 0;
    }
    .c-stat + .c-stat::before {
        display: none;
    }
}

@media (max-width:500px) {
    .c-stats__grid {
        display:flex;
        flex-direction:column;
    }
    .c-stat{
        justify-content:center;
        text-align:center;
    }
}

.c-stats--bg-white { background: #fff; }
.c-stats--bg-light { background: var(--color-neutral-50); }
.c-stats--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-stats--bg-dark .c-stat__number { color: var(--color-neutral-100); }
.c-stats--bg-dark .c-stat__label { color: var(--color-brand-light); }
.c-stats--bg-dark .c-stat + .c-stat::before { background: var(--color-neutral-700); }
.c-stats--bg-brand { background: var(--color-brand); color: #fff; }
.c-stats--bg-brand .c-stat__number { color: rgba(255, 255, 255, 0.8); }
.c-stats--bg-brand .c-stat__label { color: #fff; }
.c-stats--bg-brand .c-stat + .c-stat::before { background: rgba(255, 255, 255, 0.3); }


/* ----------------------- LOGO GRID ----------------------- */

.c-logos { padding: var(--space-2xl) 0; }
.c-logos__header { text-align: center; margin-bottom: var(--space-xl); }
.c-logos__header h2 { font-size: var(--text-lg); font-weight: 500; }
.c-logos__grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-lg) var(--space-xl); }
.c-logos__item { max-width: 140px; height: 48px; display: flex; align-items: center; }
.c-logos__item img { max-width: 100%; max-height: 100%; object-fit: contain; transition: filter var(--transition), opacity var(--transition); }
.c-logos--gray .c-logos__item img { filter: grayscale(100%); opacity: 0.6; }
.c-logos--gray .c-logos__item:hover img { filter: grayscale(0); opacity: 1; }

.c-logos--bg-white { background: #fff; }
.c-logos--bg-light { background: var(--color-neutral-50); }


/* ----------------------- FORM SECTION ----------------------- */

.c-form-section { padding: var(--space-2xl) 0; }
.c-form-section--center .c-form-section__inner { max-width: 600px; margin: 0 auto; }
.c-form-section--center .c-form-section__content { text-align: center; margin-bottom: var(--space-xl); }

@media (min-width: 768px) {
    .c-form-section--split .c-form-section__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3xl); align-items: start; }
}

.c-form-section__form {
    background: linear-gradient(to bottom, #c1d1e6, #cedaea80);
    padding: var(--space-xl);
    clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);
}

.c-form-section--bg-white { background: #fff; }
.c-form-section--bg-light { background: var(--color-neutral-50); }
.c-form-section--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-form-section--bg-dark .eyebrow { color: var(--color-brand-light); }

.c-form-section__form legend,
.c-form-section__form .gfield > .gform-field-label{
    font-family:var(--font-heading);
    font-weight:400!important;
    font-size:var(--text-2xl);
}

.c-form-section__form .gform-field-label--type-sub,
.c-form-section__form .gfield_description {
    color:var(--color-neutral-900)!important;
}

.c-form-section__form .gfield_description.validation_message{
	color:var(--color-brand)!important;
}

@media (max-width:1400px) {
    .c-form-section__form{
        padding:var(--space-lg) var(--space-md);
    }
}

@media (max-width:767px) {
    .c-form-section__inner{
        display:flex;
        flex-direction:column;
        gap:var(--space-2xl)!important;
    }
}

/* ----------------------- TEXT BLOCK ----------------------- */

.c-text-block { padding: var(--space-2xl) 0; }
.c-text-block h2 {/* margin-bottom: var(--space-lg); */}

.c-text-block--bg-white { background: #fff; }
.c-text-block--bg-light { background: var(--color-neutral-50); }
.c-text-block--bg-dark {
    background: var(--color-dark-bg);
    color: #fff;
}
.c-text-block--bg-dark .eyebrow {
    color: var(--color-brand-light);
}

.c-text-block.wave-pattern {
    background-image:
        linear-gradient(to right, #0f1d30 20%, rgba(15, 29, 48, 0.55) 50%, rgba(15, 29, 48, 0) 75%),
        url('/wp-content/uploads/bg-wave-blue.svg');
    background-repeat: no-repeat;
    background-size: 95%;
    background-position: right center;
}

.c-text-block__buttons{
    margin-top:var(--space-lg);
}

/* ----------------------- GALLERY ----------------------- */

.c-gallery { padding: var(--space-2xl) 0; }
.c-gallery__header { text-align: center; max-width: 700px; margin: 0 auto var(--space-2xl); }
.c-gallery__subhead { color: var(--color-neutral-600); margin-top: var(--space-sm); }

.c-gallery__grid {
    display: grid;
    gap: var(--space-md);
}
.c-gallery--cols-2 .c-gallery__grid { grid-template-columns: repeat(2, 1fr); }
.c-gallery--cols-3 .c-gallery__grid { grid-template-columns: repeat(2, 1fr); }
.c-gallery--cols-4 .c-gallery__grid { grid-template-columns: repeat(2, 1fr); }
.c-gallery--cols-5 .c-gallery__grid { grid-template-columns: repeat(2, 1fr); }

@media (min-width: 640px) {
    .c-gallery--cols-3 .c-gallery__grid { grid-template-columns: repeat(3, 1fr); }
    .c-gallery--cols-4 .c-gallery__grid { grid-template-columns: repeat(3, 1fr); }
    .c-gallery--cols-5 .c-gallery__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
    .c-gallery--cols-4 .c-gallery__grid { grid-template-columns: repeat(4, 1fr); }
    .c-gallery--cols-5 .c-gallery__grid { grid-template-columns: repeat(5, 1fr); }
}

.c-gallery__item {
    margin: 0;
    overflow: hidden;
    border-radius: var(--radius);
    cursor: pointer;
}
.c-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition);
}
.c-gallery__item:hover img {
    transform: scale(1.05);
}

/* Aspect ratios */
.c-gallery--square .c-gallery__item { aspect-ratio: 1/1; }
.c-gallery--landscape .c-gallery__item { aspect-ratio: 4/3; }
.c-gallery--portrait .c-gallery__item { aspect-ratio: 3/4; }
.c-gallery--wide .c-gallery__item { aspect-ratio: 16/9; }

/* Masonry layout */
.c-gallery--masonry .c-gallery__grid {
    display: block;
    column-gap: var(--space-md);
}
.c-gallery--masonry.c-gallery--cols-2 .c-gallery__grid { column-count: 2; }
.c-gallery--masonry.c-gallery--cols-3 .c-gallery__grid { column-count: 2; }
.c-gallery--masonry.c-gallery--cols-4 .c-gallery__grid { column-count: 2; }
.c-gallery--masonry.c-gallery--cols-5 .c-gallery__grid { column-count: 2; }

@media (min-width: 768px) {
    .c-gallery--masonry.c-gallery--cols-3 .c-gallery__grid { column-count: 3; }
    .c-gallery--masonry.c-gallery--cols-4 .c-gallery__grid { column-count: 3; }
    .c-gallery--masonry.c-gallery--cols-5 .c-gallery__grid { column-count: 3; }
}
@media (min-width: 1024px) {
    .c-gallery--masonry.c-gallery--cols-4 .c-gallery__grid { column-count: 4; }
    .c-gallery--masonry.c-gallery--cols-5 .c-gallery__grid { column-count: 5; }
}

.c-gallery--masonry .c-gallery__item {
    break-inside: avoid;
    margin-bottom: var(--space-md);
    aspect-ratio: auto;
}
.c-gallery--masonry .c-gallery__item img {
    height: auto;
}

/* Carousel layout */
.c-gallery__carousel {
    position: relative;
}
.c-gallery__track {
    display: flex;
    gap: var(--space-md);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: var(--space-sm);
}
.c-gallery__track::-webkit-scrollbar { display: none; }

.c-gallery__slide {
    flex: 0 0 auto;
    width: 300px;
    scroll-snap-align: start;
    margin: 0;
    border-radius: var(--radius);
    overflow: hidden;
    cursor: pointer;
}
@media (min-width: 768px) {
    .c-gallery__slide { width: 400px; }
}
.c-gallery__slide img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform var(--transition);
}
@media (min-width: 768px) {
    .c-gallery__slide img { height: 300px; }
}
.c-gallery__slide:hover img {
    transform: scale(1.05);
}

.c-gallery__prev,
.c-gallery__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: none;
    border-radius: 50%;
    box-shadow: var(--shadow);
    cursor: pointer;
    transition: background var(--transition);
    z-index: 2;
}
.c-gallery__prev:hover,
.c-gallery__next:hover { background: var(--color-neutral-100); }
.c-gallery__prev { left: var(--space-sm); }
.c-gallery__next { right: var(--space-sm); }
.c-gallery__prev svg,
.c-gallery__next svg { width: 20px; height: 20px; }

/* Backgrounds */
.c-gallery--bg-white { background: #fff; }
.c-gallery--bg-light { background: var(--color-neutral-50); }
.c-gallery--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-gallery--bg-dark .eyebrow { color: var(--color-brand-light); }
.c-gallery--bg-dark .c-gallery__subhead { color: var(--color-neutral-400); }


/* ----------------------- LIGHTBOX ----------------------- */

.c-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.c-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}
.c-lightbox__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
}
.c-lightbox__content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl);
}
.c-lightbox__close {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity var(--transition);
}
.c-lightbox__close:hover { opacity: 1; }
.c-lightbox__close svg { width: 28px; height: 28px; }

.c-lightbox__prev,
.c-lightbox__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    transition: background var(--transition);
}
.c-lightbox__prev:hover,
.c-lightbox__next:hover { background: rgba(255, 255, 255, 0.2); }
.c-lightbox__prev { left: var(--space-md); }
.c-lightbox__next { right: var(--space-md); }
.c-lightbox__prev svg,
.c-lightbox__next svg { width: 24px; height: 24px; }

.c-lightbox__figure {
    max-width: 90vw;
    max-height: 80vh;
    margin: 0;
    text-align: center;
}
.c-lightbox__image {
    max-width: 100%;
    max-height: 75vh;
    object-fit: contain;
}
.c-lightbox__caption {
    color: var(--color-neutral-400);
    font-size: var(--text-sm);
    margin-top: var(--space-md);
}
.c-lightbox__counter {
    position: absolute;
    bottom: var(--space-md);
    left: 50%;
    transform: translateX(-50%);
    color: var(--color-neutral-400);
    font-size: var(--text-sm);
}

@media (max-width: 768px) {
    .c-lightbox__prev,
    .c-lightbox__next {
        width: 40px;
        height: 40px;
        bottom: var(--space-3xl);
        top: auto;
        transform: none;
    }
    .c-lightbox__prev { left: var(--space-xl); }
    .c-lightbox__next { right: var(--space-xl); }
}


/* ----------------------- STICKY CTA ----------------------- */

.c-sticky-cta {
    display: none;
    position: fixed;
    bottom: var(--space-lg);
    right: var(--space-lg);
    z-index: 1000;
}

@media (max-width: 768px) {
    .c-sticky-cta { display: block; }
}

.c-sticky-cta__toggle {
    display: flex;
    align-items: center;
    height:56px;
    min-height: 56px;
    padding: 0;
    background: var(--color-brand);
    border: none;
    border-radius: 28px;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    transition: background var(--transition);
}
.c-sticky-cta__toggle:active { transform: scale(0.98); }

.c-sticky-cta__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
}
.c-sticky-cta__icon svg { width: 24px; height: 24px; }

.c-sticky-cta__number {
    display: block;
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
    font-weight: 600;
    font-size: var(--text-base);
    color: #fff;
    text-decoration: none;
    transition: max-width 0.3s ease, padding 0.3s ease;
    padding: 0;
}

.c-sticky-cta__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0;
    overflow: hidden;
    flex-shrink: 0;
    transition: width 0.3s ease, padding 0.3s ease;
    padding: 0;
}
.c-sticky-cta__close svg { width: 20px; height: 20px; opacity: 0.8; }

/* Expanded state */
.c-sticky-cta.is-open .c-sticky-cta__toggle {
    background: var(--color-brand-dark);
}

.c-sticky-cta.is-open .c-sticky-cta__number {
    max-width: 200px;
    padding-right: var(--space-xs);
}

.c-sticky-cta.is-open .c-sticky-cta__close {
    width: 44px;
    padding-right: var(--space-sm);
}


/* =================================================================
   ICON CARDS
   ================================================================= */

.c-icon-cards { padding: var(--space-3xl) 0; position: relative; }
.c-icon-cards--bg-light { background: var(--color-neutral-50); }
.c-icon-cards--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-icon-cards--bg-dark h2, .c-icon-cards--bg-dark h3, .c-icon-cards--bg-dark h4 { color: #fff; }
.c-icon-cards--bg-brand { background: var(--color-brand); color: #fff; }
.c-icon-cards--bg-brand h2, .c-icon-cards--bg-brand h3, .c-icon-cards--bg-brand h4 { color: #fff; }

.c-icon-cards__inner { position: relative; z-index: 1; }

.c-icon-cards__header {
    /* text-align: center; */
    /* max-width: 800px; */
    /* margin: 0 auto var(--space-2xl); */
}
.c-icon-cards__header h2, .c-icon-cards__header h3, .c-icon-cards__header h4 {
    /* font-size: var(--text-3xl); */
    /* margin-bottom: var(--space-md); */
}
.c-icon-cards__header .subhead {
    font-size: var(--text-lg);
    color: var(--color-neutral-600);
}
.c-icon-cards--bg-dark .c-icon-cards__header .subhead,
.c-icon-cards--bg-brand .c-icon-cards__header .subhead,
.c-icon-cards--bg-image .c-icon-cards__header .subhead { color: rgba(255,255,255,0.8); }

.c-icon-cards__grid {
    display: grid;
    gap: 2.75rem;
}
.c-icon-cards--cols-2 .c-icon-cards__grid { grid-template-columns: repeat(2, 1fr); }
.c-icon-cards--cols-3 .c-icon-cards__grid { grid-template-columns: repeat(3, 1fr); }
.c-icon-cards--cols-4 .c-icon-cards__grid { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 991px) {
    .c-icon-cards--cols-3 .c-icon-cards__grid,
    .c-icon-cards--cols-4 .c-icon-cards__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .c-icon-cards__grid { 
        grid-template-columns: 1fr !important; 
        gap:var(--space-md); 
    }
    
}

/* Card base */
.c-icon-card {
    --icon-color: var(--color-brand);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

/* Icon positioning */
.c-icon-cards--top .c-icon-card {
    align-items: flex-start;
}
.c-icon-cards--left .c-icon-card {
    flex-direction: row;
    align-items: flex-start;
}

/* Card styles */
.c-icon-cards--boxed .c-icon-card {
    background: #fff;
    padding: var(--space-xl);
    clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
}
.c-icon-cards--bg-dark.c-icon-cards--boxed .c-icon-card,
.c-icon-cards--bg-brand.c-icon-cards--boxed .c-icon-card,
.c-icon-cards--bg-image.c-icon-cards--boxed .c-icon-card {
    background: rgba(255,255,255,0.1);
}

.c-icon-cards--bordered .c-icon-card {
    border: 1px solid var(--color-neutral-200);
    padding: var(--space-xl);
    border-radius: var(--radius);
}
.c-icon-cards--bg-dark.c-icon-cards--bordered .c-icon-card,
.c-icon-cards--bg-brand.c-icon-cards--bordered .c-icon-card,
.c-icon-cards--bg-image.c-icon-cards--bordered .c-icon-card {
    border-color: rgba(255,255,255,0.2);
}

/* Icon */
.c-icon-card__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: var(--icon-color);
    background: color-mix(in srgb, var(--icon-color) 5%, transparent);
}
.c-icon-card__icon svg {
    width: 24px;
    height: 24px;
}
.c-icon-card__img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.c-icon-cards--bg-dark .c-icon-card__icon,
.c-icon-cards--bg-brand .c-icon-card__icon,
.c-icon-cards--bg-image .c-icon-card__icon {
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

/* Content */
.c-icon-card__content { flex: 1; }
.c-icon-card__title {
    margin-bottom: 0;
    color: var(--color-brand);
}

/* When #icon-heading-match is present, title color matches the per-card icon color */
#icon-heading-match .c-icon-card__title {
    color: var(--icon-color);
}
.c-icon-card__desc {
    font-size: var(--text-sm);
    color: var(--color-neutral-900);
    margin-bottom: var(--space-sm);
}
.c-icon-cards--bg-dark .c-icon-card__desc,
.c-icon-cards--bg-brand .c-icon-card__desc,
.c-icon-cards--bg-image .c-icon-card__desc { color: rgba(255,255,255,0.8); }

.c-icon-card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-weight: 600;
    color: var(--color-brand);
    text-decoration: none;
    transition: gap 0.2s ease;
}
.c-icon-card__link:hover { gap: var(--space-sm); }
.c-icon-card__link svg { width: 16px; height: 16px; }

.c-icon-cards--bg-dark .c-icon-card__link,
.c-icon-cards--bg-brand .c-icon-card__link,
.c-icon-cards--bg-image .c-icon-card__link { color: #fff; }

@media (max-width: 1100px) {
    .c-icon-cards__header br,
    .c-icon-card__title br {
        display: none;
    }
}


/* =================================================================
   MAP EMBED
   ================================================================= */

.c-map { padding: var(--space-2xl) 0; position: relative; }
.c-map--bg-light { background: var(--color-neutral-50); }
.c-map--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-map--bg-dark h2, .c-map--bg-dark h3, .c-map--bg-dark h4 { color: #fff; }
.c-map--bg-brand { background: var(--color-brand); color: #fff; }
.c-map--bg-brand h2, .c-map--bg-brand h3, .c-map--bg-brand h4 { color: #fff; }

.c-map__inner { position: relative; z-index: 1; }

.c-map__header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto var(--space-2xl);
}
.c-map__header h2, .c-map__header h3, .c-map__header h4 {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-md);
}
.c-map__header .subhead {
    font-size: var(--text-lg);
    color: var(--color-neutral-600);
}
.c-map--bg-dark .c-map__header .subhead,
.c-map--bg-brand .c-map__header .subhead,
.c-map--bg-image .c-map__header .subhead { color: rgba(255,255,255,0.8); }

.c-map__embed {
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.c-map__embed iframe {
    display: block;
    width: 100%;
    border: 0;
}

/* Height variants */
.c-map--h-small .c-map__embed iframe { height: 300px; }
.c-map--h-medium .c-map__embed iframe { height: 450px; }
.c-map--h-large .c-map__embed iframe { height: 600px; }

@media (max-width: 767px) {
    .c-map--h-small .c-map__embed iframe { height: 250px; }
    .c-map--h-medium .c-map__embed iframe { height: 350px; }
    .c-map--h-large .c-map__embed iframe { height: 450px; }
}


/* =================================================================
   CONTACT INFO BLOCK
   ================================================================= */

.c-contact-info { padding: var(--space-2xl) 0; position: relative; }
.c-contact-info--bg-light { background: var(--color-neutral-50); }
.c-contact-info--bg-dark { background: var(--color-dark-bg); color: #fff; }
.c-contact-info--bg-dark h2, .c-contact-info--bg-dark h3, .c-contact-info--bg-dark h4 { color: #fff; }
.c-contact-info--bg-brand { background: var(--color-brand); color: #fff; }
.c-contact-info--bg-brand h2, .c-contact-info--bg-brand h3, .c-contact-info--bg-brand h4 { color: #fff; }

.c-contact-info__inner { position: relative; z-index: 1; }

.c-contact-info__header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto var(--space-2xl);
}
.c-contact-info__header h2, .c-contact-info__header h3, .c-contact-info__header h4 {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-md);
}
.c-contact-info__header .subhead {
    font-size: var(--text-lg);
    color: var(--color-neutral-600);
}
.c-contact-info--bg-dark .c-contact-info__header .subhead,
.c-contact-info--bg-brand .c-contact-info__header .subhead,
.c-contact-info--bg-image .c-contact-info__header .subhead { color: rgba(255,255,255,0.8); }

/* Items layout */
.c-contact-info__items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xl);
}

.c-form-section .c-contact-info__items{
    margin-top:var(--space-lg);
}

@media (max-width:1081px){
    .c-form-section .c-contact-info__items > div{
        flex-basis:100%;
    }    
}

/* Stacked layout (default) */
.c-contact-info--stacked .c-contact-info__items {
    flex-direction: column;
    align-items: center;
    max-width: 500px;
    margin: 0 auto;
}
.c-contact-info--stacked .c-contact-info__item {
    text-align: center;
    flex-direction: column;
}
.c-contact-info--stacked .c-contact-info__icon { margin-bottom: var(--space-sm); }

/* Inline layout */
.c-contact-info--inline .c-contact-info__items {
    justify-content: center;
}
@media (max-width: 991px) {
    .c-contact-info--inline .c-contact-info__items {
        flex-direction: column;
        align-items: center;
    }
}

/* Individual item */
.c-contact-info__item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
}

.c-form-section .c-contact-info__item{
    flex-direction:column;
    row-gap:var(--space-sm);
}

.c-contact-info__icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #c1023017;
    border-radius: 50%;
    color: #fff;
}
.c-contact-info__icon svg {
    width: 22px;
    height: 22px;
}
.c-contact-info__icon svg circle,
.c-contact-info__icon svg polyline,
.c-contact-info__icon svg path{
    stroke:var(--color-brand);
}
.c-contact-info--bg-dark .c-contact-info__icon,
.c-contact-info--bg-brand .c-contact-info__icon,
.c-contact-info--bg-image .c-contact-info__icon {
    background: rgba(255,255,255,0.2);
}

.c-contact-info__content { flex: 1; }

.c-contact-info__label {
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    /* color: var(--color-neutral-500); */
    margin-bottom: var(--space-xs);
}
.c-contact-info--bg-dark .c-contact-info__label,
.c-contact-info--bg-brand .c-contact-info__label,
.c-contact-info--bg-image .c-contact-info__label { color: rgba(255,255,255,0.6); }

.c-contact-info__value {
    font-size: var(--text-lg);
    color: var(--color-neutral-800);
}
.c-contact-info--bg-dark .c-contact-info__value,
.c-contact-info--bg-brand .c-contact-info__value,
.c-contact-info--bg-image .c-contact-info__value { color: #fff; }

.c-contact-info__link {
    color: var(--color-brand);
    text-decoration: none;
    transition: color 0.2s ease;
}
.c-contact-info__link:hover {
    text-decoration: underline;
}
.c-contact-info--bg-dark .c-contact-info__link,
.c-contact-info--bg-brand .c-contact-info__link,
.c-contact-info--bg-image .c-contact-info__link { color: #fff; }

.c-contact-info__empty {
    text-align: center;
    color: var(--color-neutral-500);
    font-style: italic;
}


/* =================================================================
   ARCHIVE
   ================================================================= */

.archive-page { padding: var(--space-3xl) 0; }

.archive-page__header {
    margin-bottom: var(--space-2xl);
}
.archive-page__title {
    font-size: var(--text-4xl);
    margin-bottom: var(--space-sm);
}
.archive-page__description {
    font-size: var(--text-lg);
    color: var(--color-neutral-600);
    max-width: 700px;
}
.archive-page__description p:last-child { margin-bottom: 0; }

/* Archive grid */
.archive-page__grid {
    display: grid;
    gap: var(--space-xl);
}
.archive-page--grid.archive-page--cols-2 .archive-page__grid {
    grid-template-columns: repeat(2, 1fr);
}
.archive-page--grid.archive-page--cols-3 .archive-page__grid {
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991px) {
    .archive-page--grid.archive-page--cols-3 .archive-page__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .archive-page__grid { grid-template-columns: 1fr !important; }
}

/* List layout */
.archive-page--list .archive-page__grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}
.archive-page--list .archive-card {
    flex-direction: row;
    align-items: flex-start;
}
.archive-page--list .archive-card__image {
    width: 280px;
    flex-shrink: 0;
}
@media (max-width: 767px) {
    .archive-page--list .archive-card {
        flex-direction: column;
    }
    .archive-page--list .archive-card__image {
        width: 100%;
    }
}

/* Archive card */
.archive-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.archive-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
}

.archive-card__image {
    display: block;
    overflow: hidden;
}
.archive-card__image img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    transition: transform 0.3s ease;
}
.archive-card:hover .archive-card__image img {
    transform: scale(1.03);
}

.archive-card__content {
    padding: var(--space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.archive-card__header { margin-bottom: var(--space-sm); }

.archive-card__title {
    font-size: var(--text-xl);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-xs);
}
.archive-card__title a {
    color: inherit;
    text-decoration: none;
}
.archive-card__title a:hover {
    color: var(--color-brand);
}

.archive-card__meta {
    font-size: var(--text-sm);
    color: var(--color-neutral-500);
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}
.archive-card__sep { opacity: 0.5; }

.archive-card__excerpt {
    color: var(--color-neutral-600);
    flex: 1;
}
.archive-card__excerpt p { margin: 0; }

/* Empty state */
.archive-page__empty {
    text-align: center;
    padding: var(--space-3xl) var(--space-xl);
    color: var(--color-neutral-500);
}

/* Pagination */
.pagination {
    margin-top: var(--space-2xl);
    display: flex;
    justify-content: center;
}
.pagination__list {
    display: flex;
    gap: var(--space-xs);
    list-style: none;
    padding: 0;
    margin: 0;
}
.pagination__item a,
.pagination__item span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--space-sm);
    border-radius: var(--radius);
    text-decoration: none;
    font-weight: 500;
    transition: background 0.2s ease, color 0.2s ease;
}
.pagination__item a {
    color: var(--color-neutral-700);
    background: var(--color-neutral-100);
}
.pagination__item a:hover {
    background: var(--color-brand);
    color: #fff;
}
.pagination__item--current span {
    background: var(--color-brand);
    color: #fff;
}


/* =================================================================
   SINGLE POST
   ================================================================= */

.single-page { padding: var(--space-3xl) 0; }

/* Post article */
.single-post { margin-bottom: var(--space-2xl); }

.single-post__header {
    margin-bottom: var(--space-xl);
}
.single-post__title {
    font-size: var(--text-4xl);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-sm);
}
.single-post__meta {
    font-size: var(--text-sm);
    color: var(--color-neutral-500);
}

.single-post__image {
    margin-bottom: var(--space-xl);
    border-radius: var(--radius);
    overflow: hidden;
}
.single-post__image img {
    width: 100%;
    height: auto;
}

.single-post__content {
    margin-bottom: var(--space-xl);
}

.single-post__footer {
    padding-top: var(--space-lg);
    border-top: 1px solid var(--color-neutral-200);
}
.single-post__taxonomies {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    align-items: center;
    margin-bottom: var(--space-sm);
}
.single-post__taxonomies:last-child { margin-bottom: 0; }
.single-post__tax-label {
    font-weight: 600;
    color: var(--color-neutral-600);
    margin-right: var(--space-xs);
}
.single-post__taxonomies a {
    color: var(--color-brand);
    text-decoration: none;
}
.single-post__taxonomies a:hover {
    text-decoration: underline;
}

/* Author box */
.author-box {
    display: flex;
    gap: var(--space-lg);
    padding: var(--space-xl);
    background: var(--color-neutral-50);
    border-radius: var(--radius);
    margin-bottom: var(--space-2xl);
}
@media (max-width: 600px) {
    .author-box {
        flex-direction: column;
        text-align: center;
    }
}

.author-box__avatar { flex-shrink: 0; }
.author-box__img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
}

.author-box__content { flex: 1; }
.author-box__name {
    font-size: var(--text-lg);
    margin-bottom: var(--space-xs);
}
.author-box__name a {
    color: inherit;
    text-decoration: none;
}
.author-box__name a:hover {
    color: var(--color-brand);
}
.author-box__bio {
    color: var(--color-neutral-600);
    margin-bottom: var(--space-sm);
}
.author-box__bio p:last-child { margin-bottom: 0; }
.author-box__link {
    color: var(--color-brand);
    text-decoration: none;
    font-weight: 500;
}
.author-box__link:hover {
    text-decoration: underline;
}

/* Related posts */
.related-posts {
    margin-bottom: var(--space-2xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--color-neutral-200);
}
.related-posts__title {
    font-size: var(--text-2xl);
    margin-bottom: var(--space-lg);
}
.related-posts__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}
@media (max-width: 767px) {
    .related-posts__grid {
        grid-template-columns: 1fr;
    }
}

.related-posts__item {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}
.related-posts__image {
    display: block;
    overflow: hidden;
}
.related-posts__image img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    transition: transform 0.3s ease;
}
.related-posts__item:hover .related-posts__image img {
    transform: scale(1.03);
}
.related-posts__item-title {
    font-size: var(--text-base);
    padding: var(--space-md);
    padding-bottom: var(--space-xs);
}
.related-posts__item-title a {
    color: inherit;
    text-decoration: none;
}
.related-posts__item-title a:hover {
    color: var(--color-brand);
}
.related-posts__date {
    display: block;
    padding: 0 var(--space-md) var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-neutral-500);
}

/* Post navigation */
.post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--color-neutral-200);
}
@media (max-width: 600px) {
    .post-nav {
        grid-template-columns: 1fr;
    }
}

.post-nav__link {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: var(--space-lg);
    background: var(--color-neutral-50);
    border-radius: var(--radius);
    text-decoration: none;
    transition: background 0.2s ease;
}
.post-nav__link:hover {
    background: var(--color-neutral-100);
}
.post-nav__link--empty {
    opacity: 0;
    pointer-events: none;
}
.post-nav__link--next {
    text-align: right;
}

.post-nav__label {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-neutral-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.post-nav__link--next .post-nav__label {
    justify-content: flex-end;
}
.post-nav__label svg {
    width: 16px;
    height: 16px;
}

.post-nav__title {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-neutral-800);
    line-height: var(--leading-tight);
}

/* Search form */
.search-form-wrap {
    margin-bottom: var(--space-2xl);
}
.search-form {
    display: flex;
    gap: var(--space-sm);
    max-width: 500px;
}
.search-form label {
    flex: 1;
}
.search-form .search-field {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-neutral-300);
    border-radius: var(--radius);
    font-size: var(--text-base);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.search-form .search-field:focus {
    outline: none;
    border-color: var(--color-brand);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.search-form .search-submit {
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-brand);
    color: #fff;
    border: none;
    border-radius: var(--radius);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}
.search-form .search-submit:hover {
    background: var(--color-brand-dark);
}


/* =================================================================
   404 PAGE
   ================================================================= */

.error-404 {
    padding: var(--space-3xl) 0;
    min-height: 60vh;
    display: flex;
    align-items: center;
    text-align: center;
}
.error-404 .container { width: 100%; max-width: 600px; }
.error-404__code {
    font-family: var(--font-heading);
    font-size: clamp(6rem, 20vw, 12rem);
    font-weight: 700;
    line-height: 1;
    color: var(--color-neutral-200);
    margin-bottom: var(--space-md);
}
.error-404 h1 {
    font-size: var(--text-3xl);
    color: var(--color-neutral-800);
    margin-bottom: var(--space-md);
}
.error-404__content {
    color: var(--color-neutral-600);
    margin-bottom: var(--space-xl);
}
.error-404__content p { margin-bottom: var(--space-md); }
.error-404__content p:last-child { margin-bottom: 0; }
.error-404__actions {
    display: flex;
    gap: var(--space-md);
    justify-content: center;
    flex-wrap: wrap;
}

.page-content { padding: var(--space-3xl) 0; }
.page-content h1 { margin-bottom: var(--space-xl); }


/* =================================================================
   COLUMN CONTENT
   ================================================================= */

.c-col-content {
    padding: var(--space-3xl) 0;
    position: relative;
}

.c-col-content--bg-light {
    background: var(--color-neutral-50);
}

.c-col-content--bg-dark {
    background: var(--color-dark-bg);
    color: #fff;
}

.c-col-content--bg-dark h2,
.c-col-content--bg-dark h3,
.c-col-content--bg-dark h4 {
    color: #fff;
}

.c-col-content--bg-brand {
    background: var(--color-brand);
    color: #fff;
}

.c-col-content--bg-brand h2,
.c-col-content--bg-brand h3,
.c-col-content--bg-brand h4 {
    color: #fff;
}

.c-col-content__inner {
    position: relative;
    z-index: 1;
}

.c-col-content__header {
    max-width: 800px;
    margin: 0 0 var(--space-lg);
}

.c-col-content__grid {
    display: grid;
    gap: var(--space-md);
}

.c-col-content--cols-2 .c-col-content__grid {
    grid-template-columns: repeat(2, 1fr);
}

.c-col-content--cols-3 .c-col-content__grid {
    grid-template-columns: repeat(3, 1fr);
}

.c-col-content--cols-4 .c-col-content__grid {
    grid-template-columns: repeat(4, 1fr);
}

.c-col-content__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    justify-content: center;
    margin-top: var(--space-lg);
}

@media (max-width: 991px) {
    .c-col-content--cols-3 .c-col-content__grid,
    .c-col-content--cols-4 .c-col-content__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .c-col-content__grid {
        grid-template-columns: 1fr !important;
    }
}

/* =================================================================
   PRINT STYLES
   ================================================================= */

@media print {
    /* Page setup */
    @page {
        margin: 0.75in;
        size: letter;
    }

    /* Reset colors for print */
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* Typography adjustments */
    body {
        font-size: 12pt;
        line-height: 1.5;
    }

    h1 { font-size: 24pt; }
    h2 { font-size: 20pt; }
    h3 { font-size: 16pt; }
    h4, h5, h6 { font-size: 14pt; }

    /* Hide non-printable elements */
    .site-header,
    .site-footer,
    .site-nav,
    .mobile-nav-toggle,
    .skip-link,
    .c-sticky-cta,
    .btn,
    .btn--primary,
    .btn--secondary,
    .c-hero__buttons,
    .c-cta__buttons,
    .c-content-media__buttons,
    .c-cards .c-card__link,
    .search-form,
    .post-nav,
    .pagination,
    .gform_wrapper,
    .c-form-section,
    .global-cta,
    video,
    iframe,
    .c-gallery[data-layout="carousel"],
    .c-testimonials__nav,
    .c-testimonials__dots,
    noscript {
        display: none !important;
    }

    /* Show main content area */
    .site-main,
    main {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Container adjustments */
    .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Component spacing for print */
    .component {
        padding: 0.5in 0 !important;
        margin: 0 !important;
        page-break-inside: avoid;
    }

    /* Hero - simplified */
    .c-hero {
        min-height: auto !important;
        height: auto !important;
        padding: 0.25in 0 !important;
        background: none !important;
    }
    .c-hero::before { display: none !important; }
    .c-hero__content {
        position: static !important;
        transform: none !important;
    }
    .c-hero__eyebrow { color: #666 !important; }
    .c-hero__headline { font-size: 28pt !important; }

    /* Content + Media - stack vertically */
    .c-content-media__inner {
        display: block !important;
    }
    .c-content-media__media {
        max-width: 100% !important;
        margin-bottom: 0.25in !important;
    }
    .c-content-media__media img {
        max-width: 4in !important;
        height: auto !important;
    }

    /* Cards - grid for print */
    .c-cards__grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.25in !important;
    }
    .c-card {
        border: 1px solid #ccc !important;
        padding: 0.15in !important;
        page-break-inside: avoid;
    }
    .c-card__image {
        max-height: 1.5in !important;
        overflow: hidden;
    }

    /* Testimonials - show all */
    .c-testimonials__slider {
        display: block !important;
        overflow: visible !important;
    }
    .c-testimonials__slider .c-testimonial {
        display: block !important;
        width: 100% !important;
        margin-bottom: 0.25in !important;
        border: 1px solid #ccc !important;
        padding: 0.15in !important;
        page-break-inside: avoid;
    }
    .c-testimonials__slider .c-testimonial[hidden] {
        display: block !important;
    }

    /* Accordion - expand all for print */
    .c-accordion__content {
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 0.1in 0 !important;
    }
    .c-accordion__item {
        border: 1px solid #ccc !important;
        margin-bottom: 0.1in !important;
        padding: 0.1in !important;
        page-break-inside: avoid;
    }
    .c-accordion__icon { display: none !important; }

    /* Stats */
    .c-stats__grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.25in !important;
    }
    .c-stat {
        flex: 1 1 30% !important;
        text-align: center;
    }

    /* Logo grid */
    .c-logos__grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.15in !important;
    }
    .c-logos__item {
        width: 1in !important;
        filter: none !important;
    }
    .c-logos__item img {
        max-width: 100% !important;
        max-height: 0.75in !important;
    }

    /* Gallery - grid only */
    .c-gallery__grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.1in !important;
    }
    .c-gallery__item img {
        max-height: 1.5in !important;
    }

    /* Icon cards */
    .c-icon-cards__grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.2in !important;
    }
    .c-icon-card {
        border: 1px solid #ccc !important;
        padding: 0.1in !important;
        page-break-inside: avoid;
    }

    /* Contact info */
    .c-contact-info__items {
        display: block !important;
    }
    .c-contact-info__item {
        margin-bottom: 0.1in !important;
    }

    /* Map - show placeholder text */
    .c-map__embed {
        border: 1px solid #ccc !important;
        padding: 0.25in !important;
        text-align: center;
    }
    .c-map__embed::after {
        content: "[Map - See website for interactive version]";
        display: block;
        font-style: italic;
        color: #666 !important;
    }

    /* Images */
    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
    }

    /* Links - show URLs */
    a[href^="http"]:after,
    a[href^="https"]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        color: #666 !important;
        word-break: break-all;
    }

    /* Don't show URL for buttons or images */
    a.btn:after,
    a.c-card:after,
    a > img:after,
    .c-logos__item a:after {
        content: none !important;
    }

    /* Page break hints */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
    }

    p, blockquote, ul, ol, dl, table, figure {
        page-break-inside: avoid;
    }

    /* Orphan/widow control */
    p {
        orphans: 3;
        widows: 3;
    }

    /* Archive/blog posts */
    .archive-page__grid {
        display: block !important;
    }
    .archive-card {
        display: flex !important;
        gap: 0.2in !important;
        border-bottom: 1px solid #ccc !important;
        padding: 0.15in 0 !important;
        page-break-inside: avoid;
    }
    .archive-card__image {
        width: 1.5in !important;
        flex-shrink: 0;
    }

    /* Single post */
    .single-post__featured {
        max-height: 3in !important;
        overflow: hidden;
    }
    .author-box {
        border: 1px solid #ccc !important;
        padding: 0.15in !important;
        margin: 0.25in 0 !important;
    }

    /* Prose content */
    .prose {
        max-width: 100% !important;
    }
    .prose a:after {
        content: none !important; /* Too noisy in body text */
    }

    /* CTA section - text only */
    .c-cta {
        border: 2px solid #000 !important;
        padding: 0.25in !important;
        text-align: center;
    }

    /* Background sections - add border for visual separation */
    .bg--dark,
    .bg--brand,
    .bg--light {
        border: 1px solid #ccc !important;
        padding: 0.2in !important;
        margin: 0.1in 0 !important;
    }
}