
:root{
  --purple:#4b1f68;
  --purple-dark:#2f0f45;
  --purple-mid:#6a3a82;
  --lavender:#eee6f2;
  --cream:#f7f3ea;
  --ink:#201b22;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--cream);line-height:1.68}
a{color:inherit}
.site-header{background:var(--purple-dark);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 18px #0003}
.nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:24px}
.brand{font-weight:700;letter-spacing:.03em;text-decoration:none;font-size:1.05rem}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{text-decoration:none;font-family:Arial,sans-serif;font-size:.92rem;opacity:.9}
nav a:hover,nav a.active{opacity:1;text-decoration:underline;text-underline-offset:6px}
.hero{background:linear-gradient(120deg,var(--purple-dark),var(--purple) 55%,var(--purple-mid));color:white;padding:96px 24px 88px}
.hero-inner{max-width:1120px;margin:auto}
.kicker{text-transform:uppercase;letter-spacing:.18em;font:700 .75rem Arial,sans-serif;opacity:.78}
h1,h2,h3{line-height:1.08}
h1{font-size:clamp(3rem,7vw,6.5rem);max-width:920px;margin:.2em 0}
.hero p{font-size:1.3rem;max-width:780px}
.btn{display:inline-block;margin-top:16px;padding:13px 18px;background:white;color:var(--purple-dark);font:bold .9rem Arial,sans-serif;text-decoration:none;border-radius:2px}
main{max-width:1120px;margin:auto;padding:70px 24px}
.intro{font-size:1.3rem;max-width:900px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:44px 0}
.card{background:white;padding:28px;border-top:6px solid var(--purple);box-shadow:0 8px 24px #32104412}
.card h3{color:var(--purple);font-size:1.45rem;margin-top:0}
.band{background:var(--lavender);padding:58px 24px;margin:60px calc(50% - 50vw)}
.band-inner{max-width:1120px;margin:auto}
.two-col{columns:2;column-gap:50px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:48px 0;background:var(--purple)}
.stat{background:var(--purple);color:#fff;padding:28px}
.stat strong{font-size:2.3rem;display:block}
.quote{border-left:7px solid var(--purple);padding:4px 0 4px 24px;font-size:1.35rem;font-style:italic;margin:44px 0}
footer{background:var(--purple-dark);color:white;padding:44px 24px}
.footer-inner{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.small{font: .82rem/1.5 Arial,sans-serif;opacity:.8}
.page-hero{background:var(--purple);color:white;padding:70px 24px}
.page-hero>div{max-width:1120px;margin:auto}
.page-hero h1{font-size:clamp(2.7rem,6vw,5.2rem)}
h2{font-size:2.35rem;color:var(--purple-dark);margin-top:1.7em}
h3{font-size:1.5rem}
.timeline{border-left:3px solid var(--purple);padding-left:28px}
.timeline section{margin:0 0 34px}
.timeline strong{color:var(--purple);font-family:Arial,sans-serif}
.note{background:white;border:1px solid #d9cce0;padding:24px;margin:34px 0}
@media(max-width:800px){
  .nav{align-items:flex-start;flex-direction:column}
  .grid,.stat-row{grid-template-columns:1fr}
  .two-col{columns:1}
  .hero{padding-top:65px}
}


/* Image system */
.hero-photo{position:relative;background-image:linear-gradient(90deg,rgba(47,15,69,.94) 0%,rgba(47,15,69,.80) 42%,rgba(47,15,69,.30) 72%,rgba(47,15,69,.14) 100%),url('images/chapel-river.jpg');background-size:cover;background-position:center 45%;min-height:650px;display:flex;align-items:center}
.hero-photo .hero-inner{width:100%}
.feature-image{margin:46px 0 58px}
.feature-image img{display:block;width:100%;height:clamp(320px,52vw,620px);object-fit:cover;box-shadow:0 16px 42px #2f0f4524}
.feature-image.tall img{height:clamp(420px,62vw,760px);object-position:center 38%}
.feature-image figcaption,.image-grid figcaption{font: .76rem/1.55 Arial,sans-serif;color:#5e5462;margin-top:10px}
.feature-image figcaption a,.image-grid figcaption a{color:var(--purple);text-underline-offset:3px}
.image-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin:48px 0}
.image-grid figure{margin:0}
.image-grid img{display:block;width:100%;height:410px;object-fit:cover}
.image-grid figure:nth-child(2) img{object-position:center 42%}
.split-media{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:60px 0}
.split-media figure{margin:0}
.split-media img{width:100%;height:520px;object-fit:cover;display:block}
.photo-band{position:relative;margin:70px calc(50% - 50vw);min-height:520px;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.photo-band:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(47,15,69,.86) 100%)}
.photo-band .photo-copy{position:relative;color:white;max-width:1120px;width:100%;margin:auto;padding:70px 24px 46px}
.photo-band .photo-copy h2{color:white;max-width:700px}
.photo-band .photo-copy p{max-width:720px;font-size:1.1rem}
.photo-band.backs{background-image:url('images/backs.jpg')}
.photo-band.front{background-image:url('images/front-court.jpg')}
.photo-band.interior{background-image:url('images/chapel-interior.jpg');background-position:center 38%}
.credit-strip{background:#efe8f2;border-top:1px solid #d5c5dc;padding:16px 24px;font: .72rem/1.5 Arial,sans-serif;color:#5c4b63}
.credit-strip div{max-width:1120px;margin:auto}
.credit-strip a{color:var(--purple)}
@media(max-width:800px){.image-grid,.split-media{grid-template-columns:1fr}.image-grid img,.split-media img{height:360px}.hero-photo{min-height:590px;background-position:62% center}.photo-band{min-height:430px}}
