
:root {
  --brand-red:#b3131a;
  --brand-green:#204024;
  --ink:#3b2e23;
  --paper:#f3efe7;
  --paper-2:#efe8dc;
  --muted:#7a6a57;
}
* { box-sizing:border-box; }
html, body { height:100%; }
body {
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  border:8px solid var(--brand-red);
  min-height:100vh;
}
h1,h2,h3 { font-family:'Libre Baskerville', Georgia, 'Times New Roman', serif; color:var(--brand-red); margin:0 0 .5rem; }
.lead { font-weight:600; margin:.25rem 0; }
.subtitle { color:var(--muted); margin:.25rem 0 1rem; }
.container { width:min(1100px,92%); margin:auto; }
.site-header {
  display:grid;
  grid-template-columns:120px 1fr;
  align-items:center;
  gap:1rem;
  padding:1.25rem 0 2rem;
}
.logo img { width:84px; height:auto; }
.hero { text-align:center; }
.hero h1 { font-size:clamp(2rem, 4vw, 3rem); line-height:1.15; }
.btn { display:inline-block; padding:.9rem 1.25rem; border-radius:.5rem; font-weight:600; text-decoration:none; border:none; }
.btn.primary { background:var(--brand-green); color:#fff; }
.btn.secondary { background:var(--brand-green); color:#fff; }
.btn:hover { filter:brightness(0.95); }
.mission {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:center;
  padding:2.25rem 0;
}
.mission-card {
  background:#fff;
  border:1px solid #e3dace;
  border-radius:.75rem;
  padding:1.25rem 1.25rem 1rem;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.mission-card h2 { text-align:center; margin:.1rem 0 .35rem; }
.mission-card p { margin:.25rem 0 .75rem; }
.service-times { border-top:2px solid var(--brand-red); padding-top:.75rem; }
.service-times h3 { margin:0 0 .4rem; text-align:center; color:var(--brand-green); }
.service-times ul { list-style:none; margin:0; padding:0; display:grid; gap:.35rem; }
.mission img { width:100%; border-radius:.75rem; box-shadow:0 2px 10px rgba(0,0,0,.05); }
.photos { background:var(--paper-2); padding:2.5rem 0; text-align:center; }
.grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.card { position:relative; border-radius:.5rem; overflow:hidden; border:3px solid var(--brand-green); }
.card img { width:100%; display:block; }
.card .label { position:absolute; bottom:0; left:0; right:0; background:rgba(0,0,0,.45); color:#fff; font-weight:700; text-transform:uppercase; padding:.8rem 1rem; letter-spacing:.03em; }
.connect { padding:2.5rem 0; }
.connect-layout { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }
.contact-card { background:#fff; border:1px solid #e3dace; border-radius:.75rem; padding:1.25rem; box-shadow:0 2px 8px rgba(0,0,0,.03); }
.contact-card p { margin:.25rem 0; }
.site-footer { background:var(--brand-red); color:#fff; text-align:center; padding:1rem 0; font-weight:600; }
@media (max-width:900px){ .site-header { grid-template-columns:1fr; text-align:center; } .logo { justify-self:center; } .mission { grid-template-columns:1fr; } .grid { grid-template-columns:repeat(2,1fr); } .connect-layout { grid-template-columns:1fr; } }
@media (max-width:600px){ .hero h1 { font-size:clamp(1.9rem, 6vw, 2.2rem); } .card .label { font-size:.85rem; } .btn { width:100%; } }
