/* Readable text and generous controls across phones and larger screens. */
.gallery-search{max-width:760px;margin:30px auto 0;text-align:left;padding:24px;background:#fff;border:1px solid #d6c7a4;border-radius:16px;color:#132d48}
.gallery-search label{display:block;font-size:1.15rem;font-weight:700;margin-bottom:8px}
.gallery-search-row{display:flex;gap:12px}.gallery-search input{flex:1;min-width:0;width:100%;font-size:18px;padding:14px;border:1px solid #758394;border-radius:8px;background:#fff;color:#132d48}
.gallery-search button{min-height:52px;padding:10px 18px;border:1px solid #132d48;border-radius:8px;background:#132d48;color:#fff;font-size:18px;cursor:pointer}
.gallery-search p{font-size:1rem;margin:12px 0 0}.community-gallery figure[hidden],.gallery-collection[hidden]{display:none!important}
.gallery-collection{scroll-margin-top:125px}.community-gallery figcaption p{font-size:1.075rem;line-height:1.65}.community-gallery figure{min-width:0}
.archive-preview-grid img[src*="family-gallery"]{object-fit:contain!important;background:#ebe5d9}
@media(max-width:600px){.gallery-search{padding:18px}.gallery-search-row{flex-direction:column}.gallery-search button{width:100%}.gallery-sections a{min-height:48px;display:inline-flex;align-items:center}}
body{font-size:1.125rem;line-height:1.7}
p,li{overflow-wrap:break-word}
button,input,select,textarea{font:inherit}
button,.button,input:not([type=checkbox]):not([type=radio]),select{min-height:48px}
button,.button{touch-action:manipulation}
input[type=checkbox],input[type=radio]{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
input[type=file]{max-width:100%;white-space:normal}
input[type=file]::file-selector-button{min-height:48px;padding:.5rem .75rem;font:inherit}
:focus-visible{outline:3px solid #a34224;outline-offset:4px}
.site-header nav a,.site-footer a,.chapter-aside a{font-size:1rem;min-height:48px;display:flex;align-items:center}
.chapter-body p,.podcast-summary,.community-form label{font-size:1.125rem;line-height:1.7}
.episode-meta,.illustration-note,.form-privacy,.community-form .form-privacy{font-size:1rem!important;line-height:1.6}
.podcast-card .podcast-details h2{font-size:1.6rem;line-height:1.3;min-height:0;overflow-wrap:break-word}
.podcast-toolbar{flex-wrap:wrap;align-items:start}
.podcast-toolbar label{min-width:200px;font-size:1rem}
.podcast-toolbar input,.podcast-toolbar select{display:block;width:100%;font-size:1.125rem;margin-top:.5rem;padding:.7rem;border:1px solid #65786e;border-radius:6px;background:white;color:#152945}
.podcast-toolbar p{font-size:1rem;white-space:normal;align-self:end}
.recording-cover{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.drive-play{width:100%;background:#152945;color:white;border:0;border-radius:6px;font-size:1.125rem;padding:.75rem 1rem;text-align:center;justify-content:center}
.drive-play:hover{background:#255e48}
.drive-player{margin-top:1rem}
.drive-player iframe{width:100%;height:220px;border:1px solid #88988e;border-radius:6px;background:#fff}
.drive-card[data-kind=video] .drive-player iframe{height:auto;min-height:240px;aspect-ratio:16/9}
.recording-fallback{display:block;padding:.75rem 0;font-size:1rem;line-height:1.5;text-decoration:underline;color:#204f3c}
.audio-actions{display:flex;flex-wrap:wrap;gap:1rem}
.audio-actions button,.audio-actions select,.audio-actions label{font-size:1rem!important}
.audio-actions button{padding:.65rem 1rem}
audio{width:100%;min-width:0;min-height:54px}
[hidden]{display:none!important}
body.newsletter-open{overflow:hidden}
#newsletter-invitation{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;overflow:auto;padding:1.5rem 1.75rem;border:1px solid #c9a35b;border-top:6px solid #c9a35b;border-radius:14px;background:#fff;color:#152945;box-shadow:0 20px 80px #0005}
#newsletter-invitation::backdrop{background:#102438b8}
.newsletter-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.newsletter-dialog-header .eyebrow{margin:0;color:#285e48;font-size:.875rem!important}
.newsletter-dialog-header button,.newsletter-later{min-height:48px;padding:.6rem .85rem;background:white;color:#152945;border:1px solid #849489;border-radius:6px;font-size:1rem}
#newsletter-invitation h2{font-size:clamp(1.7rem,5vw,2.25rem);line-height:1.2;margin:1rem 0}
#newsletter-invitation p{font-size:1rem;line-height:1.6}
#newsletter-invitation .community-form{padding:0;margin:1.25rem 0 0;background:transparent;border:0;box-shadow:none;display:grid;gap:1rem}
#newsletter-invitation label{font-size:1.0625rem;display:block;line-height:1.55}
#newsletter-invitation input:not([type=checkbox]){box-sizing:border-box;display:block;width:100%;min-width:0;margin-top:.35rem;padding:.65rem .75rem;border:1px solid #71847a;border-radius:5px;background:#fff;color:#152945;font-size:1.125rem}
#newsletter-invitation label.consent{display:flex;align-items:flex-start;gap:.75rem}
#newsletter-invitation .consent input{margin-top:.1rem}
#newsletter-invitation .newsletter-text-note{margin:0;font-size:.9375rem}
#newsletter-invitation .button{width:100%;justify-content:center;white-space:normal;padding:.8rem;font-size:1.125rem;background:#152945;color:#fff;border-radius:6px}
#newsletter-invitation .form-status:empty{display:none}
.newsletter-later{width:100%;margin-top:1rem}
#newsletter-thanks{padding:1rem 0}
#newsletter-invitation a{color:#255e48;text-decoration:underline}
@media(max-width:480px){#newsletter-invitation{padding:1rem}.newsletter-dialog-header{align-items:start}.newsletter-dialog-header button{flex-shrink:0}}
@media(max-width:1000px){
 .site-header{flex-wrap:wrap;position:relative}
 #menu-toggle{display:block;font-size:1rem;min-height:48px;min-width:60px}
 .site-header #primary-nav{display:none;position:static;width:100%;max-height:none;overflow:visible;flex-basis:100%;background:#fff;padding:1rem;box-shadow:none}
 .site-header #primary-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
 .site-header #primary-nav a{color:#152945;white-space:normal;padding:.6rem .75rem;border-radius:5px;background:#edf1ed}
 .site-header #primary-nav .nav-support{background:#152945;color:#fff}
 .chapter-layout,.chapter-page[data-page=library] .chapter-layout{display:flex;flex-direction:column;gap:1.5rem}
 .chapter-page[data-page=library] .chapter-body{order:-1;width:100%;min-width:0}
 .podcast-grid{grid-template-columns:minmax(0,1fr)}
 .chapter-aside{position:static;max-width:100%;flex-wrap:wrap}
 .chapter-header{padding:2rem 6%}
 .chapter-header h1{font-size:clamp(2rem,7vw,3rem);line-height:1.15}
 .chapter-deck{font-size:1.125rem!important}
 .community-form{padding:1.25rem}
 .podcast-details{padding:1.25rem}
 .motion-ready .reveal-pending{opacity:1;transform:none}
 .mobile-support{font-size:1rem;min-height:48px}
}
@media(max-width:480px){
 .site-header{gap:.5rem}
 .site-header .brand{flex:1;min-width:180px}
 .site-header .brand>span{font-size:1.25rem}
 .site-header .brand small{font-size:.875rem}
 .mobile-support{display:none}
 .podcast-toolbar{display:block}
 .podcast-toolbar label{display:block;margin-bottom:1rem;min-width:0}
 .place-tabs{flex-wrap:wrap}
 .hero-qr{flex-wrap:wrap}
 .hero-qr div{font-size:1rem}
 .audio-actions{flex-direction:column;align-items:stretch}
 .audio-actions label{justify-content:space-between}
}

.heritage-home .home-share.home-share-text-only{grid-template-columns:minmax(0,1fr)}
.heritage-home .home-share.home-share-text-only .home-share-copy{max-width:760px}
/* A clear, captioned collection with full photographs on every screen. */
.gallery-layout{padding:0 6% 70px;max-width:1500px;margin:auto}
.gallery-layout .chapter-body{max-width:none}
.gallery-sections{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.gallery-sections a,.gallery-open{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #152945;border-radius:4px;font:inherit;font-size:1rem;background:white;color:#152945;text-decoration:none}
.gallery-sections a:hover,.gallery-open:hover{background:#152945;color:white}
.gallery-collection{scroll-margin-top:130px;margin-bottom:52px}
.gallery-collection>h2{border-bottom:2px solid #b88d37;padding-bottom:18px}
.gallery-layout .community-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-layout .community-gallery figure{display:flex;flex-direction:column;overflow:hidden}
.gallery-layout .community-gallery img{height:300px;width:100%;padding:12px;object-fit:contain}
.gallery-layout .community-gallery figcaption{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:14px}
.gallery-layout .community-gallery h3{font-size:1.5rem;line-height:1.3;margin:0}
.gallery-layout .community-gallery p{font-size:1rem;line-height:1.65;margin:0}
.gallery-open{margin-top:auto;cursor:pointer}
@media(max-width:1000px){.gallery-layout .community-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.gallery-layout .community-gallery{grid-template-columns:1fr}.gallery-layout .community-gallery img{height:auto;max-height:440px}.gallery-sections a{flex:1;white-space:nowrap}.gallery-layout{padding:0 5% 50px}}
.home-site-qr{display:flex;align-items:center;gap:32px;max-width:1120px;margin:32px auto;padding:28px;background:#f7f4ec;border:1px solid #d5bb78;border-radius:16px;color:#152945}
.home-site-qr>a{flex:0 0 200px;background:#fff;border-radius:8px}
.home-site-qr img{display:block;width:200px;height:200px;max-width:100%}
.home-site-qr h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 12px}
.home-site-qr p{max-width:640px;font-size:1.125rem;line-height:1.6}
.home-site-qr .text-link{display:inline-flex;align-items:center;min-height:48px;color:#152945}
@media(max-width:700px){.home-site-qr{margin:24px 16px;flex-direction:column;gap:16px;padding:24px;text-align:center}.home-site-qr>a{flex-basis:auto}}
