:root {
  --primary: #123A63;
  --secondary: #275D8C;
  --accent: #C6A15B;
  --background: #F5F7FA;
  --surface: #FFFFFF;
  --text: #172A3A;
  --muted: #617386;
  --header-bg: #092640;
  --header-text: #FAFCFE;
  --footer-bg: #071C2E;
  --footer-text: #FAFCFE;
  --radius: 10px;
  --button-radius: 10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--text);font-family:'Open Sans', Arial, Helvetica, sans-serif;font-size:17px;line-height:1.7}
a{color:var(--secondary)}
img{max-width:100%}
h1,h2,h3,h4,h5,h6{font-family:'Arial', Georgia, 'Times New Roman', serif;line-height:1.2;color:var(--primary);margin-top:1.4em}
h1{font-size:clamp(2.15rem,5vw,4rem)} h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.site-header{background:var(--header-bg);color:var(--header-text);z-index:50;box-shadow:0 2px 18px rgba(0,0,0,.12)}
.site-header.sticky{position:sticky;top:0}
.header-inner{max-width:1180px;min-height:84px;margin:auto;padding:10px 24px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:13px;color:var(--header-text);text-decoration:none;margin-right:auto}
.brand-logo{display:block;max-width:190px;max-height:60px;object-fit:contain}
.brand-logo-generated{width:25px;height:32px;max-width:25px;max-height:32px;flex:0 0 auto}
.brand-mark{width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--header-bg);display:grid;place-items:center;font-weight:800;font-size:1.3rem}
.brand-name{font-family:'Arial', Georgia, 'Times New Roman', serif;font-size:1.38rem;font-weight:700;line-height:1.1;white-space:nowrap}
.brand-tagline{opacity:.8;font-size:.78rem;margin-top:4px}
.site-nav>ul{display:flex;align-items:center;gap:4px;list-style:none;padding:0;margin:0}
.site-nav ul{list-style:none}
.site-nav a{display:block;color:var(--header-text);text-decoration:none;padding:10px 12px;border-radius:8px;font-size:.93rem}
.site-nav a:hover{background:rgba(255,255,255,.1)}
.site-nav li{position:relative}
.site-nav li>ul{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:8px;background:var(--header-bg);box-shadow:0 12px 28px rgba(0,0,0,.2);border-radius:0 0 8px 8px}
.site-nav li:hover>ul{display:block}
.site-nav li>ul li>ul{top:0;left:100%}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.25);color:var(--header-text);font-size:1.45rem;border-radius:8px;padding:5px 10px}
.hero{display:grid;place-items:center;min-height:330px;padding:52px 24px;text-align:center}
.hero-image{position:relative;display:flex;align-items:flex-end;justify-content:stretch;min-height:440px;padding:0;background-size:cover;background-position:center;color:#fff;overflow:hidden;transition:min-height .62s cubic-bezier(.22,.61,.36,1)}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 48%,rgba(0,0,0,.12));pointer-events:none;opacity:1;transition:opacity .45s ease}
.hero-banner{position:relative;z-index:2;width:100%;min-height:34px;padding:4px max(24px,calc((100vw - 1180px)/2 + 24px));display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;background:rgba(10,20,30,.56);border-top:1px solid rgba(255,255,255,.16);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);transition:background .45s ease,min-height .45s ease,padding .45s ease}
.hero-image.is-collapsed{min-height:38px}
.hero-image.is-collapsed::after{opacity:0}
.hero-image.is-collapsed .hero-banner{min-height:38px;padding-top:4px;padding-bottom:4px;background:var(--primary)}
.hero-colour{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}
.hero-minimal{min-height:190px;background:var(--surface)}
.hero h1{display:inline;margin:0;color:inherit;text-shadow:0 2px 18px rgba(0,0,0,.2);font-size:clamp(1.05rem,2vw,1.38rem);font-weight:800}
.hero-tagline{display:inline;margin-left:12px;font-size:.9rem;font-weight:400;opacity:.9}
.hero-inner{max-width:900px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:none;transition:background .22s ease,transform .22s ease,border-color .22s ease}
.hero-toggle:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.7);transform:translateY(-1px)}
.hero-toggle-icon{font-size:.82rem;line-height:1}
.hero-title-entrance{animation:pcHeroTitleIn .72s cubic-bezier(.2,.8,.2,1) both}
.hero-toggle-entrance{animation:pcHeroButtonIn .8s ease .24s both}
@keyframes pcHeroTitleIn{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:translateX(0)}}
@keyframes pcHeroButtonIn{from{opacity:0}to{opacity:1}}
.page-shell{max-width:1080px;margin:0 auto;padding:42px 24px 72px}
.content-card{background:var(--surface);border-radius:var(--radius);padding:clamp(26px,5vw,60px);box-shadow:0 8px 36px rgba(28,45,60,.08);min-height:260px}
.content-card>:first-child{margin-top:0} .content-card>:last-child{margin-bottom:0}
.content-card table{width:100%;border-collapse:collapse} .content-card th,.content-card td{padding:10px;border-bottom:1px solid #ddd;text-align:left}
.content-card blockquote{border-left:4px solid var(--accent);margin:1.5rem 0;padding:.5rem 1.25rem;color:var(--muted)}
button,.button,.btn{border:0;border-radius:var(--button-radius);background:var(--primary);color:#fff;padding:10px 18px;text-decoration:none;display:inline-block}
.site-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--footer-bg);color:var(--footer-text);padding:54px 24px 20px}
.footer-inner{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:20px;opacity:.94}

.component-grid{display:grid;gap:22px;margin:28px 0}
.component-grid-1{grid-template-columns:1fr}
.component-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.component-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.component-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.component-card{background:var(--surface);border:1px solid rgba(101,115,131,.18);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 22px rgba(28,45,60,.07);display:flex;flex-direction:column}
.component-image{height:220px;background:linear-gradient(135deg,var(--primary),var(--secondary));display:grid;place-items:center;color:#fff;font-family:'Arial', Georgia, 'Times New Roman', serif;font-size:2rem;font-weight:700;overflow:hidden}
.component-image img{width:100%;height:100%;object-fit:cover;display:block}
.component-image-placeholder{letter-spacing:.08em}
.component-card-body{padding:22px}
.component-title{font-size:1.25rem;margin:0 0 5px;color:var(--primary)}
.component-kicker{color:var(--muted);font-weight:700;margin-bottom:14px;font-size:.92rem}
.component-detail{display:flex;gap:8px;align-items:flex-start;margin:8px 0;font-size:.94rem;overflow-wrap:anywhere}
.component-detail a{text-decoration:none} .component-detail a:hover{text-decoration:underline}
.component-muted,.component-description,.component-meta{color:var(--muted)}
.component-description{font-size:.94rem;margin:14px 0 0}
.rich-description>:first-child{margin-top:0} .rich-description>:last-child{margin-bottom:0}
.component-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.component-button{border-radius:var(--button-radius);background:var(--primary);color:#fff!important;padding:8px 14px;text-decoration:none!important;display:inline-block;font-size:.9rem;font-weight:700}
.component-button-secondary{background:var(--secondary)}
.mass-time-list{display:grid;gap:20px;margin:28px 0}
.mass-time-block{border:1px solid rgba(101,115,131,.18);border-left:5px solid var(--accent);border-radius:var(--radius);padding:22px 24px;background:var(--surface);box-shadow:0 6px 22px rgba(28,45,60,.05)}
.mass-time-block h3{margin:0 0 8px}
.mass-time-content>:first-child{margin-top:10px} .mass-time-content>:last-child{margin-bottom:0}
.pc-service-groups,.pc-directory-list{display:grid;gap:22px;margin:28px 0}
.pc-service-group,.pc-directory-item{border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-left:5px solid var(--primary);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 22px rgba(28,45,60,.06);overflow:hidden}
.pc-service-church-title{margin:0;padding:18px 24px;background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary);font-size:1.42rem;border-bottom:1px solid color-mix(in srgb,var(--primary) 18%,transparent)}
.pc-service-list{padding:4px 24px 18px}.pc-service-row{padding:17px 0;border-bottom:1px solid rgba(101,115,131,.16)}.pc-service-row:last-child{border-bottom:0}.pc-service-row h3{margin:0 0 7px;font-size:1.08rem;color:var(--text)}.pc-service-content>:first-child{margin-top:0}.pc-service-content>:last-child{margin-bottom:0}
.pc-directory-item{display:flex;align-items:stretch}.pc-directory-main{padding:22px 24px;flex:1;min-width:0}.pc-directory-main h3{margin:0 0 5px;color:var(--primary);font-size:1.28rem}.pc-directory-subtitle{font-weight:700;color:var(--muted);margin-bottom:12px}.pc-directory-thumb{width:190px;min-height:150px;object-fit:cover;display:block}.pc-directory-details{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:.94rem}.pc-directory-details span{overflow-wrap:anywhere}.pc-directory-description{color:var(--muted);margin-top:12px}.pc-directory-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pc-action-button{appearance:none;border:0;border-radius:var(--button-radius);background:var(--primary);color:#fff!important;padding:10px 16px;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:.9rem;font-weight:750;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.pc-action-button:not(.pc-action-disabled):hover{transform:translateY(-2px);box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 28%,transparent);filter:brightness(1.07)}.pc-action-disabled{background:#aeb5bc!important;color:#eef0f2!important;cursor:not-allowed;box-shadow:none;opacity:.8}
body.modal-open{overflow:hidden}.pc-modal{display:flex;position:fixed;inset:0;z-index:9999;padding:24px;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .34s ease,visibility .34s ease}.pc-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.pc-modal-backdrop{position:absolute;inset:0;background:rgba(10,18,28,.68);backdrop-filter:blur(4px);opacity:0;transition:opacity .34s ease}.pc-modal.is-open .pc-modal-backdrop{opacity:1}.pc-modal-panel{position:relative;z-index:1;width:min(760px,96vw);max-height:86vh;overflow:auto;background:var(--surface);border-radius:calc(var(--radius) + 4px);box-shadow:0 24px 80px rgba(0,0,0,.32);border-top:6px solid var(--primary);opacity:0;transform:translateY(16px) scale(.985);transition:opacity .34s ease,transform .34s cubic-bezier(.2,.8,.2,1)}.pc-modal.is-open .pc-modal-panel{opacity:1;transform:translateY(0) scale(1)}.pc-modal-heading{padding:28px 32px 18px;border-bottom:1px solid rgba(101,115,131,.16)}.pc-modal-heading h2{margin:3px 0 0;font-size:1.7rem}.pc-modal-eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:.74rem;font-weight:800;color:var(--primary)}.pc-modal-content{padding:6px 32px 28px}.pc-modal-close{position:absolute;right:15px;top:13px;width:38px;height:38px;padding:0;border-radius:50%;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary);font-size:1.6rem;line-height:1;cursor:pointer}.pc-modal-close:hover{background:var(--primary);color:#fff}
.pc-map-panel{width:min(880px,96vw);overflow:hidden}.pc-map-address{margin:8px 48px 0 0;color:var(--muted)}.pc-map-frame-wrap{height:min(54vh,480px);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.pc-map-frame{display:block;width:100%;height:100%;border:0}.pc-map-footer{padding:18px 24px;display:flex;justify-content:flex-end;background:var(--surface)}
.pc-home-contact{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);gap:34px;align-items:center;margin:0 0 28px;padding:clamp(28px,5vw,52px);border-radius:calc(var(--radius) + 6px);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 11%,var(--surface)),var(--surface) 58%);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);box-shadow:0 12px 38px rgba(28,45,60,.08)}
/* Parish-level homepage opening styles. Original intentionally remains the baseline. */
.pc-home-contact--dark{grid-template-columns:minmax(300px,1.15fr) minmax(300px,.85fr);background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 78%,#08110d),color-mix(in srgb,var(--secondary) 48%,#0b1512));border-color:rgba(255,255,255,.12);box-shadow:0 18px 48px rgba(0,0,0,.18);color:#fff}.pc-home-contact--dark .pc-home-contact-copy{order:2;padding-left:8px}.pc-home-contact--dark .pc-contact-methods{order:1}.pc-home-contact--dark .pc-home-contact-eyebrow,.pc-home-contact--dark .pc-home-contact-copy h2{color:#fff}.pc-home-contact--dark .pc-home-contact-copy p{color:rgba(255,255,255,.72)}.pc-home-contact--dark .pc-contact-method{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff!important}.pc-home-contact--dark .pc-contact-method small{color:rgba(255,255,255,.62)}.pc-home-contact--dark .pc-contact-icon{background:#fff;color:var(--primary)}.pc-home-contact--dark .pc-home-contact-art{opacity:.07;filter:invert(1)}
.pc-home-contact--sharp{grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:52px;background:var(--surface);border:0;border-top:5px solid var(--primary);border-radius:2px;box-shadow:0 14px 34px rgba(28,45,60,.06);padding:clamp(30px,5vw,58px)}.pc-home-contact--sharp .pc-home-contact-art{display:none}.pc-home-contact--sharp .pc-home-contact-copy h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.pc-home-contact--sharp .pc-contact-methods{gap:0;border-top:1px solid color-mix(in srgb,var(--text) 16%,transparent)}.pc-home-contact--sharp .pc-contact-method{border:0;border-bottom:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:0;background:transparent;padding:17px 4px}.pc-home-contact--sharp a.pc-contact-method:hover,.pc-home-contact--sharp .pc-contact-map:hover{transform:none;box-shadow:none;background:color-mix(in srgb,var(--primary) 4%,transparent);padding-left:10px}.pc-home-contact--sharp .pc-contact-icon{border-radius:2px;width:38px;height:38px;flex-basis:38px}
.pc-home-contact--weird{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);background:linear-gradient(145deg,color-mix(in srgb,var(--secondary) 18%,var(--surface)),color-mix(in srgb,var(--primary) 8%,var(--surface)));border:1px solid color-mix(in srgb,var(--secondary) 34%,transparent)}.pc-home-contact--weird .pc-home-contact-art{right:-80px;top:-100px;width:650px;height:520px;opacity:.16;transform:rotate(8deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 560' fill='none' stroke='%23000000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M72 393C157 107 534 57 622 267C696 443 438 531 274 422C118 318 190 151 371 147C520 144 590 279 505 365C426 445 247 407 226 292C208 195 335 115 436 184C526 246 470 354 379 350C294 346 274 251 333 214C386 181 449 222 433 276'/%3E%3Cpath d='M31 461C170 523 326 517 454 455C554 407 626 324 678 218M105 72C190 144 274 167 361 140C460 110 536 47 627 26'/%3E%3C/svg%3E")}.pc-home-contact--weird .pc-contact-method{background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(8px)}
.pc-home-contact--holy{grid-template-columns:1fr;gap:26px;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,#f3e5ad 18%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,#c7a34b 38%,transparent);padding-top:clamp(62px,8vw,88px)}.pc-home-contact--holy:before{content:'✝';position:absolute;top:19px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-size:2.35rem;line-height:1;color:var(--primary);opacity:.92}.pc-home-contact--holy .pc-home-contact-art{left:50%;right:auto;top:-160px;transform:translateX(-50%);width:560px;height:430px;opacity:.07}.pc-home-contact--holy .pc-home-contact-copy{max-width:760px;margin:auto}.pc-home-contact--holy .pc-home-contact-eyebrow{color:#9a7a2c}.pc-home-contact--holy .pc-contact-methods{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;width:100%;margin:auto}.pc-home-contact--holy .pc-contact-method{height:100%;flex-direction:column;justify-content:center;text-align:center;padding:20px 16px}.pc-home-contact--holy .pc-contact-icon{background:color-mix(in srgb,var(--primary) 88%,#fff)}
.pc-home-contact-art{position:absolute;z-index:-1;right:-40px;top:-45px;width:430px;height:330px;opacity:.11;background-repeat:no-repeat;background-size:contain;background-position:center;transform:rotate(-3deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 380' fill='none' stroke='%23000000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M85 300V175l165-105 165 105v125M155 300V205h190v95M250 70V22M226 46h48'/%3E%3Cpath d='M202 300v-58c0-28 21-49 48-49s48 21 48 49v58M116 177c43 20 87 20 134 0 47 20 91 20 134 0'/%3E%3Ccircle cx='250' cy='137' r='18'/%3E%3Cpath d='M50 326c95-28 170-18 225 2 58 21 118 22 178-1'/%3E%3C/svg%3E")}.pc-home-contact-eyebrow{color:var(--primary);font-size:.76rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.pc-home-contact-copy h2{margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05}.pc-home-contact-copy p{margin:0;color:var(--muted);font-size:1.02rem;max-width:560px}.pc-contact-methods{display:grid;gap:10px}.pc-contact-method{appearance:none;width:100%;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text)!important;border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:14px;text-align:left;text-decoration:none!important;font:inherit;cursor:default;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}a.pc-contact-method,.pc-contact-map{cursor:pointer}a.pc-contact-method:hover,.pc-contact-map:hover{transform:translateX(4px);border-color:var(--primary);box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 13%,transparent);background:var(--surface)}
.pc-home-contact a.pc-contact-method[href^="tel:"]:hover,
.pc-home-contact a.pc-contact-method[href^="mailto:"]:hover{
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    transform:translateX(4px);
    border-color:var(--primary);
    box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 13%,transparent);
}
.pc-home-contact a.pc-contact-method[href^="tel:"]:hover *,
.pc-home-contact a.pc-contact-method[href^="mailto:"]:hover *{
    color:inherit!important;
}
.pc-contact-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:1.05rem}.pc-contact-method span:last-child{min-width:0}.pc-contact-method small{display:block;color:var(--muted);font-weight:700;margin-bottom:2px}.pc-contact-method strong{display:block;overflow-wrap:anywhere}
.pc-cluster-showcase{position:relative;isolation:isolate;overflow:hidden;margin:0 0 30px;padding:clamp(30px,5vw,58px);border-radius:calc(var(--radius) + 8px);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 92%,#07131f),color-mix(in srgb,var(--secondary) 72%,var(--primary)));color:#fff;box-shadow:0 22px 60px color-mix(in srgb,var(--primary) 24%,transparent)}
.pc-cluster-art{position:absolute;z-index:-1;inset:-30%;opacity:.12;background-image:radial-gradient(circle at 25% 35%,#fff 0 2px,transparent 3px),radial-gradient(circle at 75% 65%,#fff 0 1.5px,transparent 2.5px);background-size:58px 58px,41px 41px;transform:rotate(-7deg)}
.pc-cluster-intro{max-width:820px;margin-bottom:28px}.pc-cluster-eyebrow,.pc-section-eyebrow{font-size:.74rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.pc-cluster-eyebrow{color:rgba(255,255,255,.72)}.pc-cluster-intro h2{margin:7px 0 10px;color:#fff;font-size:clamp(2rem,4vw,3.1rem)}.pc-cluster-intro p{margin:0;color:rgba(255,255,255,.82);font-size:1.03rem;max-width:720px}.pc-cluster-parishes{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.pc-cluster-parishes a,.pc-cluster-parishes span{padding:6px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff!important;text-decoration:none!important;background:rgba(255,255,255,.08);font-size:.82rem;font-weight:700}.pc-cluster-parishes a:hover{background:rgba(255,255,255,.18)}
.pc-cluster-churches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pc-cluster-church{position:relative;padding:22px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:rgba(255,255,255,.1);backdrop-filter:blur(8px);transition:transform .22s ease,background .22s ease,border-color .22s ease}.pc-cluster-church:hover{transform:translateY(-4px);background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28)}.pc-cluster-cross{position:absolute;right:17px;top:14px;opacity:.35;font-size:1.2rem}.pc-cluster-parish{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.65);padding-right:28px}.pc-cluster-church h3{margin:7px 0 4px;color:#fff;font-size:1.25rem}.pc-cluster-church p{margin:0 0 16px;color:rgba(255,255,255,.7)}.pc-cluster-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:16px -22px -22px}.pc-cluster-action{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:0;border-top:1px solid rgba(255,255,255,.16);border-radius:0;background:transparent;font:inherit;font-size:.84rem;font-weight:800;text-align:center;text-decoration:none!important;cursor:pointer}.pc-cluster-action:last-child{border-radius:0 0 var(--radius) var(--radius)}.pc-cluster-action.is-live{background:#fff;color:var(--primary)!important;transition:filter .18s ease}.pc-cluster-action.is-live:hover{filter:brightness(.94)}.pc-cluster-action.is-disabled{background:rgba(255,255,255,.08);color:rgba(255,255,255,.45)!important;cursor:not-allowed}
.pc-readings{max-width:980px;margin:0 auto}.pc-readings-intro{text-align:left;padding:8px 2px 24px;border-bottom:1px solid color-mix(in srgb,var(--primary) 18%,transparent)}.pc-readings-intro h2{margin:5px 0 8px;font-size:clamp(1.8rem,4vw,2.8rem)}.pc-readings-date{font-weight:800;color:var(--primary)}.pc-readings-feast{margin-top:6px;color:var(--muted)}.pc-reading-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 18px;padding:6px;border-radius:999px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));width:max-content;max-width:100%}.pc-reading-tab{border:0;background:transparent;color:var(--text);padding:9px 15px;border-radius:999px;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.pc-reading-tab:hover{transform:translateY(-1px)}.pc-reading-tab.is-active{background:var(--primary);color:#fff;box-shadow:0 5px 15px color-mix(in srgb,var(--primary) 28%,transparent)}.pc-reading-panel{display:none;padding:clamp(20px,4vw,36px);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-left:5px solid var(--primary);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 30px rgba(28,45,60,.07);animation:pcReadingFade .28s ease both}.pc-reading-panel.is-active{display:block}.pc-reading-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:900;color:var(--primary);margin-bottom:7px}.pc-reading-source{font-size:.9rem;font-weight:800;color:var(--muted)}.pc-reading-panel h3{margin:8px 0 20px;font-size:1.35rem}.pc-reading-text{font-size:1.04rem;line-height:1.82}.pc-reading-text p{margin:0 0 1em}.pc-readings-credit{margin-top:20px;padding-top:15px;border-top:1px solid rgba(101,115,131,.16);font-size:.75rem;line-height:1.5;color:var(--muted)}.pc-readings-credit a{color:var(--primary);font-weight:800}@keyframes pcReadingFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.pc-newsletter-showcase{margin:0 0 30px;padding:clamp(26px,4vw,42px);border-radius:calc(var(--radius) + 6px);background:color-mix(in srgb,var(--primary) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 16%,transparent)}.pc-newsletter-label{margin-bottom:18px;color:var(--primary);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.pc-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.pc-section-heading>div{max-width:620px}.pc-section-eyebrow{color:var(--primary)}.pc-section-heading h2{margin:6px 0 0;font-size:clamp(1.7rem,3.5vw,2.45rem)}.pc-section-heading>p{margin:0;max-width:420px;color:var(--muted);font-size:.94rem}
.pc-newsletter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pc-newsletter-card{overflow:hidden;border-radius:var(--radius);background:var(--surface);border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);box-shadow:0 8px 24px rgba(28,45,60,.07)}.pc-newsletter-card[hidden]{display:none!important}.pc-newsletter-card.is-featured{grid-column:span 2;grid-row:span 2}.pc-newsletter-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.pc-newsletter-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.pc-newsletter-card:hover .pc-newsletter-image img{transform:scale(1.035)}.pc-newsletter-open{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(10,20,30,.72);color:#fff;font-size:.76rem;font-weight:800;backdrop-filter:blur(6px)}.pc-newsletter-copy{padding:16px 17px 18px}.pc-newsletter-card.is-featured .pc-newsletter-copy{padding:20px 22px 24px}.pc-newsletter-date{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--primary)}.pc-newsletter-copy h3{margin:6px 0 12px;font-size:1.12rem}.pc-newsletter-card.is-featured h3{font-size:1.55rem}.pc-newsletter-link{font-size:.86rem;font-weight:800;color:var(--primary)!important;text-decoration:none!important}.pc-newsletter-link span{display:inline-block;transition:transform .18s ease}.pc-newsletter-link:hover span{transform:translateX(4px)}.pc-newsletter-empty{padding:18px;color:var(--muted);text-align:center}
.pc-newsletter-reading-link{display:block;margin-top:9px;font-size:.84rem;font-weight:800;color:var(--secondary)!important;text-decoration:none!important}.pc-newsletter-reading-link span{display:inline-block;transition:transform .18s ease}.pc-newsletter-reading-link:hover span{transform:translateX(4px)}
.pc-home-readings{position:relative;overflow:hidden;margin:0 0 30px;padding:clamp(25px,4vw,42px);border-radius:calc(var(--radius) + 6px);background:var(--secondary);color:#fff;box-shadow:0 14px 34px color-mix(in srgb,var(--secondary) 24%,transparent)}.pc-home-readings:after{content:"";position:absolute;width:260px;height:260px;right:-70px;top:-130px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 88px rgba(255,255,255,.025)}.pc-home-readings-copy{position:relative;z-index:1;width:100%}.pc-home-readings h2{margin:0 0 18px;color:#fff;font-size:clamp(1.7rem,3.5vw,2.4rem)}.pc-home-readings-actions{position:relative;z-index:1;display:flex;gap:12px;width:100%}.pc-home-readings-actions a{display:flex;flex:1;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.10);color:#fff!important;text-decoration:none!important;font-size:.9rem;font-weight:850;backdrop-filter:blur(5px);transition:background .2s ease,transform .2s ease}.pc-home-readings-actions a:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}.pc-home-readings-actions span{transition:transform .18s ease}.pc-home-readings-actions a:hover span{transform:translateX(3px)}
.pc-footer-art{position:absolute;z-index:-1;right:-80px;bottom:-170px;width:620px;height:620px;opacity:.1;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 600' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M74 480C172 321 177 113 300 76c123 37 128 245 226 404M112 510c73-123 96-259 188-326 92 67 115 203 188 326M156 530c51-87 78-171 144-229 66 58 93 142 144 229'/%3E%3Ccircle cx='300' cy='300' r='218'/%3E%3Ccircle cx='300' cy='300' r='166'/%3E%3Cpath d='M82 300h436M300 82v436M145 145l310 310M455 145L145 455'/%3E%3C/svg%3E")}.pc-footer-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:44px;align-items:start}.pc-footer-brand strong{display:block;font-size:1.6rem;margin:5px 0 8px}.pc-footer-brand p{margin:0;opacity:.7}.pc-footer-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;opacity:.6}.pc-footer-contact,.pc-footer-links{display:grid;gap:7px}.pc-footer-contact h3,.pc-footer-links h3{margin:0 0 6px;color:inherit;font-size:.86rem;text-transform:uppercase;letter-spacing:.1em}.pc-footer-contact a,.pc-footer-links a{color:inherit!important;text-decoration:none!important;opacity:.82}.pc-footer-contact span,.pc-footer-links span{opacity:.72}.pc-footer-contact a:hover,.pc-footer-links a:hover{opacity:1;text-decoration:underline!important}.pc-footer-bottom{max-width:1180px;margin:38px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;font-size:.76rem;opacity:.58}
.document-icon{margin:22px 22px 0;width:54px;height:54px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:800;letter-spacing:.06em}
.document-list{display:grid;gap:12px;margin:28px 0}
.document-list-item{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;border:1px solid rgba(101,115,131,.18);border-radius:var(--radius);background:var(--surface)}
.document-list-item h3{margin:0 0 3px;font-size:1.08rem}
.contact-photo{width:100%;height:100%;object-fit:cover;display:block}
.dynamic-empty{padding:24px;border:1px dashed rgba(101,115,131,.45);border-radius:var(--radius);color:var(--muted);text-align:center;margin:24px 0}
.dynamic-component-error{padding:16px;border-radius:var(--radius);background:#fff4f4;color:#7e2525;margin:20px 0}
.global-embed-area{display:grid;gap:18px;margin:0 0 26px}
.content-card + .global-embed-area{margin:26px 0 0}
.global-embed-footer{max-width:1180px;margin:0 auto 26px}
.pc-embed-card{overflow:hidden;position:relative}
.pc-embed-rounded{border-radius:var(--radius)}
.pc-embed-bordered{border:1px solid rgba(101,115,131,.22)}
.pc-embed-bg-surface{background:var(--surface)}
.pc-embed-bg-page{background:var(--background)}
.pc-embed-bg-transparent{background:transparent}
.pc-embed-bg-white{background:#fff}
.pc-embed-padding-none{padding:0}
.pc-embed-padding-small{padding:10px}
.pc-embed-padding-medium{padding:20px}
.pc-embed-padding-large{padding:32px}
.pc-embed-full{width:100%}
.pc-embed-card iframe{max-width:100%;border:0}
.pc-isolated-embed{display:block;width:100%;height:220px;background:transparent;border:0;overflow:hidden}
.pc-embed-card img{max-width:100%;height:auto}
.pc-newsletter-archive{max-width:1180px;margin:0 auto}.pc-archive-intro{max-width:760px;margin-bottom:28px}.pc-archive-intro h2{margin:6px 0 10px;font-size:clamp(2rem,4vw,3rem)}.pc-archive-intro p{margin:0;color:var(--muted);line-height:1.7}.pc-archive-years{display:grid;gap:12px}.pc-archive-year{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 24px rgba(28,45,60,.05)}.pc-archive-year-button{width:100%;border:0;background:transparent;color:var(--text);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;text-align:left;font:inherit;font-size:1.15rem;font-weight:900;cursor:pointer}.pc-archive-year-button em{margin-left:8px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-size:.68rem;font-style:normal;text-transform:uppercase;letter-spacing:.06em}.pc-archive-year-button b{font-size:1.5rem;color:var(--primary);transition:transform .2s ease}.pc-archive-year.is-open .pc-archive-year-button b{transform:rotate(45deg)}.pc-archive-year-body{padding:0 20px 22px}.pc-archive-month{padding-top:18px;border-top:1px solid color-mix(in srgb,var(--primary) 10%,transparent)}.pc-archive-month+.pc-archive-month{margin-top:22px}.pc-archive-month h3{margin:0 0 12px;font-size:1rem;color:var(--primary)}.pc-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pc-archive-pdf{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:calc(var(--radius) - 4px);background:color-mix(in srgb,var(--primary) 4%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);color:var(--text)!important;text-decoration:none!important;transition:transform .15s ease,border-color .15s ease}.pc-archive-pdf:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 30%,transparent)}.pc-archive-pdf-icon{flex:0 0 auto;padding:5px 7px;border-radius:6px;background:var(--primary);color:#fff;font-size:.64rem;font-weight:900;letter-spacing:.05em}.pc-archive-pdf span:nth-child(2){display:grid;gap:2px;min-width:0}.pc-archive-pdf strong{font-size:.86rem}.pc-archive-pdf small{color:var(--muted);font-size:.72rem}.pc-archive-pdf b{margin-left:auto;color:var(--primary)}.pc-archive-loading{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted);text-align:center}.pc-archive-loading strong{color:var(--text)}.pc-archive-spinner{width:30px;height:30px;border:3px solid color-mix(in srgb,var(--primary) 15%,transparent);border-top-color:var(--primary);border-radius:50%;animation:pcArchiveSpin .75s linear infinite}.pc-archive-message{padding:22px 0;margin:0;color:var(--muted)}@keyframes pcArchiveSpin{to{transform:rotate(360deg)}}
@media(max-width:980px){.component-grid-4,.component-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
 .header-inner{min-height:70px;flex-direction:row}
 .nav-toggle{display:block}
 .site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--header-bg);padding:12px 20px;max-height:70vh;overflow:auto}
 body.nav-open .site-nav{display:block}
 .site-nav>ul{display:block}
 .site-nav li>ul,.site-nav li:hover>ul{display:block;position:static;box-shadow:none;padding:0 0 0 16px}
 .site-nav a{padding:9px 8px}
 .brand-logo{max-width:135px;max-height:48px}
 .brand-tagline{display:none}
 .hero-image{min-height:320px}
 .hero-image.is-collapsed{min-height:38px}
 .hero-banner{min-height:36px;padding:4px 18px;gap:12px}
 .hero-image.is-collapsed .hero-banner{min-height:38px;padding:4px 18px}
 .hero-toggle-text{display:none}
 .hero-toggle{padding:9px 11px}
 .footer-inner{display:block}
 .component-grid-4,.component-grid-3,.component-grid-2{grid-template-columns:1fr}
 .component-image{height:260px}
 .pc-directory-item{display:block}.pc-directory-thumb{width:100%;height:230px}.pc-home-contact{grid-template-columns:1fr;padding:28px 22px}.pc-home-contact--holy .pc-contact-methods{grid-template-columns:1fr}.pc-home-contact--dark .pc-home-contact-copy,.pc-home-contact--dark .pc-contact-methods{order:initial}.pc-home-contact-art{right:-150px;top:-20px}.pc-modal{padding:12px}.pc-modal-heading{padding:24px 22px 16px}.pc-modal-content{padding:4px 22px 22px}
 .pc-cluster-churches{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pc-newsletter-grid{grid-template-columns:1fr 1fr}.pc-newsletter-card.is-featured{grid-column:span 2}
 .pc-section-heading{display:block}.pc-section-heading>p{margin-top:10px}
 .pc-footer-grid{grid-template-columns:1fr 1fr}.pc-footer-brand{grid-column:1/-1}
 .document-list-item{align-items:flex-start;flex-direction:column}
}

/* Step 10.25 - reusable church imagery + Interactive Parish Network */
.pc-cluster-church-image,.pc-directory-church-image{overflow:hidden;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary)}
.pc-cluster-church-image{height:150px;margin:-22px -22px 18px;border-radius:var(--radius) var(--radius) 0 0}.pc-cluster-church-image img,.pc-directory-church-image img{width:100%;height:100%;object-fit:cover;display:block}.pc-cluster-church-image.is-fallback,.pc-directory-church-image.is-fallback{display:flex;align-items:center;justify-content:center}.pc-cluster-church-image svg{width:92px;max-height:100px}.pc-directory-church-image{flex:0 0 190px;min-height:150px;border-radius:calc(var(--radius) - 3px)}.pc-directory-church-image svg{width:100px}
.pc-parish-network{position:relative;min-height:650px;margin:0 0 26px;overflow:hidden;isolation:isolate;border-radius:calc(var(--radius) + 6px);color:#f7fbff;background:radial-gradient(circle at 50% 48%,rgba(40,117,167,.22),transparent 28%),radial-gradient(circle at 15% 10%,rgba(69,130,165,.13),transparent 28%),linear-gradient(145deg,#07121b,#0c1c29);box-shadow:0 22px 60px rgba(7,18,27,.18)}
.pc-parish-network:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:radial-gradient(circle,rgba(255,255,255,.28) 1px,transparent 1.2px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.pc-net-head{position:absolute;z-index:6;left:50%;top:30px;transform:translateX(-50%);width:min(92%,850px);text-align:center;pointer-events:none}.pc-net-reset{position:absolute;z-index:8;right:18px;top:18px;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;color:#cfeaff;background:rgba(255,255,255,.065);backdrop-filter:blur(10px);cursor:pointer;font:700 .72rem/1 Arial,sans-serif;letter-spacing:.02em;transition:.25s ease}.pc-net-reset:hover{background:rgba(158,216,255,.13);box-shadow:0 0 20px rgba(98,188,255,.18)}.pc-net-eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#9ed8ff;font-weight:800}.pc-net-head h2{margin:.45rem 0 .35rem;color:#f7fbff;font-size:clamp(1.45rem,3vw,2.35rem);letter-spacing:-.03em}.pc-net-head p{margin:0;color:#a9bac7;font-size:.94rem}
.pc-net-stage{position:absolute;inset:105px 0 0}.pc-net-stage>svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.pc-net-line{fill:none;stroke:rgba(139,205,255,.62);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px rgba(95,191,255,.22));animation:pcNetDraw .6s cubic-bezier(.2,.75,.25,1) forwards}@keyframes pcNetDraw{to{stroke-dashoffset:0}}
.pc-net-node{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#f7fbff!important;text-decoration:none!important;cursor:pointer;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 16px 55px rgba(0,0,0,.28);backdrop-filter:blur(14px);transform:translate(-50%,-50%) scale(.65);opacity:0;pointer-events:none;transition:left .7s cubic-bezier(.2,.8,.2,1),top .7s cubic-bezier(.2,.8,.2,1),transform .4s cubic-bezier(.2,.8,.2,1),opacity .35s ease,box-shadow .3s ease}.pc-net-node.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.pc-net-node.is-active{border-color:rgba(158,216,255,.82);background:linear-gradient(145deg,rgba(31,132,193,.62),rgba(19,72,108,.74));box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 0 7px rgba(121,199,255,.09),0 0 32px rgba(98,188,255,.48),0 18px 55px rgba(0,0,0,.30)}.pc-net-root.is-active{width:136px;height:136px}.pc-net-node:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 0 7px rgba(121,199,255,.07),0 18px 55px rgba(98,188,255,.28)}.pc-net-node small{margin-top:5px;color:#a9bac7;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase}.pc-net-root{width:166px;height:166px;padding:18px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:radial-gradient(circle at 38% 28%,rgba(181,229,255,.23),rgba(39,104,147,.14) 42%,rgba(255,255,255,.055))}.pc-net-parish{width:136px;height:136px;padding:15px;font-weight:750}.pc-net-church{width:142px;height:142px;padding:9px;font-weight:750}.pc-net-action{width:96px;height:96px;padding:10px;font-size:.74rem;font-weight:750}.pc-net-action b{font-size:1.25rem;margin-bottom:4px;color:#9ed8ff}.pc-net-church-visual{width:62px;height:48px;margin-bottom:5px;overflow:hidden;border-radius:10px;color:#9ed8ff}.pc-net-church-visual img{width:100%;height:100%;object-fit:cover}.pc-net-church-visual.is-fallback{display:flex;align-items:center;justify-content:center}.pc-net-church-visual svg{width:54px;height:42px}.pc-redirect-panel{max-width:360px;text-align:center;padding:42px 30px}.pc-redirect-panel h2{margin:16px 0 6px}.pc-redirect-panel p{margin:0;color:var(--muted)}.pc-redirect-spinner{width:42px;height:42px;margin:0 auto;border:3px solid rgba(158,216,255,.18);border-top-color:#9ed8ff;border-radius:50%;animation:pcRedirectSpin .8s linear infinite;box-shadow:0 0 22px rgba(98,188,255,.18)}@keyframes pcRedirectSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.pc-net-reset span{display:none}.pc-net-reset{padding:9px 11px}.pc-parish-network{min-height:760px}.pc-net-stage{inset:118px 0 0}.pc-net-root{width:132px;height:132px;font-size:.82rem}.pc-net-parish,.pc-net-church{width:108px;height:108px;font-size:.72rem}.pc-net-action{width:82px;height:82px;font-size:.62rem}.pc-net-church-visual{width:48px;height:36px}.pc-directory-church-image{flex-basis:100%;width:100%;min-height:190px}}
@media(prefers-reduced-motion:reduce){.pc-net-line{animation:none;stroke-dashoffset:0}.pc-net-node{transition:none}}

/* Step 10.29 - Connected+ Master Site directory */
.pc-connected-plus{position:relative;margin:0 0 28px;padding:clamp(30px,5vw,62px);overflow:hidden;isolation:isolate;border-radius:calc(var(--radius) + 8px);color:#f7fbff;background:radial-gradient(circle at 50% 0,rgba(61,155,214,.25),transparent 30%),radial-gradient(circle at 10% 65%,rgba(39,104,147,.14),transparent 32%),linear-gradient(145deg,#06111a,#0b1d2b);box-shadow:0 28px 80px rgba(7,18,27,.22)}
.pc-connected-plus:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.26;background-image:radial-gradient(circle,rgba(255,255,255,.24) 1px,transparent 1.2px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent)}
.pc-plus-hero{text-align:center;max-width:850px;margin:0 auto 38px}.pc-plus-hero>span{display:inline-flex;padding:7px 12px;border:1px solid rgba(158,216,255,.25);border-radius:999px;color:#9ed8ff;background:rgba(158,216,255,.07);font:800 .72rem/1 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.pc-plus-hero h2{margin:14px 0 9px;color:#fff;font-size:clamp(2rem,4.2vw,3.8rem);line-height:1;letter-spacing:-.055em}.pc-plus-hero p{margin:0;color:#a9bac7;font-size:clamp(.92rem,1.5vw,1.08rem)}
.pc-plus-level-label{margin:22px 0 11px;color:#7893a6;font:800 .68rem/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.pc-plus-dioceses,.pc-plus-clusters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.pc-plus-diocese-button,.pc-plus-cluster{border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:18px;text-align:left;color:#eaf7ff;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));cursor:pointer;transition:.28s ease}.pc-plus-diocese-button:hover,.pc-plus-cluster:hover{transform:translateY(-3px);border-color:rgba(158,216,255,.38);box-shadow:0 16px 36px rgba(0,0,0,.22)}.pc-plus-diocese-button.is-active,.pc-plus-cluster.is-active{border-color:rgba(158,216,255,.68);background:linear-gradient(145deg,rgba(31,132,193,.32),rgba(255,255,255,.06));box-shadow:0 0 0 5px rgba(121,199,255,.05),0 0 30px rgba(98,188,255,.18)}.pc-plus-diocese-button span,.pc-plus-cluster span{display:block;color:#7fa1b6;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em}.pc-plus-diocese-button strong,.pc-plus-cluster strong{display:block;margin-top:5px;font-size:1rem}.pc-plus-cluster small{display:block;margin-top:7px;color:#8ea6b6}.pc-plus-diocese[hidden],.pc-plus-parish-panel[hidden]{display:none!important}.pc-plus-diocese{animation:pcPlusIn .48s ease both}.pc-plus-individual-label{margin-top:24px}.pc-plus-parish-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.pc-plus-parish-pill{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:10px 15px;color:#cfe4f1;background:rgba(255,255,255,.055);cursor:pointer;font-weight:700;transition:.24s ease}.pc-plus-parish-pill:hover,.pc-plus-parish-pill.is-active{color:#fff;border-color:rgba(158,216,255,.55);background:rgba(33,126,184,.34);box-shadow:0 0 20px rgba(98,188,255,.15)}
.pc-plus-parish-panel{margin-top:30px;padding-top:27px;border-top:1px solid rgba(255,255,255,.10);animation:pcPlusIn .5s ease both}.pc-plus-parish-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.pc-plus-parish-title span{color:#7893a6;font-size:.67rem;letter-spacing:.15em;text-transform:uppercase}.pc-plus-parish-title h3{margin:4px 0 0;color:#fff;font-size:clamp(1.4rem,2.4vw,2rem)}.pc-plus-visit{color:#9ed8ff;text-decoration:none;font-weight:700;font-size:.82rem}.pc-plus-church-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pc-plus-church{min-width:0}.pc-plus-church-button{width:100%;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:24px;color:#fff;text-align:left;background:rgba(255,255,255,.055);cursor:pointer;transition:.28s ease}.pc-plus-church-button:hover,.pc-plus-church.is-selected .pc-plus-church-button{transform:translateY(-3px);border-color:rgba(158,216,255,.5);box-shadow:0 0 26px rgba(98,188,255,.17)}.pc-plus-church-image{height:126px;color:#9ed8ff;background:rgba(158,216,255,.055);overflow:hidden}.pc-plus-church-image img{width:100%;height:100%;object-fit:cover}.pc-plus-church-image.is-fallback{display:flex;align-items:center;justify-content:center}.pc-plus-church-image svg{width:88px;height:68px}.pc-plus-church-button>span{display:block;padding:13px 15px}.pc-plus-church-button strong{display:block}.pc-plus-church-button small{display:block;margin-top:4px;color:#91a9b8}.pc-plus-actions{display:grid;gap:6px;max-height:0;opacity:0;overflow:hidden;transition:.3s ease}.pc-plus-church.is-selected .pc-plus-actions{max-height:190px;opacity:1;padding:9px 3px 2px}.pc-plus-action{border:1px solid rgba(158,216,255,.16);border-radius:12px;padding:9px;color:#dff3ff;background:rgba(255,255,255,.06);font-weight:700;cursor:pointer}.pc-plus-action:hover{background:rgba(158,216,255,.13)}.pc-plus-action span{color:#9ed8ff;margin-right:6px}.pc-plus-empty{color:#91a9b8}.pc-connected-plus [data-plus-lookup]{display:none}@keyframes pcPlusIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){.pc-plus-church-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pc-home-contact--image{min-height:440px;width:100%;background-color:var(--primary);background-image:var(--pc-intro-image);background-size:cover;background-position:var(--pc-intro-position,center);background-repeat:no-repeat;color:#fff;border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 18px 50px rgba(0,0,0,.16)}
.pc-home-contact--image:before{content:none}
.pc-home-contact--image:after{content:'';position:absolute;z-index:-2;inset:0;width:100%;height:100%;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,transparent 40%,color-mix(in srgb,var(--primary) 18%,transparent) 50%,color-mix(in srgb,var(--primary) 52%,transparent) 64%,color-mix(in srgb,var(--primary) 84%,transparent) 80%,var(--primary) 100%)}
.pc-home-contact--image .pc-home-contact-art{display:none}
.pc-home-contact--image .pc-home-contact-copy,.pc-home-contact--image .pc-contact-methods{position:relative;z-index:1;align-self:end}
.pc-home-contact--image .pc-home-contact-eyebrow,.pc-home-contact--image .pc-home-contact-copy h2{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.48)}
.pc-home-contact--image .pc-home-contact-copy p{color:rgba(255,255,255,.9);text-shadow:0 1px 12px rgba(0,0,0,.55)}
.pc-home-contact--image .pc-contact-method{background:rgba(8,20,30,.48);border-color:rgba(255,255,255,.24);color:#fff!important;backdrop-filter:blur(10px);box-shadow:0 8px 26px rgba(0,0,0,.12)}
.pc-home-contact--image .pc-contact-method small{color:rgba(255,255,255,.74)}
.pc-home-contact--image .pc-contact-icon{background:#fff;color:var(--primary)}
.pc-home-contact--image .pc-social-link{color:#fff!important;background:rgba(8,20,30,.45);border-color:rgba(255,255,255,.24)}
.pc-home-contact--image .pc-donate-button{background:rgba(8,20,30,.48);border-color:rgba(255,255,255,.24);color:#fff;backdrop-filter:blur(10px)}
.pc-home-contact--image .pc-donate-button small{color:rgba(255,255,255,.74)}



.pc-homepage-notices{width:100%;margin:0;position:relative;z-index:2}
.pc-homepage-notices:has(> :not(script)){margin:22px 0}
.pc-homepage-notices > *:first-child:not(script){margin-top:0}
.pc-homepage-notices > *:last-child{margin-bottom:0}
@media(max-width:600px){.pc-connected-plus{padding:28px 16px}.pc-plus-dioceses,.pc-plus-clusters{grid-template-columns:1fr}.pc-plus-parish-title{align-items:flex-start;flex-direction:column}.pc-plus-church-grid{grid-template-columns:1fr}.pc-plus-church-button{display:flex;align-items:center;border-radius:14px;padding:12px}.pc-plus-church-image{display:none!important}.pc-plus-church-button>span{padding:0}.pc-plus-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.pc-plus-church.is-selected .pc-plus-actions{max-height:100px}.pc-plus-action{padding:9px 5px;font-size:.68rem}}@media(prefers-reduced-motion:reduce){.pc-connected-plus *{animation:none!important;transition:none!important}}

/* Step 10.27 - simplified Connected church explorer: no graph lines */
.pc-connected{position:relative;margin:0 0 26px;padding:38px clamp(18px,4vw,46px) 44px;overflow:hidden;isolation:isolate;border-radius:calc(var(--radius) + 6px);color:#f7fbff;background:radial-gradient(circle at 50% 38%,rgba(40,117,167,.20),transparent 32%),radial-gradient(circle at 12% 5%,rgba(69,130,165,.12),transparent 28%),linear-gradient(145deg,#07121b,#0c1c29);box-shadow:0 22px 60px rgba(7,18,27,.18)}
.pc-connected:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.28;background-image:radial-gradient(circle,rgba(255,255,255,.25) 1px,transparent 1.2px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 84%,transparent)}
.pc-connected-head{text-align:center;margin:0 auto 25px;max-width:760px}.pc-connected-head h2{margin:0;color:#f7fbff;font-size:clamp(1.7rem,3vw,2.55rem);letter-spacing:-.035em}.pc-connected-head p{margin:7px 0 0;color:#a9bac7;font-size:.94rem}
.pc-connected-parishes{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:0 auto 24px}.pc-connected-parish-tab{border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 15px;color:#c7d8e4;background:rgba(255,255,255,.055);font:700 .78rem/1.1 Arial,sans-serif;cursor:pointer;transition:.25s ease}.pc-connected-parish-tab:hover{background:rgba(158,216,255,.10)}.pc-connected-parish-tab.is-active{color:#fff;border-color:rgba(158,216,255,.58);background:rgba(33,126,184,.42);box-shadow:0 0 24px rgba(98,188,255,.22)}
.pc-connected-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;max-width:1180px;margin:0 auto}.pc-connected-church{flex:0 1 calc(25% - 14px);min-width:210px;max-width:275px;transition:opacity .32s ease,transform .38s cubic-bezier(.2,.75,.2,1),filter .32s ease}.pc-connected-church.is-parish-hidden{display:none}.pc-connected-church.is-switching-out{opacity:0;transform:translateX(-28px) scale(.985);filter:blur(2px)}.pc-connected-church.is-switching-in{opacity:0;transform:translateX(28px) scale(.985);filter:blur(2px)}.pc-connected-church-button{width:100%;min-height:210px;padding:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.15);border-radius:28px;color:#f7fbff;text-align:left;cursor:pointer;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 14px 38px rgba(0,0,0,.22);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease}.pc-connected-church-button:hover{transform:translateY(-3px);border-color:rgba(158,216,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 18px 44px rgba(0,0,0,.28),0 0 22px rgba(98,188,255,.10)}.pc-connected-church.is-selected .pc-connected-church-button{border-color:rgba(158,216,255,.72);background:linear-gradient(145deg,rgba(31,132,193,.30),rgba(255,255,255,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 0 5px rgba(121,199,255,.06),0 0 28px rgba(98,188,255,.30),0 18px 48px rgba(0,0,0,.28)}
.pc-connected-church-image{width:100%;height:132px;overflow:hidden;background:rgba(158,216,255,.055);color:#9ed8ff}.pc-connected-church-image img{width:100%;height:100%;display:block;object-fit:cover}.pc-connected-church-image.is-fallback{display:flex;align-items:center;justify-content:center}.pc-connected-church-image svg{width:92px;height:72px}.pc-connected-church-copy{display:block;padding:15px 17px 17px}.pc-connected-church-copy strong{display:block;font-size:.96rem;line-height:1.2}.pc-connected-church-copy small{display:block;margin-top:5px;color:#9fb3c2;font-size:.72rem}
.pc-connected-actions{display:grid;grid-template-columns:1fr;gap:7px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-7px);transition:max-height .35s ease,opacity .28s ease,transform .35s ease,padding .35s ease;padding:0 5px}.pc-connected-church.is-selected .pc-connected-actions{max-height:220px;opacity:1;transform:none;padding:11px 5px 2px}.pc-connected-action{width:100%;border:1px solid rgba(158,216,255,.17);border-radius:13px;padding:10px 12px;color:#dff3ff;background:rgba(255,255,255,.065);font:700 .76rem/1.1 Arial,sans-serif;cursor:pointer;transition:.2s ease}.pc-connected-action:hover{background:rgba(158,216,255,.13);border-color:rgba(158,216,255,.35)}.pc-connected-action span{display:inline-block;width:22px;color:#9ed8ff;font-size:1rem}.pc-connected-empty{padding:10px;color:#9fb3c2;font-size:.75rem;text-align:center}
@media(max-width:920px){.pc-connected-church{flex-basis:calc(50% - 10px);max-width:340px}}
@media(max-width:600px){.pc-connected{padding:28px 16px 32px}.pc-connected-head{margin-bottom:18px}.pc-connected-head p{font-size:.86rem}.pc-connected-parishes{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.pc-connected-parish-tab{flex:0 0 auto}.pc-connected-grid{display:block}.pc-connected-church{max-width:none;min-width:0;margin:0 0 9px}.pc-connected-church-button{min-height:0;border-radius:14px;display:flex;flex-direction:row;align-items:center;padding:12px 14px;background:rgba(255,255,255,.055)}.pc-connected-church-image{display:none!important}.pc-connected-church-copy{padding:0;display:flex;align-items:center;gap:8px}.pc-connected-church-copy:before{content:"•";color:#9ed8ff;font-size:1.35rem;line-height:.7}.pc-connected-church-copy strong{font-size:.86rem}.pc-connected-church-copy small{display:none}.pc-connected-church.is-selected .pc-connected-church-button{transform:none}.pc-connected-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pc-connected-church.is-selected .pc-connected-actions{max-height:100px;padding:8px 2px 3px}.pc-connected-action{padding:9px 5px;font-size:.66rem}.pc-connected-action span{display:block;width:auto;margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){.pc-connected *{transition:none!important}}

.pc-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.pc-social-link{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;text-decoration:none!important;color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);font-weight:850;font-size:1rem;transition:.22s ease}.pc-social-link--facebook{width:50px;height:50px;font-family:Arial,sans-serif;font-size:1.65rem;font-weight:900;box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 16%,transparent)}.pc-social-link:hover{transform:translateY(-2px);background:var(--primary);color:#fff!important;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 22%,transparent)}.pc-home-contact--dark .pc-social-link{color:#fff!important;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15)}.pc-donate-button{margin-top:14px;display:inline-flex;align-items:center;gap:13px;max-width:100%;appearance:none;border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);border-radius:18px;padding:9px 16px 9px 9px;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--text);font:inherit;cursor:pointer;transition:.22s ease;text-align:left}.pc-donate-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 18%,transparent);border-color:var(--primary)}.pc-donate-button img{display:block;width:auto;height:auto;max-width:min(220px,55vw);max-height:120px;object-fit:contain;border-radius:10px;background:transparent}.pc-donate-heart{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:1.15rem;flex:0 0 42px}.pc-donate-button small,.pc-donate-button strong{display:block}.pc-donate-button small{font-size:.67rem;color:var(--muted);font-weight:700}.pc-donate-button strong{font-size:.9rem}.pc-home-contact--dark .pc-donate-button{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15);color:#fff}.pc-home-contact--dark .pc-donate-button small{color:rgba(255,255,255,.62)}
@media(max-width:600px){.pc-home-contact--image{min-height:520px}.pc-home-contact--image:after{background:linear-gradient(to bottom,transparent 0%,transparent 40%,color-mix(in srgb,var(--primary) 22%,transparent) 50%,color-mix(in srgb,var(--primary) 60%,transparent) 66%,color-mix(in srgb,var(--primary) 90%,transparent) 82%,var(--primary) 100%)}.pc-home-contact--holy{padding-top:92px}.pc-home-contact--holy:before{top:22px;font-size:2rem}.pc-home-contact--holy .pc-home-contact-eyebrow{margin-top:2px}.pc-connected-church.is-switching-out{transform:translateY(-12px)}.pc-connected-church.is-switching-in{transform:translateY(12px)}}
@media(max-width:600px){.pc-home-readings-actions{flex-direction:column}.pc-cluster-churches,.pc-newsletter-grid,.pc-archive-grid{grid-template-columns:1fr}.pc-newsletter-card.is-featured{grid-column:auto;grid-row:auto}.pc-footer-grid{grid-template-columns:1fr}.pc-footer-brand{grid-column:auto}.pc-footer-bottom{display:block}}

body.pc-gateway-open{overflow:hidden}.pc-welcome-nav{font-weight:700}.pc-return-gateway:before{content:"← ";opacity:.8}
/* Step 10.41 Parish Gateway */

/* Gateway return-visit timer: isolated from every Welcome layout */
.pc-gateway-countdown{position:fixed;top:clamp(14px,2.4vw,32px);right:clamp(14px,2.4vw,32px);z-index:12;display:flex;align-items:center;gap:10px;padding:9px 15px 9px 8px;border:1px solid rgba(244,211,142,.4);border-radius:999px;background:rgba(5,12,19,.78);color:#fff;box-shadow:0 8px 32px rgba(0,0,0,.28);backdrop-filter:blur(14px);font:500 12px/1.3 system-ui,sans-serif;letter-spacing:.02em;max-width:calc(100vw - 28px)}
.pc-gateway-countdown[hidden]{display:none!important}
.pc-gateway-countdown svg{width:40px;height:40px;flex:0 0 40px;transform:rotate(-90deg)}
.pc-gateway-countdown circle{fill:none;stroke-width:3.1}
.pc-countdown-track{stroke:rgba(255,255,255,.20)}
.pc-countdown-progress{stroke:#edc981;stroke-linecap:round;stroke-dasharray:119.381;stroke-dashoffset:calc(119.381 * (1 - var(--pc-countdown-progress,0)));transition:stroke-dashoffset .1s linear;filter:drop-shadow(0 0 3px rgba(237,201,129,.5))}
.pc-gateway-countdown strong{font-weight:750;font-variant-numeric:tabular-nums;color:#ffe3a3}
@media(max-width:550px){.pc-gateway-countdown{top:10px;right:10px;padding:5px 10px 5px 5px;font-size:10px;gap:5px}.pc-gateway-countdown svg{width:31px;height:31px;flex-basis:31px}}
.pc-gateway{position:fixed;inset:0;z-index:10000;background:#071018;color:#fff;overflow:hidden;transition:opacity .7s ease,visibility .7s ease}.pc-gateway.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.pc-gateway-slides,.pc-gateway-slide,.pc-gateway-shade{position:absolute;inset:0}.pc-gateway-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.02);transition:opacity 2.2s ease;animation:pcGatewayDrift 22s ease-in-out infinite alternate}.pc-gateway-slide.is-active{opacity:1}.pc-gateway-shade{background:linear-gradient(90deg,rgba(3,10,16,.78),rgba(3,10,16,.32) 55%,rgba(3,10,16,.48)),linear-gradient(0deg,rgba(3,10,16,.58),transparent 55%)}@keyframes pcGatewayDrift{to{transform:scale(1.09)}}.pc-gateway-content{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:min(1180px,88vw);margin:auto}.pc-gateway-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.82rem;font-weight:700;opacity:.82}.pc-gateway h1{font-size:clamp(3rem,8vw,7.5rem);line-height:.9;margin:.18em 0 .22em;max-width:900px;text-shadow:0 8px 32px rgba(0,0,0,.45)}.pc-gateway-contact{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.pc-gateway-contact a{color:#fff;text-decoration:none}.pc-gateway-actions{display:flex;gap:12px;flex-wrap:wrap}.pc-gateway-actions button,.pc-gateway-enter{border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.11);backdrop-filter:blur(14px);color:#fff;padding:15px 22px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer;transition:.25s}.pc-gateway-actions button:hover,.pc-gateway-enter:hover{background:#fff;color:#101820;transform:translateY(-2px)}.pc-gateway-enter{margin-top:18px;background:rgba(255,255,255,.92);color:#111}.pc-gateway-dots{position:absolute;z-index:3;right:5vw;bottom:5vh;display:flex;gap:8px}.pc-gateway-dots i{width:28px;height:3px;background:rgba(255,255,255,.35);transition:.4s}.pc-gateway-dots i.is-active{background:#fff;width:48px}.pc-gateway-panel{position:absolute;z-index:5;top:0;right:0;width:min(560px,100%);height:100%;padding:70px 42px 40px;background:rgba(7,16,24,.94);backdrop-filter:blur(24px);transform:translateX(105%);transition:transform .45s ease;overflow:auto}.pc-gateway-panel.is-open{transform:none}.pc-gateway-panel h2{font-size:2.2rem;margin:0 0 24px}.pc-gateway-close{position:absolute;right:25px;top:22px;border:0;background:none;color:#fff;font-size:2.4rem;cursor:pointer}.pc-gateway-choice{display:flex;flex-direction:column;color:#fff;text-decoration:none;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}.pc-gateway-choice span{opacity:.68;margin-top:4px}.pc-gateway-mass-group{padding:12px 0 20px;border-bottom:1px solid rgba(255,255,255,.14)}.pc-gateway-mass-group h3{margin:0 0 10px}.pc-gateway-mass{margin:10px 0}.pc-gateway-mass p{margin:.25em 0;opacity:.82}.pc-gateway-dynamic{display:none}.pc-standard-site.is-gateway-hidden{visibility:hidden;height:100vh;overflow:hidden}.pc-return-gateway{position:fixed;right:18px;bottom:18px;z-index:9000;border:0;border-radius:999px;padding:11px 16px;background:rgba(7,28,46,.9);color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.22);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}.pc-return-gateway.is-visible{opacity:1;visibility:visible;transform:none}@media(max-width:700px){.pc-gateway-content{width:86vw}.pc-gateway h1{font-size:clamp(2.8rem,15vw,5rem)}.pc-gateway-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.pc-gateway-actions button:last-child{grid-column:1/-1}.pc-gateway-actions button{padding:14px 10px}.pc-gateway-panel{padding:65px 24px 30px}.pc-gateway-dots{left:7vw;right:auto}}@media(prefers-reduced-motion:reduce){.pc-gateway-slide{animation:none;transition:none}.pc-gateway,.pc-gateway-panel{transition:none}}
/* Step 10.45 Premium Gateway */
.pc-gateway-premium .pc-gateway-shade{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(2,8,14,.28) 38%,rgba(1,7,12,.68));box-shadow:inset 0 0 180px rgba(0,0,0,.38)}
.pc-gateway-premium .pc-gateway-content{width:min(1500px,92vw);align-items:center;text-align:center;padding:3vh 0 2vh}
.pc-gateway-mark{width:clamp(82px,7vw,120px);color:#fff;margin:0 auto -4px}.pc-gateway-mark svg{width:100%;display:block}.pc-gateway-mark-small{width:clamp(58px,5vw,82px)}.pc-gateway-mark-medium{width:clamp(82px,7vw,120px)}.pc-gateway-mark-large{width:clamp(110px,9vw,160px)}.pc-gateway-mark-image img{display:block;width:100%;max-height:110px;object-fit:contain;filter:drop-shadow(0 3px 18px rgba(0,0,0,.45))}.pc-gateway-mark-large.pc-gateway-mark-image img{max-height:145px}
.pc-gateway-premium h1{color:#fff!important;font-family:var(--heading-font);font-size:clamp(3rem,6vw,6.5rem);font-weight:500;letter-spacing:-.035em;line-height:.98;margin:0;text-shadow:0 3px 28px rgba(0,0,0,.65)}
.pc-gateway-premium .pc-gateway-kicker{color:#fff!important;margin-top:18px;letter-spacing:.34em;font-family:var(--heading-font);font-size:clamp(.78rem,1.2vw,1.12rem);opacity:1}
.pc-gateway-rule{display:flex;align-items:center;gap:18px;width:min(430px,70vw);margin:17px auto 9px;color:#fff}.pc-gateway-rule span{height:1px;background:rgba(255,255,255,.82);flex:1}
.pc-gateway-welcome,.pc-gateway-subline{color:#fff!important;font-family:var(--heading-font);text-shadow:0 2px 18px rgba(0,0,0,.6)}.pc-gateway-welcome{font-size:clamp(1rem,1.5vw,1.5rem);font-style:italic}.pc-gateway-subline{margin-top:5px;font-size:clamp(.82rem,1.1vw,1.08rem);letter-spacing:.08em}
.pc-gateway-premium .pc-gateway-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:100%;margin-top:clamp(24px,4vh,48px)}
.pc-gateway-premium .pc-gateway-actions button,.pc-gateway-premium .pc-gateway-enter{margin:0;min-height:128px;border-radius:18px;padding:22px 25px;display:flex;align-items:center;justify-content:flex-start;gap:18px;text-align:left;background:linear-gradient(135deg,rgba(7,14,20,.62),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.56);color:#fff!important;box-shadow:0 16px 38px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.12)}
.pc-gateway-premium .pc-gateway-actions button:hover,.pc-gateway-premium .pc-gateway-enter:hover{background:linear-gradient(135deg,rgba(10,18,25,.76),rgba(255,255,255,.16));color:#fff!important;border-color:#fff;transform:translateY(-5px)}
.pc-gateway-icon{font-size:2.65rem;width:52px;flex:0 0 52px;text-align:center;color:#fff!important}
.pc-gateway-premium .pc-gateway-actions strong{display:block;color:#fff!important;text-transform:uppercase;font-family:var(--heading-font);font-size:clamp(.9rem,1.15vw,1.18rem)}.pc-gateway-premium .pc-gateway-actions small{display:block;color:#fff!important;margin-top:6px;font-family:var(--heading-font);font-size:.92rem}
.pc-gateway-premium .pc-gateway-contact{width:100%;margin:36px 0 0;padding:22px 1%;border-top:1px solid rgba(255,255,255,.44);display:flex;justify-content:center;color:#fff}
.pc-gateway-premium .pc-gateway-contact>a,.pc-gateway-premium .pc-gateway-contact>div{display:flex;align-items:center;justify-content:center;gap:15px;min-width:29%;padding:0 3.5%;border-right:1px solid rgba(255,255,255,.38);color:#fff!important;text-decoration:none}.pc-gateway-premium .pc-gateway-contact>*:last-child{border-right:0}
.pc-gw-contact-icon{font-size:1.8rem;color:#fff}.pc-gateway-premium .pc-gateway-contact small{display:block;color:#fff!important;text-transform:uppercase;font-family:var(--heading-font);font-weight:700;font-size:.78rem}.pc-gateway-premium .pc-gateway-contact strong{display:block;color:#fff!important;margin-top:5px;font-family:var(--heading-font);font-size:.98rem;font-weight:400}
.pc-gateway-premium .pc-gateway-dots{left:50%;right:auto;bottom:13px;transform:translateX(-50%)}.pc-gateway-premium .pc-gateway-dots i{width:22px}.pc-gateway-premium .pc-gateway-dots i.is-active{width:38px}
.pc-gateway-premium .pc-gateway-panel{color:#fff!important;background:rgba(3,8,12,.92)!important}.pc-gateway-premium .pc-gateway-panel *{color:#fff!important}.pc-gateway-premium .pc-gateway-panel a{color:#fff!important}
@media(max-width:900px){.pc-gateway-premium .pc-gateway-content{width:min(94vw,720px)}.pc-gateway-premium h1{font-size:clamp(2.5rem,10vw,4.5rem)}.pc-gateway-premium .pc-gateway-actions{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.pc-gateway-premium .pc-gateway-actions button,.pc-gateway-premium .pc-gateway-enter{min-height:98px;padding:14px;gap:10px}.pc-gateway-icon{font-size:2rem;width:38px;flex-basis:38px}.pc-gateway-premium .pc-gateway-contact{margin-top:18px;padding:13px 0}}
@media(max-width:520px){.pc-gateway-mark{width:66px}.pc-gateway-premium .pc-gateway-actions button,.pc-gateway-premium .pc-gateway-enter{min-height:84px;padding:10px}.pc-gateway-premium .pc-gateway-actions strong{font-size:.76rem}.pc-gateway-premium .pc-gateway-actions small{font-size:.7rem}.pc-gateway-premium .pc-gateway-contact>div{display:none}}
/* Step 10.48 Welcome Screen Designer */
.pc-welcome-vertical .pc-gateway-content{width:min(510px,38vw);height:100%;margin:0 auto 0 5vw;padding:5vh 0;justify-content:center;align-items:stretch;text-align:left}
.pc-welcome-vertical .pc-gateway-mark{margin:0 0 10px}.pc-welcome-vertical h1{font-size:clamp(2.8rem,4.8vw,5.5rem);text-align:left}.pc-welcome-vertical .pc-gateway-kicker{text-align:left}
.pc-welcome-vertical .pc-gateway-actions{grid-template-columns:1fr;margin-top:26px;gap:10px}.pc-welcome-vertical .pc-gateway-actions button,.pc-welcome-vertical .pc-gateway-enter{min-height:78px;border-radius:12px}
.pc-welcome-vertical .pc-gateway-contact{margin-top:20px;display:grid;grid-template-columns:1fr;padding:12px 0}.pc-welcome-vertical .pc-gateway-contact>a,.pc-welcome-vertical .pc-gateway-contact>div{justify-content:flex-start;border-right:0;padding:7px 0}
.pc-welcome-sanctuary .pc-gateway-content{justify-content:flex-start;padding-top:8vh}.pc-welcome-sanctuary h1{font-size:clamp(3.4rem,7vw,7.2rem)}
.pc-welcome-sanctuary .pc-gateway-actions{position:absolute;left:50%;bottom:11vh;transform:translateX(-50%);width:min(980px,88vw);gap:12px}.pc-welcome-sanctuary .pc-gateway-actions button,.pc-welcome-sanctuary .pc-gateway-enter{min-height:90px;background:rgba(4,10,15,.28);justify-content:center;text-align:center;flex-direction:column;gap:4px;padding:12px}.pc-welcome-sanctuary .pc-gateway-contact{position:absolute;bottom:3vh;left:50%;transform:translateX(-50%);width:min(1050px,90vw);margin:0;padding:11px 0;border-top:0;background:rgba(3,8,12,.22);border-radius:14px}
.pc-welcome-split .pc-gateway-shade{background:linear-gradient(90deg,rgba(2,7,11,.96) 0%,rgba(2,7,11,.91) 43%,rgba(2,7,11,.22) 67%,rgba(0,0,0,.18) 100%)}.pc-welcome-split .pc-gateway-content{width:44vw;max-width:700px;height:100%;margin:0 auto 0 0;padding:6vh 5vw;justify-content:center;align-items:flex-start;text-align:left}.pc-welcome-split .pc-gateway-mark{margin:0 0 10px}.pc-welcome-split h1{font-size:clamp(3rem,5vw,5.8rem);text-align:left}.pc-welcome-split .pc-gateway-actions{grid-template-columns:repeat(2,1fr);margin-top:28px;gap:11px}.pc-welcome-split .pc-gateway-contact{display:grid;grid-template-columns:1fr;margin-top:20px;padding:12px 0}
.pc-welcome-halo .pc-gateway-content{justify-content:center}.pc-welcome-halo .pc-gateway-content:before{content:"";position:absolute;width:min(48vw,610px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(8,16,22,.58),rgba(8,16,22,.28) 58%,rgba(255,255,255,.04) 59%,transparent 61%);border:1px solid rgba(255,255,255,.23);backdrop-filter:blur(8px);box-shadow:0 0 80px rgba(0,0,0,.3);z-index:-1}.pc-welcome-halo h1{font-size:clamp(3rem,5.7vw,6rem);max-width:760px}.pc-welcome-halo .pc-gateway-actions{position:absolute;inset:0;margin:0;display:block;pointer-events:none}.pc-welcome-halo .pc-gateway-actions button{position:absolute;width:220px;min-height:90px;border-radius:999px;justify-content:center;pointer-events:auto;padding:13px 20px}.pc-welcome-halo .pc-gateway-actions button:nth-child(1){left:50%;top:5vh;transform:translateX(-50%)}.pc-welcome-halo .pc-gateway-actions button:nth-child(2){right:5vw;top:50%;transform:translateY(-50%)}.pc-welcome-halo .pc-gateway-actions button:nth-child(3){left:50%;bottom:10vh;transform:translateX(-50%)}.pc-welcome-halo .pc-gateway-actions button:nth-child(4){left:5vw;top:50%;transform:translateY(-50%)}.pc-welcome-halo .pc-gateway-contact{position:absolute;bottom:2.5vh;left:50%;transform:translateX(-50%);width:min(1000px,88vw);margin:0;padding:10px 0;border-top:0;background:rgba(3,8,12,.24);border-radius:14px}
@media(max-width:900px){.pc-welcome-vertical .pc-gateway-content,.pc-welcome-split .pc-gateway-content{width:min(94vw,720px);height:auto;margin:auto;padding:4vh 0;align-items:center;text-align:center}.pc-welcome-vertical .pc-gateway-actions{grid-template-columns:repeat(2,1fr)}.pc-welcome-split .pc-gateway-shade{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(2,8,14,.34),rgba(1,7,12,.7))}.pc-welcome-sanctuary .pc-gateway-actions{bottom:13vh;grid-template-columns:repeat(2,1fr)}.pc-welcome-halo .pc-gateway-content:before{width:min(78vw,540px)}.pc-welcome-halo .pc-gateway-actions{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px;pointer-events:auto}.pc-welcome-halo .pc-gateway-actions button{position:static!important;width:auto;min-height:90px;transform:none!important;border-radius:16px}.pc-welcome-halo .pc-gateway-contact{position:relative;left:auto;bottom:auto;transform:none;margin-top:18px}}

/* Step 10.49 Welcome responsive / collision pass */
.pc-gateway-premium .pc-gateway-content{box-sizing:border-box;max-height:100dvh;overflow:visible}
.pc-gateway-premium .pc-gateway-contact{box-sizing:border-box;position:relative;z-index:4;align-items:center}
.pc-gateway-premium .pc-gateway-contact>a,.pc-gateway-premium .pc-gateway-contact>div{box-sizing:border-box;border-right:0!important}
.pc-gateway-premium .pc-gateway-contact>a+*,.pc-gateway-premium .pc-gateway-contact>div+*{border-left:1px solid rgba(255,255,255,.32)}
.pc-gateway-premium .pc-gateway-dots{bottom:6px!important;z-index:6}
.pc-welcome-split .pc-gateway-contact{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:12px 0;margin-top:16px}
.pc-welcome-split .pc-gateway-contact>a,.pc-welcome-split .pc-gateway-contact>div{width:100%;min-width:0;justify-content:flex-start;padding:7px 0;border-left:0!important}
.pc-welcome-sanctuary .pc-gateway-actions{bottom:auto;top:58%;transform:translate(-50%,-50%)}
.pc-welcome-sanctuary .pc-gateway-contact{bottom:4.5vh}
.pc-welcome-halo .pc-gateway-actions button:nth-child(3){bottom:16vh}
.pc-welcome-halo .pc-gateway-contact{bottom:3.5vh}
.pc-welcome-vertical .pc-gateway-content{justify-content:flex-start;padding-top:clamp(22px,4vh,48px);padding-bottom:54px;overflow-y:auto;scrollbar-width:none}
.pc-welcome-vertical .pc-gateway-content::-webkit-scrollbar{display:none}
.pc-welcome-vertical h1{font-size:clamp(2.35rem,4.3vw,4.9rem);line-height:1.02}
.pc-welcome-vertical .pc-gateway-actions{margin-top:18px}
.pc-welcome-vertical .pc-gateway-actions button,.pc-welcome-vertical .pc-gateway-enter{min-height:68px;padding:13px 18px}
.pc-welcome-vertical .pc-gateway-contact{margin-top:14px}
@media(max-height:800px) and (min-width:901px){
 .pc-gateway-premium .pc-gateway-mark{max-width:82px}.pc-gateway-premium h1{font-size:clamp(2.45rem,5vw,4.6rem)}.pc-gateway-premium .pc-gateway-kicker{margin-top:10px}
 .pc-gateway-premium .pc-gateway-actions{margin-top:18px}.pc-gateway-premium .pc-gateway-actions button,.pc-gateway-premium .pc-gateway-enter{min-height:88px;padding:14px 18px}.pc-gateway-premium .pc-gateway-contact{margin-top:16px;padding:12px 1%}
 .pc-welcome-sanctuary .pc-gateway-actions{top:56%}.pc-welcome-halo .pc-gateway-actions button:nth-child(3){bottom:18vh}
}
@media(max-width:900px){
 .pc-gateway-premium{overflow-y:auto;overflow-x:hidden}
 .pc-gateway-premium .pc-gateway-content{min-height:100dvh;height:auto;max-height:none;padding:22px 0 58px;justify-content:flex-start}
 .pc-gateway-premium .pc-gateway-mark{margin-top:0}.pc-gateway-premium h1{font-size:clamp(2.15rem,8vw,3.8rem);line-height:1.02}
 .pc-gateway-premium .pc-gateway-actions{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:22px 0 0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;pointer-events:auto!important}
 .pc-gateway-premium .pc-gateway-actions button{position:static!important;transform:none!important;width:auto!important;min-height:86px!important;border-radius:14px!important}
 .pc-gateway-premium .pc-gateway-contact{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:18px 0 0!important;padding:12px 0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;background:rgba(3,8,12,.26);border-radius:12px}
 .pc-gateway-premium .pc-gateway-contact>a,.pc-gateway-premium .pc-gateway-contact>div{width:auto!important;min-width:0!important;padding:8px 10px!important;border:0!important;justify-content:flex-start!important;overflow-wrap:anywhere}
 .pc-gateway-premium .pc-gateway-contact>div:last-child{grid-column:1/-1}
 .pc-gateway-premium .pc-gateway-dots{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;justify-content:center;margin:10px auto 14px;z-index:8}
 .pc-welcome-vertical .pc-gateway-content,.pc-welcome-split .pc-gateway-content{width:min(94vw,720px)!important;margin:auto!important;padding:22px 0 58px!important;overflow:visible;align-items:center;text-align:center}
 .pc-welcome-vertical h1,.pc-welcome-split h1,.pc-welcome-vertical .pc-gateway-kicker,.pc-welcome-split .pc-gateway-kicker{text-align:center}
 .pc-welcome-vertical .pc-gateway-mark,.pc-welcome-split .pc-gateway-mark{margin-left:auto;margin-right:auto}
 .pc-welcome-halo .pc-gateway-content:before{width:min(76vw,500px);max-height:500px}
}
@media(max-width:520px){
 .pc-gateway-premium .pc-gateway-content{width:92vw!important;padding-bottom:44px}
 .pc-gateway-premium .pc-gateway-actions{grid-template-columns:1fr 1fr!important}
 .pc-gateway-premium .pc-gateway-contact{grid-template-columns:1fr!important}
 .pc-gateway-premium .pc-gateway-contact>div:last-child{grid-column:auto}
 .pc-gateway-premium .pc-gateway-dots i{width:15px}.pc-gateway-premium .pc-gateway-dots i.is-active{width:26px}
}

/* Step 10.50 Approved Welcome fixes: Halo + Sanctuary only.
   Original, Vertical and Split deliberately unchanged. */
@media(min-width:901px){
 /* Sanctuary: establish three independent vertical zones: identity / actions / contact. */
 .pc-welcome-sanctuary .pc-gateway-content{justify-content:flex-start;padding-top:clamp(28px,5vh,64px);padding-bottom:0}
 .pc-welcome-sanctuary .pc-gateway-mark{max-width:88px}
 .pc-welcome-sanctuary h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.96}
 .pc-welcome-sanctuary .pc-gateway-kicker{margin-top:12px}
 .pc-welcome-sanctuary .pc-gateway-actions{top:auto!important;bottom:clamp(132px,17vh,178px)!important;transform:translateX(-50%)!important;width:min(980px,88vw)}
 .pc-welcome-sanctuary .pc-gateway-actions button,.pc-welcome-sanctuary .pc-gateway-enter{min-height:94px}
 .pc-welcome-sanctuary .pc-gateway-contact{bottom:clamp(34px,4.5vh,54px)!important;width:min(1050px,90vw);min-height:72px;margin:0!important;padding:10px 18px!important}
 .pc-welcome-sanctuary .pc-gateway-dots{bottom:10px!important}

 /* Halo: keep the rose-window centre clean; contact owns the bottom band. */
 .pc-welcome-halo .pc-gateway-content{padding-bottom:150px}
 .pc-welcome-halo .pc-gateway-content:before{width:min(42vw,560px)}
 .pc-welcome-halo h1{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.98;max-width:700px}
 .pc-welcome-halo .pc-gateway-kicker{margin-top:14px}
 .pc-welcome-halo .pc-gateway-actions button{width:210px;min-height:86px}
 .pc-welcome-halo .pc-gateway-actions button:nth-child(1){top:4vh}
 .pc-welcome-halo .pc-gateway-actions button:nth-child(2){right:4vw;top:43%}
 .pc-welcome-halo .pc-gateway-actions button:nth-child(3){left:auto;right:4vw;bottom:clamp(142px,17vh,180px);transform:none}
 .pc-welcome-halo .pc-gateway-actions button:nth-child(4){left:4vw;top:43%}
 .pc-welcome-halo .pc-gateway-contact{bottom:clamp(34px,4.5vh,54px)!important;width:min(1080px,88vw);min-height:72px;margin:0!important;padding:10px 18px!important;background:rgba(3,8,12,.48)}
 .pc-welcome-halo .pc-gateway-dots{left:auto!important;right:18px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;display:flex;flex-direction:column;gap:7px}
 .pc-welcome-halo .pc-gateway-dots i{width:3px!important;height:18px!important}
 .pc-welcome-halo .pc-gateway-dots i.is-active{width:3px!important;height:34px!important}
}
@media(max-width:900px){
 /* Halo and Sanctuary inherit the collision-safe stacked mobile layout from 10.49. */
 .pc-welcome-halo .pc-gateway-content:before{width:min(72vw,440px)}
 .pc-welcome-halo .pc-gateway-dots,.pc-welcome-sanctuary .pc-gateway-dots{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;margin:10px auto 14px!important}
 .pc-welcome-halo .pc-gateway-dots i,.pc-welcome-sanctuary .pc-gateway-dots i{width:15px!important;height:2px!important}
 .pc-welcome-halo .pc-gateway-dots i.is-active,.pc-welcome-sanctuary .pc-gateway-dots i.is-active{width:26px!important;height:2px!important}
}



/* Step 10.51 — New Sanctuary + Circle. Original, Vertical and Split are unchanged. */
@media(min-width:901px){
/* SANCTUARY: calm photographic composition with protected bottom contact territory. */
.pc-welcome-sanctuary .pc-gateway-shade{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.48) 100%)}
.pc-welcome-sanctuary .pc-gateway-content{width:min(1380px,92vw);height:100%;padding:clamp(32px,5vh,62px) 0 150px;justify-content:flex-start;align-items:center;text-align:center}
.pc-welcome-sanctuary .pc-gateway-mark{width:clamp(70px,6vw,104px);margin:0 auto 8px}
.pc-welcome-sanctuary h1{font-size:clamp(3.1rem,5.6vw,5.9rem);line-height:.98;max-width:1000px}
.pc-welcome-sanctuary .pc-gateway-kicker{margin-top:15px}
.pc-welcome-sanctuary .pc-gateway-rule{margin:15px auto 7px}
.pc-welcome-sanctuary .pc-gateway-actions{position:absolute!important;left:50%!important;top:auto!important;bottom:clamp(142px,17vh,176px)!important;transform:translateX(-50%)!important;width:min(1120px,86vw)!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:16px!important;margin:0!important}
.pc-welcome-sanctuary .pc-gateway-actions button,.pc-welcome-sanctuary .pc-gateway-enter{position:static!important;transform:none!important;width:auto!important;min-height:118px!important;border-radius:20px!important;padding:18px 16px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;text-align:center!important;gap:6px!important;background:linear-gradient(180deg,rgba(12,11,9,.50),rgba(8,8,7,.64))!important;border:1px solid rgba(255,255,255,.40)!important;backdrop-filter:blur(12px)}
.pc-welcome-sanctuary .pc-gateway-actions button:hover{transform:translateY(-4px)!important}
.pc-welcome-sanctuary .pc-gateway-icon{width:auto!important;flex:0 0 auto!important;font-size:2rem!important}
.pc-welcome-sanctuary .pc-gateway-contact{position:absolute!important;left:50%!important;bottom:clamp(30px,4vh,48px)!important;transform:translateX(-50%)!important;width:min(1320px,92vw)!important;min-height:78px!important;margin:0!important;padding:12px 22px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:24px!important;background:rgba(5,7,8,.70)!important;backdrop-filter:blur(16px)}
.pc-welcome-sanctuary .pc-gateway-dots{left:auto!important;right:26px!important;bottom:18px!important;transform:none!important}

/* CIRCLE: disciplined radial geometry. The orbit and the contact bar are separate zones. */
.pc-welcome-circle .pc-gateway-shade{background:radial-gradient(circle at 50% 42%,rgba(0,0,0,.08),rgba(0,0,0,.38) 70%,rgba(0,0,0,.58))}
.pc-welcome-circle .pc-gateway-content{position:absolute!important;left:50%!important;top:43%!important;transform:translate(-50%,-50%)!important;width:clamp(285px,21vw,330px)!important;height:clamp(285px,21vw,330px)!important;min-width:0!important;min-height:0!important;padding:30px!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;text-align:center!important;background:radial-gradient(circle,rgba(24,18,12,.66),rgba(10,12,13,.48))!important;border:2px solid rgba(235,190,91,.62)!important;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 22px 70px rgba(0,0,0,.34)!important;backdrop-filter:blur(10px);z-index:4}
.pc-welcome-circle .pc-gateway-content:before{content:"";position:absolute;left:50%;top:50%;width:clamp(470px,35vw,540px);height:clamp(470px,35vw,540px);transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(240,195,91,.76);box-shadow:0 0 24px rgba(229,178,65,.14);pointer-events:none;z-index:-1}
.pc-welcome-circle .pc-gateway-content:after{content:"";position:absolute;left:50%;top:50%;width:clamp(500px,39vw,600px);height:clamp(500px,39vw,600px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 0,#f0c25b 0 4px,transparent 5px),radial-gradient(circle at 100% 50%,#f0c25b 0 4px,transparent 5px),radial-gradient(circle at 50% 100%,#f0c25b 0 4px,transparent 5px),radial-gradient(circle at 0 50%,#f0c25b 0 4px,transparent 5px);filter:drop-shadow(0 0 7px rgba(240,194,91,.75));pointer-events:none;z-index:-1}
.pc-welcome-circle .pc-gateway-mark{width:clamp(58px,5vw,76px)!important;margin:0 auto 7px!important}
.pc-welcome-circle h1{font-size:clamp(2.15rem,2.8vw,3.35rem)!important;line-height:.98!important;max-width:330px!important;margin:0 auto!important}
.pc-welcome-circle .pc-gateway-kicker{font-size:clamp(.68rem,.78vw,.84rem)!important;letter-spacing:.29em!important;margin-top:13px!important}
.pc-welcome-circle .pc-gateway-rule{width:72%!important;margin:13px auto 2px!important}
.pc-welcome-circle .pc-gateway-actions{position:absolute!important;inset:0!important;display:block!important;margin:0!important;pointer-events:none!important;z-index:6!important}
.pc-welcome-circle .pc-gateway-actions button{position:absolute!important;width:clamp(112px,8.2vw,130px)!important;height:clamp(112px,8.2vw,130px)!important;min-height:0!important;border-radius:50%!important;padding:15px 10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:3px!important;pointer-events:auto!important;background:linear-gradient(145deg,rgba(42,31,19,.76),rgba(10,12,13,.72))!important;border:1.5px solid rgba(235,190,91,.78)!important;backdrop-filter:blur(12px);box-shadow:0 12px 32px rgba(0,0,0,.28)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(1){left:50%!important;top:calc(43% - clamp(235px,17.5vw,270px))!important;transform:translate(-50%,-50%)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(2){left:calc(50% + clamp(235px,17.5vw,270px))!important;top:43%!important;transform:translate(-50%,-50%)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){left:50%!important;top:calc(43% + clamp(235px,17.5vw,270px))!important;transform:translate(-50%,-50%)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(4){left:calc(50% - clamp(235px,17.5vw,270px))!important;top:43%!important;transform:translate(-50%,-50%)!important}
.pc-welcome-circle .pc-gateway-actions button:hover{filter:brightness(1.16);box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 22px rgba(235,190,91,.16)!important}
.pc-welcome-circle .pc-gateway-icon{font-size:1.75rem!important;width:auto!important;flex:0 0 auto!important}
.pc-welcome-circle .pc-gateway-actions strong{font-size:clamp(.78rem,.9vw,1rem)!important}.pc-welcome-circle .pc-gateway-actions small{font-size:clamp(.66rem,.72vw,.78rem)!important;margin-top:2px!important}
.pc-welcome-circle .pc-gateway-contact{position:fixed!important;left:50%!important;bottom:22px!important;transform:translateX(-50%)!important;width:min(1320px,92vw)!important;min-height:76px!important;margin:0!important;padding:11px 22px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:28px!important;background:rgba(4,7,8,.80)!important;backdrop-filter:blur(16px);z-index:9!important}
.pc-welcome-circle .pc-gateway-dots{left:auto!important;right:24px!important;bottom:7px!important;transform:none!important;z-index:10!important}
@media(min-width:901px) and (max-height:780px){
 .pc-welcome-circle .pc-gateway-content{top:42%!important;width:280px!important;height:280px!important;padding:26px!important}
 .pc-welcome-circle .pc-gateway-content:before,.pc-welcome-circle .pc-gateway-content:after{width:430px!important;height:430px!important}
 .pc-welcome-circle h1{font-size:2.35rem!important}
 .pc-welcome-circle .pc-gateway-actions button{width:104px!important;height:104px!important}
 .pc-welcome-circle .pc-gateway-actions button:nth-child(1){top:calc(42% - 215px)!important}
 .pc-welcome-circle .pc-gateway-actions button:nth-child(2){left:calc(50% + 215px)!important;top:42%!important}
 .pc-welcome-circle .pc-gateway-actions button:nth-child(3){top:calc(42% + 215px)!important}
 .pc-welcome-circle .pc-gateway-actions button:nth-child(4){left:calc(50% - 215px)!important;top:42%!important}
 .pc-welcome-circle .pc-gateway-contact{position:fixed!important;bottom:18px!important;min-height:66px!important}
}
}
/* Step 10.54 — Circle final spacing pass. Desktop only. */
@media(min-width:901px){
.pc-welcome-circle .pc-gateway-content{top:37%!important;width:clamp(260px,19vw,300px)!important;height:clamp(260px,19vw,300px)!important;padding:27px!important;background:radial-gradient(circle,rgba(24,18,12,.54),rgba(10,12,13,.36))!important}
.pc-welcome-circle .pc-gateway-content:before{width:clamp(430px,32vw,495px)!important;height:clamp(430px,32vw,495px)!important}
.pc-welcome-circle .pc-gateway-content:after{width:clamp(455px,34vw,525px)!important;height:clamp(455px,34vw,525px)!important}
.pc-welcome-circle h1{font-size:clamp(2rem,2.55vw,3.05rem)!important;max-width:300px!important}
.pc-welcome-circle .pc-gateway-actions button{width:clamp(104px,7.5vw,120px)!important;height:clamp(104px,7.5vw,120px)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(1){left:50%!important;top:calc(37% - clamp(215px,16vw,248px))!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(2){left:calc(50% + clamp(215px,16vw,248px))!important;top:37%!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){left:50%!important;top:calc(37% + clamp(215px,16vw,248px))!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(4){left:calc(50% - clamp(215px,16vw,248px))!important;top:37%!important}
/* Contact is nested inside the transformed circle content, so fixed positioning was relative to that circle.
   Place it explicitly below the completed orbit instead: circle -> breathing room -> contact. */
.pc-welcome-circle .pc-gateway-contact{position:absolute!important;left:50%!important;top:calc(50% + 44vh)!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(1320px,92vw)!important;min-height:72px!important;background:rgba(4,7,8,.76)!important}
.pc-welcome-circle .pc-gateway-dots{position:fixed!important;left:auto!important;right:24px!important;bottom:7px!important;top:auto!important;transform:none!important}
}
@media(min-width:901px) and (max-height:780px){
.pc-welcome-circle .pc-gateway-content{top:35%!important;width:250px!important;height:250px!important;padding:23px!important}
.pc-welcome-circle .pc-gateway-content:before{width:400px!important;height:400px!important}
.pc-welcome-circle .pc-gateway-content:after{width:425px!important;height:425px!important}
.pc-welcome-circle h1{font-size:2.15rem!important}
.pc-welcome-circle .pc-gateway-actions button{width:98px!important;height:98px!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(1){top:calc(35% - 200px)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(2){left:calc(50% + 200px)!important;top:35%!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){top:calc(35% + 200px)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(4){left:calc(50% - 200px)!important;top:35%!important}
.pc-welcome-circle .pc-gateway-contact{top:calc(50% + 45vh)!important;min-height:64px!important}
}
/* Step 10.55 — Circle final polish. Desktop only. */
@media(min-width:901px){
/* Lower the complete orbital composition slightly while keeping the contact zone independent. */
.pc-welcome-circle .pc-gateway-content{top:39%!important}
/* Give the four satellites a little more presence without enlarging the orbit. */
.pc-welcome-circle .pc-gateway-actions button{width:clamp(111px,8vw,128px)!important;height:clamp(111px,8vw,128px)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(1){left:50%!important;top:calc(39% - clamp(215px,16vw,248px))!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(2){left:calc(50% + clamp(215px,16vw,248px))!important;top:39%!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){left:50%!important;top:calc(39% + clamp(215px,16vw,248px))!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(4){left:calc(50% - clamp(215px,16vw,248px))!important;top:39%!important}
/* Preserve the approved contact-bar position even though the orbit moved down. */
.pc-welcome-circle .pc-gateway-contact{top:calc(50% + 42vh)!important}
/* Four crisp gold orbital nodes. */
.pc-welcome-circle .pc-gateway-content:after{background:radial-gradient(circle at 50% 0,#f5c75d 0 4px,transparent 5px),radial-gradient(circle at 100% 50%,#f5c75d 0 4px,transparent 5px),radial-gradient(circle at 50% 100%,#f5c75d 0 4px,transparent 5px),radial-gradient(circle at 0 50%,#f5c75d 0 4px,transparent 5px)!important;filter:drop-shadow(0 0 8px rgba(245,199,93,.9))!important}
}
@media(min-width:901px) and (max-height:780px){
.pc-welcome-circle .pc-gateway-content{top:37%!important}
.pc-welcome-circle .pc-gateway-actions button{width:105px!important;height:105px!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(1){top:calc(37% - 200px)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(2){left:calc(50% + 200px)!important;top:37%!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){top:calc(37% + 200px)!important}
.pc-welcome-circle .pc-gateway-actions button:nth-child(4){left:calc(50% - 200px)!important;top:37%!important}
.pc-welcome-circle .pc-gateway-contact{top:calc(50% + 43vh)!important}
}
/* Step 10.56 — Circle refined rings and labels. Desktop only. */
@media(min-width:901px){
/* Button labels are intentionally minimal in Circle. */
.pc-welcome-circle .pc-gateway-actions small{display:none!important}
.pc-welcome-circle .pc-gateway-actions button{gap:5px!important}
/* Inner identity ring: slimmer line, soft restrained fade rather than a hard heavy edge. */
.pc-welcome-circle .pc-gateway-content{border:1.35px solid rgba(238,194,92,.62)!important;box-shadow:0 0 12px rgba(238,194,92,.16),0 0 30px rgba(238,194,92,.08),0 22px 70px rgba(0,0,0,.30)!important}
/* Outer orbit: finer than the inner ring, with a very subtle luminous falloff. */
.pc-welcome-circle .pc-gateway-content:before{border:1px solid rgba(238,194,92,.58)!important;box-shadow:0 0 8px rgba(238,194,92,.13),0 0 18px rgba(238,194,92,.07)!important}
/* Four small glowing full-circle nodes BETWEEN the four satellite buttons. */
.pc-welcome-circle .pc-gateway-content:after{background:radial-gradient(circle at 85.35% 14.65%,rgba(255,224,142,1) 0 3px,rgba(242,193,77,.78) 3.5px 5px,transparent 5.5px),radial-gradient(circle at 85.35% 85.35%,rgba(255,224,142,1) 0 3px,rgba(242,193,77,.78) 3.5px 5px,transparent 5.5px),radial-gradient(circle at 14.65% 85.35%,rgba(255,224,142,1) 0 3px,rgba(242,193,77,.78) 3.5px 5px,transparent 5.5px),radial-gradient(circle at 14.65% 14.65%,rgba(255,224,142,1) 0 3px,rgba(242,193,77,.78) 3.5px 5px,transparent 5.5px)!important;filter:drop-shadow(0 0 5px rgba(245,199,93,.72))!important}
}
/* Step 10.57 — Circle integrated glow treatment. Desktop only. */
@media(min-width:901px){
/* Inner identity ring is deliberately stronger than the orbit, but still softly illuminated. */
.pc-welcome-circle .pc-gateway-content{border:1.8px solid rgba(239,195,91,.72)!important;box-shadow:0 0 5px rgba(244,202,103,.22),0 0 14px rgba(238,194,92,.16),0 0 28px rgba(238,194,92,.075),0 22px 70px rgba(0,0,0,.30)!important}
/* Outer orbit stays finer; its glow is a soft fade, not a hard/neon line. */
.pc-welcome-circle .pc-gateway-content:before{border:1.05px solid rgba(238,194,92,.62)!important;box-shadow:0 0 4px rgba(245,202,101,.18),0 0 10px rgba(238,194,92,.11),0 0 20px rgba(238,194,92,.055)!important}
/* The four junction blooms live ON the orbital circumference.  Their bright core fades into the same gold as the orbit. */
.pc-welcome-circle .pc-gateway-content:after{width:clamp(430px,32vw,495px)!important;height:clamp(430px,32vw,495px)!important;background:radial-gradient(circle at 85.355% 14.645%,rgba(255,235,177,.98) 0 1.6px,rgba(247,207,111,.84) 2px 3.2px,rgba(239,194,92,.38) 4px 6px,rgba(239,194,92,.12) 7px 9px,transparent 10px),radial-gradient(circle at 85.355% 85.355%,rgba(255,235,177,.98) 0 1.6px,rgba(247,207,111,.84) 2px 3.2px,rgba(239,194,92,.38) 4px 6px,rgba(239,194,92,.12) 7px 9px,transparent 10px),radial-gradient(circle at 14.645% 85.355%,rgba(255,235,177,.98) 0 1.6px,rgba(247,207,111,.84) 2px 3.2px,rgba(239,194,92,.38) 4px 6px,rgba(239,194,92,.12) 7px 9px,transparent 10px),radial-gradient(circle at 14.645% 14.645%,rgba(255,235,177,.98) 0 1.6px,rgba(247,207,111,.84) 2px 3.2px,rgba(239,194,92,.38) 4px 6px,rgba(239,194,92,.12) 7px 9px,transparent 10px)!important;filter:none!important}
}
@media(min-width:901px) and (max-height:780px){
.pc-welcome-circle .pc-gateway-content:after{width:400px!important;height:400px!important}
}
/* Step 10.58 — Circle final radial balance. Desktop only. */
@media(min-width:901px){
/* Find Us gets the same visual breathing room below the identity disc that Webcams has above it. */
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){top:calc(39% + clamp(247px,17.2vw,280px))!important}
/* Slightly stronger inner identity ring: still subtle, but clearly richer than the outer orbit. */
.pc-welcome-circle .pc-gateway-content{border:2.15px solid rgba(242,199,96,.80)!important;box-shadow:0 0 6px rgba(248,210,119,.30),0 0 16px rgba(240,196,91,.21),0 0 32px rgba(238,194,92,.10),0 22px 70px rgba(0,0,0,.30)!important}
}
@media(min-width:901px) and (max-height:780px){
.pc-welcome-circle .pc-gateway-actions button:nth-child(3){top:calc(37% + 232px)!important}
}
@media(max-width:900px){
.pc-welcome-sanctuary .pc-gateway-content,.pc-welcome-circle .pc-gateway-content{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:min(94vw,720px)!important;height:auto!important;min-width:0!important;min-height:0!important;border-radius:0!important;background:none!important;border:0!important;box-shadow:none!important;padding:28px 0 18px!important;margin:auto!important}
.pc-welcome-circle .pc-gateway-content:before,.pc-welcome-circle .pc-gateway-content:after{display:none!important}
.pc-welcome-sanctuary .pc-gateway-actions,.pc-welcome-circle .pc-gateway-actions{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;bottom:auto!important;right:auto!important;transform:none!important;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:22px 0 0!important;pointer-events:auto!important}
.pc-welcome-sanctuary .pc-gateway-actions button,.pc-welcome-circle .pc-gateway-actions button{position:static!important;width:auto!important;height:auto!important;min-height:92px!important;border-radius:16px!important;transform:none!important;padding:13px!important}
.pc-welcome-sanctuary .pc-gateway-contact,.pc-welcome-circle .pc-gateway-contact{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;min-height:0!important;margin:16px 0 0!important;padding:12px!important;display:grid!important;grid-template-columns:1fr!important;border-radius:16px!important}
.pc-welcome-sanctuary .pc-gateway-contact>a,.pc-welcome-sanctuary .pc-gateway-contact>div,.pc-welcome-circle .pc-gateway-contact>a,.pc-welcome-circle .pc-gateway-contact>div{width:100%!important;min-width:0!important;justify-content:flex-start!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18);padding:9px 6px!important}
.pc-welcome-sanctuary .pc-gateway-contact>*:last-child,.pc-welcome-circle .pc-gateway-contact>*:last-child{border-bottom:0!important}
.pc-welcome-sanctuary .pc-gateway-dots,.pc-welcome-circle .pc-gateway-dots{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:10px auto 12px!important}
}