:root{
  --cream:#fbf6ec;
  --linen:#f1e5cd;
  --sage:#78875f;
  --sage-dark:#4f6041;
  --gold:#c99c3f;
  --brown:#4a2f20;
  --ink:#2e261f;
  --muted:#71685f;
  --white:#fffdf8;
  --shadow:0 24px 70px rgba(74,47,32,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream);color:var(--ink);line-height:1.7}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1140px,92%);margin:auto}.section-padding{padding:92px 0}.section-soft{background:radial-gradient(circle at 82% 10%, #f7de9b 0 12%, transparent 35%),linear-gradient(135deg,#fbf6ec 0%,#efe1c8 48%,#fdf8ec 100%)}.section-tint{background:#f4ead9}.section-dark{background:linear-gradient(135deg,#3f4d35,#6d704c);color:#fffef7}.site-header{position:sticky;top:0;z-index:99;background:rgba(251,246,236,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(79,96,65,.1)}.navbar{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-family:"Cormorant Garamond",serif;font-weight:700;font-size:1.35rem;line-height:1}.brand img{width:64px;height:64px;object-fit:cover;border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.12)}.brand small{font-size:.88rem;color:var(--sage-dark)}.nav-links{display:flex;align-items:center;gap:26px;font-weight:600;color:var(--brown)}.nav-links a:hover{color:var(--sage-dark)}.nav-cta{background:var(--sage-dark);color:white!important;padding:12px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:var(--sage-dark);color:#fff;border-radius:12px;padding:9px 12px;font-size:1.25rem}.hero{padding:86px 0 96px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:54px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:800;color:var(--gold)}h1,h2,h3{font-family:"Cormorant Garamond",serif;line-height:1.05;margin:0;color:var(--brown)}h1{font-size:clamp(3rem,7vw,5.8rem);max-width:760px}h2{font-size:clamp(2.25rem,4vw,3.8rem)}h3{font-size:1.75rem}.hero p,.section-heading p,.about p,.contact p{font-size:1.05rem;color:var(--muted);max-width:650px}.hero-actions,.contact-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 24px;font-weight:800;transition:.25s ease;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--sage-dark),var(--sage));color:white;box-shadow:0 14px 28px rgba(79,96,65,.22)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 38px rgba(79,96,65,.28)}.btn-outline{border-color:rgba(74,47,32,.25);color:var(--brown);background:rgba(255,255,255,.45)}.btn-outline:hover{background:white}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;max-width:620px}.trust-row div{padding:16px;border-radius:20px;background:rgba(255,255,255,.58);box-shadow:0 10px 24px rgba(74,47,32,.08)}.trust-row strong{display:block;color:var(--sage-dark);font-size:1.45rem}.trust-row span{font-size:.84rem;color:var(--muted)}.hero-art{position:relative;min-height:610px;display:grid;place-items:center;background:url('../images/abstract-blob.svg') center/92% no-repeat}.hero-blob{width:min(620px,100%);filter:drop-shadow(0 28px 42px rgba(74,47,32,.18))}.floating-card{position:absolute;background:rgba(255,253,248,.86);border:1px solid rgba(255,255,255,.65);border-radius:18px;padding:12px 18px;font-weight:800;color:var(--sage-dark);box-shadow:var(--shadow)}.card-top{top:18%;right:8%}.card-bottom{bottom:18%;left:6%}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center}.logo-panel{background:linear-gradient(135deg,#fff8e8,#ead8b5);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7)}.logo-panel img{border-radius:22px}.check-list{padding:0;margin:26px 0 0;list-style:none}.check-list li{margin:12px 0;padding-left:32px;position:relative;color:var(--brown);font-weight:600}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--sage-dark);font-weight:900}.section-heading{text-align:center;max-width:790px;margin:0 auto 44px}.section-heading.light h2,.section-heading.light p{color:#fff}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card,.program-card,.contact-form{background:rgba(255,253,248,.86);border:1px solid rgba(255,255,255,.75);border-radius:var(--radius);padding:28px;box-shadow:0 18px 42px rgba(74,47,32,.09);transition:.25s ease}.service-card:hover,.program-card:hover{transform:translateY(-6px)}.icon{font-size:2rem;display:inline-flex;margin-bottom:12px}.service-card p,.program-card p{color:var(--muted)}.program-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px}.featured{background:linear-gradient(135deg,#fff9ea,#e4d19c)}.program-label{display:inline-block;background:var(--sage-dark);color:#fff!important;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:800;margin:0 0 16px}.text-link{font-weight:900;color:var(--sage-dark)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}blockquote{margin:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:28px;font-size:1.05rem}cite{display:block;margin-top:20px;color:#f8dd94;font-style:normal;font-weight:800}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.contact-form{display:grid;gap:16px}.contact-form label{font-weight:800;color:var(--brown)}input,select,textarea{width:100%;margin-top:8px;border:1px solid rgba(74,47,32,.16);border-radius:16px;padding:13px 15px;background:white;font:inherit;color:var(--ink)}textarea{min-height:120px;resize:vertical}.form-note{font-size:.85rem!important;margin:0;color:var(--muted)!important}.site-footer{background:#2f3829;color:#fff;padding:28px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:12px;font-weight:900}.footer-brand img{width:52px;height:52px;object-fit:cover;border-radius:50%}.footer-links{display:flex;gap:18px}.footer-links a{color:#f8dd94;font-weight:800}@media(max-width:920px){.menu-toggle{display:block}.nav-links{position:absolute;left:4%;right:4%;top:92px;display:none;flex-direction:column;background:var(--white);padding:22px;border-radius:22px;box-shadow:var(--shadow)}.nav-links.active{display:flex}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-art{min-height:460px;order:-1}.cards-grid,.program-grid,.testimonial-grid{grid-template-columns:1fr 1fr}.trust-row{grid-template-columns:1fr}}@media(max-width:620px){.navbar{height:76px}.brand span{font-size:1rem}.brand img{width:54px;height:54px}.hero{padding-top:46px}.section-padding{padding:64px 0}.cards-grid,.program-grid,.testimonial-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.btn{width:100%}.floating-card{display:none}h1{font-size:2.8rem}}

/* Inner pages */
.page-hero{padding:88px 0 78px;text-align:center}.narrow-center{max-width:840px}.page-hero h1{font-size:clamp(2.7rem,6vw,4.8rem);margin-top:12px}.page-hero p{margin:18px auto 0;color:var(--muted);font-size:1.08rem}

/* Blog page */
.blog-page-section{background:linear-gradient(180deg,#fbf6ec 0%,#f4ead9 100%)}.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:38px;align-items:start}.blog-posts{min-width:0}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog-post-card{background:rgba(255,253,248,.92);border:1px solid rgba(255,255,255,.78);border-radius:var(--radius);padding:30px;box-shadow:0 18px 42px rgba(74,47,32,.08)}.blog-post-card h2{font-size:clamp(1.75rem,2.4vw,2.6rem);margin:8px 0 16px}.blog-post-card p{color:var(--muted);font-size:1rem}.featured-post{background:linear-gradient(135deg,#fff9ed,#efe0bd);margin-bottom:24px}.featured-post h2{font-size:clamp(2.2rem,3.6vw,3.4rem)}.post-meta{color:var(--sage-dark);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.blog-sidebar{position:sticky;top:108px;display:flex;flex-direction:column;gap:22px}.sidebar-card{background:var(--white);border-radius:var(--radius);padding:26px;box-shadow:0 18px 42px rgba(74,47,32,.08);border:1px solid rgba(255,255,255,.75)}.sidebar-card h3{margin-bottom:14px}.category-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.category-list a{display:block;color:var(--sage-dark);font-weight:800;padding:12px 14px;border-radius:15px;background:rgba(120,135,95,.1);border:1px solid rgba(120,135,95,.08);transition:.25s ease}.category-list a:hover{background:rgba(120,135,95,.18);transform:translateX(4px)}.booking-card{background:linear-gradient(135deg,#fff8e8,#eaf0dd)}.booking-card p,.sidebar-note p{color:var(--muted);margin-bottom:20px}.sidebar-label{display:inline-block;margin-bottom:12px;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:900;color:var(--gold)}.sidebar-note{background:rgba(255,253,248,.78)}

/* Schedule page */
.schedule-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:32px;align-items:start}.schedule-copy h2{margin:10px 0 24px}.session-list{display:grid;gap:18px}.session-item{background:var(--white);border-radius:var(--radius);padding:24px;box-shadow:0 18px 42px rgba(74,47,32,.08);border:1px solid rgba(255,255,255,.75)}.session-item p{color:var(--muted)}.calendar-panel{background:linear-gradient(135deg,#fffaf0,#efe0bd);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.75)}.calendar-panel h3{font-size:2.1rem}.calendar-note{color:var(--muted);margin-top:8px}.calendar-placeholder{min-height:380px;border:2px dashed rgba(79,96,65,.35);border-radius:22px;background:rgba(255,255,255,.55);display:grid;place-items:center;text-align:center;padding:24px;color:var(--muted);margin:18px 0}.calendar-placeholder strong{display:block;color:var(--sage-dark);font-size:1.15rem}.full-btn{width:100%;margin-top:4px}
@media(max-width:1040px){.blog-layout{grid-template-columns:1fr 300px;gap:28px}.blog-grid{grid-template-columns:1fr}}
@media(max-width:920px){.blog-layout,.schedule-grid{grid-template-columns:1fr}.blog-sidebar{position:static}.page-hero{padding:64px 0 54px}}
@media(max-width:640px){.blog-post-card,.sidebar-card{padding:22px;border-radius:22px}.blog-grid{gap:18px}.featured-post{margin-bottom:18px}}
