
:root{
  --purple:#2b0050;
  --deep:#19002f;
  --gold:#c99a2e;
  --gold-light:#f1d27a;
  --cream:#fffaf0;
  --white:#fff;
  --ink:#241b2e;
  --muted:#6d6474;
  --line:#e7d7ad;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
img{display:block;max-width:100%}
a{color:var(--purple)}
.wrap{width:min(1120px,92%);margin:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:999}
.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(90deg,var(--deep),var(--purple));border-bottom:3px solid var(--gold);box-shadow:0 3px 14px #0003}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:84px}
.brand{display:flex;align-items:center;gap:.8rem;color:#fff;text-decoration:none}
.brand img{width:64px;height:64px;object-fit:contain;border-radius:50%}
.brand strong{display:block;color:var(--gold-light);font-family:Georgia,serif;font-size:1.1rem}
.brand small{display:block;letter-spacing:.12em}
nav{display:flex;gap:1.05rem;align-items:center}
nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.94rem}
nav a:hover,nav a:focus{color:var(--gold-light)}
.menu-toggle{display:none;background:var(--gold);border:0;padding:.7rem 1rem;font-weight:700;border-radius:.35rem}
.cover{background:#f6f0e7;border-bottom:4px solid var(--gold)}
.cover>img{width:100%;height:auto}
.cover-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;padding:1.1rem}
.button{display:inline-block;border:0;border-radius:.45rem;padding:.85rem 1.15rem;text-decoration:none;font-weight:800;cursor:pointer}
.button.purple{background:var(--purple);color:#fff}
.button.gold{background:linear-gradient(#f3d778,#bf861c);color:#271400}
.button.outline{border:2px solid var(--gold-light);color:#fff;background:transparent}
.section{padding:4.3rem 0}
.section.light{background:var(--cream)}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;color:#7d5b0e;font-weight:800;margin:0 0 .4rem}
.gold-text{color:var(--gold-light)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15}
h1,h2{color:var(--purple);font-size:clamp(2rem,4vw,3.4rem);margin:.15rem 0 1.2rem}
h3{font-size:1.45rem}
p{max-width:920px}
hr{border:0;border-top:1px solid var(--line);margin:3rem 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cards article{background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:1.3rem;box-shadow:0 8px 22px #3b205310}
.cards h2{font-size:1.35rem}
.purple-band,.booking,.gallery-section{background:linear-gradient(135deg,var(--deep),var(--purple));color:#fff}
.purple-band h2,.booking h2,.gallery-section h2{color:#fff}
.action-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.book-links{display:grid;gap:.8rem;max-width:760px}
.book-links a{background:#fff;border:1px solid var(--line);padding:1rem;border-radius:.5rem;text-decoration:none;font-weight:800}
.small-note{font-size:.9rem;color:var(--muted)}
.booking .small-note{color:#e9dcf2}
form{max-width:920px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0}
label,legend{font-weight:700}
label{display:flex;flex-direction:column;gap:.4rem}
input,textarea{width:100%;padding:.8rem;border:1px solid #cdbed8;border-radius:.35rem;font:inherit;background:#fff;color:#1f1428}
fieldset{border:1px solid #b896d4;border-radius:.5rem;padding:1rem}
.full{grid-column:1/-1}
.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:.7rem}
.checks label,.agreement{flex-direction:row;align-items:center;font-weight:400}
.checks input,.agreement input{width:auto}
.contact-form{display:grid;gap:1rem;max-width:700px}
.giving{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.giving div{border:1px solid var(--line);padding:1.2rem;border-radius:.6rem;background:var(--cream)}
.giving span{display:block;color:var(--muted)}
.giving strong{font-size:1.2rem;color:var(--purple)}
.gallery-section h3{color:var(--gold-light);margin-top:2.5rem}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery figure{margin:0;background:#fff;color:var(--ink);border-radius:.6rem;overflow:hidden}
.gallery img{width:100%;height:360px;object-fit:cover}
.books-gallery img{object-fit:contain;background:#f6f1ea}
.gallery figcaption{padding:.8rem;font-weight:700}
footer{background:#120022;color:#fff;padding:1.8rem 0;border-top:3px solid var(--gold)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:1rem;align-items:center}
footer a{color:var(--gold-light)}
@media(max-width:800px){
  .menu-toggle{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:84px;background:var(--deep);padding:1rem 4%;flex-direction:column;align-items:flex-start;border-bottom:3px solid var(--gold)}
  nav.open{display:flex}
  .brand span{display:none}
  .cards,.giving,.gallery{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .checks{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .gallery img{height:auto}
}
