:root{--navy:#0f1b33;--navy2:#0b1426;--scarlet:#b3121f;--scarlet-lt:#e0424f;--snow:#f7f5f0;--ink:#1d2433;--body:#3a4152;--muted:#555c6b;--line:#e6e1d6;--pale:#dfe4ee;--pale2:#c9d1e2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Literata,Georgia,serif;color:var(--ink);background:var(--snow);line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--scarlet)}a:hover{color:#7d0c15}
.cinzel{font-family:Cinzel,Georgia,serif}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:860px;margin:0 auto;padding:0 24px}
header.site{background:var(--navy);border-bottom:1px solid #23314f}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:40px;width:auto}
.brand span{font-family:Cinzel,serif;font-weight:700;font-size:20px;letter-spacing:.08em;color:#fff}
.brand b{color:var(--scarlet-lt);font-weight:700}
nav.main{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
nav.main a{font-family:Cinzel,serif;font-size:14px;letter-spacing:.1em;color:var(--pale);text-decoration:none;padding:10px 0}
nav.main a:hover,nav.main a[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:6px}
.btn{display:inline-block;font-family:Cinzel,serif;font-size:15px;letter-spacing:.1em;padding:15px 26px;border-radius:4px;text-decoration:none;border:1px solid transparent}
.btn-red{background:var(--scarlet);color:#fff}.btn-red:hover{background:#8f0e18;color:#fff}
.btn-ghost{border-color:#8a97b3;color:#fff}.btn-ghost:hover{border-color:#fff;color:#fff}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#1b2a4a;color:#fff}
nav.main .btn{padding:11px 18px;font-size:14px;color:#fff}
.dark{background:var(--navy);color:#fff}
.kicker{margin:0;font-family:Cinzel,serif;font-size:14px;letter-spacing:.18em}
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:80px;padding-bottom:88px}
.hero-text{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px}
.hero h1{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:clamp(36px,5vw,56px);line-height:1.1;letter-spacing:.02em}
.hero h1 span{color:var(--scarlet-lt)}
.hero .sub{margin:0;font-size:clamp(19px,2.2vw,24px);font-style:italic;line-height:1.4;color:var(--pale)}
.hero p.lead{margin:0;font-size:18px;line-height:1.7;color:var(--pale2);max-width:560px}
.hero-cover{flex:0 1 340px;display:flex;justify-content:center}
.hero-cover img{width:100%;max-width:340px;border-radius:4px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.verse{background:#fff;border-bottom:1px solid var(--line);text-align:center;padding:64px 0}
.verse p{margin:0 0 14px;font-size:clamp(20px,2.6vw,26px);line-height:1.6;font-style:italic}
.verse p span{color:var(--scarlet)}
.verse .ref{font-family:Cinzel,serif;font-size:15px;letter-spacing:.14em;color:var(--muted);font-style:normal}
section.block{padding:80px 0}
h2.title{margin:0 0 36px;font-family:Cinzel,serif;font-size:clamp(26px,3vw,32px);letter-spacing:.04em;text-align:center}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:30px;display:flex;flex-direction:column;gap:12px}
.card h3{margin:0;font-family:Cinzel,serif;font-size:22px}
.card p{margin:0;font-size:17px;color:var(--body)}
.card a.more{margin-top:auto;font-family:Cinzel,serif;font-size:14px;letter-spacing:.1em;font-weight:600;text-decoration:none}
.vols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}
.vol{display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}
.vol img{width:100%;max-width:250px;border-radius:3px;box-shadow:0 12px 30px rgba(15,27,51,.25)}
.vol h3{margin:8px 0 0;font-family:Cinzel,serif;font-size:20px}
.vol p{margin:0;color:var(--muted)}
.center{text-align:center}
.intro{max-width:660px;margin:0 auto 36px;text-align:center;color:var(--body);font-size:18px}
.inside ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px;font-size:clamp(18px,2vw,21px);font-style:italic;line-height:1.5;color:var(--pale);text-align:center}
.inside .wake{margin:28px 0 0;font-family:Cinzel,serif;font-weight:700;font-size:clamp(18px,2.2vw,22px);letter-spacing:.06em;text-align:center}
.inside .wake span{color:var(--scarlet-lt)}
.about{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.about img{width:170px;height:170px;border-radius:50%;object-fit:cover;flex:none}
.about div{flex:1 1 400px;min-width:0}
.about h2{margin:0 0 12px;font-family:Cinzel,serif;font-size:28px;letter-spacing:.04em}
.about p{margin:0 0 12px;font-size:18px;color:var(--body)}
.pagehead{padding:64px 0 56px;text-align:center}
.pagehead h1{margin:10px 0 14px;font-family:Cinzel,serif;font-size:clamp(32px,4vw,44px);letter-spacing:.03em}
.pagehead p{margin:0 auto;max-width:680px;font-size:19px;color:var(--pale2)}
.weeks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.weeks li{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.weeks .wk{font-family:Cinzel,serif;font-size:14px;letter-spacing:.1em;color:var(--scarlet);font-weight:600}
.weeks .t{font-size:17px}
.weeks .t small{display:block;color:var(--muted);font-size:14px}
.weeks a{font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;text-decoration:none;white-space:nowrap}
.part{margin:44px 0 10px;font-family:Cinzel,serif;font-size:15px;letter-spacing:.14em;color:var(--muted)}
.note{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px 28px;font-size:17px;color:var(--body)}
form.signup{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}
form.signup label{position:absolute;left:-9999px}
form.signup input{font:inherit;font-size:17px;padding:14px 16px;border:1px solid #9aa3b5;border-radius:4px;min-width:280px}
form.signup button{font-family:Cinzel,serif;font-size:15px;letter-spacing:.1em;padding:15px 26px;border:0;border-radius:4px;background:var(--scarlet);color:#fff;cursor:pointer}
footer.site{background:var(--navy2);color:var(--pale2);padding:52px 0;text-align:center}
footer.site .calls{margin:0 0 24px;font-family:Cinzel,serif;font-weight:600;font-size:clamp(16px,2vw,20px);letter-spacing:.14em;color:#fff}
footer.site nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;font-size:16px;margin-bottom:22px}
footer.site nav a{color:var(--pale)}
footer.site small{font-size:14px;color:#a9b3c7}
@media (max-width:640px){.weeks li{grid-template-columns:1fr;gap:4px}.hero{padding-top:48px;padding-bottom:56px}section.block{padding:56px 0}}
