:root {
  --bg: #f7f1e8;
  --surface: #fffaf4;
  --surface-2: #f0e7d9;
  --text: #201915;
  --muted: #6a5b50;
  --accent: #b86e2e;
  --accent-dark: #8f4f1c;
  --border: rgba(32, 25, 21, 0.08);
  --shadow: 0 18px 40px rgba(32, 25, 21, 0.08);
  --container: 1180px;
}
*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(184,110,46,0.08), transparent 28%),
    radial-gradient(circle at top right, rgba(125,142,116,0.08), transparent 26%),
    var(--bg);
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.container { width: min(100% - 2rem, var(--container)); margin: 0 auto; }
.section { padding: 4.5rem 0; }
.section-alt { background: rgba(255,255,255,0.48); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.eyebrow { display:inline-flex; align-items:center; gap:.55rem; color:var(--accent-dark); font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.75rem; }
.eyebrow::before { content:""; width:26px; height:1px; background:currentColor; display:inline-block; }
h1, h2, h3, h4 { font-family: "Cormorant Garamond", Georgia, serif; line-height:1.05; margin:0 0 .85rem; font-weight:700; }
h1 { font-size: clamp(2.9rem, 7vw, 5.6rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.45rem, 3vw, 2rem); }
p { margin: 0 0 1rem; color: var(--muted); }
.lead { font-size: 1.1rem; max-width: 60ch; }
.button, button, input[type="submit"] {
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border:none; border-radius:999px; background:var(--accent);
  color:#fff; cursor:pointer; padding:.95rem 1.35rem; font-weight:700; transition:transform .2s ease, background .2s ease;
}
.button:hover, button:hover, input[type="submit"]:hover { background: var(--accent-dark); transform: translateY(-1px); }
.button.secondary { background: transparent; color: var(--text); border: 1px solid var(--border); }
.button.secondary:hover { background: #fff; }
.tag { display:inline-flex; align-items:center; padding:.35rem .7rem; border-radius:999px; background:var(--surface-2); color:var(--text); font-size:.85rem; gap:.45rem; }
.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); background: rgba(247, 241, 232, 0.8); border-bottom: 1px solid var(--border); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:84px; gap:1rem; }
.brand { display:flex; align-items:center; gap:.85rem; }
.brand img { width:46px; height:46px; object-fit:contain; filter: drop-shadow(0 8px 18px rgba(184,110,46,.18)); }
.brand-text strong { display:block; font-size:1.02rem; letter-spacing:.06em; }
.brand-text span { display:block; color:var(--muted); font-size:.86rem; }
.nav-toggle { display:none; background:transparent; color:var(--text); padding:.5rem; }
.site-nav { display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; }
.site-nav a { color:var(--muted); font-weight:600; font-size:.95rem; }
.site-nav a:hover, .site-nav a.active { color:var(--text); }
.hero { position:relative; padding:5.5rem 0 4rem; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; }
.hero-card { background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.55)); border:1px solid rgba(255,255,255,.75); border-radius:32px; box-shadow:var(--shadow); padding:2rem; }
.hero-card img { width:100%; aspect-ratio:4 / 4.2; object-fit:cover; border-radius:22px; background:var(--surface-2); }
.hero-orbit, .hero-orbit::before, .hero-orbit::after { position:absolute; border-radius:50%; pointer-events:none; }
.hero-orbit { width:520px; height:520px; right:-150px; top:-190px; border:1px solid rgba(184,110,46,.12); }
.hero-orbit::before { content:""; inset:54px; border:1px solid rgba(125,142,116,.12); }
.hero-orbit::after { content:""; inset:110px; border:1px solid rgba(184,110,46,.08); }
.stats { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1rem; margin-top:1.6rem; }
.stat { background:rgba(255,255,255,.65); border:1px solid var(--border); border-radius:20px; padding:1rem 1.15rem; }
.stat strong { display:block; font-family:"Cormorant Garamond", Georgia, serif; font-size:2rem; color:var(--accent-dark); }
.grid { display:grid; gap:1.25rem; }
.grid.cards-2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.grid.cards-3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
.grid.cards-4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
.card { background:rgba(255,255,255,.72); border:1px solid var(--border); box-shadow:var(--shadow); border-radius:18px; overflow:hidden; display:flex; flex-direction:column; }
.card-media { aspect-ratio:4 / 2.9; object-fit:cover; background:linear-gradient(135deg, var(--surface-2), #fff); }
.card-body { padding:1.25rem; display:flex; flex-direction:column; gap:.8rem; flex:1; }
.card-body p { margin:0; }
.card-meta { display:flex; flex-wrap:wrap; gap:.55rem; }
.card-action { margin-top:auto; }
.split { display:grid; grid-template-columns:.95fr 1.05fr; gap:1.4rem; align-items:center; }
.pane { background:rgba(255,255,255,.7); border:1px solid var(--border); border-radius:26px; padding:1.5rem; box-shadow:var(--shadow); }
.pane.visual { min-height:420px; background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.5)), url('/assets/meditation-ambient.svg') center/cover no-repeat, #e7dfd2; }
.info-list { display:grid; gap:.9rem; }
.info-list .item { padding:.95rem 1rem; border-radius:16px; background:var(--surface); border:1px solid var(--border); }
.page-hero { padding:4rem 0 2.2rem; }
.page-hero .container { display:grid; grid-template-columns:1fr .85fr; gap:1.2rem; align-items:end; }
.hero-panel { padding:1.4rem; background:rgba(255,255,255,.65); border:1px solid var(--border); border-radius:24px; box-shadow:var(--shadow); }
.filter-bar { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; margin-bottom:1.3rem; }
.filter-bar input, .filter-bar select, .filter-bar textarea, .login-card input, textarea, input, select {
  width:100%; border-radius:14px; border:1px solid var(--border); padding:.9rem 1rem; font:inherit; background:rgba(255,255,255,.85); color:var(--text);
}
.filter-bar .field { flex:1 1 220px; }
label { display:grid; gap:.45rem; font-weight:600; color:var(--text); font-size:.95rem; }
.schedule-table { width:100%; border-collapse:collapse; background:rgba(255,255,255,.72); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); }
.schedule-table th, .schedule-table td { padding:.95rem 1rem; text-align:left; border-bottom:1px solid var(--border); }
.schedule-table th { background:var(--surface-2); }
.rich-content { display:grid; gap:1rem; }
.rich-content ul { padding-left:1.2rem; }
.testimonial { padding:1.3rem; border-radius:24px; background:rgba(255,255,255,.7); border:1px solid var(--border); box-shadow:var(--shadow); }
.testimonial blockquote { margin:0 0 .9rem; font-size:1.1rem; color:var(--text); }
.stars { color:var(--accent-dark); letter-spacing:.15em; }
.shop-price { font-family:"Cormorant Garamond", Georgia, serif; font-size:2rem; color:var(--accent-dark); }
.contact-grid { display:grid; gap:1.25rem; grid-template-columns:1fr 1.05fr; }
.contact-card, .form-card, .login-card { background:rgba(255,255,255,.75); border:1px solid var(--border); border-radius:24px; box-shadow:var(--shadow); padding:1.4rem; }
.form-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; }
.form-grid .full { grid-column:1 / -1; }
textarea { min-height:160px; resize:vertical; }
.notice { padding:.9rem 1rem; border-radius:16px; background:var(--surface-2); border:1px solid var(--border); color:var(--text); margin-top:1rem; }
.page-footer { padding:2rem 0 3rem; border-top:1px solid var(--border); }
.footer-grid { display:grid; gap:1rem; grid-template-columns:1.2fr .8fr .8fr; }
.footer-list { display:grid; gap:.55rem; }
.footer-bottom { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--border); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.8rem; color:var(--muted); }
.empty-state { padding:1.6rem; text-align:center; background:rgba(255,255,255,.72); border-radius:22px; border:1px solid var(--border); color:var(--muted); }
.pagination { display:flex; gap:.6rem; justify-content:center; margin-top:1.3rem; }
.hidden { display:none !important; }

@media (max-width: 980px) {
  .hero-grid, .split, .page-hero .container, .contact-grid, .footer-grid { grid-template-columns: 1fr; }
  .grid.cards-4, .grid.cards-3 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nav-toggle { display:inline-flex; }
  .site-nav {
    position:absolute; top:calc(100% + .6rem); right:1rem; left:1rem; display:none; flex-direction:column; align-items:stretch;
    padding:1rem; background:rgba(255,255,255,.96); border:1px solid var(--border); border-radius:20px; box-shadow:var(--shadow);
  }
  .site-nav.open { display:flex; }
}
@media (max-width: 720px) {
  .stats, .grid.cards-2, .grid.cards-3, .grid.cards-4, .form-grid { grid-template-columns:1fr; }
  .section { padding:3.5rem 0; }
}
