/* Minimal, fast CSS (mobile-first, improved mobile menu) */
:root{
  --ink:#0b120f; --text:#1a2b23; --muted:#4a5d54;
  --brand:#2f8f5b; --brand-2:#4db37a;
  --paper:#fff; --card:#f6faf7; --border:#e3eee7; --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:var(--brand);color:#fff;padding:.5rem 1rem;border-radius:8px}

/* Header */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:1000}
.header-row{display:flex;align-items:center;gap:12px;padding:.75rem 0}
.brand{font-weight:700;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px}
.brand-mark{filter:grayscale(.2)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;margin-right:8px}
.nav-toggle svg{width:22px;height:22px}
.menu{display:flex;list-style:none;margin:0;padding:0;gap:1rem;align-items:center}
.menu a{color:var(--text);text-decoration:none;padding:.25rem .5rem;border-radius:8px}
.menu a:hover,.menu a.active{background:var(--card)}
.has-sub{position:relative}
.has-sub .submenu{display:none;position:absolute;background:#fff;border:1px solid var(--border);padding:.5rem;list-style:none;margin:0;min-width:220px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.has-sub:hover .submenu{display:block}
.cta{margin-left:auto;display:flex;gap:.5rem;align-items:center}

/* Mobile menu panel */
@media (max-width: 860px){
  .menu{display:none}
  .nav-toggle{display:inline-flex}
  /* Move hamburger to the RIGHT on mobile */
  .nav{margin-left:auto}
  .mobile-panel{position:fixed;inset:60px 0 0 0;background:#fff;border-top:1px solid var(--border);box-shadow:0 20px 40px rgba(0,0,0,.06);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.18s ease}
  .mobile-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .mobile-panel .panel-inner{padding:1rem}
  .mobile-panel .group{margin-bottom:1rem}
  .mobile-panel .group h4{margin:.2rem 0 .4rem 0;font-size:.95rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
  .mobile-panel a{display:block;padding:.5rem .75rem;border-radius:10px;text-decoration:none;color:var(--text)}
  .mobile-panel a:hover{background:var(--card)}
  .has-sub .submenu{display:none}
  .cta{display:none}
}
@media (max-width: 860px){
  .brand-logo{height:36px}
  .header-row,.brand{gap:10px}
}

/* Buttons */
.btn{display:inline-block;padding:.6rem 1rem;border-radius:999px;text-decoration:none;border:1px solid var(--brand);transition:transform .05s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(180deg,var(--brand-2),var(--brand));color:#fff;border:none}
.btn-outline{background:#fff;color:var(--brand)}
.btn-quiet{border:none;color:var(--muted)}
.tel{white-space:nowrap}

/* Sections / cards */
.hero{background:radial-gradient(1200px 400px at 20% -10%, #e9f7ef, #fff);padding:3.5rem 0 2rem}
.hero h1{margin:0 0 .5rem 0;font-size:clamp(1.6rem,2.5vw,2.3rem);color:var(--ink)}
.lede{font-size:1.125rem;color:var(--muted);margin:0 0 1rem}
.hero-cta{display:flex;gap:.7rem;flex-wrap:wrap}

.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem auto}
.grid.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin:2rem auto}
@media (max-width:900px){.grid.three{grid-template-columns:1fr}}
@media (max-width:860px){.grid.two{grid-template-columns:1fr}}

.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.card.accent{background:#eef9f1;border-color:#d8f0e1}
.tick{padding-left:1.2rem}
.tick li{margin:.3rem 0}
.tick li::marker{content:"✔︎ "}

.contact address{font-style:normal}

/* Accreditations strip */
.accreditations{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.75rem 0;margin:1rem 0}
.accreditations .logos{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center}
.accreditation-badge{max-width:150px;height:auto;display:block;margin:6px}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:2rem 0;margin-top:3rem}
.site-footer .container{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand-small{font-weight:700}
.small{font-size:.9rem;color:var(--muted)}

/* Prose */
h1,h2,h3{line-height:1.25;color:var(--ink)}
h2{margin-top:0}
p{margin:.6rem 0}

/* Forms (used on contact/booking pages) */
form{display:grid;gap:.6rem}
input,textarea,select{width:100%;padding:.6rem;border:1px solid var(--border);border-radius:10px}
label{font-weight:600}
.help{color:var(--muted);font-size:.9rem}

/* ----------------------------- */
/* Watering Days table (new)     */
/* ----------------------------- */
.water-table{width:100%;border-collapse:collapse}
.water-table th,
.water-table td{padding:.55rem .6rem;border-bottom:1px solid var(--border);text-align:left}
.water-table thead th{font-weight:700;color:var(--ink)}
.water-table tbody tr:nth-child(even){background:#fafdfb}
.water-table tbody tr:hover{background:#f1faf5}
@media (max-width:640px){
  .water-table th,.water-table td{padding:.45rem .5rem;font-size:.95rem}
  .water-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ----------------------------- */
/* Web citation styling (new)    */
/* ----------------------------- */
.oai_citation{
  display:inline-block;
  font-size:.85em;
  color:var(--muted);
  background:#f0f7f3;
  border:1px solid var(--border);
  border-radius:8px;
  padding:.1rem .35rem;
  margin-left:.25rem;
  vertical-align:baseline;
  text-decoration:none;
}
.oai_citation:hover{background:#e7f3ec;color:var(--text)}
.brand-logo {
  height: 42px;   /* adjust as needed */
  width: auto;
  display: block;
}
@media (max-width: 480px){
  .brand-logo{height:32px}
  .header-row,.brand{gap:8px}
  .nav-toggle{margin-right:12px}
}