
:root{
    --site-hero-gold:#c9a96e;
    --site-hero-gold-soft:rgba(201,169,110,.28);
    --site-hero-panel:linear-gradient(135deg,rgba(7,7,7,.76),rgba(18,14,8,.5));
    --site-hero-border:rgba(201,169,110,.36);
    --site-hero-text:rgba(255,255,255,.78);
}


[data-sr],
[data-sr].visible,
.hero *,
.ph *,
.wh *,
.film-hero *,
.bs-hero *,
.ev-hero *:not(.ev-slide),
.life-hero *,
.ann-hero *,
.loc-hero *,
.about-hero *,
.gallery-hero *,
.blog-grid-hero *,
.gbp-hero *,
.contact-intro *,
.lph *{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
}

.hero,
.ph,
.wh,
.film-hero,
.bs-hero,
.ev-hero,
.life-hero{
    min-height:560px;
    height:auto;
}

.hero{
    align-items:end;
}

.hero-inner{
    padding-bottom:64px;
}

.hero-glass,
.ph__inner,
.film-hero__content,
.bs-hero__content,
.ev-hero__inner,
.life-hero__copy{
    background:var(--site-hero-panel);
    border:1px solid rgba(255,255,255,.12);
    border-left:4px solid var(--site-hero-gold);
    border-radius:8px;
    box-shadow:0 26px 90px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
}

.wh{
    min-height:560px;
    height:560px;
}

.wh__left{
    align-items:end;
}

.wh__inner{
    width:min(520px,calc(100% - 48px));
    max-width:520px;
    margin-left:max(24px,calc((100% - 1200px)/2));
    margin-right:auto;
    margin-bottom:58px;
    padding:18px 22px 20px;
    background:var(--site-hero-panel);
    border:1px solid rgba(255,255,255,.12);
    border-left:4px solid var(--site-hero-gold);
    border-radius:8px;
    box-shadow:0 26px 90px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
}

.hero-glass{
    padding:18px 22px 20px;
    max-width:520px;
}

.ph__inner,
.film-hero__content,
.bs-hero__content,
.ev-hero__inner{
    width:min(520px,calc(100% - 48px));
    max-width:520px;
    margin-left:max(24px,calc((100% - 1200px)/2));
    margin-right:auto;
    padding:18px 22px 20px;
    display:block;
}

.ph{
    display:grid;
    align-items:end;
    padding-bottom:58px;
}

.film-hero,
.bs-hero{
    align-items:end;
    padding-bottom:58px;
}

.film-hero__content,
.bs-hero__content{
    padding-top:18px;
    padding-bottom:20px;
}

.film-hero__content::after,
.ph__scroll{
    display:none;
}

.ann-hero{
    position:relative;
    display:block;
    min-height:560px;
    height:560px;
    overflow:hidden;
}

.ann-hero__strip{
    display:none;
}

.ann-hero__center{
    position:absolute;
    inset:0;
    overflow:hidden;
}

.ann-hero__center img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 34%;
}

.ann-hero__ov{
    background:
            linear-gradient(90deg,rgba(5,5,5,.88),rgba(5,5,5,.48) 44%,rgba(5,5,5,.08)),
            linear-gradient(0deg,rgba(5,5,5,.72),transparent 58%);
}

.ann-hero__content{
    position:absolute;
    inset:auto auto 58px max(24px,calc((100% - 1200px)/2));
    display:block;
    z-index:2;
    width:min(520px,calc(100% - 48px));
    max-width:520px;
    padding:18px 22px 20px;
    background:var(--site-hero-panel);
    border:1px solid rgba(255,255,255,.12);
    border-left:4px solid var(--site-hero-gold);
    border-radius:8px;
    box-shadow:0 26px 90px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
}

.ann-hero__content-top,
.ann-hero__foot{
    display:block;
    opacity:1;
    animation:none;
}

.ann-hero__content-top{
    margin-bottom:8px;
}

.ann-hero__foot .btn-g{
    margin-top:14px;
}

.life-hero{
    align-items:end;
}

.life-hero__inner{
    grid-template-columns:minmax(0,520px) minmax(260px,360px);
    gap:24px;
    align-items:end;
    padding-top:140px;
    padding-bottom:58px;
}

.life-hero__copy{
    padding:18px 22px 20px;
}

.life-hero__card{
    padding:22px 22px;
    border-radius:8px;
}

.life-hero__card h2{
    font-size:24px;
    margin-bottom:14px;
}

/* Celebration of Life gets a calmer memorial layout, not the standard glass hero. */
.life-hero{
    min-height:640px;
    display:flex;
    align-items:center;
    background:
            radial-gradient(circle at 20% 22%,rgba(201,169,110,.14),transparent 28%),
            radial-gradient(circle at 82% 60%,rgba(255,255,255,.065),transparent 32%),
            linear-gradient(135deg,#080806 0%,#11100d 46%,#1b1711 100%);
    padding:0;
}

.life-hero::before{
    background:
            linear-gradient(90deg,rgba(201,169,110,.13) 1px,transparent 1px),
            linear-gradient(0deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:84px 84px;
    mask-image:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.88) 42%,rgba(0,0,0,.18));
    opacity:.44;
}

.life-hero::after{
    height:160px;
    background:linear-gradient(0deg,rgba(251,248,241,1),rgba(251,248,241,0));
}

.life-hero__field span:nth-child(1){
    width:420px;
    height:420px;
    right:6%;
    top:18%;
    border-color:rgba(201,169,110,.16);
}

.life-hero__field span:nth-child(2){
    width:230px;
    height:230px;
    right:22%;
    bottom:18%;
    border-color:rgba(255,255,255,.09);
}

.life-hero__field span:nth-child(3){
    left:49%;
    height:58%;
    background:linear-gradient(to bottom,transparent,rgba(201,169,110,.2),transparent);
}

.life-hero__inner{
    grid-template-columns:minmax(0,680px) minmax(320px,410px);
    gap:64px;
    align-items:center;
    padding:148px 0 86px;
}

.life-hero__copy{
    position:relative;
    padding:0 0 0 30px;
    background:transparent;
    border:0;
    border-left:1px solid rgba(201,169,110,.52);
    border-radius:0;
    box-shadow:none;
    backdrop-filter:none;
}

.life-hero__copy::before{
    content:"";
    position:absolute;
    left:-5px;
    top:7px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--site-hero-gold);
    box-shadow:0 0 0 8px rgba(201,169,110,.1);
}

.life-kicker{
    margin-bottom:14px;
    color:rgba(230,211,168,.86);
}

.life-kicker::before{
    width:18px;
}

.life-hero h1{
    max-width:680px;
    font-size:clamp(42px,5.6vw,78px);
    line-height:.95;
    margin:0 0 16px;
    color:#fffdf6;
}

.life-hero__lead{
    max-width:640px;
    font-size:15.5px;
    line-height:1.72;
    color:rgba(255,255,255,.68);
}

.life-hero__actions{
    margin-top:22px;
}

.life-hero__card{
    align-self:center;
    padding:30px 28px;
    background:linear-gradient(160deg,rgba(255,252,244,.13),rgba(255,255,255,.045));
    border:1px solid rgba(230,211,168,.22);
    border-top:4px solid rgba(201,169,110,.72);
    border-radius:8px;
    box-shadow:0 28px 90px rgba(0,0,0,.3);
    backdrop-filter:blur(10px);
}

.life-card-mark{
    margin:0 0 18px;
    font-family:var(--sans);
    font-size:10px;
    font-weight:800;
    letter-spacing:.24em;
    line-height:1.4;
    text-transform:uppercase;
    color:rgba(230,211,168,.82);
}

.life-hero__card h2{
    margin:0 0 18px;
    font-size:clamp(26px,3vw,36px);
    line-height:1.05;
    color:#fff;
}

.life-hero__card ul{
    gap:12px;
}

.life-hero__card li{
    padding-left:20px;
    color:rgba(255,255,255,.68);
    font-size:13.5px;
    line-height:1.55;
}

.ph__kicker,
.film-kicker,
.bs-kicker,
.ev-hero__kicker,
.life-kicker,
.ann-hero__eyebrow,
.hero-kicker{
    margin:0 0 8px;
    font-size:10px;
    letter-spacing:.2em;
    color:var(--site-hero-gold);
}

.wh__kicker{
    margin:0 0 8px;
    font-size:10px;
    letter-spacing:.2em;
    color:var(--site-hero-gold);
}

.wh__kicker::before{
    width:20px;
}

.hero-h1,
.ph__title,
.wh__title,
.film-hero h1,
.bs-hero h1,
.ev-hero__h1,
.life-hero h1,
.ann-hero__title{
    font-size:clamp(30px,3.15vw,42px);
    line-height:1;
    letter-spacing:0;
    margin:0 0 9px;
    max-width:100%;
}

.wh__title .reveal-wrap,
.wh__title .reveal-line,
.ph__title .rw,
.ph__title .rl,
.ann-hero__title .rw,
.ann-hero__title .rl{
    display:inline;
    overflow:visible;
    transform:none;
    opacity:1;
    animation:none;
}

.ann-hero__title .rw + .rw::before{
    content:" ";
}

.wh__desc{
    font-size:13.5px;
    line-height:1.55;
    color:rgba(240,235,224,.68);
    max-width:460px;
    margin:0 0 18px;
    font-weight:300;
    letter-spacing:.01em;
}

.wh__cta-row{
    gap:10px;
    margin-top:14px;
}

.hero-sub,
.ph__sub,
.film-hero__lead,
.bs-hero__lead,
.ev-hero__sub,
.life-hero__lead,
.ann-hero__sub{
    font-size:13.5px;
    line-height:1.5;
    margin:0;
    max-width:470px;
    color:var(--site-hero-text);
}

.hero-ctas,
.ph__cta,
.film-hero__actions,
.bs-hero__actions,
.ev-hero__ctas,
.life-hero__actions{
    gap:10px;
    margin-top:14px;
}

.hero-btn,
.btn-g,
.btn-gh,
.film-btn,
.bs-btn,
.ev-btn-gold,
.ev-btn-ghost,
.life-btn,
.loc-btn{
    min-height:40px;
    padding:0 18px;
    border-radius:999px;
    font-size:10px;
    line-height:40px;
}

.lph{
    padding:104px 24px 52px;
}

.lph__eyebrow{
    margin-bottom:8px;
    font-size:10px;
    letter-spacing:.22em;
}

.lph__title{
    font-size:clamp(32px,4.2vw,54px);
    line-height:1;
    margin-bottom:10px;
}

.film-hero__stats,
.bs-hero__stats{
    max-width:100%;
    margin-top:14px;
}

.film-hero__stats div,
.bs-hero__stats div{
    padding:12px 14px;
}

.film-hero__stats dt,
.bs-hero__stats dt{
    font-size:25px;
}

.film-hero__stats dd,
.bs-hero__stats dd{
    font-size:11px;
}

.loc-hero--simple{
    padding:88px 0 42px;
}

.loc-hero .loc-wrap{
    width:min(640px,calc(100% - 48px));
    margin-left:max(24px,calc((100% - 1200px)/2));
    margin-right:auto;
    padding:20px 24px 22px;
    background:var(--site-hero-panel);
    border:1px solid rgba(255,255,255,.12);
    border-left:4px solid var(--site-hero-gold);
    border-radius:8px;
    box-shadow:0 26px 90px rgba(0,0,0,.28);
}

.loc-hero h1,
.about-hero h1,
.gallery-hero h1,
.blog-grid-hero h1,
.gbp-card h1,
.contact-intro h1{
    font-size:clamp(31px,3.6vw,48px);
    line-height:1;
    letter-spacing:0;
}

.loc-hero p{
    margin-top:10px;
    font-size:14px;
    line-height:1.58;
}

.about-hero,
.blog-grid-hero,
.gallery-page,
.gbp-hero,
.contact-page{
    padding-top:84px;
}

.about-hero__inner,
.blog-grid-hero .blog-wrap,
.gallery-hero,
.gbp-card,
.contact-intro{
    border-radius:8px;
}

@media (max-width:900px){
    .hero,
    .ph,
    .wh,
    .film-hero,
    .bs-hero,
    .ev-hero,
    .life-hero,
    .ann-hero{
        min-height:540px;
    }

    .wh{
        grid-template-columns:1fr;
    }

    .wh__right{
        display:none;
    }

    .hero-inner{
        padding:0 18px 42px;
    }

    .ph,
    .film-hero,
    .bs-hero{
        padding-bottom:38px;
    }

    .hero-glass,
    .ph__inner,
    .wh__inner,
    .film-hero__content,
    .bs-hero__content,
    .ev-hero__inner,
    .ann-hero__content,
    .life-hero__copy,
    .loc-hero .loc-wrap{
        width:calc(100% - 32px);
        max-width:none;
        margin-left:16px;
        margin-right:16px;
        padding:17px 18px 19px;
    }

    .ann-hero__content{
        left:0;
        bottom:38px;
    }

    .life-hero__inner{
        grid-template-columns:1fr;
        gap:16px;
        padding:118px 0 38px;
    }

    .life-hero__card{
        display:none;
    }

    .hero-h1,
    .ph__title,
    .film-hero h1,
    .bs-hero h1,
    .ev-hero__h1,
    .life-hero h1,
    .ann-hero__title{
        font-size:clamp(30px,9vw,38px);
    }

    .hero-ctas,
    .ph__cta,
    .film-hero__actions,
    .bs-hero__actions,
    .ev-hero__ctas,
    .life-hero__actions{
        display:flex;
    }
}

@media (max-width:900px){
    .life-hero{
        min-height:720px;
    }

    .life-hero__inner{
        grid-template-columns:1fr;
        gap:22px;
        padding:120px 0 54px;
    }

    .life-hero__copy{
        width:calc(100% - 32px);
        margin:0 16px;
        padding-left:22px;
    }

    .life-hero__card{
        display:block;
        width:calc(100% - 32px);
        margin:0 16px;
        padding:20px 20px;
    }

    .life-card-mark{
        margin-bottom:10px;
    }

    .life-hero__card h2{
        font-size:24px;
        margin-bottom:12px;
    }

    .life-hero__card li{
        font-size:13px;
    }
}

@media (max-width:760px){
    .hero,
    .ph,
    .film-hero,
    .bs-hero,
    .ev-hero,
    .ann-hero,
    .wh{
        min-height:690px;
        align-items:flex-end;
    }

    .hero,
    .ph,
    .film-hero,
    .bs-hero,
    .ev-hero,
    .wh{
        padding-top:250px;
        padding-bottom:22px;
    }

    .ann-hero{
        height:690px;
    }

    .hero-bg,
    .ph__bg img,
    .film-hero__media img,
    .bs-hero__media img,
    .ann-hero__center img,
    .wh__venue{
        object-position:center top;
    }

    .hero-veil,
    .ph__ov,
    .film-hero__shade,
    .bs-hero__veil,
    .ann-hero__ov,
    .wh__left-veil{
        background:
                linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.16) 30%,rgba(0,0,0,.68) 72%,rgba(0,0,0,.88) 100%),
                linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.06));
    }

    .hero-inner{
        padding:0 16px 0;
    }

    .hero-glass,
    .ph__inner,
    .wh__inner,
    .film-hero__content,
    .bs-hero__content,
    .ev-hero__inner,
    .ann-hero__content{
        width:calc(100% - 32px);
        margin-left:16px;
        margin-right:16px;
        padding:15px 16px 16px;
        max-width:none;
        background:linear-gradient(135deg,rgba(8,8,8,.82),rgba(18,14,8,.62));
        backdrop-filter:blur(10px);
    }

    .ann-hero__content{
        left:0;
        bottom:22px;
    }

    .wh__inner{
        margin-bottom:0;
    }

    .hero-h1,
    .ph__title,
    .wh__title,
    .film-hero h1,
    .bs-hero h1,
    .ev-hero__h1,
    .ann-hero__title{
        font-size:clamp(28px,8.5vw,35px);
        line-height:1.02;
        margin-bottom:8px;
    }

    .hero-sub,
    .ph__sub,
    .film-hero__lead,
    .bs-hero__lead,
    .ev-hero__sub,
    .ann-hero__sub{
        font-size:12.75px;
        line-height:1.48;
    }

    .hero-ctas,
    .ph__cta,
    .film-hero__actions,
    .bs-hero__actions,
    .ev-hero__ctas,
    .wh__cta-row{
        gap:8px;
        margin-top:12px;
    }

    .hero-btn,
    .btn-g,
    .btn-gh,
    .film-btn,
    .bs-btn,
    .ev-btn-gold,
    .ev-btn-ghost,
    .loc-btn{
        min-height:38px;
        line-height:38px;
        padding:0 14px;
        font-size:9px;
    }

    .life-hero{
        min-height:760px;
    }

    .life-hero__inner{
        padding:116px 0 44px;
    }

    .life-hero__copy,
    .life-hero__card{
        background:rgba(10,9,7,.42);
        backdrop-filter:blur(8px);
    }
}

/* Events page mobile hero: keep the animated globe tight to the glass panel. */
@media(max-width:768px){
    .ev-hero.ev-hero{
        display:block;
        height:auto;
        min-height:0;
        padding-top:210px;
        padding-bottom:0;
        align-items:initial;
        overflow:hidden;
    }

    .ev-hero .ev-canvas{
        display:block;
        position:absolute;
        top:0;
        left:0;
        right:auto;
        width:100%;
        height:210px;
    }

    .ev-hero .ev-hero__veil{
        background:linear-gradient(180deg,rgba(5,5,5,.04) 0%,rgba(5,5,5,.14) 48%,rgba(5,5,5,.76) 100%);
    }

    .ev-hero .ev-hero__inner{
        position:relative;
        z-index:2;
        width:100%;
        max-width:none;
        margin:0;
        padding:14px 16px 18px;
        border-radius:0;
    }

    .ev-hero .ev-hero__kicker{
        margin-bottom:10px;
        font-size:7.5px;
        letter-spacing:.28em;
    }

    .ev-hero .ev-hero__h1{
        font-size:clamp(29px,9vw,38px);
        line-height:1.02;
        margin-bottom:8px;
    }

    .ev-hero .ev-hero__sub{
        font-size:12.5px;
        line-height:1.48;
        margin-bottom:0;
    }

    .ev-hero .ev-strip__label{
        display:none;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   Homepage mobile hero — compact image
   top + light gloss panel below.
   .hero.hero raises specificity above
   earlier .hero rules in this file.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:768px){
    .hero.hero{
        display:block;
        height:auto;min-height:0;
        overflow:visible;
        align-items:initial;
        padding-top:0;padding-bottom:0;
    }

    .hero .hero-bg{
        position:static;
        display:block;
        width:100%;height:275px;
        object-fit:cover;object-position:center 28%;
    }

    .hero .hero-veil{display:none}

    .hero .hero-inner{
        position:relative;
        z-index:2;
        padding:0;
        margin-top:-28px;
        padding-bottom:0;
    }

    .hero .hero-glass{
        width:100%;
        max-width:none;
        margin-left:0;margin-right:0;
        background:var(--site-hero-panel);
        backdrop-filter:none;-webkit-backdrop-filter:none;
        border:1px solid rgba(255,255,255,.12);
        border-left:4px solid var(--site-hero-gold);
        border-radius:0;
        padding:18px 20px 22px;
        box-shadow:0 26px 90px rgba(0,0,0,.32);
    }

    .hero .hero-eyebrow{color:var(--site-hero-gold);letter-spacing:.18em}
    .hero .hero-eyebrow::before{background:var(--site-hero-gold)}
    .hero .hero-h1{color:#fff;font-size:clamp(26px,7.5vw,36px);line-height:1.05}
    .hero .hero-h1 em{color:var(--site-hero-gold)}
    .hero .hero-sub{
        color:var(--site-hero-text);
        font-size:12px;
        line-height:1.5;
        max-width:none;
        width:100%;
    }

    .hero .hero-ctas{gap:8px;margin-top:12px}
    .hero .hero-ctas a{width:100%;justify-content:center}

    .hero .btn-ghost{
        border-color:rgba(201,169,110,.4);
        color:rgba(201,169,110,.9);
    }
    .hero .btn-ghost:hover{
        border-color:var(--site-hero-gold);
        background:rgba(201,169,110,.08);
        color:var(--site-hero-gold);
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   Wedding hero (.wh) mobile fix —
   undo site-hero overrides so
   wedding.css grid layout takes over.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width:767px){

    /* ── Wedding hero: same pattern as homepage hero ── */
    .wh.wh{
        display:block;
        height:auto;
        min-height:0;
        overflow:visible;
        padding:0;
    }

    /* Left panel becomes a static image block */
    .wh .wh__left{
        display:block;
        overflow:visible;
        height:auto;
        position:relative;
    }

    /* Image sits in normal flow, fixed height */
    .wh .wh__venue{
        position:static;
        display:block;
        width:100%;
        height:275px;
        object-fit:cover;
        object-position:center 30%;
    }

    /* Hide the dark veil over the photo */
    .wh .wh__left-veil{
        display:none;
    }

    /* Glossy card pulls up over the bottom of the image */
    .wh .wh__inner{
        position:relative;
        z-index:2;
        margin-top:-28px;
        margin-left:14px;
        margin-right:14px;
        padding:22px 20px 26px;
        width:auto;
        max-width:none;
        background:var(--site-hero-panel);
        border:1px solid rgba(255,255,255,.12);
        border-left:4px solid var(--site-hero-gold);
        border-radius:8px;
        box-shadow:0 26px 90px rgba(0,0,0,.32);
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
        align-self:unset;
    }

    /* Text colours — same as other dark heroes */
    .wh .wh__kicker{ color:var(--site-hero-gold); }
    .wh .wh__kicker::before{ background:var(--site-hero-gold); }
    .wh .wh__title{ color:#fff; font-size:clamp(30px,8.5vw,42px); line-height:1.02; margin-bottom:10px; }
    .wh .wh__title em{ color:var(--site-hero-gold); }
    .wh__desc{ font-size:12.5px; max-width:100%; margin-bottom:14px; color:var(--site-hero-text); }
    .wh .wh__cta-row{ gap:8px; margin-top:14px; }
    .wh .wh__cta-row a{ width:100%; justify-content:center; }

    /* Hide couple image on mobile */
    .wh .wh__right{
        display:none;
    }
}

/* ── Section 2-col headers → single col on mobile ── */
@media(max-width:768px){
    .section-header-2col,
    .process-header{
        grid-template-columns:1fr !important;
        gap:12px !important;
        margin-bottom:28px;
    }
    .section-header-2col .body-txt,
    .process-header .body-txt{
        font-size:13px !important;
        line-height:1.6 !important;
        align-self:auto !important;
    }
}

/* Events page mobile intro: compact horizontal card instead of stacked loose text. */
@media(max-width:768px){
    #events .section-header-2col{
        display:grid !important;
        grid-template-columns:.95fr 1.05fr !important;
        gap:14px !important;
        align-items:center !important;
        margin:0 0 22px !important;
        padding:16px 14px !important;
        border:1px solid rgba(201,169,110,.22);
        border-left:4px solid var(--site-hero-gold);
        border-radius:8px;
        background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(201,169,110,.045));
        box-shadow:0 18px 60px rgba(0,0,0,.22);
    }

    #events .section-header-2col .eyebrow{
        margin-bottom:8px;
        font-size:7.5px;
        line-height:1.35;
        letter-spacing:.28em;
    }

    #events .section-header-2col .heading{
        font-size:clamp(23px,7.4vw,32px);
        line-height:1.02;
        margin:0;
    }

    #events .section-header-2col .body-txt{
        margin:0 !important;
        padding-left:14px;
        border-left:1px solid rgba(201,169,110,.18);
        color:rgba(255,255,255,.58) !important;
        font-size:12px !important;
        line-height:1.5 !important;
    }
}

@media(max-width:420px){
    #events .section-header-2col{
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    #events .section-header-2col .body-txt{
        padding-left:0;
        padding-top:10px;
        border-left:0;
        border-top:1px solid rgba(201,169,110,.18);
    }
}

/* Events page mobile gallery: one card per row under "Every Occasion". */
@media(max-width:768px){
    #events .ev-compact-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
        margin:18px 0 0 !important;
        padding:0 !important;
        overflow:visible;
    }

    #events .ev-cc{
        width:100%;
        min-height:0;
        display:flex;
        flex-direction:column;
        border-radius:10px;
        overflow:hidden;
    }

    #events .ev-cc-photo{
        width:100%;
        height:174px;
        flex:0 0 auto;
    }

    #events .ev-cc-photo::after{
        background:linear-gradient(180deg,transparent 48%,rgba(10,8,5,.72) 100%);
    }

    #events .ev-cc-body{
        padding:15px 14px 16px;
        justify-content:flex-start;
        min-height:176px;
    }

    #events .ev-cc-top{
        gap:9px;
        margin-bottom:9px;
    }

    #events .ev-cc-icon{
        width:34px;
        height:34px;
        border-radius:8px;
        font-size:14px;
    }

    #events .ev-cc-num{
        font-size:8px;
        letter-spacing:.26em;
    }

    #events .ev-cc-title{
        font-size:22px;
    }

    #events .ev-cc-desc{
        display:-webkit-box;
        -webkit-line-clamp:3;
        -webkit-box-orient:vertical;
        overflow:hidden;
        margin-bottom:12px;
        font-size:12.5px;
        line-height:1.5;
    }

    #events .ev-cc-link{
        opacity:1;
        transform:none;
        margin-top:auto;
    }
}
