
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Serif+Display&family=Great+Vibes&family=Libre+Baskerville:wght@400;700&display=swap');

:root{
  --ink:#251a13; --espresso:#17100c; --brown:#3a2116; --wine:#6f2c1d;
  --gold:#c79a4a; --paper:#eee3d0; --paper2:#f6efe3; --muted:#756554;
  --line:rgba(67,42,25,.22); --shadow:0 16px 38px rgba(34,19,10,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper2);color:var(--ink);font-family:"Libre Baskerville",Georgia,serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1180px,92%);margin:auto}
.script{font-family:"Great Vibes",cursive}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;color:#a78145}
.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(199,154,74,.75);padding:.85rem 1.15rem;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;transition:.2s;background:transparent}
.btn:hover{background:var(--gold);color:#1b1008}
.btn.dark{background:var(--brown);color:#fff;border-color:#9b6a38}
.btn.light{background:rgba(246,239,227,.9);border-color:#c9b28b}
.site-header{position:sticky;top:0;z-index:20;background:linear-gradient(90deg,#120d0a,#261710);color:#f2e8d6;border-bottom:1px solid rgba(199,154,74,.25)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{line-height:.85;min-width:175px}
.brand small{display:block;font-size:.66rem;letter-spacing:.22em;margin-bottom:6px}
.brand b{display:block;font-family:"Cormorant Garamond",serif;font-size:1.45rem;font-weight:600}
.brand em{font-family:"Great Vibes";font-size:1.6rem;color:#d8c5a3}
.navlinks{display:flex;align-items:center;justify-content:center;gap:27px;flex:1}
.navlinks a{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:#e8ddcc}
.navlinks a:hover,.navlinks a.active{color:var(--gold)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
.page-hero{padding:70px 0;background:radial-gradient(circle at 20% 0,#f9f3e7,var(--paper) 62%,#dcc7a5);border-bottom:1px solid var(--line)}
.page-hero h1{font-family:"Cormorant Garamond";font-size:clamp(3rem,7vw,5.7rem);line-height:.92;margin:12px 0}
.page-hero p{max-width:700px;line-height:1.8;font-size:1rem}
.hero{position:relative;min-height:560px;overflow:hidden;background:#332016}
.hero-bg{position:absolute;inset:0;background:url('assets/church.jpg') center/cover no-repeat;filter:saturate(.85) contrast(1.05)}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,230,209,.98) 0%,rgba(241,230,209,.92) 33%,rgba(49,27,15,.2) 65%,rgba(20,11,7,.18))}
.hero-inner{position:relative;z-index:1;min-height:560px;display:grid;grid-template-columns:52% 48%;align-items:center}
.hero-copy{padding:55px 0 45px 35px}
.hero-copy h1{font-family:"Cormorant Garamond";font-size:clamp(3.5rem,7vw,6.6rem);line-height:.82;margin:.15em 0 .2em;letter-spacing:-.03em}
.hero-copy h2{font-family:"Great Vibes";font-size:clamp(2.2rem,4vw,3.7rem);font-weight:400;margin:-10px 0 10px;color:var(--wine)}
.hero-copy p{max-width:510px;line-height:1.7;font-size:1.05rem}
.hero-quote{margin:24px 0 26px;padding:13px 25px;background:linear-gradient(90deg,#1f3444,#573325);color:#fff;width:max-content;max-width:100%;font-family:"Great Vibes";font-size:2.05rem;line-height:1.05}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.section{padding:70px 0}
.paper{background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.8),transparent 25%),linear-gradient(135deg,#f5eee2,#e7d8c0)}
.dark-section{background:linear-gradient(135deg,#130e0a,#302016);color:#eadfce}
.section-title{font-family:"Cormorant Garamond";font-size:clamp(2.3rem,5vw,4rem);line-height:1;margin:0 0 18px}
.two-col{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:center}
.polaroids{display:flex;gap:18px;align-items:end}
.polaroid{background:#f5efe5;padding:12px 12px 28px;box-shadow:var(--shadow);border:1px solid #c9bda9}
.polaroid:first-child{transform:rotate(-4deg);width:56%}
.polaroid:last-child{transform:rotate(3deg);width:48%;margin-left:-35px}
.polaroid img{width:100%;height:220px;object-fit:cover;filter:sepia(.35)}
.polaroid:first-child img{object-position:center 5%}
.copy p{line-height:1.8;margin:.6rem 0}
.album-grid{display:grid;grid-template-columns:.85fr 1fr 1.15fr;gap:40px;align-items:center}
.album-art{box-shadow:var(--shadow);border:1px solid rgba(199,154,74,.4)}
.tracklist{list-style:none;padding:0;margin:0}
.tracklist li{display:flex;justify-content:space-between;padding:.58rem 0;border-bottom:1px solid rgba(231,218,197,.15);font-family:"Cormorant Garamond";font-size:1.1rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#f3eadb;border:1px solid #cfc0a8;box-shadow:0 7px 18px rgba(35,20,10,.12)}
.card img{width:100%;height:185px;object-fit:cover;filter:sepia(.22)}
.memory-card img{object-position:center 8%}
.card-body{padding:18px}
.card h3{font-family:"Cormorant Garamond";font-size:1.5rem;margin:0 0 7px}
.card p{font-size:.84rem;line-height:1.6;margin:0 0 15px}
.card .link{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:#72502e}
.event-panel{background:linear-gradient(135deg,#142331,#312018);color:#f4e7d0;border:1px solid #ad7c3d;box-shadow:var(--shadow);padding:35px}
.event-panel h3{font-family:"Great Vibes";font-size:2.5rem;font-weight:400;line-height:.95;margin:0 0 10px}
.event-panel .event-title{font-family:"Cormorant Garamond";font-size:1.55rem;letter-spacing:.04em}
.event-list{line-height:1.9;font-size:.85rem}
.feature-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:start}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery img{width:100%;height:250px;object-fit:cover;box-shadow:var(--shadow)}
.quote-block{padding:35px;border-left:4px solid var(--gold);background:#f4eadb;font-family:"Cormorant Garamond";font-size:1.55rem;line-height:1.45}
.site-footer{background:#120d0a;color:#e5d8c4;padding:45px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.footer-grid h4{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px}
.footer-grid p,.footer-grid a{font-size:.76rem;line-height:1.8;display:block;color:#d6c8b4}
.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:25px;padding-top:20px;font-size:.67rem;color:#9d8e7b}
.notice{padding:18px 20px;background:#f4e5c9;border-left:4px solid var(--gold);line-height:1.65;font-size:.88rem}
@media(max-width:900px){
 .navlinks{display:none}.menu-btn{display:block}.navlinks.open{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;background:#21140e;padding:20px;gap:20px}
 .hero-inner{grid-template-columns:1fr}.hero-copy{padding:55px 10%}.hero-bg:after{background:linear-gradient(90deg,rgba(241,230,209,.96),rgba(241,230,209,.65))}
 .album-grid,.feature-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 .hero{min-height:650px}.hero-inner{min-height:650px}.hero-copy h1{font-size:4rem}
 .two-col{grid-template-columns:1fr;gap:30px}.polaroids{justify-content:center}.cards,.gallery{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}.page-hero{padding:55px 0}.section{padding:52px 0}.nav{min-height:72px}
}

/* Story archive */
.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.story-columns p{margin:0}
.lead-copy{max-width:780px;line-height:1.8;font-size:1.05rem;margin:0 0 34px}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.archive-card{padding:25px 22px 28px;background:rgba(255,255,255,.5);border:1px solid #cdbda3;min-height:185px}
.archive-number{font-family:"Cormorant Garamond";font-size:2.3rem;color:var(--gold);line-height:1;margin-bottom:14px}
.archive-card h3{font-family:"Cormorant Garamond";font-size:1.55rem;margin:0 0 8px}
.archive-card p{font-size:.87rem;line-height:1.65;margin:0}
.story-feature{align-items:stretch}
.archive-note{border:1px solid #a9793e;background:linear-gradient(145deg,#182735,#2d1b12);padding:38px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}
.archive-note h3{font-family:"Cormorant Garamond";font-size:5.2rem;line-height:.8;margin:18px 0 20px;color:#f0dfc4}
.archive-note p{line-height:1.75;color:#e8d8c1;margin:0}
.archive-rule{height:1px;background:rgba(199,154,74,.55);margin:25px 0}
.small-note{font-size:.78rem}
.story-callout{margin-top:24px;padding:25px;background:#efe3d0;border:1px solid #cdbda3}
.story-callout h3{font-family:"Cormorant Garamond";font-size:1.65rem;margin:7px 0}
.story-callout p{font-size:.86rem;line-height:1.65;margin:0 0 18px}
.archive-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 42px;background:linear-gradient(135deg,#302015,#142331);color:#f3e7d4;border:1px solid #a9793e;box-shadow:var(--shadow)}
.archive-banner h2{font-family:"Cormorant Garamond";font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:8px 0 10px}
.archive-banner p{max-width:700px;line-height:1.7;margin:0}
.archive-closing{text-align:center;border-left:0;border-top:1px solid var(--gold);font-size:1.7rem}
@media(max-width:900px){
  .archive-grid{grid-template-columns:repeat(2,1fr)}
  .story-columns{grid-template-columns:1fr}
  .archive-banner{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .archive-grid{grid-template-columns:1fr}
  .archive-note{padding:28px}
  .archive-note h3{font-size:4.3rem}
  .archive-banner{padding:28px}
}

/* Story archive additions */
.section-intro{max-width:760px;line-height:1.75;margin:0 0 28px}
.photo-stack{position:relative;min-height:610px}
.archive-photo{margin:0;background:#f8f0e4;padding:10px;box-shadow:var(--shadow)}
.archive-photo img{display:block;width:100%;height:auto;object-fit:cover}
.archive-photo figcaption{font-family:"Cormorant Garamond";font-size:1rem;padding:10px 6px 4px;color:#5a4534}
.tall-photo{width:72%;margin-left:auto;transform:rotate(2deg);position:relative;z-index:1}
.tall-photo img{aspect-ratio:3/4;object-fit:cover}
.offset-photo{width:54%;position:absolute;left:2%;bottom:-18px;transform:rotate(-3deg);z-index:2}
.offset-photo img{aspect-ratio:4/3;object-fit:cover}
.wide-photo{max-width:1050px}
.wide-photo img{max-height:680px;object-fit:contain;background:#e9dfd0}
.story-gallery figure,.later-gallery figure{margin:0}
.story-gallery img,.later-gallery img{width:100%;height:300px;object-fit:cover;object-position:center top;box-shadow:var(--shadow)}
.story-gallery img.military-detail{object-position:center center}
.story-gallery figcaption,.later-gallery figcaption{font-family:"Cormorant Garamond";font-size:1rem;margin-top:9px;color:#d8c8b1}
.later-gallery img{height:290px}
.story-gallery-note{margin-top:22px;color:#d8c8b1}
.anecdote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.anecdote{padding:28px 25px;border:1px solid rgba(199,154,74,.45);background:rgba(255,255,255,.04)}
.anecdote .kicker{color:#d8b26c}
.anecdote h3{font-family:"Cormorant Garamond";font-size:1.75rem;margin:8px 0 14px;color:#f1e5d3}
.anecdote p{color:#e2d4c0;line-height:1.72;margin:0 0 13px}
.anecdote p:last-child{margin-bottom:0}
.dark-callout{margin-top:28px;background:rgba(255,255,255,.06);border-color:rgba(199,154,74,.4);color:#e8d8c1}
.dark-callout a{color:#f1d69a}
@media (max-width:900px){
  .photo-stack{min-height:520px}
  .anecdote-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .photo-stack{min-height:0;display:grid;gap:20px}
  .tall-photo,.offset-photo{width:100%;position:static;margin:0;transform:none}
  .story-gallery img,.later-gallery img{height:260px}
}

/* Church page additions */
.church-place-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.church-sign-photo{transform:rotate(1.2deg)}
.church-sign-photo img{aspect-ratio:4/3;object-fit:cover}
.church-building-grid{align-items:center}
.church-story-band{align-items:stretch}
.church-section-lead{max-width:820px;margin-bottom:34px;color:#6a5542}
.church-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.church-gallery figure{margin:0;background:#f8f0e4;padding:10px;box-shadow:var(--shadow)}
.church-gallery figure:nth-child(4){grid-column:1 / span 2}
.church-gallery figure:nth-child(5){grid-column:3}
.church-gallery img{display:block;width:100%;height:300px;object-fit:cover}
.church-gallery figure:nth-child(4) img{height:360px}
.church-gallery figure:nth-child(5) img{height:360px}
.church-gallery figcaption{font-family:"Cormorant Garamond";font-size:1rem;padding:10px 6px 4px;color:#5a4534}
.organ-grid{align-items:center}
.church-history-cards .card{min-height:230px}
.dark-section .church-history-cards .card{background:rgba(255,255,255,.055);border-color:rgba(216,200,177,.28);color:#eadfce}
.dark-section .church-history-cards .card h3{color:#f1e5d3}
.dark-section .church-history-cards .card p{color:#d8c8b1}
@media (max-width:900px){
 .church-place-grid{grid-template-columns:1fr;gap:30px}
 .church-gallery{grid-template-columns:1fr 1fr}
 .church-gallery figure:nth-child(4),.church-gallery figure:nth-child(5){grid-column:auto}
}
@media (max-width:620px){
 .church-gallery{grid-template-columns:1fr}
 .church-gallery img,.church-gallery figure:nth-child(4) img,.church-gallery figure:nth-child(5) img{height:280px}
}

/* Home page — documentary video feature */
.video-intro { max-width: 760px; margin: 0 auto 34px; text-align: center; }
.video-intro .section-title { margin-bottom: 10px; }
.video-intro p { margin: 0 auto; max-width: 620px; }

.episode-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.episode-card { background: #fffaf0; border: 1px solid rgba(92,70,52,.18); box-shadow: var(--shadow); }
.episode-frame { aspect-ratio: 16 / 9; background: #17110e; overflow: hidden; }
.episode-placeholder { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #f6eddf; padding: 20px; }
.episode-number { font-family: var(--serif); font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; color: #c69a3a; }
.episode-title { font-family: var(--serif); font-size: 1.45rem; margin-top: 8px; }
.episode-note { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; opacity: .7; margin-top: 12px; }
.episode-body { padding: 22px 22px 24px; }
.episode-body h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 1.35rem; }
.episode-body p { margin: 0 0 16px; }
.video-more { text-align: center; margin-top: 30px; }

.home-event { padding-top: 62px; padding-bottom: 62px; }
.event-home-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 60px; align-items: center; }
.event-home-grid .section-title { color: #f6eddf; }
.event-home-grid .copy { color: #eadfce; max-width: 650px; }
.event-mini { border: 1px solid rgba(198,154,58,.55); padding: 28px; display: flex; flex-direction: column; gap: 8px; color: #f6eddf; }
.event-mini strong { font-family: var(--serif); font-size: 1.45rem; }
.event-mini span { font-size: .95rem; }
.event-mini .event-soon { color: #c69a3a; margin: 8px 0 12px; }
@media (max-width: 900px) {
  .episode-grid { grid-template-columns: 1fr; }
  .event-home-grid { grid-template-columns: 1fr; gap: 30px; }
}

.episode-frame iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Listen / Buy page */
.listen-hero-grid { display:grid; grid-template-columns: 360px 1fr; gap:64px; align-items:center; }
.listen-cover { width:100%; box-shadow:var(--shadow); }
.listen-intro .section-title { color:#f6eddf; }
.listen-intro > p { color:#eadfce; max-width:700px; }
.release-badge { margin-top:26px; border:1px solid rgba(198,154,58,.6); padding:18px 20px; display:flex; flex-direction:column; gap:5px; color:#f6eddf; }
.release-badge strong { color:#c69a3a; font-family:var(--serif); font-size:1.1rem; }
.listen-options { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.listen-option { padding:30px 26px; background:#fffaf0; border:1px solid rgba(92,70,52,.18); box-shadow:var(--shadow); }
.option-icon { width:48px; height:48px; border:1px solid #c69a3a; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.1rem; margin-bottom:18px; }
.listen-option h2 { margin:0 0 10px; font-family:var(--serif); }
.listen-option p { margin:0 0 18px; }
.listen-story img { width:100%; box-shadow:var(--shadow); }
.listen-note { max-width:720px; margin-bottom:22px; }
.confirmed-list { display:grid; grid-template-columns:1fr 1fr; gap:0 45px; margin:22px 0 30px; }
.confirmed-list span { padding:11px 0; border-bottom:1px solid rgba(92,70,52,.16); }
.centered { text-align:center; }
@media (max-width:900px) {
  .listen-hero-grid, .listen-options { grid-template-columns:1fr; }
  .listen-hero-grid { gap:35px; }
  .listen-cover { max-width:420px; margin:auto; }
  .confirmed-list { grid-template-columns:1fr; }
}

/* Contact page */
.contact-grid { display:grid; grid-template-columns: 1fr 1fr; gap:64px; align-items:start; }
.contact-form { background:#fffaf0; border:1px solid rgba(92,70,52,.18); box-shadow:var(--shadow); padding:32px; display:flex; flex-direction:column; gap:9px; }
.contact-form label { font-weight:600; margin-top:7px; }
.contact-form input, .contact-form textarea { width:100%; box-sizing:border-box; border:1px solid rgba(92,70,52,.28); background:#fff; padding:12px 13px; font:inherit; color:inherit; }
.contact-form textarea { resize:vertical; min-height:160px; }
.contact-form .cf-turnstile { margin:12px 0 6px; }
.contact-form .btn { align-self:flex-start; border:0; cursor:pointer; }
@media (max-width:900px) {
  .contact-grid { grid-template-columns:1fr; gap:35px; }
}
