:root {
  --sand:#F5F0E8;
  --sand-dk:#EDE5D4;
  --cedar:#5C3D2E;
  --cedar-lt:#7A5445;
  --stone:#3A3530;
  --moss:#4A5C40;
  --moss-lt:#6B7F61;
  --warm-wt:#FDFAF5;
  --text:#2E2924;
  --muted:#7A7268;
  --border:rgba(92,61,46,.12);
  --shadow:0 18px 50px rgba(58,53,48,.08);
  --radius:20px;
  --serif:'Lora', Georgia, serif;
  --sans:'DM Sans', system-ui, sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--sans); background:var(--warm-wt); color:var(--text); line-height:1.7; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
.site-main { min-height:60vh; }
.gmg-nav, footer.gmg-footer { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; padding:1.25rem 2.5rem; }
.gmg-nav { position:sticky; top:0; z-index:100; background:rgba(253,250,245,.92); border-bottom:1px solid rgba(92,61,46,.08); backdrop-filter:blur(14px); }
.nav-logo, .footer-logo, .hero-title, .section-heading, .pillar-title, blockquote, .gmg-post-card__title, .gmg-resource-card__title, .gmg-panel-card h2 { font-family:var(--serif); }
.nav-logo { font-size:1.1rem; }
.nav-links, .footer-links { list-style:none; display:flex; gap:2rem; margin:0; padding:0; }
.nav-links a, .footer-links a { color:var(--muted); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; }
.nav-links a:hover, .footer-links a:hover, .gmg-inline-link:hover { color:var(--cedar); }
.nav-cta, .btn-primary, .btn-ghost, .gmg-pagination .page-numbers { border-radius:999px; padding:.85rem 1.35rem; transition:.2s ease; }
.nav-cta, .btn-ghost { border:1px solid rgba(92,61,46,.22); }
.nav-cta:hover, .btn-ghost:hover { background:#fff; border-color:rgba(92,61,46,.4); transform:translateY(-1px); }
.btn-primary { display:inline-block; color:#fff; background:var(--cedar); border:1px solid var(--cedar); box-shadow:0 10px 30px rgba(92,61,46,.15); }
.btn-primary:hover { background:var(--cedar-lt); border-color:var(--cedar-lt); transform:translateY(-1px); }
.btn-ghost { display:inline-block; color:var(--text); background:transparent; }
.hero, .pillars, .quote-section, .expect, .join, .gmg-page-wrap, .gmg-page-hero { padding:5rem 2.5rem; }
.hero { min-height:80vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero:before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse 70% 60% at 75% 40%, rgba(74,92,64,0.07) 0%, transparent 70%), radial-gradient(ellipse 50% 50% at 20% 70%, rgba(92,61,46,0.06) 0%, transparent 60%); pointer-events:none; }
.hero-inner, .expect-inner, .join-inner, .gmg-page-content { max-width:1000px; margin:0 auto; position:relative; z-index:1; }
.hero-inner { max-width:720px; }
.hero-title { font-size:clamp(2.8rem, 6vw, 4.8rem); line-height:1.08; margin:0 0 1rem; font-weight:400; }
.hero-sub, .pillar-body, .join-sub, .expect-body, .gmg-intro-copy, .gmg-post-card__excerpt, .gmg-resource-card p, .footer-tagline { color:var(--muted); }
.hero-actions, .gmg-button-row, .gmg-article-meta { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.divider { width:100%; height:1px; background:linear-gradient(to right, transparent, rgba(92,61,46,.15), transparent); }
.pillars { background:var(--sand); }
.pillars-grid, .gmg-pricing-grid, .gmg-resource-grid, .gmg-dashboard-grid { display:grid; gap:1.25rem; margin-top:2rem; }
.pillars-grid { grid-template-columns:repeat(3, 1fr); }
.gmg-pricing-grid--single { grid-template-columns:minmax(280px, 540px); justify-content:center; }
.gmg-resource-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.gmg-dashboard-grid { grid-template-columns:1fr 1.15fr; }
.pillar, .gmg-price-card, .gmg-membership-cta-card, .gmg-panel-card, .gmg-post-card, .gmg-resource-card, .gmg-empty-state, .meeting-card, .gmg-forum-index-wrap, .forum-shell { background:#fff; padding:2rem; border-radius:var(--radius); border:1px solid var(--border); box-shadow:var(--shadow); }
.pillar:hover, .gmg-post-card:hover, .gmg-resource-card:hover { transform:translateY(-2px); }
.expect { background:var(--stone); color:var(--sand); }
.expect-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.meeting { padding:5rem 2.5rem; display:flex; gap:3rem; background:var(--sand); align-items:flex-start; }
.meeting-card { min-width:320px; }
.quote-section { display:flex; justify-content:center; text-align:center; }
.join { text-align:center; }
.section-label, .gmg-kicker, .gmg-post-card__meta, .gmg-resource-card__meta { text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; color:var(--moss-lt); }
.section-heading { font-size:clamp(2rem, 4vw, 2.8rem); font-weight:400; line-height:1.2; margin:0 0 1rem; }
.gmg-page-hero { background:linear-gradient(180deg, rgba(245,240,232,.8) 0%, rgba(253,250,245,0) 100%); padding-bottom:2rem; }
.gmg-page-wrap { min-height:50vh; }
.gmg-page-wrap--tight { padding-top:1rem; }
.gmg-page-wrap--narrow .gmg-page-content, .gmg-article { max-width:780px; margin:0 auto; }
.gmg-post-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.5rem; }
.gmg-post-card { padding:0; overflow:hidden; }
.gmg-card-link { display:block; height:100%; }
.gmg-post-card__media img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.gmg-post-card__body { padding:1.6rem; }
.gmg-post-card__title, .gmg-resource-card__title { font-size:1.55rem; line-height:1.2; margin:.25rem 0 .65rem; font-weight:400; }
.gmg-inline-link { display:inline-flex; gap:.3rem; align-items:center; color:var(--cedar); font-weight:500; }
.gmg-inline-link:after { content:'→'; }
.gmg-rich-content > *:first-child { margin-top:0; }
.gmg-rich-content p, .gmg-rich-content ul, .gmg-rich-content ol, .gmg-rich-content blockquote { margin:0 0 1.2rem; }
.gmg-rich-content h2, .gmg-rich-content h3 { font-family:var(--serif); color:var(--stone); margin:2rem 0 .75rem; }
.gmg-feature-list { margin:1.25rem 0 1.5rem; padding-left:1.1rem; }
.gmg-feature-list li { margin-bottom:.65rem; }
.gmg-price { font-size:3rem; font-family:var(--serif); margin:.5rem 0; line-height:1; }
.gmg-price span { font-size:1rem; color:var(--muted); }
.gmg-checkout-note, .gmg-admin-note { margin:1rem auto 2rem; padding:1rem 1.25rem; border-radius:16px; background:var(--sand); border:1px solid rgba(92,61,46,.08); max-width:900px; }
.gmg-panel-card h2 { margin:.2rem 0 .6rem; font-size:1.9rem; font-weight:400; }
.gmg-article-meta { color:var(--muted); font-size:.92rem; margin-bottom:1.5rem; }
.gmg-article-featured-image { margin:1.5rem 0 2rem; overflow:hidden; border-radius:var(--radius); }
.gmg-pagination { display:flex; gap:.6rem; justify-content:center; margin-top:2rem; flex-wrap:wrap; }
.gmg-pagination .page-numbers { border:1px solid var(--border); background:#fff; }
.gmg-pagination .current { background:var(--cedar); color:#fff; border-color:var(--cedar); }
.footer-copy { font-size:.8rem; color:rgba(245,240,232,.7); }
.footer-tagline { max-width:340px; margin:.5rem 0 0; }
footer.gmg-footer { background:var(--stone); color:var(--sand); }
.gmg-empty-state { text-align:center; max-width:780px; margin:0 auto; }
.reveal { opacity:0; transform:translateY(20px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.24s; }
.reveal-delay-3 { transition-delay:.36s; }
.reveal-delay-4 { transition-delay:.48s; }
@media (max-width: 980px) {
  .pillars-grid, .gmg-post-grid, .gmg-resource-grid, .gmg-dashboard-grid { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .gmg-nav, footer.gmg-footer, .hero, .pillars, .quote-section, .expect, .join, .meeting, .gmg-page-wrap, .gmg-page-hero { padding-left:1.5rem; padding-right:1.5rem; }
  .nav-links, .footer-links { display:none; }
  .expect-grid { grid-template-columns:1fr; }
  .meeting, .gmg-nav, footer.gmg-footer { flex-direction:column; align-items:flex-start; }
  .meeting-card { min-width:0; width:100%; }
  .pillar, .gmg-price-card, .gmg-resource-card, .gmg-panel-card { padding:1.5rem; }
  .hero-title { font-size:2.6rem; }
}

.gmg-access-notice { margin:0 auto 1.5rem; padding:1rem 1.25rem; border-radius:16px; max-width:900px; background:#fff8ef; border:1px solid rgba(122,84,69,.18); box-shadow:var(--shadow); }
.gmg-access-notice strong { color:var(--cedar); }
