:root{--surface:#fcfaf5;--surface-raised:#fff;--text:#0b2033;--text-muted:#425568;--border:#687886;--accent:#785b00;--error:#a11c28;--focus-light:#fff;--focus-dark:#0b2033;color:var(--text);background:var(--surface);color-scheme:light}
:root[data-theme=dark]{--surface:#0b1723;--surface-raised:#142739;--text:#f8f5ec;--text-muted:#c4cfda;--border:#8497a8;--accent:#f4d34f;--error:#ffbbc2;--paper:var(--surface);--ink-soft:var(--text-muted);--rule:#617183;color-scheme:dark}
body{color:var(--text);background:var(--surface)}
.page-index .site-header{top:0;background:#0b2033ef}
.site-header{flex-wrap:wrap;gap:1.25rem}
.header-tools{gap:1.25rem}.theme-control{font-size:.75rem;display:flex;align-items:center;gap:.45rem;color:#fff}.theme-control select{min-height:3rem;background:#0b2033;color:#fff;border:1px solid #aab9c6;padding:.5rem;max-width:7rem}
.pathways-prompt{padding-top:3rem;background:var(--surface)}.pathways-prompt h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:0 0 .5rem}.pathways-prompt p{margin:0;color:var(--text-muted)}
.visual-pathways{background:var(--surface);color:var(--text);padding-top:2rem}.visual-pathways .motion-icon{color:var(--accent)}.visual-pathways>a{transition:background-color .2s,translate .3s}.visual-pathways>a:hover{translate:0 -.3rem}.visual-pathways .arrow{color:var(--text)}
.sacrament-interlude,.ministry-story{background:var(--surface);color:var(--text)}.ministry-story{display:block;max-width:65rem}.ministry-story>div{max-width:55rem}.sacrament-interlude p,.ministry-story p{color:var(--text-muted)}
.article-hero{position:relative;isolation:isolate;overflow:clip;background:#0b2033;color:#fff;min-height:23rem;display:grid;align-items:end;padding:4rem 0}.article-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.25);z-index:-1}.article-hero h1{font-size:clamp(2.5rem,5.3vw,5rem);line-height:1.13;max-width:22ch;margin:1rem 0}.breadcrumb{font-size:.875rem}.article-hero .button{margin-top:1rem}
.article-layout{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:5rem;padding-block:4rem 6rem}.article-sidebar nav{display:grid;position:sticky;top:2rem;gap:.5rem}.article-sidebar a{padding:.65rem 0;border-bottom:1px solid var(--border)}.article-body{max-width:76ch;min-width:0;line-height:1.85}.article-body>p,.article-body>ul,.article-body>ol{margin-bottom:1.5rem}.article-body h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:2.5rem 0 1rem;line-height:1.22}.article-body h3{font-size:1.55rem;line-height:1.3;margin-top:2rem}.article-body a{color:var(--accent);font-weight:600}.article-body .button{color:#fff}.article-body li+li{margin-top:.5rem}.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.article-body th,.article-body td{padding:.8rem;border:1px solid var(--border)}.article-body summary{font-weight:600;padding:1rem;border-bottom:1px solid var(--border);min-height:3rem}.article-body details{margin-block:1rem}.article-body blockquote{border-left:.2rem solid var(--accent);margin:2rem 0;padding:0 1.5rem;font-family:var(--serif);font-size:1.3rem}.article-body hr{border:0;margin:2rem 0}
.enquiry-heading{padding-block:4rem 2rem}.enquiry-heading h1{font-size:clamp(2.8rem,6vw,5rem);margin:1rem 0}.enquiry-heading>p{max-width:70ch}.form-page{max-width:65rem;padding-bottom:5rem}.journey{color:var(--text);background:var(--surface)}.journey h2{font-size:1.8rem}.journey-progress{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-block:1px solid var(--border);padding:1rem 0}.journey-progress progress{width:100%;height:.5rem;accent-color:var(--accent)}.form-field{margin:1.8rem 0;min-width:0}.form-field>label,.form-field>legend{display:block;font-weight:600;margin-bottom:.55rem;line-height:1.55}.form-field fieldset,fieldset.form-field{border:0;padding:0}.form-help{font-size:.9rem;color:var(--text-muted);line-height:1.6}.form-field input:not([type=radio],[type=checkbox]),.form-field textarea,.form-field select,#clement-question,.service-form input,.service-form textarea,.service-form select{display:block;width:100%;min-width:0;max-width:100%;background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:.15rem;padding:.85rem;min-height:3rem}.form-field textarea{resize:vertical;min-height:10rem}.choice-row{display:flex;align-items:start;gap:.85rem;padding:.75rem .5rem;min-height:3rem;line-height:1.5}.choice-row input{flex-shrink:0;min-width:1.25rem;height:1.25rem;margin-top:.2rem;accent-color:var(--accent)}.form-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0}.form-actions button,.service-form button,#clement-form button{min-height:3rem;padding:.75rem 1.3rem;border:1px solid var(--border);background:var(--surface-raised);color:var(--text)}.form-actions .primary,.service-form button[type=submit],#clement-form button{background:#0b2033;color:#fff;border-color:#899ba8}.form-error{color:var(--error);font-size:.95rem;font-weight:600}.error-summary{border:.15rem solid var(--error);padding:1.3rem;margin:1rem 0}.error-summary a{display:block;padding:.4rem}.word-count{display:block;font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.form-content{white-space:pre-line;line-height:1.8;margin-block:2rem}.save-panel{padding:1.5rem;border:1px solid var(--border);margin-top:2rem}.form-status{min-height:1.5rem;line-height:1.6}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-answer{border-bottom:1px solid var(--border);padding:1rem 0}.review-answer p{white-space:pre-wrap}.required-note{font-size:.9rem;color:var(--text-muted)}
.support-panel,.cookie-notice{background:var(--surface-raised);color:var(--text)}.support-panel p,.cookie-notice p{color:var(--text-muted)}.support-panel select,.support-panel input{color:var(--text);background:var(--surface)}.support-panel a{color:var(--accent)}.support-panel button,.cookie-notice button{border-color:var(--border)}#clement-messages{max-height:45vh;overflow-y:auto;overscroll-behavior:contain}#clement-messages>div{padding:1rem 0;border-bottom:1px solid var(--border)}#clement-messages p{white-space:pre-line;line-height:1.7}#clement-form label{display:block;margin:1rem 0 .5rem}.service-form{max-width:55rem}.service-form label{display:block;font-weight:600;margin:1.2rem 0 .5rem}
:focus-visible{outline:3px solid var(--focus-light)!important;box-shadow:0 0 0 6px var(--focus-dark)!important;outline-offset:0!important}button,a,input,select,textarea,summary{scroll-margin-block:6rem}button,a{touch-action:manipulation}input,textarea{caret-color:var(--text)}
/* Photo movement never carries essential information. Static content is always visible. */
.cinematic-hero .hero-image{transform:translate3d(0,var(--hero-y,0px),0) scale(1.06)}.scene-image,.vocation-image{overflow:clip}.vocation-image img{transform:translate3d(0,var(--scene-y,0px),0) scale(1.15);height:115%;object-fit:cover}.welcome-glass{transform:translate3d(0,var(--scene-y,0px),0) scale(1.13)}.motion-arrive{animation:section-arrive 900ms cubic-bezier(.16,1,.3,1) both}.motion-arrive:nth-child(2){animation-duration:1150ms}.motion-arrive:nth-child(3){animation-duration:1350ms}.explore-cue svg{animation:invite-down 3s ease-in-out infinite}.statement-seal{animation:seal-breathe 9s ease-in-out infinite}.motion-icon.icon-animate path{animation-duration:1900ms}.menu-grid nav a{transition:padding-left .3s}.menu-grid nav a:hover{padding-left:.75rem}
@keyframes section-arrive{from{transform:translateY(1.7rem)}to{transform:translateY(0)}}@keyframes invite-down{0%,60%,100%{translate:0 0}75%{translate:0 .4rem}85%{translate:0 .1rem}}@keyframes seal-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
:root[data-reduced-motion] *, :root[data-reduced-motion] *::before,:root[data-reduced-motion] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;translate:none!important}.page-index:has([data-reduced-motion]){scroll-behavior:auto}:root[data-reduced-motion] .hero-image,:root[data-reduced-motion] .vocation-image img,:root[data-reduced-motion] .welcome-glass{transform:none!important}
:root[data-reading-images] .article-hero>img{display:none}:root[data-reading-images] .article-hero{min-height:0}
:root[data-contrast=light]{--surface:#fff;--surface-raised:#fff;--text:#07131d;--text-muted:#172b3a;--accent:#3e3000;--border:#07131d;--error:#8c0714;color-scheme:light}:root[data-contrast=dark]{--surface:#06121c;--surface-raised:#06121c;--text:#fff;--text-muted:#fff;--accent:#ffe16b;--border:#fff;--error:#ffcad0;color-scheme:dark}
:root[data-contrast=light] .article-body,:root[data-contrast=light] .journey,:root[data-contrast=dark] .article-body,:root[data-contrast=dark] .journey{background:var(--surface);color:var(--text)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;translate:none!important}.hero-image,.vocation-image img,.welcome-glass{transform:none!important}}
@media(max-width:65rem){.header-shortcuts{display:none}.article-layout{grid-template-columns:1fr;gap:2rem}.article-sidebar nav{position:static;display:flex;flex-wrap:wrap;gap:1rem}.article-sidebar{order:2}.article-sidebar a{padding:.8rem}.site-header{padding-block:1rem}}
@media(max-width:40rem){.site-header{gap:.6rem}.header-tools{width:100%;justify-content:space-between;gap:.5rem}.theme-control{font-size:.75rem}.theme-control select{max-width:6rem}.page-index .site-header{position:relative}.hero-stage{padding-top:4rem}.cinematic-hero{height:auto;min-height:35rem}.article-layout{padding-block:2rem}.article-hero{min-height:17rem}.form-actions button{flex:1 1 9rem}.visual-pathways>a:hover{translate:none}.theme-control select,.motion-control,.menu-trigger{min-height:3rem}.pathways-prompt{padding-top:2rem}}
@media(max-width:40rem){
	.site-header{min-height:0;padding:.65rem .75rem;gap:.5rem}
	.site-header .brand img{width:42px;height:42px}
	.site-header .brand span{font-size:.95rem;line-height:1.12}
	.header-tools{gap:.4rem}
	.header-tools :is(.action-control,.motion-control,.menu-trigger),.language-control>summary{min-height:44px;padding:.45rem .55rem}
	.cinematic-hero{height:auto;min-height:34rem;max-height:none}
	.hero-stage{height:auto;min-height:34rem;padding:1.75rem 1rem 5rem;justify-content:flex-start}
	.hero-stage h1{font-size:clamp(2rem,8.5vw,3.25rem);line-height:1.08;max-width:100%;margin:0 0 1.5rem}
	.hero-stage h1 em{margin-top:.3rem}
	.hero-bottom{margin-top:auto;gap:1rem}
}
.relationship-photo{margin:2rem 0 3rem}.relationship-photo img{display:block;width:100%;height:clamp(15rem,40vw,29rem);object-fit:cover}.relationship-photo figcaption{padding:.6rem 0;color:var(--text-muted);font-size:.9rem}.relationship-photo-small img{height:clamp(13rem,30vw,23rem)}.relationship-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 3rem}.relationship-list section{min-width:0;padding:1.3rem;border:1px solid var(--border);background:var(--surface-raised)}.relationship-list h3{margin:0 0 .65rem;font-size:1.35rem}.relationship-list p{margin:0;line-height:1.65}
@media(max-width:48rem){.relationship-list{grid-template-columns:1fr}.relationship-list section{padding:1rem}}

.mission-icon{display:inline-flex;width:4rem;height:4rem;flex-shrink:0}.aocm-icon{width:100%;height:100%;overflow:visible}.sacrament-index .mission-icon{width:3rem;height:3rem}.sacrament-index>a{justify-content:start;gap:1rem}.sacrament-index .arrow{margin-left:auto}.prayer-scene,.vocation-copy,:root[data-theme=dark]{--icon-navy:#f8f5ec;--icon-gold:#f4d34f;--icon-coral:#ffb095}:root[data-contrast=light]{--icon-navy:#07131d;--icon-gold:#785b00;--icon-coral:#923914}:root[data-contrast=dark]{--icon-navy:#fff;--icon-gold:#ffe16b;--icon-coral:#ffd3bf}

.welcome-close{overflow:clip}.theme-control{white-space:nowrap;flex-shrink:0}.header-tools{flex-shrink:0}@media(max-width:75rem){.header-shortcuts{display:none}}

.language-control{display:flex;align-items:center;min-width:0}.language-control select{max-width:10rem;min-height:3rem;background:#0b2033;color:#fff;border:1px solid #aab9c6;cursor:pointer}.language-control select option{background:#0b2033;color:#fff}
@media(max-width:47.5rem){.site-header{flex-wrap:wrap}.header-tools{width:100%;flex-wrap:wrap;justify-content:space-between}.language-control{flex:1 1 8rem}.language-control select{max-width:none;width:100%}}

.document-library input{display:block;width:100%;min-height:3rem;margin:1rem 0;padding:.85rem;background:var(--surface-raised);color:var(--text);border:1px solid var(--border)}.document-list{list-style:none;padding:0}.document-list li{padding:1.5rem 0;border-bottom:1px solid var(--border)}.document-list p{font-size:.875rem;margin:.5rem 0;color:var(--text-muted)}.document-gate{border-block:1px solid var(--border);padding:1.5rem 0;margin-block:2rem}

/* Page navigation uses quiet panels and a clear active edge instead of a stack of rules. */
.article-sidebar nav{gap:.35rem}
.article-sidebar a{display:block;padding:.75rem .85rem;border:0;border-inline-start:3px solid transparent;border-radius:.2rem;color:var(--text);text-decoration:none;font-weight:500;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.article-sidebar a:hover,.article-sidebar a:focus-visible{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);border-inline-start-color:var(--accent);text-decoration:none}
.article-sidebar a[aria-current=page]{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-inline-start-color:var(--accent);font-weight:700}
.about-main{min-width:0}.about-main .about-page{padding-inline:0}
.article-body h6{display:none}
.article-body a:not(.button),.about-page a:not(.button){text-decoration:none}
.article-body a:not(.button):hover,.article-body a:not(.button):focus-visible,.about-page a:not(.button):hover,.about-page a:not(.button):focus-visible{text-decoration:underline;text-underline-offset:.22em}
.article-hero>img{animation:article-hero-drift 18s ease-in-out infinite alternate;animation-play-state:running}
@keyframes article-hero-drift{from{transform:scale(1.04) translate3d(-1%,0,0)}to{transform:scale(1.12) translate3d(1%,0,0)}}
.article-hero:has(+ .article-layout){}
.form-field input[type=checkbox],.form-field input[type=radio],.service-form input[type=checkbox],.service-form input[type=radio]{flex:0 0 1.25rem;width:1.25rem;min-width:1.25rem;height:1.25rem;min-height:1.25rem;padding:0;margin:.2rem 0 0;accent-color:var(--accent)}
.service-form .choice-row{display:flex;align-items:flex-start;gap:.85rem}
@media(max-width:65rem){.article-sidebar nav{gap:.5rem}.article-sidebar a{padding:.7rem .85rem}}
:root[data-reduced-motion] .article-hero>img{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.article-hero>img{animation:none!important;transform:none!important}}
.booking-calendar{max-width:36rem;margin:1.5rem 0;padding:1rem;border:1px solid var(--border);background:var(--surface-raised)}
.booking-calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.booking-calendar-navigation h3{margin:0;text-align:center;font-size:1.25rem}.booking-calendar-navigation button{min-width:2.75rem;min-height:2.75rem}
.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;text-align:center}.booking-calendar-grid .booking-weekday{font-size:.8rem;font-weight:700;padding:.55rem 0}.booking-calendar-grid button{min-width:0;min-height:2.75rem;padding:.35rem;border:1px solid var(--border);border-radius:.2rem;background:var(--surface);color:var(--text);font:inherit}.booking-calendar-grid button:disabled{opacity:.4;border-color:transparent}.booking-calendar-grid button[aria-pressed=true],.booking-time-options button[aria-pressed=true]{background:var(--text);color:var(--surface);border-color:var(--text)}
.booking-time-options{display:flex;flex-wrap:wrap;gap:.5rem;max-width:36rem}.booking-time-options button{min-width:5.5rem;min-height:2.75rem;padding:.5rem;border:1px solid var(--border);border-radius:.2rem;background:var(--surface-raised);color:var(--text);font:inherit}.booking-calendar button:not(:disabled):hover,.booking-time-options button:hover{outline:2px solid var(--accent);outline-offset:1px}
:root .booking-journey .booking-calendar-grid button:not(:disabled){background:var(--surface-raised)!important;color:var(--text)!important;border:2px solid var(--border)!important;opacity:1!important;font-weight:700}
:root .booking-journey .booking-calendar-grid button:disabled{background:transparent!important;color:var(--text-muted)!important;border:1px solid transparent!important;opacity:.38!important;font-weight:400}
:root .booking-journey .booking-calendar-grid button[aria-pressed=true],:root .booking-journey .booking-time-options button[aria-pressed=true]{background:var(--text)!important;color:var(--surface)!important;border:2px solid var(--text)!important;opacity:1!important}
:root .booking-journey .booking-time-options button:not([aria-pressed=true]){background:var(--surface-raised)!important;color:var(--text)!important;border:1px solid var(--border)!important}
.booking-time-preferences{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:1rem 0}.booking-time-preferences>label{font-weight:600}.booking-time-preferences select{max-width:20rem;min-height:2.75rem;background:var(--surface-raised);color:var(--text);border:1px solid var(--border)}.booking-time-preferences fieldset{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;border:0;padding:0;margin:0}.booking-time-preferences legend{font-weight:600}.booking-time-preferences fieldset label{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.booking-journey form>input:not([type=checkbox],[type=radio]),.booking-journey form>select,.booking-journey form>textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:3.25rem;margin:.625rem 0 1rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:.15rem;background:var(--surface-raised);color:var(--text);font:inherit}
.booking-journey form>input:not([type=checkbox],[type=radio]),.booking-journey form>select{height:3.25rem}
.booking-confirmation{margin-block:2rem;padding:1.25rem 1.5rem;border:2px solid #18794e;background:#e7f4eb;color:#123d2b;font-weight:700;line-height:1.6;scroll-margin-top:7rem}.booking-confirmation:focus{outline:3px solid #09243b;outline-offset:3px}
.booking-calendar-legend{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:1rem;font-size:.9rem}.booking-calendar-legend span{display:inline-flex;align-items:center;gap:.4rem}.booking-calendar-legend i{display:inline-block;width:1.1rem;height:1.1rem;border-radius:.15rem}.booking-key-open{background:var(--action-fill);border:2px solid var(--action-border)}.booking-key-closed{background:var(--text-muted);opacity:.38;border:1px solid var(--text-muted)}
.site-header .menu-trigger{display:inline-flex}.article-layout.no-section-nav{grid-template-columns:minmax(0,1fr)}.article-sidebar nav{display:block}.article-sidebar .page-contents-title{font:700 .9rem/1.4 var(--sans);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .65rem;color:var(--text-muted)}.article-sidebar ul{list-style:none;margin:0;padding:0}.article-sidebar li{margin:0}.article-sidebar a{overflow-wrap:anywhere}.article-body h2[id],.about-main h2[id]{scroll-margin-top:2rem}
@media(max-width:95rem){.site-header .header-shortcuts{display:none}.site-header .menu-trigger{display:inline-flex}}
@media(max-width:65rem){.article-sidebar{order:0}.article-sidebar nav{display:block}.article-sidebar ul{display:flex;flex-wrap:wrap;gap:.4rem}.article-sidebar a{padding:.55rem .7rem;border:1px solid var(--border);border-inline-start:3px solid var(--accent)}}

/* The full menu is grouped by purpose; the short header stays intentionally small. */
.navigation-panel{overflow-y:auto;overscroll-behavior:contain}
.navigation-panel .menu-grid{grid-template-columns:minmax(13rem,28%) minmax(0,1fr);gap:5%}
.navigation-panel .menu-image{position:sticky;top:1rem;align-self:start;height:min(65vh,34rem);min-height:0}
.navigation-panel .menu-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem clamp(1.5rem,4vw,4rem);align-content:start}
.navigation-panel .menu-section{min-width:0}
.navigation-panel .menu-section h2{font:400 clamp(1.65rem,2.2vw,2.4rem)/1.2 var(--serif);color:#f4d34f;margin:0 0 .65rem}
.navigation-panel .menu-section a{display:block;font:400 1.05rem/1.35 var(--sans);color:#fff;text-decoration:none;border-bottom:1px solid #647480;padding:.65rem .25rem;min-height:44px;overflow-wrap:anywhere;transition:padding-left .2s,color .2s}
.navigation-panel .menu-section a:is(:hover,:focus-visible){color:#f4d34f;padding-left:.6rem}
@media(max-width:60rem){.navigation-panel .menu-grid{grid-template-columns:1fr;gap:2rem}.navigation-panel .menu-image{display:none}}
@media(max-width:38rem){.navigation-panel .menu-sections{grid-template-columns:1fr;gap:2rem}.navigation-panel .menu-section h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.navigation-panel .menu-section a{transition:none}}
:root[data-reduced-motion] .navigation-panel .menu-section a{transition:none}
/* Keep each sacrament name intact on small screens. Only multiword names wrap. */
@media(max-width:38rem){
	.sacrament-index>a{font-size:clamp(1.05rem,4.6vw,1.35rem);gap:.65rem;overflow-wrap:normal;word-break:normal;hyphens:none}
	.sacrament-index .mission-icon{width:2.5rem;height:2.5rem}
	.sacrament-index .arrow{width:1.35rem;min-width:1.35rem}
}
