:root{
  --white:#ffffff;
  --ink:#243026;
  --muted:#637064;
  --green:#5f8a67;
  --green-dark:#325a3a;
  --sage:#eef7ed;
  --mint:#dff1e3;
  --rose:#f8e5eb;
  --cream:#fff8ec;
  --gold:#b78b4e;
  --line:#e6eee7;
  --shadow:0 24px 70px rgba(40,80,45,.14);
  --radius:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:var(--white);color:var(--ink);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92%);margin:0 auto}
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.navbar{width:min(1180px,94%);margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--sage),var(--cream));display:grid;place-items:center;font-family:Georgia,serif;font-size:1.8rem;font-weight:900;color:var(--green-dark);box-shadow:0 12px 30px rgba(73,118,80,.16)}
.logo strong{display:block;letter-spacing:.18em;font-size:1rem}.logo small{display:block;color:var(--muted);font-size:.78rem;margin-top:1px}.nav-links{display:flex;align-items:center;gap:10px}.nav-links a{font-weight:700;color:#405043;padding:10px 16px;border-radius:999px}.nav-links a:hover{background:var(--sage);color:var(--green-dark)}
.menu-btn{display:none;background:transparent;border:0;cursor:pointer}.menu-btn span{display:block;width:28px;height:2px;background:var(--ink);border-radius:9px;margin:6px}
.hero{position:relative;min-height:680px;display:flex;align-items:center;background:radial-gradient(circle at 12% 15%,#edf8ec 0 20%,transparent 42%),linear-gradient(135deg,#fff 0%,#fff9ef 55%,#f2fbf2 100%);overflow:hidden}.decor{position:absolute;border-radius:999px;z-index:0}.decor-one{width:300px;height:300px;background:var(--mint);right:8%;top:15%;filter:blur(4px);opacity:.75}.decor-two{width:180px;height:180px;background:var(--rose);left:8%;bottom:9%;filter:blur(2px);opacity:.7}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--green-dark);font-size:.78rem;font-weight:900;margin-bottom:14px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,8vw,6.8rem);line-height:.92;letter-spacing:-.055em;margin-bottom:24px}.hero h1 span{color:var(--green-dark)}.hero-text{max-width:610px;color:#4d5d50;font-size:1.25rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:150px;padding:15px 24px;border-radius:999px;font-weight:900;transition:.25s}.btn.primary{background:var(--green-dark);color:white;box-shadow:0 16px 36px rgba(50,90,58,.25)}.btn.secondary{background:white;color:var(--green-dark);border:1px solid #d9e7dc}.btn:hover{transform:translateY(-3px)}.hero-card{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:34px;padding:36px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:34px}.card-badge{background:var(--sage);color:var(--green-dark);font-weight:900;border-radius:999px;padding:8px 14px}.card-day{font-weight:900;color:var(--gold)}.time-block{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:24px;font-size:1.3rem;font-weight:900}.time-block em{height:2px;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:9px}.hero-card p{color:var(--muted)}
.section{padding:88px 0}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}.intro-box{background:linear-gradient(135deg,var(--green-dark),#6f946f);color:white;border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}.intro-box span{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:900;opacity:.82}.intro-box h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;margin-top:14px}.intro-text{font-size:1.16rem;color:#4a584d;background:var(--cream);border:1px solid #f2e8d8;border-radius:var(--radius);padding:36px}.services{background:linear-gradient(180deg,#fff 0%,#f7fbf7 100%)}.section-head{text-align:center;max-width:720px;margin:0 auto 44px}.section-head h2,.schedule-copy h2,.location-card h2{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.02;margin-bottom:16px}.section-head p,.schedule-copy p,.location-card p{color:var(--muted);font-size:1.08rem}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.service-card{position:relative;min-height:214px;background:white;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 18px 50px rgba(45,70,48,.08);transition:.25s;overflow:hidden}.service-card:before{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;background:var(--sage);border-radius:50%;z-index:0}.service-card span,.service-card h3,.service-card p{position:relative;z-index:1}.service-card span{display:grid;place-items:center;width:50px;height:50px;background:var(--cream);border-radius:18px;font-size:1.45rem;margin-bottom:18px}.service-card h3{font-size:1.05rem;line-height:1.22;margin-bottom:10px}.service-card p{font-size:.94rem;color:var(--muted)}.service-card:hover{transform:translateY(-7px);border-color:#cbdccb;box-shadow:0 26px 60px rgba(45,80,50,.12)}
.schedule{background:var(--green-dark);color:white}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.schedule .kicker{color:#d5ead6}.schedule-copy p{color:#e7f5e7}.schedule-card{background:white;color:var(--ink);border-radius:34px;padding:38px;box-shadow:0 22px 60px rgba(0,0,0,.16)}.schedule-card span{display:block;color:var(--green-dark);font-size:1.25rem;font-weight:900;margin-bottom:12px}.schedule-card strong{display:block;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;font-family:Georgia,serif}.location{background:#fff}.location-grid{display:grid;grid-template-columns:1fr .85fr;gap:36px;align-items:stretch}.location-card{border:1px solid var(--line);border-radius:34px;padding:42px;box-shadow:var(--shadow);background:linear-gradient(135deg,#fff 0%,#fffaf0 100%)}.location-visual{border-radius:34px;background:linear-gradient(135deg,var(--sage),var(--cream));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px;min-height:300px;border:1px solid var(--line)}.location-visual span{font-size:4rem;margin-bottom:14px}.location-visual p{font-weight:900;font-size:1.25rem}.location-visual small{color:var(--muted);margin-top:6px}.footer{background:#182019;color:white;padding:34px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer strong{letter-spacing:.18em}.footer p{color:#d8e3d9;font-size:.95rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:980px){.hero-grid,.intro-grid,.schedule-grid,.location-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.hero{min-height:auto;padding:86px 0 70px}.hero-card{max-width:560px}.footer-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.navbar{min-height:70px}.menu-btn{display:block}.nav-links{position:absolute;left:3%;right:3%;top:74px;background:white;border:1px solid var(--line);border-radius:22px;padding:14px;display:none;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{display:block;text-align:center}.hero h1{font-size:3.35rem}.section{padding:68px 0}.service-grid{grid-template-columns:1fr}.hero-card,.intro-box,.intro-text,.schedule-card,.location-card,.location-visual{border-radius:24px;padding:28px}.time-block{grid-template-columns:1fr;gap:8px}.time-block em{width:70px}.btn{width:100%}}
