:root{--g:#173b32;--g2:#245747;--gold:#c9a85b;--ink:#1e2925;--muted:#64716b;--paper:#f5f6f2;--line:#e1e6df}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
header{display:flex;align-items:center;gap:14px;padding:15px max(18px,calc((100% - 1080px)/2));background:var(--g);color:white}
.mark{width:42px;height:42px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:23px}
header b,header small{display:block}header small{color:#d6e2dc;font-size:12px}
.month{margin-left:auto;border:1px solid #ffffff55;border-radius:99px;padding:5px 10px;font-size:10px;letter-spacing:.08em}
main{width:min(1080px,calc(100% - 32px));margin:34px auto 55px}
.hero{display:flex;align-items:center;gap:28px;padding:18px 4px 28px}
.saint{width:220px;height:190px;object-fit:cover;object-position:left center;border-radius:18px;box-shadow:0 8px 26px #183b3218}
.hero-copy{flex:1}.hero small{font-weight:800;letter-spacing:.12em;color:var(--g2);font-size:11px}
h1{font:bold clamp(34px,5vw,54px)/1.1 Georgia,serif;color:var(--g);margin:10px 0}
h2{color:var(--g);font-size:22px;margin:0 0 6px}
.hero p,.muted{color:var(--muted)}
.card{background:white;border:1px solid var(--line);border-radius:17px;padding:23px;margin:17px 0;box-shadow:0 8px 28px #183b3210}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}
.grid div{background:#f4f7f3;border-radius:11px;padding:13px}.grid b,.grid small{display:block}.grid small{color:var(--muted);margin-top:4px}
.access-card{max-width:760px}.info{display:flex;align-items:center;gap:12px;background:#f0f4ef;border-radius:12px;padding:15px;color:var(--g);font-weight:600}.info span:first-child{font-size:24px}.small-note{font-size:13px;margin-bottom:0}
footer{text-align:center;padding:23px;color:var(--muted);font-size:13px}
@media(max-width:680px){header{padding:12px}.hero{align-items:flex-start;gap:16px;flex-direction:column}.saint{width:100%;height:180px;object-position:center 30%}.grid{grid-template-columns:1fr}.card{padding:18px}main{margin-top:16px}.month{font-size:9px}}
