/* Final mobile overrides loaded after the main visual system. */
@media (max-width: 650px) {
    .home-hero {
        background:
            radial-gradient(circle at 78% 10%, rgba(200, 184, 223, .34), transparent 24%),
            linear-gradient(160deg, var(--bg) 0 57%, #ded3c5 57% 100%);
    }

    .home-hero .hero-grid {
        padding-top: 48px;
    }

    .hero-copy {
        isolation: isolate;
    }

    .hero-copy::before {
        content: '';
        position: absolute;
        top: -68px;
        right: -105px;
        z-index: -2;
        width: 260px;
        height: 260px;
        border: 1px solid rgba(31, 30, 27, .15);
        border-radius: 50%;
    }

    .hero-copy .eyebrow {
        display: inline-flex;
        margin-bottom: 24px;
        padding: 8px 11px;
        border: 1px solid rgba(31, 30, 27, .35);
        border-radius: 999px;
        background: rgba(251, 250, 247, .55);
        backdrop-filter: blur(8px);
    }

    .hero-copy .eyebrow::before {
        display: none;
    }

    .home-hero h1 {
        isolation: isolate;
        width: max-content;
        max-width: 100%;
        margin-left: -3px;
        font-size: clamp(92px, 29vw, 126px);
        letter-spacing: -.075em;
        animation: mobile-title-in .8s cubic-bezier(.2, .8, .2, 1) both;
    }

    .home-hero h1::after {
        content: '';
        position: absolute;
        right: -10px;
        bottom: -13px;
        left: 5px;
        z-index: -1;
        height: 18px;
        background: linear-gradient(100deg, var(--taupe) 0 34%, var(--sand) 52%, var(--taupe) 72% 100%);
        background-size: 220% 100%;
        box-shadow: 0 7px 16px rgba(88, 87, 71, .13);
        opacity: 0;
        transform: translateY(9px) rotate(-4deg) scaleX(0);
        transform-origin: left;
        animation: mobile-ribbon-in 1.05s .38s cubic-bezier(.16, 1, .3, 1) forwards;
    }

    .home-hero .lead {
        position: relative;
        margin: 44px 0 22px;
        padding: 3px 0 3px 18px;
        border-left: 2px solid var(--olive);
        font-size: 16px;
        line-height: 1.62;
        animation: mobile-copy-in .7s .18s ease both;
    }

    .home-hero .btn {
        box-shadow: 5px 5px 0 var(--taupe);
    }

    .editorial-grid {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 0;
    }

    .editorial-grid > div {
        padding: 28px 22px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .editorial-grid .section-title {
        font-size: clamp(43px, 13vw, 58px);
        line-height: .94;
    }

    .editorial-grid .text-muted {
        font-size: 14px;
        line-height: 1.65;
    }

    .editorial-grid .btn {
        width: 100%;
        white-space: normal;
    }

    .editorial-grid img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-position: center 42%;
    }

    .quote {
        width: min(100%, 340px);
        margin-inline: auto;
        padding: 0 8px;
        font-size: clamp(36px, 10.5vw, 46px);
        line-height: 1.04;
        letter-spacing: -.025em;
        text-align: center;
        text-wrap: balance;
    }

    .cards > .card > img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center;
    }

    .cards > .card:nth-child(3) > img {
        object-position: center 38%;
    }

    .upcoming-list {
        gap: 10px;
    }

    .upcoming-row {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 18px;
        min-height: 0;
        padding: 21px;
    }

    .upcoming-row.is-next {
        padding-top: 64px;
        box-shadow: inset 4px 0 0 var(--olive);
    }

    .next-event-badge {
        top: 18px;
        right: auto;
        left: 21px;
    }

    .upcoming-info {
        align-self: start;
    }

    .upcoming-info h3 {
        margin-bottom: 7px;
        font-size: clamp(34px, 10vw, 42px);
        line-height: .95;
    }

    .upcoming-info p {
        font-size: 13px;
        line-height: 1.5;
    }

    .upcoming-date {
        padding: 8px 11px;
        font-size: 10px;
    }

    .upcoming-row a {
        display: flex;
        min-height: 38px;
        align-items: center;
        margin-top: -4px;
    }

    .events-toggle {
        width: 100%;
        min-height: 48px;
        margin-top: 20px;
    }
}

/* COMMUNITY editorial direction on small screens */
@media (max-width: 768px) {
    body,.nav,.nav-links { background:var(--community-ivory); color:var(--community-ink) }
    .about-scrollspy { background:var(--community-paper) }
    .about-scrollspy a[aria-current="location"] { background:var(--community-sand); color:var(--community-ink) }
    .menu-toggle { border-color:var(--community-ink); color:var(--community-ink) }
    .home-hero { background:linear-gradient(155deg,var(--community-ivory) 0 75%,var(--community-paper) 75%); color:var(--community-ink) }
    .home-hero h1 { color:var(--community-coral); font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-weight:800; text-transform:uppercase }
    .home-hero .lead { color:var(--community-ink) }
    .home-hero .hero-art .float,.home-hero .hero-art .hero-photo-third { border-color:var(--community-paper) }
    .btn { border-color:var(--community-ink); background:var(--community-ink); color:var(--community-paper) }
    .hero-stats,.upcoming-events,.groups-directory,.smallgroup-form-page { background:var(--community-paper) }
    .marquee { background:var(--community-sand); color:var(--community-ink) }
    .upcoming-list,.upcoming-row,.cards > .card,.group-card,.smallgroup-form-card { background:var(--community-ivory) }
    .first-visit-section,.group-help-section,.dark { background:var(--community-sand); color:var(--community-ink) }
    .about-hero,.events-hero,.smallgroups-hero { background:var(--community-ivory) }
    .about-hero h1,.events-hero-copy h1,.smallgroups-hero-copy h1 { color:var(--community-coral) }
    .events-next { background:var(--community-coral); color:var(--community-paper) }
    .footer { background:var(--community-ink); color:var(--community-paper) }
}
/* Unified light-grey surfaces across all pages and breakpoints. */
html body { background:#ecebe7; color:#272724 }
body .nav,body .nav-links,body .about-scrollspy { background:#ecebe7 }
body .section,body .home-hero,body .about-hero,body .events-hero,body .smallgroups-hero,body .gallery-hero,body .smallgroup-form-page,body .social-section,body .vision-section,body .location-section,body .group-help-section,body #home-gallery { background:#ecebe7; color:#272724 }
body .card,body .cards>.card:nth-child(n),body .group-card,body .gallery-album,body .first-visit-card,body .first-visit-copy,body .smallgroup-form-card,body .first-visit-card .visit-note { background:#f5f4f1; color:#272724 }
body .section-title,body .dark .split .section-title,body .first-visit-copy .section-title,body #home-gallery .section-title { color:#df715f }
body .first-visit-lead,body .text-muted,body .dark .text-muted,body #home-gallery .text-muted,body .group-help-copy>p:not(.eyebrow) { color:#625e58 }
body .eyebrow,body .dark .eyebrow,body #home-gallery .eyebrow,body .first-visit-copy .eyebrow,body .visit-facts small { color:#625e58 }
body .visit-facts strong,body .hero-stat strong,body .group-help-steps strong { color:#272724 }
body .visit-facts,body .visit-facts>div+div { border-color:rgba(39,39,36,.2) }
body .visit-route { color:#272724; border-color:rgba(39,39,36,.3) }
body .marquee,body .groups-guide { background:#dedbd5; color:#272724 }
body .smallgroup-contact-form input { background:#f5f4f1; color:#272724; border-color:#a9a49c }
body #home-gallery .btn.light,body .first-visit-card .btn.light { background:#272724; color:#f5f4f1; border-color:#272724; box-shadow:none }
body .footer { background:#dedbd5; color:#272724 }
body .footer a,body .footer p,body .footer small { color:#45413d }

@keyframes mobile-title-in {
    from { opacity: 0; transform: translateY(22px) }
    to { opacity: 1; transform: translateY(0) }
}

@keyframes mobile-ribbon-in {
    0% {
        opacity: 0;
        background-position: 100% 0;
        transform: translateY(9px) rotate(-4deg) scaleX(0)
    }
    50% {
        opacity: 1;
        transform: translateY(-2px) rotate(-1deg) scaleX(1.06)
    }
    72% {
        background-position: 0 0;
        transform: translateY(1px) rotate(-2.5deg) scaleX(.985)
    }
    100% {
        opacity: 1;
        background-position: 0 0;
        transform: translateY(0) rotate(-2deg) scaleX(1)
    }
}

@keyframes mobile-copy-in {
    from { opacity: 0; transform: translateY(14px) }
    to { opacity: 1; transform: translateY(0) }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero h1,
    .home-hero h1::after,
    .home-hero .lead {
        animation: none;
    }

    .home-hero h1::after {
        opacity: 1;
        transform: translateY(0) rotate(-2deg) scaleX(1);
    }
}

/* FUSE CI mobile overrides (loaded after the main stylesheet) */
@media (max-width: 768px) {
    body { background:var(--ci-cream); color:var(--ci-navy); font-family:'Europa Grotesk SH Medium Extended','Barlow Condensed','Arial Narrow',sans-serif }
    .nav { min-height:60px; border-bottom:2px solid var(--ci-navy); background:var(--ci-cream) }
    .logo { color:var(--ci-navy); font-family:'Classic Grotesque Pro Extended','Barlow Condensed',sans-serif; font-size:29px; font-weight:900 }
    .menu-toggle { border:2px solid var(--ci-navy); background:var(--ci-coral); color:var(--ci-navy) }
    .nav-links { border-top:2px solid var(--ci-navy); background:var(--ci-cream) }
    .nav-links a { border-bottom:1px solid rgba(8,37,104,.25); font-weight:800 }
    .about-scrollspy { border-bottom:2px solid var(--ci-navy); background:var(--paper) }
    .about-scrollspy a[aria-current="location"] { background:var(--ci-coral); color:var(--ci-navy) }
    h1,h2,h3,.section-title { font-family:'Classic Grotesque Pro Extended','Barlow Condensed','Arial Narrow',sans-serif; font-weight:900; text-transform:uppercase }
    .btn { border:3px solid var(--ci-navy); background:var(--ci-coral); color:var(--ci-navy); box-shadow:6px 6px 0 var(--ci-navy) }
    .home-hero { background:var(--ci-navy); color:var(--ci-cream) }
    .home-hero h1 { color:var(--ci-coral); font-size:clamp(105px,31vw,155px); line-height:.68; text-shadow:none }
    .home-hero h1::after { display:none }
    .home-hero .lead { color:var(--ci-cream) }
    .home-hero .hero-art .main { border:0; box-shadow:8px 8px 0 var(--ci-blue) }
    .home-hero .hero-art .float,.home-hero .hero-art .hero-photo-third { border-color:var(--ci-cream) }
    .hero-stats { border:2px solid var(--ci-navy); background:var(--ci-cream); box-shadow:6px 6px 0 var(--ci-coral) }
    .hero-stat strong { color:var(--ci-blue); font-family:'Barlow Condensed',sans-serif; font-weight:900 }
    .marquee { border-color:var(--ci-navy); background:var(--ci-coral); color:var(--ci-navy) }
    .events-header .section-title { color:var(--ci-navy); font-size:clamp(64px,20vw,98px) }
    .upcoming-list { border:2px solid var(--ci-navy); background:var(--ci-cream); box-shadow:7px 7px 0 var(--ci-blue) }
    .upcoming-row { border-color:var(--ci-navy); background:var(--ci-cream) }
    .upcoming-row.is-next { box-shadow:inset 5px 0 0 var(--ci-coral) }
    .upcoming-info h3 { font-size:clamp(42px,13vw,58px) }
    .first-visit-section { background:var(--ci-sage) }
    .first-visit-card { border:2px solid var(--ci-navy); background:var(--ci-forest); color:var(--ci-cream); box-shadow:7px 7px 0 var(--ci-coral) }
    .quote { color:var(--ci-navy); font-family:'DM Serif Display','Stella',serif; font-size:clamp(42px,12vw,60px); font-style:italic; text-transform:none }
    .cards { border:0; background:transparent }
    .cards > .card { border:2px solid var(--ci-navy); background:var(--ci-cream) }
    .cards > .card:nth-child(2) { background:var(--ci-lavender) }
    .cards > .card:nth-child(3) { background:var(--ci-sage) }
    .dark { background:var(--ci-navy); color:var(--ci-cream) }
    .about-hero,.events-hero,.smallgroups-hero { background:var(--ci-cream) }
    .about-hero h1,.events-hero-copy h1,.smallgroups-hero-copy h1 { color:var(--ci-navy) }
    .events-next { border:2px solid var(--ci-navy); background:var(--ci-coral); box-shadow:6px 6px 0 var(--ci-navy) }
    .groups-guide,.group-card { border:2px solid var(--ci-navy) }
    .group-card { background:var(--ci-cream); box-shadow:5px 5px 0 var(--ci-slate) }
    .group-help-section { background:var(--ci-navy) }
    .group-help-copy .section-title span { color:var(--ci-coral) }
    .smallgroup-form-page { background:var(--ci-cream) }
    .smallgroup-form-card { border:2px solid var(--ci-navy); box-shadow:7px 7px 0 var(--ci-coral) }
    .smallgroup-contact-form input { border:2px solid var(--ci-navy); background:var(--ci-cream) }
    .footer { border-top:2px solid var(--ci-navy); background:var(--ci-forest); color:var(--ci-cream) }
}

/* Welcome Home mobile refinement */
@media (max-width: 768px) {
    body { background:#f3eddd; color:var(--ci-forest); font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif }
    .nav { border-bottom:1px solid rgba(44,75,62,.22); background:#f3eddd; box-shadow:0 4px 18px rgba(44,75,62,.05) }
    .logo { color:var(--ci-forest) }
    .menu-toggle { border:1px solid var(--ci-forest); background:transparent; color:var(--ci-forest) }
    .nav-links { border-top:1px solid rgba(44,75,62,.22); background:#f3eddd }
    .about-scrollspy { border-bottom:1px solid rgba(44,75,62,.18) }
    .about-scrollspy a[aria-current="location"] { background:rgba(113,145,137,.18); color:var(--ci-forest) }
    h1,h2,.section-title { font-family:'Stella','DM Serif Display',Georgia,serif; font-weight:400; text-transform:none }
    h3 { text-transform:none }
    .btn { border:1px solid var(--ci-forest); background:var(--ci-forest); color:var(--ci-cream); box-shadow:none }
    .home-hero { background:linear-gradient(145deg,#29493c,#1e382f); color:var(--ci-cream) }
    .home-hero h1 { color:var(--ci-orange); font-family:'Stella','DM Serif Display',serif; font-size:clamp(94px,28vw,138px); font-weight:400; text-transform:none }
    .home-hero .hero-art .main { box-shadow:0 18px 42px rgba(0,0,0,.24) }
    .home-hero .hero-art .float,.home-hero .hero-art .hero-photo-third { border-color:#f3eddd }
    .hero-stats { border:0; background:#f3eddd; box-shadow:0 12px 30px rgba(0,0,0,.14) }
    .hero-stat strong { color:var(--ci-forest); font-family:'DM Serif Display',serif; font-weight:400 }
    .marquee { border-width:1px; background:#d9d2bc; color:var(--ci-forest) }
    .events-header .section-title { color:var(--ci-forest) }
    .upcoming-list { border:1px solid rgba(44,75,62,.24); background:#f3eddd; box-shadow:0 14px 34px rgba(44,75,62,.1) }
    .upcoming-row { border-color:rgba(44,75,62,.2); background:#f3eddd }
    .upcoming-row.is-next { box-shadow:inset 4px 0 0 var(--ci-orange) }
    .first-visit-section { background:#d5dfd8 }
    .first-visit-card { border:0; background:#f8f3e6; color:var(--ci-forest); box-shadow:0 14px 34px rgba(44,75,62,.12) }
    .quote { color:var(--ci-forest) }
    .cards > .card { border:1px solid rgba(44,75,62,.22); background:#fffdf7; box-shadow:0 10px 24px rgba(44,75,62,.08) }
    .dark { background:var(--ci-forest) }
    .about-hero,.events-hero,.smallgroups-hero { background:#f3eddd }
    .about-hero h1,.events-hero-copy h1,.smallgroups-hero-copy h1 { color:var(--ci-forest) }
    .events-next { border:0; background:#e98b5b; box-shadow:0 12px 28px rgba(44,75,62,.14) }
    .groups-guide,.group-card { border:1px solid rgba(44,75,62,.22) }
    .group-card { background:#fffdf7; box-shadow:0 10px 24px rgba(44,75,62,.08) }
    .group-help-section { background:var(--ci-forest) }
    .smallgroup-form-page { background:#f3eddd }
    .smallgroup-form-card { border:0; box-shadow:0 14px 34px rgba(44,75,62,.12) }
    .smallgroup-contact-form input { border:1px solid rgba(44,75,62,.34); background:#f7f2e6 }
    .footer { border-top:0; background:#203d34 }
}

/* Cream-led harmonized palette on mobile */
@media (max-width: 768px) {
    body { background:var(--cream-100); color:var(--green-950) }
    .nav,.nav-links { background:var(--cream-100) }
    .about-scrollspy { background:var(--cream-50) }
    .about-scrollspy a[aria-current="location"] { background:var(--green-100); color:var(--green-950) }
    .btn { border-color:var(--green-800); background:var(--green-800); color:var(--cream-50) }
    .home-hero { background:linear-gradient(145deg,var(--cream-100) 0 68%,var(--green-100) 68%); color:var(--green-950) }
    .home-hero h1 { color:var(--community-coral); font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-weight:800; text-transform:uppercase }
    .home-hero .lead { color:var(--blue-650) }
    .hero-stats { background:var(--cream-50); box-shadow:0 10px 26px rgba(36,61,52,.09) }
    .marquee { background:var(--cream-300); color:var(--green-650) }
    .upcoming-events { background:var(--cream-50) }
    .upcoming-list,.upcoming-row { background:var(--cream-100) }
    .first-visit-section { background:var(--green-100) }
    .first-visit-card { background:var(--cream-50); color:var(--green-950) }
    .cards > .card { background:var(--cream-50) }
    .dark { background:var(--cream-200); color:var(--green-950) }
    .dark .text-muted { color:var(--blue-650) }
    .about-hero,.events-hero,.smallgroups-hero { background:var(--cream-100) }
    .events-next { background:var(--warm-150); color:var(--green-950) }
    .group-help-section { background:var(--cream-200); color:var(--green-950) }
    .smallgroup-form-page { background:var(--cream-100) }
    .smallgroup-form-card { background:var(--cream-50) }
    .footer { background:var(--green-800) }
}

/* Final COMMUNITY palette overrides */
@media (max-width:768px) {
    body,.nav,.nav-links { background:var(--community-ivory); color:var(--community-ink) }
    .about-scrollspy { background:var(--community-paper) }
    .about-scrollspy a[aria-current="location"] { background:var(--community-sand); color:var(--community-ink) }
    .home-hero { background:linear-gradient(155deg,var(--community-ivory) 0 75%,var(--community-paper) 75%); color:var(--community-ink) }
    .home-hero h1 { color:var(--community-coral); font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-weight:800; text-transform:uppercase }
    .home-hero .lead { color:var(--community-ink) }
    .btn { border-color:var(--community-ink); background:var(--community-ink); color:var(--community-paper) }
    .hero-stats,.upcoming-events,.groups-directory,.smallgroup-form-page { background:var(--community-paper) }
    .marquee,.first-visit-section,.group-help-section,.dark { background:var(--community-sand); color:var(--community-ink) }
    .upcoming-list,.upcoming-row,.cards>.card,.group-card,.smallgroup-form-card { background:var(--community-ivory) }
    .about-hero,.events-hero,.smallgroups-hero { background:var(--community-ivory) }
    .about-hero h1,.events-hero-copy h1,.smallgroups-hero-copy h1 { color:var(--community-coral) }
    .events-next { background:var(--community-coral); color:var(--community-paper) }
    .events-header { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:32px; padding-bottom:28px }
    .events-header .eyebrow { grid-column:1; margin:0 0 8px }
    .events-header .section-title {
        grid-column:1;
        max-width:100%;
        color:var(--community-coral);
        font-family:'Barlow Condensed','Arial Narrow',sans-serif;
        font-size:clamp(44px,13vw,56px);
        font-weight:800;
        letter-spacing:-.035em;
        line-height:.86;
        text-transform:uppercase
    }
    .events-header .section-title span:first-child { white-space:normal }
    .events-header .text-muted { grid-column:1; max-width:34ch; margin:2px 0 0; padding:20px 0 0; border-top:1px solid rgba(39,39,36,.25); border-left:0; font-size:16px; line-height:1.65 }
    .first-visit-section { padding:44px 0; background:var(--community-sand) }
    .container.first-visit-card { width:min(calc(100% - 32px),560px); border:1px solid rgba(39,39,36,.14); background:var(--community-paper); color:var(--community-ink); box-shadow:none }
    .first-visit-copy { padding:30px 22px 32px; color:var(--community-ink) }
    .first-visit-copy .eyebrow { margin-bottom:24px; color:var(--community-muted) }
    .first-visit-copy .section-title { margin-bottom:18px; color:var(--community-ink); font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-size:clamp(42px,12vw,52px); font-weight:800; letter-spacing:-.035em; line-height:.84; text-transform:uppercase }
    .first-visit-copy .section-title span { color:var(--community-coral); font-family:inherit; font-style:normal; white-space:normal }
    .first-visit-lead { display:block; margin:0; color:var(--community-muted); font-size:14px; line-height:1.65 }
    .visit-facts { margin:22px 0; border-color:rgba(39,39,36,.18) }
    .visit-facts > div { padding:12px 0 }
    .visit-facts > div + div { border-color:rgba(39,39,36,.14) }
    .visit-facts span { color:var(--community-coral) }
    .visit-facts small { color:var(--community-muted) }
    .visit-facts strong { color:var(--community-ink); font-family:'DM Serif Display',Georgia,serif; font-size:21px; font-weight:400 }
    .visit-actions { gap:12px }
    .visit-actions .btn { min-height:48px; background:var(--community-ink); color:var(--community-paper); box-shadow:none }
    .visit-route { color:var(--community-ink); border-color:rgba(39,39,36,.22) }
    .first-visit-visual { min-height:300px }
    .first-visit-visual img { filter:grayscale(1) contrast(1.04) }
    .visit-note { background:rgba(251,248,241,.96); color:var(--community-ink) }
    #home-gallery { padding:56px 0; background:var(--community-ink); color:var(--community-paper) }
    #home-gallery .split { grid-template-columns:minmax(0,1fr); gap:34px }
    #home-gallery .section-title { color:var(--community-coral); font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-size:clamp(46px,14vw,62px); font-weight:800; line-height:.88; text-transform:uppercase }
    #home-gallery .eyebrow { color:#c9c1b7 }
    #home-gallery .text-muted { color:#d9d1c7; font-size:15px; line-height:1.65 }
    #home-gallery .btn.light { border-color:var(--community-paper); background:var(--community-paper); color:var(--community-ink) }
    #home-gallery .gallery-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:120px; width:100%; height:auto; gap:8px }
    #home-gallery .gallery-mosaic img { min-width:0; border:3px solid var(--community-paper); filter:grayscale(1) contrast(1.05) }
    #home-gallery .gallery-mosaic img:nth-child(1) { grid-column:1 / -1; grid-row:span 2 }
    .footer { background:var(--community-ink); color:var(--community-paper) }
}
/* Layered editorial grey — final surface and photography system */
html body { background:#eeede9; color:#292826 }
html body .nav,html body .nav-links { background:#f5f4f0; border-color:#d5d1ca }
html body .about-scrollspy { background:#e5e2dc; border-color:#d0cbc3 }
html body .section { background:#eeede9 }
html body .home-hero,html body .about-hero,html body .events-hero,html body .smallgroups-hero { background:linear-gradient(125deg,#f3f2ee 0 64%,#dfdcd6 64%); color:#292826 }
html body .upcoming-events,html body .groups-directory,html body .smallgroup-form-page { background:#e7e4de }
html body .first-visit-section,html body .location-section { background:#dedad3 }
html body .card,html body .cards>.card:nth-child(n),html body .group-card,html body .gallery-album,html body .smallgroup-form-card { background:#f7f6f2; border:1px solid #d4cfc7; box-shadow:0 10px 28px rgba(40,36,31,.055) }
html body .first-visit-card,html body .first-visit-copy { background:#f7f6f2; color:#292826 }
html body .section-title { color:#292826 }
html body .home-hero h1,html body .first-visit-copy .section-title span,html body .events-header .section-title { color:#df715f }
html body .btn { background:#292826; color:#f7f6f2; border:1px solid #292826; box-shadow:none }
html body .btn:hover { background:#bc5647; border-color:#bc5647; color:#fff }
html body .marquee { background:#d8d3cb; color:#45403a; border-color:#c6bfb5 }
html body .social-section { background:#e2ded7 }
html body .social-card { background:#f5f2ec; color:#292826; border:1px solid #cbc4ba; box-shadow:none }
html body .social-instagram { border-top:4px solid #df715f }
html body .social-tiktok { border-top:4px solid #49453f }
html body #home-gallery { background:#34322f; color:#f5f2ec }
html body #home-gallery .section-title { color:#ed9a8b }
html body #home-gallery .text-muted,html body #home-gallery .eyebrow { color:#d8d1c7 }
html body #home-gallery .btn.light { background:#f5f2ec; color:#292826; border-color:#f5f2ec }
html body .footer { background:#d9d4cc; color:#292826; border-top:1px solid #c4bcb0 }
html body .hero-stats { background:#f7f6f2; border:1px solid #d5cfc5; box-shadow:0 12px 30px rgba(40,36,31,.07) }
html body .hero-stat strong { color:#34322f }
html body .hero-stat + .hero-stat { border-color:#d7d0c6 }
html body .first-visit-lead,html body .visit-facts small { color:#686159 }
html body .visit-facts strong { color:#292826 }
html body .hero-art img,html body .home-hero .hero-art .main,html body .home-hero .hero-art .float,html body .home-hero .hero-art .hero-photo-third,html body .card img,html body .card:hover img,html body .group-card .group-image img,html body .group-card:hover .group-image img,html body .gallery-mosaic img,html body #home-gallery .gallery-mosaic img,html body .gallery-album img,html body .about-photo,html body .events-photo,html body .first-visit-visual img { filter:brightness(.8) saturate(.9) contrast(1.03) }
@media(max-width:768px) {
    html body .home-hero,html body .about-hero,html body .events-hero,html body .smallgroups-hero { background:linear-gradient(150deg,#f3f2ee 0 76%,#dfdcd6 76%) }
    html body .first-visit-card { box-shadow:none }
    html body .social-card { min-height:280px }
}
/* Contrast contract: light surfaces use dark text; dark media retain light text. */
html body .footer h2,html body .footer h3,html body .footer p,html body .footer a,html body .footer small,
html body .vision-section h2,html body .vision-section h3,html body .vision-section p,
html body .location-section h2,html body .location-section h3,html body .location-section p,
html body .group-help-section h2,html body .group-help-section h3,html body .group-help-section p,
html body .groups-guide,html body .groups-guide p,html body .groups-guide strong,
html body .social-card strong,html body .social-card small,html body .social-card span,
html body .card h3,html body .card p,html body .group-card h3,html body .group-card p,
html body .upcoming-row:not(.is-next) .upcoming-info h3,
html body .first-visit-copy .section-title,html body .visit-facts strong { color:#292826 }
html body .footer .text-muted,html body .footer .meta,html body .footer .eyebrow,
html body .vision-section .text-muted,html body .location-section .text-muted,
html body .group-help-section .text-muted,html body .group-help-steps small { color:#625c55 }
html body .first-visit-copy .section-title span,html body .group-help-copy .section-title span { color:#bb5243 }
html body .footer a:hover { color:#a94235 }
html body .upcoming-row:not(.is-next):hover { background:#e2ddd5; color:#292826 }
html body .upcoming-row:not(.is-next):hover .upcoming-info p { color:#625c55 }
/* One photo treatment, including collage images and hover states. */
html body img[src*="/wp-content/uploads/"]:not(.logo):not([src$=".svg"]) {
    filter:brightness(.8) saturate(.9) contrast(1.03) !important;
}
html body .vision-symbol img { filter:none !important }
/* High-contrast scrollspy selection on all pages. */
html body .about-scrollspy a { color:#39352f; transition:background .18s ease,color .18s ease; border-bottom:3px solid transparent }
html body .about-scrollspy a:hover { background:#d1cbc1; color:#1e1d1b }
html body .about-scrollspy a[aria-current="location"],
html body .about-scrollspy a.active { background:#292826; color:#fff; border-bottom-color:#df715f; font-weight:800 }
html body .about-scrollspy a:focus-visible { outline:2px solid #a94235; outline-offset:-4px; background:#d1cbc1; color:#1e1d1b }
html body .about-scrollspy a[aria-current="location"]:focus-visible { background:#292826; color:#fff }
/* Location card: explicit contrast on the light-grey surface. */
html body .location-grid { border-color:#c6c0b7; background:#e5e1da }
html body .location-copy .eyebrow { color:#625b53 }
html body .location-copy .lead { color:#59534d }
html body .location-details { border-top-color:#bcb5aa }
html body .location-details span { color:#a84537 }
html body .location-details p { color:#59534d }
html body .location-details strong { color:#292826; font-weight:600 }
html body .location-copy .btn { background:#292826; border-color:#292826; color:#f7f6f2 }
html body .location-copy .btn:hover { background:#a94235; border-color:#a94235; color:#fff }
@media(max-width:650px) {
    html body .location-copy { padding:30px 22px }
    html body .location-copy .lead { font-size:15px; line-height:1.65 }
    html body .location-details { gap:18px; margin-top:22px; padding-top:22px }
    html body .location-copy .btn { margin-top:24px; width:100%; justify-content:center }
}
/* Consistent mobile navigation geometry on every page. */
@media(max-width:850px) {
    html body .nav { display:flex; align-items:center; justify-content:space-between; min-height:68px; height:68px; padding:0 20px; box-sizing:border-box; width:100%; border-bottom:1px solid #d0cbc3; box-shadow:none }
    html body .nav .logo { display:inline-flex; align-items:center; height:44px; margin:0; padding:0; font-size:28px; line-height:1; letter-spacing:-.025em; color:#292826 }
    html body .nav .menu-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:#292826; font-family:Arial,sans-serif; font-size:25px; line-height:1; box-shadow:none }
    html body .nav .menu-toggle[aria-expanded="true"] { background:#292826; color:#f5f4f1; transform:none }
    html body .nav .menu-toggle:focus-visible { outline:2px solid #bb5243; outline-offset:3px }
    html body .about-scrollspy { top:68px }
    html body.admin-bar .about-scrollspy { top:100px }
}
@media(max-width:782px) {
    html body.admin-bar .about-scrollspy { top:114px }
}
