@import url("https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap");

:root {
  --ink: #3f5239;
  --ink-soft: #596652;
  --gold: #c7a84c;
  --paper: #f8f5e9;
}

/* A quiet field-note accent for products, gatherings, and journal metadata. */
.journal-entry .section-kicker,
.journal-post__header .section-kicker,
.ways__list article:nth-child(4) > span,
.ways__list article:nth-child(4) .ways__investment,
.event-card .section-kicker,
.event-card__date {
  font-family: "Courier Prime", "Courier New", monospace;
  letter-spacing: .08em;
}

.journal-resources { align-items: center; background: linear-gradient(115deg, rgba(220,232,210,.72), rgba(249,241,227,.9)); display: grid; gap: 4rem; grid-template-columns: 1fr 1fr; padding-bottom: clamp(4rem,7vw,7rem); padding-top: clamp(4rem,7vw,7rem); }.journal-resources h2 { font-size: clamp(2.2rem,4.2vw,4.8rem); margin: 1rem 0 0; }.journal-resources > a { border-left: 1px solid rgba(63,82,57,.25); color: #4d5b48; padding-left: clamp(2rem,5vw,5rem); text-decoration: none; }.journal-resources > a p { font-family: "Newsreader", Georgia, serif; font-size: clamp(1.3rem,2vw,1.7rem); line-height: 1.45; margin: 0 0 1.5rem; max-width: 22rem; }.journal-resources .social-icon { fill: none; height: 1.1rem; margin-right: .38rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; vertical-align: -.2rem; width: 1.1rem; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "DM Sans", Arial, sans-serif;
}

.hero {
  align-items: center;
  background-color: #d9d1ca;
  background-image:
    radial-gradient(ellipse at 12% 86%, rgba(239, 193, 201, .20) 0%, rgba(239, 193, 201, 0) 46%),
    radial-gradient(ellipse at 88% 18%, rgba(207, 225, 187, .24) 0%, rgba(207, 225, 187, 0) 48%),
    linear-gradient(90deg, rgba(255, 248, 235, .42), rgba(255, 248, 235, .16) 52%, rgba(228, 239, 218, .19)),
    url("assets/cover-photo.png");
  background-position: center, center;
  background-size: cover;
  display: flex;
  isolation: isolate;
  justify-content: center;
  min-height: 100svh;
  overflow: hidden;
  padding: 2rem 4.5rem;
  position: relative;
}

.wash {
  border-radius: 48% 52% 42% 58% / 58% 40% 60% 42%;
  filter: blur(42px);
  opacity: .16;
  position: absolute;
  transform-origin: center;
  z-index: -2;
}

/* The cover artwork supplies the atmosphere; no extra circular color washes. */
.hero .wash { display: none; }

.wash--sage {
  animation: drift-one 18s ease-in-out infinite alternate;
  background: #aec1a0;
  height: min(58vw, 780px);
  left: -18vw;
  top: -20vw;
  width: min(64vw, 920px);
}

.wash--sun {
  animation: drift-two 20s ease-in-out infinite alternate;
  background: #f0d778;
  height: min(62vw, 900px);
  right: -16vw;
  top: -19vw;
  width: min(67vw, 970px);
}

.wash--blush {
  animation: drift-three 16s ease-in-out infinite alternate;
  background: #debab2;
  bottom: -33vw;
  height: min(62vw, 870px);
  left: 3vw;
  width: min(59vw, 840px);
}

.wash--olive {
  animation: drift-two 22s ease-in-out infinite alternate-reverse;
  background: #879b76;
  bottom: -29vw;
  height: min(50vw, 720px);
  opacity: .12;
  right: -14vw;
  width: min(55vw, 820px);
}

.grain {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");
  inset: 0;
  mix-blend-mode: soft-light;
  opacity: .10;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.site-header, .hero-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  left: 4.5rem;
  position: absolute;
  right: 4.5rem;
}

.site-header { justify-content: flex-end; top: 2.25rem; }
.hero-footer { bottom: 2.25rem; }

.site-header nav, .hero-footer {
  color: var(--ink);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.site-header nav { display: flex; gap: 1.5rem; }
.site-header nav { font-size: .8rem; font-weight: 500; letter-spacing: .08em; }
.site-header nav a, .hero-footer a { color: inherit; text-decoration: none; }
.site-header nav a { transition: opacity .25s ease; }
.site-header nav a:hover { opacity: .55; }
.home-events { align-items: stretch; background: #d8e1cf; color: #40513d; display: grid; gap: 0; grid-template-columns: minmax(11rem,.7fr) minmax(15rem,1fr) minmax(15rem,1fr) auto; padding: clamp(2.3rem,4vw,4.2rem) max(6vw,2rem); }.home-events__intro { padding-right: clamp(2rem,4vw,4.5rem); }.home-events .section-kicker { font-size: .62rem; margin-bottom: .9rem; }.home-events h2 { font-size: clamp(1.9rem,3vw,3.1rem); line-height: .92; margin: 0; }.home-events__item { border-left: 1px solid rgba(64,81,61,.28); color: inherit; display: grid; padding: .25rem clamp(1.5rem,3vw,3.5rem); text-decoration: none; transition: background .2s ease; }.home-events__item:hover { background: rgba(255,253,245,.2); }.home-events__item span, .home-events__item small { font-size: .66rem; letter-spacing: .08em; line-height: 1.55; }.home-events__item span { text-transform: uppercase; }.home-events__item strong { align-self: center; font-family: "Newsreader", Georgia, serif; font-size: clamp(1.35rem,2vw,1.9rem); font-weight: 400; line-height: 1.1; margin: 1.3rem 0; }.home-events__link { align-self: center; border-bottom: 1px solid rgba(64,81,61,.5); color: inherit; font-size: .68rem; letter-spacing: .1em; margin-left: clamp(1.5rem,3vw,3.5rem); padding-bottom: .3rem; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.hero-footer p { margin: 0; }
.hero-footer a span { display: inline-block; font-size: 1rem; margin-left: .3rem; transition: transform .3s ease; }
.hero-footer a:hover span { transform: translateY(.2rem); }

.hero-content { margin-top: 1.5rem; max-width: 70rem; text-align: center; }
.owl-mark { display: block; height: 5.1rem; margin: 0 auto 1.15rem; width: auto; }
.hero-wordmark { color: var(--ink); font-family: "Newsreader", Georgia, serif; font-size: 1.1rem; letter-spacing: .23em; margin: 0 0 1.1rem .23em; }
.hero-wordmark span { font-size: .52em; letter-spacing: .12em; vertical-align: .2em; }

.chinese { font-family: "Noto Serif SC", serif; font-size: 1.62rem; letter-spacing: .5em; margin: 0 0 .85rem .5em; }
.eyebrow { font-size: .8rem; font-weight: 500; letter-spacing: .14em; margin: 0; text-transform: uppercase; }

h1 {
  color: #30462f;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2.75rem, 5.3vw, 5.8rem);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .95;
  margin: 1.7rem 0 1.4rem;
  white-space: nowrap;
}

.philosophy { font-family: "Newsreader", Georgia, serif; font-size: clamp(1rem, 1.35vw, 1.3rem); font-style: italic; letter-spacing: .015em; margin: 0; }
.hero-manifesto { color: #53654e; font-family: "Newsreader", Georgia, serif; font-size: clamp(.88rem,1.1vw,1.05rem); font-style: italic; line-height: 1.4; margin: 1.5rem 0 0; }.hero-manifesto span { color: #687661; font-family: "DM Sans", Arial, sans-serif; font-size: .68em; font-style: normal; letter-spacing: .11em; text-transform: uppercase; }

.section { padding: clamp(5.5rem, 10vw, 10rem) max(6vw, 2rem); }
.section-kicker { font-size: .66rem; letter-spacing: .18em; margin: 0 0 1.5rem; text-transform: uppercase; }

.about {
  background:
    radial-gradient(ellipse at 86% 22%, rgba(190, 216, 177, .29) 0%, rgba(190, 216, 177, 0) 50%),
    radial-gradient(ellipse at 10% 84%, rgba(239, 190, 200, .21) 0%, rgba(239, 190, 200, 0) 47%),
    radial-gradient(ellipse at 46% 8%, rgba(191, 213, 230, .18) 0%, rgba(191, 213, 230, 0) 52%),
    linear-gradient(rgba(255, 253, 245, .50), rgba(255, 253, 245, .50)),
    url("assets/about-colored-pencil-bg.png") center / cover;
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.about::before {
  background: linear-gradient(112deg, rgba(255,255,255,.08), rgba(255,255,255,0) 52%, rgba(255,255,255,.06));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
.about > * { position: relative; z-index: 1; }
.about .section-kicker { color: #3f5239; font-size: .88rem; font-weight: 500; letter-spacing: .08em; text-transform: none; }
.about__grid { align-items: start; display: grid; gap: 4rem; grid-template-columns: minmax(0, 1.35fr) minmax(16rem, .65fr); max-width: 76rem; }
h2 { color: #3f5239; font-family: "Newsreader", Georgia, serif; font-size: clamp(2.8rem, 5.1vw, 6rem); font-weight: 400; letter-spacing: -.035em; line-height: .96; margin: 0; }
h2 em { font-style: italic; }
.about__copy { color: #4e5b4b; font-size: 1.04rem; line-height: 1.75; max-width: 30rem; padding-top: .45rem; }
.about__copy p:first-child { font-family: "Newsreader", Georgia, serif; font-size: 1.42rem; line-height: 1.38; margin-top: 0; }
.text-link { border-bottom: 1px solid currentColor; color: #536347; display: inline-block; font-size: .7rem; letter-spacing: .13em; margin-top: 1.2rem; padding-bottom: .45rem; text-decoration: none; text-transform: uppercase; }
.text-link span { display: inline-block; margin-left: .45rem; transition: transform .25s ease; }.text-link:hover span { transform: translateX(.25rem); }

.work {
  background: #244b40;
  color: #f8f2e6;
  isolation: isolate;
  overflow: hidden;
  position: relative;
}
.work::before {
  background: url("assets/work-forest-canopy-colored-pencil-bg.png") center / cover;
  content: "";
  filter: blur(10px);
  inset: -12px;
  position: absolute;
  transform: scale(1.025);
  z-index: 0;
}
.work::after {
  background:
    radial-gradient(ellipse at 8% 88%, rgba(239, 183, 191, .13) 0%, rgba(239, 183, 191, 0) 48%),
    radial-gradient(ellipse at 75% 8%, rgba(247, 219, 153, .14) 0%, rgba(247, 219, 153, 0) 47%),
    linear-gradient(rgba(28, 67, 54, .40), rgba(28, 67, 54, .44));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
.work > * { position: relative; z-index: 1; }
.work h2, .work .section-kicker, .work .section-heading > p:last-child { color: #f8f2e6; }
.section-heading { max-width: 46rem; }.section-heading > p:last-child { font-family: "DM Serif Display", Georgia, serif; font-size: 1.25rem; line-height: 1.4; max-width: 28rem; }
.work .offerings { border-top-color: rgba(248,242,230,.38); }
.work .offering { border-bottom-color: rgba(248,242,230,.38); }.work .offering:nth-child(odd) { border-right-color: rgba(248,242,230,.38); }
.offerings { border-top: 1px solid rgba(83,99,71,.3); display: grid; grid-template-columns: repeat(2, 1fr); margin: 4.5rem 0 2.5rem; max-width: 76rem; }
.offering { border-bottom: 1px solid rgba(83,99,71,.3); min-height: 16rem; padding: 1.6rem 2rem 1.8rem 0; position: relative; }.offering:nth-child(odd) { border-right: 1px solid rgba(83,99,71,.3); padding-right: 3.5rem; }.offering:nth-child(even) { padding-left: 3.5rem; }
.offering span { font-size: .65rem; letter-spacing: .13em; }.offering h3 { font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.6rem, 2.5vw, 2.6rem); font-weight: 400; line-height: 1; margin: 3rem 0 .9rem; }.offering p { font-size: .9rem; line-height: 1.6; max-width: 23rem; }
.button { background: #536347; color: #f7f2e5; display: inline-block; font-size: .7rem; letter-spacing: .13em; padding: 1rem 1.3rem; text-decoration: none; text-transform: uppercase; }.button span { margin-left: 1.2rem; }
.work .button { background: #f8f2e6; color: #33473d; }

.journal { align-items: center; background: radial-gradient(ellipse at 84% 20%, rgba(190,216,177,.25) 0%, rgba(190,216,177,0) 48%), radial-gradient(ellipse at 8% 80%, rgba(239,190,200,.18) 0%, rgba(239,190,200,0) 45%), radial-gradient(ellipse at 48% 4%, rgba(191,213,230,.16) 0%, rgba(191,213,230,0) 50%), linear-gradient(rgba(255,253,245,.62), rgba(255,253,245,.62)), url("assets/about-colored-pencil-bg.png") center / cover; display: grid; gap: 5rem; grid-template-columns: 1fr 1fr; isolation: isolate; overflow: hidden; position: relative; }.journal::before { background: linear-gradient(112deg, rgba(255,255,255,.08), rgba(255,255,255,0) 52%, rgba(255,255,255,.06)); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 0; }.journal > * { position: relative; z-index: 1; }.journal__intro { max-width: 37rem; }.journal__intro > p:not(.section-kicker) { color: #5e6658; font-size: 1rem; line-height: 1.7; max-width: 26rem; }
.journal-card { box-shadow: 1.4rem 1.4rem 0 rgba(248,244,233,.34); display: block; overflow: hidden; padding: 0; position: relative; text-decoration: none; }.journal-card img { aspect-ratio: 1; display: block; object-fit: cover; transition: transform .45s ease; width: 100%; }.journal-card::after { background: linear-gradient(transparent 55%, rgba(46,37,65,.62)); content: ""; inset: 0; position: absolute; }.journal-card__listen { bottom: 1.5rem; color: #fffdf6; font-size: .63rem; left: 1.55rem; letter-spacing: .13em; position: absolute; text-transform: uppercase; z-index: 1; }.journal-card:hover img, .journal-card:focus-visible img { transform: scale(1.025); }.journal-card:focus-visible { outline: 2px solid var(--terracotta); outline-offset: .35rem; }

.connect { background: radial-gradient(ellipse at 15% 86%, rgba(238,181,174,.28) 0%, rgba(238,181,174,0) 43%), radial-gradient(ellipse at 84% 18%, rgba(250,219,163,.22) 0%, rgba(250,219,163,0) 45%), radial-gradient(ellipse at 54% 3%, rgba(183,207,219,.16) 0%, rgba(183,207,219,0) 48%), linear-gradient(rgba(87,104,82,.76), rgba(76,91,75,.82)), url("assets/about-colored-pencil-bg.png") center / cover; color: #fff9ed; isolation: isolate; overflow: hidden; position: relative; text-align: center; }.connect::before { background: linear-gradient(118deg, rgba(255,245,225,.08), transparent 52%, rgba(255,216,193,.07)); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 0; }.connect > * { position: relative; z-index: 1; }.connect h2 { color: inherit; }.connect__name { font-family: "DM Serif Display", Georgia, serif; font-size: 1.25rem; line-height: 1.5; margin: 3rem 0 2.4rem; }.connect__name span { font-family: "DM Sans", Arial, sans-serif; font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }.connect__email { border-bottom: 1px solid rgba(255,249,237,.6); color: inherit; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.35rem, 2.4vw, 2.2rem); padding-bottom: .35rem; text-decoration: none; }.connect__email span { font-family: "DM Sans", Arial, sans-serif; font-size: .7em; }.connect__socials { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem 1.25rem; justify-content: center; margin: 2.2rem auto 0; }.connect__socials a, .connect__socials > span { align-items: center; color: inherit; display: inline-flex; font-size: .64rem; gap: .38rem; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }.connect__socials a { border-bottom: 1px solid rgba(255,249,237,.45); padding-bottom: .3rem; }.social-icon { fill: none; height: 1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; width: 1rem; }.connect__socials em { font-size: .85em; font-style: normal; opacity: .66; }.connect__website { font-size: .64rem; letter-spacing: .16em; margin-top: 2.5rem; text-transform: uppercase; }
.site-footer { background: #566652; border-top: 1px solid rgba(255,249,237,.22); color: #fff9ed; display: flex; font-size: .62rem; justify-content: space-between; letter-spacing: .13em; padding: 1.35rem max(6vw, 2rem); text-transform: uppercase; }

.inner-page { background: #f8f5e9; }.page-header { align-items: center; background: rgba(255,253,245,.9); display: flex; justify-content: space-between; padding: 1.35rem max(6vw,2rem); position: relative; z-index: 2; }.page-brand { color: #3f5239; font-family: "Newsreader", Georgia, serif; font-size: .94rem; letter-spacing: .17em; text-decoration: none; }.page-brand span { font-size: .6em; letter-spacing: .07em; vertical-align: .14em; }.page-header nav { display: flex; gap: 1.35rem; }.page-header nav a { color: #42533e; font-size: .68rem; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }.page-header nav a.is-current { border-bottom: 1px solid currentColor; padding-bottom: .25rem; }.page-header--dark { background: #586b56; }.page-header--dark .page-brand, .page-header--dark nav a { color: #fff9ed; }.page-hero { min-height: 31rem; padding: clamp(6rem,10vw,9rem) max(6vw,2rem); }.page-hero--light { background: radial-gradient(ellipse at 84% 18%, rgba(190,216,177,.3), transparent 48%), radial-gradient(ellipse at 8% 86%, rgba(239,190,200,.24), transparent 45%), linear-gradient(rgba(255,253,245,.58),rgba(255,253,245,.58)), url("assets/about-colored-pencil-bg.png") center / cover; }.page-hero--meet { align-items: center; display: grid; gap: 4rem; grid-template-columns: 1.25fr minmax(15rem,.55fr); }.meet-portrait { box-shadow: 1rem 1rem 0 rgba(211,190,173,.34); justify-self: end; max-width: 23rem; width: 100%; }.page-hero--work { background: linear-gradient(rgba(52,72,57,.42),rgba(52,72,57,.5)), url("assets/work-forest-canopy-colored-pencil-bg.png") center / cover; color: #fff9ed; }.page-hero--work h1 { color: inherit; }.page-hero .section-kicker { margin-bottom: 1.1rem; }.page-hero--work .section-kicker { color: inherit; }.page-hero h1, .contact-page h1 { font-family: "Newsreader", Georgia, serif; font-size: clamp(3.1rem,7vw,7rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; margin: 0; }.page-lede { font-family: "Newsreader", Georgia, serif; font-size: 1.28rem; line-height: 1.45; margin: 2rem 0 0; max-width: 35rem; }.bio { background: #f9f3e9; display: grid; gap: 4rem; grid-template-columns: 1fr 1fr; }.bio__copy { color: #51604c; font-size: 1rem; line-height: 1.75; max-width: 34rem; }.bio__copy p:first-child { margin-top: 0; }.credentials { background: radial-gradient(ellipse at 88% 20%, rgba(190,216,177,.24), transparent 48%), radial-gradient(ellipse at 10% 84%, rgba(239,190,200,.18), transparent 46%), radial-gradient(ellipse at 48% 4%, rgba(191,213,230,.15), transparent 48%), linear-gradient(rgba(255,253,245,.68),rgba(255,253,245,.68)), url("assets/about-colored-pencil-bg.png") center / cover; display: grid; gap: 4rem; grid-template-columns: 1fr 1fr; }.credentials__list { color: #52604d; line-height: 1.65; max-width: 36rem; }.credentials__list > div + div { border-top: 1px solid rgba(63,82,57,.22); margin-top: 2rem; padding-top: 1.7rem; }.credentials__list p { margin: .45rem 0; }.credentials__label { color: #536347; font-size: .66rem; letter-spacing: .14em; margin-bottom: .8rem !important; text-transform: uppercase; }.credential-link { border-bottom: 1px solid rgba(63,82,57,.45); color: inherit; padding-bottom: .2rem; text-decoration: none; }.cap-badge { display: block; margin-top: 1.1rem; max-width: 5.25rem; width: 100%; }.services { background: #f7f2e8; display: grid; grid-template-columns: repeat(2,1fr); padding-bottom: 6rem; padding-top: 6rem; }.services article { border-bottom: 1px solid rgba(63,82,57,.25); min-height: 23rem; padding: 2rem 3.5rem 3rem 0; }.services article:nth-child(even) { padding-left: 3.5rem; }.services article:nth-child(odd) { border-right: 1px solid rgba(63,82,57,.25); }.services span { font-size: .66rem; letter-spacing: .14em; }.services h2 { font-size: clamp(2rem,3.8vw,4rem); margin: 3rem 0 1.2rem; }.services p { line-height: 1.7; max-width: 27rem; }.page-cta { background: #d8e1cf; padding: 5rem 2rem; text-align: center; }.page-cta p { font-family: "Newsreader", Georgia, serif; font-size: 1.55rem; margin: 0 0 1.75rem; }.journal-index { background: #f8f4ea; display: grid; gap: 5rem; grid-template-columns: 1.1fr .9fr; }.podcast-feature { align-items: center; color: inherit; display: grid; gap: 3rem; grid-template-columns: minmax(12rem,.72fr) 1fr; text-decoration: none; }.podcast-feature img { box-shadow: 1rem 1rem 0 rgba(191,175,199,.24); max-width: 100%; width: 100%; }.podcast-feature h2 { font-size: clamp(2.2rem,4vw,4.6rem); }.podcast-feature p, .journal-empty p { color: #5b6755; line-height: 1.7; }.podcast-feature .text-link { display: inline-block; }.journal-empty { border-left: 1px solid rgba(63,82,57,.25); padding-left: 4rem; }.journal-empty h2 { font-size: clamp(2rem,3.5vw,3.8rem); }.contact-page { background: radial-gradient(ellipse at 18% 84%, rgba(238,181,174,.26), transparent 44%), radial-gradient(ellipse at 86% 16%, rgba(250,219,163,.21), transparent 43%), linear-gradient(rgba(87,104,82,.72),rgba(76,91,75,.78)), url("assets/about-colored-pencil-bg.png") center / cover; color: #fff9ed; display: grid; gap: 6rem; grid-template-columns: .85fr 1.15fr; min-height: calc(100svh - 5rem); padding-top: clamp(6rem,10vw,10rem); }.contact-page .section-kicker, .contact-page h1 { color: inherit; }.contact-page__email { line-height: 1.6; margin-top: 3rem; }.contact-page__email a { color: inherit; }.contact-form { display: grid; gap: 1.55rem; }.contact-form label { display: grid; font-size: .7rem; gap: .65rem; letter-spacing: .12em; text-transform: uppercase; }.contact-form input, .contact-form textarea { background: rgba(255,253,245,.1); border: 0; border-bottom: 1px solid rgba(255,249,237,.65); border-radius: 0; color: inherit; font: 400 1rem "DM Sans", Arial, sans-serif; outline: none; padding: .7rem 0; resize: vertical; }.contact-form input:focus, .contact-form textarea:focus { border-bottom-color: #fff9ed; }.contact-form .button { border: 0; cursor: pointer; justify-self: start; margin-top: .65rem; }.form-note { font-size: .71rem; line-height: 1.5; margin: 0; opacity: .7; }

/* The serif voice is deliberately calm and readable rather than ornate. */
h2, .about__copy p:first-child, .section-heading > p:last-child,
.offering h3, .journal-card__title, .connect__name, .connect__email {
  font-family: "Newsreader", Georgia, serif;
}

/* The contact page is the warm indoor answer to the hero's lantern-lit landscape. */
.contact-page { background: linear-gradient(90deg, rgba(255,248,234,.17), rgba(255,248,234,.03)), url("assets/connect-cozy-room-storybook.png") center / cover; color: #40513d; }.contact-page .section-kicker, .contact-page h1 { color: inherit; }.contact-form input, .contact-form textarea { background: rgba(255,253,245,.23); border-bottom-color: rgba(64,81,61,.55); }.contact-form input:focus, .contact-form textarea:focus { border-bottom-color: #40513d; }
.journal-entry { border-left: 1px solid rgba(63,82,57,.25); color: inherit; display: grid; gap: 2.5rem; grid-template-columns: minmax(10rem,.8fr) 1fr; padding-left: 4rem; text-decoration: none; }.journal-entry img { aspect-ratio: 1; object-fit: cover; width: 100%; }.journal-entry h2 { font-size: clamp(2rem,3.5vw,3.8rem); margin: 1.5rem 0 .9rem; }.journal-entry p:not(.section-kicker) { color: #5b6755; line-height: 1.7; }.journal-entry .text-link { display: inline-block; margin-top: .5rem; }.journal-post { background: radial-gradient(ellipse at 88% 8%, rgba(190,216,177,.18), transparent 44%), radial-gradient(ellipse at 10% 75%, rgba(239,190,200,.15), transparent 40%), #f8f4ea; padding: clamp(5rem,10vw,10rem) max(6vw,2rem); }.journal-post__header { margin: 0 auto; max-width: 58rem; }.journal-post__header h1 { font-family: "Newsreader", Georgia, serif; font-size: clamp(3.1rem,7vw,7rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; margin: 1.15rem 0 0; }.journal-post__body { color: #4d5b48; font-family: "Newsreader", Georgia, serif; font-size: clamp(1.18rem,1.7vw,1.45rem); line-height: 1.68; margin: 4.5rem auto 0; max-width: 43rem; }.journal-post__body p { margin: 0; }.journal-post__body p + p { margin-top: 1.8rem; }.journal-post__figure { margin: 3.2rem 0; }.journal-post__figure img { box-shadow: .85rem .85rem 0 rgba(211,190,173,.28); display: block; max-height: 38rem; object-fit: cover; width: 100%; }.journal-post__figure figcaption { color: #65705f; font-family: "DM Sans", Arial, sans-serif; font-size: .68rem; letter-spacing: .08em; margin-top: .8rem; text-transform: uppercase; }.journal-post__footer { margin: 4rem auto 0; max-width: 43rem; }
.contact-community { border-top: 1px solid rgba(64,81,61,.38); margin-top: 1.1rem; padding-top: 1.35rem; }.contact-community > p { font-size: .67rem; letter-spacing: .12em; margin: 0 0 .85rem; text-transform: uppercase; }.contact-community > div { display: flex; flex-wrap: wrap; gap: .65rem 1.1rem; }.contact-community a, .contact-community > div > span { align-items: center; color: inherit; display: inline-flex; font-size: .7rem; gap: .35rem; letter-spacing: .08em; text-decoration: none; }.contact-community a { border-bottom: 1px solid rgba(64,81,61,.42); padding-bottom: .22rem; }.contact-community em { font-size: .9em; font-style: normal; opacity: .66; }
.work-invitation { border-left: 1px solid rgba(255,249,237,.55); font-size: .9rem; line-height: 1.7; margin: 2.25rem 0 0; max-width: 38rem; padding-left: 1.1rem; }
.work-event-banner { align-items: center; background: #d8e1cf; color: #40513d; display: flex; gap: 1.5rem 3rem; justify-content: space-between; padding: 1rem max(6vw, 2rem); }.work-event-banner p { margin: 0; }.work-event-banner .section-kicker { font-size: .58rem; margin-bottom: .35rem; }.work-event-banner div > p:not(.section-kicker) { font-family: "Newsreader", Georgia, serif; font-size: 1.05rem; }.work-event-banner span { font-size: .66rem; letter-spacing: .08em; }.work-event-banner a { border-bottom: 1px solid rgba(64,81,61,.5); color: inherit; flex: 0 0 auto; font-size: .66rem; letter-spacing: .1em; padding-bottom: .28rem; text-decoration: none; text-transform: uppercase; }.work-event-banner a span { margin-left: .8rem; }
.page-hero--meet h1 { font-size: clamp(2.7rem,5.15vw,5.35rem); }

.story { background: radial-gradient(ellipse at 12% 82%, rgba(239,190,200,.2), transparent 46%), radial-gradient(ellipse at 88% 16%, rgba(190,216,177,.24), transparent 49%), #f7f2e8; display: grid; gap: 4rem; grid-template-columns: 1fr 1fr; }.story__intro { display: flex; flex-direction: column; }.story__pullquote { color: #65715e; font-family: "Newsreader", Georgia, serif; font-size: 1.35rem; font-style: italic; line-height: 1.35; margin: auto 0 0; max-width: 19rem; }.story__copy { color: #4e5b4b; font-size: 1rem; line-height: 1.78; max-width: 38rem; }.story__copy p:first-child { font-family: "Newsreader", Georgia, serif; font-size: 1.28rem; line-height: 1.48; margin-top: 0; }.story__copy--full { columns: 2; column-gap: clamp(3rem,8vw,9rem); grid-column: 1 / -1; max-width: none; }.story__copy--full p { break-inside: avoid; margin: 0 0 1.6rem; }.story__copy--full p:first-child { font-family: inherit; font-size: inherit; line-height: inherit; }
.story__highlight { background: rgba(207,190,222,.42); box-decoration-break: clone; -webkit-box-decoration-break: clone; color: #40513d; padding: .05em .16em; }

.ways { background: radial-gradient(ellipse at 10% 82%, rgba(239,190,200,.2), transparent 45%), radial-gradient(ellipse at 88% 14%, rgba(190,216,177,.25), transparent 48%), linear-gradient(rgba(255,253,245,.52),rgba(255,253,245,.52)), url("assets/about-colored-pencil-bg.png") center / cover; }.ways__heading { max-width: 43rem; }.ways__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 4rem; }.ways__list article { border-bottom: 1px solid rgba(63,82,57,.25); border-top: 1px solid rgba(63,82,57,.25); min-height: 24rem; padding: 2rem 3rem 2.6rem 0; }.ways__list article:nth-child(even) { border-left: 1px solid rgba(63,82,57,.25); padding-left: 3rem; }.ways__list article:nth-child(n+3) { border-top: 0; }.ways__list span { font-size: .66rem; letter-spacing: .14em; }.ways__list h3 { font-family: "Newsreader", Georgia, serif; font-size: clamp(1.7rem,2.5vw,2.5rem); font-weight: 400; line-height: 1; margin: 2.4rem 0 .9rem; }.ways__list p { color: #4e5b4b; font-size: .92rem; line-height: 1.68; max-width: 27rem; }.ways__lead { font-family: "Newsreader", Georgia, serif; font-size: 1.12rem !important; line-height: 1.4 !important; margin: 0 0 1rem; }.ways__list ul { color: #4e5b4b; font-size: .88rem; line-height: 1.62; margin: 1.1rem 0 0; max-width: 29rem; padding-left: 1.1rem; }.ways__list li + li { margin-top: .48rem; }.ways__investment { border-top: 1px solid rgba(63,82,57,.22); font-size: .69rem !important; letter-spacing: .1em; margin: 1.55rem 0 0; padding-top: .8rem; text-transform: uppercase; }.ways__availability { color: #53624e; font-family: "Newsreader", Georgia, serif; font-size: 1.05rem; font-style: italic; margin: 2.25rem 0 0; }.ways__note { font-size: .76rem !important; margin-top: 1.2rem; }.ways__note a { color: inherit; text-decoration-color: rgba(63,82,57,.5); text-underline-offset: .2rem; }
.testimonials { align-items: start; background: #f5efe5; display: grid; gap: clamp(3rem,7vw,8rem); grid-template-columns: .7fr 1.3fr; }.testimonials__heading h2 { margin-bottom: 1.4rem; }.testimonials__heading > p:not(.section-kicker) { color: #5b6755; font-size: .85rem; line-height: 1.65; max-width: 16rem; }.testimonials__list { display: grid; gap: 0; grid-template-columns: repeat(2,1fr); }.testimonials figure { border-left: 1px solid rgba(63,82,57,.22); margin: 0; min-height: 17rem; padding: .3rem 1.8rem 1.8rem; }.testimonials figure:nth-child(odd) { border-left: 0; padding-left: 0; }.testimonials figure:nth-child(n+3) { border-top: 1px solid rgba(63,82,57,.22); padding-top: 2rem; }.testimonials blockquote { margin: 0; }.testimonials blockquote p { color: #40513d; font-family: "Newsreader", Georgia, serif; font-size: 1.1rem; line-height: 1.45; margin: 0; }.testimonials blockquote p + p { color: #5e6858; font-family: "DM Sans", Arial, sans-serif; font-size: .79rem; line-height: 1.65; margin-top: 1.15rem; }.testimonials figcaption { color: #5e6858; font-size: .62rem; letter-spacing: .12em; margin-top: 1.5rem; text-transform: uppercase; }
.service-disclaimer { background: #f4eee2; display: grid; gap: 4rem; grid-template-columns: .65fr 1.35fr; padding-bottom: clamp(3rem,6vw,5rem); padding-top: clamp(3rem,6vw,5rem); }.service-disclaimer > div { color: #5a6655; font-size: .81rem; line-height: 1.68; max-width: 52rem; }.service-disclaimer > div p { margin: 0; }.service-disclaimer > div p + p { margin-top: 1rem; }.service-disclaimer a { color: inherit; text-decoration-color: rgba(63,82,57,.55); text-underline-offset: .2rem; }
.events { align-items: start; background: radial-gradient(ellipse at 12% 84%, rgba(239,190,200,.22), transparent 43%), radial-gradient(ellipse at 88% 12%, rgba(190,216,177,.28), transparent 48%), radial-gradient(ellipse at 50% 4%, rgba(191,213,230,.2), transparent 47%), linear-gradient(rgba(255,253,245,.55), rgba(255,253,245,.55)), url("assets/about-colored-pencil-bg.png") center / cover; display: grid; gap: clamp(3rem,8vw,9rem); grid-template-columns: .78fr 1.22fr; min-height: 34rem; }.events__heading h2 { margin-bottom: 0; }.events__empty { background: rgba(255,253,245,.63); border: 1px solid rgba(63,82,57,.2); box-shadow: 0 1.2rem 3.5rem rgba(82,89,73,.08); max-width: 43rem; padding: clamp(2.2rem,5vw,4.5rem); }.events__empty h3 { font-family: "Newsreader", Georgia, serif; font-size: clamp(2rem,3.2vw,3.35rem); font-weight: 400; line-height: 1.04; margin: 2rem 0 1.15rem; }.events__empty > p:not(.section-kicker) { color: #596652; font-size: 1rem; line-height: 1.75; margin: 0; max-width: 34rem; }.events__links { display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; margin-top: 2.3rem; }.events__links a { border-bottom: 1px solid rgba(63,82,57,.45); color: var(--ink); font-size: .7rem; letter-spacing: .1em; padding-bottom: .35rem; text-decoration: none; text-transform: uppercase; }.events__links a span { font-size: 1em; }
.events__heading h1 { font-family: "Newsreader", Georgia, serif; font-size: clamp(3.1rem,6vw,6.2rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; margin: 1.1rem 0 1.8rem; }.events__heading > p:not(.section-kicker) { color: #596652; line-height: 1.7; margin: 0; max-width: 22rem; }.events__timeline { display: grid; gap: 2rem; }.event-card { background: rgba(255,253,245,.68); border: 1px solid rgba(63,82,57,.2); box-shadow: 0 1.2rem 3.5rem rgba(82,89,73,.08); max-width: 43rem; padding: clamp(2.2rem,5vw,4.5rem); }.event-card h2 { font-family: "Newsreader", Georgia, serif; font-size: clamp(2.4rem,4.4vw,4.5rem); font-weight: 400; line-height: .9; margin: 2rem 0 1.25rem; }.event-card h2 span { color: #56684f; display: block; font-family: "DM Sans", Arial, sans-serif; font-size: clamp(.8rem,1.35vw,1.35rem); letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }.event-card__date { border-bottom: 1px solid rgba(63,82,57,.25); border-top: 1px solid rgba(63,82,57,.25); font-family: "Newsreader", Georgia, serif; font-size: 1.3rem; margin: 0 0 1.5rem; padding: .85rem 0; }.event-card > p:not(.section-kicker):not(.event-card__date):not(.event-card__note) { color: #596652; line-height: 1.72; margin: 0; }.event-card ul { color: #596652; font-size: .9rem; line-height: 1.65; margin: 1.4rem 0; padding-left: 1.1rem; }.event-card li + li { margin-top: .4rem; }.event-card__note { color: #596652; font-size: .86rem; line-height: 1.6; margin: 1.5rem 0; }.event-card--past { background: rgba(242,237,225,.72); }.event-card--past h2 { margin-bottom: 1.2rem; }
.event-card--poster { overflow: hidden; padding: 0; }.event-card--poster > img { display: block; height: auto; width: 100%; }.event-card--poster .event-card__body { padding: clamp(2rem,4vw,3.4rem); }.event-card--poster h2 { font-size: clamp(2.25rem,3.7vw,3.8rem); margin-top: 1.4rem; }.event-card--poster h2 span { white-space: normal; }.event-card--poster .event-card__body > p:not(.section-kicker):not(.event-card__note) { color: #596652; line-height: 1.72; margin: 0; }
.events__intro { border-top: 1px solid rgba(63,82,57,.24); font-size: .92rem; margin-top: 2rem !important; padding-top: 1.3rem; }.events__practice-list { color: #596652; font-size: .76rem; line-height: 1.65; list-style: none; margin: 1.25rem 0 0; max-width: 24rem; padding: 0; }.events__practice-list li { border-bottom: 1px solid rgba(63,82,57,.16); padding: .38rem 0; }.events__practice-list li::before { content: "·"; margin-right: .55rem; }

.services { grid-template-columns: repeat(3, minmax(0, 1fr)); }.services article, .services article:nth-child(even) { border-right: 1px solid rgba(63,82,57,.25); padding: 2rem 2.4rem 3rem; }.services article:last-child { border-right: 0; }

@media (min-width: 601px) { .services article:nth-child(3) h2 { white-space: nowrap; } }

@keyframes drift-one { to { transform: translate(8vw, 6vw) rotate(14deg) scale(1.12); } }
@keyframes drift-two { to { transform: translate(-7vw, 8vw) rotate(-10deg) scale(1.08); } }
@keyframes drift-three { to { transform: translate(8vw, -4vw) rotate(12deg) scale(1.13); } }

@media (prefers-reduced-motion: reduce) { .wash { animation: none; } html { scroll-behavior: auto; } }

@media (max-width: 600px) {
  .hero { min-height: 46rem; padding: 1.5rem; }
  .site-header, .hero-footer { left: 1.5rem; right: 1.5rem; }
  .site-header { top: 1.5rem; }.hero-footer { bottom: 1.5rem; }
  .hero-footer p { display: none; }
  .site-header nav a:not(:nth-last-child(-n+2)) { display: none; }
  .home-events { gap: 1.75rem; grid-template-columns: 1fr; }.home-events__intro { padding-right: 0; }.home-events__item { border-left: 0; border-top: 1px solid rgba(64,81,61,.28); padding: 1.35rem 0; }.home-events__item strong { margin: .75rem 0; }.home-events__link { align-self: start; margin-left: 0; }
  .wash--sage { left: -45vw; top: -26vw; }.wash--sun { right: -45vw; top: -22vw; }
  .wash--blush { bottom: -35vw; left: -34vw; }.wash--olive { bottom: -34vw; right: -35vw; }
  h1 { font-size: clamp(2rem, 9vw, 3rem); margin-bottom: 1.25rem; }
  .about__grid, .journal { gap: 2.75rem; grid-template-columns: 1fr; }
  .offerings { grid-template-columns: 1fr; margin-top: 3rem; }.offering:nth-child(odd) { border-right: 0; padding-right: 0; }.offering:nth-child(even) { padding-left: 0; }.offering { min-height: 13rem; }
  .page-header { align-items: flex-start; gap: 1rem; }.page-header nav { flex-wrap: wrap; gap: .7rem 1rem; justify-content: flex-end; }.page-header nav a { font-size: .58rem; }.page-hero { min-height: 26rem; }.page-hero--meet, .bio, .story, .credentials, .services, .journal-index, .contact-page, .ways__list, .service-disclaimer, .events, .testimonials, .journal-resources { grid-template-columns: 1fr; }.meet-portrait { justify-self: start; max-width: 18rem; }.services article, .services article:nth-child(even) { border-right: 0; padding: 2rem 0 3rem; }.ways__list article, .ways__list article + article { border-left: 0; padding: 2rem 0 2.4rem; }.ways__list article + article { border-top: 0; }.journal-empty { border-left: 0; border-top: 1px solid rgba(63,82,57,.25); padding: 3rem 0 0; }.podcast-feature { grid-template-columns: 1fr; }.podcast-feature img { max-width: 25rem; }.journal-entry { border-left: 0; border-top: 1px solid rgba(63,82,57,.25); grid-template-columns: 1fr; padding: 3rem 0 0; }.journal-entry img { max-width: 25rem; }.contact-page { gap: 4rem; min-height: auto; }.testimonials__list { grid-template-columns: 1fr; }.testimonials figure, .testimonials figure:nth-child(n) { border-left: 0; border-top: 1px solid rgba(63,82,57,.22); min-height: 0; padding: 2rem 0; }.testimonials figcaption { margin-top: 1rem; }
  .site-footer span:last-child { display: none; }
  .work-event-banner { align-items: flex-start; flex-direction: column; gap: .65rem; }.work-event-banner span { line-height: 1.5; }
  .story__copy--full { columns: 1; grid-column: auto; }
}
