@font-face{font-family:Editorial;src:url('./assets/editorial.woff2') format('woff2');font-weight:500 800;font-display:swap}
@font-face{font-family:Text;src:url('./assets/text.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--paper:#f8f5ed;--ink:#191919;--muted:#605d55;--orange:#f5712e;--rust:#9f3611;--line:#d9d2c3;--white:#fffcf5;--green:#253d32;--serif:Editorial,Georgia,serif;--sans:Text,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 var(--sans)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a13b13;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.06}h1,h2{font-family:var(--serif);font-weight:700;letter-spacing:-.055em}h3{letter-spacing:-.025em}p:last-child{margin-bottom:0}.shell{width:calc(100% - clamp(40px,5vw,80px));max-width:1800px;margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;z-index:9;background:var(--white);padding:12px}.skip:focus{top:12px}.edition-strip{background:var(--ink);color:#f5efe6}.edition-strip .shell{display:flex;justify-content:space-between;align-items:center;min-height:34px}.edition-strip span,.eyebrow,.mini,.category,.date,.index{font-size:.69rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.edition-strip b{color:var(--orange);padding-inline:4px}.edition-strip i,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:7px}.site-head{border-bottom:1px solid var(--line);background:var(--paper)}.head-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:87px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font:700 1.25rem/.91 var(--sans);letter-spacing:-.075em}.brand>span>span{display:block}.brand-dot{color:var(--orange)}nav{display:flex;align-items:center;gap:clamp(14px,3vw,43px);font-weight:750;font-size:.85rem}nav a{padding:10px 0;white-space:nowrap;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current=page]{border-color:var(--orange)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.7em;font-weight:800;font-size:.82rem;padding:11px 16px;min-height:44px;border:1px solid var(--line);background:transparent;color:inherit;border-radius:5px;line-height:1.3;text-align:center}.button:hover{border-color:currentColor}.primary{background:var(--orange);color:#1b130d;border-color:var(--orange)}.primary:hover{background:#fa874f;border-color:#bd4614}.plain{border:0;padding:7px 0;min-height:38px;text-align:left}.plain:hover{text-decoration:underline}.light{border-color:#6e7871;color:#fff}.hero{padding-top:25px}.sectionline{display:flex;align-items:center;justify-content:space-between;border-top:2px solid var(--ink);padding:11px 0 15px;gap:10px}.sectionline .eyebrow{display:flex;align-items:center;gap:9px}.sectionline .eyebrow:before{content:"";width:17px;height:3px;background:var(--orange)}.muted{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;gap:clamp(26px,4vw,62px);padding-bottom:19px;border-bottom:1px solid var(--line)}.hero-copy{align-self:center;padding:12px 0 25px}.kicker{display:flex;align-items:center;gap:10px;color:var(--rust);margin-bottom:17px}.kicker b{color:var(--ink)}.hero h1{font-size:clamp(3.5rem,5.6vw,6rem);line-height:.96;margin:0 0 20px}.hero h1 em{font-style:normal;color:var(--rust)}.hero-copy p{max-width:34ch;margin-bottom:21px;color:var(--muted);font-size:1.02rem}.hero-visual{margin:0;position:relative;overflow:hidden;background:var(--green);color:#fff;min-height:400px;border-radius:3px;isolation:isolate}.hero-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero-visual:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,#0b170fea);pointer-events:none}.photo-caption{position:absolute;bottom:0;left:0;right:0;z-index:1;display:flex;justify-content:space-between;align-items:end;padding:21px 23px;gap:12px}.photo-caption b{display:block;font-family:var(--serif);font-size:1.45rem;line-height:1.13}.photo-caption .mini{font-size:.61rem;color:#eee1cf}.photo-coord{position:absolute;top:15px;left:16px;z-index:1;background:#1a241fbb;border:1px solid #ffffff55;padding:6px 9px;border-radius:3px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line)}.quick a{padding:15px 14px 14px 0;display:flex;align-items:center;gap:12px;font-size:.82rem;font-weight:800}.quick a+a{border-left:1px solid var(--line);padding-left:17px}.quick a:hover{color:var(--rust)}.quick .index{color:var(--rust)}.quick .arrow{margin-left:auto}.news{padding-block:53px 63px}.title-row{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.title-row h2,.block-title{font-size:clamp(2.45rem,5vw,4.3rem);margin:0}.eyebrow{margin-bottom:8px}.accent{color:var(--rust)}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:9px;padding:13px;background:#eee9df;border:1px solid var(--line);border-radius:5px;margin-bottom:12px;align-items:end}.filters.three{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.filters label,.form-grid label,.edit-grid label{display:grid;gap:4px;font-size:.79rem;font-weight:800}.filters select,.form-grid input,.form-grid select,.form-grid textarea,.edit-grid input,.edit-grid select{width:100%;min-width:0;border:1px solid #c9c1b0;border-radius:4px;padding:9px;background:#fffdf8;color:var(--ink);min-height:43px}.result-line{margin-bottom:14px;color:var(--muted);font-size:.83rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.story{display:flex;flex-direction:column;min-width:0;background:var(--white);border:1px solid var(--line);border-radius:5px;overflow:hidden}.story>a{display:block}.story:hover{border-color:#a79983}.story-thumb{position:relative;min-height:120px;aspect-ratio:2.16;background:#dbc7a1;overflow:hidden;display:flex;align-items:flex-end;padding:11px 14px;isolation:isolate}.story-thumb:before{position:absolute;content:"";inset:0;background:var(--thumb) center/cover;z-index:-1}.story-thumb.rio{--thumb:url('./assets/cover.webp')}.story-thumb.casa{--thumb:url('./assets/casa.svg')}.story-thumb.esporte{--thumb:url('./assets/esporte.svg')}.story-thumb.regional{--thumb:url('./assets/regional.svg')}.story-thumb .mini{background:var(--ink);color:#fff;padding:4px 7px;border-radius:2px}.story-copy{padding:15px 15px 18px}.story-copy h3{font:700 clamp(1.33rem,2.1vw,1.92rem)/1.06 var(--serif);letter-spacing:-.045em;margin:7px 0 8px}.story-copy p{font-size:.88rem;color:var(--muted);margin-bottom:10px}.category{color:var(--rust)}.story .link-arrow{font-weight:800;font-size:.77rem}.empty{padding:22px;border:1px dashed #9b8b72;border-radius:5px;grid-column:1/-1}.map-teaser{background:#1d2d25;color:#fff;padding:35px 0 37px}.map-teaser .shell{display:flex;align-items:center;justify-content:space-between;gap:25px}.map-teaser h2{font-size:clamp(2.25rem,5vw,3.8rem);margin-bottom:9px}.map-teaser p{color:#dcded4}.map-teaser .eyebrow{color:#ffab82}.site-foot{background:var(--ink);color:#f0ebe1;padding:35px 0 15px}.foot-inner{display:flex;justify-content:space-between;gap:24px;padding-bottom:25px}.foot-inner p{color:#d7d0c4;margin:12px 0 0;font-size:.9rem}.foot-links{display:flex;flex-wrap:wrap;gap:12px 19px;font-size:.84rem;align-self:center}.foot-links a:hover{color:#ff9b67}.foot-base{border-top:1px solid #55514a;padding-top:13px;display:flex;justify-content:space-between;gap:15px;font-size:.7rem;color:#cfc4b4}.page{padding:24px 0 63px;min-height:50vh}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.81rem;margin-bottom:20px}.breadcrumbs a:hover{text-decoration:underline}.page-header{border-top:2px solid var(--ink);padding-top:16px;margin-bottom:24px}.page-header h1{font-size:clamp(2.9rem,7vw,5.5rem);margin:6px 0 12px}.page-header .lede{color:var(--muted);max-width:68ch;font-size:1.04rem;margin-bottom:0}.article{max-width:820px;margin-inline:auto}.article .hero-visual{min-height:unset;aspect-ratio:2.05;margin-bottom:23px}.article-graphic{margin-bottom:24px}.article-body{max-width:660px;margin-inline:auto}.article-body p{font-size:1.04rem}.article-body h2,.panel h2{font-size:2rem;margin:20px 0 12px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-block:16px}.notice{border-left:3px solid var(--orange);padding:11px 13px;background:#efe7d8;margin:15px 0;font-size:.88rem}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:27px}.tile,.panel{background:var(--white);border:1px solid var(--line);border-radius:5px;padding:18px}.tile h2,.tile h3{font:700 1.85rem/1.05 var(--serif);letter-spacing:-.035em;margin:5px 0 10px}.tile p{color:var(--muted)}.two-col{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}.panel>h2:first-child{margin-top:0}.map-frame{background:#24382d;border:1px solid #24382d;color:#fff;overflow:hidden;border-radius:5px;min-height:340px;display:grid;align-items:center}.map-frame svg{display:block;width:100%;height:auto;max-height:500px}.map-frame a:hover path,.map-frame a:focus-visible path{stroke:#fff;stroke-width:3}.map-frame a:focus-visible{outline:none}.map-frame text{pointer-events:none}.legend{display:flex;gap:12px 19px;flex-wrap:wrap;margin:9px 0 18px;font-size:.78rem;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--rust);margin-right:5px}.dot.study{background:#7b795a}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.metric{border:1px solid var(--line);background:var(--white);padding:13px;border-radius:4px}.metric b{display:block;font:700 clamp(1.1rem,3vw,1.8rem)/1.1 var(--serif);margin:6px 0}.metric small,.source{font-size:.76rem;color:var(--muted)}.source a{text-decoration:underline}.form-box{max-width:760px}.form-grid,.edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 15px}.form-grid h2,.form-grid .full{grid-column:1/-1}.form-grid h2{font-size:1.6rem;border-bottom:1px solid var(--line);padding-bottom:6px;margin:13px 0 2px}.form-grid textarea{resize:vertical;min-height:86px}.form-grid .check{display:flex;align-items:center;gap:7px}.form-grid input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--rust)}.success{padding:22px;background:#e6ecdf;border:1px solid #a8baa2;border-radius:5px}.queue{display:grid;gap:9px}.queue-item{display:grid;grid-template-columns:1.1fr 1.1fr 1.25fr auto;gap:12px;align-items:center}.queue-item h3{font-size:1rem;margin:0 0 3px}.queue-item p{font-size:.82rem;margin:0}.pill{background:#eee6d7;color:#512d1d;display:inline-flex;padding:3px 8px;border-radius:20px;font-size:.74rem;font-weight:800}.edit-grid{margin-block:13px}.live{min-height:1.4em;color:var(--green);font-size:.82rem}.timeline{display:grid;gap:12px}.timeline li{padding-left:4px}.spacer{margin-top:24px}.dim{color:var(--muted)}
@media(max-width:960px){.shell{width:calc(100% - 48px)}.head-inner{gap:11px}nav{gap:16px}.head-cta{font-size:.74rem;padding-inline:10px}.hero-grid{gap:22px}.hero-visual{min-height:360px}.hero h1{font-size:clamp(3rem,7.7vw,5.3rem)}}
@media(max-width:680px){.shell{width:calc(100% - 32px)}.edition-strip .shell{gap:8px}.edition-strip span{font-size:.56rem;letter-spacing:.055em}.head-inner{min-height:0;display:grid;grid-template-columns:1fr auto;gap:5px 7px;padding:12px 0 3px}.brand{font-size:1.08rem}.brand img{width:34px;height:34px}.head-cta{grid-column:2;grid-row:1;min-height:38px;font-size:.69rem;gap:5px;padding:7px}.head-inner nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:8px;font-size:.77rem}.hero{padding-top:17px}.sectionline{padding-bottom:8px}.sectionline .mini,.sectionline .eyebrow{font-size:.59rem}.hero-grid{grid-template-columns:1fr;gap:3px}.hero-copy{padding-bottom:14px}.hero h1{font-size:clamp(3.3rem,12vw,5.3rem);margin-bottom:13px}.hero-copy p{margin-bottom:14px}.hero-visual{min-height:0;aspect-ratio:1.45}.photo-caption{padding:13px}.photo-caption b{font-size:1.16rem}.photo-caption .mini{font-size:.52rem}.quick a{padding:10px 4px 9px 0;font-size:.68rem;gap:4px}.quick a+a{padding-left:5px}.quick .index{font-size:.57rem}.news{padding-block:35px 43px}.title-row{align-items:start;flex-wrap:wrap;gap:4px}.grid{grid-template-columns:1fr}.filters,.filters.three{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .button{grid-column:1/-1;padding:4px;min-height:36px}.map-teaser .shell,.foot-inner,.foot-base{align-items:start;flex-direction:column;gap:12px}.map-teaser{padding-block:25px}.two-col,.tiles{grid-template-columns:1fr}.map-frame{min-height:0}.metric{padding:9px}.page{padding-bottom:39px}.queue-item{grid-template-columns:1fr 1fr;gap:9px}.queue-item .button{justify-self:end}.foot-links{align-self:start}}
@media(max-width:380px){.form-grid,.edit-grid,.metrics{grid-template-columns:1fr}.quick .arrow{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.arrow-icon{display:inline-block;vertical-align:-.18em;flex:0 0 auto}.quick .arrow{line-height:1}
#news-results{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1150px){#news-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){#news-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){#news-results{grid-template-columns:1fr}}

/* Church directory */
.directory-overview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 14px;
  padding: 18px 22px;
  border-radius: 7px;
  background: var(--green);
  color: var(--white);
}
.directory-overview .mini { color: #ffc09b; }
.directory-overview p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; margin: 0; }
.directory-overview strong { font: 700 2.35rem/1.1 var(--serif); }
.directory-overview .button { flex-shrink: 0; }
.directory-filters { grid-template-columns: minmax(160px,1.5fr) repeat(3,minmax(0,1fr)) auto; }
.directory-filters input {
  width: 100%;
  min-width: 0;
  min-height: 43px;
  padding: 9px;
  border: 1px solid #c9c1b0;
  border-radius: 4px;
  background: #fffdf8;
  color: var(--ink);
}
.filters label { min-width: 0; }
.filters select:disabled { background: #f4f0e8; color: var(--muted); }
.church-tile { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: 6px; }
.church-tile h2 { font-size: clamp(1.55rem, 2.6vw, 2rem); margin: 2px 0 4px; overflow-wrap: anywhere; }
.church-news { margin: 1px 0 5px; font-size: .86rem; }
.church-tile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  width: 100%;
  margin-top: auto;
  border-top: 1px solid var(--line);
  padding-top: 5px;
}
.church-tile-actions .button, .church-details .button { max-width: 100%; overflow-wrap: anywhere; }
.directory-more { margin-top: 20px; text-align: center; }
.directory-more button[hidden] { display: none; }
.church-sources { display: grid; justify-items: start; gap: 3px; min-width: 0; }
.church-archive { margin-top: 30px; }
.news-empty {
  grid-column: 1 / -1;
  padding: clamp(18px, 4vw, 32px);
  background: var(--white);
  border: 1px solid var(--line);
  border-inline-start: 4px solid var(--orange);
  border-radius: 5px;
}
.news-empty h3 { font: 700 1.85rem/1.15 var(--serif); margin: 0 0 8px; }
.news-empty p { margin: 0; color: var(--muted); }
.news-empty .button { margin-top: 8px; }

/* Interactive maps */
.atlas-filters { grid-template-columns: repeat(2,minmax(0,1fr)) auto; }
.atlas-layout {
  --atlas-height: clamp(430px, 58vh, 575px);
  display: grid;
  grid-template-columns: minmax(0, 2.35fr) minmax(240px, 1fr);
  gap: 14px;
  align-items: start;
}
.map-widget { position: relative; min-width: 0; overflow: hidden; border: 1px solid #b4bfb3; border-radius: 7px; background: #dce6e5; }
.live-map { height: clamp(295px, 47vh, 410px); z-index: 0; background: #dce6e5; font-family: var(--sans); }
.atlas-widget .live-map { height: var(--atlas-height); }
.live-map .leaflet-popup-content { color: var(--ink); }
.live-map .leaflet-popup-content strong { font-size: 1rem; }
.live-map .leaflet-popup-content p { margin: 3px 0; }
.live-map .leaflet-popup-content a, .map-note a { color: var(--rust); text-decoration: underline; text-underline-offset: 2px; font-weight: 800; }
.live-map .leaflet-control-attribution { color: #2d332e; background: #fffcf5ed; }
.live-map .leaflet-control-attribution a { color: #204b3b; }
.live-map .leaflet-control-scale-line { background: #fffcf5ed; }
.map-pin span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin: 2px 3px;
  transform: rotate(-45deg);
  border: 2px solid var(--white);
  border-radius: 50% 50% 50% 3px;
  background: #bd4215;
  box-shadow: 0 1px 4px #19191990;
}
.map-pin span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--white); }
.map-pin-territory span { background: #285b42; }
.map-quality {
  position: absolute;
  z-index: 1;
  top: 10px;
  right: 10px;
  max-width: calc(100% - 65px);
  margin: 0;
  padding: 5px 8px;
  border-radius: 4px;
  background: var(--white);
  color: var(--green);
  font-size: .75rem;
  pointer-events: none;
}
.atlas-list { display: flex; flex-direction: column; height: calc(var(--atlas-height) + 2px); min-width: 0; padding: 15px; }
.atlas-list h2 { font-size: 1.45rem; margin: 0 0 8px; }
.atlas-list ul { list-style: none; margin: 0; padding: 0 4px 0 0; overflow: auto; scrollbar-width: thin; }
.atlas-list li { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); }
.atlas-list li:last-child { border-bottom: 0; }
.atlas-list li.selected { background: #f8e8da; }
.atlas-list a { flex: 1; min-width: 0; display: grid; gap: 1px; padding: 8px 5px; font-size: .9rem; overflow-wrap: anywhere; }
.atlas-list a:hover { color: var(--rust); }
.atlas-list a span { color: var(--muted); font-size: .77rem; }
.atlas-list .button { padding: 6px 9px; font-size: .75rem; }
.atlas-list .map-list-empty { padding-block: 9px; color: var(--muted); font-size: .85rem; }
.atlas-territory-title { margin-top: 32px; }
.map-section { margin: 25px 0 30px; }
.map-section .title-row { align-items: center; margin-bottom: 12px; }
.map-section .title-row h2 { font-size: clamp(1.9rem, 4vw, 3rem); }
.map-note { margin: 8px 0 0; color: var(--muted); font-size: .81rem; }
.map-key { display: inline-block; width: 9px; height: 9px; margin-right: 3px; border-radius: 50%; background: #bd4215; }

@media (max-width: 950px) {
  .directory-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .directory-filters .button { grid-column: 1 / -1; }
  .church-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .head-cta { min-height: 44px; }
  .head-inner nav a { display: flex; align-items: center; min-height: 44px; }
  .hero h1 { font-size: clamp(2.75rem, 11.5vw, 4.9rem); }
  .quick { grid-template-columns: 1fr; }
  .quick a, .quick a + a { min-height: 44px; gap: 9px; padding: 7px 2px; border-left: 0; font-size: .81rem; }
  .quick a + a { border-top: 1px solid var(--line); }
  .quick .arrow { display: inline-block; }
  .news .title-row { gap: 8px; margin-bottom: 14px; }
  .page { padding-top: 17px; }
  .page-header { margin-bottom: 19px; }
  .page-header h1 { font-size: clamp(2.42rem, 8.5vw, 3.3rem); overflow-wrap: anywhere; }
  .page-header .lede { font-size: .99rem; }
  .breadcrumbs { margin-bottom: 13px; }
  .filters, .filters.three { padding: 11px; gap: 8px; }
  .filters .button { min-height: 44px; }
  .filters select, .directory-filters input, .form-grid input, .form-grid select, .form-grid textarea, .edit-grid input, .edit-grid select { font-size: 1rem; min-height: 44px; }
  .form-grid, .edit-grid, .metrics { grid-template-columns: 1fr; }
  .form-grid .check input { min-height: 17px; }
  .form-grid .check { min-height: 44px; }
  .queue-item > * { min-width: 0; overflow-wrap: anywhere; }
  .foot-links { gap: 0 14px; }
  .foot-links a { display: flex; align-items: center; min-height: 44px; }
  .directory-overview { padding: 15px; gap: 12px; }
  .directory-overview p { font-size: .86rem; }
  .directory-overview strong { font-size: 2rem; }
  .directory-overview .button { padding-inline: 10px; }
  .church-tile { padding: 13px; }
  .atlas-layout { --atlas-height: 350px; grid-template-columns: minmax(0,1fr); gap: 10px; }
  .atlas-list { height: auto; }
  .atlas-list ul { max-height: 260px; }
  .live-map .leaflet-bar a { width: 42px; height: 42px; line-height: 42px; }
  .map-section .title-row { align-items: start; gap: 9px; }
}

@media (max-width: 475px) {
  .church-grid { grid-template-columns: minmax(0,1fr); }
  .directory-filters label:first-child, .directory-filters label:nth-child(4) { grid-column: 1 / -1; }
}

@media (max-width: 380px) {
  .directory-overview { align-items: start; flex-direction: column; }
  .atlas-layout { --atlas-height: 315px; }
  .queue-item { grid-template-columns: minmax(0, 1fr); }
  .queue-item .button { justify-self: start; }
}

/* Fluid page layout and navigation across screen sizes. */
html {
  scroll-padding-top: 120px;
}
.site-head {
  position: sticky;
  top: 0;
  z-index: 1100;
}
.head-inner {
  min-height: 78px;
}
.skip {
  z-index: 1200;
}
.hero-grid > *, .two-col > *, .tiles > *, .grid > * {
  min-width: 0;
}
.hero-copy p {
  max-width: 42ch;
  font-size: 1.08rem;
}
.hero-visual {
  min-height: 380px;
}
.page-header h1, .tile h2, .tile h3, .panel h2 {
  overflow-wrap: break-word;
}
.article {
  max-width: 1000px;
}
.article-body {
  max-width: 70ch;
}
.article-body p {
  line-height: 1.8;
}
.button, nav a, .foot-links a {
  touch-action: manipulation;
}
.button {
  min-height: 44px;
}
nav a {
  display: flex;
  align-items: center;
  min-height: 44px;
}
@media (min-width: 1600px) {
  .hero-grid { gap: 64px; }
  .hero-visual { min-height: 460px; }
}
@media (min-width: 681px) and (max-width: 1100px) {
  .head-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0 20px;
    padding-top: 12px;
  }
  .head-inner nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    gap: 36px;
  }
  .head-cta {
    grid-column: 2;
    grid-row: 1;
    font-size: .82rem;
    padding-inline: 16px;
  }
  .hero-grid { gap: 24px; }
  .hero h1 { font-size: clamp(3rem,5.6vw,4.5rem); }
  .hero-visual { min-height: 340px; }
  .atlas-layout { grid-template-columns: minmax(0,1.7fr) minmax(220px,1fr); }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 125px; }
  .shell { width: calc(100% - 32px); }
  .head-inner { padding: 10px 0 0; gap: 4px 8px; }
  .head-inner nav {
    display: grid;
    grid-template-columns: 1.1fr .65fr 1.1fr;
    gap: 8px;
  }
  .head-inner nav a {
    justify-content: center;
    font-size: .78rem;
    min-height: 46px;
  }
  .head-cta {
    max-width: 165px;
    font-size: .76rem;
    padding: 9px 10px;
    white-space: normal;
  }
  .hero-copy p { max-width: none; font-size: 1rem; }
  .hero h1 { font-size: clamp(2.9rem,11.5vw,4.9rem); }
  .hero-visual { min-height: 0; }
  .hero-copy > .button { width: 100%; }
  .filters, .filters.three { gap: 12px; }
  .filters label { font-size: .84rem; }
  .filters label:has(select[name="church"]) { grid-column: 1 / -1; }
  .filters select, .directory-filters input,
  .form-grid input, .form-grid select, .form-grid textarea,
  .edit-grid input, .edit-grid select {
    min-height: 48px;
  }
  .story-copy { padding: 18px; }
  .story-copy h3 { font-size: 1.75rem; }
  .story-copy p, .tile p { font-size: .96rem; }
  .story .link-arrow { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; }
  .church-tile-actions .button { padding: 10px 0; }
  .atlas-layout { --atlas-height: min(56svh,420px); }
  .atlas-list ul { max-height: 310px; overscroll-behavior: contain; }
  .atlas-list a { min-height: 48px; }
  .atlas-list .button { min-width: 44px; min-height: 44px; }
  .article .hero-visual { aspect-ratio: 1.45; }
  .article-body p { font-size: 1rem; }
  .form-box, .panel { padding: 16px; }
  .actions > .button { flex: 1 1 180px; }
  .foot-links { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 6px 16px; }
}
@media (max-width: 380px) {
  .shell { width: calc(100% - 24px); }
  .brand { font-size: 1rem; gap: 7px; }
  .head-cta { max-width: 146px; font-size: .7rem; }
  .head-inner nav a { font-size: .72rem; }
  .sectionline { align-items: start; }
  .sectionline .mini { max-width: 50%; text-align: right; }
  .filters, .filters.three { grid-template-columns: minmax(0,1fr); }
  .directory-filters label { grid-column: auto; }
  .photo-caption .mini { letter-spacing: .06em; }
}

/* Footer identity and original publications */
.footer-brands { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
.atitude-footer-logo {
  width: clamp(175px, 17vw, 240px);
  height: auto;
  filter: invert(1);
  mix-blend-mode: screen;
}
/* News thumbnails and reading typography */
.story {
  border-radius: 9px;
  background: var(--white);
  box-shadow: 0 2px 6px #2921190b;
}
.story > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.story > a:focus-visible { outline-offset: -3px; }
.news-art {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e5ddd0;
  color: #fff;
}
.news-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-art-place,
.news-art-video {
  position: absolute;
  border-radius: 4px;
  background: #17221ef2;
  padding: 4px 8px;
  font: 650 .72rem/1.35 var(--sans);
}
.news-art-place { top: 10px; left: 10px; }
.news-art-video { bottom: 9px; right: 10px; background: #fffaf2; color: #23372c; }
.story-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(14px, 1.4vw, 20px);
}
.story-copy h3 {
  font: 750 clamp(1.14rem, 1.55vw, 1.42rem)/1.27 var(--sans);
  letter-spacing: -.02em;
  margin: 8px 0 10px;
  overflow-wrap: anywhere;
}
.story-copy p {
  font-size: .95rem;
  line-height: 1.56;
  color: #49453e;
}
.story-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 10px;
  border-top: 1px solid var(--line);
  margin-top: auto;
  padding-top: 12px;
}
.story-footer .link-arrow { color: var(--rust); font-size: .85rem; }
.story a:hover .link-arrow { text-decoration: underline; }
.story-date { color: #5e5950; font-size: .76rem; }
.article-body .article-meta { color: var(--rust); font-size: .8rem; font-weight: 700; }
.news .title-row h2,
.church-archive .title-row h2,
.article .page-header h1,
.article-body h2,
.news-empty h3 {
  font-family: var(--sans);
  font-weight: 750;
  letter-spacing: -.035em;
  line-height: 1.18;
}
.news .title-row h2, .church-archive .title-row h2 { font-size: clamp(1.75rem, 3.5vw, 3.2rem); }
.article .page-header h1 { font-size: clamp(1.85rem, 4.3vw, 3.65rem); }
.article-body h2 { font-size: clamp(1.3rem, 2.5vw, 1.8rem); }
.article-sources { margin-top: 28px; padding-top: 12px; border-top: 1px solid var(--line); }
.source-link, .video-original { text-decoration: underline; overflow-wrap: anywhere; }
.article-video { margin: 28px auto; max-width: 480px; }
.article-video iframe { display: block; border: 0; width: 100%; height: 740px; background: var(--white); border-radius: 8px; }
@media (max-width: 680px) {
  .footer-brands { gap: 10px 15px; }
  .article-video iframe { height: 650px; }
}
.article-video iframe[data-platform="YouTube"] { aspect-ratio: 16 / 9; height: auto; }

.editorial-cover { width: 100%; max-height: 680px; object-fit: contain; border-radius: 8px; margin: 22px 0; }
.article-video video { display: block; width: 100%; border-radius: 8px; }
