body{margin:0;background:#111a19}main{max-width:1600px;margin:auto}
/* Keep card sections aligned while allowing long titles and enlarged text to grow. */
@supports(grid-template-rows:subgrid){#fa-gallery .place{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}}


#fa-gallery{--fa-bg:#111a19;--fa-surface:#192322;--fa-ink:#f4eee1;--fa-gold:#e0c68d;background:var(--fa-bg);color:var(--fa-ink);font:calc(1.125rem * var(--fa-text-scale,1))/1.6 Arial,sans-serif;padding:clamp(18px,4vw,42px);border-radius:12px;box-sizing:border-box}#fa-gallery *{box-sizing:border-box}#fa-gallery [hidden]{display:none!important}#fa-gallery h1,#fa-gallery h2,#fa-gallery h3{font-family:Georgia,serif;font-weight:500;line-height:1.2;color:#fff5e3}#fa-gallery h1{font-size:calc(clamp(1.875rem,5vw,2.75rem) * var(--fa-text-scale,1));margin:12px 0}#fa-gallery h2{font-size:calc(1.875rem * var(--fa-text-scale,1))}#fa-gallery h3{font-size:calc(1.4375rem * var(--fa-text-scale,1))}#fa-gallery p{max-width:70ch}#fa-gallery .eyebrow{color:var(--fa-gold);font-size:calc(0.8125rem * var(--fa-text-scale,1));letter-spacing:.12em;text-transform:uppercase}#fa-gallery button,#fa-gallery select{font:inherit;border-radius:6px;min-height:44px;padding:9px 15px;max-width:100%}#fa-gallery button{color:var(--fa-ink);background:#26332f;border:1px solid #8f8060}#fa-gallery button[aria-pressed=true],#fa-gallery .primary{background:var(--fa-gold);color:#18211e}#fa-gallery button:focus-visible,#fa-gallery a:focus-visible,#fa-gallery select:focus-visible{outline:3px solid #fff0bd;outline-offset:4px}#fa-gallery select{color:var(--fa-ink);background:var(--fa-surface);border:1px solid #8f8060}#fa-gallery .toolbar{display:flex;gap:20px;flex-wrap:wrap;align-items:end;margin:28px 0 12px}#fa-gallery .filters{display:flex;flex-wrap:wrap;gap:8px}#fa-gallery label{display:grid;gap:5px;font-size:calc(1.0rem * var(--fa-text-scale,1))}#fa-gallery .count{font-size:calc(0.9375rem * var(--fa-text-scale,1));color:#d4cbb8}#fa-gallery .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,calc(20rem * var(--fa-text-scale,1))),1fr));gap:24px;margin-top:20px}#fa-gallery .place{min-width:0;display:flex;flex-direction:column;border:1px solid #8f8060;border-radius:10px;overflow:hidden;background:var(--fa-surface)}#fa-gallery .photo-button{display:block;padding:0;border:0;border-radius:0;position:relative;width:100%;text-align:left;background:var(--fa-surface)}#fa-gallery .photo-button img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}#fa-gallery .overlay{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(8,15,14,.97));padding:60px 18px 18px}#fa-gallery .overlay strong{display:block;font:500 calc(clamp(1.4375rem,3vw,1.8125rem) * var(--fa-text-scale,1))/1.2 Georgia,serif;color:#fff5e3}#fa-gallery .category{display:inline-block;background:#18211e;color:#f4dca8;border:1px solid #aa966b;padding:3px 9px;border-radius:4px;font-size:calc(0.8125rem * var(--fa-text-scale,1));letter-spacing:.06em;margin-bottom:10px}#fa-gallery .meta{padding:16px 18px;font-size:calc(1.0rem * var(--fa-text-scale,1))}#fa-gallery .meta p{margin:3px 0}#fa-gallery .place>.credit{flex-grow:1}#fa-gallery .credit{font-size:calc(0.8125rem * var(--fa-text-scale,1));line-height:1.5;padding:14px 18px;background:#0e1716;color:#e1d9c8}#fa-gallery a{color:#ead5a9;text-decoration:underline;overflow-wrap:anywhere}#fa-gallery .explore{display:block;color:var(--fa-gold);margin-top:8px;font-size:calc(1.0rem * var(--fa-text-scale,1))}#fa-gallery .detail{width:100%;max-width:1036px;margin-inline:auto;background:var(--fa-surface);border:1px solid #8f8060;border-radius:10px;padding:clamp(18px,3vw,30px)}#fa-gallery .detail-img{display:block;width:100%;max-height:390px;object-fit:contain;background:#0e1716;border-radius:6px}#fa-gallery .dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#fa-gallery dt{color:var(--fa-gold);font-size:calc(0.9375rem * var(--fa-text-scale,1))}#fa-gallery dd{margin:0;font-size:calc(1.25rem * var(--fa-text-scale,1))}#fa-gallery .related{padding:18px 0;border-top:1px solid #776b52}#fa-gallery .foot{font-size:calc(0.875rem * var(--fa-text-scale,1));border-top:1px solid #425044;margin-top:30px;padding-top:16px;color:#d4cbb8}#fa-gallery .map{border-left:3px solid #bba16c;padding:0 18px}#fa-gallery .detail-top{margin-bottom:20px}#fa-gallery li{margin:8px 0}@media(hover:hover){#fa-gallery .photo-button:hover img{filter:brightness(1.08)}}@media(max-width:620px){#fa-gallery .dates{grid-template-columns:1fr}#fa-gallery h2{font-size:calc(1.6875rem * var(--fa-text-scale,1))}}

#fa-gallery{overflow-wrap:anywhere}#fa-gallery .toolbar>*{min-width:0}#fa-gallery select{width:100%;white-space:normal}#fa-gallery .photo-button{display:grid;isolation:isolate}#fa-gallery .photo-button img{grid-area:1/1;height:100%;min-height:0}#fa-gallery .overlay{position:relative;inset:auto;grid-area:1/1;align-self:end;min-width:0;z-index:1}#fa-gallery button{white-space:normal;overflow-wrap:anywhere}#fa-gallery .display-settings{margin:20px 0;max-width:36rem;border:1px solid #8f8060;border-radius:8px;background:#192322;padding:8px 14px}#fa-gallery summary{min-height:44px;padding:8px 0;font-size:calc(1rem * var(--fa-text-scale,1));color:#e0c68d}#fa-gallery summary:focus-visible,#fa-gallery input:focus-visible{outline:3px solid #fff0bd;outline-offset:4px}#fa-gallery .display-body{padding:8px 0 12px}#fa-gallery .size-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}#fa-gallery .size-row label{font-size:inherit}#fa-gallery .range{display:block;width:100%;min-height:44px;margin:8px 0;accent-color:#e0c68d}#fa-gallery .size-help{font-size:calc(.9375rem * var(--fa-text-scale,1));margin:8px 0}#fa-gallery[data-large-text="true"] .dates{grid-template-columns:1fr}

/* Geographical browsing extends the approved gallery without changing card geometry. */
#fa-gallery .location-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(17rem * var(--fa-text-scale,1))),1fr));gap:16px;margin-top:28px}
#fa-gallery .location-controls>label{min-width:0}
#fa-gallery .location-controls input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit;color:var(--fa-ink);background:var(--fa-surface);border:1px solid #8f8060;border-radius:6px;min-height:44px;padding:9px 12px}
#fa-gallery .location-controls input::placeholder{color:#c5bda9;opacity:1}
#fa-gallery .collection-info{max-width:70ch;margin:24px 0}
#fa-gallery .detail .geography-path{font-size:calc(.9375rem * var(--fa-text-scale,1));color:var(--fa-gold)}
#fa-gallery .related-links{display:flex;gap:12px;flex-wrap:wrap;align-items:start}
#fa-gallery .photo-unavailable{border-left:3px solid #bba16c;padding:12px 18px;background:#0e1716}


#fa-ancestor-preview{max-width:none;border-top:1px solid #8f8060;padding-top:20px;margin-top:40px}
#fa-ancestor-preview .ancestor-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:24px;align-items:start}
#fa-ancestor-preview .ancestor-card{max-width:30rem;border:1px solid #aa966b;border-radius:10px;overflow:hidden;background:#192322}
#fa-ancestor-preview .ancestor-art{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#111}
#fa-ancestor-preview .ancestor-copy{padding:20px}#fa-ancestor-preview .ancestor-copy h3{margin:8px 0}
#fa-ancestor-preview .ancestor-label{color:#f4dca8;font-weight:bold}
#fa-ancestor-preview .ancestor-panel{max-width:1036px;margin:24px auto;padding:clamp(16px,3vw,30px);border:1px solid #aa966b;border-radius:10px;background:#192322}
#fa-ancestor-preview .ancestor-panel .ancestor-art{max-width:25rem;margin:20px auto}
#fa-ancestor-preview .ancestor-legend{padding-left:24px}#fa-ancestor-preview .ancestor-legend li{margin:10px 0}
#fa-ancestor-preview .ancestor-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:16px}#fa-ancestor-preview dd{margin:0}

#fa-gallery .photo-button[data-id="church-saint-ephrem"] img { object-position: 50% 0%; }
#fa-gallery .photo-button[data-id="cemetery-saint-ephrem"] img { object-position: 50% 60%; }
#fa-gallery .photo-button[data-id="church-saint-martin"] img { object-position: 50% 0%; }
#fa-gallery .photo-button[data-id="cemetery-saint-martin"] img { object-position: 50% 55%; }
#fa-gallery .photo-button[data-id="church-saint-francois"] img { object-position: 40% 20%; }
#fa-gallery .photo-button[data-id="cemetery-saint-francois"] img { object-position: 50% 70%; }
#fa-gallery .photo-button[data-id="church-sainte-petronille"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-sainte-mary"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-laurent"] img { object-position: 50% 20%; }
#fa-gallery .photo-button[data-id="church-saint-pierre-modern"] img { object-position: 50% 40%; }
#fa-gallery .photo-button[data-id="chapel-procession-sainte-famille"] img { object-position: 50% 40%; }
#fa-gallery .photo-button[data-id="church-saint-gedeon"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-hilaire"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-sainte-martine-courcelles"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="cemetery-sainte-martine-courcelles"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-evariste"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="cemetery-saint-evariste"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-la-guadeloupe"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-honore"] img { object-position: 50% 20%; }
#fa-gallery .photo-button[data-id="church-saint-theophile"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-notre-dame-providence"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-come"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-georges-beauce"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="cemetery-saint-georges-beauce"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-rene-beauce"] img { object-position: 50% 15%; }
#fa-gallery .photo-button[data-id="chapel-saint-paul-cumberland"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="cemetery-saint-paul-cumberland"] img { object-position: 50% 25%; }
#fa-gallery .photo-button[data-id="church-saint-benoit-labre"] img { object-position: 50% 25%; }
