:root {
  --bg: #ffffff;
  --text: #151515;
  --muted: #5a5a5a;
  --panel: #f2f0e8;
  --border: #d1cec2;
  --accent: #bc5b37;
  --accent-dark: #74351f;
  --ink: #1a211c;
  --sage: #dce4d6;
  --focus: #005fcc;
  --max: 74rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body { margin: 0; font-family: Georgia, "Times New Roman", serif; color: var(--text); background: var(--bg); line-height: 1.55; font-size: 18px; }
a { color: var(--accent-dark); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .16em; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.skip-link { position: absolute; left: .5rem; top: -10rem; background: #fff; color: #000; padding: .8rem 1rem; z-index: 999; border: 2px solid #000; }
.skip-link:focus { top: .5rem; }
.site-header { background: var(--ink); color: #fff; position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(255,255,255,.15); }
.header-inner { max-width: var(--max); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; font-family:system-ui,-apple-system,sans-serif; font-weight: 750; letter-spacing: .01em; }
.brand img { width: 44px; height: 44px; border-radius: 50%; }
.nav-toggle { display: none; min-height: 44px; min-width: 44px; border: 2px solid #fff; color: #fff; background: transparent; border-radius: .4rem; padding: .4rem .8rem; font: inherit; }
.primary-nav ul { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.primary-nav a { color: #fff; display: inline-block; padding: .65rem .7rem; border-radius: .35rem; text-decoration: none; font-family:system-ui,-apple-system,sans-serif; font-size:.92rem; }
.primary-nav a[aria-current="page"], .primary-nav a:hover { background: #272727; }
.primary-nav .nav-give { background:var(--accent); color:#fff; }
main { min-height: 60vh; }
.container { max-width: var(--max); margin: 0 auto; padding: 0 1rem; }
.narrow { max-width: 48rem; }
.hero { padding: clamp(4rem, 9vw, 8rem) 0 5rem; background:linear-gradient(135deg,#fff 0%,#f8f5ed 100%); }
.home-hero { min-height:72vh; display:flex; align-items:center; }
.hero-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(18rem,.65fr); gap:clamp(2rem,6vw,6rem); align-items:end; }
.hero-note { border-top:5px solid var(--accent); padding:1.5rem; background:var(--sage); box-shadow:12px 12px 0 var(--ink); }
.hero-note strong { font-size:1.8rem; }
.hero-note p { margin:.4rem 0; }
.eyebrow,.kicker { font-family:system-ui,-apple-system,sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; color: var(--accent-dark); }
h1, h2, h3 { line-height: 1.12; letter-spacing: -.02em; }
h1 { font-size: clamp(2.6rem, 8vw, 5.8rem); max-width: 12ch; margin: .25rem 0 1rem; }
h2 { font-size: clamp(2rem, 5vw, 3.3rem); margin: 0 0 1rem; }
h3 { font-size: 1.45rem; }
.lede { font-size: clamp(1.25rem, 2.5vw, 1.7rem); max-width: 38ch; color: #2d2d2d; }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.button, button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: .2rem; border: 2px solid var(--accent-dark); padding: .72rem 1rem; font-family:system-ui,-apple-system,sans-serif; font-size:1rem; font-weight: 750; cursor: pointer; text-decoration: none; background: var(--accent-dark); color: #fff; }
.button.secondary, button.secondary { background: #fff; color: var(--accent-dark); }
.button.quiet { background: transparent; color: var(--accent-dark); border-color: var(--border); }
button:disabled { opacity: .6; cursor: not-allowed; }
.section { padding: 3.5rem 0; border-top: 1px solid var(--border); }
.section.soft { background: var(--panel); }
.statement h2 { max-width:18ch; font-size:clamp(2.4rem,6vw,5rem); }
.split-copy { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,5vw,5rem); max-width:62rem; font-size:1.25rem; }
.pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--border); }
.pillar { padding:2rem; border-right:1px solid var(--border); }
.pillar:first-child { padding-left:0; }
.pillar:last-child { border-right:0; }
.pillar > span { font-family:system-ui,-apple-system,sans-serif; color:var(--accent-dark); font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.founder-preview { background:var(--ink); color:#fff; }
.founder-preview .lede,.founder-preview .eyebrow { color:#fff; }
.founder-grid { display:grid; grid-template-columns:minmax(17rem,.75fr) minmax(0,1.3fr); gap:clamp(2rem,7vw,7rem); align-items:center; }
.portrait-placeholder { min-height:30rem; background:var(--sage); color:var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; border:1px solid rgba(255,255,255,.35); }
.portrait-placeholder.large { min-height:36rem; }
.portrait-placeholder img { width:45%; aspect-ratio:1; object-fit:cover; border-radius:50%; filter:grayscale(1); opacity:.72; }
.portrait-placeholder span { font-family:system-ui,-apple-system,sans-serif; font-size:.85rem; }
.founder-photo { margin:0; min-height:30rem; overflow:hidden; background:var(--sage); }
.founder-photo.large { min-height:36rem; }
.founder-photo img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; object-position:center 28%; }
.nature-story { display:grid; grid-template-columns:1fr 1.55fr 1fr; min-height:24rem; background:var(--ink); }
.nature-story figure { margin:0; overflow:hidden; }
.nature-story img { display:block; width:100%; height:100%; min-height:24rem; object-fit:cover; transition:transform .5s ease; }
.nature-story figure:hover img { transform:scale(1.025); }
.newsletter-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.contact-card { background:#fff; border:1px solid var(--border); padding:2rem; }
.contact-card h2 { font-size:2rem; }
.personal-offering { background:var(--accent-dark); color:#fff; }
.personal-offering .container { display:flex; gap:1rem 2rem; align-items:center; padding-top:1rem; padding-bottom:1rem; }
.personal-offering strong { white-space:nowrap; font-family:system-ui,-apple-system,sans-serif; }
.coaching-portrait { max-height:44rem; }
.topic-cloud { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.5rem 0; }
.topic-cloud a { border:1px solid var(--accent-dark); border-radius:999px; padding:.45rem .75rem; font-family:system-ui,-apple-system,sans-serif; font-weight:750; color:var(--accent-dark); text-decoration:none; }
.topic-cloud a:hover,.topic-cloud a:focus-visible { background:var(--accent-dark); color:#fff; }
.pricing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; align-items:stretch; }
.price-card { display:flex; flex-direction:column; border:1px solid var(--border); background:#fff; padding:1.5rem; min-height:25rem; }
.price-card.featured { border:3px solid var(--accent-dark); box-shadow:8px 8px 0 var(--sage); }
.price-card h3 { margin:.35rem 0; }
.price-card .price { font-family:system-ui,-apple-system,sans-serif; font-size:3.5rem; font-weight:850; margin:.5rem 0; color:var(--accent-dark); }
.price-card .price span { font-size:1.5rem; vertical-align:top; }
.price-card .button { margin-top:auto; }
.pricing-note { margin-top:1.5rem; max-width:68rem; }
.coaching-photo-band { display:grid; grid-template-columns:1fr 1.5fr 1fr; min-height:24rem; background:var(--ink); }
.coaching-photo-band img { width:100%; height:24rem; object-fit:cover; }
.policy-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.policy-panel { background:var(--sage); border-top:6px solid var(--accent); padding:2rem; box-shadow:10px 10px 0 var(--ink); }
.policy-panel li { margin:.65rem 0; }
.contact-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:58rem; }
.blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.blog-card { background:#fff; border:1px solid var(--border); padding:1.75rem; display:flex; flex-direction:column; }
.blog-card h2 { font-size:2rem; }
.blog-card a { margin-top:auto; font-weight:800; }
.blog-entry { scroll-margin-top:6rem; display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(2rem,7vw,7rem); }
.blog-entry + .blog-entry { margin-top:4rem; padding-top:4rem; border-top:1px solid var(--border); }
.blog-entry h2 { margin-top:0; }
.phone-pending { font-family:system-ui,-apple-system,sans-serif; font-weight:800; border-top:1px solid var(--border); padding-top:1rem; color:var(--muted); }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.card { border: 1px solid var(--border); border-radius: .65rem; padding: 1.25rem; background: #fff; }
.card h3 { margin-top: 0; }
.callout { padding: 1.25rem; border-left: .35rem solid var(--accent); background: var(--panel); }
form { max-width: 44rem; }
.field { margin: 0 0 1.15rem; }
label, legend { font-weight: 700; display: block; margin-bottom: .35rem; }
input, textarea, select { width: 100%; min-height: 48px; border: 2px solid #777; border-radius: .35rem; background: #fff; color: #111; padding: .7rem .75rem; font: inherit; font-size: 1rem; }
textarea { min-height: 9rem; resize: vertical; }
.help-text { display: block; color: var(--muted); font-size: .95rem; margin-top: .25rem; }
fieldset { border: 0; padding: 0; margin: 0 0 1.2rem; }
.check-list { display: grid; gap: .55rem; }
.check-row { display: flex; align-items: flex-start; gap: .65rem; padding: .55rem 0; }
.check-row input { width: 1.4rem; height: 1.4rem; min-height: auto; flex: 0 0 auto; margin-top: .15rem; }
.check-row label { font-weight: 500; margin: 0; }
.status { margin: 1rem 0; padding: 1rem; border-radius: .4rem; background: var(--panel); }
.status.error { border-left: .35rem solid #9d1d1d; }
.status.success { border-left: .35rem solid #1d663f; }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.event-list { display: grid; gap: 1rem; }
.event-card { border: 1px solid var(--border); border-radius: .65rem; padding: 1.2rem; }
.event-meta { color: var(--muted); font-weight: 650; }
.guest-row { display: grid; grid-template-columns: 1fr 1fr 1.2fr auto; gap: .5rem; align-items: end; padding: .8rem 0; border-top: 1px solid var(--border); }
.guest-row button { min-width: 48px; }
.amounts { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .5rem; }
.amounts label { margin: 0; }
.amounts input { position: absolute; opacity: 0; pointer-events: none; }
.amount-chip { min-height: 48px; display:flex; align-items:center; justify-content:center; border: 2px solid #777; border-radius:.4rem; cursor:pointer; font-weight:750; }
.amounts input:checked + .amount-chip { background: var(--accent-dark); color:#fff; border-color:var(--accent-dark); }
.admin-grid { display:grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap:.75rem; }
.metric { border:1px solid var(--border); border-radius:.55rem; padding:1rem; background:#fff; }
.metric strong { display:block; font-size:2rem; }
.metric-link { width:100%; min-height:112px; display:block; text-align:left; color:var(--text); background:#fff; border:1px solid var(--border); }
.metric-link:hover, .metric-link:focus-visible { border-color:var(--accent-dark); box-shadow:0 0 0 3px rgba(38,86,63,.14); transform:translateY(-1px); }
.metric-link span, .metric-link small { display:block; }
.metric-link small { margin-top:.35rem; color:var(--muted); font-weight:400; line-height:1.3; }
.crm-record summary { cursor:pointer; display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.crm-record summary span:not(.status-pill) { color:var(--muted); }
.detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem 1rem; margin-top:1rem; }
.detail-grid p { margin:.2rem 0; }
.detail-grid strong { display:block; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.status-pill { margin-left:auto; padding:.2rem .55rem; border-radius:999px; background:var(--soft); font-size:.82rem; font-weight:700; }
.muted { color:var(--muted); font-style:italic; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:700px; }
th,td { text-align:left; padding:.7rem; border-bottom:1px solid var(--border); vertical-align:top; }
th { background:var(--panel); }
.site-footer { background:var(--ink); color:#fff; margin-top:0; }
.footer-inner { max-width:var(--max); margin:auto; padding:2rem 1rem; display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between; }
.footer-expanded { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:2.5rem; padding-top:4rem; padding-bottom:3rem; }
.footer-expanded > div { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; }
.footer-brand { color:#fff; font-size:1.6rem; font-weight:700; text-decoration:none; }
.legal-line { grid-column:1/-1; border-top:1px solid #536057; padding-top:1.5rem; margin:1rem 0 0; color:#d8ddd9; font-size:.9rem; }
.site-footer a { color:#fff; }
.small { font-size:.92rem; color:var(--muted); }
.site-footer .small { color:#ddd; }
@media (max-width: 820px) {
  .grid, .admin-grid, .detail-grid,.hero-layout,.founder-grid,.newsletter-layout,.contact-grid,.contact-grid-two,.footer-expanded,.split-copy,.pricing-grid,.policy-grid,.blog-grid,.blog-entry { grid-template-columns: 1fr; }
  .personal-offering .container { align-items:flex-start; flex-direction:column; }
  .coaching-photo-band { grid-template-columns:1fr 1fr; }
  .coaching-photo-band img:nth-child(2) { grid-column:1/-1; grid-row:1; }
  .pillar-grid { grid-template-columns:1fr; }
  .nature-story { grid-template-columns:1fr 1fr; }
  .nature-story .wide { grid-column:1/-1; grid-row:1; }
  .pillar,.pillar:first-child { padding:1.5rem 0; border-right:0; border-bottom:1px solid var(--border); }
  .legal-line { grid-column:1; }
  .guest-row { grid-template-columns: 1fr; }
  .amounts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nav-toggle { display:inline-flex; }
  .primary-nav { display:none; width:100%; }
  .primary-nav.open { display:block; }
  .primary-nav ul { display:grid; }
  .header-inner { flex-wrap:wrap; }
  .primary-nav a { display:block; padding:.75rem; }
}
@media (max-width: 420px) { body { font-size:17px; } .amounts { grid-template-columns:1fr 1fr; } }
