/* El Bethel Primitive Baptist Church - original website draft 2026 */
:root {
  --paper: #f9f7f2;
  --cream: #f1ece3;
  --warm-white: #fffdf9;
  --ink: #292522;
  --ink-soft: #5d5650;
  --oxblood: #702e35;
  --oxblood-deep: #4c2027;
  --gold: #ad8351;
  --gold-light: #d9b887;
  --line: #ddd4c8;
  --serif: Georgia, 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', serif;
  --sans: 'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
  --shadow: 0 24px 55px rgba(52,36,26,.12);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.75 var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display:block; max-width: 100%; }
a { color: inherit; }
a:focus-visible,button:focus-visible { outline: 3px solid #c79458; outline-offset: 4px; }
button { font: inherit; }
::selection { background: #dcc6a3; color: #2e2524; }
.container { width: min(1160px, calc(100% - 60px)); margin: 0 auto; }
.container-wide { width: min(1320px, calc(100% - 48px)); margin: 0 auto; }
.section { padding: 108px 0; }
.section-sm { padding: 74px 0; }
.section-muted { background: var(--cream); }
.section-dark { color: #fff; background: var(--oxblood-deep); }
.section-header { max-width: 760px; margin-bottom: 44px; }
.section-header.centered { margin-left:auto; margin-right:auto; text-align:center; }
.kicker { display:block; margin-bottom: 21px; color: var(--oxblood); font: 700 11px/1.5 var(--sans); text-transform:uppercase; letter-spacing: .23em; }
.kicker.light { color:var(--gold-light); }
h1,h2,h3,h4,p,blockquote { margin-top: 0; }
h1,h2,h3 { text-wrap: balance; }
h1,h2 { font-family:var(--serif); font-weight: 400; line-height: 1.11; letter-spacing:-.048em; }
h1 { font-size:clamp(3.25rem, 6.4vw, 6.4rem); }
h2 { font-size: clamp(2.4rem, 4.5vw, 4.45rem); }
h3 { font: 400 clamp(1.45rem, 2vw, 2rem)/1.25 var(--serif); letter-spacing:-.03em; }
p { margin-bottom: 1.25em; }
.intro { font-size:clamp(1.09rem, 1.5vw, 1.27rem); line-height:1.85; color:var(--ink-soft); }
.copy { max-width: 680px; color: var(--ink-soft); }
.muted { color:var(--ink-soft); }
.eyebrow-divider { display:inline-block; width:35px; height:2px; vertical-align:middle; margin-right:12px; background: var(--gold); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding: 14px 25px; text-align:center; font: 700 12px/1.25 var(--sans); text-decoration:none; letter-spacing:.12em; text-transform: uppercase; border:1px solid transparent; transition: background .2s, transform .2s, border-color .2s, color .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background:var(--oxblood); color:#fff; }
.btn-primary:hover { background:var(--oxblood-deep); }
.btn-gold { background: #c7a270; color:#27201b; }
.btn-gold:hover { background: #e0bd8f; }
.btn-outline { border-color:var(--oxblood); color: var(--oxblood); }
.btn-outline:hover { background:var(--oxblood); color:white; }
.btn-outline-light { border-color:rgba(255,255,255,.65); color: white; }
.btn-outline-light:hover { background:white; color:var(--oxblood-deep); }
.btn-text { padding:4px 0; min-height:unset; color: var(--oxblood); border-bottom:1px solid var(--gold); }
.btn-text:hover { color:var(--oxblood-deep); }
.arrow-icon { width:17px; height:17px; flex:none; stroke:currentColor; stroke-width:1.6; fill:none; }
.skip-link {position:fixed; top:-100px; left:20px; background:#fff; padding:10px 18px; z-index:10000; }
.skip-link:focus {top:12px;}
/* Header */
.utility-bar { min-height:35px; background:var(--oxblood-deep); color:#f2e9e0; font-size:11px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.utility-content {display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:35px; }
.utility-content a {text-decoration:none;}
.utility-content a:hover { color:#e7c99f; }
.site-header {position:relative; z-index:100; background:var(--warm-white); border-bottom:1px solid #eee8dd; }
.site-header__inner {display:flex; justify-content:space-between; align-items:center; min-height:97px; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:14px; text-decoration:none; flex:none; }
.brand-seal {position:relative; display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--gold); border-radius:50%; color:var(--oxblood); font: 400 19px/.8 var(--serif); }
.brand-seal::before,.brand-seal::after { content:""; position:absolute; background:var(--gold); opacity:.6; }
.brand-seal::before {width:1px; height:25px; top:11px; }
.brand-seal::after {width:15px; height:1px; top:19px; }
.brand-seal__letters {position:relative; z-index:1; font-size:8px; font-weight:bold; letter-spacing:-1px; margin-top:22px; background:var(--warm-white); padding:1px 4px;}
.brand-label {display:flex; flex-direction:column; line-height:1.05; gap:6px; }
.brand-label strong {font: 400 26px/1 var(--serif); letter-spacing:-.06em; }
.brand-label small {font:700 8px/1.2 var(--sans); letter-spacing:.19em; text-transform:uppercase; }
.nav-links {display:flex; align-items:center; gap:clamp(13px,1.75vw,28px); }
.nav-links > a {text-decoration:none; color:#423a34; font: 700 10px/1.5 var(--sans); text-transform:uppercase; letter-spacing:.10em; transition:color .2s; white-space:nowrap; }
.nav-links > a:hover,.nav-links > a[aria-current="page"] {color:var(--oxblood);}
.nav-links > a[aria-current="page"]:not(.nav-give) {box-shadow: 0 2px 0 var(--gold); padding-bottom:5px; margin-bottom:-5px;}
.nav-links > .nav-give {background:var(--oxblood); color:white; padding:13px 18px; }
.nav-links > .nav-give:hover,.nav-links > .nav-give[aria-current="page"] {background: var(--oxblood-deep); color:#fff;}
.mobile-menu-button { display:none; appearance:none; border:0; background:transparent; color:var(--oxblood); cursor:pointer; padding:8px; }
.mobile-menu-button svg {width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2;}
/* Home hero */
.hero {position:relative; overflow:hidden; isolation:isolate; min-height:min(720px, 83vh); display:flex; align-items:center; background: #273940; color:white; }
.hero__image {position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position: center 40%;}
.hero::before {content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(21,27,32,.84) 0%,rgba(21,27,32,.61) 42%,rgba(21,27,32,.1) 90%),linear-gradient(0deg,rgba(20,21,23,.3),transparent 40%); }
.hero__content {position:relative; padding:125px 0 130px;}
.hero .kicker {color:#f1cd9b;}
.hero h1 {max-width:900px; margin-bottom:24px; text-shadow:0 2px 10px rgba(0,0,0,.12);}
.hero h1 em {color:#f0d6b0; font-weight:normal;}
.hero p {max-width:580px; margin-bottom:37px; color:#f2f0ed; font-size:clamp(1.03rem,1.5vw,1.22rem); line-height:1.7;}
.hero__buttons {display:flex; gap:12px; flex-wrap:wrap;}
.hero__ribbon {position:absolute; bottom:0; left:0; right:0; min-height:52px; background:rgba(73,28,35,.9); backdrop-filter:blur(6px);display:flex; align-items:center; justify-content:center; gap:24px; padding:12px 20px; text-align:center; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.hero__ribbon .dot {font-size:15px; color:var(--gold-light);}
/* Intro and two-column content */
.intro-grid {display:grid; grid-template-columns: .82fr 1.18fr; gap:8%; align-items:center; }
.intro-grid__title h2 {margin-bottom:20px;}
.story-grid {display:grid; grid-template-columns: 1.05fr .95fr; align-items:stretch; min-height:600px; }
.story-image {position:relative; min-height:420px; overflow:hidden; }
.story-image img {width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.story-image::after {content:""; position:absolute; inset:0; border:17px solid rgba(255,255,255,.08);pointer-events:none;}
.story-copy {background:var(--cream); padding:clamp(55px,7vw,114px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.story-copy h2 {margin-bottom:26px;}
.story-copy p { max-width:520px; color:var(--ink-soft); }
.feature-marks {display:flex; align-items:center; gap:35px; padding-top:28px; border-top:1px solid var(--line); margin-top:25px; }
.feature-marks strong {display:block; font:400 43px/1.1 var(--serif); color:var(--oxblood); letter-spacing:-.04em; }
.feature-marks small {display:block; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); }
/* Leadership cards */
.cards-two {display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:32px; }
.leader-card {background:var(--warm-white); box-shadow:0 10px 32px rgba(50,39,33,.06); border:1px solid #eae4dc; overflow:hidden; }
.leader-card__body {padding:34px 40px 41px;}
.leader-card .kicker {margin-bottom:13px;}
.leader-card h3 {font-size:clamp(1.6rem,2.5vw,2.5rem);margin-bottom:15px;}
.leader-card p {color:var(--ink-soft); font-size:15px;}
.leader-card .text-link {margin-top:12px;}
.text-link {display:inline-flex; align-items:center; gap:10px; color:var(--oxblood); font:700 11px/1.6 var(--sans); text-transform:uppercase; text-decoration:none; letter-spacing:.13em; border-bottom:1px solid #c0a17d; padding-bottom:5px; transition:gap .2s; }
.text-link:hover {gap:17px;}
/* Portrait slots: insert files in assets/portraits and the photographs reveal automatically */
.portrait-slot {position:relative; overflow:hidden; min-height:400px; background:radial-gradient(circle at 50% 42%,#f7f2e9 0%,#e4d9cc 80%); border-bottom:5px solid #c7ac83; }
.portrait-slot--large {min-height:610px; border:1px solid var(--line); border-bottom:6px solid var(--gold); box-shadow:var(--shadow);}
.portrait-slot__photo {position:absolute; z-index:2; inset:0; width:100%;height:100%;object-fit:cover;object-position: center 24%;opacity:0; transition: opacity .4s;}
.portrait-slot.is-loaded .portrait-slot__photo {opacity:1;}
.portrait-slot__placeholder {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:35px;}
.portrait-slot.is-loaded .portrait-slot__placeholder {display:none;}
.portrait-slot__monogram {position:relative;display:grid;place-items:center; width:170px; height:170px;border-radius:50%;border:1px solid rgba(112,46,53,.32); color:var(--oxblood); font:400 70px/1 var(--serif); letter-spacing:-.07em; }
.portrait-slot__monogram::before {content:"";position:absolute;inset:-12px;border:1px solid rgba(112,46,53,.14);border-radius:50%;}
.portrait-slot__rule {height:1px;width:45px;background:var(--gold);}
.portrait-slot__label {font:700 10px/1.5 var(--sans); letter-spacing:.18em; text-transform:uppercase;color:var(--oxblood);}
.portrait-slot__sub {font-size:12px;color:var(--ink-soft);}
.portrait-slot--large .portrait-slot__monogram {width:200px;height:200px;font-size:83px;}
.portrait-slot--large .portrait-slot__placeholder {gap:25px;}
/* Visit ribbon */
.visit-band {display:grid; grid-template-columns: 1fr 1fr; min-height:515px; }
.visit-band__copy {background:var(--oxblood-deep);color:#fff;padding:clamp(55px,7vw,105px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.visit-band__copy h2 {margin-bottom:16px;}
.visit-band__copy p {color:#e7dcd3; max-width:540px;}
.visit-band__photo {position:relative; min-height:370px;overflow:hidden;}
.visit-band__photo img {width:100%; height:100%; object-fit:cover;object-position:center 46%;}
.visit-times {display:flex;gap:35px;flex-wrap:wrap;margin:18px 0 35px;}
.visit-times span {font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#d8bb93;}
.visit-times strong {display:block; font:400 33px/1.3 var(--serif); color:#fff;letter-spacing:-.02em;}
/* Page heroes */
.page-hero {background:var(--cream); border-bottom:1px solid var(--line); position:relative;overflow:hidden;}
.page-hero__inner {padding:105px 0 112px; max-width:860px;}
.page-hero h1 {margin-bottom:21px; font-size:clamp(3.5rem,6.2vw,6rem); }
.page-hero p {max-width:700px; margin:0; font-size:clamp(1.05rem,1.6vw,1.35rem); color:var(--ink-soft); }
.page-hero.photo-hero { color:white; background:#372b26; }
.photo-hero > img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover;object-position:center 35%;}
.photo-hero::after {position:absolute;content:"";inset:0;background:linear-gradient(90deg,rgba(37,26,25,.88),rgba(37,26,25,.63) 58%,rgba(37,26,25,.18));}
.photo-hero .page-hero__inner {position:relative;z-index:1; padding:125px 0;}
.photo-hero p {color:#eee8df;}
.photo-hero .kicker {color:#e1bd8a;}
/* Bios */
.profile-hero {background:var(--cream); padding:89px 0 93px; position:relative; }
.profile-hero__grid {display:grid;grid-template-columns: 1.08fr .92fr;align-items:center;gap:clamp(60px,8vw,136px);}
.profile-hero h1 {font-size:clamp(3.3rem,5.8vw,5.8rem);}
.profile-hero p {max-width:570px;color:var(--ink-soft);font-size:clamp(1.07rem,1.4vw,1.25rem);line-height:1.85;}
.profile-hero .kicker {margin-bottom:25px;}
.profile-hero__actions {margin-top:34px;}
.profile-content {display:grid; grid-template-columns: minmax(0,2fr) minmax(260px,.85fr);gap:105px;align-items:start;}
.profile-content h2 {font-size:clamp(2.3rem,3.5vw,3.45rem);}
.profile-content p {color:var(--ink-soft);}
.profile-sidebar {padding:36px;background:#f1ece4; border-top:3px solid var(--gold);}
.profile-sidebar h3 {font:400 26px/1.2 var(--serif);margin-bottom:20px;}
.profile-sidebar dl {margin:0;}
.profile-sidebar dt {font:700 10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:var(--oxblood);margin-top:20px;}
.profile-sidebar dd {margin:4px 0 0;font-size:14px;color:var(--ink-soft);}
.pullquote {border-left:2px solid var(--gold);padding:14px 0 14px 30px;font:italic 400 clamp(1.5rem,2.4vw,2.35rem)/1.45 var(--serif);color:var(--oxblood);margin:35px 0;}
.note-strip {display:flex;gap:23px;padding:27px 33px;border:1px solid var(--line);background:var(--warm-white);}
.note-strip__icon {flex:none;font:400 28px/1 var(--serif);color:var(--gold);}
.note-strip p {margin:0;color:var(--ink-soft);font-size:14px;}
/* Other pages */
.timeline {position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.timeline::before {content:"";position:absolute;top:29px;left:1%;right:1%;height:1px;background:var(--line);}
.timeline-entry {position:relative; padding-top:77px;}
.timeline-entry::before {content:"";position:absolute;top:21px;left:0;width:17px;height:17px;border:4px solid var(--paper);background:var(--oxblood);box-shadow:0 0 0 1px var(--gold);border-radius:50%;}
.timeline-entry time {display:block;font:400 45px/1 var(--serif);color:var(--oxblood);}
.timeline-entry h3 {margin:15px 0;}
.timeline-entry p {font-size:14px;color:var(--ink-soft);}
.gallery-grid {display:grid;grid-template-columns:1.5fr 1fr;gap:14px;}
.gallery-grid img {width:100%; height:100%; object-fit:cover;min-height:285px;}
.gallery-grid__tall {grid-row:span 2;}
.info-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.info-card {background:#fffdf9;border:1px solid var(--line);padding:40px 35px;}
.info-card__no {font:400 42px/1 var(--serif);color:var(--gold); margin-bottom:27px;}
.info-card h3 {margin-bottom:16px;}
.info-card p {color:var(--ink-soft);font-size:14px;}
.two-cols {display:grid;grid-template-columns:repeat(2,1fr);gap:45px;}
.rule-card {padding:38px 0;border-top:1px solid var(--line);}
.rule-card h3 {font-size:2rem;margin-bottom:14px;}
.rule-card p {color:var(--ink-soft);}
.contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:35px;}
.contact-card {background:var(--warm-white);padding:45px;border:1px solid var(--line);}
.contact-card h3 {margin-bottom:15px;}
.contact-card .contact-big {font:400 clamp(1.5rem,2.5vw,2.2rem)/1.4 var(--serif);color:var(--oxblood);}
.contact-card p {color:var(--ink-soft);}
.contact-card a:not(.btn) {text-decoration-thickness:1px; text-underline-offset:5px;}
.visit-hero-grid {display:grid;grid-template-columns:.75fr 1.25fr;gap:65px; align-items:center;}
.visit-hero-grid img {height:480px;width:100%;object-fit:cover;}
.notice-box {padding:30px 34px;background:#f1ece3;border-left:3px solid var(--gold);color:var(--ink-soft);}
.notice-box strong {color:var(--oxblood);}
/* Page call to action */
.cta-banner {background:var(--oxblood-deep);color:white;padding:78px 0;}
.cta-banner__inner {display:flex;align-items:center;justify-content:space-between;gap:50px;}
.cta-banner h2 {font-size:clamp(2.4rem,3.9vw,3.7rem);margin-bottom:8px;}
.cta-banner p {margin:0;color:#e4d8cf;}
/* Footer */
.site-footer {background:#262420;color:#eae5df;}
.footer-main {display:grid;grid-template-columns:1.45fr .9fr 1fr 1fr;gap:40px;padding-top:80px;padding-bottom:70px;}
.footer-main .brand {color:white;margin-bottom:23px;}
.footer-main .brand-seal {color:#e4c393;}
.footer-main .brand-seal__letters {background:#262420;}
.footer-main p {color:#bfb6ab;font-size:14px;max-width:350px;}
.footer-col h4 {color:#e8c89c;font:700 11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.19em;margin-bottom:23px;}
.footer-col a {display:block;color:#e6dfd6;font-size:13px;text-decoration:none;margin-bottom:11px;}
.footer-col a:hover {color:#e3bc87;}
.footer-col .footer-detail {font-size:13px;line-height:1.9;color:#dfd3c8;}
.footer-bottom {border-top:1px solid #4d4944;padding:20px 0;display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#bdb4ab;}
.footer-bottom a {text-decoration:none;color:#e2c297;}
/* Utility */
.screen-reader-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.reveal {opacity:1;}
@media (prefers-reduced-motion: no-preference) { .reveal {transition: opacity .5s ease,transform .5s ease;} .reveal.js-waiting {opacity:0;transform:translateY(14px);} }
@media (max-width: 1120px) {
 .nav-links {gap:13px;}
 .nav-links>a {font-size:9px;letter-spacing:.07em;}
 .brand-label strong {font-size:22px;}
 .profile-content {gap:50px;}
 .footer-main {gap:30px;}
}
@media (max-width: 930px) {
 .site-header__inner {min-height:81px;}
 .mobile-menu-button {display:block;z-index:120;}
 .nav-links {display:none;position:absolute;top:100%;left:0;right:0;min-height:calc(100vh - 119px);padding:24px 30px 44px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:var(--warm-white);box-shadow:0 20px 22px rgba(0,0,0,.1);overflow-y:auto;}
 .nav-links.is-open {display:flex;}
 .nav-links>a {padding:17px 6px;font-size:14px;letter-spacing:.12em;border-bottom:1px solid var(--line);}
 .nav-links>a[aria-current="page"]:not(.nav-give) {box-shadow:none;padding-bottom:17px;margin:0;}
 .nav-links>.nav-give {margin-top:20px;text-align:center;padding:17px 18px;border:0;}
 .footer-main {grid-template-columns:repeat(2,1fr);}
 .hero__content {padding:110px 0 123px;}
 .hero {min-height:650px;}
 .profile-hero__grid {gap:40px;}
 .portrait-slot--large {min-height:520px;}
 .story-copy {padding:60px;}
 .visit-band__copy {padding:58px;}
 .intro-grid {gap:45px;}
}
@media (max-width: 720px) {
 .container {width:min(100% - 36px, 560px);}
 .container-wide {width:calc(100% - 24px);}
 .section {padding:72px 0;}
 .section-sm {padding:52px 0;}
 .utility-content {justify-content:center;}
 .utility-content .utility-address {display:none;}
 .hero {min-height:650px;}
 .hero::before {background:linear-gradient(90deg,rgba(25,25,26,.81),rgba(25,25,26,.53)),linear-gradient(0deg,rgba(25,25,26,.47),transparent 60%);}
 .hero__image {object-position:62% center;}
 .hero__content {padding:86px 0 127px;}
 .hero h1 {font-size:clamp(3.2rem,11vw,5.2rem);}
 .hero__ribbon {gap:9px;font-size:9px;letter-spacing:.055em;}
 .intro-grid,.story-grid,.cards-two,.visit-band,.profile-hero__grid,.profile-content,.two-cols,.contact-grid,.visit-hero-grid {grid-template-columns:1fr;}
 .story-grid,.visit-band {gap:0;}
 .story-copy,.visit-band__copy {padding:65px 24px;}
 .story-image {min-height:350px;}
 .visit-band__photo {min-height:310px;}
 .cards-two {gap:20px;}
 .leader-card__body {padding:27px 26px 32px;}
 .portrait-slot {min-height:340px;}
 .profile-hero {padding:68px 0 76px;}
 .profile-hero__grid {gap:42px;}
 .profile-hero h1 {font-size:clamp(3.2rem,11vw,5rem);}
 .portrait-slot--large {min-height:460px;max-width:520px;width:100%;margin:0 auto;}
 .profile-content {gap:46px;}
 .page-hero__inner,.photo-hero .page-hero__inner {padding:83px 0 92px;}
 .timeline,.info-grid {grid-template-columns:1fr;gap:10px;}
 .timeline::before {top:8px;bottom:0;left:7px;width:1px;height:auto;}
 .timeline-entry {padding:0 0 18px 40px;}
 .timeline-entry::before {top:9px;left:-1px;}
 .timeline-entry time {font-size:35px;}
 .gallery-grid {grid-template-columns:1fr;}
 .gallery-grid__tall {grid-row:auto;}
 .gallery-grid img {max-height:350px;}
 .contact-card {padding:32px;}
 .visit-hero-grid {gap:35px;}
 .visit-hero-grid img {height:330px;}
 .cta-banner__inner {align-items:flex-start;flex-direction:column;gap:25px;}
 .footer-main {grid-template-columns:repeat(2,1fr);gap:35px 25px;padding-top:56px;}
 .footer-main >:first-child {grid-column:1/-1;}
 .footer-bottom {flex-direction:column;gap:7px;}
}
@media (max-width: 420px) {
 .brand-label strong {font-size:21px;}
 .brand-label small {font-size:7px;letter-spacing:.14em;}
 .brand {gap:9px;}
 .brand-seal {width:42px;height:42px;}
 .hero__buttons .btn {width:100%;}
 .hero__ribbon {font-size:8px;}
 .hero__ribbon .dot {display:none;}
 .hero__ribbon span + span::before {content:" · ";}
 .feature-marks {gap:18px;}
 .feature-marks strong {font-size:36px;}
 .visit-times {gap:22px;}
 .footer-main {grid-template-columns:1fr;}
 .footer-main >:first-child {grid-column:auto;}
}
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto;} .btn,.text-link,.portrait-slot__photo {transition:none;} }

/* Family photographs, church logo and pastoral heritage additions */
.brand-logo{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:white;border-radius:5px;overflow:hidden;flex:none}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.pastor-photo-feature,.anniversary-band{padding:clamp(55px,7vw,110px) 0;background:#faf6ee}
.pastor-photo-feature__grid,.anniversary-band__inner{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:clamp(25px,6vw,100px);align-items:center}
.pastor-photo-feature img{width:100%;max-height:620px;object-fit:cover;object-position:center 33%;border-radius:3px;filter:grayscale(1)}
.anniversary-band{background:#fff}.anniversary-band img{width:100%;max-height:490px;object-fit:contain;object-position:center;background:#fff;border-radius:3px}
.pastor-photo-feature h2,.anniversary-band h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.13;margin:20px 0}.pastor-photo-feature .intro{margin-bottom:20px}
@media(max-width:720px){.pastor-photo-feature__grid,.anniversary-band__inner{grid-template-columns:1fr}.pastor-photo-feature img{max-height:470px}.anniversary-band img{max-height:380px}}
