/* Stage 1 standalone cards. Existing public styles are never overridden globally. */
.ca-s1-account{max-width:52rem;margin:clamp(1rem,5vw,4rem) auto;padding:clamp(1.25rem,4vw,3rem);border:1px solid #ded6c5;border-radius:1.25rem;background:#fff;box-shadow:0 1rem 3rem #1028400d;color:#172d45}
.ca-s1-logo{display:block;max-width:min(100%,20rem);height:auto;margin:0 auto 1.5rem}
.ca-s1-languages{display:flex;justify-content:center;flex-wrap:wrap;gap:1.2rem;margin-bottom:2rem}
.ca-s1-account h1{font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.2;overflow-wrap:anywhere}
.ca-s1-account p{line-height:1.65;overflow-wrap:anywhere}.ca-s1-account a{color:inherit}.ca-s1-account .button-primary{color:#fff}
.ca-s1-home{margin-top:2rem}.ca-s1-account form{margin-top:2rem}
@media(max-width:600px){.ca-s1-account{margin:.75rem;border-radius:.75rem}.ca-s1-languages{gap:.8rem}}

/* Stage 1B public forms: scoped to standalone account cards only. */
.ca-s1-account .ca-s1b-field{display:flex;flex-direction:column;gap:.45rem;margin:1rem 0}
.ca-s1-account .ca-s1b-field label{font-weight:600}
.ca-s1-account .ca-s1b-field input,.ca-s1-account .ca-s1b-field select,.ca-s1-account .ca-s1b-field textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;border:1px solid #b8c2cb;border-radius:.5rem;padding:.75rem;font:inherit;color:inherit;background:#fff}
.ca-s1-account .ca-s1b-field input[readonly]{background:#f2f4f6}
.ca-s1-account .ca-s1b-check{display:flex;align-items:flex-start;gap:.75rem;margin:1.2rem 0;line-height:1.5}
.ca-s1-account .ca-s1b-check input{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.2rem}
.ca-s1-account .ca-s1b-notice{padding:1rem;margin:1rem 0;border:1px solid #a7bdcb;border-left:4px solid #315976;border-radius:.4rem;background:#f1f6f9;overflow-wrap:anywhere}
.ca-s1-account .ca-s1b-error{border-color:#a34736;background:#fff4f0}
.ca-s1-account .ca-s1b-results article{padding:1.25rem 0;border-bottom:1px solid #ded6c5}
.ca-s1-account .ca-s1b-results h2{font-size:1.2rem;line-height:1.4;overflow-wrap:anywhere}
.ca-s1-account button{cursor:pointer;white-space:normal;text-align:center;max-width:100%}

/* High contrast submit actions, limited to account/connect cards. */
.ca-s1-account .button-primary{background:#17314a;border-color:#17314a;color:#fff}
.ca-s1-account .button-primary:hover{background:#102638;border-color:#102638}
.ca-s1-account :is(input,select,textarea,button,a):focus-visible{outline:3px solid #315976;outline-offset:3px}

/* CA vCMS RC10W12 — redesigned standalone public parish profile. */
.ca-parish-public-body{margin:0;background:#fffdf8;color:#172d45;font-family:var(--sans,Arial,sans-serif);-webkit-font-smoothing:antialiased}
.ca-parish-public-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#fffdf8 0,#fff 64%,#fffdf8 100%)}
.ca-parish-public-header{border-bottom:1px solid rgba(11,32,53,.08);background:rgba(255,253,248,.96)}
.ca-parish-public-topbar{width:min(1180px,calc(100% - 40px));min-height:94px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:26px}
.ca-parish-public-brand{display:inline-flex;align-items:center;text-decoration:none}
.ca-parish-public-brand img{display:block;width:min(275px,36vw);height:auto}
.ca-parish-public-languages{display:flex;align-items:center;gap:7px}
.ca-parish-public-languages a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:48px;height:38px;padding:0 10px;border:1px solid rgba(11,32,53,.14);border-radius:999px;background:#fff;color:#172d45;text-decoration:none;font-size:17px;line-height:1;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.ca-parish-public-languages a small{font-size:10px;font-weight:800;letter-spacing:.08em}
.ca-parish-public-languages a:hover,.ca-parish-public-languages a:focus-visible{border-color:#9d7936;background:#f5ecd3;transform:translateY(-1px);outline:none}
.ca-parish-public-languages a[aria-current=page]{border-color:#9d7936;background:#efe2bd;box-shadow:0 0 0 2px rgba(157,121,54,.08)}
.ca-parish-public-heading{width:min(960px,calc(100% - 40px));margin:0 auto;padding:34px 0 48px;text-align:center}
.ca-parish-public-heading h1{margin:0;font-family:var(--serif,Georgia,serif);font-size:clamp(1.65rem,3vw,2.55rem);font-weight:500;line-height:1.12;letter-spacing:-.025em;color:#0b2035;overflow-wrap:anywhere}
.ca-parish-public-heading p{margin:13px 0 0;color:#687582;font-size:.96rem;font-weight:650;letter-spacing:.02em}
.ca-parish-public-main{width:min(1180px,calc(100% - 40px));margin:0 auto;flex:1}
.ca-parish-public-profile{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:72px;align-items:center;padding:72px 0 82px}
.ca-parish-public-photo-wrap{display:grid;place-items:center}
.ca-parish-public-photo{width:min(360px,82vw);aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid rgba(157,121,54,.28);background:linear-gradient(145deg,#f7f1e2,#fffdf8);box-shadow:0 26px 70px rgba(7,23,39,.12);position:relative}
.ca-parish-public-photo::after{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.52);border-radius:50%;pointer-events:none}
.ca-parish-public-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ca-parish-public-photo img.ca-parish-public-photo-fallback{object-fit:contain;padding:22%;background:#f4efe1}
.ca-parish-public-info{max-width:620px}
.ca-parish-public-info-block{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid rgba(11,32,53,.1)}
.ca-parish-public-info-block:last-of-type{margin-bottom:24px}
.ca-parish-public-label{display:block;margin-bottom:9px;color:#9d7936;font-size:11px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.ca-parish-public-info p{margin:0;color:#3f4f5f;font-size:1.05rem;line-height:1.75}
.ca-parish-public-about .ca-sf-public-description{color:#3f4f5f;font-size:1.05rem;line-height:1.75}
.ca-parish-public-website{border:1px solid rgba(11,32,53,.22);color:#0b2035;background:transparent;text-decoration:none}
.ca-parish-public-website:hover{background:#f5ecd3;border-color:#9d7936}
.ca-parish-public-support{margin:6px 0 86px;border-radius:30px;background:linear-gradient(145deg,#0b2035,#163653);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:58px;align-items:center;padding:58px 64px;box-shadow:0 24px 70px rgba(7,23,39,.15);position:relative;overflow:hidden}
.ca-parish-public-support::after{content:"";position:absolute;width:330px;height:330px;right:-130px;top:-180px;border:1px solid rgba(215,183,96,.19);border-radius:50%;pointer-events:none}
.ca-parish-public-rule{display:block;width:88px;height:3px;border-radius:999px;background:#d7b760;margin-bottom:22px}
.ca-parish-public-support h2{margin:0 0 17px;color:#fff;font-family:var(--serif,Georgia,serif);font-size:clamp(1.65rem,2.4vw,2.25rem);font-weight:500}
.ca-parish-public-support-copy>p{max-width:720px;margin:0 0 26px;color:rgba(255,255,255,.77);font-size:1.04rem;line-height:1.75}
.ca-parish-public-support .button-primary{background:#d8bf86;border-color:#d8bf86;color:#0b2035;text-decoration:none}
.ca-parish-public-support .button-primary:hover{background:#ead8ae;border-color:#ead8ae}
.ca-parish-public-source-note{margin-top:20px!important;margin-bottom:0!important;color:rgba(255,255,255,.56)!important;font-size:.82rem!important;line-height:1.55!important}
.ca-parish-public-qr-card{position:relative;z-index:1;justify-self:end;width:230px;padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.08);text-align:center;backdrop-filter:blur(3px)}
.ca-parish-public-qr-card>span{display:block;margin-bottom:15px;color:#ead8ae;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ca-parish-public-qr-card .ca-pay-qr-wrap{margin:0;display:flex;justify-content:center}
.ca-parish-public-qr-card .ca-pay-qr{background:#fff;border-radius:16px;padding:12px;overflow:hidden}
.ca-parish-public-footer{margin-top:auto;background:#0b2035;color:rgba(255,255,255,.68);padding:34px 24px 28px;text-align:center}
.ca-parish-public-footer nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 22px;margin-bottom:18px}
.ca-parish-public-footer a{color:rgba(255,255,255,.78);font-size:.84rem;text-decoration:none}
.ca-parish-public-footer a:hover,.ca-parish-public-footer a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px;outline:none}
.ca-parish-public-footer p{margin:0;color:rgba(255,255,255,.48);font-size:.76rem;letter-spacing:.03em}
@media(max-width:900px){
 .ca-parish-public-profile{grid-template-columns:1fr;gap:44px;padding:56px 0 66px}
 .ca-parish-public-info{max-width:720px;margin:0 auto;width:100%}
 .ca-parish-public-support{grid-template-columns:1fr;gap:36px;padding:46px 38px}
 .ca-parish-public-qr-card{justify-self:start}
}
@media(max-width:620px){
 .ca-parish-public-topbar{width:calc(100% - 24px);min-height:78px;gap:12px}
 .ca-parish-public-brand img{width:min(205px,55vw)}
 .ca-parish-public-languages{gap:4px}
 .ca-parish-public-languages a{min-width:38px;height:34px;padding:0 7px}
 .ca-parish-public-languages a small{display:none}
 .ca-parish-public-heading{width:calc(100% - 28px);padding:28px 0 38px}
 .ca-parish-public-main{width:calc(100% - 28px)}
 .ca-parish-public-profile{padding:44px 0 56px;gap:34px}
 .ca-parish-public-photo{width:min(300px,78vw)}
 .ca-parish-public-info p,.ca-parish-public-about .ca-sf-public-description{font-size:1rem}
 .ca-parish-public-support{margin-bottom:58px;border-radius:22px;padding:36px 24px}
 .ca-parish-public-support .button{width:100%}
 .ca-parish-public-qr-card{justify-self:center;width:min(230px,100%)}
 .ca-parish-public-footer{padding-inline:18px}
}


/* RC10W13 — compact public parish first screen. */
@media(min-width:861px){
 .ca-parish-public-topbar{min-height:66px}
 .ca-parish-public-brand img{width:230px;max-height:none;object-fit:contain}
 .ca-parish-public-languages{gap:5px}
 .ca-parish-public-languages a{min-width:38px;height:32px;padding:0 8px;font-size:16px}
 .ca-parish-public-languages a small{font-size:9px}
 .ca-parish-public-heading{padding:18px 0 22px}
 .ca-parish-public-heading h1{font-size:clamp(1.45rem,2.15vw,2rem)}
 .ca-parish-public-heading p{margin-top:7px;font-size:.88rem}
 .ca-parish-public-profile{grid-template-columns:minmax(250px,.82fr) minmax(360px,1.18fr);gap:54px;padding:30px 0 38px}
 .ca-parish-public-photo{width:min(270px,29vw)}
 .ca-parish-public-photo::after{inset:10px}
 .ca-parish-public-info-block{padding-bottom:16px;margin-bottom:16px}
 .ca-parish-public-info-block:last-of-type{margin-bottom:16px}
 .ca-parish-public-label{margin-bottom:6px;font-size:10px}
 .ca-parish-public-info p,.ca-parish-public-about .ca-sf-public-description{font-size:.97rem;line-height:1.55}
 .ca-parish-public-website{min-height:42px;padding:10px 17px;font-size:13px}
 .ca-parish-public-support{margin:0 0 60px;grid-template-columns:minmax(0,1fr) 205px;gap:42px;padding:38px 48px;border-radius:26px}
 .ca-parish-public-support h2{font-size:clamp(1.45rem,2vw,1.9rem);margin-bottom:12px}
 .ca-parish-public-support-copy>p{margin-bottom:18px;font-size:.96rem;line-height:1.6}
 .ca-parish-public-rule{width:72px;margin-bottom:16px}
 .ca-parish-public-source-note{margin-top:14px!important;font-size:.76rem!important}
 .ca-parish-public-qr-card{width:190px;padding:16px;border-radius:20px}
 .ca-parish-public-qr-card>span{margin-bottom:10px;font-size:9px}
 .ca-parish-public-qr-card .ca-pay-qr{padding:9px;border-radius:12px}
}
@media(min-width:861px) and (max-height:820px){
 .ca-parish-public-topbar{min-height:58px}
 .ca-parish-public-brand img{width:205px;max-height:none}
 .ca-parish-public-heading{padding:12px 0 16px}
 .ca-parish-public-profile{padding:20px 0 28px}
 .ca-parish-public-photo{width:min(235px,27vw)}
 .ca-parish-public-info-block{padding-bottom:12px;margin-bottom:12px}
 .ca-parish-public-support{padding-top:32px;padding-bottom:32px}
}

/* RC10W14 — tighten the public parish first screen and use the full QR column. */
@media(min-width:861px){
 .ca-parish-public-topbar{min-height:54px}
 .ca-parish-public-brand img{width:210px;max-height:none}
 .ca-parish-public-heading{padding:9px 0 11px}
 .ca-parish-public-heading h1{font-size:clamp(1.35rem,1.9vw,1.78rem);line-height:1.05}
 .ca-parish-public-heading p{margin-top:5px;font-size:.82rem}
 .ca-parish-public-profile{grid-template-columns:minmax(245px,.82fr) minmax(360px,1.18fr);gap:48px;padding:18px 0 24px}
 .ca-parish-public-photo{width:min(250px,26vw)}
 .ca-parish-public-info-block{padding-bottom:11px;margin-bottom:11px}
 .ca-parish-public-info-block:last-of-type{margin-bottom:11px}
 .ca-parish-public-label{margin-bottom:4px}
 .ca-parish-public-info p,.ca-parish-public-about .ca-sf-public-description{font-size:.94rem;line-height:1.48}
 .ca-parish-public-support{grid-template-columns:minmax(0,1fr) 300px;gap:34px;padding:0 0 0 46px;align-items:stretch;min-height:258px}
 .ca-parish-public-support-copy{padding:30px 0 28px;align-self:center}
 .ca-parish-public-qr-card{justify-self:stretch;align-self:stretch;width:100%;min-height:100%;padding:22px 24px;border:0;border-left:1px solid rgba(255,255,255,.14);border-radius:0;background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:none}
 .ca-parish-public-qr-card>span{margin-bottom:12px;font-size:9px}
 .ca-parish-public-qr-card .ca-pay-qr{padding:10px;border-radius:13px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:150px!important;height:150px!important;max-width:150px!important}
}
@media(min-width:861px) and (max-height:820px){
 .ca-parish-public-topbar{min-height:50px}
 .ca-parish-public-brand img{width:196px;max-height:none}
 .ca-parish-public-heading{padding:6px 0 9px}
 .ca-parish-public-profile{padding:14px 0 20px}
 .ca-parish-public-photo{width:min(228px,25vw)}
 .ca-parish-public-support{min-height:242px}
 .ca-parish-public-support-copy{padding-top:26px;padding-bottom:24px}
}


/* RC10W15 — move parish title into the right profile column, narrow photo column, enlarge QR. */
.ca-parish-public-info-heading{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid rgba(11,32,53,.1)}
.ca-parish-public-info-heading h1{margin:0;font-family:var(--serif,Georgia,serif);font-size:clamp(1.55rem,2.35vw,2.18rem);font-weight:500;line-height:1.08;letter-spacing:-.025em;color:#0b2035;overflow-wrap:anywhere}
.ca-parish-public-info-heading p{margin:7px 0 0;color:#687582;font-size:.86rem;font-weight:650;letter-spacing:.02em}
@media(min-width:861px){
 .ca-parish-public-header{border-bottom:1px solid rgba(11,32,53,.08)}
 .ca-parish-public-profile{grid-template-columns:minmax(185px,.48fr) minmax(0,1.52fr);gap:44px;padding:22px 0 26px;align-items:center}
 .ca-parish-public-photo-wrap{justify-items:start}
 .ca-parish-public-photo{width:min(220px,20vw)}
 .ca-parish-public-info{max-width:none}
 .ca-parish-public-info-heading{padding-bottom:12px;margin-bottom:12px}
 .ca-parish-public-info-heading h1{font-size:clamp(1.55rem,2.15vw,2.05rem)}
 .ca-parish-public-info-heading p{margin-top:5px;font-size:.82rem}
 .ca-parish-public-support{grid-template-columns:minmax(0,1fr) 330px}
 .ca-parish-public-qr-card{padding:18px 24px}
 .ca-parish-public-qr-card .ca-pay-qr{padding:11px;border-radius:14px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:200px!important;height:200px!important;max-width:200px!important}
}
@media(min-width:861px) and (max-height:820px){
 .ca-parish-public-profile{grid-template-columns:minmax(170px,.44fr) minmax(0,1.56fr);gap:38px;padding:16px 0 20px}
 .ca-parish-public-photo{width:min(195px,18vw)}
 .ca-parish-public-info-heading{padding-bottom:9px;margin-bottom:9px}
 .ca-parish-public-info-heading h1{font-size:clamp(1.4rem,1.9vw,1.82rem)}
 .ca-parish-public-support{min-height:252px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:190px!important;height:190px!important;max-width:190px!important}
}
@media(max-width:860px){
 .ca-parish-public-info-heading{text-align:center;margin-bottom:20px;padding-bottom:18px}
 .ca-parish-public-info-heading h1{font-size:clamp(1.55rem,5vw,2.15rem)}
 .ca-parish-public-info-heading p{font-size:.9rem}
}
@media(max-width:620px){
 .ca-parish-public-info-heading{margin-bottom:16px;padding-bottom:14px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:190px!important;height:190px!important;max-width:190px!important}
}

/* RC10W16 — strengthen QR prompt and tighten parish About spacing. */
.ca-parish-public-about .ca-sf-public-description{margin:2px 0 0!important}
@media(min-width:861px){
 .ca-parish-public-support{grid-template-columns:minmax(0,1fr) 365px}
 .ca-parish-public-qr-card{padding:20px 26px}
 .ca-parish-public-qr-card>span{margin-bottom:15px;font-size:15px;line-height:1.25;font-weight:850;letter-spacing:.075em;text-transform:uppercase;color:#f0d99f}
 .ca-parish-public-qr-card .ca-pay-qr{padding:12px;border-radius:15px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:235px!important;height:235px!important;max-width:235px!important}
}
@media(min-width:861px) and (max-height:820px){
 .ca-parish-public-support{grid-template-columns:minmax(0,1fr) 340px;min-height:268px}
 .ca-parish-public-qr-card>span{font-size:14px;margin-bottom:12px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:215px!important;height:215px!important;max-width:215px!important}
}
@media(max-width:860px){
 .ca-parish-public-qr-card>span{font-size:14px;line-height:1.25;letter-spacing:.06em}
 .ca-parish-public-about .ca-sf-public-description{margin-top:2px!important}
}
@media(max-width:620px){
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:205px!important;height:205px!important;max-width:205px!important}
}

/* RC10W17 — title truly lives beside the photo; tighter profile proportions. */
@media(min-width:861px){
 .ca-parish-public-topbar{min-height:58px}
 .ca-parish-public-brand img{width:238px;max-height:none;object-fit:contain}
 .ca-parish-public-profile{grid-template-columns:minmax(200px,.38fr) minmax(0,1.62fr);gap:36px;padding:18px 0 24px;align-items:start}
 .ca-parish-public-photo-wrap{align-self:start;justify-items:start;padding-top:2px}
 .ca-parish-public-photo{width:min(210px,18vw)}
 .ca-parish-public-info{align-self:start}
 .ca-parish-public-info-heading{padding:0 0 10px;margin:0 0 10px;text-align:left}
 .ca-parish-public-info-heading h1{font-size:clamp(1.55rem,2.05vw,1.98rem);line-height:1.08}
 .ca-parish-public-info-heading p{margin-top:5px;font-size:.82rem}
 .ca-parish-public-info-block{padding-bottom:10px;margin-bottom:10px}
 .ca-parish-public-support{grid-template-columns:minmax(0,1fr) 390px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:260px!important;height:260px!important;max-width:260px!important}
}
@media(min-width:861px) and (max-height:820px){
 .ca-parish-public-topbar{min-height:54px}
 .ca-parish-public-brand img{width:228px;max-height:none}
 .ca-parish-public-profile{grid-template-columns:minmax(185px,.36fr) minmax(0,1.64fr);gap:32px;padding:14px 0 20px}
 .ca-parish-public-photo{width:min(195px,17vw)}
 .ca-parish-public-support{grid-template-columns:minmax(0,1fr) 365px}
 .ca-parish-public-qr-card .ca-pay-qr canvas,.ca-parish-public-qr-card .ca-pay-qr svg{width:238px!important;height:238px!important;max-width:238px!important}
}

/* RC10W45 — on phones the parish QR panel uses the full support-card width. */
@media(max-width:620px){
 .ca-parish-public-qr-card{justify-self:stretch;width:100%;padding:22px 18px}
}

/* RC10W53 — standard-site parish access finder. */
.ca-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ca-connect-parish-page{background:var(--paper,#fffdf8)}
.ca-connect-parish-hero .ca-hero-grid{min-height:240px}
.ca-connect-parish-search-section{padding-top:72px;padding-bottom:88px}
.ca-connect-parish-hero .ca-hero-mark img{width:min(235px,24vw);height:auto}
.ca-s1b-connect-panel{width:min(920px,100%);margin:0 auto;padding:46px 48px;background:#fff;border:1px solid rgba(11,32,53,.14);border-radius:28px;box-shadow:0 22px 60px rgba(7,23,39,.08)}
.ca-s1b-connect-head{text-align:center;max-width:720px;margin:0 auto 30px}
.ca-s1b-connect-head h2{margin:0 0 12px;font-family:var(--serif,Georgia,serif);font-size:clamp(1.8rem,3vw,2.45rem);font-weight:500;color:#0b2035}
.ca-s1b-connect-head p{margin:0;color:#687582;line-height:1.65}
.ca-s1b-connect-form{margin:0}
.ca-s1b-connect-form input[type=search]{box-sizing:border-box;width:100%;height:58px;border:1px solid #b9c6d1;border-radius:12px;padding:0 18px;font:inherit;font-size:1.03rem;color:#172d45;background:#fff;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.ca-s1b-connect-form input[type=search]:focus{border-color:#9d7936;box-shadow:0 0 0 3px rgba(157,121,54,.12)}
.ca-s1b-connect-hint{margin:9px 2px 0;color:#687582;font-size:.88rem;line-height:1.5}
.ca-s1b-connect-live{margin-top:22px}
.ca-s1b-connect-results{display:grid;gap:12px}
.ca-s1b-connect-result{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid rgba(11,32,53,.12);border-radius:16px;background:#fffdf8}
.ca-s1b-connect-result h3{margin:0 0 5px;font-family:var(--sans,Arial,sans-serif);font-size:1.02rem;line-height:1.35;color:#0b2035}
.ca-s1b-connect-result p{margin:0;color:#687582;font-size:.9rem;line-height:1.45}
.ca-s1b-connect-result .button{flex:0 0 auto;text-decoration:none;white-space:nowrap}
.ca-s1b-connect-empty{text-align:center;padding:22px 10px 4px}
.ca-s1b-connect-empty p{margin:0 0 18px;color:#687582;line-height:1.6}
.ca-s1b-connect-empty .button{display:inline-flex}
.ca-s1b-connect-panel .ca-s1b-notice{padding:14px 16px;margin:0 0 24px;border:1px solid #a7bdcb;border-left:4px solid #315976;border-radius:10px;background:#f1f6f9;color:#172d45}
.ca-s1b-connect-loading{padding:12px 0;text-align:center;color:#687582;font-size:.9rem}
@media(max-width:860px){.ca-connect-parish-hero .ca-hero-grid{min-height:0}.ca-connect-parish-search-section{padding-top:52px;padding-bottom:64px}.ca-s1b-connect-panel{padding:34px 28px;border-radius:22px}.ca-s1b-connect-result{align-items:flex-start;flex-direction:column}.ca-s1b-connect-result .button{width:100%;justify-content:center}}
@media(max-width:560px){.ca-s1b-connect-panel{padding:28px 20px}.ca-s1b-connect-form input[type=search]{height:54px;font-size:1rem}.ca-s1b-connect-head{margin-bottom:24px}}

/* RC10W96 — claim parish role/blessing refinement */
.ca-s1b-claim-blessing{margin:20px 0;padding:18px;border:1px solid rgba(17,33,53,.15);border-radius:14px;background:rgba(158,122,53,.06)}
.ca-s1b-claim-blessing legend{padding:0 8px;font-weight:700;color:#112135;font-size:.95rem}
.ca-s1b-claim-blessing[hidden],.ca-s1b-field[hidden]{display:none!important}


/* RC10W123 — parish onboarding continuity, validation and CAPTCHA presentation. */
.ca-parish-onboarding-page{background:var(--paper,#fffdf8)}
.ca-parish-onboarding-hero .ca-hero-grid{min-height:240px}
.ca-parish-onboarding-hero .ca-hero-mark img{width:min(220px,23vw);height:auto}
.ca-parish-onboarding-section{padding-top:48px;padding-bottom:84px}
.ca-s1b-onboarding-panel{width:min(940px,100%);margin:0 auto;padding:40px 44px;background:#fff;border:1px solid rgba(11,32,53,.14);border-radius:26px;box-shadow:0 22px 60px rgba(7,23,39,.08)}
.ca-s1b-selected-parish{margin:-8px 0 30px;padding:22px 24px;border:1px solid rgba(11,32,53,.12);border-left:4px solid #9d7936;border-radius:15px;background:#fffdf8}
.ca-s1b-selected-parish .ca-s1b-selected-label{margin:0 0 5px;color:#8a6b30;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ca-s1b-selected-parish h2{margin:0 0 5px;font-family:var(--serif,Georgia,serif);font-size:clamp(1.45rem,2.5vw,2rem);font-weight:500;color:#0b2035}
.ca-s1b-selected-parish p:last-child{margin:0;color:#687582}
.ca-s1b-registration-note{margin:0 0 24px;padding:15px 18px;border-radius:12px;background:#f3f7fa;color:#39516a;border:1px solid rgba(49,89,118,.16)}
.ca-s1b-registration-note p{margin:0}
.ca-s1b-duplicate-review{margin-bottom:26px}
.ca-s1b-onboarding-form{margin:0}
.ca-s1b-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.ca-s1b-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.ca-s1b-field label,.ca-s1b-captcha-label{font-weight:700;color:#172d45;line-height:1.35}
.ca-s1b-field input,.ca-s1b-field select,.ca-s1b-field textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #b9c6d1;border-radius:10px;padding:12px 13px;background:#fff;color:#172d45;font:inherit;line-height:1.35;transition:border-color .18s ease,box-shadow .18s ease}
.ca-s1b-field input,.ca-s1b-field select{min-height:48px}
.ca-s1b-field textarea{resize:vertical;min-height:108px}
.ca-s1b-field input:focus,.ca-s1b-field select:focus,.ca-s1b-field textarea:focus{outline:none;border-color:#9d7936;box-shadow:0 0 0 3px rgba(157,121,54,.12)}
.ca-s1b-field input[readonly]{background:#f2f4f6;color:#5f6c79}
.ca-s1b-field.ca-s1b-wide,.ca-s1b-claim-blessing{grid-column:1/-1}
.ca-s1b-required{display:inline-block;margin-left:4px;color:#a3382b;font-weight:900}
.ca-s1b-consents{margin:28px 0 18px;padding-top:22px;border-top:1px solid rgba(11,32,53,.12)}
.ca-s1b-check{display:flex;align-items:flex-start;gap:11px;margin:12px 0;color:#26394e;line-height:1.5}
.ca-s1b-check input{flex:0 0 auto;width:19px;height:19px;margin:3px 0 0;accent-color:#173e61}
.ca-s1b-check a{color:#0067d8;font-weight:700;text-underline-offset:3px}
.ca-s1b-privacy-link{margin:18px 0}
.ca-s1b-recaptcha{margin:22px 0 24px}
.ca-s1b-captcha-label{margin:0 0 10px}
.ca-s1b-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.ca-s1b-form-actions .button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;text-decoration:none}
.ca-s1b-onboarding-panel .ca-s1b-notice{padding:14px 16px;margin:0 0 24px;border:1px solid #a7bdcb;border-left:4px solid #315976;border-radius:10px;background:#f1f6f9;color:#172d45}
.ca-s1b-onboarding-panel .ca-s1b-notice.ca-s1b-error{border-color:#d0a09b;border-left-color:#a3382b;background:#fff4f2;color:#742a23}
.ca-s1b-onboarding-panel .ca-s1b-results{margin:16px 0 22px}
.ca-s1b-onboarding-form .ca-s1b-claim-blessing{margin:0;padding:18px;border:1px solid rgba(17,33,53,.15);border-radius:14px;background:rgba(158,122,53,.06)}
.ca-s1b-onboarding-form .ca-s1b-claim-blessing legend{padding:0 8px;font-weight:700;color:#112135;font-size:.95rem}
@media(max-width:860px){.ca-parish-onboarding-hero .ca-hero-grid{min-height:0}.ca-parish-onboarding-section{padding-top:38px;padding-bottom:62px}.ca-s1b-onboarding-panel{padding:32px 28px;border-radius:22px}.ca-s1b-form-grid{grid-template-columns:1fr}.ca-s1b-field.ca-s1b-wide,.ca-s1b-claim-blessing{grid-column:auto}}
@media(max-width:560px){.ca-s1b-onboarding-panel{padding:26px 18px}.ca-s1b-selected-parish{padding:18px}.ca-s1b-form-actions{display:grid}.ca-s1b-form-actions .button{width:100%}}
@media(max-width:360px){.ca-s1b-recaptcha{overflow:hidden}.ca-s1b-recaptcha .g-recaptcha{transform:scale(.86);transform-origin:left top;width:354px;margin-bottom:-10px}}

/* RC10W125 — truly compact parish onboarding heroes.
   W123 lowered min-height but inherited the global 90px vertical padding and
   the hero mark's 420px minimum height. These route-scoped overrides remove
   those two constraints without changing the shared site hero elsewhere. */
.ca-connect-parish-hero .ca-hero-grid,
.ca-parish-onboarding-hero .ca-hero-grid{
 min-height:0;
 padding-block:36px;
 grid-template-columns:minmax(0,1fr) 150px;
 gap:36px;
}
.ca-connect-parish-hero .ca-hero-mark,
.ca-parish-onboarding-hero .ca-hero-mark{min-height:0}
.ca-connect-parish-hero .ca-hero-mark img,
.ca-parish-onboarding-hero .ca-hero-mark img{width:138px;max-width:100%;height:auto}
.ca-connect-parish-hero .ca-eyebrow,
.ca-parish-onboarding-hero .ca-eyebrow{margin-bottom:8px}
.ca-connect-parish-hero h1,
.ca-parish-onboarding-hero h1{margin-bottom:12px}
.ca-connect-parish-hero .ca-lead p,
.ca-parish-onboarding-hero .ca-lead p{margin-bottom:0}
@media(max-width:860px){
 .ca-connect-parish-hero .ca-hero-grid,
 .ca-parish-onboarding-hero .ca-hero-grid{padding-block:34px;grid-template-columns:1fr;gap:0}
}
@media(max-width:560px){
 .ca-connect-parish-hero .ca-hero-grid,
 .ca-parish-onboarding-hero .ca-hero-grid{padding-block:28px}
 .ca-connect-parish-hero h1,
 .ca-parish-onboarding-hero h1{margin-bottom:10px}
}
