
/* WPForms fixes */
/* Initial field looks */
.wpforms-container input[type=date],
.wpforms-container input[type=datetime],
.wpforms-container input[type=datetime-local],
.wpforms-container input[type=email],
.wpforms-container input[type=month],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container input[type=range],
.wpforms-container input[type=search],
.wpforms-container input[type=tel],
.wpforms-container input[type=text],
.wpforms-container input[type=time],
.wpforms-container input[type=url],
.wpforms-container input[type=week],
.wpforms-container select,
.wpforms-container textarea {
    background: #fff;
    border-width: 0 0 1px 0;
    color: var(--ast-global-color-2);
    opacity: 0.5;
}
/* On focus */
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
    outline: none;
    opacity: 1;
    border-color: var(--ast-global-color-0);
}
/* Don't allow resizing the Message box */
.wpforms-container textarea {
    resize: none;
}
/* Message box fixed height */
.wpforms-container .wpforms-field-textarea textarea.wpforms-field-medium {
    height: 136px;
}
/* Button size & font size */
.wpforms-container button {
    padding: 15px 34px;
    font-size: 15px;
}
/* WPForms done */
/* Footer 2 big columns on sides and 1 small one in the middle */
.ast-builder-grid-row-3-equal .ast-builder-grid-row {
    grid-template-columns: 3fr 1fr 3fr;
}

/* ===== ST ANTHONY'S 2026 DESIGN SYSTEM — START (managed block) ===== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Lato:wght@400;700;900&display=swap');
/* The legacy token set that used to be declared here was merged into the single unified :root block (search: SA2026 UNIFIED DESIGN TOKENS). The font @import above is still required - Cormorant Garamond and Lato are both still in use. */
#sa-hero,#sa-massbar,#sa-quicklinks,#sa-masssection,#sa-welcome,#sa-sacgrid,#sa-sactitle-row,#sa-events,#sa-giving{font-family:var(--v2-sans)}
#sa-quicklinks,#sa-masssection,#sa-welcome,#sa-sactitle-row,#sa-sacgrid{background:var(--v2-pale)}
/* --- shared type --- */
.sa-eyebrow .elementor-heading-title{font:700 13px/1.4 var(--v2-sans);letter-spacing:.18em;color:var(--v2-gold-deep);margin-bottom:6px}
.sa-eyebrow-blue .elementor-heading-title{font:700 12px/1.4 var(--v2-sans);letter-spacing:.16em;color:var(--v2-gold-deep)}
.sa-sectitle .elementor-heading-title{font:700 14px/1 var(--v2-sans);letter-spacing:.16em;color:var(--v2-navy)}
.sa-sectitle-light .elementor-heading-title{font:700 14px/1 var(--v2-sans);letter-spacing:.16em;color:#fff}
.sa-h2 .elementor-heading-title{font:600 40px/1.15 var(--v2-serif-display);color:var(--v2-navy)}
/* --- 1. hero --- */
#sa-hero .sa-hero-h1 .elementor-heading-title{font:600 68px/1.02 var(--v2-serif-display);letter-spacing:.02em;color:#fff;text-transform:uppercase;margin:0}
#sa-hero .sa-hero-h2 .elementor-heading-title{font:600 30px/1.2 var(--v2-serif-display);color:var(--v2-gold);margin:8px 0 18px}
#sa-hero .sa-hero-lede{max-width:430px;color:#DCE6F5;font-size:17px;line-height:1.6}
#sa-hero-cta{max-width:430px;margin-top:26px}
.sa-btn .elementor-button{font:900 12px/1 var(--v2-sans);letter-spacing:.12em;border-radius:4px;padding:16px 26px;transition:.2s}
.sa-btn-gold .elementor-button{background:var(--v2-gold-deep);color:var(--v2-navy-d)}
.sa-btn-gold .elementor-button:hover{background:var(--v2-gold)}
.sa-btn-ghost .elementor-button{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.sa-btn-ghost .elementor-button:hover{background:rgba(255,255,255,.12)}
.sa-btn-blue .elementor-button{background:var(--v2-blue-d);color:#fff}
.sa-btn-zoom .elementor-button{background:var(--v2-navy-d);color:#fff}
/* --- 2. mass bar --- */
#sa-massbar{margin-top:-88px!important;position:relative;z-index:5}
#sa-massbar>.elementor-container{background:var(--v2-navy);border-radius:8px;box-shadow:0 18px 46px rgba(7,30,61,.34);overflow:hidden}
#sa-massbar .elementor-column{padding:26px 30px}
#sa-bar-b,#sa-bar-a{border-right:1px solid rgba(255,255,255,.14)}
#sa-bar-c{background:#1B62B4}
.sa-bar-label .elementor-heading-title{font:700 11px/1 var(--v2-sans);letter-spacing:.16em;color:rgba(255,255,255,.72);margin-bottom:8px}
.sa-bar-sub .elementor-heading-title{font:400 14px/1 var(--v2-sans);color:#fff}
.sa-bar-big .elementor-heading-title{font:700 22px/1.2 var(--v2-sans);color:#fff}
.sa-bar-note{font-size:12px;color:rgba(255,255,255,.72);margin-top:6px}
#sa-massbar .sa-btn .elementor-button{padding:11px 18px;font-size:11px}
/* --- 3. quick links --- */
.sa-quick .elementor-widget-container{background:#fff;border-radius:8px;padding:26px 22px;box-shadow:var(--v2-card);height:100%;transition:.22s}
.sa-quick:hover .elementor-widget-container{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,42,85,.16)}
.sa-quick .elementor-icon{width:54px;height:54px;line-height:54px;font-size:22px;border-radius:50%}
.sa-quick-blue .elementor-icon{background:#DCEAFB;color:var(--v2-blue-d)}
.sa-quick-gold .elementor-icon{background:#F6E9C4;color:#9A7A15}
.sa-quick .elementor-icon-box-title{font:900 13px/1.3 var(--v2-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--v2-navy);margin:16px 0 8px}
.sa-quick .elementor-icon-box-description{font-size:13.5px;line-height:1.55;color:var(--v2-text)}
/* --- 4. mass panel + quote --- */
#sa-masssection{padding-bottom:70px}
#sa-masspanel>.elementor-widget-wrap{background:var(--v2-navy);border-radius:8px;padding:34px 34px 30px}
.sa-panel-h .elementor-heading-title{font:600 34px/1 var(--v2-serif-display);color:#fff;text-transform:uppercase;letter-spacing:.03em}
.sa-panel-sub .elementor-heading-title{font:400 14px/1 var(--v2-sans);color:var(--v2-gold);margin:6px 0 22px}
.sa-masstabs .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:4px;border:0;background:rgba(255,255,255,.07);border-radius:999px;padding:5px}
.sa-masstabs .elementor-tab-title{border:0!important;background:transparent;border-radius:999px;padding:9px 15px;font:700 11px/1 var(--v2-sans);letter-spacing:.08em;color:rgba(255,255,255,.72);cursor:pointer}
.sa-masstabs .elementor-tab-title.elementor-active{background:#fff;color:var(--v2-navy)}
.sa-masstabs .elementor-tabs-content-wrapper{border:0;margin-top:20px}
.sa-masstabs .elementor-tab-content{border:0!important;padding:0;background:transparent}
.sa-mrow{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);flex-wrap:wrap}
.sa-mrow:last-child{border-bottom:0}
.sa-mtime{font:700 24px/1 var(--v2-sans);color:var(--v2-gold);min-width:118px}
.sa-mname{font:700 14px/1 var(--v2-sans);color:#fff}
.sa-mnote{font-size:12.5px;color:rgba(255,255,255,.66);width:100%;padding-left:134px}
.sa-mnote-block{font-size:14px;color:rgba(255,255,255,.8);padding:18px 0}
.sa-panel-foot{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:14px}
#sa-masspanel .sa-btn{margin-top:16px}
#sa-quotecard>.elementor-widget-wrap{background:#fff;border-radius:8px;padding:34px 30px;box-shadow:var(--v2-card)}
.sa-quotemark .elementor-heading-title{font:700 62px/.6 var(--v2-serif-display);color:var(--v2-gold-deep);opacity:.5}
.sa-quotetext{font:400 18px/1.55 var(--v2-serif-display);color:var(--v2-navy);font-style:italic;margin-top:10px}
.sa-quoteby .elementor-heading-title{font:900 12px/1.3 var(--v2-sans);letter-spacing:.1em;color:var(--v2-blue-d);margin-top:18px}
.sa-quoterole .elementor-heading-title{font:400 12.5px/1.3 var(--v2-sans);color:var(--v2-text)}
/* --- 5. welcome row --- */
#sa-welcome{padding-bottom:70px}
.sa-frpic img{border-radius:8px 0 0 8px;object-fit:cover;width:100%;height:100%;min-height:420px}
#sa-frbody>.elementor-widget-wrap{background:#fff;padding:38px 36px}
.sa-frtext{font-size:15px;line-height:1.65;color:var(--v2-text)}
.sa-rich .elementor-icon-list-items{gap:6px}
.sa-rich .elementor-icon-list-item{border-left:1px solid var(--v2-line);padding:0 16px!important;flex-direction:column;text-align:center}
.sa-rich .elementor-icon-list-item:first-child{border-left:0}
.sa-rich .elementor-icon-list-icon i{color:var(--v2-gold-deep);font-size:20px}
.sa-rich .elementor-icon-list-text{font:900 10px/1.3 var(--v2-sans);letter-spacing:.1em;color:var(--v2-navy);padding:8px 0 0!important}
#sa-progcard>.elementor-widget-wrap{background:var(--v2-navy);border-radius:0 8px 8px 0;padding:34px 28px}
.sa-progh .elementor-heading-title{font:900 12px/1.4 var(--v2-sans);letter-spacing:.1em;color:var(--v2-gold);margin-bottom:18px}
.sa-proglist .elementor-icon-list-item{align-items:flex-start;margin-bottom:16px}
.sa-proglist .elementor-icon-list-icon i{color:var(--v2-gold-deep);font-size:14px;margin-top:3px}
.sa-proglist .elementor-icon-list-text{color:#fff;font-size:14px;line-height:1.45}
.sa-proglist .elementor-icon-list-text span{color:rgba(255,255,255,.66);font-size:12.5px}
/* --- 6. sacraments grid --- */
#sa-sactitle-row{padding-top:16px}
#sa-sacgrid{padding-bottom:70px}
.sa-sacbox .elementor-widget-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--v2-card);height:100%;transition:.22s}
.sa-sacbox:hover .elementor-widget-container{transform:translateY(-4px)}
.sa-sacbox .elementor-image-box-img{margin:0!important;width:100%!important}
.sa-sacbox .elementor-image-box-img img{width:100%;height:132px;object-fit:cover;border-radius:0}
.sa-sacbox .elementor-image-box-content{padding:16px 16px 20px}
.sa-sacbox .elementor-image-box-title{font:900 12px/1.35 var(--v2-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--v2-navy);margin-bottom:8px}
.sa-sacbox .elementor-image-box-description{font-size:13px;line-height:1.5;color:var(--v2-text)}
/* --- 7. events --- */
#sa-events .tribe-mini-calendar-list-wrapper,.sa-eventlist ol,.sa-eventlist ul{list-style:none;margin:0;padding:0}
.sa-eventlist{margin:18px 0}
.sa-eventlist a{color:#fff}
.sa-eventlist .tribe-events-widget-events-list__event-title,.sa-eventlist h3{font:900 13px/1.35 var(--v2-sans)!important;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.sa-eventlist .tribe-events-widget-events-list__event-date-tag,.sa-eventlist time{color:var(--v2-gold)!important}
#sa-events .sa-btn{margin-top:8px}
/* --- 8. giving --- */
#sa-giving .elementor-column{padding:0 18px}
.sa-giveh .elementor-heading-title{font:600 30px/1.14 var(--v2-serif-display);color:#fff}
.sa-givetext{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.72);margin:10px 0 18px}
.sa-givebox .elementor-icon{font-size:26px;color:var(--v2-gold-deep)}
.sa-givebox .elementor-icon-box-title{font:900 11px/1.3 var(--v2-sans);letter-spacing:.09em;text-transform:uppercase;color:#fff;margin:12px 0 6px}
.sa-givebox .elementor-icon-box-description{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.66)}
/* --- 9. carried-over original content --- */
#sa-legacy-intro{background:#fff;padding:54px 0 8px;text-align:center}
[id^="sa-legacy"]{background:#fff}
/* --- responsive --- */
@media(max-width:1024px){
 #sa-hero .sa-hero-h1 .elementor-heading-title{font-size:48px}
 #sa-massbar{margin-top:-40px!important}
 .sa-frpic img{border-radius:8px 8px 0 0;min-height:280px}
 #sa-frbody>.elementor-widget-wrap,#sa-progcard>.elementor-widget-wrap{border-radius:0}
}
@media(max-width:767px){
 #sa-hero .sa-hero-h1 .elementor-heading-title{font-size:38px}
 #sa-hero .sa-hero-h2 .elementor-heading-title{font-size:22px}
 #sa-massbar{margin-top:0!important}
 #sa-bar-a,#sa-bar-b{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
 .sa-mtime{min-width:92px;font-size:20px}
 .sa-mnote{padding-left:0}
 .sa-rich .elementor-icon-list-item{border-left:0}
}
/* ===== ST ANTHONY'S 2026 DESIGN SYSTEM — END ===== */






#sa-mtrow{padding-bottom:24px}
#sa-mtleft>.elementor-widget-wrap,#sa-wcard>.elementor-widget-wrap{background:#fff;border-radius:10px;padding:32px 30px;box-shadow:var(--v2-card)}
.sa-wh .elementor-heading-title{font:900 15px/1.2 var(--v2-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--v2-navy)}
.sa-wsub{font:400 13.5px/1.4 var(--v2-sans);color:var(--v2-text);margin:4px 0 22px}
.sa-wtabs .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:4px;border:0;background:#EAF1FA;border-radius:999px;padding:5px}
.sa-wtabs .elementor-tab-title{border:0 !important;background:transparent;border-radius:999px;padding:9px 14px;font:700 11px/1 var(--v2-sans);letter-spacing:.07em;color:var(--v2-text);cursor:pointer;text-transform:uppercase}
.sa-wtabs .elementor-tab-title.elementor-active{background:var(--v2-navy);color:#fff}
.sa-wtabs .elementor-tabs-content-wrapper{border:0;margin-top:22px}
.sa-wtabs .elementor-tab-content{border:0 !important;padding:0;background:transparent}
.sa-wday{font:900 12px/1 var(--v2-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-navy);padding-bottom:10px;border-bottom:3px solid var(--v2-gold-deep);display:inline-block;margin-bottom:6px}
.sa-wrow{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--v2-line)}
.sa-wrow:last-child{border-bottom:0}
.sa-wicon{width:56px;height:56px;border-radius:50%;background:var(--v2-gold-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M6 3h12v3a6 6 0 01-5 5.9V16h3v2H8v-2h3v-4.1A6 6 0 016 6zm2 2v1a4 4 0 008 0V5z'/%3E%3C/svg%3E") no-repeat center/26px 26px;flex:none}
.sa-wtime{font:700 26px/1.1 var(--v2-sans);color:var(--v2-navy)}
.sa-wname{font:700 13.5px/1.4 var(--v2-sans);color:var(--v2-navy);margin-top:4px}
.sa-wplace{font:400 13px/1.4 var(--v2-sans);color:var(--v2-text);margin-top:2px}
.sa-wnone{font:400 15px/1.6 var(--v2-sans);color:var(--v2-text);padding:22px 0}
.sa-infobar{display:flex;gap:12px;align-items:flex-start;background:#EAF2FC;border-radius:6px;padding:15px 18px;margin-top:20px;font:400 13.5px/1.5 var(--v2-sans);color:var(--v2-navy)}
#sa-online>.elementor-widget-wrap{background:#EAF2FC;border-radius:10px;padding:28px 26px}
.sa-onh .elementor-heading-title{font:900 15px/1.2 var(--v2-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v2-navy)}
.sa-onsub .elementor-heading-title{font:700 16px/1.3 var(--v2-sans);color:var(--v2-blue-d);margin:14px 0 8px}
.sa-ontext{font:400 13.5px/1.55 var(--v2-sans);color:var(--v2-text);margin-bottom:16px}
.sa-onmeta{font:400 13px/1.6 var(--v2-sans);color:var(--v2-text);margin-top:14px;padding-top:14px;border-top:1px solid #D3E2F5}
.sa-onmeta strong{color:var(--v2-navy)}
#sa-convent>.elementor-widget-wrap{background:#fff;border-radius:10px;padding:28px 26px;box-shadow:var(--v2-card)}
.sa-cvh .elementor-heading-title{font:900 14px/1.25 var(--v2-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v2-navy)}
.sa-cvaddr{font:400 13.5px/1.55 var(--v2-sans);color:var(--v2-text);margin:8px 0 16px}
.sa-cvrow{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--v2-line);font:400 13.5px/1.4 var(--v2-sans);color:var(--v2-text)}
.sa-cvrow b{color:var(--v2-navy);font-weight:700}
.sa-cvlabel{font:900 11px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-navy);margin-top:16px}
#sa-notecard>.elementor-widget-wrap{background:#FDF4E0;border-radius:10px;padding:24px 26px}
#sa-intcard>.elementor-widget-wrap{background:#EAF2FC;border-radius:10px;padding:24px 26px}
.sa-nch .elementor-heading-title{font:900 13px/1.3 var(--v2-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--v2-navy);margin-bottom:8px}
.sa-nct{font:400 13.5px/1.55 var(--v2-sans);color:var(--v2-text)}
[id^="sa-detail"]{padding-bottom:20px}
[id^="sa-dcard"]>.elementor-widget-wrap{background:#fff;border-radius:10px;padding:32px 34px;box-shadow:var(--v2-card)}
.sa-dh .elementor-heading-title{font:600 26px/1.25 var(--v2-serif-display);color:var(--v2-navy);margin-bottom:12px}
.sa-dt{font:400 15px/1.7 var(--v2-sans);color:var(--v2-text)}
.sa-dt a{color:var(--v2-blue-d) !important;font-weight:700}
#sa-together>.elementor-container{background:#E6EFFA;border-radius:10px}
.sa-tgimg img{border-radius:8px;width:100%;height:100%;object-fit:cover;min-height:300px}
#sa-tgbody{padding:34px 32px}
.sa-tgh .elementor-heading-title{font:600 30px/1.2 var(--v2-serif-display);color:var(--v2-navy)}
.sa-helpbar>.elementor-container{background:#E6EFFA;border-radius:10px;padding:26px 30px}
.sa-helph .elementor-heading-title{font:900 12px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-blue-d);margin-bottom:8px}
@media (max-width:1024px){.sa-ptitle .elementor-heading-title{font-size:42px}.sa-ctitle .elementor-heading-title{font-size:30px}}
@media (max-width:767px){.sa-ptitle .elementor-heading-title{font-size:32px}.sa-wtime{font-size:22px}.sa-wicon{width:44px;height:44px;background-size:20px 20px}}



/* SA2026-V2-START */
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@500;600;700&display=swap');
/* SA2026 UNIFIED DESIGN TOKENS - single source of truth. The older legacy token set was merged in here on 2 Sep 2026. Near-identical values merged; genuinely different values kept under clearer names (gold-deep, blue-d, navy-d). Lora and Cormorant Garamond are different typefaces and are deliberately NOT merged. */
:root{
/* navy */      --v2-navy:#0B2545;--v2-navy2:#123B6B;--v2-navy3:#0C2F58;--v2-navy-d:#071E3D;
/* gold */      --v2-gold:#E8B84B;--v2-gold-d:#D4A43A;--v2-gold-deep:#C9A227;
/* blue */      --v2-blue:#3577BE;--v2-blue-l:#7FB2E5;--v2-blue-d:#1E5AA8;
/* neutrals */  --v2-cream:#F7F5F0;--v2-grey:#F2F4F7;--v2-pale:#EEF4FC;--v2-line:#DDE6F2;--v2-text:#4A5568;
/* type */      --v2-serif:'Lora',Georgia,serif;--v2-serif-display:'Cormorant Garamond',Georgia,serif;--v2-sans:'Lato',-apple-system,'Segoe UI',sans-serif;
/* effects */   --v2-card:0 6px 24px rgba(10,42,85,.10);
}
#v2-hero,#v2-welcome,#v2-panel,#v2-quadrow,#v2-newshead,#v2-newsrow,#v2-newsfoot,#v2-cta{font-family:var(--v2-sans)}
#v2-welcome{background:var(--v2-cream)}
#v2-quadrow{background:var(--v2-grey)}
#v2-newshead,#v2-newsrow,#v2-newsfoot{background:#fff}
#v2-panel{background:linear-gradient(180deg,var(--v2-cream) 0%,var(--v2-cream) 50%,#fff 50%,#fff 100%);padding:0}
.v2-btn .elementor-button{font:900 12px/1 var(--v2-sans);letter-spacing:.1em;border-radius:4px;padding:15px 26px;transition:all .2s}
.v2-btn-gold .elementor-button{background:var(--v2-gold);color:var(--v2-navy)}
.v2-btn-gold .elementor-button:hover{background:var(--v2-gold-d);color:var(--v2-navy)}
.v2-btn-outline .elementor-button{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.v2-btn-outline .elementor-button:hover{background:rgba(255,255,255,.14)}
.v2-btn-navy .elementor-button{background:var(--v2-navy);color:#fff}
.v2-btn-navy .elementor-button:hover{background:var(--v2-blue);color:#fff}
.v2-btn-blue .elementor-button{background:var(--v2-blue);color:#fff;padding:13px 20px;font-size:11px}
.v2-btn-blue .elementor-button:hover{background:#2A5FA0}
.v2-eyebrow .elementor-heading-title{font:700 13px/1 var(--v2-sans);letter-spacing:.2em;color:var(--v2-gold);text-transform:uppercase;margin-bottom:16px}
.v2-eyebrow-gold .elementor-heading-title{font:700 12.5px/1 var(--v2-sans);letter-spacing:.2em;color:var(--v2-gold-d);text-transform:uppercase;margin-bottom:12px}
.v2-center .elementor-heading-title{text-align:center}
#v2-hero .v2-h1 .elementor-heading-title{font:600 60px/1.06 var(--v2-serif);color:#fff;margin:0}
#v2-hero .v2-h1-gold .elementor-heading-title{color:var(--v2-gold)}
.v2-hero-lede{max-width:400px;font:400 16.5px/1.65 var(--v2-sans);color:rgba(255,255,255,.86);margin-top:20px}
#v2-hero-cta{max-width:430px;margin-top:26px}
.v2-h2 .elementor-heading-title{font:600 40px/1.18 var(--v2-serif);color:var(--v2-navy);margin:0}
.v2-h2-blue .elementor-heading-title{color:var(--v2-blue)}
.v2-rule{max-width:120px;margin:20px 0 22px}
.v2-rule .elementor-divider-separator{border-top-width:2px !important;border-top-color:var(--v2-gold) !important;width:120px !important}
.v2-body{font:400 15px/1.75 var(--v2-sans);color:var(--v2-text);max-width:460px;margin-bottom:26px}
.v2-welcome-img img{border-radius:10px;width:100%;height:auto}
#v2-welcome-l>.elementor-widget-wrap{padding-right:34px}
#v2-panel-col>.elementor-widget-wrap{padding:0}
#v2-panel-inner{background:var(--v2-navy2);border-radius:14px;padding:38px 36px}
#v2-masscard>.elementor-widget-wrap{background:var(--v2-navy3);border-radius:10px;padding:28px 26px;border:1px solid rgba(255,255,255,.10)}
.v2-mtitle .elementor-heading-title{font:600 20px/1 var(--v2-serif);color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
.v2-mlabel{font:900 10.5px/1 var(--v2-sans);letter-spacing:.16em;color:var(--v2-gold);text-transform:uppercase;margin:18px 0 10px}
.v2-mlabel:first-child{margin-top:0}
.v2-mrow{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.10);font:400 13.5px/1.45 var(--v2-sans);color:rgba(255,255,255,.86)}
.v2-mrow span:last-child{color:#fff;font-weight:700;text-align:right;white-space:nowrap}
#v2-masscard .v2-btn{margin-top:20px}
#v2-parishcard>.elementor-widget-wrap{padding:4px 0 0 38px}
.v2-ptitle-gold .elementor-heading-title{font:600 26px/1.15 var(--v2-serif);color:var(--v2-gold)}
.v2-ptitle .elementor-heading-title{font:600 26px/1.15 var(--v2-serif);color:#fff;margin-bottom:20px}
.v2-plist .elementor-icon-list-item{margin-bottom:14px;align-items:center}
.v2-plist .elementor-icon-list-icon{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;margin-right:14px}
.v2-plist .elementor-icon-list-icon i{color:var(--v2-blue-l);font-size:14px}
.v2-plist .elementor-icon-list-text{color:#fff;font:400 15px/1.4 var(--v2-sans)}
.v2-quote{font:400 14.5px/1.7 var(--v2-serif);font-style:italic;color:rgba(255,255,255,.84);border-left:3px solid var(--v2-gold);padding-left:16px;margin-top:24px}
.v2-quote-by{font:400 13px/1.4 var(--v2-sans);color:var(--v2-blue-l);padding-left:19px;margin-top:6px}
#v2-quadrow .elementor-column{border-left:1px solid #E1E6ED;padding:0 26px}
#v2-quadrow .elementor-column:first-child{border-left:0}
.v2-quad .elementor-icon-box-wrapper{text-align:center}
.v2-quad .elementor-icon{font-size:38px;color:var(--v2-blue)}
.v2-quad .elementor-icon-box-title{font:900 13px/1.35 var(--v2-sans);letter-spacing:.09em;text-transform:uppercase;color:var(--v2-navy);margin:18px 0 10px}
.v2-quad .elementor-icon-box-description{font:400 13.5px/1.6 var(--v2-sans);color:var(--v2-text)}
.v2-more{text-align:center;margin:12px 0 0}
.v2-more a{font:900 11.5px/1 var(--v2-sans);letter-spacing:.1em;color:var(--v2-blue) !important;text-decoration:none;text-transform:uppercase}
.v2-more a:hover{color:var(--v2-navy) !important}
#v2-newsrow .elementor-column{padding:0 14px}
#v2-newsrow .elementor-widget-wrap{background:#fff;border:1px solid #E6EAF0;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(11,37,69,.07);height:100%}
.v2-nimg img{width:100%;height:170px;object-fit:cover;display:block;border-radius:0}
.v2-nimg{margin-bottom:0 !important}
.v2-ntag .elementor-heading-title{font:900 10.5px/1 var(--v2-sans);letter-spacing:.16em;color:var(--v2-gold-d);text-transform:uppercase;margin:20px 20px 8px}
.v2-ntitle .elementor-heading-title{font:600 20px/1.3 var(--v2-serif);color:var(--v2-navy);margin:0 20px 8px}
.v2-ntitle a{color:var(--v2-navy) !important;text-decoration:none}
.v2-ntitle a:hover{color:var(--v2-blue) !important}
.v2-ntext{font:400 13.5px/1.6 var(--v2-sans);color:var(--v2-text);margin:0 20px 10px}
#v2-newsrow .v2-more{text-align:left;margin:0 20px 22px}
#v2-cta{background:var(--v2-blue)}
#v2-cta .elementor-column{display:flex;align-items:center}
.v2-ctaicon .elementor-icon{background:#fff;color:var(--v2-blue);width:72px;height:72px;line-height:72px;font-size:30px;border-radius:50%}
.v2-ctatext .elementor-heading-title{font:600 24px/1.35 var(--v2-serif);color:#fff}
#v2-ctabtn{justify-content:flex-end}
@media (max-width:1024px){#v2-hero .v2-h1 .elementor-heading-title{font-size:44px}.v2-h2 .elementor-heading-title{font-size:32px}#v2-welcome-l>.elementor-widget-wrap{padding-right:0}#v2-parishcard>.elementor-widget-wrap{padding:26px 0 0}#v2-quadrow .elementor-column{border-left:0;padding:16px 20px}}
@media (max-width:767px){#v2-hero .v2-h1 .elementor-heading-title{font-size:34px}.v2-h2 .elementor-heading-title{font-size:26px}#v2-panel-inner{padding:26px 20px}#v2-cta .elementor-column{justify-content:flex-start;margin-bottom:12px}.v2-mrow{flex-direction:column;gap:2px}.v2-mrow span:last-child{text-align:left}}
#v2-history{background:var(--v2-cream)}
#v2-find{background:#fff}
.v2-histimg img{border-radius:10px;width:100%;height:auto;display:block}
#v2-histbody-col>.elementor-widget-wrap{padding-left:40px}
#v2-findtext>.elementor-widget-wrap{padding-right:40px}
.v2-histbody{max-width:none}
.v2-map iframe,.v2-map .elementor-custom-embed{border-radius:10px;border:1px solid #E6E2DA;display:block;width:100%}
@media (max-width:1024px){#v2-histbody-col>.elementor-widget-wrap{padding-left:0;padding-top:26px}#v2-findtext>.elementor-widget-wrap{padding-right:0;padding-bottom:26px}}
#v2-video{background:var(--v2-navy)}
.v2-ctitle-light .elementor-heading-title{color:#fff !important}
#v2-videocol>.elementor-widget-wrap{max-width:860px;margin:0 auto}
.v2-videoplayer .elementor-wrapper,.v2-videoplayer .elementor-fit-aspect-ratio{border-radius:12px;overflow:hidden;margin-top:26px;box-shadow:0 18px 44px rgba(0,0,0,.34)}
#v2-revhead,#v2-reviews{background:var(--v2-cream)}
.v2-rcard .elementor-widget-container{background:#fff;border:1px solid #E6E2DA;border-radius:10px;padding:26px 24px 22px;box-shadow:0 4px 16px rgba(11,37,69,.06);height:100%;position:relative;transition:all .22s}
.v2-rcard:hover .elementor-widget-container{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,37,69,.12)}
.v2-rcard .elementor-widget-container::before{content:'\201C';position:absolute;top:6px;right:18px;font:700 52px/1 var(--v2-serif);color:var(--v2-gold);opacity:.28}
.v2-rq{font:400 14.5px/1.7 var(--v2-serif);font-style:italic;color:var(--v2-navy);margin:0 0 14px !important;position:relative;z-index:1}
.v2-ra{font:900 11px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-blue);margin:0 !important}
#v2-reviews .elementor-column{padding:0 12px 24px}
@media (max-width:767px){#v2-videocol>.elementor-widget-wrap{max-width:none}}
/* SA2026-V2-END */

/* SA2026-HF2-START */
.ast-above-header-wrap,.ast-above-header-bar{display:none !important}
.ast-primary-header-bar,.ast-primary-header-bar .site-primary-header-wrap,.ast-header-break-point .ast-primary-header-bar{background:var(--v2-navy) !important;border-bottom:0 !important}
.v2-brand{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px 0}
.v2-brand-mark{width:40px;height:40px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='22' fill='none' stroke='%23E8B84B' stroke-width='2'/%3E%3Cpath d='M21 9h6v13h13v6H27v14h-6V28H8v-6h13z' fill='%23E8B84B'/%3E%3C/svg%3E") no-repeat center/contain}
.v2-brand-txt{display:flex;flex-direction:column;line-height:1}
.v2-brand-a{font:600 18px/1.05 var(--v2-serif);letter-spacing:.06em;color:#fff}
.v2-brand-b{font:600 13.5px/1.25 var(--v2-serif);letter-spacing:.08em;color:var(--v2-gold)}
.v2-brand-c{font:700 8.5px/1.4 var(--v2-sans);letter-spacing:.22em;color:rgba(255,255,255,.6)}
.ast-primary-header-bar .main-header-menu>li>a{color:rgba(255,255,255,.9) !important;font:700 12px/1 var(--v2-sans);letter-spacing:.08em;text-transform:uppercase;padding:10px 13px}
.ast-primary-header-bar .main-header-menu>li>a:hover{color:var(--v2-gold) !important}
.ast-primary-header-bar .main-header-menu>li.current-menu-item>a,.ast-primary-header-bar .main-header-menu>li.current-menu-ancestor>a{color:var(--v2-gold) !important;box-shadow:inset 0 -2px 0 var(--v2-gold)}
.main-header-menu .sub-menu{background:var(--v2-navy) !important;border:0 !important;box-shadow:0 14px 34px rgba(0,0,0,.34);border-top:2px solid var(--v2-gold) !important}
.main-header-menu .sub-menu a{color:rgba(255,255,255,.86) !important;font:400 13px/1.4 var(--v2-sans);text-transform:none;letter-spacing:0}
.main-header-menu .sub-menu a:hover{color:var(--v2-gold) !important;background:rgba(255,255,255,.06) !important}
li.v2-nav-donate>a{background:var(--v2-gold);color:var(--v2-navy) !important;border-radius:4px;font-weight:900 !important;padding:12px 20px !important;margin-left:14px;box-shadow:none;display:inline-flex;align-items:center;gap:7px}
li.v2-nav-donate>a::before{content:'\2665';font-size:12px;line-height:1}
li.v2-nav-donate>a:hover{background:var(--v2-gold-d);color:var(--v2-navy) !important;box-shadow:none}
.ast-header-break-point .main-header-menu{background:var(--v2-navy) !important}
.ast-header-break-point .main-header-menu a{color:rgba(255,255,255,.9) !important}
.ast-header-break-point li.v2-nav-donate>a{margin:10px 20px;display:inline-flex}
.ast-primary-header-bar .menu-toggle,.ast-header-break-point .menu-toggle{background:transparent !important;color:#fff !important}
@media (max-width:921px){.v2-brand-a{font-size:15px}.v2-brand-b{font-size:11px}.v2-brand-mark{width:32px;height:32px}}
.site-primary-footer-wrap{background:var(--v2-navy) !important;padding:56px 0 46px !important}
.site-below-footer-wrap{background:#08203C !important;padding:15px 0 !important;border-top:1px solid rgba(255,255,255,.10)}
.site-above-footer-wrap{display:none !important}
.site-primary-footer-wrap .ast-builder-grid-row,.site-below-footer-wrap .ast-builder-grid-row{grid-template-columns:minmax(0,1fr) !important;width:100%;align-items:stretch !important}
.site-primary-footer-wrap .site-footer-section,.site-below-footer-wrap .site-footer-section{display:block !important;width:100% !important;margin-bottom:0 !important}
.site-primary-footer-wrap .footer-widget-area,.site-below-footer-wrap .footer-widget-area{margin-left:0 !important;margin-right:0 !important;width:100% !important}
.v2-fgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;width:100%;align-items:start;font-family:var(--v2-sans)}
.v2-fgrid>.v2-fcol{min-width:0}
.v2-brand-f{padding:0 0 14px}
.v2-fh{font:900 12px/1 var(--v2-sans) !important;letter-spacing:.15em;color:var(--v2-gold) !important;text-transform:uppercase;margin:0 0 18px !important}
.v2-ftext{font:400 13.5px/1.65 var(--v2-sans);color:rgba(255,255,255,.7);margin:0 0 16px}
.v2-fsocial{display:flex;gap:12px;margin:0}
.v2-si{width:32px;height:32px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:0}
.v2-si:hover{background:var(--v2-gold)}
.v2-si-fb::before{content:'f';font:700 16px/1 Georgia,serif;color:var(--v2-navy)}
.v2-si-yt{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230B2545'%3E%3Cpath d='M9.5 8.5l6 3.5-6 3.5z'/%3E%3C/svg%3E") no-repeat center/22px 22px}
.v2-flinks{list-style:none;margin:0;padding:0}
.v2-flinks li{margin-bottom:10px}
.v2-flinks a{color:rgba(255,255,255,.76) !important;font:400 13.5px/1.4 var(--v2-sans);text-decoration:none}
.v2-flinks a:hover{color:var(--v2-gold) !important;padding-left:3px}
.v2-ftimes{border-top:1px solid rgba(255,255,255,.10)}
.v2-ft{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.10);font:400 13px/1.5 var(--v2-sans);color:rgba(255,255,255,.72)}
.v2-ft span:last-child{color:#fff;font-weight:700;text-align:right;white-space:nowrap}
.v2-flist{list-style:none;margin:0;padding:0}
.v2-flist li{position:relative;padding:0 0 13px 25px;font:400 13.5px/1.55 var(--v2-sans);color:rgba(255,255,255,.76)}
.v2-flist li::before{content:'';position:absolute;left:0;top:3px;width:15px;height:15px;background-size:contain;background-repeat:no-repeat}
.v2-flist a{color:rgba(255,255,255,.76) !important;text-decoration:none}
.v2-flist a:hover{color:var(--v2-gold) !important}
.v2-flist .sa-ico-pin::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23E8B84B'%3E%3Cpath d='M8 0C5.2 0 3 2.2 3 5c0 3.8 5 11 5 11s5-7.2 5-11c0-2.8-2.2-5-5-5zm0 7a2 2 0 110-4 2 2 0 010 4z'/%3E%3C/svg%3E")}
.v2-flist .sa-ico-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23E8B84B'%3E%3Cpath d='M4.2 1L1 2.2C1 9 7 15 13.8 15L15 11.8l-4-1.3-1 1.9c-1.9-1-3.4-2.5-4.4-4.4l1.9-1z'/%3E%3C/svg%3E")}
.v2-flist .sa-ico-mail::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23E8B84B' stroke-width='1.4'%3E%3Crect x='1' y='3' width='14' height='10'/%3E%3Cpath d='M1.6 3.6L8 8.4l6.4-4.8'/%3E%3C/svg%3E")}
.v2-flink{margin:14px 0 0}
.v2-flink a{font:900 11px/1 var(--v2-sans);letter-spacing:.1em;color:var(--v2-gold) !important;text-decoration:none;text-transform:uppercase}
.v2-flink a:hover{color:#fff !important}
.v2-fform .wpforms-container{margin:0 !important}
.v2-fform .wpforms-field{padding:0 0 10px !important}
.v2-fform .wpforms-field-label{display:none !important}
.v2-fform input[type=text],.v2-fform input[type=email]{width:100% !important;max-width:100% !important;background:#fff !important;border:0 !important;border-radius:4px !important;padding:12px 14px !important;font:400 13.5px/1 var(--v2-sans) !important;color:var(--v2-navy) !important}
.v2-fform button[type=submit]{background:var(--v2-gold) !important;color:var(--v2-navy) !important;border:0 !important;border-radius:4px !important;font:900 12px/1 var(--v2-sans) !important;letter-spacing:.12em !important;padding:14px 22px !important;text-transform:uppercase;width:100%}
.v2-fform button[type=submit]:hover{background:var(--v2-gold-d) !important}
.v2-legal{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font:400 12px/1.5 var(--v2-sans);color:rgba(255,255,255,.55)}
.v2-legal a{color:rgba(255,255,255,.55) !important;text-decoration:none}
.v2-legal a:hover{color:var(--v2-gold) !important}
@media (max-width:1024px){.v2-fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media (max-width:600px){.v2-fgrid{grid-template-columns:minmax(0,1fr);gap:26px}.v2-legal{justify-content:center;text-align:center}}
.v2-fsocial{flex-wrap:wrap;gap:10px}
.v2-si{width:30px;height:30px}
.v2-si-ig{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.2' cy='6.8' r='1.2' fill='%230B2545' stroke='none'/%3E%3C/svg%3E") no-repeat center/17px 17px}
.v2-si-x{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230B2545'%3E%3Cpath d='M18.9 2H22l-7.6 8.7L23.3 22h-6.9l-5.4-7-6.2 7H1.7l8.1-9.3L1 2h7l4.9 6.5L18.9 2zm-1.2 18h1.9L7.4 3.9H5.4L17.7 20z'/%3E%3C/svg%3E") no-repeat center/15px 15px}
.v2-si-tt{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230B2545'%3E%3Cpath d='M16.5 3h-2.6v12.3c0 1.9-1.7 3.4-3.6 3.1-1.3-.2-2.4-1.3-2.6-2.6-.3-1.9 1.2-3.6 3.1-3.6.3 0 .6 0 .9.1V9.6c-.3-.1-.6-.1-.9-.1-3.4 0-6 2.8-5.8 6.2.2 2.6 2.1 4.8 4.7 5.3 3.7.7 7.1-2.1 7.1-6.2V8.9c1.2.7 2.5 1.1 3.9 1V7.3c-2.3-.2-3.8-1.8-4.2-4.3z'/%3E%3C/svg%3E") no-repeat center/16px 16px}
.v2-si-ig:hover,.v2-si-x:hover,.v2-si-tt:hover,.v2-si-yt:hover{filter:brightness(.92)}
/* Astra off-canvas mobile menu must not extend the document past the viewport */
.ast-mobile-popup-drawer,.ast-mobile-popup-overlay{max-width:100vw !important}
.ast-mobile-popup-inner{max-width:min(100vw,420px) !important}
@media (max-width:1024px){html,body{overflow-x:hidden}}
/* SA2026-HF2-END */

/* SA2026-V2IN-START */
#v2-phero,#v2-intro,#v2-cards,#v2-cta,#v2-side{font-family:var(--v2-sans)}
#v2-intro,#v2-cards,#v2-side,[id^="v2-detail"],#v2-archive,#v2-current,#v2-notice,#v2-subscribe,#v2-ytsec{background:var(--v2-cream)}
#v2-phero .v2-crumb{font:700 11px/1 var(--v2-sans);letter-spacing:.15em;color:rgba(255,255,255,.6);text-transform:uppercase;margin-bottom:18px}
#v2-phero .v2-crumb a{color:rgba(255,255,255,.6) !important;text-decoration:none}
#v2-phero .v2-crumb a:hover{color:var(--v2-gold) !important}
#v2-phero .v2-crumb strong{color:#fff;font-weight:700}
.v2-ptitle .elementor-heading-title{font:600 52px/1.08 var(--v2-serif);color:#fff;margin:0}
.v2-peyebrow .elementor-heading-title{font:700 12.5px/1 var(--v2-sans);letter-spacing:.2em;color:var(--v2-gold);text-transform:uppercase;margin-bottom:14px}
.v2-prule{max-width:110px;margin:20px 0 0}
.v2-prule .elementor-divider-separator{border-top-width:2px !important;border-top-color:var(--v2-gold) !important;width:110px !important}
.v2-plede{max-width:520px;font:400 16.5px/1.7 var(--v2-sans);color:rgba(255,255,255,.86);margin-top:20px}
.v2-pnote .elementor-icon-box-wrapper{display:flex;align-items:flex-start;gap:14px;text-align:left}
.v2-pnote .elementor-icon{font-size:24px;color:var(--v2-gold)}
.v2-pnote .elementor-icon-box-title{display:none}
.v2-pnote .elementor-icon-box-description{font:400 14.5px/1.6 var(--v2-sans);color:rgba(255,255,255,.86)}
.v2-ctitle .elementor-heading-title{font:600 38px/1.2 var(--v2-serif);color:var(--v2-navy);text-align:center;margin:0}
.v2-csub{text-align:center;font:400 15.5px/1.7 var(--v2-sans);color:var(--v2-text);max-width:660px;margin:12px auto 0}
.v2-crule{margin:20px auto 0;max-width:110px}
.v2-crule .elementor-divider-separator{border-top-width:2px !important;border-top-color:var(--v2-gold) !important;width:110px !important;margin:0 auto}
.v2-card .elementor-widget-container{background:#fff;border:1px solid #E6E2DA;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(11,37,69,.06);height:100%;transition:all .22s}
.v2-card:hover .elementor-widget-container{transform:translateY(-4px);box-shadow:0 14px 32px rgba(11,37,69,.13)}
.v2-card .elementor-image-box-img{margin:0 !important;width:100% !important}
.v2-card .elementor-image-box-img img{width:100%;height:158px;object-fit:cover;display:block}
.v2-card .elementor-image-box-content{padding:20px 20px 24px}
.v2-card .elementor-image-box-title{font:600 19px/1.3 var(--v2-serif);color:var(--v2-navy);margin-bottom:10px;display:block}
.v2-card .elementor-image-box-description{font:400 13.5px/1.65 var(--v2-sans);color:var(--v2-text)}
.v2-card .elementor-image-box-description a{color:var(--v2-blue) !important;font-weight:700;text-decoration:none}
.v2-icard .elementor-widget-container{background:#fff;border:1px solid #E6E2DA;border-radius:10px;padding:28px 22px;box-shadow:0 4px 16px rgba(11,37,69,.06);height:100%;text-align:center;transition:all .22s}
.v2-icard:hover .elementor-widget-container{transform:translateY(-4px)}
.v2-icard .elementor-icon{font-size:34px;color:var(--v2-blue)}
.v2-icard .elementor-icon-box-title{font:600 17px/1.35 var(--v2-serif);color:var(--v2-navy);margin:16px 0 10px}
.v2-icard .elementor-icon-box-description{font:400 13.5px/1.6 var(--v2-sans);color:var(--v2-text)}
[id^="v2-dcard"]>.elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:10px;padding:32px 34px;box-shadow:0 4px 16px rgba(11,37,69,.06)}
.v2-dh .elementor-heading-title{font:600 25px/1.3 var(--v2-serif);color:var(--v2-navy);margin-bottom:12px}
.v2-dt{font:400 15px/1.75 var(--v2-sans);color:var(--v2-text)}
.v2-dt a{color:var(--v2-blue) !important;font-weight:700}
@media (max-width:1024px){.v2-ptitle .elementor-heading-title{font-size:38px}.v2-ctitle .elementor-heading-title{font-size:30px}}
@media (max-width:767px){.v2-ptitle .elementor-heading-title{font-size:30px}.v2-ctitle .elementor-heading-title{font-size:25px}}
#v2-mtrow{background:var(--v2-cream);padding-bottom:26px}
#v2-mtleft>.elementor-widget-wrap,#v2-convent>.elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:12px;padding:32px 30px;box-shadow:0 4px 16px rgba(11,37,69,.06)}
#v2-online>.elementor-widget-wrap{background:var(--v2-navy2);border-radius:12px;padding:30px 28px}
.v2-wh .elementor-heading-title{font:600 22px/1.25 var(--v2-serif);color:var(--v2-navy)}
.v2-wsub{font:400 13.5px/1.5 var(--v2-sans);color:var(--v2-text);margin:4px 0 22px}
.v2-wtabs .elementor-tabs-wrapper{display:flex;flex-wrap:wrap;gap:4px;border:0;background:#EFEBE2;border-radius:999px;padding:5px}
.v2-wtabs .elementor-tab-title{border:0 !important;background:transparent;border-radius:999px;padding:9px 14px;font:700 11px/1 var(--v2-sans);letter-spacing:.07em;color:var(--v2-text);cursor:pointer;text-transform:uppercase}
.v2-wtabs .elementor-tab-title.elementor-active{background:var(--v2-navy);color:#fff}
.v2-wtabs .elementor-tabs-content-wrapper{border:0;margin-top:22px}
.v2-wtabs .elementor-tab-content{border:0 !important;padding:0;background:transparent}
.v2-wday{font:900 11px/1 var(--v2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-navy);padding-bottom:9px;border-bottom:2px solid var(--v2-gold);display:inline-block;margin-bottom:6px}
.v2-wrow{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #EDE8DE}
.v2-wrow:last-child{border-bottom:0}
.v2-wicon{width:50px;height:50px;border-radius:50%;background:var(--v2-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230B2545'%3E%3Cpath d='M6 3h12v3a6 6 0 01-5 5.9V16h3v2H8v-2h3v-4.1A6 6 0 016 6zm2 2v1a4 4 0 008 0V5z'/%3E%3C/svg%3E") no-repeat center/24px 24px;flex:none}
.v2-wtime{font:600 24px/1.1 var(--v2-serif);color:var(--v2-navy);display:block}
.v2-wname{font:700 13.5px/1.4 var(--v2-sans);color:var(--v2-navy);display:block;margin-top:3px}
.v2-wplace{font:400 13px/1.4 var(--v2-sans);color:var(--v2-text);display:block}
.v2-wnone{font:400 15px/1.7 var(--v2-sans);color:var(--v2-text);padding:20px 0}
.v2-infobar{display:flex;gap:12px;background:#F3EEE3;border-left:3px solid var(--v2-gold);border-radius:6px;padding:15px 18px;margin-top:20px;font:400 13.5px/1.6 var(--v2-sans);color:var(--v2-navy)}
.v2-onh .elementor-heading-title{font:900 12px/1 var(--v2-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--v2-gold)}
.v2-onsub .elementor-heading-title{font:600 21px/1.3 var(--v2-serif);color:#fff;margin:12px 0 10px}
.v2-ontext{font:400 13.5px/1.65 var(--v2-sans);color:rgba(255,255,255,.8);margin-bottom:18px}
.v2-onmeta{font:400 13px/1.7 var(--v2-sans);color:rgba(255,255,255,.75);margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
.v2-onmeta strong{color:#fff}
.v2-onmeta a{color:var(--v2-gold) !important;font-weight:700;text-decoration:none}
.v2-cvh .elementor-heading-title{font:600 20px/1.3 var(--v2-serif);color:var(--v2-navy)}
.v2-cvaddr{font:400 13.5px/1.65 var(--v2-sans);color:var(--v2-text);margin:8px 0 14px}
.v2-cvlabel{font:900 10.5px/1 var(--v2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-gold-d);margin-top:14px}
.v2-cvrow{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #EDE8DE;font:400 13.5px/1.4 var(--v2-sans);color:var(--v2-text)}
.v2-cvrow b{color:var(--v2-navy)}
#v2-notecard>.elementor-widget-wrap{background:#FBF3E0;border-left:3px solid var(--v2-gold);border-radius:10px;padding:24px 26px}
#v2-intcard>.elementor-widget-wrap{background:#E9F0F9;border-left:3px solid var(--v2-blue);border-radius:10px;padding:24px 26px}
.v2-nch .elementor-heading-title{font:600 18px/1.3 var(--v2-serif);color:var(--v2-navy);margin-bottom:8px}
.v2-nct{font:400 13.5px/1.65 var(--v2-sans);color:var(--v2-text)}
.v2-nct a{color:var(--v2-blue) !important;font-weight:700;text-decoration:none}
#v2-pdfcard>.elementor-widget-wrap,#v2-subcard>.elementor-widget-wrap,#v2-ytcard>.elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:12px;padding:30px 28px;box-shadow:0 4px 16px rgba(11,37,69,.06)}
#v2-noticecard>.elementor-widget-wrap{background:#FBF3E0;border-left:3px solid var(--v2-gold);border-radius:10px;padding:22px 26px}
.v2-nlcard .elementor-widget-container{background:#fff;border:1px solid #E6E2DA;border-top:3px solid var(--v2-gold);border-radius:8px;padding:20px 18px;box-shadow:0 3px 12px rgba(11,37,69,.05);height:100%;transition:all .2s}
.v2-nlcard:hover .elementor-widget-container{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,37,69,.12)}
.v2-nlcard p{margin:0}
.v2-nl-t{font:600 15px/1.4 var(--v2-serif) !important;color:var(--v2-navy);margin-bottom:12px !important;min-height:42px}
.v2-nl-d{display:inline-flex;align-items:center;gap:6px;font:900 11px/1 var(--v2-sans);letter-spacing:.09em;color:var(--v2-blue) !important;text-decoration:none;text-transform:uppercase}
.v2-nl-d::after{content:'\2193'}
.v2-nl-d:hover{color:var(--v2-navy) !important}
#v2-subcard .wpforms-field-label{color:var(--v2-navy) !important;font:700 13px/1.4 var(--v2-sans) !important}
#v2-subcard input[type=text],#v2-subcard input[type=email]{border:1px solid #E1DCD2 !important;border-radius:4px !important;padding:12px 14px !important;font:400 14px/1 var(--v2-sans) !important}
#v2-subcard button[type=submit]{background:var(--v2-gold) !important;color:var(--v2-navy) !important;border:0 !important;border-radius:4px !important;font:900 12px/1 var(--v2-sans) !important;letter-spacing:.12em !important;padding:15px 28px !important;text-transform:uppercase}
.v2-btn-yt .elementor-button{background:#C4302B;color:#fff}
.v2-btn-yt .elementor-button:hover{background:#A82722;color:#fff}
@media (max-width:767px){.v2-nl-t{min-height:0}.v2-wtime{font-size:20px}.v2-wicon{width:42px;height:42px;background-size:20px 20px}}
#v2-subcard input[type=text],#v2-subcard input[type=email],#v2-subcard textarea{width:100% !important;max-width:100% !important;box-sizing:border-box}
#v2-subcard .wpforms-field{max-width:100% !important}
#v2-subcard .wpforms-container,#v2-subcard .wpforms-form{max-width:520px;margin-left:auto;margin-right:auto}
#v2-pdfcard iframe,#v2-pdfcard .embedpress-inner-iframe,#v2-pdfcard .ep-pdf-embed,#v2-pdfcard .embedpress-document-embed{width:100% !important;max-width:100% !important}
#v2-pdfcard .elementor-widget-embedpress_pdf{width:100% !important}
@media (max-width:767px){#v2-pdfcard iframe,#v2-pdfcard .embedpress-inner-iframe{min-height:420px}}
/* forms: let WPForms fill the card instead of its 300px medium cap */
#v2-subcard .wpforms-container,#v2-subcard .wpforms-form,#v2-subcard .wpforms-field-container,#v2-subcard .wpforms-field,#v2-subcard .wpforms-field-row,.v2-fform .wpforms-container,.v2-fform .wpforms-form,.v2-fform .wpforms-field-container,.v2-fform .wpforms-field,.v2-fform .wpforms-field-row{width:100% !important;max-width:100% !important;box-sizing:border-box}
#v2-subcard .wpforms-field-medium,#v2-subcard .wpforms-field-large,#v2-subcard .wpforms-field-small,.v2-fform .wpforms-field-medium,.v2-fform .wpforms-field-large,.v2-fform .wpforms-field-small{max-width:100% !important}
#v2-subcard input,#v2-subcard select,#v2-subcard textarea,.v2-fform input,.v2-fform select,.v2-fform textarea{width:100% !important;max-width:100% !important;box-sizing:border-box}
#v2-subcard .wpforms-field-row-block.wpforms-one-half,.v2-fform .wpforms-field-row-block.wpforms-one-half{width:calc(50% - 7px) !important;display:inline-block !important;vertical-align:top}
#v2-subcard .wpforms-field-row-block.wpforms-first,.v2-fform .wpforms-field-row-block.wpforms-first{margin-right:12px !important}
@media (max-width:600px){#v2-subcard .wpforms-field-row-block.wpforms-one-half,.v2-fform .wpforms-field-row-block.wpforms-one-half{width:100% !important;display:block !important;margin:0 0 10px !important}}
@media (max-width:1024px){.v2-fform .wpforms-field-row-block.wpforms-one-half{width:100% !important;display:block !important;margin:0 0 10px !important}}
/* pdf embed carries an inline 300px width */
#v2-pdfcard .elementor-widget-container>div,#v2-pdfcard iframe,#v2-pdfcard .embedpress-inner-iframe,#v2-pdfcard [class*=embedpress]{width:100% !important;max-width:100% !important}
#v2-pdfcard iframe{min-height:520px}
@media (max-width:767px){#v2-pdfcard iframe{min-height:400px}}
/* CookieYes panel must never exceed the viewport on phones */
.cky-preference-center,.cky-consent-container,.cky-modal,.cky-preference-wrapper{max-width:100vw !important;box-sizing:border-box}
@media (max-width:767px){.cky-preference-center{width:calc(100vw - 20px) !important;max-width:calc(100vw - 20px) !important;left:10px !important;right:10px !important;margin:0 !important}.cky-preference-content-wrapper,.cky-accordion,.cky-accordion-item,.cky-accordion-header,.cky-accordion-header-wrapper,.cky-horizontal-separator,.cky-preference-header{max-width:100% !important;box-sizing:border-box}}
/* tablet: 4 quad links are too cramped at 188px, go 2 x 2 */
@media (max-width:1024px){#v2-quadrow>.elementor-container{flex-wrap:wrap}#v2-quadrow>.elementor-container>.elementor-column{width:50% !important}}
/* tablet: stack the mass-times sidebar so the Zoom and Convent cards get full width */
@media (max-width:1024px){#v2-mtrow>.elementor-container{flex-wrap:wrap}#v2-mtrow>.elementor-container>.elementor-column{width:100% !important}#v2-mtrow>.elementor-container>.elementor-column+.elementor-column{margin-top:24px}}
/* tablet: newsletter archive 4-up is only 153px, go 2-up so rows stay even */
@media (max-width:1024px){#v2-archive .elementor-inner-section>.elementor-container{flex-wrap:wrap}#v2-archive .elementor-inner-section>.elementor-container>.elementor-column{width:50% !important}}
@media (max-width:600px){#v2-archive .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}}
/* tablet: safeguarding tiles 4-up is only 168px, go 2 x 2 */
@media (max-width:1024px){#v2-cards>.elementor-container>.elementor-column.elementor-col-25{width:50% !important}}
@media (max-width:600px){#v2-cards>.elementor-container>.elementor-column.elementor-col-25{width:100% !important}}
/* SA2026-V2IN-END */

/* SA2026-CAL-START */
.tribe-common,.tribe-events{font-family:var(--v2-sans) !important}
.tribe-common h1,.tribe-common h2,.tribe-common h3,.tribe-events .tribe-events-c-top-bar__datepicker-button{color:var(--v2-navy) !important}
.tribe-common .tribe-common-c-btn,.tribe-common a.tribe-common-c-btn{background:var(--v2-navy) !important;color:#fff !important;border-radius:4px !important;font:900 12px/1 var(--v2-sans) !important;letter-spacing:.1em !important;text-transform:uppercase}
.tribe-common .tribe-common-c-btn:hover{background:var(--v2-gold) !important;color:var(--v2-navy) !important}
.tribe-events-c-top-bar__today-button{border:1px solid #E1DCD2 !important;color:var(--v2-navy) !important;font-weight:700 !important}
.tribe-events-calendar-month__day-date-daynum,.tribe-events-calendar-month__day-date-daynum a{color:var(--v2-navy) !important;font-weight:700 !important}
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum{color:var(--v2-gold-d) !important}
.tribe-events-calendar-month__header-column-title{color:var(--v2-text) !important;font:900 11px/1 var(--v2-sans) !important;letter-spacing:.12em !important;text-transform:uppercase}
.tribe-events-calendar-month__calendar-event-title a,.tribe-events-calendar-list__event-title a{color:var(--v2-navy) !important;font-family:var(--v2-serif) !important;font-weight:600 !important;text-decoration:none}
.tribe-events-calendar-month__calendar-event-title a:hover,.tribe-events-calendar-list__event-title a:hover{color:var(--v2-blue) !important}
.tribe-events-calendar-month__calendar-event-datetime,.tribe-events-calendar-list__event-datetime-wrapper{color:var(--v2-text) !important}
.tribe-events-calendar-month__multiday-event-bar-inner{background:var(--v2-navy2) !important;color:#fff !important}
.tribe-events-calendar-list__event-row{border-bottom:1px solid #EDE8DE;padding-bottom:18px}
.tribe-events-calendar-list__month-separator-text{font:900 12px/1 var(--v2-sans) !important;letter-spacing:.12em !important;color:var(--v2-gold-d) !important;text-transform:uppercase}
.tribe-events-calendar-list__event-date-tag-daynum{background:var(--v2-navy) !important;color:#fff !important;border-radius:6px}
.tribe-events-calendar-month__day--past{opacity:.55}
/* SA2026-CAL-END */

/* SA2026-CONTRAST-START */
/* outline button sat over bare photo: give it a backdrop so it never reads grey */
.v2-btn-outline .elementor-button{background:rgba(11,37,69,.82) !important;color:var(--v2-gold) !important;box-shadow:inset 0 0 0 2px var(--v2-gold) !important}
.v2-btn-outline .elementor-button:hover,.v2-btn-outline .elementor-button:focus{background:var(--v2-gold) !important;color:var(--v2-navy) !important;box-shadow:inset 0 0 0 2px var(--v2-gold) !important}
/* hero overlay: darker where the text sits so nothing washes out */
#v2-hero>.elementor-background-overlay{background:linear-gradient(90deg,rgba(11,37,69,.93) 0%,rgba(11,37,69,.82) 48%,rgba(11,37,69,.6) 100%) !important;opacity:1 !important}
#v2-phero>.elementor-background-overlay{background:linear-gradient(90deg,rgba(11,37,69,.93) 0%,rgba(11,37,69,.84) 55%,rgba(11,37,69,.68) 100%) !important;opacity:1 !important}
/* lift every dim white on dark so nothing looks grey */
.v2-hero-lede,.v2-plede{color:rgba(255,255,255,.96) !important}
#v2-phero .v2-crumb,#v2-phero .v2-crumb a{color:rgba(255,255,255,.86) !important}
.v2-pnote .elementor-icon-box-description{color:rgba(255,255,255,.95) !important}
.v2-brand-c{color:rgba(255,255,255,.84) !important}
.ast-primary-header-bar .main-header-menu>li>a{color:rgba(255,255,255,.96) !important}
.main-header-menu .sub-menu a{color:rgba(255,255,255,.93) !important}
.ast-header-break-point .main-header-menu a{color:rgba(255,255,255,.96) !important}
.v2-quote{color:rgba(255,255,255,.93) !important}
.v2-mrow{color:rgba(255,255,255,.92) !important}
.v2-ontext,.v2-onmeta{color:rgba(255,255,255,.92) !important}
.v2-ftext{color:rgba(255,255,255,.88) !important}
.v2-ft{color:rgba(255,255,255,.88) !important}
.v2-flinks a,.v2-flist li,.v2-flist a{color:rgba(255,255,255,.9) !important}
.v2-legal,.v2-legal a{color:rgba(255,255,255,.82) !important}
.v2-gb-text p{color:rgba(255,255,255,.88) !important}
/* SA2026-CONTRAST-END */

/* SA2026-FOOTALIGN-START */
/* everything in the footer reads from the left edge */
.v2-fgrid,.v2-fgrid .v2-fcol,.v2-fgrid p,.v2-fgrid ul,.v2-fgrid li,.v2-fgrid h4,.v2-fgrid a,.v2-fgrid div{text-align:left !important}
.site-primary-footer-wrap .ast-builder-html-element,.site-primary-footer-wrap .ast-header-html,.site-primary-footer-wrap .footer-widget-area{text-align:left !important}
.v2-fh{text-align:left !important}
.v2-flinks a{justify-content:flex-start !important;gap:8px}
.v2-ft{justify-content:space-between !important}
.v2-ft span:last-child{text-align:right !important}
.v2-fsocial{justify-content:flex-start !important}
.v2-brand-f{justify-content:flex-start !important}
/* newsletter: stack name fields full width so both are the same length */
.v2-fform .wpforms-field-row-block.wpforms-one-half,.v2-fform .wpforms-field-row-block{width:100% !important;max-width:100% !important;display:block !important;float:none !important;margin:0 0 10px !important;padding:0 !important}
.v2-fform .wpforms-field-row{display:block !important;width:100% !important}
.v2-fform input[type=text],.v2-fform input[type=email]{width:100% !important;max-width:100% !important;display:block !important;box-sizing:border-box}
.v2-fform .wpforms-field-sublabel{display:none !important}
.v2-fform .wpforms-field{padding:0 0 6px !important}
.v2-fform button[type=submit]{text-align:center !important}
/* same treatment on the newsletter page card */
#v2-subcard .wpforms-field-sublabel{display:none !important}
#v2-subcard .wpforms-field-row-block.wpforms-one-half{width:calc(50% - 7px) !important}
/* SA2026-FOOTALIGN-END */

/* SA2026-LOGO-START */
/* parish logo sits before the wordmark, matched to the lockup height */
.v2-brand-logo{width:52px;height:52px;border-radius:50%;display:block;flex:none;object-fit:cover}
.ast-primary-header-bar .v2-brand{gap:14px;align-items:center}
@media (max-width:921px){.v2-brand-logo{width:42px;height:42px}}
@media (max-width:400px){.v2-brand-logo{width:36px;height:36px}}
/* SA2026-LOGO-END */

/* SA2026-CTAICON-START */
/* centre the glyph inside the circle: the <i> is a block, so line-height cannot do it */
.v2-ctaicon .elementor-icon-wrapper{display:flex;justify-content:center;align-items:center}
.v2-ctaicon .elementor-icon{display:inline-flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;width:72px;height:72px;padding:0 !important;border-radius:50%;background:#fff;color:var(--v2-blue);font-size:30px;text-align:center}
.v2-ctaicon .elementor-icon i,.v2-ctaicon .elementor-icon svg{display:block !important;line-height:1 !important;width:1em;height:1em;font-size:inherit;text-align:center}
.v2-ctaicon .elementor-icon svg{fill:currentColor}
@media (max-width:1024px){.v2-ctaicon .elementor-icon{width:66px;height:66px;font-size:28px}}
@media (max-width:767px){.v2-ctaicon .elementor-icon{width:58px;height:58px;font-size:25px}}
/* SA2026-CTAICON-END */

/* SA2026-BOT-START */
/* chatbot recoloured to the site palette: navy panel, white text, gold accent */
.mwai-chatbot-container,.mwai-chatgpt-theme{--mwai-backgroundPrimaryColor:#0B2545;--mwai-backgroundSecondaryColor:#123B6B;--mwai-backgroundHeaderColor:#08203C;--mwai-headerColor:#ffffff;--mwai-fontColor:#ffffff;--mwai-accentColor:#E8B84B;--mwai-bubbleColor:#0B2545;--mwai-iconTextColor:#0B2545;--mwai-iconTextBackgroundColor:#E8B84B;--mwai-borderColor:rgba(255,255,255,.16);--mwai-conversationsBackgroundColor:#08203C;--mwai-conversationsTextColor:#ffffff;--mwai-errorBackgroundColor:#7A2230;--mwai-errorTextColor:#ffffff;--mwai-fontSize:14px;font-family:var(--v2-sans,'Lato',sans-serif);}
.mwai-chatgpt-theme .mwai-header,.mwai-chatgpt-theme .mwai-name{color:#fff}
.mwai-chatgpt-theme .mwai-reply .mwai-text,.mwai-chatgpt-theme .mwai-conversation{color:#fff}
.mwai-chatgpt-theme a{color:#E8B84B !important;text-decoration:underline}
.mwai-chatgpt-theme a:hover{color:#F0CB74 !important}
.mwai-chatgpt-theme input,.mwai-chatgpt-theme textarea{color:#fff !important;background:#123B6B !important}
.mwai-chatgpt-theme input::placeholder,.mwai-chatgpt-theme textarea::placeholder{color:rgba(255,255,255,.6) !important}
.mwai-chatgpt-theme .mwai-gdpr-buttons button,.mwai-chatgpt-theme button[type=submit]{background:#E8B84B !important;color:#0B2545 !important;border:0 !important;border-radius:4px !important;font-weight:700}
.mwai-chatgpt-theme .mwai-compliance{color:rgba(255,255,255,.62)}
/* SA2026-BOT-END */
/* SA2026-ARROW-START */
/* submenu expand arrows render black on the navy menu: force white */
.ast-mobile-popup-drawer .ast-menu-toggle,.ast-header-break-point .ast-menu-toggle,.main-header-menu .ast-menu-toggle,.ast-mobile-popup-drawer .ast-menu-toggle .ast-icon,.main-header-menu .ast-menu-toggle .ast-icon{color:#ffffff !important}
.ast-mobile-popup-drawer .ast-menu-toggle svg,.ast-header-break-point .ast-menu-toggle svg,.main-header-menu .ast-menu-toggle svg,.ast-mobile-popup-drawer .ast-icon.icon-arrow svg,.main-header-menu .ast-icon.icon-arrow svg{fill:#ffffff !important;color:#ffffff !important}
.ast-mobile-popup-drawer .ast-menu-toggle:hover svg,.ast-mobile-popup-drawer .ast-menu-toggle[aria-expanded=true] svg,.ast-header-break-point .ast-menu-toggle:hover svg{fill:#E8B84B !important;color:#E8B84B !important}
/* desktop dropdown indicators too, same problem waiting to happen */
.ast-primary-header-bar .main-header-menu .sub-menu .ast-menu-toggle svg{fill:#ffffff !important}
/* SA2026-ARROW-END */
/* SA2026-NEWSIMG-START */
/* news card images must fill the card edge to edge at every size */
#v2-newsrow .elementor-widget-wrap{padding:0 !important}
#v2-newsrow .v2-nimg,#v2-newsrow .v2-nimg .elementor-widget-container{margin:0 !important;padding:0 !important;width:100% !important;line-height:0}
#v2-newsrow .v2-nimg figure,#v2-newsrow .v2-nimg .elementor-image,#v2-newsrow .v2-nimg a{display:block !important;margin:0 !important;padding:0 !important;width:100% !important}
#v2-newsrow .v2-nimg img{width:100% !important;max-width:none !important;height:190px !important;object-fit:cover !important;object-position:center !important;display:block !important;border-radius:0 !important}
@media (max-width:1024px){#v2-newsrow .v2-nimg img{height:170px !important}}
@media (max-width:767px){#v2-newsrow .v2-nimg img{height:210px !important}}
/* keep the rounded top corners of the card now that the image is flush */
#v2-newsrow .elementor-widget-wrap{overflow:hidden;border-radius:10px}
/* SA2026-NEWSIMG-END */
/* SA2026-EMBOSS-START */
/* embossed hover, desktop pointer devices only (no sticky hover on touch) */
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
  #v2-newsrow .elementor-widget-wrap,
  .v2-card .elementor-widget-container,
  .v2-icard .elementor-widget-container,
  .v2-nlcard .elementor-widget-container,
  .v2-rcard .elementor-widget-container{transition:transform .25s ease,box-shadow .25s ease}
  #v2-newsrow .elementor-column:hover .elementor-widget-wrap,
  .v2-card:hover .elementor-widget-container,
  .v2-icard:hover .elementor-widget-container,
  .v2-nlcard:hover .elementor-widget-container,
  .v2-rcard:hover .elementor-widget-container{
    transform:translateY(-5px);
    box-shadow:0 20px 38px rgba(11,37,69,.22),0 4px 10px rgba(11,37,69,.12),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 3px rgba(11,37,69,.07);
  }
  /* quad links have no card surface, give them a raised panel on hover */
  #v2-quadrow>.elementor-container>.elementor-column{transition:transform .25s ease,box-shadow .25s ease,background .25s ease;border-radius:10px}
  #v2-quadrow>.elementor-container>.elementor-column:hover{
    transform:translateY(-5px);background:#fff;
    box-shadow:0 18px 34px rgba(11,37,69,.18),0 3px 8px rgba(11,37,69,.10),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 3px rgba(11,37,69,.06);
  }
}
/* SA2026-EMBOSS-END */
/* SA2026-TEAMS-START */
#v2-intro2,#v2-intro3,#v2-intro4,#v2-people,#v2-litgrid,#v2-volgrid{background:var(--v2-cream)}
/* clergy cards: portrait sits square, role as a gold eyebrow */
#v2-cards .v2-clergy .elementor-image-box-img img{height:300px !important;object-fit:cover;object-position:center top}
.v2-role{display:block;font:900 11px/1 var(--v2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-gold-d);margin-bottom:10px}
/* committee member cards */
#v2-people .elementor-column{padding:0 12px 26px}
#v2-people .elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:10px;padding:24px 16px 20px;box-shadow:0 4px 16px rgba(11,37,69,.06);height:100%;text-align:center;transition:transform .25s ease,box-shadow .25s ease}
.v2-pimg{margin-bottom:0 !important}
.v2-pimg img{width:104px !important;height:104px !important;border-radius:50%;object-fit:cover;object-position:center top;margin:0 auto;display:block;border:3px solid #EFEBE2}
.v2-pname .elementor-heading-title{font:600 17px/1.3 var(--v2-serif);color:var(--v2-navy);margin:16px 0 4px;text-align:center}
.v2-prole{font:400 13px/1.5 var(--v2-sans);color:var(--v2-text);text-align:center;margin:0}
/* liturgical + volunteer cards inherit .v2-card, just tune the image height */
#v2-litgrid .v2-card .elementor-image-box-img img,#v2-volgrid .v2-card .elementor-image-box-img img{height:180px !important;object-fit:cover}
#v2-litgrid .elementor-column,#v2-volgrid .elementor-column,#v2-cards .elementor-column{padding:0 12px 26px}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
  #v2-people .elementor-column:hover .elementor-widget-wrap{transform:translateY(-5px);box-shadow:0 20px 38px rgba(11,37,69,.22),0 4px 10px rgba(11,37,69,.12),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 3px rgba(11,37,69,.07)}
}
@media (max-width:1024px){#v2-people .elementor-inner-section>.elementor-container>.elementor-column,#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column{width:50% !important}}
#v2-people>.elementor-container>.elementor-column,#v2-litgrid>.elementor-container>.elementor-column,#v2-volgrid>.elementor-container>.elementor-column,#v2-cards>.elementor-container>.elementor-column{width:100%}
@media (max-width:600px){#v2-people .elementor-inner-section>.elementor-container>.elementor-column,#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}}
/* SA2026-TEAMS-END */
@media (max-width:1024px){#v2-people>.elementor-container>.elementor-column,#v2-litgrid>.elementor-container>.elementor-column,#v2-volgrid>.elementor-container>.elementor-column{width:100% !important}}
/* SA2026-CRYPT-START */
#v2-cryptrow{background:var(--v2-cream)}
.v2-cryptimg img{border-radius:10px;width:100%;height:auto;display:block}
#v2-cryptcol>.elementor-widget-wrap{padding-left:40px}
.v2-cryptbody{max-width:none}
.v2-cryptbody a{color:var(--v2-blue) !important;font-weight:700}
@media (max-width:1024px){#v2-cryptcol>.elementor-widget-wrap{padding-left:0;padding-top:26px}}
/* SA2026-CRYPT-END */
/* SA2026-GALLERY-START */
[id^="album-"]{background:#fff}
[id^="album-"]:nth-of-type(even){background:var(--v2-cream)}
#v2-albumindex{background:var(--v2-cream)}
.v2-albumtitle .elementor-heading-title{font:600 30px/1.2 var(--v2-serif);color:var(--v2-navy);margin:0}
.v2-albumnav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.v2-albumnav a{display:inline-block;padding:9px 16px;border:1px solid #E1DCD2;border-radius:999px;background:#fff;color:var(--v2-navy) !important;font:700 12px/1 var(--v2-sans);letter-spacing:.04em;text-decoration:none;transition:all .2s}
.v2-albumnav a:hover{background:var(--v2-navy);color:#fff !important;border-color:var(--v2-navy)}
/* uniform gallery thumbnails */
.v2-gal .gallery{display:grid !important;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 0 !important}
.v2-gal .gallery-item{width:100% !important;max-width:none !important;margin:0 !important;float:none !important}
.v2-gal .gallery-icon{margin:0 !important}
.v2-gal .gallery-item img{width:100% !important;height:150px !important;object-fit:cover;border-radius:8px !important;border:0 !important;display:block;transition:transform .3s ease,box-shadow .3s ease}
.v2-gal .gallery-caption{display:none !important}
.v2-galtext{font:400 15px/1.7 var(--v2-sans);color:var(--v2-text);margin-top:6px}
.v2-galvid{margin-top:18px}
.v2-galvid .elementor-wrapper,.v2-galvid .elementor-fit-aspect-ratio{border-radius:10px;overflow:hidden}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
  .v2-gal .gallery-item img:hover{transform:scale(1.04);box-shadow:0 12px 26px rgba(11,37,69,.24)}
}
@media (max-width:1024px){.v2-gal .gallery{grid-template-columns:repeat(4,1fr)}.v2-gal .gallery-item img{height:130px !important}.v2-albumtitle .elementor-heading-title{font-size:25px}}
@media (max-width:767px){.v2-gal .gallery{grid-template-columns:repeat(3,1fr);gap:8px}.v2-gal .gallery-item img{height:104px !important}}
@media (max-width:420px){.v2-gal .gallery{grid-template-columns:repeat(2,1fr)}.v2-gal .gallery-item img{height:120px !important}}
/* SA2026-GALLERY-END */
/* SA2026-FORMS-START */
#v2-featured,#v2-intro,#v2-formgrid,#v2-intro2,#v2-side{background:var(--v2-cream)}
.v2-wpimg img{border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 10px 28px rgba(11,37,69,.16)}
#v2-wpcol>.elementor-widget-wrap{padding-left:40px}
.v2-filenote{display:block;font:900 11px/1 var(--v2-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gold-d);margin-top:14px}
/* form cards: document thumbnail sits contained, not cropped */
.v2-formcard .elementor-image-box-img{background:#F2EFE8;padding:18px 18px 0}
.v2-formcard .elementor-image-box-img img{height:190px !important;object-fit:contain !important;background:#fff;border:1px solid #E6E2DA;border-radius:6px}
.v2-filemeta{display:block;font:900 10.5px/1 var(--v2-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gold-d);margin-top:12px}
.v2-dl{display:inline-block;margin-top:12px;font:900 11.5px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-blue)}
.v2-formcard:hover .v2-dl{color:var(--v2-navy)}
#v2-formgrid .elementor-column,#v2-featured .elementor-column{padding:0 12px 26px}
@media (max-width:1024px){#v2-wpcol>.elementor-widget-wrap{padding-left:0;padding-top:26px}#v2-formgrid .elementor-inner-section>.elementor-container>.elementor-column{width:50% !important}}
@media (max-width:600px){#v2-formgrid .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}}
/* SA2026-FORMS-END */
/* SA2026-LINKS-START */
#v2-intro,#v2-linkgrid{background:var(--v2-cream)}
.v2-linkcard .elementor-image-box-img{background:#fff;padding:26px 26px 0}
.v2-linkcard .elementor-image-box-img img{height:120px !important;object-fit:contain !important;background:#fff}
.v2-linkdomain{display:block;font:900 11px/1 var(--v2-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--v2-gold-d);margin-top:12px}
#v2-linkgrid .elementor-column{padding:0 12px 26px}
@media (max-width:1024px){#v2-linkgrid>.elementor-container>.elementor-column{width:50% !important}}
@media (max-width:600px){#v2-linkgrid>.elementor-container>.elementor-column{width:100% !important}}
/* SA2026-LINKS-END */
/* SA2026-BLOG-START */
#v2-blogsearch,#v2-blogmain{background:var(--v2-cream)}
.v2-searchform{display:flex;gap:10px;max-width:640px;margin:0 auto}
.v2-searchform input[type=search]{flex:1;border:1px solid #E1DCD2;border-radius:6px;padding:14px 16px;font:400 15px/1 var(--v2-sans);color:var(--v2-navy);background:#fff}
.v2-searchform input[type=search]:focus{outline:2px solid var(--v2-gold);outline-offset:1px}
.v2-searchform button{background:var(--v2-navy);color:#fff;border:0;border-radius:6px;padding:14px 26px;font:900 12px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.v2-searchform button:hover{background:var(--v2-gold);color:var(--v2-navy)}
#v2-topics>.elementor-widget-wrap,#v2-latest>.elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:10px;padding:24px 22px;box-shadow:0 4px 16px rgba(11,37,69,.06)}
.v2-sideh .elementor-heading-title{font:600 19px/1.3 var(--v2-serif);color:var(--v2-navy);margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--v2-gold)}
.v2-sideh2 .elementor-heading-title{margin-top:26px}
.v2-mainh .elementor-heading-title{border-bottom:0;padding-bottom:0;font-size:24px;margin-bottom:16px}
.v2-catlist ul,.v2-recent ul{list-style:none;margin:12px 0 0;padding:0}
.v2-catlist li,.v2-recent li{border-bottom:1px solid #EDE8DE;padding:9px 0}
.v2-catlist li:last-child,.v2-recent li:last-child{border-bottom:0}
.v2-catlist a,.v2-recent a{color:var(--v2-navy) !important;font:400 14px/1.5 var(--v2-sans);text-decoration:none;display:inline-block}
.v2-catlist a:hover,.v2-recent a:hover{color:var(--v2-blue) !important}
.v2-recent .post-date{display:block;font:400 12px/1.4 var(--v2-sans);color:var(--v2-text);margin-top:2px}
.v2-sidetext{font:400 13.5px/1.6 var(--v2-sans);color:var(--v2-text);margin:12px 0 14px}
/* post cards */
.v2-postgrid .rt-row{margin-left:-10px;margin-right:-10px}
.v2-postgrid .rt-grid-item{padding:10px}
.v2-postgrid .rt-holder,.v2-postgrid .rt-grid-item-inner{background:#fff;border:1px solid #E6E2DA;border-radius:10px;overflow:hidden;box-shadow:0 4px 16px rgba(11,37,69,.06);height:100%;transition:transform .25s ease,box-shadow .25s ease}
.v2-postgrid .rt-img-holder img,.v2-postgrid img{width:100% !important;height:190px !important;object-fit:cover !important;display:block}
.v2-postgrid .rt-detail{padding:18px 18px 22px}
.v2-postgrid .entry-title,.v2-postgrid h3{font:600 19px/1.35 var(--v2-serif) !important;margin:0 0 8px !important}
.v2-postgrid .entry-title a,.v2-postgrid h3 a{color:var(--v2-navy) !important;text-decoration:none}
.v2-postgrid .entry-title a:hover,.v2-postgrid h3 a:hover{color:var(--v2-blue) !important}
.v2-postgrid .tpg-excerpt,.v2-postgrid p{font:400 13.5px/1.65 var(--v2-sans);color:var(--v2-text)}
.v2-postgrid .rt-meta,.v2-postgrid .post-meta{font:900 10.5px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-gold-d)}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
  .v2-postgrid .rt-grid-item:hover .rt-holder,.v2-postgrid .rt-grid-item:hover .rt-grid-item-inner{transform:translateY(-5px);box-shadow:0 20px 38px rgba(11,37,69,.22),0 4px 10px rgba(11,37,69,.12),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 3px rgba(11,37,69,.07)}
}
@media (max-width:1024px){#v2-blogmain>.elementor-container>.elementor-column{width:100% !important}#v2-topics>.elementor-widget-wrap,#v2-latest>.elementor-widget-wrap{margin-bottom:22px}}
@media (max-width:600px){.v2-searchform{flex-direction:column}.v2-searchform button{width:100%}}
/* SA2026-BLOG-END */
/* SA2026-WRAP-START */
/* long emails and URLs must wrap rather than overflow narrow screens */
.elementor-widget-text-editor,.elementor-image-box-description,.elementor-icon-box-description,.v2-nct,.v2-dt,.v2-body,.v2-csub,.v2-plede{overflow-wrap:break-word}
.elementor-widget-text-editor a,.elementor-image-box-description a,.elementor-icon-box-description a,.v2-nct a,.v2-dt a,.v2-body a,.v2-cryptbody a,.v2-flist a{overflow-wrap:anywhere;word-break:break-word}
/* The Post Grid loader container must not exceed the viewport */
.bottom-script-loader{max-width:100% !important;overflow:hidden}
/* SA2026-WRAP-END */
/* SA2026-SACTAB-START */
/* sacrament cards: 3-up at tablet is only 190px, go 2-up */
@media (max-width:1024px){#v2-cards .elementor-inner-section>.elementor-container>.elementor-column{width:50% !important}}
@media (max-width:600px){#v2-cards .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}}
/* SA2026-SACTAB-END */
/* SA2026-DONATE-START */
/* gold donate button, always visible in the header bar */
.v2-donate-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--v2-gold);color:var(--v2-navy) !important;font:900 12px/1 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;padding:13px 22px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:background .2s ease,transform .15s ease}
.v2-donate-btn:hover,.v2-donate-btn:focus{background:var(--v2-gold-d);color:var(--v2-navy) !important;transform:translateY(-1px)}
.ast-primary-header-bar .ast-builder-html-element{display:flex;align-items:center}
@media (max-width:921px){.v2-donate-btn{padding:10px 16px;font-size:11px;margin-right:12px}}
@media (max-width:400px){.v2-donate-btn{padding:9px 13px;font-size:10.5px;letter-spacing:.07em;margin-right:8px}}
/* SA2026-DONATE-END */
/* SA2026-SCROLLTOP-START */
/* hide the CookieYes floating revisit badge (consent still changeable via the footer link) */
.cky-btn-revisit-wrapper,.cky-revisit-bottom-left,.cky-btn-revisit,#ckyBtnRevisit{display:none !important}
/* scroll to top: navy circle, white arrow, bottom left, all breakpoints */
#ast-scroll-top{background:var(--v2-navy) !important;color:#ffffff !important;border-radius:50% !important;width:46px;height:46px;line-height:46px;text-align:center;display:flex !important;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(11,37,69,.34);border:2px solid rgba(255,255,255,.22);transition:background .2s ease,transform .2s ease;left:20px;right:auto;bottom:20px}
#ast-scroll-top svg,#ast-scroll-top .ast-icon svg,#ast-scroll-top .ast-arrow-svg{fill:#ffffff !important;color:#ffffff !important;width:17px;height:17px}
#ast-scroll-top:hover{background:var(--v2-gold) !important;transform:translateY(-3px)}
#ast-scroll-top:hover svg,#ast-scroll-top:hover .ast-arrow-svg{fill:var(--v2-navy) !important}
#ast-scroll-top:focus-visible{outline:3px solid var(--v2-gold);outline-offset:2px}
@media (max-width:921px){#ast-scroll-top{width:42px;height:42px;left:16px;bottom:16px}#ast-scroll-top svg,#ast-scroll-top .ast-arrow-svg{width:15px;height:15px}}
/* footer link to reopen cookie preferences */
.v2-legal .cky-banner-element{cursor:pointer}
/* SA2026-SCROLLTOP-END */
/* SA2026-GIVING-START */
#v2-quotesec,#v2-intro,#v2-cards,#v2-sorow,#v2-gasec,#v2-ctrow{background:var(--v2-cream)}
#v2-thanksec{background:#fff}
#v2-quoteband>.elementor-widget-wrap{max-width:760px;margin:0 auto;text-align:center;border-left:3px solid var(--v2-gold);padding:6px 0 6px 26px}
.v2-givequote{font:400 24px/1.5 var(--v2-serif);font-style:italic;color:var(--v2-navy);margin:0}
.v2-givequote-by{font:900 11.5px/1 var(--v2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-gold-d);margin:14px 0 0}
#v2-sotext>.elementor-widget-wrap{padding-right:36px}
#v2-bankcard>.elementor-widget-wrap{background:var(--v2-navy);border-radius:12px;padding:30px 32px}
.v2-bankrow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.v2-bankrow:last-child{border-bottom:0}
.v2-bankrow span{font:900 10.5px/1 var(--v2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-gold-l,#E8B84B)}
.v2-bankrow strong{font:700 20px/1.2 var(--v2-sans);color:#fff;letter-spacing:.04em}
#v2-giftaid>.elementor-widget-wrap{background:#FBF3E0;border-left:4px solid var(--v2-gold);border-radius:12px;padding:32px 34px}
.v2-gah .elementor-heading-title{font:600 25px/1.3 var(--v2-serif);color:var(--v2-navy);margin-bottom:10px}
.v2-gatext{font:400 15px/1.75 var(--v2-sans);color:var(--v2-text);margin-bottom:20px}
.v2-btn-outline-navy .elementor-button{background:transparent;color:var(--v2-navy) !important;box-shadow:inset 0 0 0 2px var(--v2-navy)}
.v2-btn-outline-navy .elementor-button:hover{background:var(--v2-navy);color:#fff !important}
.v2-ctimg img{border-radius:12px;width:100%;height:auto;display:block;box-shadow:0 10px 28px rgba(11,37,69,.16)}
#v2-ctcol>.elementor-widget-wrap{padding-left:38px}
.v2-ctbody{max-width:none}
.v2-thanks img{max-width:560px;width:100%;height:auto;margin:0 auto;display:block;border-radius:12px}
@media (max-width:1024px){#v2-sotext>.elementor-widget-wrap{padding-right:0;padding-bottom:26px}#v2-ctcol>.elementor-widget-wrap{padding-left:0;padding-top:26px}#v2-cards>.elementor-container>.elementor-column.elementor-col-25{width:50% !important}}
@media (max-width:600px){#v2-cards>.elementor-container>.elementor-column.elementor-col-25{width:100% !important}.v2-givequote{font-size:19px}.v2-bankrow strong{font-size:17px}#v2-gabtns>.elementor-container>.elementor-column{width:100% !important}}
/* SA2026-GIVING-END */
/* SA2026-PRIVACY-START */
#v2-tocsec,#v2-docsec{background:var(--v2-cream)}
#v2-toccard>.elementor-widget-wrap,#v2-doccard>.elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:12px;box-shadow:0 4px 16px rgba(11,37,69,.06);max-width:880px;margin:0 auto}
#v2-toccard>.elementor-widget-wrap{padding:26px 34px 22px}
#v2-doccard>.elementor-widget-wrap{padding:44px 54px 48px}
.v2-toch .elementor-heading-title{font:600 19px/1.3 var(--v2-serif);color:var(--v2-navy);margin:0 0 8px;padding-bottom:10px;border-bottom:2px solid var(--v2-gold)}
ol.v2-toc{list-style:none;counter-reset:toc;margin:14px 0 0;padding:0;columns:2;column-gap:34px}
ol.v2-toc li{counter-increment:toc;padding:7px 0;break-inside:avoid}
ol.v2-toc a{font:400 14px/1.5 var(--v2-sans);color:var(--v2-navy) !important;text-decoration:none;border-bottom:1px solid transparent}
ol.v2-toc a:hover{color:var(--v2-blue) !important;border-bottom-color:var(--v2-gold)}
/* legal document typography: generous measure and rhythm */
.v2-pph .elementor-heading-title{font:600 22px/1.35 var(--v2-serif);color:var(--v2-navy);margin:38px 0 4px;padding-bottom:10px;border-bottom:2px solid var(--v2-gold)}
#v2-doccard .elementor-widget:first-child .v2-pph .elementor-heading-title,#v2-doccard .v2-pph:first-of-type .elementor-heading-title{margin-top:0}
.v2-ppbody{font:400 15.5px/1.85 var(--v2-sans);color:var(--v2-text);margin-top:14px}
.v2-ppbody p{margin:0 0 14px}
.v2-ppbody p:last-child{margin-bottom:0}
.v2-ppbody strong,.v2-ppbody b{color:var(--v2-navy)}
.v2-ppbody a{color:var(--v2-blue) !important;font-weight:700;overflow-wrap:anywhere}
.v2-ppbody ul,.v2-ppbody ol{padding-left:22px;margin:0 0 14px}
.v2-ppbody li{margin-bottom:8px}
.v2-ppver{font:900 11px/1.6 var(--v2-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gold-d);margin-top:36px;padding-top:18px;border-top:1px solid #EDE8DE}
html{scroll-behavior:smooth}
[id^="pp-"]{scroll-margin-top:100px}
@media (max-width:1024px){#v2-doccard>.elementor-widget-wrap{padding:34px 30px 38px}ol.v2-toc{columns:1}}
@media (max-width:600px){#v2-doccard>.elementor-widget-wrap{padding:26px 20px 30px}#v2-toccard>.elementor-widget-wrap{padding:22px 20px 18px}.v2-ppbody{font-size:15px;line-height:1.8}.v2-pph .elementor-heading-title{font-size:19px}}
/* SA2026-PRIVACY-END */
/* SA2026-CONTACT-START */
#v2-cards,#v2-formrow,#v2-maprow,#v2-intro,#v2-formgrid{background:var(--v2-cream)}
.v2-contactcard .elementor-icon-box-description{font:400 14px/1.65 var(--v2-sans);word-break:break-word}
.v2-contactcard .elementor-icon-box-description a{color:var(--v2-blue) !important;font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.v2-contactcard .elementor-icon-box-description a:hover{color:var(--v2-navy) !important}
#v2-cards .elementor-column{padding:0 12px 24px}
#v2-formcol>.elementor-widget-wrap{background:#fff;border:1px solid #E6E2DA;border-radius:12px;padding:34px 34px 30px;box-shadow:0 4px 16px rgba(11,37,69,.06)}
#v2-visitcol>.elementor-widget-wrap{padding-left:38px}
.v2-visith .elementor-heading-title{font:600 26px/1.3 var(--v2-serif);color:var(--v2-navy);margin-bottom:12px}
.v2-visitbody{font:400 15px/1.8 var(--v2-sans);color:var(--v2-text)}
.v2-visitbody p{margin:0 0 13px}
.v2-visitbody a{color:var(--v2-blue) !important;font-weight:700}
.v2-addrline{font:900 11.5px/1.6 var(--v2-sans) !important;letter-spacing:.08em;text-transform:uppercase;color:var(--v2-gold-d);margin-top:16px !important}
#v2-visitbtns{margin-top:18px}
/* contact form */
.v2-contactform .wpforms-container{margin:0 !important}
.v2-contactform .wpforms-field{padding:0 0 14px !important;width:100% !important;max-width:100% !important}
.v2-contactform .wpforms-field-label{font:700 13px/1.4 var(--v2-sans) !important;color:var(--v2-navy) !important;margin-bottom:6px !important}
.v2-contactform input[type=text],.v2-contactform input[type=email],.v2-contactform input[type=tel],.v2-contactform textarea,.v2-contactform select{width:100% !important;max-width:100% !important;border:1px solid #E1DCD2 !important;border-radius:6px !important;padding:12px 14px !important;font:400 14.5px/1.5 var(--v2-sans) !important;color:var(--v2-navy) !important;background:#fff !important;box-sizing:border-box}
.v2-contactform input:focus,.v2-contactform textarea:focus{outline:2px solid var(--v2-gold);outline-offset:1px;border-color:var(--v2-gold) !important}
.v2-contactform .wpforms-field-row-block,.v2-contactform .wpforms-field-row{width:100% !important;max-width:100% !important;display:block !important;float:none !important;margin:0 0 10px !important}
.v2-contactform .wpforms-field-sublabel{display:none !important}
.v2-contactform button[type=submit]{background:var(--v2-gold) !important;color:var(--v2-navy) !important;border:0 !important;border-radius:6px !important;font:900 12px/1 var(--v2-sans) !important;letter-spacing:.12em !important;padding:15px 30px !important;text-transform:uppercase;cursor:pointer}
.v2-contactform button[type=submit]:hover{background:var(--v2-gold-d) !important}
/* map */
#v2-mapcard>.elementor-widget-wrap{border-radius:12px;overflow:hidden;border:1px solid #E6E2DA;box-shadow:0 4px 16px rgba(11,37,69,.06)}
.v2-cmap iframe{display:block;width:100% !important;border:0}
@media (max-width:1024px){#v2-visitcol>.elementor-widget-wrap{padding-left:0;padding-top:30px}#v2-cards>.elementor-container>.elementor-column.elementor-col-25{width:50% !important}body.elementor-page-2636 #v2-formgrid>.elementor-container>.elementor-column{width:100% !important}body.elementor-page-2636 #v2-formgrid .elementor-inner-section>.elementor-container>.elementor-column{width:50% !important}}
@media (max-width:600px){#v2-cards>.elementor-container>.elementor-column.elementor-col-25{width:100% !important}#v2-formgrid>.elementor-container>.elementor-column{width:100% !important}#v2-formcol>.elementor-widget-wrap{padding:24px 20px 22px}#v2-visitbtns>.elementor-container>.elementor-column{width:100% !important}.v2-cmap iframe{height:320px !important}}
/* SA2026-CONTACT-END */
/* SA2026-TESTI-START */
#v2-tintro{background:#fff}
.v2-tcollage{text-align:center}
.v2-tcollage img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 14px 34px rgba(11,37,69,.16)}
.v2-tlede{max-width:860px;margin:30px auto 0}
.v2-tlede p{font:400 17px/1.8 var(--v2-sans);color:var(--v2-text);text-align:center;margin:0}
#v2-tintro .elementor-widget-button{margin-top:28px}
.v2-peyebrow2 .elementor-heading-title{font:700 12.5px/1 var(--v2-sans);letter-spacing:.2em;color:var(--v2-gold-d);text-transform:uppercase;text-align:center;margin-bottom:12px}
.v2-twrap{margin-top:36px}
#v2-twall .strong-view .strong-content{column-count:3;column-gap:26px;display:block !important;width:auto !important}
#v2-twall .wpmtst-testimonial{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100% !important;float:none !important;margin:0 0 26px !important;padding:0 !important;border:0 !important}
#v2-twall .wpmtst-testimonial-inner{position:relative;background:#fff;border:1px solid rgba(11,37,69,.08);border-radius:14px;padding:16px 26px 100px;box-shadow:0 6px 18px rgba(11,37,69,.07);transition:transform .25s ease,box-shadow .25s ease}
#v2-twall .wpmtst-testimonial-inner::before{content:"“";position:absolute;top:4px;left:22px;font:700 58px/1 var(--v2-serif);color:var(--v2-gold);opacity:.5;pointer-events:none}
#v2-twall .wpmtst-testimonial-inner::after{content:"";position:absolute;left:26px;right:26px;bottom:96px;height:1px;background:rgba(11,37,69,.10)}
#v2-twall .wpmtst-testimonial-content{padding-top:38px;margin:0}
#v2-twall .wpmtst-testimonial-content p{font:400 15.5px/1.75 var(--v2-sans);color:var(--v2-text);margin:0}
#v2-twall .maybe-clear,#v2-twall .wpmtst-testimonial .clear{display:none}
#v2-twall .wpmtst-testimonial-image{position:absolute;left:26px;bottom:26px;width:52px;height:52px;margin:0;padding:0;float:none}
#v2-twall .wpmtst-testimonial-image img{width:52px;height:52px;border-radius:50%;object-fit:cover;display:block;border:2px solid var(--v2-gold);box-shadow:none}
#v2-twall .testimonial-name{position:absolute;left:92px;right:26px;bottom:42px;font:700 15px/1.35 var(--v2-sans);color:var(--v2-navy);overflow-wrap:anywhere}
#v2-twall .wpmtst-testimonial-field{margin:0}
#v2-twall .strong-rating-wrapper{display:block;margin-top:16px}
#v2-twall .strong-rating .star svg{width:16px;height:16px;fill:var(--v2-gold)}
@media (min-width:1025px){#v2-twall .wpmtst-testimonial-inner:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(11,37,69,.15)}}
#share-your-story{background:#fff}
.v2-tform{max-width:760px;margin:34px auto 0;background:#fff;border:1px solid rgba(11,37,69,.08);border-radius:16px;padding:34px 32px;box-shadow:0 10px 30px rgba(11,37,69,.08)}
.v2-tform .required-notice{font:400 12.5px/1.5 var(--v2-sans);color:#6B7280;margin:0 0 20px}
.v2-tform .form-field{margin-bottom:20px}
.v2-tform label{display:block;font:700 12.5px/1.4 var(--v2-sans);color:var(--v2-navy);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.v2-tform input[type=text],.v2-tform input[type=email],.v2-tform input[type=url],.v2-tform textarea{width:100%;box-sizing:border-box;border:1px solid rgba(11,37,69,.18);border-radius:9px;padding:12px 14px;font:400 15px/1.5 var(--v2-sans);color:var(--v2-navy);background:#fff}
.v2-tform input[type=text]:focus,.v2-tform input[type=email]:focus,.v2-tform input[type=url]:focus,.v2-tform textarea:focus{outline:none;border-color:var(--v2-gold);box-shadow:0 0 0 3px rgba(232,184,75,.22)}
.v2-tform textarea{min-height:160px;resize:vertical}
.v2-tform .after{display:block;margin-top:7px;font:400 12.5px/1.5 var(--v2-sans);color:#6B7280}
.v2-tform input[type=file]{font:400 13.5px/1.5 var(--v2-sans);color:var(--v2-text)}
.v2-tform .strong-rating .star svg,.v2-tform .wpmtst-form-rating svg{fill:var(--v2-gold)}
.v2-tform input[type=submit],.v2-tform button[type=submit]{background:var(--v2-gold);color:var(--v2-navy);border:0;border-radius:999px;padding:14px 36px;font:700 14px/1 var(--v2-sans);letter-spacing:.04em;cursor:pointer;transition:background .2s ease}
.v2-tform input[type=submit]:hover,.v2-tform button[type=submit]:hover{background:var(--v2-gold-d)}
@media (max-width:1024px){#v2-twall .strong-view .strong-content{column-count:2}}
@media (max-width:767px){#v2-twall .strong-view .strong-content{column-count:1}.v2-tlede p{font-size:15.5px;line-height:1.7}.v2-tform{padding:26px 20px;border-radius:14px}#v2-twall .wpmtst-testimonial-inner{padding:14px 20px 96px}#v2-twall .wpmtst-testimonial-inner::after{left:20px;right:20px}#v2-twall .wpmtst-testimonial-image{left:20px}#v2-twall .testimonial-name{left:86px;right:20px}.v2-tcollage img{border-radius:10px}}
/* SA2026-TESTI-FIX */
.v2-tform .wpmtst-form,.v2-tform .strong-form-inner,.v2-tform .wpmtst-submission-form{padding:0 !important;margin:0 !important;max-width:none !important;width:auto !important}
.v2-tform .form-field{width:auto !important;max-width:none !important}
.v2-tform .strong-rating{display:flex !important;flex-direction:row !important;align-items:center;gap:5px;border:0 !important;padding:0 !important;margin:0 !important;width:auto !important;max-width:none !important;float:none !important}
.v2-tform .strong-rating legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v2-tform .strong-rating label{display:inline-flex !important;align-items:center;justify-content:center;width:28px;height:28px;margin:0 !important;padding:0 !important;float:none !important;cursor:pointer}
.v2-tform .strong-rating label svg{width:25px;height:25px;display:block}
.v2-tform .strong-rating-wrapper{display:block;width:auto !important}
.v2-tform .strong-rating path.star_regular{fill:rgba(11,37,69,.22)}
.v2-tform .strong-rating path.star_solid{fill:var(--v2-gold)}
.v2-tform .strong-rating label[title="No stars"]{display:none !important}
/* SA2026-TESTI-END */
/* SA2026-TESTI-INIT (initials avatars; photo avatars retired) */
#v2-twall .wpmtst-testimonial-image img{display:none !important}
#v2-twall .wpmtst-testimonial-image{display:none !important;background:var(--v2-navy);border:0 !important;border-radius:50%;align-items:center;justify-content:center;overflow:hidden}
#v2-twall .testimonial-name{left:26px}
#v2-twall .post-7080 .wpmtst-testimonial-image,#v2-twall .post-7075 .wpmtst-testimonial-image,#v2-twall .post-7073 .wpmtst-testimonial-image,#v2-twall .post-7071 .wpmtst-testimonial-image,#v2-twall .post-7069 .wpmtst-testimonial-image,#v2-twall .post-7068 .wpmtst-testimonial-image,#v2-twall .post-7053 .wpmtst-testimonial-image,#v2-twall .post-7052 .wpmtst-testimonial-image,#v2-twall .post-7051 .wpmtst-testimonial-image{display:flex !important}
#v2-twall .post-7080 .testimonial-name,#v2-twall .post-7075 .testimonial-name,#v2-twall .post-7073 .testimonial-name,#v2-twall .post-7071 .testimonial-name,#v2-twall .post-7069 .testimonial-name,#v2-twall .post-7068 .testimonial-name,#v2-twall .post-7053 .testimonial-name,#v2-twall .post-7052 .testimonial-name,#v2-twall .post-7051 .testimonial-name{left:92px}
#v2-twall .wpmtst-testimonial-image::after{font:700 17px/1 var(--v2-sans);color:var(--v2-gold);letter-spacing:.03em}
#v2-twall .post-7080 .wpmtst-testimonial-image::after{content:"RR"}
#v2-twall .post-7075 .wpmtst-testimonial-image::after{content:"DT"}
#v2-twall .post-7073 .wpmtst-testimonial-image::after{content:"AM"}
#v2-twall .post-7071 .wpmtst-testimonial-image::after{content:"TC"}
#v2-twall .post-7069 .wpmtst-testimonial-image::after{content:"MT"}
#v2-twall .post-7068 .wpmtst-testimonial-image::after{content:"HI"}
#v2-twall .post-7053 .wpmtst-testimonial-image::after{content:"RA"}
#v2-twall .post-7052 .wpmtst-testimonial-image::after{content:"MA"}
#v2-twall .post-7051 .wpmtst-testimonial-image::after{content:"RB"}
@media (max-width:767px){#v2-twall .testimonial-name{left:20px}#v2-twall .post-7080 .wpmtst-testimonial-image,#v2-twall .post-7075 .wpmtst-testimonial-image,#v2-twall .post-7073 .wpmtst-testimonial-image,#v2-twall .post-7071 .wpmtst-testimonial-image,#v2-twall .post-7069 .wpmtst-testimonial-image,#v2-twall .post-7068 .wpmtst-testimonial-image,#v2-twall .post-7053 .wpmtst-testimonial-image,#v2-twall .post-7052 .wpmtst-testimonial-image,#v2-twall .post-7051 .wpmtst-testimonial-image{left:20px}#v2-twall .post-7080 .testimonial-name,#v2-twall .post-7075 .testimonial-name,#v2-twall .post-7073 .testimonial-name,#v2-twall .post-7071 .testimonial-name,#v2-twall .post-7069 .testimonial-name,#v2-twall .post-7068 .testimonial-name,#v2-twall .post-7053 .testimonial-name,#v2-twall .post-7052 .testimonial-name,#v2-twall .post-7051 .testimonial-name{left:86px}}
/* SA2026-TESTI-INIT-END */
/* SA2026-HOME3D-START (3D depth + hover lift on the two welcome photos) */
#v2-welcome .v2-welcome-img img,#v2-welcome .v2-welcome-img2 img{border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 1px 2px rgba(11,37,69,.10),0 6px 14px rgba(11,37,69,.13),0 14px 28px rgba(11,37,69,.10);transform:perspective(1100px);transition:transform .38s cubic-bezier(.2,.7,.3,1),box-shadow .38s cubic-bezier(.2,.7,.3,1);will-change:transform;backface-visibility:hidden}
#v2-welcome .v2-welcome-img,#v2-welcome .v2-welcome-img2,#v2-welcome .v2-welcome-img .elementor-widget-container,#v2-welcome .v2-welcome-img2 .elementor-widget-container{overflow:visible}
#v2-welcome .v2-welcome-img2{margin-top:24px}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){#v2-welcome .v2-welcome-img img:hover,#v2-welcome .v2-welcome-img2 img:hover{transform:perspective(1100px) rotateX(2.2deg) rotateY(-2.2deg) translateY(-9px) scale(1.016);box-shadow:0 2px 5px rgba(11,37,69,.13),0 14px 26px rgba(11,37,69,.19),0 30px 56px rgba(11,37,69,.21)}}
@media (max-width:1024px){#v2-welcome .v2-welcome-img img,#v2-welcome .v2-welcome-img2 img{box-shadow:0 1px 2px rgba(11,37,69,.10),0 5px 12px rgba(11,37,69,.12),0 11px 22px rgba(11,37,69,.09)}}
@media (hover:none){#v2-welcome .v2-welcome-img img:active,#v2-welcome .v2-welcome-img2 img:active{transform:perspective(1100px) translateY(-4px) scale(1.012);box-shadow:0 2px 5px rgba(11,37,69,.13),0 12px 22px rgba(11,37,69,.18),0 22px 40px rgba(11,37,69,.16)}}
@media (prefers-reduced-motion:reduce){#v2-welcome .v2-welcome-img img,#v2-welcome .v2-welcome-img2 img{transition:none}#v2-welcome .v2-welcome-img img:hover,#v2-welcome .v2-welcome-img2 img:hover{transform:none}}
@media (max-width:767px){#v2-welcome .v2-welcome-img2{margin-top:18px}}
/* SA2026-HOME3D-END */
/* SA2026-BTNFIX-START (Astra .elementor-widget-button ties on specificity and can win by source order in the concatenated bundle; lock our button colours) */
.v2-btn-navy .elementor-button,.v2-btn-navy .elementor-button:link,.v2-btn-navy .elementor-button:visited,.v2-btn-navy .elementor-button:hover,.v2-btn-navy .elementor-button:focus,.v2-btn-navy .elementor-button:active,.v2-btn-navy .elementor-button .elementor-button-text,.v2-btn-navy .elementor-button .elementor-button-content-wrapper,.v2-btn-navy .elementor-button .elementor-button-icon{color:#fff !important}
.v2-btn-navy .elementor-button{background:var(--v2-navy) !important}
.v2-btn-navy .elementor-button:hover,.v2-btn-navy .elementor-button:focus{background:var(--v2-blue) !important}
.v2-btn-gold .elementor-button,.v2-btn-gold .elementor-button:link,.v2-btn-gold .elementor-button:visited,.v2-btn-gold .elementor-button:hover,.v2-btn-gold .elementor-button:focus,.v2-btn-gold .elementor-button:active,.v2-btn-gold .elementor-button .elementor-button-text,.v2-btn-gold .elementor-button .elementor-button-content-wrapper,.v2-btn-gold .elementor-button .elementor-button-icon{color:var(--v2-navy) !important}
.v2-btn-gold .elementor-button{background:var(--v2-gold) !important}
.v2-btn-gold .elementor-button:hover,.v2-btn-gold .elementor-button:focus{background:var(--v2-gold-d) !important}
.v2-btn-blue .elementor-button,.v2-btn-blue .elementor-button:link,.v2-btn-blue .elementor-button:visited,.v2-btn-blue .elementor-button:hover,.v2-btn-blue .elementor-button:focus,.v2-btn-blue .elementor-button:active,.v2-btn-blue .elementor-button .elementor-button-text,.v2-btn-blue .elementor-button .elementor-button-content-wrapper,.v2-btn-blue .elementor-button .elementor-button-icon{color:#fff !important}
.v2-btn-blue .elementor-button{background:var(--v2-blue) !important}
.v2-btn-blue .elementor-button:hover,.v2-btn-blue .elementor-button:focus{background:#2A5FA0 !important}
.v2-btn-yt .elementor-button,.v2-btn-yt .elementor-button:link,.v2-btn-yt .elementor-button:visited,.v2-btn-yt .elementor-button:hover,.v2-btn-yt .elementor-button:focus,.v2-btn-yt .elementor-button:active,.v2-btn-yt .elementor-button .elementor-button-text,.v2-btn-yt .elementor-button .elementor-button-content-wrapper,.v2-btn-yt .elementor-button .elementor-button-icon{color:#fff !important}
.v2-btn-yt .elementor-button{background:#C4302B !important}
.v2-btn-yt .elementor-button:hover,.v2-btn-yt .elementor-button:focus{background:#A82722 !important}
/* SA2026-BTNFIX-END */
/* SA2026-MAPFULL-START (edge-to-edge Google Maps on home + contact) */
#v2-mapfull,#v2-maprow{padding-left:0 !important;padding-right:0 !important}
#v2-mapfull{padding-top:0 !important;padding-bottom:0 !important}
#v2-mapfull>.elementor-container,#v2-maprow>.elementor-container{max-width:100% !important;width:100% !important;margin-left:0 !important;margin-right:0 !important}
#v2-mapfull>.elementor-container>.elementor-column,#v2-maprow>.elementor-container>.elementor-column{width:100% !important}
#v2-mapfull .elementor-widget-wrap,#v2-maprow .elementor-widget-wrap{padding:0 !important}
#v2-mapfull .elementor-widget-google_maps,#v2-maprow .elementor-widget-google_maps{margin:0 !important;width:100% !important}
.v2-map,.v2-cmap,.v2-map .elementor-widget-container,.v2-cmap .elementor-widget-container{width:100% !important;margin:0 !important;padding:0 !important}
.v2-map .elementor-custom-embed,.v2-cmap .elementor-custom-embed{width:100% !important;height:460px !important;line-height:0}
.v2-map iframe,.v2-cmap iframe{width:100% !important;height:460px !important;display:block;border:0 !important;filter:saturate(.92)}
@media (max-width:1024px){.v2-map .elementor-custom-embed,.v2-cmap .elementor-custom-embed,.v2-map iframe,.v2-cmap iframe{height:380px !important}}
@media (max-width:767px){.v2-map .elementor-custom-embed,.v2-cmap .elementor-custom-embed,.v2-map iframe,.v2-cmap iframe{height:300px !important}}
/* SA2026-MAPFULL-EDGE */
#v2-mapfull .elementor-widget-wrap,#v2-maprow .elementor-widget-wrap,#v2-mapcard .elementor-widget-wrap{border:0 !important;border-radius:0 !important;box-shadow:none !important;overflow:visible !important}
#v2-mapfull .elementor-column,#v2-maprow .elementor-column,#v2-mapcard{border:0 !important;border-radius:0 !important;padding:0 !important}
.v2-map .elementor-custom-embed,.v2-cmap .elementor-custom-embed,.v2-map iframe,.v2-cmap iframe{border-radius:0 !important}
/* SA2026-MAPFULL-EDGE2 */
.v2-map .elementor-custom-embed,.v2-cmap .elementor-custom-embed,#v2-mapfull .elementor-custom-embed,#v2-maprow .elementor-custom-embed{border:0 !important;box-shadow:none !important;overflow:hidden !important}
#v2-mapfull .elementor-element,#v2-maprow .elementor-element{border:0 !important}
/* SA2026-MAPFULL-END */
/* SA2026-FINDFULL-START (How to Find Us is full width now the map moved out) */
#v2-find .elementor-widget{flex-basis:100% !important;width:100% !important}
#v2-findtext>.elementor-widget-wrap{padding-right:0 !important;padding-left:0 !important}
#v2-find .v2-body{max-width:none !important;width:100% !important;column-count:2;column-gap:56px;margin-bottom:30px}
#v2-find .v2-body p{margin:0 0 14px;break-inside:avoid}
#v2-find .v2-body p:last-child{margin-bottom:0}
#v2-find .v2-rule{max-width:120px !important}
#v2-find .elementor-widget-button .elementor-button{display:inline-flex}
@media (max-width:1024px){#v2-find .v2-body{column-gap:40px}}
@media (max-width:767px){#v2-find .v2-body{column-count:1 !important;column-gap:normal}}
/* SA2026-FINDFULL-PAD (keep side gutters on tablet/mobile) */
@media (max-width:1024px){#v2-findtext>.elementor-widget-wrap{padding-left:20px !important;padding-right:20px !important}}
/* SA2026-FINDFULL-END */
/* SA2026-DAYTABS-START (Mass Times day tabs: centred, uniform widths on tablet + mobile) */
@media (max-width:1024px){
.v2-wtabs .elementor-tabs-wrapper{justify-content:center !important;gap:6px !important;border-radius:24px !important;padding:8px !important}
.v2-wtabs .elementor-tab-title{flex:0 0 calc(25% - 6px) !important;max-width:calc(25% - 6px);text-align:center !important;display:flex !important;align-items:center;justify-content:center;padding:10px 6px !important;white-space:nowrap}
}
@media (max-width:767px){
.v2-wtabs .elementor-tabs-wrapper{gap:6px !important;padding:8px !important;border-radius:20px !important}
.v2-wtabs .elementor-tab-title{flex:0 0 calc(50% - 6px) !important;max-width:calc(50% - 6px);padding:11px 6px !important;font-size:11px !important}
}
/* SA2026-DAYTABS-END */
/* SA2026-TEAMCARD-START (card + hover belong to each member, not the outer wrapper column) */
#v2-people>.elementor-container>.elementor-column>.elementor-widget-wrap{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;height:auto !important;transform:none !important;transition:none !important}
#v2-people>.elementor-container>.elementor-column{padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
#v2-people>.elementor-container>.elementor-column:hover>.elementor-widget-wrap{transform:none !important;box-shadow:none !important}
#v2-people .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{background:#fff !important;border:1px solid #E6E2DA !important;border-radius:10px !important;padding:24px 16px 20px !important;box-shadow:0 4px 16px rgba(11,37,69,.06);height:100% !important;text-align:center;transition:transform .25s ease,box-shadow .25s ease}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){#v2-people .elementor-inner-section>.elementor-container>.elementor-column:hover>.elementor-widget-wrap{transform:translateY(-6px) !important;box-shadow:0 20px 38px rgba(11,37,69,.22),0 4px 10px rgba(11,37,69,.12),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 3px rgba(11,37,69,.07) !important}}
@media (hover:none){#v2-people .elementor-inner-section>.elementor-container>.elementor-column:active>.elementor-widget-wrap{transform:translateY(-3px) !important;box-shadow:0 12px 24px rgba(11,37,69,.18) !important}}
/* SA2026-TEAMCARD-END */
/* SA2026-FTIMES-START (footer Mass Times: pull day + time together on tablet/mobile; desktop untouched) */
@media (max-width:1024px){
.v2-ftimes .v2-ft{justify-content:flex-start !important;gap:14px !important}
.v2-ftimes .v2-ft span:first-child{flex:0 0 142px !important;min-width:142px}
.v2-ftimes .v2-ft span:last-child{text-align:left !important;flex:1 1 auto}
}
@media (max-width:400px){
.v2-ftimes .v2-ft span:first-child{flex:0 0 132px !important;min-width:132px}
.v2-ftimes .v2-ft{gap:12px !important}
}
/* SA2026-FTIMES-END */
/* SA2026-NLYEARS-START (year archive cards + archive page extras) */
#v2-years{background:var(--v2-cream)}
.v2-yearlede p{font:400 15px/1.7 var(--v2-sans);color:var(--v2-text);text-align:center;margin:10px 0 0}
.v2-yrcard{margin-top:26px}
.v2-yr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid #E6E2DA;border-radius:12px;padding:26px 14px;text-decoration:none !important;box-shadow:0 4px 16px rgba(11,37,69,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.v2-yr-n{font:600 30px/1 var(--v2-serif);color:var(--v2-navy)}
.v2-yr-l{font:700 11px/1 var(--v2-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--v2-gold-d)}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){.v2-yr:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(11,37,69,.18);border-color:var(--v2-gold)}.v2-yr:hover .v2-yr-n{color:var(--v2-navy2)}}
@media (hover:none){.v2-yr:active{transform:translateY(-3px);box-shadow:0 12px 24px rgba(11,37,69,.16)}}
.v2-nl-x{font:700 11px/1 var(--v2-sans);letter-spacing:.06em;text-transform:uppercase;color:#9AA3AF;margin:8px 0 0}
.v2-nlcover img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid #E6E2DA;box-shadow:0 6px 20px rgba(11,37,69,.10);margin-top:16px}
#v2-notice .v2-nch{margin-bottom:10px}
@media (max-width:1024px){.v2-yrcard{margin-top:20px}.v2-yr{padding:22px 10px}.v2-yr-n{font-size:26px}}
@media (max-width:767px){.v2-yr{padding:18px 10px}.v2-yr-n{font-size:24px}.v2-yr-l{font-size:10px}}
/* SA2026-NLYEARS-END */
/* SA2026-YTFRAME-START (plain YouTube iframes - no IFrame API, so Edge tracking prevention cannot break them) */
.v2-yt{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 18px 44px rgba(0,0,0,.34)}
.v2-yt iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;display:block}
@supports not (aspect-ratio:16/9){.v2-yt{height:0;padding-bottom:56.25%}}
.v2-videoplayer .v2-yt{margin-top:26px}
.v2-videoplayer{max-width:860px;margin-left:auto;margin-right:auto}
.v2-galvid .v2-yt{border-radius:10px;box-shadow:none;margin-top:18px}
@media (max-width:767px){.v2-yt{border-radius:8px}.v2-videoplayer .v2-yt{margin-top:18px}}
/* SA2026-YTFRAME-END */
/* SA2026-BTNPAIR-START (Visit Gallery + Greetings buttons side by side in the welcome block) */
#v2-welcome-l>.elementor-widget-wrap{align-items:flex-start}
.v2-btnpair{flex:0 0 auto !important;width:auto !important;max-width:100% !important;margin-right:14px;margin-top:4px}
.v2-btnpair .elementor-button{white-space:nowrap}
@media (max-width:1024px){.v2-btnpair{margin-right:12px;margin-top:6px}.v2-btnpair .elementor-button{padding-left:22px;padding-right:22px;font-size:11px}}
@media (max-width:600px){.v2-btnpair{flex:1 1 100% !important;width:100% !important;margin-right:0;margin-top:10px}.v2-btnpair .elementor-button{display:flex;width:100%;justify-content:center;white-space:normal}}
/* SA2026-BTNPAIR-TAB (below desktop the welcome text column is narrow, so stack both buttons full width) */
@media (max-width:1024px){.v2-btnpair{flex:1 1 100% !important;width:100% !important;max-width:100% !important;margin-right:0 !important;margin-top:10px !important}.v2-btnpair .elementor-button{display:flex !important;width:100% !important;justify-content:center;white-space:normal}}
/* SA2026-BTNPAIR-END */
/* SA2026-CARDEQ-START (desktop: every team card the same height, auto-sized to the tallest) */
@media (min-width:1025px){
#v2-litgrid>.elementor-container>.elementor-column>.elementor-widget-wrap,#v2-volgrid>.elementor-container>.elementor-column>.elementor-widget-wrap{display:grid !important;grid-template-columns:repeat(3,1fr) !important;grid-auto-rows:1fr !important;row-gap:26px;align-items:stretch}
#v2-litgrid .elementor-inner-section,#v2-volgrid .elementor-inner-section,#v2-litgrid .elementor-inner-section>.elementor-container,#v2-volgrid .elementor-inner-section>.elementor-container{display:contents !important}
#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column{width:auto !important;max-width:none !important;flex:initial !important;display:flex !important}
#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{width:100% !important}
#v2-litgrid .v2-card,#v2-volgrid .v2-card,#v2-cards .v2-card{width:100% !important;display:flex !important;flex-direction:column}
#v2-litgrid .v2-card>.elementor-widget-container,#v2-volgrid .v2-card>.elementor-widget-container,#v2-cards .v2-card>.elementor-widget-container{height:100% !important;display:flex !important;flex-direction:column}
#v2-cards>.elementor-container{align-items:stretch}
#v2-cards>.elementor-container>.elementor-column>.elementor-widget-wrap{height:100%}
}
/* SA2026-CARDEQ-FILL (complete the height chain so cards fill their equal grid cell) */
@media (min-width:1025px){
#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{height:100% !important;display:flex !important;flex-direction:column;align-content:stretch}
#v2-litgrid .v2-card,#v2-volgrid .v2-card{flex:1 1 auto !important;height:100% !important}
#v2-litgrid .v2-card>.elementor-widget-container,#v2-volgrid .v2-card>.elementor-widget-container{flex:1 1 auto !important;height:100% !important}
#v2-cards>.elementor-container>.elementor-column{display:flex !important}
#v2-cards>.elementor-container>.elementor-column>.elementor-widget-wrap{height:100% !important;width:100%;display:flex !important;flex-direction:column}
#v2-cards .v2-card{flex:1 1 auto !important;height:100% !important}
#v2-cards .v2-card>.elementor-widget-container{flex:1 1 auto !important;height:100% !important}
}
/* SA2026-CARDEQ-END */
/* SA2026-CARDEQ-TAB-START (tablet: even 2-up rows, equal heights - replaces the ragged 2,1,2,1) */
@media (min-width:601px) and (max-width:1024px){
#v2-litgrid>.elementor-container>.elementor-column>.elementor-widget-wrap,#v2-volgrid>.elementor-container>.elementor-column>.elementor-widget-wrap{display:grid !important;grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:1fr !important;row-gap:24px;align-items:stretch}
#v2-litgrid .elementor-inner-section,#v2-volgrid .elementor-inner-section,#v2-litgrid .elementor-inner-section>.elementor-container,#v2-volgrid .elementor-inner-section>.elementor-container{display:contents !important}
#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column{width:auto !important;max-width:none !important;flex:initial !important;display:flex !important}
#v2-litgrid .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap,#v2-volgrid .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{width:100% !important;height:100% !important;display:flex !important;flex-direction:column}
#v2-litgrid .v2-card,#v2-volgrid .v2-card{width:100% !important;flex:1 1 auto !important;height:100% !important;display:flex !important;flex-direction:column}
#v2-litgrid .v2-card>.elementor-widget-container,#v2-volgrid .v2-card>.elementor-widget-container{flex:1 1 auto !important;height:100% !important;display:flex !important;flex-direction:column}
}
/* SA2026-CARDEQ-TAB-END */
/* SA2026-ABOUT-START (Parish History / About page) */
#v2-memories,#v2-story,#v2-clergy,#v2-organ,#v2-patron{font-family:var(--v2-sans)}
#v2-story,#v2-organ{background:#fff}
.v2-abbody p{font:400 15.5px/1.8 var(--v2-sans);color:var(--v2-text);margin:0 0 15px}
.v2-abbody p:last-child{margin-bottom:0}
.v2-abbody strong{color:var(--v2-navy)}
.v2-histimg img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid #E6E2DA;box-shadow:0 12px 30px rgba(11,37,69,.12)}
#v2-story .elementor-inner-section,#v2-organ .elementor-inner-section,#v2-patron .elementor-inner-section{margin-top:30px}
#v2-story .elementor-inner-section>.elementor-container,#v2-organ .elementor-inner-section>.elementor-container,#v2-patron .elementor-inner-section>.elementor-container{align-items:flex-start}
.v2-abvid{margin-top:0}
#v2-memories .elementor-inner-section{margin-top:30px}
/* clergy cards */
#v2-clergy .elementor-inner-section{margin-top:32px}
#v2-clergy .elementor-inner-section>.elementor-container{align-items:stretch}
#v2-clergy .elementor-inner-section>.elementor-container>.elementor-column>.elementor-widget-wrap{height:100%}
.v2-clcard{height:100%}
.v2-clcard .elementor-widget-container{height:100%;background:#fff;border:1px solid #E6E2DA;border-radius:12px;padding:26px 24px;box-shadow:0 4px 16px rgba(11,37,69,.06)}
.v2-clcard p{font:400 14px/1.75 var(--v2-sans);color:var(--v2-text);margin:0}
.v2-clcard p:first-child{font:700 12.5px/1.4 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-navy);margin:0 0 14px;padding-bottom:11px;border-bottom:2px solid var(--v2-gold)}
.v2-clcard p:first-child strong{font-weight:700;color:var(--v2-navy)}
@media (min-width:1025px){#v2-clergy .elementor-inner-section>.elementor-container>.elementor-column{width:33.333% !important}}
@media (max-width:1024px){
#v2-story .elementor-inner-section>.elementor-container>.elementor-column,#v2-organ .elementor-inner-section>.elementor-container>.elementor-column,#v2-patron .elementor-inner-section>.elementor-container>.elementor-column,#v2-memories .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}
#v2-clergy .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}
#v2-organ .elementor-inner-section>.elementor-container{flex-direction:column-reverse}
.v2-histimg{margin-bottom:24px}
.v2-abvid{margin-bottom:22px}
.v2-clcard{margin-bottom:20px}
}
@media (max-width:767px){.v2-abbody p{font-size:15px;line-height:1.75}.v2-clcard .elementor-widget-container{padding:22px 18px}.v2-histimg img{border-radius:10px}}
/* SA2026-ABOUT-IMGCAP (cap tall portrait images at 520px and centre them; width:auto would collapse a lazy-loaded image before it loads, so cap by max-width derived from each aspect ratio) */
.v2-histimg,.v2-histimg .elementor-widget-container{text-align:center}
.v2-histimg img{width:100% !important;height:auto !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important}
.v2-histimg img.wp-image-1745{max-width:334px !important}
.v2-histimg img.wp-image-1754{max-width:339px !important}
@media (max-width:767px){.v2-histimg img.wp-image-1745{max-width:283px !important}.v2-histimg img.wp-image-1754{max-width:287px !important}}
/* SA2026-ABOUT-END */
/* SA2026-ABOUTHOVER-START (light 3D lift on every container on the About page) */
.v2-clcard .elementor-widget-container,.v2-histimg img,#v2-memories .v2-yt{transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s cubic-bezier(.2,.7,.3,1) !important;will-change:transform}
.v2-clcard .elementor-widget-container{box-shadow:0 2px 6px rgba(11,37,69,.07),0 8px 20px rgba(11,37,69,.09) !important}
.v2-histimg img{box-shadow:0 2px 6px rgba(11,37,69,.07),0 8px 20px rgba(11,37,69,.09) !important}
#v2-memories .v2-yt{box-shadow:0 2px 6px rgba(11,37,69,.07),0 8px 20px rgba(11,37,69,.09) !important}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
.v2-clcard .elementor-widget-container:hover{transform:translateY(-5px);box-shadow:0 3px 8px rgba(11,37,69,.10),0 14px 30px rgba(11,37,69,.16),0 26px 48px rgba(11,37,69,.10) !important;border-color:#DCD5C4 !important}
.v2-histimg:hover img{transform:perspective(1000px) rotateX(1.2deg) translateY(-5px) scale(1.008);box-shadow:0 3px 8px rgba(11,37,69,.10),0 14px 30px rgba(11,37,69,.16),0 26px 48px rgba(11,37,69,.10) !important}
#v2-memories .v2-abvid:hover .v2-yt{transform:perspective(1000px) rotateX(1.2deg) translateY(-5px) scale(1.008);box-shadow:0 3px 8px rgba(11,37,69,.10),0 14px 30px rgba(11,37,69,.16),0 26px 48px rgba(11,37,69,.10) !important}
}
@media (hover:none){
.v2-clcard .elementor-widget-container:active{transform:translateY(-3px);box-shadow:0 3px 8px rgba(11,37,69,.10),0 14px 30px rgba(11,37,69,.16),0 26px 48px rgba(11,37,69,.10) !important}
.v2-histimg:active img,#v2-memories .v2-abvid:active .v2-yt{transform:translateY(-3px) scale(1.006);box-shadow:0 3px 8px rgba(11,37,69,.10),0 14px 30px rgba(11,37,69,.16),0 26px 48px rgba(11,37,69,.10) !important}
}
@media (prefers-reduced-motion:reduce){.v2-clcard .elementor-widget-container,.v2-histimg img,#v2-memories .v2-yt{transition:none !important}.v2-clcard .elementor-widget-container:hover,.v2-histimg:hover img,#v2-memories .v2-abvid:hover .v2-yt{transform:none !important}}
/* SA2026-ABOUTHOVER-END */
/* SA2026-POST-START (single blog post layout - global palette, readable measure) */
body.single-post #content{background:var(--v2-cream)}
body.single-post article.post{background:#fff !important;border:1px solid #E6E2DA;border-radius:16px;box-shadow:0 8px 30px rgba(11,37,69,.07);padding:0 0 48px !important;overflow:hidden;margin-bottom:34px}
body.single-post .single-layout-1{padding:0}
/* featured image as a banner at the top of the card */
body.single-post .entry-header .post-thumb{margin:0 0 34px}
body.single-post .entry-header .post-thumb img{width:100% !important;height:340px !important;object-fit:cover;display:block;border-radius:0}
/* header */
body.single-post .entry-header{padding:0 64px;text-align:center}
body.single-post .entry-title{font:600 40px/1.2 var(--v2-serif) !important;color:var(--v2-navy) !important;margin:0 auto 16px !important;max-width:820px}
body.single-post .entry-meta{font:700 11.5px/1.7 var(--v2-sans) !important;letter-spacing:.14em;text-transform:uppercase;color:var(--v2-gold-d) !important;margin:0 auto;max-width:820px;padding-bottom:24px;border-bottom:2px solid var(--v2-gold);display:inline-block}
body.single-post .entry-meta a{color:var(--v2-gold-d) !important;text-decoration:none}
body.single-post .entry-meta a:hover{color:var(--v2-navy) !important}
/* body copy */
body.single-post .entry-content{padding:0 64px;max-width:860px;margin:34px auto 0 !important}
body.single-post .entry-content p{font:400 17px/1.85 var(--v2-sans) !important;color:var(--v2-text) !important;margin:0 0 20px}
body.single-post .entry-content a{color:var(--v2-blue);text-decoration:none;border-bottom:1px solid rgba(53,119,190,.4)}
body.single-post .entry-content a:hover{color:var(--v2-navy);border-bottom-color:var(--v2-navy)}
body.single-post .entry-content strong{color:var(--v2-navy);font-weight:700}
/* paragraphs that are only a bold line act as section headings */
body.single-post .entry-content p:has(> strong:only-child){font:700 13px/1.5 var(--v2-sans) !important;letter-spacing:.14em;text-transform:uppercase;color:var(--v2-navy) !important;margin:38px 0 4px;padding-top:26px;border-top:1px solid #EAE6DC}
body.single-post .entry-content p:has(> strong:only-child) strong{font-weight:700}
body.single-post .entry-content h2,body.single-post .entry-content h3{font-family:var(--v2-serif);color:var(--v2-navy)}
/* figures */
body.single-post .entry-content figure{margin:32px 0}
body.single-post .entry-content figure img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 8px 24px rgba(11,37,69,.13)}
body.single-post .entry-content figcaption{font:400 13.5px/1.6 var(--v2-sans) !important;color:#6B7280 !important;text-align:center !important;margin-top:12px;font-style:italic}
body.single-post .entry-content em{color:var(--v2-text)}
/* post navigation */
body.single-post .post-navigation{max-width:860px;margin:8px auto 0;padding:26px 64px 0;border-top:1px solid #EAE6DC}
body.single-post .post-navigation a{font:700 12px/1.6 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-navy) !important;text-decoration:none}
body.single-post .post-navigation a:hover{color:var(--v2-gold-d) !important}
/* comments */
body.single-post #comments{background:#fff;border:1px solid #E6E2DA;border-radius:16px;box-shadow:0 8px 30px rgba(11,37,69,.07);padding:38px 44px;margin-bottom:40px}
body.single-post #comments .comments-title,body.single-post #reply-title{font:600 24px/1.3 var(--v2-serif) !important;color:var(--v2-navy) !important;margin:0 0 18px}
body.single-post #comments label{font:700 12px/1.4 var(--v2-sans);letter-spacing:.07em;text-transform:uppercase;color:var(--v2-navy);display:block;margin-bottom:7px}
body.single-post #comments input[type=text],body.single-post #comments input[type=email],body.single-post #comments input[type=url],body.single-post #comments textarea{width:100%;box-sizing:border-box;border:1px solid rgba(11,37,69,.18);border-radius:9px;padding:12px 14px;font:400 15px/1.5 var(--v2-sans);color:var(--v2-navy);background:#fff}
body.single-post #comments input:focus,body.single-post #comments textarea:focus{outline:none;border-color:var(--v2-gold);box-shadow:0 0 0 3px rgba(232,184,75,.22)}
body.single-post #comments input[type=submit]{background:var(--v2-gold) !important;color:var(--v2-navy) !important;border:0;border-radius:999px;padding:13px 34px;font:700 13px/1 var(--v2-sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
body.single-post #comments input[type=submit]:hover{background:var(--v2-gold-d) !important}
/* tablet */
@media (max-width:1024px){
body.single-post article.post{border-radius:14px}
body.single-post .entry-header{padding:0 34px}
body.single-post .entry-content{padding:0 34px;margin-top:28px !important}
body.single-post .entry-title{font-size:32px !important}
body.single-post .entry-header .post-thumb img{height:260px !important}
body.single-post .post-navigation{padding:24px 34px 0}
body.single-post #comments{padding:30px 30px}
}
/* mobile */
@media (max-width:767px){
body.single-post article.post{border-radius:12px;padding-bottom:36px !important}
body.single-post .entry-header{padding:0 20px}
body.single-post .entry-content{padding:0 20px}
body.single-post .entry-title{font-size:26px !important;line-height:1.25 !important}
body.single-post .entry-meta{font-size:10.5px !important;letter-spacing:.1em}
body.single-post .entry-content p{font-size:16px !important;line-height:1.8 !important}
body.single-post .entry-header .post-thumb img{height:190px !important}
body.single-post .entry-content figure{margin:24px 0}
body.single-post .post-navigation{padding:20px 20px 0}
body.single-post #comments{padding:24px 20px;border-radius:12px}
}
/* SA2026-POST-FIX */
body.single-post .entry-content figcaption{font-style:italic !important}
/* Elementor-built posts: keep their own layout but inherit the palette */
body.single-post .entry-content .elementor p{font:400 17px/1.85 var(--v2-sans) !important;color:var(--v2-text) !important}
body.single-post .entry-content .elementor .elementor-heading-title{font-family:var(--v2-serif) !important;color:var(--v2-navy) !important}
body.single-post .entry-content .elementor img{border-radius:12px}
body.single-post .entry-content .elementor-widget-image img{box-shadow:0 8px 24px rgba(11,37,69,.13)}
/* SA2026-POST-TYPE (larger, more readable body copy on desktop only) */
@media (min-width:1025px){
body.single-post .entry-content p{font-size:19px !important;line-height:1.8 !important;margin:0 0 22px}
body.single-post .entry-content .elementor p{font-size:19px !important;line-height:1.8 !important}
body.single-post .entry-content li{font-size:19px !important;line-height:1.8 !important}
body.single-post .entry-content p:has(> strong:only-child){font-size:14px !important;letter-spacing:.13em}
body.single-post .entry-content figcaption{font-size:14.5px !important}
body.single-post .entry-content{max-width:820px}
}
/* SA2026-POST-IMG (banner spans the card; tall portrait photos capped) */
body.single-post .entry-header{padding:0 !important}
body.single-post .entry-title{padding-left:64px;padding-right:64px}
body.single-post .entry-meta{margin-left:64px;margin-right:64px}
body.single-post .entry-header .post-thumb{margin:0 0 30px !important}
body.single-post .entry-content img.sa-portrait{max-width:380px !important;margin-left:auto !important;margin-right:auto !important;display:block}
@media (max-width:1024px){body.single-post .entry-title{padding-left:34px;padding-right:34px}body.single-post .entry-meta{margin-left:34px;margin-right:34px}body.single-post .entry-content img.sa-portrait{max-width:340px !important}}
@media (max-width:767px){body.single-post .entry-title{padding-left:20px;padding-right:20px}body.single-post .entry-meta{margin-left:20px;margin-right:20px}body.single-post .entry-content img.sa-portrait{max-width:100% !important}}
/* SA2026-POST-RICH (headings, lists and pull quotes inside posts) */
body.single-post .entry-content h2{font:600 27px/1.3 var(--v2-serif) !important;color:var(--v2-navy) !important;margin:42px 0 6px;padding-top:28px;border-top:1px solid #EAE6DC}
body.single-post .entry-content h2:first-child{margin-top:0;padding-top:0;border-top:0}
body.single-post .entry-content h3{font:600 21px/1.35 var(--v2-serif) !important;color:var(--v2-navy) !important;margin:30px 0 6px}
body.single-post .entry-content ul{list-style:none;margin:20px 0 24px;padding:0}
body.single-post .entry-content ul li{position:relative;padding:0 0 0 30px;margin:0 0 14px;font:400 17px/1.8 var(--v2-sans);color:var(--v2-text)}
body.single-post .entry-content ul li::before{content:"";position:absolute;left:2px;top:.72em;width:9px;height:9px;border-radius:50%;background:var(--v2-gold)}
body.single-post .entry-content ul li strong{color:var(--v2-navy);font-weight:700}
body.single-post .entry-content ol{margin:20px 0 24px;padding-left:24px}
body.single-post .entry-content ol li{margin:0 0 12px;font:400 17px/1.8 var(--v2-sans);color:var(--v2-text)}
body.single-post .entry-content blockquote{margin:34px 0;padding:28px 32px;background:var(--v2-cream);border-left:4px solid var(--v2-gold);border-radius:0 12px 12px 0}
body.single-post .entry-content blockquote p{font:400 19px/1.7 var(--v2-serif) !important;color:var(--v2-navy) !important;font-style:italic;margin:0 0 10px}
body.single-post .entry-content blockquote cite,body.single-post .entry-content blockquote .sa-cite{display:block;font:700 12.5px/1.5 var(--v2-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--v2-gold-d);font-style:normal;margin-top:6px}
@media (min-width:1025px){
body.single-post .entry-content ul li,body.single-post .entry-content ol li{font-size:19px !important;line-height:1.8 !important}
body.single-post .entry-content h2{font-size:30px !important}
body.single-post .entry-content blockquote p{font-size:21px !important}
}
@media (max-width:767px){
body.single-post .entry-content h2{font-size:22px !important;margin-top:32px;padding-top:22px}
body.single-post .entry-content ul li,body.single-post .entry-content ol li{font-size:16px !important}
body.single-post .entry-content blockquote{padding:22px 20px;margin:26px 0}
body.single-post .entry-content blockquote p{font-size:17px !important}
}
/* SA2026-POST-QUOTEFIX (font shorthand resets font-style; restore the italic) */
body.single-post .entry-content blockquote p{font-style:italic !important}
body.single-post .entry-content blockquote p.sa-cite{font-style:normal !important}
/* SA2026-POST-CITEFIX (cite is a p.sa-cite, so it needs the paragraph-level override) */
body.single-post .entry-content blockquote p.sa-cite{color:var(--v2-gold-d) !important;font:700 12.5px/1.5 var(--v2-sans) !important;letter-spacing:.12em;text-transform:uppercase;font-style:normal !important;margin:10px 0 0}
@media (min-width:1025px){body.single-post .entry-content blockquote p.sa-cite{font-size:13px !important}}
/* SA2026-POST-END */
/* SA2026-BLOG169-START (blog card thumbnails as 16:9 instead of the plugin's fixed 190px near-square) */
.v2-postgrid .rt-img-holder{height:auto !important;overflow:hidden;border-radius:10px 10px 0 0}
.v2-postgrid .rt-img-holder a.tpg-post-link{display:block;line-height:0}
.v2-postgrid .rt-img-holder img,.v2-postgrid img.rt-img-responsive{width:100% !important;height:auto !important;aspect-ratio:16/9 !important;object-fit:cover !important;object-position:center center;display:block;max-height:none !important;min-height:0 !important;border-radius:0 !important}
@supports not (aspect-ratio:16/9){.v2-postgrid .rt-img-holder{position:relative;padding-bottom:56.25%}.v2-postgrid .rt-img-holder img{position:absolute;top:0;left:0;height:100% !important}}
/* SA2026-BLOG169-END */
/* SA2026-YTTHUMB-START (YouTube feed thumbnails: the 16:9 box was right, but the crop was anchored top-left so YouTube's 4:3 letterbox bar stayed visible) */
.sby_video_thumbnail,a.sby_video_thumbnail,.sby_item_video_thumbnail{background-position:center center !important;background-size:cover !important;background-repeat:no-repeat !important}
.sby_video_thumbnail_wrap{overflow:hidden;border-radius:10px}
.sby_item .sby_inner_item{border-radius:10px;overflow:hidden}
/* SA2026-YTTHUMB-TAB (feed has no tablet column setting, so it inherits desktop 3-up; force 2-up between 768 and 1024) */
@media (min-width:768px) and (max-width:1024px){
.sby_layout_grid .sby_items_wrap{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:10px !important;padding:5px !important}
.sby_layout_grid .sby_items_wrap .sby_item{width:100% !important;max-width:100% !important;float:none !important;padding:0 !important;margin:0 !important}
}
/* SA2026-YTTHUMB-END */
/* SA2026-YTGAP-START (desktop homily feed gutters. The plugin's 5px item padding cannot be overridden, so the 3-up row is spaced with grid gap instead: gap 10 + 5px padding either side = 20px between thumbnails, matching vertically. Item width must be forced to 100% or the plugin's 33.333% resolves against the grid track and shrinks the thumbnails. Wrap padding stays 5 so the outer edge is unchanged) */
@media (min-width:1025px){
.sby_layout_grid .sby_items_wrap{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:10px !important;padding:5px !important}
.sby_layout_grid .sby_items_wrap .sby_item{width:100% !important;max-width:100% !important;float:none !important;margin:0 !important}
}
/* SA2026-YTGAP-END */
/* SA2026-YTCARD-START (make the Homily Playback thumbnails read as separated cards like the Parish History videos: same 12px radius, same resting shadow, same lift on hover. Gutter is already 20px to match. Shadow sits on .sby_inner_item because .sby_video_thumbnail_wrap clips) */
.sby_item .sby_inner_item{border-radius:12px;overflow:hidden;background:#000;box-shadow:rgba(11,37,69,.07) 0 2px 6px,rgba(11,37,69,.09) 0 8px 20px;will-change:transform;transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s cubic-bezier(.2,.7,.3,1)}
.sby_item .sby_video_thumbnail_wrap{border-radius:12px}
@media (hover:hover) and (pointer:fine) and (min-width:1025px){
.sby_item:hover .sby_inner_item{transform:perspective(1000px) rotateX(1.2deg) translateY(-5px) scale(1.008);box-shadow:rgba(11,37,69,.10) 0 3px 8px,rgba(11,37,69,.16) 0 14px 30px,rgba(11,37,69,.10) 0 26px 48px}
}
@media (hover:none){
.sby_item:active .sby_inner_item{transform:translateY(-3px) scale(1.006);box-shadow:rgba(11,37,69,.10) 0 3px 8px,rgba(11,37,69,.16) 0 14px 30px,rgba(11,37,69,.10) 0 26px 48px}
}
@media (max-width:767px){.sby_item .sby_inner_item,.sby_item .sby_video_thumbnail_wrap{border-radius:8px}}
@media (prefers-reduced-motion:reduce){
.sby_item .sby_inner_item{transition:none !important}
.sby_item:hover .sby_inner_item{transform:none !important}
}
/* SA2026-YTCARD-END */
/* SA2026-CKY-START (cookie banner took 38% of a phone screen and covered the first video. Tighten spacing, drop the body text a size, and sit the two buttons side by side. All wording and both choices are kept in full) */
@media (max-width:767px){
.cky-consent-container .cky-consent-bar{padding:12px 0 !important}
.cky-consent-container .cky-title{font-size:16px !important;line-height:21px !important;margin:0 0 6px !important;padding:0 16px !important}
.cky-consent-container .cky-notice-des,.cky-consent-container .cky-notice-des p{font-size:13px !important;line-height:18px !important}
.cky-consent-container .cky-notice-des{padding:0 16px !important;margin:0 !important}
.cky-consent-container .cky-notice-btn-wrapper{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;gap:10px !important;padding:10px 16px 0 !important;margin:0 !important}
.cky-consent-container .cky-notice-btn-wrapper .cky-btn{flex:1 1 0 !important;width:auto !important;min-width:0 !important;margin:0 !important;min-height:44px !important;padding:10px 6px !important;font-size:14px !important}
}
/* SA2026-CKY-END */
/* SA2026-TC-START (Terms and Conditions page: extra elements the Privacy Policy does not use - clause numbers, indented sub-clauses, callout boxes and the crypt table. Everything else inherits the existing v2-pph / v2-ppbody document styles) */
.v2-ppbody .num{font-weight:700;color:#0B2545;margin-right:2px}
.v2-ppbody .sub{margin-left:22px}
.v2-ppbody .callout{border:1px solid #cfd8e3;background:#F5F8FC;border-radius:8px;padding:16px 20px;margin:16px 0}
.v2-ppbody .callout p{margin:0 0 8px}
.v2-ppbody .callout p:last-child{margin:0}
.v2-ppbody .bank{font-size:.94em;color:#5a6675}
.v2-ppbody table{border-collapse:collapse;width:100%;margin:14px 0}
.v2-ppbody th,.v2-ppbody td{border:1px solid #dfe4ea;padding:9px 12px;text-align:left;vertical-align:top}
.v2-ppbody th{background:#F7F5F0;color:#0B2545;white-space:nowrap;width:30%}
@media (max-width:600px){
.v2-ppbody .sub{margin-left:12px}
.v2-ppbody .callout{padding:14px 15px}
.v2-ppbody table,.v2-ppbody tbody,.v2-ppbody tr,.v2-ppbody th,.v2-ppbody td{display:block;width:100% !important;white-space:normal}
.v2-ppbody tr{border:1px solid #dfe4ea;margin-bottom:10px}
.v2-ppbody th,.v2-ppbody td{border:0}
.v2-ppbody th{font-weight:700;padding-bottom:2px}
}
/* SA2026-TC-END */
/* SA2026-PPDL-START (Privacy Notice v1.3 sets the Glossary as a definition list. Without an explicit size dt/dd fell back to the widget default of 15.5px, a quarter smaller than the 20px body - match the body instead. Also fixes section headings, which were 19px on mobile, i.e. SMALLER than the 20px body text) */
.v2-ppbody dl{margin:8px 0 0}
.v2-ppbody dt,.v2-ppbody dd{font-size:20px;line-height:36px}
.v2-ppbody dt{font-weight:700;color:#0B2545;margin:20px 0 0}
.v2-ppbody dt:first-child{margin-top:0}
.v2-ppbody dd{margin:0 0 6px;padding-left:0}
.v2-pph h2.elementor-heading-title{font-size:26px;line-height:1.3}
@media (min-width:768px) and (max-width:1024px){.v2-pph h2.elementor-heading-title{font-size:24px}}
@media (max-width:767px){
.v2-pph h2.elementor-heading-title{font-size:23px;line-height:1.28}
.v2-ppbody dt,.v2-ppbody dd{font-size:20px;line-height:34px}
}
/* SA2026-PPDL-END */
/* SA2026-HERORULE-START (hero gold rule sat on the SAME flex line as the lede paragraph at >=630px, so the divider appeared beside the text instead of under the title. The column is display:flex;flex-wrap:wrap and the rule's max-width:110px let it share a line with the 520px lede. The gold line's visible width comes from .elementor-divider-separator{width:110px}, so dropping the widget max-width and giving it a full basis stacks them without changing how the rule looks) */
#v2-phero .v2-prule{max-width:none;flex-basis:100%;width:100%}
/* SA2026-HERORULE-END */
/* SA2026-NAVFIX-START (two nav fixes) */
/* 1. The Contact Us dropdown is 526px wide for two short links, so it ran ~170px past the right edge of the viewport. Right-aligning it (first attempt) pushed it visually away from its parent - it belongs directly under Contact Us. Correct fix: keep Astra's default left alignment and size the box to its content instead */
@media (min-width:922px){
.main-header-menu > li.menu-item-11999 > .sub-menu{width:auto !important;min-width:230px !important}
}
/* 2. Off-canvas submenu links were 13px in a 19px row against 16px/49px parents - well under a 44px tap target, on EVERY submenu, not just this one */
@media (max-width:921px){
#primary-site-navigation-mobile .sub-menu a,
.ast-mobile-popup-drawer .sub-menu a{font-size:15px !important;min-height:44px;display:flex;align-items:center;line-height:1.35}
}
/* SA2026-NAVFIX-END */
/* SA2026-CLERGYTAB-START (Parish Teams clergy row. The three #v2-cards columns are set to width:100% by an earlier rule; on desktop they are flex items in a non-wrapping row so they shrink to a third each, but at tablet the row wraps and each took a full line - making the fixed-300px-tall photo 839px wide, a 2.8:1 letterbox that cropped faces because object-fit:cover is anchored to the top. Restoring a third each at tablet gives ~265x300 (ratio ~0.9), which suits the portrait photos) */
@media (min-width:601px) and (max-width:1024px){
/* scoped to Parish Teams (page 1505): #v2-cards is reused on Sacraments, Giving, Contact and others, where the section wraps its grid in ONE 100% column - shrinking that to a third crushed the Sacraments cards to 59px at tablet. */
body.elementor-page-1505 #v2-cards>.elementor-container>.elementor-column{width:33.333% !important}
}
/* SA2026-CLERGYTAB-END */
/* SA2026-BDAY-START (Birthday Blessings. Hero now uses the site-standard #v2-phero pattern so it inherits the same crumb/eyebrow/title/rule/lede styling as every other page - only the card below is page-specific) */
#sa-bd-formsec{background:var(--v2-cream)}
#sa-bd-card{max-width:860px;margin:0 auto;background:#fff;border:1px solid #E6E2DA;border-radius:16px;padding:38px 44px 34px;box-shadow:0 10px 34px rgba(11,37,69,.09);text-align:center}
.sa-bd-cake{text-align:center;margin-bottom:12px}
.sa-bd-cake .elementor-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#EAF2FC;color:var(--v2-navy);font-size:26px}
.sa-bd-h2 .elementor-heading-title{font:700 27px/1.3 var(--v2-serif);color:var(--v2-navy);margin:0}
.sa-bd-minicross{text-align:center;margin:8px 0 6px}
.sa-bd-minicross .elementor-icon{color:var(--v2-gold);font-size:15px}
.sa-bd-sub p{font:400 15.5px/1.65 var(--v2-sans);color:#6B7280;margin:0 0 4px}
.sa-bd-note{margin-top:14px}
.sa-bd-note p{font:400 13px/1.6 var(--v2-sans);color:#8a939f;margin:0}
#sa-bd-card .wpforms-container{margin:22px 0 0}
#sa-bd-card .wpforms-form{text-align:left}
#sa-bd-card .wpforms-field{padding:0 0 16px}
#sa-bd-card .wpforms-field-label{font:700 13.5px/1.4 var(--v2-sans) !important;color:var(--v2-navy) !important;margin-bottom:7px !important;display:block}
#sa-bd-card .wpforms-required-label{color:#C4302B !important}
#sa-bd-card input[type=text],#sa-bd-card select{width:100% !important;max-width:100% !important;font:400 15px/1.4 var(--v2-sans) !important;color:var(--v2-navy) !important;background:#fff !important;border:1px solid #D9DEE7 !important;border-radius:8px !important;padding:12px 14px !important;height:auto !important;box-shadow:none !important;transition:border-color .18s ease,box-shadow .18s ease}
#sa-bd-card input[type=text]:focus,#sa-bd-card select:focus{border-color:var(--v2-blue) !important;box-shadow:0 0 0 3px rgba(53,119,190,.16) !important;outline:none !important}
#sa-bd-card input::placeholder{color:#9AA3AF;opacity:1}
#sa-bd-card .wpforms-submit{width:100% !important;background:var(--v2-navy) !important;color:#fff !important;border:0 !important;border-radius:9px !important;font:700 15px/1 var(--v2-sans) !important;letter-spacing:.02em;padding:16px 22px !important;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
#sa-bd-card .wpforms-submit:hover{background:var(--v2-navy2) !important;transform:translateY(-1px);box-shadow:0 10px 22px rgba(11,37,69,.22)}
#sa-bd-card .wpforms-submit::before{content:'\2665';margin-right:9px;font-size:14px;color:var(--v2-gold)}
#sa-bd-card .wpforms-submit-container{padding-top:4px !important}
#sa-bd-card .wpforms-confirmation-container-full{background:#EAF2FC !important;border:1px solid #CFD8E3 !important;border-radius:10px;color:var(--v2-navy) !important}
@media (max-width:1024px){#sa-bd-card{max-width:680px;padding:34px 32px 30px}}
@media (max-width:767px){
#sa-bd-card{margin:0 16px;padding:28px 20px 26px;border-radius:14px}
.sa-bd-h2 .elementor-heading-title{font-size:22px}
#sa-bd-card .sa-bd-col{width:100% !important;float:none !important;margin-left:0 !important;padding:0 0 16px !important}
#sa-bd-card .wpforms-submit{padding:15px 18px !important;min-height:48px}
}
/* SA2026-BDAY-END */
/* SA2026-BDAY2-START (three real bugs on the birthday form) */
/* 1. WPForms lays one-third fields out with float:left and nothing clears them, so .wpforms-field-container collapsed to height 0. The 136px .wpforms-submit-container then started at the same y and sat ON TOP of all three fields, swallowing every click - you could not put the cursor in First/Last Name or open the month dropdown. Replaced floats with flex so the container has real height. Was desktop AND tablet; mobile escaped it only because float:none was already set there. */
@media (min-width:768px){
#sa-bd-card .wpforms-field-container{display:flex !important;flex-wrap:wrap;align-items:flex-start;column-gap:20px}
}
/* 4 across on desktop: card content is 860-88=772, so (772-60)/4 = 178px per column, exact fit */
@media (min-width:1025px){
#sa-bd-card .wpforms-field.sa-bd-col{float:none !important;width:calc((100% - 60px)/4) !important;margin-left:0 !important;margin-right:0 !important}
/* the 4-across row is the tightest box on the form: 'Sunday 10:30AM' left only 7px spare against the default 14/38 padding, which would clip if Lato failed to load and a wider system font took over. Trimming to 12/32 (chevron needs ~28px) takes the spare to ~15px. Desktop only - tablet and mobile have plenty of room. */
#sa-bd-card .wpforms-field.sa-bd-col select{padding-left:12px !important;padding-right:32px !important;background-position:right 11px center !important}
}
/* tablet card is only 616px inside, so 4 across would truncate 'Sunday 10:30AM' - use 2x2 */
@media (min-width:768px) and (max-width:1024px){
#sa-bd-card .wpforms-field.sa-bd-col{float:none !important;width:calc((100% - 20px)/2) !important;margin-left:0 !important;margin-right:0 !important}
}
/* WPForms' honeypot is a .wpforms-field too; left visible it becomes a flex item and steals a 20px gap, wrapping the 4th column. It is meant to be hidden from humans anyway. */
#sa-bd-card .wpforms-field-hp{display:none !important}
/* 2. belt and braces: clear the floats even if the flex rule is ever removed */
#sa-bd-card .wpforms-field-container::after{content:'';display:table;clear:both}
#sa-bd-card .wpforms-submit-container{clear:both !important;position:relative;z-index:0}
/* 3. the select had appearance:none with no replacement arrow, so it did not read as a dropdown at all. Put a chevron back. */
#sa-bd-card select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='none' stroke='%230B2545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l6 6 6-6'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important;background-size:14px 9px !important;padding-right:38px !important;cursor:pointer}
#sa-bd-card .wpforms-field{position:relative;z-index:1}
/* SA2026-BDAY2-END */
/* SA2026-FHC-START (shared by the First Holy Communion page 12391/form 12389 AND the Confirmation page 12397/form 12395 - the Confirmation page deliberately reuses the same #fhc-* element ids and .sa-fhc-* field classes so both pages stay identical from one block) */
#fhc-facts,#fhc-steps,#fhc-formsec{background:var(--v2-cream)}
.fhc-fact{background:#fff;border:1px solid #E6E2DA;border-radius:14px;padding:24px 22px;box-shadow:var(--v2-card);height:100%}
#fhc-facts>.elementor-container>.elementor-column>.elementor-widget-wrap{height:100%}
#fhc-facts .elementor-widget-text-editor,#fhc-facts .elementor-widget-container{height:100%}
.fhc-fact-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#EAF2FC;color:var(--v2-navy);font-size:20px;margin-bottom:13px}
.fhc-fact h4{font:700 15px/1.3 var(--v2-sans);color:var(--v2-navy);margin:0 0 7px;letter-spacing:.01em}
.fhc-fact p{font:400 14px/1.62 var(--v2-sans);color:var(--v2-text);margin:0}
.fhc-panel{background:#fff;border:1px solid #E6E2DA;border-radius:16px;padding:30px 34px;box-shadow:var(--v2-card)}
.fhc-panel h3{font:700 22px/1.3 var(--v2-serif);color:var(--v2-navy);margin:0 0 9px}
.fhc-panel>p{font:400 15px/1.65 var(--v2-sans);color:var(--v2-text);margin:0}
ol.fhc-steps{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:15px}
ol.fhc-steps li{display:flex;gap:14px;align-items:flex-start}
ol.fhc-steps li>span{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--v2-navy);color:#fff;font:700 13px/1 var(--v2-sans)}
ol.fhc-steps li>div{font:400 14.5px/1.62 var(--v2-sans);color:var(--v2-text)}
ol.fhc-steps li>div strong{color:var(--v2-navy)}
.fhc-commit{margin-top:20px;background:#F3EEE3;border-left:3px solid var(--v2-gold);border-radius:6px;padding:15px 18px;font:400 13.5px/1.62 var(--v2-sans);color:var(--v2-navy)}
.fhc-h2 .elementor-heading-title{font:700 27px/1.3 var(--v2-serif);color:var(--v2-navy);margin:0;text-align:center}
p.fhc-sub{font:400 14.5px/1.6 var(--v2-sans);color:#6B7280;text-align:center;margin:7px 0 0}
#fhc-formsec .elementor-widget-shortcode{background:#fff;border:1px solid #E6E2DA;border-radius:16px;padding:34px 38px 30px;box-shadow:0 10px 34px rgba(11,37,69,.09);margin-top:20px;display:block}
#fhc-formsec .wpforms-container{margin:0}
#fhc-formsec .wpforms-field{padding:0 0 17px}
#fhc-formsec .wpforms-field-label{font:700 13.5px/1.4 var(--v2-sans) !important;color:var(--v2-navy) !important;margin-bottom:7px !important;display:block}
#fhc-formsec .wpforms-required-label{color:#C4302B !important}
#fhc-formsec .wpforms-field-description{font:400 12.5px/1.5 var(--v2-sans) !important;color:#8a939f !important;margin-top:6px !important}
#fhc-formsec input[type=text],#fhc-formsec input[type=email],#fhc-formsec textarea{width:100% !important;max-width:100% !important;font:400 15px/1.4 var(--v2-sans) !important;color:var(--v2-navy) !important;background:#fff !important;border:1px solid #D9DEE7 !important;border-radius:8px !important;padding:12px 14px !important;height:auto !important;box-shadow:none !important;opacity:1 !important;transition:border-color .18s ease,box-shadow .18s ease}
#fhc-formsec textarea{min-height:92px;resize:vertical !important}
#fhc-formsec input:focus,#fhc-formsec textarea:focus{border-color:var(--v2-blue) !important;box-shadow:0 0 0 3px rgba(53,119,190,.16) !important;outline:none !important;opacity:1 !important}
#fhc-formsec input::placeholder,#fhc-formsec textarea::placeholder{color:#9AA3AF;opacity:1}
.sa-fhc-consent{background:#F7F9FC;border:1px solid #DDE6F2;border-radius:10px;padding:16px 18px !important;margin-bottom:4px}
.sa-fhc-consent .wpforms-field-label{display:none !important}
.sa-fhc-consent ul{list-style:none;margin:0 !important;padding:0 !important}
.sa-fhc-consent li{display:flex;align-items:flex-start;gap:11px;margin:0 !important}
.sa-fhc-consent input[type=checkbox]{flex:none;width:19px !important;height:19px !important;margin:1px 0 0 !important;accent-color:var(--v2-navy);cursor:pointer;opacity:1 !important}
.sa-fhc-consent label{font:400 13.5px/1.6 var(--v2-sans) !important;color:var(--v2-text) !important;cursor:pointer;display:block !important}
.sa-fhc-consent label strong{color:var(--v2-navy)}
#fhc-formsec .wpforms-submit{width:100% !important;background:var(--v2-navy) !important;color:#fff !important;border:0 !important;border-radius:9px !important;font:700 15px/1 var(--v2-sans) !important;letter-spacing:.02em;padding:16px 22px !important;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
#fhc-formsec .wpforms-submit:hover{background:var(--v2-navy2) !important;transform:translateY(-1px);box-shadow:0 10px 22px rgba(11,37,69,.22)}
#fhc-formsec .wpforms-submit-container{clear:both !important;padding-top:6px !important;position:relative;z-index:0}
#fhc-formsec .wpforms-field-hp{display:none !important}
#fhc-formsec .wpforms-confirmation-container-full{background:#EAF2FC !important;border:1px solid #CFD8E3 !important;border-radius:12px;color:var(--v2-navy) !important;padding:22px 26px !important}
.fhc-dp{margin-top:24px;border-top:1px solid #E1E6EE;padding-top:20px}
.fhc-dp h4{font:700 13px/1.3 var(--v2-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--v2-navy);margin:0 0 9px}
.fhc-dp p{font:400 13px/1.65 var(--v2-sans);color:#7a8595;margin:0 0 9px}
.fhc-dp a{color:var(--v2-blue);text-decoration:underline}
p.fhc-contact{color:var(--v2-navy) !important;font-weight:400}
/* two-column field rows from 768px up */
@media (min-width:768px){
#fhc-formsec .wpforms-field-container{display:flex !important;flex-wrap:wrap;align-items:flex-start;column-gap:22px}
#fhc-formsec .wpforms-field.sa-fhc-half{float:none !important;width:calc((100% - 22px)/2) !important;margin-left:0 !important;margin-right:0 !important}
#fhc-formsec .wpforms-field.sa-fhc-full,#fhc-formsec .wpforms-field.sa-fhc-consent{width:100% !important;float:none !important;margin-left:0 !important}
}
@media (max-width:1024px){
.fhc-panel{padding:26px 24px}
#fhc-formsec .elementor-widget-shortcode{padding:28px 24px 26px}
}
@media (max-width:767px){
#fhc-facts>.elementor-container>.elementor-column{width:100% !important}
.fhc-fact{padding:20px 18px}
.fhc-panel{padding:24px 20px;border-radius:14px}
.fhc-panel h3{font-size:20px}
.fhc-h2 .elementor-heading-title{font-size:22px}
#fhc-formsec .elementor-widget-shortcode{padding:24px 18px 22px;border-radius:14px}
#fhc-formsec .wpforms-field.sa-fhc-half,#fhc-formsec .wpforms-field.sa-fhc-full{width:100% !important;float:none !important;margin-left:0 !important}
#fhc-formsec .wpforms-submit{padding:15px 18px !important;min-height:48px}
.sa-fhc-consent{padding:14px 15px !important}
}
/* Yes/No radio (Confirmation form only). The field label stays visible - only the choice labels are restyled. */
#fhc-formsec .wpforms-field-radio ul{list-style:none;margin:0 !important;padding:0 !important;display:flex;flex-wrap:wrap;gap:14px 26px}
#fhc-formsec .wpforms-field-radio li{display:flex;align-items:center;gap:9px;margin:0 !important}
#fhc-formsec .wpforms-field-radio input[type=radio]{flex:none;width:18px !important;height:18px !important;margin:0 !important;accent-color:var(--v2-navy);cursor:pointer;opacity:1 !important}
#fhc-formsec .wpforms-field-radio li label{font:400 14.5px/1.5 var(--v2-sans) !important;color:var(--v2-navy) !important;cursor:pointer;margin:0 !important}
/* SA2026-FHC-END */
/* SA2026-DLGRID-START (download-forms card grid. The two sacrament images added 2026-09-04 are 1:1 and 1.25:1 while every other card image is 3:2, so row 1 bottomed out unevenly - 441px against 395px. Normalise the image to 3:2 and let each card fill its column so every row is level.) */
#v2-formgrid .v2-formcard .elementor-image-box-img img{aspect-ratio:3\/2;object-fit:cover;width:100%;display:block}
#v2-formgrid .elementor-column>.elementor-widget-wrap{height:100%}
#v2-formgrid .elementor-widget-image-box{height:100%}
#v2-formgrid .elementor-widget-image-box>.elementor-widget-container{height:100%}
#v2-formgrid .v2-formcard .elementor-image-box-wrapper{height:100%;display:flex;flex-direction:column}
/* SA2026-DLGRID-END */
/* SA2026-DLGRIDM-START (stack the download-form cards on phones. The 2-up rule sits in a max-width:1024px query that also matches 375px, so without this the cards render 122px wide.) */
@media (max-width:767px){
body.elementor-page-2636 #v2-formgrid .elementor-inner-section>.elementor-container>.elementor-column{width:100% !important}
}
/* SA2026-DLGRIDM-END */
/* SA2026-DLIMG-START (match the Sacraments cards: image spans the full card width at 158px, replacing the inset beige document-mat. Every card now crops with cover exactly like .v2-card, so all seven images run the full card width. The three former document cards were re-shot as landscape artwork (1200x851 and 1200x676), so the old object-fit:contain - which letterboxed them with white side bars - is no longer needed. They use object-position:center top so the heading across the top of each poster survives the crop.) */
#v2-formgrid .v2-formcard .elementor-image-box-img{background:none !important;padding:0 !important;margin:0 !important;width:100% !important}
#v2-formgrid .v2-formcard .elementor-image-box-img img{width:100% !important;height:158px !important;aspect-ratio:auto !important;object-fit:cover !important;border:0 !important;border-radius:0 !important;background:none !important;display:block}
#v2-formgrid .v2-doccard .elementor-image-box-img img{object-fit:cover !important;object-position:center top !important;background:none !important;border-bottom:0 !important}
/* SA2026-DLIMG-END */
/* SA2026-FORMERR-START (WPForms "Include Form Styling" is set to "No styling at all" site-wide, so wpforms-no-styles.min.css loads and NO error styling exists - a failed submit showed the red banner but never marked the offending field. Applies to every form: Contact 13, Birthday 12356, First Holy Communion 12389, Confirmation 12395.) */
.wpforms-container .wpforms-error-container,.wpforms-container .wpforms-error-alert{background:#FDECEA !important;border:1px solid #F1BDB8 !important;border-left:5px solid #C4302B !important;border-radius:8px !important;padding:15px 20px !important;margin:0 0 20px !important;font:600 15px/1.55 var(--v2-sans) !important;color:#8E2019 !important}
.wpforms-container .wpforms-error-container p{margin:0 !important;color:#8E2019 !important}
/* the offending input itself */
.wpforms-container input.wpforms-error,.wpforms-container textarea.wpforms-error,.wpforms-container select.wpforms-error,.wpforms-container input[aria-invalid="true"],.wpforms-container textarea[aria-invalid="true"],.wpforms-container select[aria-invalid="true"]{border:2px solid #C4302B !important;background:#FFF8F7 !important;box-shadow:0 0 0 3px rgba(196,48,43,.12) !important;opacity:1 !important}
/* per-field message under the field */
.wpforms-container label.wpforms-error,.wpforms-container em.wpforms-error,.wpforms-container .wpforms-field-label-inline label.wpforms-error{display:block !important;margin-top:7px !important;font:600 13.5px/1.5 var(--v2-sans) !important;color:#C4302B !important;letter-spacing:0}
.wpforms-container label.wpforms-error::before{content:'\26A0';margin-right:7px;font-weight:700}
/* highlight the whole field block so it is findable at a glance */
.wpforms-container .wpforms-field.wpforms-has-error{border-left:4px solid #C4302B !important;padding-left:14px !important;background:rgba(196,48,43,.03)}
/* checkbox / radio groups */
.wpforms-container .wpforms-field-checkbox.wpforms-has-error,.wpforms-container .wpforms-field-radio.wpforms-has-error{border:2px solid #C4302B !important;background:#FFF8F7 !important;border-radius:10px}
.wpforms-container .wpforms-field-checkbox input[type=checkbox].wpforms-error,.wpforms-container .wpforms-field-radio input[type=radio].wpforms-error{outline:2px solid #C4302B !important;outline-offset:2px}
/* reCAPTCHA failure message */
.wpforms-container .wpforms-recaptcha-container .wpforms-error{display:block !important;margin-top:9px !important;font:600 13.5px/1.5 var(--v2-sans) !important;color:#C4302B !important}
/* required marker consistently red */
.wpforms-container .wpforms-required-label{color:#C4302B !important}
/* SA2026-FORMERR2: the per-card input styling uses #id selectors with !important, which beat a plain .wpforms-error rule. These selectors (id + [type] + class) outrank them so the invalid field actually turns red. */
#fhc-formsec input[type].wpforms-error,#fhc-formsec textarea.wpforms-error,#fhc-formsec select.wpforms-error,#sa-bd-card input[type].wpforms-error,#sa-bd-card textarea.wpforms-error,#sa-bd-card select.wpforms-error,#v2-subcard input[type].wpforms-error,#v2-subcard textarea.wpforms-error,#v2-subcard select.wpforms-error,.v2-fform input[type].wpforms-error,.v2-fform textarea.wpforms-error,.v2-fform select.wpforms-error{border:2px solid #C4302B !important;background:#FFF8F7 !important;box-shadow:0 0 0 3px rgba(196,48,43,.12) !important}
#fhc-formsec input[type].wpforms-error:focus,#fhc-formsec textarea.wpforms-error:focus,#fhc-formsec select.wpforms-error:focus,#sa-bd-card input[type].wpforms-error:focus,#sa-bd-card textarea.wpforms-error:focus,#sa-bd-card select.wpforms-error:focus,#v2-subcard input[type].wpforms-error:focus,#v2-subcard textarea.wpforms-error:focus,#v2-subcard select.wpforms-error:focus,.v2-fform input[type].wpforms-error:focus,.v2-fform textarea.wpforms-error:focus,.v2-fform select.wpforms-error:focus{border-color:#C4302B !important;box-shadow:0 0 0 3px rgba(196,48,43,.22) !important;outline:none !important}
/* SA2026-FORMERR-END */
/* SA2026-SACOR-START (Sacraments cards: 'or' separator between the downloadable form and the online registration link, so the two routes read as alternatives rather than one run-on sentence) */
.v2-card .elementor-image-box-description .v2-or{display:block;margin:9px 0 3px;font:400 12.5px/1.4 var(--v2-sans);color:#9AA3AF;font-style:italic}
.v2-card .elementor-image-box-description .v2-or+a{display:inline-block}
/* SA2026-SACOR-END */
/* SA2026-TAPTARGET-START (mobile touch targets on the Sacraments / Download Forms card links. 'Online Registration' measured only 22px tall on a phone, well under the ~44px guideline, which is awkward for older parishioners. Padding is applied under 768px only so desktop and tablet are unchanged.) */
@media (max-width:767px){
.v2-card .elementor-image-box-description a{display:inline-block;padding:13px 2px;min-height:20px;line-height:1.45}
.v2-card .elementor-image-box-description .v2-or{margin:2px 0 0}
}
/* SA2026-TAPTARGET-END */
/* SA2026-MASSROW-START (each .v2-mrow is 'day' + 'time or note' in two spans; the second is bolded by .v2-mrow span:last-child. Below 768px the row is already flex-direction:column with text-align:left, so the note gets its own full-width line and needs nothing from here - leave that design alone. From 768px up the row is horizontal with white-space:nowrap, and the card is at its NARROWEST there (259px at 768px vs 281px on a phone): 'Monday' plus 'No morning Mass until further notice' needs about 303px and overflowed. Allow that second span to wrap. Scoped to #v2-masscard, which appears only on the homepage. */
@media (min-width:768px){
#v2-masscard .v2-mrow span:first-child{flex:0 0 auto}
#v2-masscard .v2-mrow span:last-child,#v2-masscard .v2-mrow strong{white-space:normal;overflow-wrap:break-word;min-width:0}
}
/* If the editor strips the spans again, bolding with Elementor's Bold button gives <strong>; match its colour and weight at every width, but never its alignment. */
#v2-masscard .v2-mrow strong{color:#fff;font-weight:700}
/* SA2026-MASSROW-END */
/* SA2026-DAYTABSDUP-START (The seven day names rendered TWICE - once as the pill tab bar, once as Elementor's accordion headers. Cause: SA2026-DAYTABS sets .v2-wtabs .elementor-tab-title{display:flex !important} under max-width:1024px, and BOTH title types share .elementor-tab-title, so that !important beat Elementor's own .elementor-tabs .elementor-tab-mobile-title{display:none} at min-width:768px. The duplication therefore ran from 0 up to 1024px. SA2026-DAYTABS deliberately styles the pill bar as the control at every size, so hide the accordion headers outright for this widget - no media query, so there is no gap for the !important rule to reappear through. Both controls switch panes correctly, so this is presentational only. Scoped to .v2-wtabs, the only Elementor tabs widget on the site (Mass Times). */
.v2-wtabs .elementor-tab-mobile-title{display:none !important}
/* SA2026-DAYTABSDUP-END */
/* SA2026-QUADALIGN-START (Homepage quad row on mobile: each column holds exactly two widgets - the icon-box and the READ MORE / GET INVOLVED / EXPLORE / LEARN MORE link. Elementor's .elementor-widget-wrap is a wrapping flex row with align-content:flex-start, so both widgets pack at the TOP and all the spare height falls below the link. Columns in a pair are equal height but their descriptions are not, so the leftover differed - 105px in Parish Teams against 40px in Our Parish - leaving the two links 65px out of step (and 18px in the second pair). space-between pins the first line to the top and the last to the bottom, so the links sit on the card floor and line up across each pair. Scoped to #v2-quadrow under 768px; tablet already lines up and is left untouched. */
@media (max-width:767px){
#v2-quadrow .elementor-widget-wrap{align-content:space-between}
}
/* SA2026-QUADALIGN-END */
/* SA2026-BAPCARD-START (third notice card on Download Forms, sitting left of First Holy Communion. Geometry is copied exactly from #v2-notecard and #v2-intcard - same 10px radius, 24px 26px padding and 3px left border - so the three read as one family; only the accent changes, to the parish navy. The row went from two 50% columns to three at 33.33%. */
#v2-bapcard>.elementor-widget-wrap{background:#E6EBF3;border-left:3px solid var(--v2-navy);border-radius:10px;padding:24px 26px}
/* Three across at 768px leaves only 196px of text inside 26px padding, which pushed the First Holy Communion heading onto three lines. Trim the side padding between 768 and 1024 so all three headings sit on two. */
@media (min-width:768px) and (max-width:1024px){
#v2-bapcard>.elementor-widget-wrap,#v2-notecard>.elementor-widget-wrap,#v2-intcard>.elementor-widget-wrap{padding:20px 16px !important}
}
/* SA2026-BAPCARD-END */
/* SA2026-NLTAP - newsletter archive download links measured 107x11px on phones and
   tablets, about a quarter of the 44px tap-target guideline. Rather than pad the link
   (which would have added roughly 630px of scrolling across the 30 stacked cards on a
   phone), the whole card becomes the tap target: the link is stretched over its card
   with an absolutely positioned ::before. Nothing moves, nothing grows, and the visible
   design is untouched. Each archive card holds exactly one link, so there is nothing
   else on the card for the overlay to cover. ::after is already used for the arrow.
   Scoped to touch sizes; the desktop layout is left exactly as it was. */
@media (max-width:1024px){
.v2-nlcard .elementor-widget-container{position:relative}
.v2-nlcard .v2-nl-d::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}
}
/* SA2026-NLTAP-END */
/* SA2026-GIVEOVL - Parish Giving hero overlay lightened (asked for 2026-09-12).
   Elementor's own background_overlay_opacity does nothing on these heroes: SA2026-CONTRAST
   sets '#v2-phero>.elementor-background-overlay{...!important;opacity:1!important}' for every
   inner page, so the stored 0.76/0.78/0.82 values are inert. The real overlay is a left-to-right
   navy gradient, darkest where the heading sits. This scales that same gradient down for the
   Parish Giving page only - .93/.84/.68 becomes .86/.76/.58 - so the photograph reads through
   while the left-hand side stays dark enough for the white heading. Scoped by body class so no
   other hero is touched. To revert: delete this block. */
body.page-id-2076 #v2-phero>.elementor-background-overlay{background:linear-gradient(90deg,rgba(11,37,69,.86) 0%,rgba(11,37,69,.76) 55%,rgba(11,37,69,.58) 100%) !important}
/* SA2026-GIVEOVL-END */
/* SA2026-BDCARD - the birthday form card overflowed the phone viewport by ~7px.
   SA2026-BDAY line 1422 gives #sa-bd-card 'margin:0 16px' on mobile, but the card is an
   Elementor column whose width already resolves to the full container width - margins are
   added OUTSIDE that width, so 365.6 + 16 + 16 did not fit in 375. The right edge and its
   shadow were clipped. No scrollbar appeared because the overflow is clipped, not scrolled,
   which is why an hscroll check never caught it.
   Constrain the width to allow for the card's own margins, keeping the intended 16px gutters. */
@media (max-width:767px){
#sa-bd-card{width:calc(100% - 32px) !important;max-width:calc(100% - 32px) !important}
}
/* SA2026-BDCARD-END */
/* SA2026-LINKWRAP - the Useful Links grid went from 3 cards to 5. Elementor renders the
   section container as flex with flex-wrap:nowrap, so the five 33% columns did not wrap onto
   a second row - they were squeezed to ~235px each instead of ~370px. This also broke the
   existing 50%/100% responsive rules below 1024px, which likewise assume wrapping.
   Allow the row to wrap and hold the desktop columns at a third each, so five cards lay out
   3 + 2 on desktop, 2 per row on tablet and 1 per row on phones. */
#v2-linkgrid>.elementor-container{flex-wrap:wrap}
@media (min-width:1025px){#v2-linkgrid>.elementor-container>.elementor-column{width:33.333% !important}}
/* SA2026-LINKWRAP-END */
/* SA2026-LAST-START (must stay last: order-sensitive overrides) */
@media (max-width:600px){#v2-subcard .wpforms-field-row-block,#v2-subcard .wpforms-field-row-block.wpforms-one-half,#v2-subcard .wpforms-field-row-block.wpforms-first{width:100% !important;max-width:100% !important;display:block !important;float:none !important;margin:0 0 10px !important}}
@media (max-width:600px){#v2-subcard input[type=text],#v2-subcard input[type=email]{width:100% !important;max-width:100% !important}}
/* SA2026-SUBFORM: three equal fields, evenly spaced */
#v2-subcard .wpforms-container,#v2-subcard .wpforms-form{max-width:564px !important;margin-left:auto !important;margin-right:auto !important;width:100% !important}
#v2-subcard .wpforms-field,#v2-subcard .wpforms-field-row,#v2-subcard .wpforms-field-row-block,#v2-subcard .wpforms-field-row-block.wpforms-one-half,#v2-subcard .wpforms-field-row-block.wpforms-first{width:100% !important;max-width:100% !important;display:block !important;float:none !important;margin:0 0 14px !important;padding:0 !important}
#v2-subcard input[type=text],#v2-subcard input[type=email]{width:100% !important;max-width:100% !important;display:block !important;box-sizing:border-box}
#v2-subcard .wpforms-field-label{text-align:left}
#v2-subcard .wpforms-submit-container{text-align:left;margin-top:4px}
/* SA2026-LAST-END */
