
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap');

:root {
  --green: #183B2B;
  --green-2: #28533F;
  --gold: #B78A2B;
  --gold-light: #D5B76A;
  --cream: #F6F0E7;
  --ink: #17251E;
  --white: #FFFDF9;
  --max: 1180px;
  --shadow: 0 18px 55px rgba(24,59,43,.12);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; color:var(--ink); background:var(--cream);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.7;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.container { width:min(calc(100% - 40px), var(--max)); margin:auto; }
.site-header {
  position:sticky; top:0; z-index:20; background:rgba(246,240,231,.92);
  backdrop-filter:blur(14px); border-bottom:1px solid rgba(24,59,43,.1);
}
.nav { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; font-family:"Cormorant Garamond",serif; font-weight:700; font-size:27px; color:var(--green); }
.brand img { width:54px; height:54px; object-fit:cover; border-radius:50%; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
.nav-links a:hover { color:var(--gold); }
.nav-cta { padding:11px 18px; border:1px solid var(--green); border-radius:999px; }
.menu { display:none; background:none; border:0; font-size:25px; color:var(--green); }
.hero { padding:86px 0 70px; }
.hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:70px; }
.kicker { color:var(--gold); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:700; }
h1,h2,h3 { font-family:"Cormorant Garamond",serif; color:var(--green); line-height:1.02; margin:0 0 20px; }
h1 { font-size:clamp(54px,7vw,92px); font-weight:500; letter-spacing:-.035em; }
h2 { font-size:clamp(40px,5vw,62px); font-weight:500; }
h3 { font-size:30px; font-weight:600; }
.lead { font-size:18px; max-width:650px; color:#415047; }
.actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border-radius:999px; font-weight:700; font-size:14px; transition:.2s ease; }
.btn-primary { background:var(--green); color:var(--white); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.btn-outline { border:1px solid rgba(24,59,43,.35); color:var(--green); }
.btn-gold { background:var(--gold); color:#fff; }
.hero-card { background:var(--green); border-radius:38px; padding:28px; box-shadow:var(--shadow); }
.hero-card img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:24px; }
.section { padding:96px 0; }
.section-alt { background:#EDE5D8; }
.eyebrow { color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.18em; font-size:11px; }
.center { text-align:center; }
.center .lead { margin-left:auto; margin-right:auto; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:45px; }
.card { background:rgba(255,253,249,.76); padding:32px; border:1px solid rgba(24,59,43,.1); border-radius:24px; }
.icon { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:white; font-family:"Cormorant Garamond",serif; font-size:24px; margin-bottom:22px; }
.split { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.quote { border-left:2px solid var(--gold); padding-left:28px; font-family:"Cormorant Garamond",serif; font-size:34px; color:var(--green); }
.list { padding:0; margin:25px 0 0; list-style:none; }
.list li { padding:10px 0; border-bottom:1px solid rgba(24,59,43,.12); }
.list li::before { content:"✦"; color:var(--gold); margin-right:10px; }
.contact-box { background:var(--green); color:var(--white); border-radius:30px; padding:46px; }
.contact-box h2 { color:var(--white); }
.contact-box .muted { color:#D9E1DA; }
.contact-links { display:flex; gap:12px; flex-wrap:wrap; margin-top:25px; }
.footer { background:#10271D; color:#C9D2CB; padding:45px 0; }
.footer-grid { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
.footer h3 { color:white; font-size:28px; }
.small { font-size:13px; opacity:.8; }
.form { display:grid; gap:15px; }
input,textarea { width:100%; padding:15px 16px; border-radius:12px; border:1px solid rgba(24,59,43,.2); background:#fffdf9; font:inherit; }
textarea { min-height:150px; resize:vertical; }
.notice { padding:16px 18px; border-radius:14px; background:#EFE5D3; border:1px solid rgba(183,138,43,.25); }
.page-hero { padding:75px 0 50px; background:#EDE5D8; }
.reveal { opacity:0; transform:translateY(18px); transition:.65s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width:820px) {
  .nav-links { display:none; position:absolute; left:20px; right:20px; top:76px; padding:18px; background:var(--white); border-radius:18px; box-shadow:var(--shadow); flex-direction:column; align-items:stretch; }
  .nav-links.open { display:flex; }
  .menu { display:block; }
  .hero-grid,.split { grid-template-columns:1fr; gap:40px; }
  .cards { grid-template-columns:1fr; }
  .hero { padding-top:55px; }
  .section { padding:70px 0; }
  .footer-grid { flex-direction:column; }
}

/* New Courses / Retreats / Counselling / Books components */
.section-heading { max-width: 760px; margin-bottom: 38px; }
.two-col { grid-template-columns: repeat(2, 1fr); }
.three-col { grid-template-columns: repeat(3, 1fr); }
.tag { display:inline-block; margin-bottom:12px; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:700; }
.course-meta { font-size:17px; color:#415047; margin:18px 0 26px; }
.course-card { display:flex; flex-direction:column; align-items:flex-start; }
.course-card .btn { margin-top:auto; }
.book-grid { display:grid; gap:34px; }
.book-card { display:grid; grid-template-columns:minmax(260px, .7fr) 1.3fr; gap:44px; align-items:center; background:rgba(255,253,249,.72); border:1px solid rgba(24,59,43,.1); border-radius:28px; padding:28px; box-shadow:var(--shadow); }
.book-cover { background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 16px 45px rgba(24,59,43,.16); max-width:420px; }
.book-cover img { width:100%; height:auto; }
.book-copy h2 { margin-top:8px; }
.subtitle { font-family:"Cormorant Garamond",serif; font-size:24px; color:var(--green); line-height:1.25; }
.muted { color:#68746d; }
.pillars { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.pillars span { padding:8px 12px; border:1px solid rgba(183,138,43,.35); border-radius:999px; font-size:12px; font-weight:700; color:var(--green); }
.brand img { object-fit:contain; background:var(--cream); }
@media (max-width:1050px) { .nav-links { gap:15px; } .nav-links { font-size:13px; } }
@media (max-width:820px) { .two-col,.three-col,.book-card { grid-template-columns:1fr; } .book-cover { max-width:100%; } .book-card { padding:20px; } }

/* Responsive live wordmark: the symbol is SVG, while the name remains selectable/searchable HTML text. */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  color: var(--green);
}
.brand-mark {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
}
.brand-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  background: transparent;
}
.brand-wordmark {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1;
  white-space: nowrap;
}
.brand:hover .brand-wordmark { color: var(--gold); }
@media (max-width: 820px) {
  .brand { gap: 8px; }
  .brand-mark { width: 46px; height: 46px; flex-basis: 46px; }
  .brand-wordmark { font-size: 28px; }
}
@media (max-width: 420px) {
  .brand-mark { width: 42px; height: 42px; flex-basis: 42px; }
  .brand-wordmark { font-size: 25px; }
  .nav { gap: 12px; }
}
