/* One responsive layout system, shared by every page and language. */
:root{--page-gutter:clamp(16px,3.5vw,48px);--edge-start:max(var(--page-gutter),env(safe-area-inset-left,0px));--edge-end:max(var(--page-gutter),env(safe-area-inset-right,0px));--header-height:96px;--safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(var(--header-height) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
.wrap{width:min(1380px,calc(100% - var(--edge-start) - var(--edge-end)))}
:where(main,section,article,figure,form,details,dialog,nav,.header-inner,.header-actions){min-width:0}
:where(p,h1,h2,h3,a,button,label,summary,figcaption){overflow-wrap:anywhere}
:where(h1,h2,h3,.journal-title){hyphens:auto;text-wrap:balance}
:where(input,select,textarea){min-width:0;max-width:100%}
:where(.hero,.about-heading,.about-grid,.mission-grid,.book-grid,.support,.ministry-detail,.donations-hero,.donation-payment .wrap,.donation-faq,.wall-form-section,.wall-form-row,.notes-board,.ministries-grid,.history-hero-grid)>*{min-width:0}
:where(.button,.text-link){max-width:100%;white-space:normal}
.button>span:first-child{min-width:0}.button>span:last-child{flex-shrink:0}
.header-inner{height:auto;min-height:var(--header-height);padding-block:7px;gap:clamp(8px,1.5vw,22px)}
.header .brand{min-width:0}.header-actions{flex-shrink:0}.nav{min-width:0;gap:clamp(10px,1vw,18px);flex:1;justify-content:center}
.nav a{white-space:normal;line-height:1.4;text-align:center}
.menu-button{width:44px;min-height:44px;flex-shrink:0}
.hero{gap:clamp(28px,5vw,76px);min-height:0;padding-block:clamp(36px,5vw,76px)}
.hero h1{font-size:clamp(42px,7vw,110px)}
.hero-collage{width:100%;height:auto;aspect-ratio:.96;max-width:640px;justify-self:center}
.side-note{right:0}.collage-note p{font-size:clamp(13px,1.6vw,19px)}
.section{padding-block:clamp(48px,6vw,108px)}
.about-heading,.mission-grid,.support,.ministry-detail,.donations-hero,.donation-payment .wrap,.donation-faq,.wall-form-section{column-gap:clamp(24px,5vw,90px)}
.mission-intro{width:auto;max-width:385px}.mission-heading>*{min-width:0}
.section-heading,.mission-heading,.wall-heading{gap:clamp(20px,4vw,60px)}
.church-line>div,.journal-main,.support-option>div{min-width:0}
.church-line a,.journal-arrow,.support-symbol,.number,.detail-plus{flex-shrink:0}
.contact-inner{gap:clamp(24px,5vw,70px)}.contact-inner>div:first-child{min-width:0}.contact-actions{max-width:100%}
.contact-messengers,.chat-other-messengers{flex-wrap:wrap}
.footer{flex-wrap:wrap}.footer .brand-type{min-width:0}.back-top{max-width:100%;flex-shrink:0}
.ministry-gallery,.history-gallery{width:100%;min-width:0;max-width:100%;scroll-padding-inline:2px}
.history-gallery-toolbar,.ministry-gallery-heading{flex-wrap:wrap;row-gap:12px}
.ministry-gallery-controls{margin-left:auto}.ministry-gallery-arrow{width:44px;height:44px;min-width:44px}
.ministry-jump-links a,.history-jump-links a{max-width:100%;min-height:44px}
.ministry-card,.donation-form,.payment-card,.foreign-card,.wall-form,.sticky-note{min-width:0}
.donation-form select,.donation-form input,.wall-form input,.wall-form select,.wall-form textarea{width:100%;min-width:0}
.donation-amount-row input{flex:1;min-width:0}.donation-bottom .cream{min-width:0;max-width:100%}
.note-top{flex-wrap:wrap}.color-choices{flex-wrap:wrap;gap:12px}.color-choices button{width:44px;height:44px;flex-shrink:0}
.reader{width:min(760px,calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(var(--visible-viewport-height,100dvh) - 32px - var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;margin:auto}
.reader-top{position:sticky;top:-1px;background:var(--paper);z-index:2;padding-block:4px}.reader h2{font-size:clamp(27px,5vw,40px)}
.chat-launcher{max-width:calc(100% - 32px);right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + var(--safe-bottom) + var(--keyboard-inset,0px))}
.chat-launcher[aria-expanded="true"]{visibility:hidden}
.chat-panel{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + var(--safe-bottom) + var(--keyboard-inset,0px));width:min(405px,calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));height:min(590px,calc(var(--visible-viewport-height,100dvh) - 24px - var(--safe-bottom)));max-height:calc(var(--visible-viewport-height,100dvh) - 24px - var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain}
.chat-header{position:sticky;top:0;z-index:1}.chat-header>div{min-width:0}.chat-header button{flex-shrink:0;min-width:44px;min-height:44px}
.chat-messages{min-height:96px;flex:1 0 96px}.chat-quick button{min-height:44px;font-size:11px}.chat-form input{min-width:0;font-size:16px}.chat-form button{flex-shrink:0}
.chat-other-messengers a,.contact-messengers a,.text-link,.note-remove{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1500px){.header-support{display:none}}
@media(max-width:1280px){
 :root{--header-height:88px}.menu-button{display:block}.nav{display:none;position:absolute;inset-inline:0;top:100%;padding:12px var(--edge-end) 20px var(--edge-start);background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100svh - var(--header-height) - var(--safe-bottom));max-height:calc(var(--visible-viewport-height,100dvh) - var(--header-height) - var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;z-index:40;flex:none}
 .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{text-align:left;min-height:44px;padding-block:12px;font-size:12px}.header-actions{gap:8px}
}
@media(max-width:1100px){.mission-heading,.section-heading,.wall-heading{flex-wrap:wrap}.ministries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
 .hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:32px}.hero-copy .eyebrow{max-width:none;margin-bottom:24px}.hero-description{max-width:650px}.hero-collage{max-width:560px;margin-inline:auto;align-self:center}.hero h1{font-size:clamp(46px,9vw,86px)}
 .donations-hero,.donation-payment .wrap,.donation-faq,.wall-form-section,.ministry-detail{grid-template-columns:minmax(0,1fr);row-gap:26px}.ministry-detail-heading .eyebrow{margin-bottom:16px}.ministry-detail-focus{margin-top:14px}
 .donation-intro-note{max-width:650px}.contact-inner{display:grid;grid-template-columns:1fr}.contact-actions{width:100%;max-width:440px;margin-top:0}.donation-bottom .wrap{flex-wrap:wrap}
 .history-hero-grid{grid-template-columns:minmax(0,1fr) minmax(150px,.5fr);gap:24px}.history-hero-grid h1{font-size:clamp(34px,5vw,48px)}
}
@media(max-width:760px){
 :root{--header-height:80px}.header-inner{padding-block:6px}.header .brand-logo{width:50px;height:60px}.header .brand-type{font-size:12px}.menu-button{padding:8px}
 .hero{padding-block:32px;gap:28px}.hero h1{font-size:clamp(42px,12vw,82px)}.hero h1>span{display:block}.hero-statement{font-size:clamp(17px,4vw,22px)}.hero-copy .eyebrow{font-size:9px}.hero-collage{aspect-ratio:.96}.side-note{display:none}.collage-note p{font-size:clamp(12px,3.2vw,17px)}
 .about-grid,.mission-grid,.book-grid,.support,.history-hero-grid{grid-template-columns:minmax(0,1fr)}.about-heading{display:block}.history-intro-portrait{max-width:200px;justify-self:center}.history-hero-grid h1{font-size:clamp(32px,7.3vw,52px)}
 h2,.about-heading h2,.books h2,.journal h2,.support-intro h2,.contact h2,.wall-heading h2,.wall-form-intro h2,.donation-payment-intro h2,.donation-faq h2,.donation-bottom h2{font-size:clamp(28px,7.2vw,44px);line-height:1.14}
 .ministry-page-hero h1,.donations-hero h1,.wall-hero h1{font-size:clamp(31px,8vw,54px)}.history-chapter h2{font-size:clamp(25px,6vw,34px)}
 .section{padding-block:48px}.mission-image{max-height:480px}.book-stage{height:330px}.stage-word{font-size:clamp(36px,10vw,58px)}.book-cover{width:174px;height:260px}
 .contact-inner{padding-block:48px;gap:28px}.contact-actions{margin-top:0}.footer{padding-bottom:96px}
 .reader{padding:20px 18px 24px}.reader-body{font-size:16px}.donation-form select,.donation-form input,.wall-form input,.wall-form select,.wall-form textarea{font-size:16px}
 .donation-intro-note{padding:20px;grid-template-columns:40px minmax(0,1fr);gap:12px 16px}.donation-intro-note>svg{width:40px;height:40px}.donation-intro-note>p{font-size:clamp(21px,5vw,27px)}.payment-card,.wall-form{padding:20px}.pix-box{padding:16px}.wall-form-row{display:block}
 .notes-board{max-width:100%}.note-text{font-size:clamp(20px,5.6vw,25px)}.sticky-note{padding:24px 20px}.chat-quick button{font-size:12px}
}
@media(max-width:600px){.ministries-grid,.notes-board{grid-template-columns:minmax(0,1fr)}.ministries-grid{gap:24px}.ministry-card{padding-inline:4px}.ministry-card h3{font-size:27px}}
@media(max-width:480px){.footer{grid-template-columns:minmax(0,1fr);justify-items:start}.footer p{grid-row:auto;grid-column:auto}.footer .back-top{justify-self:start}.hero-links{align-items:stretch}.hero-links .button{flex:1 1 190px}.pix-box .copy-button{min-height:44px}.history-jump-links{gap:4px 14px}.ministry-jump-links a{padding-right:16px}}
@media(max-width:380px){.header .brand-type{display:none}.header-inner{gap:8px}.header-actions{gap:4px}.hero h1{font-size:clamp(38px,13vw,48px)}.collage-note{width:56%}.collage-note p{font-size:12px}.cross-mark{font-size:28px}.donation-intro-note{grid-template-columns:minmax(0,1fr)}.donation-intro-note>svg{grid-row:auto}.wall-form,.payment-card{padding:16px}.family-figure figcaption{flex-direction:column;gap:4px}.chat-header{gap:8px;padding:12px}.chat-avatar{display:none}}
@media(max-height:560px){.chat-panel{height:calc(var(--visible-viewport-height,100dvh) - 24px - var(--safe-bottom))}.reader{max-height:calc(var(--visible-viewport-height,100dvh) - 16px)}.nav a{padding-block:10px}}
@media(pointer:coarse){.menu-button,.close-button{min-width:44px;min-height:44px}.button{min-height:48px}}
/* Compact, keyboard-accessible language disclosure. */
.languages{position:relative;flex-shrink:0}
.language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:82px;min-height:44px;padding:9px 10px;background:transparent;border:1px solid var(--line);border-radius:24px;color:var(--accent);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.04em;transition:background .2s,border-color .2s}
.language-trigger:hover,.language-trigger[aria-expanded="true"]{background:var(--cream);border-color:var(--accent)}
.language-globe{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.language-chevron{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}
.language-trigger[aria-expanded="true"] .language-chevron{transform:rotate(180deg)}
.language-menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:224px;max-width:calc(100vw - 32px);max-height:calc(var(--visible-viewport-height,100dvh) - var(--header-height) - 20px - var(--safe-bottom));overflow-y:auto;overscroll-behavior:contain;display:grid;gap:3px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #20202024;z-index:70}
.language-option{display:grid;grid-template-columns:29px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-family:var(--sans);font-size:14px;text-align:left}
.language-option:hover{background:var(--cream)}.language-option.active{background:var(--accent);color:var(--paper)}.language-code{font-size:10px;letter-spacing:.04em;font-weight:700;opacity:.8}
.language-check{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;visibility:hidden}.language-option.active .language-check{visibility:visible}
@media(max-width:1280px){.language-menu{inset-inline-end:-52px}}
@media(max-width:380px){.language-trigger{min-width:76px;padding-inline:8px;gap:5px}.language-menu{inset-inline-end:-48px}}

.header.language-open{z-index:60}.chat-launcher{z-index:39}

/* Photos regain their original colors in a fraction of a second. */
img.color-reveal{filter:grayscale(1);transition:filter .32s ease}
img.color-reveal:hover,figure:hover img.color-reveal,.mission-image:hover img.color-reveal,img.color-reveal.is-color-visible{filter:grayscale(0)}
/* Keep the hero photos, their captions and the mission note in separate grid cells. */
.hero-collage{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:20px clamp(18px,3vw,36px);height:auto;aspect-ratio:auto;align-items:start;isolation:isolate}
.collage-circle{top:24px;left:18%;width:65%;z-index:-1}
.collage-kicker{position:static;grid-column:1/-1;grid-row:1;align-self:start}
.collage-family{position:relative;inset:auto;grid-column:1/-1;grid-row:2;width:88%;margin-inline:auto;z-index:1}
.collage-family figcaption{font-size:9px;line-height:1.6;margin-top:10px;letter-spacing:.08em}
.collage-rule{display:none}
.collage-mission{position:relative;inset:auto;grid-column:1;grid-row:3;width:100%;max-width:180px;height:auto;aspect-ratio:4/5;align-self:start;z-index:1}
.collage-mission img{height:100%;width:100%;object-fit:cover}
.collage-mission:after{display:none}
.collage-note{position:static;inset:auto;grid-column:2;grid-row:3;width:100%;min-width:0;padding-top:12px;align-self:start}
.collage-note p{font-size:clamp(14px,1.5vw,19px);line-height:1.3;margin-bottom:12px}
.collage-note>span:last-child{font-size:8px;line-height:1.7}
.side-note{display:none}
@media(max-width:760px){.hero-collage{row-gap:16px}.collage-family{width:100%}.collage-circle{top:16px;width:70%;left:15%}.collage-mission{max-width:145px}.collage-note p{font-size:clamp(14px,3.6vw,18px)}.collage-note .cross-mark{font-size:32px}.collage-kicker{font-size:8px}.collage-family figcaption{font-size:9px}}
@media(prefers-reduced-motion:reduce){img.color-reveal{filter:none;transition:none}}
