/* ==========================================================================
   ECO Center — Main Stylesheet
   Colors: Navy #34407B | Brown #A37947 | Tan #B99C76 | Light Brown #E1D0BB
           Light Blue #C4C8DF | Off-white #F5F1EB | Body text #2C2C2C
   Font: Roboto (Google Fonts)
   ========================================================================== */

/* ---- Reset & Base ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; }

body {
    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    color: #2C2C2C;
    background: #fff;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
address { font-style: normal; }

/* ---- CSS Variables ---- */
:root {
    --navy:       #34407B;
    --brown:      #A37947;
    --tan:        #B99C76;
    --light-brown:#E1D0BB;
    --light-blue: #C4C8DF;
    --offwhite:   #F5F1EB;
    --body-text:  #2C2C2C;
    --white:      #ffffff;
    --radius:     4px;
    --max-width:  1200px;
    --section-v:  5rem;
}

/* ---- Container ---- */
.container {
    width: 100%;
    max-width: var(--max-width);
    margin-inline: auto;
    padding-inline: 1.5rem;
}
.container--narrow { max-width: 800px; }

/* ---- Typography ---- */
h1, h2, h3, h4 {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    line-height: 1.15;
    color: var(--navy);
}
h1 { font-size: clamp(2.5rem, 5vw, 3.75rem); }
h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h3 { font-size: 1.25rem; }

.section-label {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brown);
    margin-bottom: 0.5rem;
}
.section-label--gold { color: var(--tan); }

.section-header { margin-bottom: 2.5rem; }
.section-title { margin-top: 0.25rem; }

/* ---- Buttons ---- */
.btn {
    display: inline-block;
    padding: 0.75rem 1.75rem;
    border-radius: var(--radius);
    font-weight: 700;
    font-size: 0.9375rem;
    cursor: pointer;
    transition: opacity 0.2s, background 0.2s;
    border: 2px solid transparent;
}
.btn:hover { opacity: 0.88; }

.btn-primary   { background: var(--navy);  color: var(--white); border-color: var(--navy); }
.btn-secondary { background: var(--brown); color: var(--white); border-color: var(--brown); }
.btn-outline   { background: transparent; color: var(--white); border-color: var(--white); }
.btn-outline-navy { background: transparent; color: var(--navy); border-color: var(--navy); }

.btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

/* ---- Sections ---- */
.section { padding-block: var(--section-v); }
.section--offwhite { background: var(--offwhite); }
.section--navy     { background: var(--navy); color: var(--white); }
.section--tan      { background: var(--light-brown); }

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

/* ---- Header ---- */
.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--white);
    border-bottom: 3px solid var(--brown);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.header-inner {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-block: 0.75rem;
    max-width: var(--max-width);
    margin-inline: auto;
    padding-inline: 1.5rem;
}
.site-brand { flex-shrink: 0; }
.header-logo { max-height: 52px; width: auto; display: block; }
.site-name {
    font-size: 1.125rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    color: var(--navy);
    text-transform: uppercase;
}
.primary-nav { margin-left: auto; }
.nav-list {
    display: flex;
    gap: 0.25rem;
    list-style: none;
}
.nav-list a {
    padding: 0.4rem 0.75rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--navy);
    border-radius: var(--radius);
    transition: background 0.15s;
}
.nav-list a:hover,
.nav-list .current-menu-item > a { background: var(--offwhite); }
.nav-list .current-menu-item > a { border-bottom: 2px solid var(--brown); }

.header-cta { margin-left: 1rem; flex-shrink: 0; }

.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem;
    margin-left: auto;
}
.nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--navy);
    transition: transform 0.2s;
}

/* ---- Footer ---- */
.site-footer {
    background: var(--navy);
    color: var(--white);
    padding-top: 3.5rem;
}
.footer-inner {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.5rem;
    max-width: var(--max-width);
    margin-inline: auto;
    padding-inline: 1.5rem;
    padding-bottom: 3rem;
}
.footer-logo { max-width: 200px; height: auto; margin-bottom: 0.75rem; }
.footer-brand p { margin-top: 0.5rem; opacity: 0.8; font-size: 0.9375rem; }
.footer-nav-list { display: flex; flex-direction: column; gap: 0.5rem; }
.footer-nav-list a { opacity: 0.85; font-size: 0.9375rem; }
.footer-nav-list a:hover { opacity: 1; text-decoration: underline; }
.footer-contact p { margin-bottom: 0.5rem; font-size: 0.9375rem; opacity: 0.85; }
.footer-contact a:hover { text-decoration: underline; }
.footer-social {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.75rem;
}
.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    color: var(--white);
    transition: background 0.2s, color 0.2s;
}
.footer-social a:hover { background: var(--brown); color: var(--white); }
.social-icon { width: 16px; height: 16px; display: block; }
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.15);
    text-align: center;
    padding: 1rem 1.5rem;
    font-size: 0.8125rem;
    opacity: 0.7;
}

/* ---- Hero ---- */
.hero {
    padding-block: 5rem 4rem;
}
.hero--home {
    background: url('/wp-content/uploads/2026/04/ecocenter-external-scaled.webp') center/cover no-repeat;
    color: var(--white);
    min-height: 560px;
    display: flex;
    align-items: center;
    padding-block: 4rem;
}
.hero--home .container {
    display: flex;
    align-items: flex-start;
}
.hero__content-box {
    background: rgba(52,64,123,0.9);
    backdrop-filter: blur(2px);
    border-left: 4px solid var(--brown);
    padding: 2.5rem 2.75rem;
    max-width: 720px;
    border-radius: 0 var(--radius) var(--radius) 0;
}
.hero--home h1 { color: var(--white); }
.hero__eyebrow {
    font-style: italic;
    font-size: 1.25rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: 0.4rem;
}
.hero__ctas { margin-top: 2rem; }
@media (max-width: 768px) {
    .hero__content-box { max-width: 100%; border-radius: var(--radius); border-left-width: 4px; }
}

.hero--interior { padding-block: 3.5rem; }
.hero--navy  { background: var(--navy); color: var(--white); }
.hero--navy h1 { color: var(--white); }
.hero--tan   { background: var(--light-brown); }
.hero--offwhite { background: var(--offwhite); }
.hero--white { background: var(--white); }

/* ---- Feature Cards (Home) ---- */
.card-grid--three {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.feature-card { padding: 0; }
.feature-card__title {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    color: var(--navy);
}
.feature-card__rule {
    width: 3rem;
    height: 3px;
    background: var(--brown);
    margin-block: 0.75rem;
}

/* ---- Post Grid ---- */
.post-grid { display: grid; gap: 2rem; }
.post-grid--three { grid-template-columns: repeat(3, 1fr); }

/* ---- News Card ---- */
.news-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(52,64,123,0.07);
    border: 1px solid var(--light-brown);
    transition: box-shadow 0.2s, transform 0.2s;
}
.news-card:hover {
    box-shadow: 0 8px 32px rgba(52,64,123,0.13);
    transform: translateY(-3px);
}

/* Media area */
.news-card__media {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
    background: var(--offwhite);
    flex-shrink: 0;
}
.news-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.news-card:hover .news-card__img { transform: scale(1.04); }

/* Placeholder when no featured image */
.news-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--light-blue) 0%, var(--light-brown) 100%);
    color: var(--navy);
    opacity: 0.5;
}
.news-card__placeholder svg { width: 64px; height: 48px; }

/* Category badge overlaid on image */
.news-card__cat {
    position: absolute;
    bottom: 0.75rem;
    left: 0.75rem;
    background: var(--brown);
    color: var(--white);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.2rem 0.65rem;
    border-radius: 20px;
}

/* Card body */
.news-card__body {
    padding: 1.25rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.news-card__date {
    font-size: 0.8125rem;
    color: var(--tan);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0.4rem;
    display: block;
}
.news-card__title {
    font-size: 1.125rem;
    line-height: 1.3;
    margin-bottom: 0.6rem;
    color: var(--navy);
}
.news-card__title a { color: inherit; }
.news-card__title a:hover { color: var(--brown); }
.news-card__excerpt {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.6;
    flex: 1;
    margin-bottom: 1rem;
}
.news-card__link {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--brown);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: auto;
}
.news-card__link:hover { text-decoration: underline; }

/* Legacy post-card (kept for other templates) */
.post-card { display: flex; flex-direction: column; }
.post-card__thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.post-card__body { padding-top: 1rem; flex: 1; display: flex; flex-direction: column; }
.post-card__title { font-size: 1.25rem; margin-block: 0.5rem 0.25rem; }
.post-card__title a { color: var(--navy); }
.post-card__title a:hover { text-decoration: underline; }
.post-card__excerpt { color: #555; font-size: 0.9375rem; flex: 1; margin-bottom: 0.75rem; }
.post-link { color: var(--brown); font-weight: 700; font-size: 0.9375rem; }
.post-link:hover { text-decoration: underline; }

/* ---- Testimonials ---- */
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
.testimonial-card {
    background: var(--offwhite);
    padding: 1.5rem;
    border-left: 4px solid var(--brown);
}
.section--offwhite .testimonial-card { background: var(--white); }
.testimonial-card__body { font-style: italic; margin-bottom: 0.75rem; }
.testimonial-card__cite { font-weight: 700; font-size: 0.875rem; color: var(--navy); }

/* ---- CTA Band ---- */
.cta-band .btn-group { justify-content: center; }
.cta-band__title { color: var(--white); margin-bottom: 1.5rem; }
.cta-band__eyebrow { font-style: italic; font-size: 1.125rem; color: rgba(255,255,255,0.75); margin-bottom: 1.5rem; }

/* ---- Stats Row ---- */
.stats-row { display: flex; gap: 3rem; margin-block: 1.5rem; }
.stat__num {
    display: block;
    font-size: clamp(3rem, 6vw, 5rem);
    font-weight: 900;
    color: var(--navy);
    line-height: 1;
}
.hero--navy .stat__num { color: var(--white); }
.stat__label {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--navy);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.hero--navy .stat__label { color: rgba(255,255,255,0.8); }

/* ---- Feature List ---- */
.feature-list { list-style: none; }
.feature-list li {
    padding: 0.4rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.07);
    font-size: 0.9375rem;
}
.feature-list li:last-child { border-bottom: none; }

/* ---- Two / Three Col ---- */
.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-bottom: 3rem;
}
.two-col--60-40 { grid-template-columns: 3fr 2fr; }
.three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; }

/* ---- Rent a Space — Page Hero ---- */
.ras-hero {
    background: url('/wp-content/uploads/2026/04/gymnasium-scaled.webp') center/cover no-repeat;
    padding-block: 5rem;
    min-height: 480px;
    display: flex;
    align-items: center;
}
.ras-hero__inner { display: flex; align-items: flex-start; }
.ras-hero__text {
    background: rgba(52,64,123,0.9);
    backdrop-filter: blur(2px);
    border-left: 4px solid var(--brown);
    padding: 2.5rem 2.75rem;
    max-width: 600px;
    border-radius: 0 var(--radius) var(--radius) 0;
    color: var(--white);
}
.ras-hero__title { color: var(--white); margin-block: 0.5rem 1rem; }
.ras-hero__sub { font-size: 1.125rem; color: rgba(255,255,255,0.85); max-width: 520px; line-height: 1.7; }
.ras-hero__text .btn-outline-navy { color: var(--white); border-color: var(--white); }
@media (max-width: 768px) {
    .ras-hero__text { max-width: 100%; border-radius: var(--radius); }
}

/* ---- Stats Infographic ---- */
.stats-infographic {
    background: var(--navy);
    padding-block: 0;
}
.stats-infographic__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.infographic-stat {
    padding: 3rem 2.5rem;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.1);
    position: relative;
}
.infographic-stat:last-child { border-right: none; }
.infographic-stat--center {
    background: rgba(255,255,255,0.05);
}
.infographic-stat__icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 1.25rem;
    color: var(--brown);
}
.infographic-stat__icon svg { width: 100%; height: 100%; }
.infographic-stat__num {
    font-size: clamp(2.5rem, 4vw, 3.5rem);
    font-weight: 900;
    color: var(--white);
    line-height: 1;
    letter-spacing: -0.02em;
}
.infographic-stat--center .infographic-stat__num { color: var(--tan); }
.infographic-stat__label {
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--brown);
    margin-block: 0.5rem;
}
.infographic-stat__desc {
    font-size: 0.875rem;
    color: rgba(255,255,255,0.6);
    line-height: 1.5;
    max-width: 200px;
    margin-inline: auto;
}

/* ---- Spaces Grid (Rent a Space) ---- */
.ras-spaces__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    align-items: start;
}
.ras-space-card {
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    padding: 2rem;
    position: relative;
    background: var(--white);
    transition: box-shadow 0.2s, transform 0.2s;
}
.ras-space-card:hover {
    box-shadow: 0 8px 32px rgba(52,64,123,0.1);
    transform: translateY(-3px);
}
.ras-space-card--featured {
    border-color: var(--navy);
    border-width: 2px;
    box-shadow: 0 4px 20px rgba(52,64,123,0.1);
}
.ras-space-card__tag {
    position: absolute;
    top: -1px;
    right: 1.5rem;
    background: var(--brown);
    color: var(--white);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0.25rem 0.75rem;
    border-radius: 0 0 6px 6px;
}
.ras-space-card__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--light-brown);
}
.ras-space-card--featured .ras-space-card__header { border-bottom-color: var(--navy); }
.ras-space-card__name { font-size: 1.25rem; color: var(--navy); margin: 0; }
.ras-space-card__capacity {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--brown);
    white-space: nowrap;
}
.ras-space-card__desc {
    font-size: 0.9375rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.25rem;
}
.ras-space-card__features {
    list-style: none;
    margin-bottom: 1.5rem;
}
.ras-space-card__features li {
    font-size: 0.875rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--offwhite);
    color: #444;
    padding-left: 1.25rem;
    position: relative;
}
.ras-space-card__features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--brown);
}
.ras-space-card__features li:last-child { border-bottom: none; }
.ras-space-card__uses {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 1rem;
}
.ras-space-card__uses span {
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--offwhite);
    color: var(--navy);
    padding: 0.2rem 0.6rem;
    border-radius: 20px;
}
.ras-space-card--featured .ras-space-card__uses span {
    background: rgba(52,64,123,0.08);
}

/* ---- Trust Strip heading ---- */
.trust-strip__heading {
    font-size: 1.0625rem;
    color: #666;
    margin-block: 0.5rem 1.5rem;
}

/* ---- Rent a Space CTA ---- */
.ras-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}
.ras-cta__title { color: var(--white); margin-bottom: 0.75rem; }
.ras-cta__text p { color: rgba(255,255,255,0.8); font-size: 0.9375rem; }
.ras-cta__emails { margin-top: 0.75rem; }
.ras-cta__emails a { color: var(--tan); font-weight: 600; display: block; }
.ras-cta__emails a:hover { text-decoration: underline; }
.ras-cta__actions { display: flex; flex-direction: column; gap: 0.75rem; flex-shrink: 0; }
.ras-cta__actions .btn { text-align: center; min-width: 200px; }

/* ---- Responsive: Rent a Space ---- */
@media (max-width: 1024px) {
    .ras-spaces__grid { grid-template-columns: 1fr 1fr; }
    .ras-space-card:last-child { grid-column: span 2; }
}
@media (max-width: 768px) {
    .stats-infographic__grid { grid-template-columns: 1fr; }
    .infographic-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .infographic-stat:last-child { border-bottom: none; }
    .ras-spaces__grid { grid-template-columns: 1fr; }
    .ras-space-card:last-child { grid-column: auto; }
    .ras-cta__inner { flex-direction: column; align-items: flex-start; }
    .ras-cta__actions { flex-direction: row; flex-wrap: wrap; }
    .ras-cta__actions .btn { min-width: auto; }
}

/* ---- Spaces (legacy, kept for fallback) ---- */
.space-card {
    padding: 1.5rem;
    border: 1px solid var(--light-brown);
    border-radius: var(--radius);
    margin-bottom: 1.5rem;
}
.space-card p { margin-top: 0.5rem; font-size: 0.9375rem; color: #555; }

/* ---- Sponsorship Page ---- */

/* Hero */
.sp-hero {
    background: linear-gradient(120deg, var(--navy) 60%, #2a3366 100%);
    padding-block: 5.5rem;
    position: relative;
    overflow: hidden;
}
.sp-hero::after {
    content: "";
    position: absolute;
    top: -80px; right: -80px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(163,121,71,0.18) 0%, transparent 70%);
    pointer-events: none;
}
.sp-hero__inner { position: relative; z-index: 1; }
.sp-hero__title { color: var(--white); font-size: clamp(2.25rem, 4.5vw, 3.75rem); margin-block: 0.5rem 1rem; line-height: 1.1; }
.sp-hero__sub { color: rgba(255,255,255,0.82); font-size: 1.125rem; max-width: 560px; line-height: 1.7; margin-bottom: 0; }
.sp-hero__ctas { margin-top: 2rem; }

/* Intro */
.sp-intro__inner {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 4rem;
    align-items: start;
}
.sp-intro__text p {
    font-size: 1.0625rem;
    color: #555;
    line-height: 1.75;
    margin-bottom: 1rem;
}
.sp-intro__why {
    background: var(--offwhite);
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    padding: 2rem;
    position: sticky;
    top: 100px;
}
.sp-why-list { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; margin-top: 0.75rem; }
.sp-why-list li { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.9375rem; color: #444; line-height: 1.4; }
.sp-why-list__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brown); flex-shrink: 0; margin-top: 0.35rem; }

/* Benefits */
.sp-benefits__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.sp-benefit-card {
    background: var(--white);
    border-radius: 8px;
    padding: 2rem;
    border: 1px solid var(--light-brown);
    transition: box-shadow 0.2s, transform 0.2s;
}
.sp-benefit-card:hover { box-shadow: 0 8px 28px rgba(52,64,123,0.1); transform: translateY(-3px); }
.sp-benefit-card__icon { width: 48px; height: 48px; color: var(--brown); margin-bottom: 1.25rem; }
.sp-benefit-card__icon svg { width: 100%; height: 100%; }
.sp-benefit-card h3 { font-size: 1.0625rem; color: var(--navy); margin-bottom: 0.6rem; }
.sp-benefit-card p { font-size: 0.9rem; color: #666; line-height: 1.65; margin: 0; }

/* Who You Reach */
.sp-reach { background: var(--white); }
.sp-reach__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.sp-reach__text p { font-size: 1.0625rem; color: #555; line-height: 1.7; margin-top: 1rem; }
.sp-reach__audiences {
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    overflow: hidden;
}
.sp-audience {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.1rem 1.5rem;
    border-bottom: 1px solid var(--light-brown);
    transition: background 0.15s;
}
.sp-audience:last-child { border-bottom: none; }
.sp-audience:hover { background: var(--offwhite); }
.sp-audience__icon { width: 32px; height: 32px; color: var(--brown); flex-shrink: 0; }
.sp-audience__icon svg { width: 100%; height: 100%; }
.sp-audience span { font-size: 0.9375rem; color: #444; line-height: 1.4; }

/* Tiers */
.sp-tiers__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    align-items: start;
}
.sp-tier {
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white);
    transition: box-shadow 0.2s, transform 0.2s;
}
.sp-tier:hover { box-shadow: 0 6px 24px rgba(52,64,123,0.1); transform: translateY(-2px); }
.sp-tier--featured { border-color: var(--navy); border-width: 2px; }
.sp-tier--diamond { border-color: var(--brown); border-width: 2px; }

.sp-tier__header {
    padding: 1.25rem 1.25rem 1rem;
    position: relative;
}
.sp-tier__header--bronze  { background: #f5f0ea; border-bottom: 3px solid #b8956a; }
.sp-tier__header--silver  { background: #f0f2f5; border-bottom: 3px solid #8a9ab0; }
.sp-tier__header--gold    { background: #fdf7e8; border-bottom: 3px solid #c9a227; }
.sp-tier__header--platinum{ background: #eef0f8; border-bottom: 3px solid var(--navy); }
.sp-tier__header--diamond { background: linear-gradient(135deg, var(--navy) 0%, #4a5490 100%); border-bottom: 3px solid var(--brown); }

.sp-tier__name {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.35rem;
}
.sp-tier__header--diamond .sp-tier__name { color: rgba(255,255,255,0.75); }
.sp-tier__header--diamond .sp-tier__price { color: var(--white); }

.sp-tier__price {
    display: block;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--navy);
    line-height: 1;
}
.sp-tier__price span { font-size: 0.8125rem; font-weight: 400; color: #888; margin-left: 2px; }
.sp-tier__header--diamond .sp-tier__price span { color: rgba(255,255,255,0.6); }

.sp-tier__diamond-badge {
    position: absolute;
    top: 0; right: 0;
    background: var(--brown);
    color: var(--white);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0.2rem 0.6rem;
    border-radius: 0 0 0 6px;
}

.sp-tier__perks {
    list-style: none;
    padding: 1.1rem 1.25rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.sp-tier__perks li {
    font-size: 0.8125rem;
    color: #555;
    line-height: 1.45;
    padding-left: 1rem;
    position: relative;
}
.sp-tier__perks li::before {
    content: "";
    position: absolute;
    left: 0; top: 0.45em;
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--brown);
}

/* Custom Sponsorship */
.sp-custom { }
.sp-custom__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.sp-custom__title { color: var(--white); font-size: clamp(1.5rem, 2.5vw, 2.25rem); margin-block: 0.5rem 1rem; }
.sp-custom__text p { color: rgba(255,255,255,0.8); font-size: 1rem; line-height: 1.7; }
.sp-custom__options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.sp-custom__option {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 6px;
    padding: 1rem 1.25rem;
    transition: background 0.2s;
}
.sp-custom__option:hover { background: rgba(255,255,255,0.14); }
.sp-custom__option span { color: rgba(255,255,255,0.9); font-size: 0.9rem; line-height: 1.4; }

/* Testimonials */
.sp-testimonials__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}
.sp-testimonial-card {
    background: var(--offwhite);
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--light-brown);
}
.sp-testimonial-card__logo {
    background: var(--white);
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--light-brown);
    min-height: 72px;
    display: flex;
    align-items: center;
}
.sp-testimonial-card__logo-img { max-height: 48px; width: auto; }
.sp-testimonial-card__logo-text { font-weight: 700; font-size: 1rem; color: var(--navy); }
.sp-testimonial-card__quote { padding: 1.75rem; }
.sp-testimonial-card__mark {
    width: 28px; height: 22px;
    color: var(--light-brown);
    display: block;
    margin-bottom: 0.75rem;
}
.sp-testimonial-card__body p {
    font-size: 0.9375rem;
    color: #444;
    line-height: 1.7;
    font-style: italic;
    margin: 0 0 1rem;
}
.sp-testimonial-card__cite {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--navy);
    font-style: normal;
    letter-spacing: 0.04em;
}

/* Final CTA */
.sp-cta { background: var(--white); border-top: 3px solid var(--light-brown); }
.sp-cta__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4rem;
    align-items: center;
}
.sp-cta__title { color: var(--navy); font-size: clamp(1.75rem, 3vw, 2.5rem); margin-block: 0.5rem 1rem; line-height: 1.15; }
.sp-cta__text p { font-size: 1.0625rem; color: #555; line-height: 1.7; }
.sp-cta__emails {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-top: 1.25rem;
}
.sp-cta__emails a { color: var(--navy); font-weight: 600; font-size: 0.9375rem; }
.sp-cta__emails a:hover { text-decoration: underline; color: var(--brown); }
.sp-cta__graphic { display: flex; flex-direction: column; gap: 1.25rem; align-items: center; }
.sp-cta__circle {
    width: 140px; height: 140px;
    border-radius: 50%;
    background: var(--navy);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    text-align: center;
}
.sp-cta__circle--sm { width: 100px; height: 100px; background: var(--brown); }
.sp-cta__circle-num { font-size: 2.25rem; font-weight: 900; color: var(--white); line-height: 1; }
.sp-cta__circle--sm .sp-cta__circle-num { font-size: 1.75rem; }
.sp-cta__circle-lbl { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.7); line-height: 1.3; }

/* Responsive */
@media (max-width: 1200px) {
    .sp-tiers__grid { grid-template-columns: repeat(3, 1fr); }
    .sp-tier--diamond { grid-column: span 1; }
}
@media (max-width: 1024px) {
    .sp-intro__inner { grid-template-columns: 1fr; }
    .sp-intro__why { position: static; }
    .sp-benefits__grid { grid-template-columns: 1fr 1fr; }
    .sp-reach__inner { grid-template-columns: 1fr; }
    .sp-custom__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .sp-cta__inner { grid-template-columns: 1fr; }
    .sp-cta__graphic { flex-direction: row; justify-content: flex-start; }
}
@media (max-width: 768px) {
    .sp-tiers__grid { grid-template-columns: 1fr 1fr; }
    .sp-benefits__grid { grid-template-columns: 1fr; }
    .sp-custom__options { grid-template-columns: 1fr; }
    .sp-testimonials__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .sp-tiers__grid { grid-template-columns: 1fr; }
}

/* ---- Tier Cards (Sponsorship — legacy) ---- */
.tier-list { display: flex; flex-direction: column; gap: 1rem; }
.tier-card {
    padding: 1rem 1.25rem;
    border: 1px solid var(--light-brown);
    border-radius: var(--radius);
}
.tier-card--diamond { border-color: var(--navy); background: rgba(52,64,123,0.04); }
.tier-card__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.35rem;
}
.tier-name { font-weight: 700; color: var(--navy); }
.tier-price { font-weight: 700; color: var(--brown); }
.tier-card p { font-size: 0.875rem; color: #555; }
.tier-custom { font-size: 0.875rem; color: #777; margin-top: 0.5rem; }

/* ---- About Page ---- */

/* Hero */
.about-hero {
    background: linear-gradient(135deg, var(--navy) 0%, #3d4f8a 60%, var(--brown) 100%);
    padding-block: 5.5rem;
    position: relative;
    overflow: hidden;
}
.about-hero::before {
    content: "";
    position: absolute;
    bottom: -60px; left: -60px;
    width: 400px; height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 70%);
    pointer-events: none;
}
.about-hero__inner { position: relative; z-index: 1; }
.about-hero__title { color: var(--white); font-size: clamp(2.25rem, 4.5vw, 3.75rem); margin-block: 0.5rem 0.75rem; line-height: 1.1; }
.about-hero__sub { color: rgba(255,255,255,0.82); font-size: 1.25rem; font-style: italic; }

/* Intro + Glance */
.about-intro__inner {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 4rem;
    align-items: start;
}
.about-intro__text p { font-size: 1.0625rem; color: #555; line-height: 1.75; margin-bottom: 1rem; }
.about-glance {
    background: var(--navy);
    border-radius: 8px;
    padding: 2rem;
    position: sticky;
    top: 100px;
    color: var(--white);
}
.about-glance .section-label { color: var(--tan); }
.about-glance__title { color: var(--white); font-size: 1.25rem; margin-block: 0.4rem 1.25rem; }
.about-glance__list { list-style: none; display: flex; flex-direction: column; gap: 0; }
.about-glance__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    font-size: 0.875rem;
    color: rgba(255,255,255,0.85);
    line-height: 1.45;
}
.about-glance__list li:last-child { border-bottom: none; }
.about-glance__list svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--brown); margin-top: 1px; }

/* Transformation */
.about-transform__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}
.about-transform__text p { font-size: 1.0625rem; color: #555; line-height: 1.75; margin-bottom: 1rem; }
.about-transform__timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
    padding-left: 1.75rem;
}
.about-transform__timeline::before {
    content: "";
    position: absolute;
    left: 6px; top: 8px; bottom: 8px;
    width: 2px;
    background: var(--light-brown);
}
.about-timeline-item {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    padding-bottom: 1.75rem;
    position: relative;
}
.about-timeline-item:last-child { padding-bottom: 0; }
.about-timeline-item__dot {
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--light-brown);
    border: 2px solid var(--offwhite);
    flex-shrink: 0;
    position: absolute;
    left: -1.75rem;
    top: 3px;
}
.about-timeline-item--current .about-timeline-item__dot {
    background: var(--brown);
    border-color: var(--white);
    box-shadow: 0 0 0 3px rgba(163,121,71,0.25);
}
.about-timeline-item strong { display: block; color: var(--navy); font-size: 0.9375rem; margin-bottom: 0.2rem; }
.about-timeline-item p { font-size: 0.875rem; color: #666; margin: 0; line-height: 1.5; }

/* Trusted Venue */
.about-trusted__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4rem;
    align-items: center;
}
.about-org-list {
    list-style: none;
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.about-org-list li {
    font-weight: 700;
    color: var(--navy);
    font-size: 1rem;
    padding-left: 1.25rem;
    position: relative;
}
.about-org-list li::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--brown);
}
.about-trusted__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--light-brown);
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}
.about-stat {
    background: var(--white);
    padding: 1.5rem 1.75rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.about-stat__num {
    font-size: clamp(1.75rem, 2.5vw, 2.5rem);
    font-weight: 900;
    color: var(--navy);
    line-height: 1;
}
.about-stat__lbl {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brown);
}

/* What Makes It Unique */
.about-unique__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.about-unique-card {
    background: var(--white);
    border-radius: 8px;
    padding: 1.75rem 1.5rem;
    border: 1px solid var(--light-brown);
    border-top: 3px solid var(--brown);
    transition: box-shadow 0.2s, transform 0.2s;
}
.about-unique-card:hover { box-shadow: 0 8px 24px rgba(52,64,123,0.1); transform: translateY(-3px); }
.about-unique-card__icon { width: 44px; height: 44px; color: var(--navy); margin-bottom: 1rem; }
.about-unique-card__icon svg { width: 100%; height: 100%; }
.about-unique-card h3 { font-size: 1rem; color: var(--navy); margin-bottom: 0.5rem; }
.about-unique-card p { font-size: 0.875rem; color: #666; line-height: 1.6; margin: 0; }

/* Renovations */
.about-renos__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}
.about-renos__text p { font-size: 1.0625rem; color: #555; line-height: 1.75; margin-bottom: 1rem; }
.about-reno-items {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    overflow: hidden;
}
.about-reno-items li {
    padding: 0.9rem 1.25rem;
    font-size: 0.9375rem;
    color: #444;
    border-bottom: 1px solid var(--light-brown);
    padding-left: 2.5rem;
    position: relative;
    transition: background 0.15s;
}
.about-reno-items li:hover { background: var(--offwhite); }
.about-reno-items li:last-child { border-bottom: none; }
.about-reno-items li::before {
    content: "";
    position: absolute;
    left: 1rem; top: 50%;
    transform: translateY(-50%);
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--brown);
}

/* Tenants */
.about-tenants__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
.about-tenant-card {
    background: var(--white);
    border-radius: 8px;
    padding: 1.5rem;
    border: 1px solid var(--light-brown);
    transition: box-shadow 0.2s;
}
.about-tenant-card:hover { box-shadow: 0 4px 16px rgba(52,64,123,0.08); }
.about-tenant-card--featured {
    border-color: var(--brown);
    background: linear-gradient(135deg, #fdf9f4 0%, var(--white) 100%);
}
.about-tenant-card__name { font-size: 1rem; color: var(--navy); margin-bottom: 0.5rem; }
.about-tenant-card p { font-size: 0.875rem; color: #666; line-height: 1.6; margin: 0; }

/* Events pills */
.about-events__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.about-events__types {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.about-event-pill {
    background: var(--offwhite);
    border: 1px solid var(--light-brown);
    border-radius: 24px;
    padding: 0.5rem 1.1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--navy);
    transition: background 0.15s, border-color 0.15s;
}
.about-event-pill:hover { background: var(--light-brown); border-color: var(--tan); }

/* Looking Ahead */
.about-future__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.about-future__title { color: var(--white); font-size: clamp(1.75rem, 3vw, 2.5rem); margin-block: 0.5rem 1rem; }
.about-future__text p { color: rgba(255,255,255,0.8); line-height: 1.75; margin-bottom: 0.75rem; }
.about-future__items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.about-future-item {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 6px;
    padding: 1.1rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: background 0.2s;
}
.about-future-item:hover { background: rgba(255,255,255,0.14); }
.about-future-item__icon { width: 20px; height: 20px; color: var(--brown); flex-shrink: 0; }
.about-future-item__icon svg { width: 100%; height: 100%; }
.about-future-item span { font-size: 0.9rem; color: rgba(255,255,255,0.88); line-height: 1.4; }

/* Community Impact */
.about-impact__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4rem;
    align-items: center;
}
.about-impact__quote { text-align: center; flex-shrink: 0; }
.about-impact__mark {
    display: block;
    font-size: 8rem;
    line-height: 0.7;
    color: var(--light-brown);
    font-family: Georgia, serif;
    margin-bottom: 0.75rem;
}
.about-impact__quote p { font-size: 1.375rem; font-style: italic; color: var(--navy); font-weight: 700; line-height: 1.3; max-width: 180px; }
.about-impact__text p { font-size: 1.0625rem; color: #555; line-height: 1.75; margin-bottom: 1rem; }

/* CTA */
.about-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}
.about-cta__title { color: var(--white); font-size: clamp(1.5rem, 2.5vw, 2.25rem); margin-block: 0.5rem 0.75rem; }
.about-cta__text p { color: rgba(255,255,255,0.8); font-size: 1rem; line-height: 1.65; max-width: 480px; }
.about-cta__btns { flex-direction: column; flex-shrink: 0; }
.about-cta__btns .btn { text-align: center; min-width: 200px; }

/* Responsive: About */
@media (max-width: 1024px) {
    .about-intro__inner,
    .about-transform__inner,
    .about-renos__inner,
    .about-events__inner,
    .about-impact__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .about-intro__text { order: 1; } .about-glance { position: static; order: 2; }
    .about-trusted__inner { grid-template-columns: 1fr; }
    .about-trusted__stats { grid-template-columns: repeat(4, 1fr); }
    .about-unique__grid { grid-template-columns: repeat(2, 1fr); }
    .about-future__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .about-cta__inner { flex-direction: column; align-items: flex-start; }
    .about-cta__btns { flex-direction: row; flex-wrap: wrap; }
    .about-cta__btns .btn { min-width: auto; }
}
@media (max-width: 768px) {
    .about-tenants__grid { grid-template-columns: 1fr 1fr; }
    .about-unique__grid { grid-template-columns: 1fr 1fr; }
    .about-future__items { grid-template-columns: 1fr; }
    .about-trusted__stats { grid-template-columns: 1fr 1fr; }
    .about-impact__inner { grid-template-columns: 1fr; }
    .about-impact__quote { display: flex; align-items: center; gap: 1rem; text-align: left; }
    .about-impact__mark { font-size: 5rem; margin: 0; }
}
@media (max-width: 480px) {
    .about-tenants__grid,
    .about-unique__grid { grid-template-columns: 1fr; }
}

/* ---- About: Looking Ahead (legacy) ---- */
.ahead-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1rem;
}
.ahead-items span {
    background: rgba(255,255,255,0.15);
    padding: 0.5rem 1rem;
    border-radius: var(--radius);
    font-size: 0.9375rem;
}

/* ---- Events Page ---- */

/* Hero */
.events-hero {
    background: linear-gradient(105deg, var(--navy) 55%, var(--brown) 100%);
    padding-block: 5.5rem;
    position: relative;
    overflow: hidden;
}
.events-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
    pointer-events: none;
}
.events-hero__inner { position: relative; z-index: 1; }
.events-hero__title {
    color: var(--white);
    font-size: clamp(2.75rem, 5vw, 4.5rem);
    line-height: 1.05;
    margin-block: 0.5rem 1rem;
}
.events-hero__sub {
    color: rgba(255,255,255,0.82);
    font-size: 1.125rem;
    max-width: 540px;
    line-height: 1.7;
}

/* Event Types Grid */
.event-types__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.event-tile {
    background: var(--white);
    border: 1px solid var(--light-brown);
    border-radius: 8px;
    padding: 1.75rem 1.5rem;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
    position: relative;
    overflow: hidden;
}
.event-tile::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--brown);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}
.event-tile:hover {
    box-shadow: 0 8px 28px rgba(52,64,123,0.12);
    transform: translateY(-3px);
    border-color: var(--light-blue);
}
.event-tile:hover::before { transform: scaleX(1); }
.event-tile__icon {
    width: 44px;
    height: 44px;
    color: var(--brown);
    margin-bottom: 1rem;
}
.event-tile__icon svg { width: 100%; height: 100%; }
.event-tile__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--navy);
    margin-bottom: 0.4rem;
    line-height: 1.3;
}
.event-tile__desc {
    font-size: 0.875rem;
    color: #666;
    line-height: 1.55;
    margin: 0;
}

/* Regional Destination */
.regional-dest__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4rem;
    align-items: center;
}
.regional-dest__title {
    color: var(--white);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    margin-block: 0.5rem 1rem;
}
.regional-dest > .container > .regional-dest__inner > .regional-dest__text p {
    color: rgba(255,255,255,0.8);
    font-size: 1rem;
    line-height: 1.7;
    max-width: 500px;
}
.regional-dest__orgs {
    list-style: none;
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.regional-dest__orgs li {
    color: var(--tan);
    font-size: 0.9375rem;
    font-weight: 600;
    padding-left: 1rem;
    position: relative;
}
.regional-dest__orgs li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--brown);
}
.regional-dest__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}
.regional-dest__stat {
    background: rgba(255,255,255,0.06);
    padding: 1.75rem 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}
.regional-dest__num {
    font-size: clamp(2rem, 3vw, 2.75rem);
    font-weight: 900;
    color: var(--white);
    line-height: 1;
    letter-spacing: -0.02em;
}
.regional-dest__lbl {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--tan);
}

/* Community Section */
.community-section__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}
.community-section__text p {
    font-size: 1.0625rem;
    color: #555;
    line-height: 1.7;
    margin-top: 1rem;
}
.community-section__pillars {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.community-pillar {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.community-pillar__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--brown);
    flex-shrink: 0;
    margin-top: 0.35rem;
}
.community-pillar strong {
    display: block;
    color: var(--navy);
    font-size: 1rem;
    margin-bottom: 0.2rem;
}
.community-pillar p {
    font-size: 0.9rem;
    color: #666;
    margin: 0;
    line-height: 1.55;
}

/* Events CTA */
.events-cta {
    background: var(--offwhite);
    border-top: 3px solid var(--light-brown);
}
.events-cta__inner {
    display: flex;
    align-items: center;
    gap: 4rem;
}
.events-cta__quote {
    flex-shrink: 0;
    text-align: center;
}
.events-cta__mark {
    display: block;
    font-size: 6rem;
    line-height: 0.8;
    color: var(--light-brown);
    font-family: Georgia, serif;
    margin-bottom: 0.5rem;
}
.events-cta__quote p {
    font-size: 1.25rem;
    font-style: italic;
    color: var(--navy);
    font-weight: 600;
    max-width: 200px;
    line-height: 1.4;
}
.events-cta__heading {
    font-size: 1.75rem;
    color: var(--navy);
    margin-bottom: 1.25rem;
}

/* Responsive: Events */
@media (max-width: 1024px) {
    .event-types__grid { grid-template-columns: repeat(2, 1fr); }
    .regional-dest__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    .regional-dest__stats { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .event-types__grid { grid-template-columns: 1fr 1fr; }
    .community-section__inner { grid-template-columns: 1fr; gap: 2rem; }
    .regional-dest__stats { grid-template-columns: repeat(2, 1fr); }
    .events-cta__inner { flex-direction: column; gap: 2rem; align-items: flex-start; }
    .events-cta__quote { display: flex; align-items: center; gap: 1rem; }
    .events-cta__mark { font-size: 4rem; margin: 0; }
}
@media (max-width: 480px) {
    .event-types__grid { grid-template-columns: 1fr; }
}

/* ---- Café ---- */
.cafe-hours { font-size: 1.375rem; color: var(--navy); margin-block: 0.25rem; }
.offer-list li { padding: 0.3rem 0; font-size: 0.9375rem; }
.cafe-cta-quote { font-style: italic; color: var(--brown); margin-top: 1rem; }

/* ---- Contact ---- */
.contact-direct { margin-top: 1.5rem; }
.contact-email {
    display: block;
    font-size: 1.125rem;
    color: var(--navy);
    font-weight: 700;
    margin-bottom: 0.25rem;
}
.contact-email:hover { text-decoration: underline; }
.google-form-embed { margin-top: 1rem; }
.google-form-embed iframe { border-radius: var(--radius); }
.map-embed { margin-bottom: 1.5rem; }
.map-embed iframe { border-radius: var(--radius); width: 100%; }
.contact-links { display: flex; flex-direction: column; gap: 0.5rem; }
.social-link { color: var(--navy); font-weight: 500; }
.social-link:hover { text-decoration: underline; }
.form-note { font-size: 0.875rem; color: #777; margin-top: 0.75rem; }

/* ---- Trust Strip ---- */
.trust-logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    margin-top: 1rem;
}
.trust-name {
    font-weight: 700;
    font-size: 1.0625rem;
    color: var(--navy);
}

/* ---- Pagination ---- */
.nav-links { display: flex; gap: 0.5rem; justify-content: center; margin-top: 2.5rem; }
.nav-links a, .nav-links span {
    padding: 0.4rem 0.75rem;
    border: 1px solid var(--light-brown);
    border-radius: var(--radius);
    font-size: 0.875rem;
}
.nav-links .current { background: var(--navy); color: var(--white); border-color: var(--navy); }

/* ---- 404 ---- */
.error-404 { padding-block: 6rem; }
.error-404 h1 { margin-bottom: 1rem; }
.error-404 p { margin-bottom: 2rem; font-size: 1.125rem; color: #555; }

/* ---- Post/Entry ---- */
.post-hero-image { margin-bottom: 2rem; }
.post-hero-image img { width: 100%; max-height: 480px; object-fit: cover; border-radius: var(--radius); }
.entry-header { margin-bottom: 1.5rem; }
.entry-title { margin-block: 0.5rem; }
.entry-meta { color: #777; font-size: 0.875rem; }
.entry-content p { margin-bottom: 1.25rem; }
.entry-content h2, .entry-content h3 { margin-block: 1.5rem 0.5rem; }
.post-nav { margin-top: 3rem; border-top: 1px solid var(--light-brown); padding-top: 1.5rem; }

/* ---- Sponsor CTA link ---- */
.sponsor-cta-link {
    display: inline-block;
    margin-top: 1rem;
    color: var(--tan);
    font-weight: 700;
}
.sponsor-cta-link:hover { text-decoration: underline; }

/* ---- Value / Audience lists (Sponsorship) ---- */
.value-list, .audience-list {
    margin-block: 0.5rem 1.5rem;
}
.value-list li, .audience-list li {
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--light-brown);
    font-size: 0.9375rem;
}
.value-list li:last-child, .audience-list li:last-child { border-bottom: none; }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
    .card-grid--three,
    .post-grid--three,
    .three-col { grid-template-columns: repeat(2, 1fr); }
    .footer-inner { grid-template-columns: 1fr 1fr; }
    .footer-contact { grid-column: span 2; }
}

@media (max-width: 768px) {
    :root { --section-v: 3rem; }

    .primary-nav { display: none; }
    .primary-nav.is-open { display: block; position: absolute; top: 100%; left: 0; right: 0; background: var(--white); border-bottom: 3px solid var(--brown); padding: 1rem 1.5rem; z-index: 99; }
    .nav-list { flex-direction: column; }
    .nav-toggle { display: flex; }
    .header-cta { display: none; }

    .card-grid--three,
    .post-grid--three,
    .three-col,
    .two-col,
    .two-col--60-40 { grid-template-columns: 1fr; }

    .testimonial-grid { grid-template-columns: 1fr; }
    .footer-inner { grid-template-columns: 1fr; }
    .footer-contact { grid-column: auto; }
    .stats-row { gap: 1.5rem; }
    .ahead-items { flex-direction: column; }
    .trust-logos { flex-direction: column; align-items: center; }

    h1 { font-size: 2.25rem; }
}

@media (max-width: 480px) {
    .btn-group { flex-direction: column; align-items: stretch; }
    .btn { text-align: center; }
    .stats-row { flex-direction: column; gap: 1rem; }
}
