/* GospelMeedia v11. Shared by both fully rendered languages and all information pages. */
:root{color-scheme:light;--ink:#1E163A;--text:#514A61;--muted:#384F6E;--paper:#fff;--cream:#F7F4EC;--gold:#DBA33B;--line:#D8D4DF;--cta-bg:#1E163A;--cta-text:#fff;--cta-sub:#D8D2E6;--cta-accent:#DBA33B;--button-bg:#DBA33B;--button-text:#1E163A;--font:"Lexend",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--body-font:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--body-font);font-size:100%}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;scrollbar-gutter:stable}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.65;font-weight:450}
img{display:block;max-width:100%}
button,input,select{font:inherit}
a{color:inherit;text-underline-offset:.23em;text-decoration-thickness:.1em}
button,a,select,input{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 4px var(--paper)}
main:focus{outline:none}
.ct{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;top:12px;left:20px;z-index:100;transform:translateY(-220%);padding:12px 20px;min-height:48px;background:var(--ink);color:var(--paper);border-radius:8px;font-weight:700}
.skip-link:focus{transform:none}
.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
h1,h2,h3{font-family:var(--font);font-weight:750;text-wrap:balance;overflow-wrap:break-word}
h1{max-width:58rem;font-size:clamp(2.625rem,6vw,5.125rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 1.625rem}
h2{font-size:clamp(2.125rem,4vw,3.375rem);line-height:1.14;letter-spacing:-.035em;margin:.75rem 0 1.25rem}
h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.015em}
p{margin:0 0 1.5em}
p,li,figcaption,label,button,a{overflow-wrap:anywhere}
p:last-child{margin-bottom:0}
/* This is a utility row, not a navigation menu. No sticky bar obscures content. */
.site-header{background:var(--paper)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}
.brand-home{display:block;max-width:calc(100% - 164px);flex:0 1 270px;border-radius:4px}
.brand-logo{width:270px;height:auto}
.site-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.language-links{display:flex;gap:2px;align-items:center}
.language-link{display:flex;align-items:center;justify-content:center;width:44px;min-height:48px;padding:8px 4px;text-decoration:none;font-size:.875rem;line-height:1.3;font-weight:600;border-radius:4px;color:var(--text)}
.language-link[aria-current]{color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:7px}
.icon-button{display:inline-flex;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:10px;background:transparent;color:var(--ink);border:0;border-radius:6px;cursor:pointer;text-decoration:none;flex-shrink:0}
.accessibility-trigger .icon{width:26px;height:26px}
.icon-button:hover,.language-link:hover{background:var(--cream)}
/* Borders removed from all contact CTAs; the keyboard-only focus ring is retained. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 21px;border:0;border-radius:10px;font-size:.9375rem;font-weight:750;font-family:var(--font);line-height:1.5;text-align:center;text-decoration:none;box-shadow:none}
.gold{background:var(--button-bg);color:var(--button-text)}
.light,.neutral{background:var(--cream);color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero{padding:28px 0 72px;background:radial-gradient(circle at 88% 12%,rgba(219,163,59,.10),transparent 28%),linear-gradient(180deg,var(--paper),var(--cream))}
.hg .lead{max-width:70ch;font-size:1.4375rem;line-height:1.65;color:var(--text)}
.lead strong{font-weight:650}
.sec{padding:84px 0}
.bus{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.bus>*,.cg>*{min-width:0}
.bus-copy>p:not(.ey){color:var(--text);font-size:1.1875rem;line-height:1.7;max-width:70ch}
.ey,.tag{color:var(--muted);text-transform:uppercase;font-family:var(--font);font-weight:750;letter-spacing:.09em}
.ey{font-size:.8125rem;line-height:1.6;margin:0}
.tag{font-size:.75rem;line-height:1.6;margin:0 0 .5rem}
.small{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 10px 40px rgba(30,22,58,.035)}
.small h3{margin:0 0 18px}
.small ul{margin:0;padding-left:22px;font-size:1.0625rem;color:var(--text)}
.small li{padding-left:2px;margin:9px 0}
.small li::marker{color:var(--muted)}
.small .btn{text-align:left}
.gallery-wrap{margin-top:52px}
.gallery-heading{display:flex;gap:20px;justify-content:space-between;align-items:baseline;margin-bottom:24px}
.gallery-heading h3{font-size:1.3125rem;margin:0}
.gallery-heading p{margin:0;font-size:.9375rem;color:var(--text)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px}
.gallery-card{position:relative;min-width:0;margin:0;border:0;border-radius:14px}
.gallery-link{position:relative;display:block;border-radius:14px;text-decoration:none;cursor:zoom-in;isolation:isolate}
.gallery-link picture{display:block;border-radius:14px;overflow:hidden;background:var(--cream);aspect-ratio:3/4}
.gallery-link img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}
.gallery-open{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:transparent;color:#fff;box-shadow:none;pointer-events:none}
.gallery-open .icon{width:24px;height:24px;filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 4px rgba(0,0,0,.8))}
.gallery-caption{position:absolute;inset:auto 0 0;margin:0;padding:48px 20px 20px;color:#fff;background:linear-gradient(0deg,rgba(8,5,18,.9),rgba(8,5,18,.65) 48%,transparent);border-radius:0 0 14px 14px;pointer-events:none;font-family:var(--font);font-weight:650;font-size:1rem;line-height:1.5;text-shadow:0 1px 2px #000}
.cta{padding:76px 0;background:var(--cta-bg);color:var(--cta-text)}
.cg{display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center}
.cta .ey{color:var(--cta-accent);margin-bottom:18px}
.cta h2{font-size:clamp(2.125rem,4.5vw,3.625rem);margin:0 0 20px}
.cta-description{color:var(--cta-sub);font-size:1.25rem;line-height:1.7;max-width:70ch}
.contact-actions{min-width:200px}
.contact-actions .btn{width:100%;border:0}
.cta :focus-visible{outline-color:var(--cta-accent);box-shadow:0 0 0 4px var(--cta-bg)}
.footer{padding:30px 0 24px;border-top:1px solid var(--line);color:var(--text);font-size:.875rem}
.fr{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
.fr p{margin:0;max-width:70ch}
.footer-links{display:flex;flex-wrap:wrap;gap:0 26px;margin-top:14px}
.footer-links a{display:inline-flex;align-items:center;min-height:48px;font-size:.875rem;padding-block:10px}
/* Native modal: inert background, explicit focus restoration, no image frame. */
dialog:not([open]){display:none}
html.modal-is-open{overflow:hidden;scrollbar-gutter:auto}
.lightbox{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:12px;border:0;border-radius:0;background:transparent;color:#fff;overflow:auto;overscroll-behavior:contain;box-shadow:none}
.lightbox[open]{display:grid;place-items:center}
.lightbox::backdrop{background:rgba(8,5,17,.95)}
.photo-viewport{position:relative;margin:0;padding:0;max-width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;container-type:inline-size;touch-action:pan-y pinch-zoom}
.lightbox-picture,.lightbox-picture img{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:0}
.photo-toolbar{position:absolute;inset:0 0 auto;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:0;padding:8px 8px 28px;background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,.65) 58%,transparent);pointer-events:none}
.photo-pagination,.photo-actions{display:flex;align-items:center;gap:0;pointer-events:auto}
.photo-tool{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;height:44px;padding:10px;border:0;border-radius:4px;color:#fff;background:transparent;text-decoration:none;cursor:pointer;flex-shrink:0}
.photo-tool .icon{filter:drop-shadow(0 1px 2px #000)}
.photo-tool:hover .icon{stroke-width:2.8}
.lightbox-counter{min-width:36px;text-align:center;white-space:nowrap;font-size:.8125rem;font-weight:700;color:#fff;text-shadow:0 1px 2px #000;line-height:1.3}
.photo-tool[aria-pressed=false] .icon{opacity:.7}
.lightbox :focus-visible{outline:3px solid #fff;outline-offset:-3px;box-shadow:0 0 0 2px #171020}
.photo-caption{position:absolute;inset:auto 0 0;z-index:1;color:#fff;padding:56px 24px 22px;max-height:calc(100% - 80px);overflow:auto;background:linear-gradient(0deg,rgba(0,0,0,.94),rgba(0,0,0,.80) 70%,transparent);text-shadow:0 1px 2px #000;scrollbar-width:thin}
.photo-caption h2{font-size:1.375rem;line-height:1.3;margin:0 0 8px;letter-spacing:-.015em;text-wrap:wrap;color:#fff}
.photo-caption p{font-size:.9375rem;line-height:1.6;margin:0;max-width:65ch;color:#fff}
.photo-caption .photo-keyboard{font-size:.75rem;margin-top:12px;color:#fff}
.lightbox-load{position:absolute;inset:50% 12px auto;transform:translateY(-50%);text-align:center;margin:0;padding:16px;background:rgba(0,0,0,.8);color:#fff;border:0}
@container (max-width:500px){.photo-caption{padding:40px 16px 16px}.photo-caption h2{font-size:1.125rem}.photo-caption p{font-size:.875rem}.photo-caption .photo-keyboard{display:none}}
@container (max-width:269px){.photo-toolbar{flex-wrap:wrap}.photo-actions{margin-left:auto}.photo-caption{max-height:calc(100% - 104px)}}
/* Accessibility and cookie panels. They are not image-viewer frames. */
.settings-dialog{width:min(600px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.settings-dialog::backdrop{background:rgba(13,8,24,.64)}
.settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 10px}
.settings-header h2{font-size:1.5rem;line-height:1.3;margin:0;text-wrap:wrap;letter-spacing:-.02em}
.settings-body{padding:8px 28px 26px}
.settings-intro{font-size:1rem;color:var(--text);margin-bottom:24px}
.display-controls{display:grid;gap:20px}
.display-controls label{display:grid;gap:8px;font-size:1rem;font-weight:650;min-width:0}
.display-controls select{width:100%;min-width:0;min-height:48px;padding:10px;color:var(--ink);background:var(--paper);border:1px solid var(--ink);border-radius:8px;font-size:1rem}
.display-controls .check-row,.remember-option{display:flex;gap:12px;align-items:flex-start;font-size:1rem;line-height:1.6;padding-block:10px;cursor:pointer}
.check-row input,.remember-option input{appearance:auto;width:24px;height:24px;flex:0 0 24px;margin:2px 0 0;accent-color:var(--ink)}
.reset-button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:48px;background:transparent;color:var(--ink);border:0;padding:10px 0;font-size:1rem;text-decoration:underline;text-underline-offset:4px;max-width:100%}
.settings-help{margin:20px 0;color:var(--text);font-size:.9375rem;line-height:1.65}
.simple-details{border-top:1px solid var(--line);padding-top:8px}
.simple-details summary{padding:12px 0;min-height:48px;cursor:pointer;font-weight:650;line-height:1.6}
.simple-details p{margin-top:8px;font-size:1rem}
.cookie-fact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:20px 0;padding:16px 18px;background:var(--cream);border-radius:10px;font-size:.9375rem}
.cookie-fact span{font-weight:700;color:var(--muted)}
.option-help{display:block;font-size:.9375rem;color:var(--text);font-weight:450;margin-top:6px}
.settings-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.setting-status{font-size:.9375rem;font-weight:600;color:var(--muted);margin:14px 0 0}
.setting-status:empty{display:none}
.policy-page{padding:36px 0 72px;min-height:65vh}
.policy-content{max-width:760px;margin-inline:auto}
.policy-content h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.15;margin:24px 0 12px}
.back-link{display:inline-flex;gap:8px;align-items:center;min-height:48px;font-size:1rem}
.policy-date{font-size:.875rem;color:var(--muted);margin-bottom:30px}
.notice{background:var(--cream);padding:20px 22px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;color:var(--text);font-size:1rem}
.notice strong{display:block;color:var(--ink);margin-bottom:6px}
.notice p{margin:0}
.policy-section{margin:34px 0}
.policy-section h2{font-size:1.5rem;line-height:1.35;margin:0 0 12px;text-wrap:wrap}
.policy-section p{color:var(--text);font-size:1.0625rem;line-height:1.75;overflow-wrap:anywhere}
.policy-content>.settings-body{padding:0}
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){html:not([data-motion=reduce]) .gallery-link img{transition:transform 250ms ease-out}html:not([data-motion=reduce]) .gallery-link:hover img{transform:scale(1.035)}}
@media (hover:hover){.btn:hover{filter:brightness(.96)}}
@media (max-width:1000px){.bus{gap:28px}.small{padding:24px}.cg{grid-template-columns:1fr;gap:28px}.contact-actions{width:fit-content}}
@media (max-width:899px) and (min-width:600px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bus{grid-template-columns:1fr;gap:30px}.small ul{columns:2;column-gap:32px}.small li{break-inside:avoid}}
@media (max-width:760px){.topbar{padding-block:14px;gap:12px}.brand-home{max-width:calc(100% - 148px)}.brand-logo{width:235px}.site-tools{gap:4px}.hero{padding:18px 0 52px}h1{font-size:clamp(2.625rem,8.6vw,4rem)}.hg .lead{font-size:1.25rem;line-height:1.65}.sec{padding:58px 0}.bus{grid-template-columns:1fr;gap:30px}.bus-copy>p:not(.ey){font-size:1.125rem}.bus h2{font-size:clamp(2.125rem,6.5vw,2.875rem)}.gallery-wrap{margin-top:38px}.gallery-heading{display:block}.gallery-heading p{margin-top:8px}.cta{padding:56px 0}.cta h2{font-size:clamp(2.125rem,7vw,2.75rem)}.cta-description{font-size:1.1875rem}}
@media (max-width:599px){.gallery{grid-template-columns:minmax(0,1fr);gap:20px}.small .btn{width:100%}.ey{font-size:.75rem;letter-spacing:.065em}.photo-caption .photo-keyboard{display:none}.lightbox{padding:12px}.settings-header{padding:16px 16px 8px}.settings-body{padding:8px 20px 22px}.settings-header h2{font-size:1.375rem}.footer-links{gap:0 20px}.footer-links a{font-size:.9375rem}.policy-page{padding:20px 0 52px}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}}
@media (max-width:359px){h1{font-size:2.5rem}.hg .lead{font-size:1.125rem}.small{padding:20px}.small h3{font-size:1.25rem}.btn{padding:12px 16px}.actions .btn{width:100%}.topbar{gap:8px}.site-tools{gap:0}.brand-home{max-width:calc(100% - 140px)}}
html[data-text="125"]{font-size:125%}html[data-text="150"]{font-size:150%}html[data-text="200"]{font-size:200%}
html[data-text="150"] .bus,html[data-text="200"] .bus,html[data-text="200"] .cg{grid-template-columns:1fr}
html[data-text="200"] .gallery{grid-template-columns:minmax(0,1fr)}
html[data-reading="true"] p{max-width:65ch;line-height:1.7}
html[data-reading="true"] .bus-copy>p:not(.ey){margin-bottom:2.5em}
html[data-reading="true"] .hg,html[data-reading="true"] .bus-copy{max-width:65ch}
html[data-reading="true"] .bus{grid-template-columns:1fr}
html[data-colors=light]{--ink:#000;--text:#000;--muted:#000;--paper:#fff;--cream:#fff;--line:#000;--cta-bg:#fff;--cta-text:#000;--cta-sub:#000;--cta-accent:#000;--button-bg:#000;--button-text:#fff}
html[data-colors=dark]{color-scheme:dark;--ink:#fff;--text:#fff;--muted:#fff;--paper:#000;--cream:#000;--line:#fff;--cta-bg:#000;--cta-text:#fff;--cta-sub:#fff;--cta-accent:#fff;--button-bg:#fff;--button-text:#000}
html[data-colors=light] .hero,html[data-colors=dark] .hero{background:var(--paper)}
html[data-colors=dark] .brand-logo{background:#fff;border-radius:4px}
html[data-colors=light] .cta,html[data-colors=dark] .cta{border-top:1px solid var(--line)}
html[data-colors=light] .light,html[data-colors=dark] .light,html[data-colors=light] .neutral,html[data-colors=dark] .neutral{background:var(--button-bg);color:var(--button-text)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (forced-colors:active){.hero,.small,.settings-dialog,.notice{background:Canvas}.cta{background:Canvas;color:CanvasText}.cta p,.cta .ey{color:CanvasText}.btn,.icon-button,.language-link,.photo-tool{color:ButtonText;background:ButtonFace;border:1px solid ButtonText}.gallery-open{background:transparent;border:0}.gallery-caption,.photo-caption,.photo-toolbar{background:Canvas;color:CanvasText;forced-color-adjust:auto}.photo-caption *{color:CanvasText;text-shadow:none}.brand-logo{forced-color-adjust:none;background:#fff}:focus-visible,.cta :focus-visible,.lightbox :focus-visible{outline-color:Highlight;box-shadow:none}}
@media print{.skip-link,.site-tools,.gallery-open,dialog,.settings-actions{display:none!important}.hero,.cta{background:#fff;color:#000}.cta p,.cta .ey{color:#000}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card,.small{break-inside:avoid}a{text-decoration:none}}

/* Policy pages: readable legal content and accessible in-page navigation. */
.policy-intro{font-size:1.125rem;line-height:1.75;color:var(--text);margin:0 0 28px}
.policy-toc{margin:28px 0 40px;padding:16px 22px;background:var(--cream);border-radius:12px;color:var(--text)}
.policy-toc ol{margin:0;padding-left:1.6em}
.policy-toc li{padding-left:.25em;line-height:1.5;break-inside:avoid}
.policy-toc a{display:block;min-height:44px;padding:10px 0;text-underline-offset:4px;overflow-wrap:anywhere}
.policy-section{scroll-margin-top:32px}
.policy-section code{font-size:.9375em;overflow-wrap:anywhere}
.storage-details{margin:18px 0;font-size:1.0625rem;line-height:1.7;color:var(--text)}
.storage-details>div{padding:14px 0;border-bottom:1px solid var(--line)}
.storage-details dt{font-weight:700;color:var(--ink)}
.storage-details dd{margin:4px 0 0;overflow-wrap:anywhere}
.policy-content>.btn{margin-top:8px;max-width:100%}
@media(min-width:740px){.policy-toc ol{columns:2;column-gap:32px}}
html[data-text="150"] .policy-toc ol,html[data-text="200"] .policy-toc ol{columns:1}
@media(max-width:599px){.policy-toc{padding:14px 18px}.policy-intro{font-size:1.0625rem}}
