@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{--ink:#26332f;--muted:#596760;--paper:#f8f7f3;--cream:#e9e9e2;--green:#29443a;--line:#c8cec5}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.58 'Source Sans 3',Arial,sans-serif}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Source Sans 3',Arial,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.14}h1{font-size:clamp(2.7rem,4.3vw,4.9rem);margin:0 0 23px}h2{font-size:clamp(2.1rem,3.15vw,3.5rem);max-width:760px;margin-bottom:24px}h3{font-size:clamp(1.45rem,2.1vw,2.2rem);margin-bottom:14px}p{max-width:650px}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:10px;z-index:9}.skip:focus{top:10px}.header{min-height:80px;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(24px,5vw,90px);background:var(--paper)}.brand{text-decoration:none;font-weight:700;font-size:19px;line-height:1.1;letter-spacing:-.02em}.brand span{display:block;font:600 12px/1.5 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;gap:clamp(16px,3vw,46px);font-size:16px;font-weight:600}nav a{text-decoration:none}nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border-bottom:1px solid currentColor;padding-bottom:3px}.hero{min-height:550px;display:grid;grid-template-columns:44% 56%;background:var(--cream)}.portrait{min-height:550px;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 27%;display:block}.hero-copy{align-self:center;padding:44px clamp(35px,6vw,105px)}.eyebrow,.section-label{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.eyebrow{margin-bottom:21px}.lead{font-size:19px;line-height:1.58;max-width:590px}.button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;background:var(--green);color:#fff;text-decoration:none;border:1px solid var(--green);padding:13px 19px;font:700 16px 'Source Sans 3',sans-serif;cursor:pointer;transition:background .2s,color .2s;margin:12px 0}.button span{font-size:20px;line-height:1}.button:hover{background:transparent;color:var(--green)}.quiet{color:var(--muted);font-size:15px;line-height:1.5}.section,.support,.contact,.journal-home{padding:clamp(60px,6vw,88px) clamp(24px,8vw,140px);display:grid;grid-template-columns:minmax(145px,25%) 1fr;gap:24px}.section,.support{display:block}.section>div,.support>div{max-width:840px;margin:0 auto}.section>div:last-child,.support>div:last-child{max-width:840px}.section p,.support p,.contact p{line-height:1.63}.support{background:var(--paper);border-top:1px solid var(--line)}.sessions{border-top:1px solid var(--line)}.support-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin:30px 0}.support-list li{border-top:1px solid #aebcb0;padding:11px 0;font-size:18px}.rule{border-top:1px solid var(--line);margin:43px 0}.details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px;padding:22px 0}.details small,.details span{display:block;color:var(--muted);font-size:15px}.details strong{display:block;font:600 36px/1.2 'Source Sans 3',Arial,sans-serif;margin:8px 0}.details .details-text{font-family:'Source Sans 3',sans-serif;font-size:21px;line-height:1.3}.contact{background:var(--green);color:#f7f7ed;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,120px)}.contact .section-label,.contact .quiet{color:#cad7ca}.contact p{max-width:570px}.phone{display:inline-block;font-size:clamp(23px,2.6vw,34px);text-decoration:none;border-bottom:1px solid #c1d0c3;margin:12px 0 16px}.contact form{align-self:start;max-width:650px}label{display:block;font-weight:700;font-size:16px;margin:0 0 6px}.optional{font-weight:400;color:#c1d0c3}input,textarea{width:100%;border:1px solid #a9b9aa;border-radius:0;background:transparent;color:#fff;font:18px/1.5 'Source Sans 3',sans-serif;padding:12px 15px;margin:0 0 18px}input:focus,textarea:focus{outline:3px solid #d3e5bc;outline-offset:2px}textarea{resize:vertical}.form-note{font-size:14px!important;color:#c1d0c3}.contact .button{background:#eef0e6;color:var(--green);border-color:#eef0e6}.contact .button:hover{background:transparent;color:#fff}.honeypot{position:absolute;left:-9999px}#form-status{font-size:15px!important}footer{padding:28px clamp(24px,8vw,140px);display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:14px;color:var(--muted)}footer a{text-decoration:none}.journal-home{background:var(--paper);grid-template-columns:1fr 1fr;gap:35px}.journal-home .journal-more{grid-column:2;text-underline-offset:5px}.journal-list{display:grid;gap:0}.journal-item{display:block;text-decoration:none;padding:18px 0;border-top:1px solid var(--line)}.journal-item h3{font-size:1.35rem;margin:5px 0}.journal-item small{color:var(--muted)}.journal-item:hover h3{text-decoration:underline;text-underline-offset:4px}@media(max-width:850px){.hero{display:flex;flex-direction:column}.portrait{min-height:0;height:44vw;max-height:400px}.hero-copy{padding:48px 7vw 56px}.section,.support{grid-template-columns:1fr;gap:18px}.contact,.journal-home{grid-template-columns:1fr}.journal-home .journal-more{grid-column:1}}@media(max-width:550px){body{font-size:17px}.header{padding:12px 20px}.brand{font-size:16px}.brand span{font-size:10px}nav{gap:13px;font-size:14px}nav a:not(.nav-contact){display:none}.portrait{height:58vw}.hero-copy{padding:40px 24px 47px}h1{font-size:clamp(2.45rem,10vw,3.25rem)}h2{font-size:clamp(2rem,8vw,2.65rem)}.lead{font-size:18px}.section,.support,.contact,.journal-home{padding:62px 24px}.section p,.support p,.contact p{font-size:17px}.support-list{grid-template-columns:1fr;margin:24px 0}.details{grid-template-columns:1fr;gap:20px}.details strong{font-size:31px}footer{display:block}footer>*{display:block;margin:0 0 12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Calm, readable flow for the practice and support information. */
.intro{padding-top:66px;padding-bottom:38px}
.intro>.intro-inner{max-width:1100px;margin:0 auto}
.intro h2{max-width:none;margin:0 0 8px}
.intro .intro-summary{max-width:1000px;font-size:18px;line-height:1.55;margin-bottom:65px}
.intro-grid{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:start}
.intro-grid h3{font-size:clamp(1.45rem,2vw,1.8rem);margin:0 0 14px}
.intro-grid p{font-size:18px;line-height:1.6;margin-bottom:18px}
.support-list{display:block;margin:20px 0 0;padding:0;list-style:none}
.support-list li{border:0;padding:5px 0;color:#30473d;font-size:19px;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.sessions{border:0;padding-top:44px;padding-bottom:76px}
.sessions .rule{display:none}
.sessions h3{margin-top:36px}
.details{border:0;margin-top:34px;padding:0;gap:30px}
@media(max-width:800px){.intro-grid{grid-template-columns:1fr;gap:32px}.intro{padding-top:54px;padding-bottom:20px}.intro .intro-summary{margin-bottom:34px}.support-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 22px}.sessions{padding-top:45px}}
@media(max-width:550px){.intro{padding:54px 24px 16px}.intro h2{margin-bottom:18px}.intro .intro-summary{font-size:18px;margin-bottom:30px}.support-list{display:block}.support-list li{font-size:18px;padding:4px 0}.sessions{padding-top:40px;padding-bottom:65px}}
@media(prefers-reduced-motion:no-preference){
 body.has-reveal .intro h2,body.has-reveal .intro-summary,body.has-reveal .practice-column,body.has-reveal .sessions h2,body.has-reveal .sessions h3{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
 body.has-reveal .intro.is-visible h2,body.has-reveal .intro.is-visible .intro-summary,body.has-reveal .intro.is-visible .practice-column,body.has-reveal .sessions.is-visible h2,body.has-reveal .sessions.is-visible h3{opacity:1;transform:none}
 body.has-reveal .intro .intro-summary,body.has-reveal .intro .practice-column{transition-delay:.12s}
 body.has-reveal .support-list li{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
 body.has-reveal .intro.is-visible .support-list li{opacity:1;transform:none}
 body.has-reveal .support-list li:nth-child(1){transition-delay:.08s}body.has-reveal .support-list li:nth-child(2){transition-delay:.15s}body.has-reveal .support-list li:nth-child(3){transition-delay:.22s}body.has-reveal .support-list li:nth-child(4){transition-delay:.29s}body.has-reveal .support-list li:nth-child(5){transition-delay:.36s}body.has-reveal .support-list li:nth-child(6){transition-delay:.43s}body.has-reveal .support-list li:nth-child(7){transition-delay:.50s}body.has-reveal .support-list li:nth-child(8){transition-delay:.57s}
}
/* Restore the intended width and bring back the botanical photograph from David's site. */
.section.intro>.intro-inner{max-width:1120px}
.sessions{display:grid;grid-template-columns:minmax(0,680px) minmax(250px,390px);align-items:center;gap:clamp(40px,5vw,90px);max-width:1120px;margin:0 auto;padding:48px 0 78px}
.sessions>div{max-width:680px;margin:0}
.practice-photo{margin:0;align-self:stretch;min-height:490px;overflow:hidden;background:var(--paper)}
.practice-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:multiply;filter:brightness(1.08)}
@media(max-width:1160px){.sessions{margin:0 clamp(24px,8vw,100px)}}
@media(max-width:900px){.sessions{display:block;max-width:840px;margin:0 auto;padding:45px 7vw 70px}.sessions>div{max-width:840px;margin:0 auto}.practice-photo{display:none}}

/* A quiet wash behind the areas of support, with clear, scannable markers. */
.support-column{background:#e9efe8;padding:27px 30px 30px;margin:-27px -30px -30px}
.support-list{margin-top:17px}
.support-list li{display:flex;align-items:baseline;gap:12px;padding:6px 0;color:#25483a}
.support-list li::before{content:'✓';flex:none;color:#528066;font-size:21px;font-weight:700;line-height:1}
.sessions{align-items:stretch}
.practice-photo{align-self:stretch;margin-bottom:-78px;min-height:540px;background:transparent;mask-image:linear-gradient(to right,transparent,#000 13%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 100%);mask-composite:intersect}
.practice-photo img{object-position:center bottom;mix-blend-mode:normal;filter:saturate(.65) brightness(1.11)}
.contact{position:relative}
.contact>div,.contact form{position:relative;z-index:1}
.contact::before{content:'';position:absolute;left:5%;top:42px;width:90px;height:50px;border:1px solid rgba(213,230,210,.18);border-radius:100% 0 100% 0;transform:rotate(-25deg);pointer-events:none}
@media(max-width:900px){
 .sessions{position:relative;isolation:isolate;overflow:hidden;padding:45px 7vw 70px}
 .sessions>div{position:relative;z-index:1}
 .practice-photo{display:block;position:absolute;z-index:0;inset:0 0 0 auto;width:65%;height:100%;min-height:0;margin:0;opacity:.1;mask-image:linear-gradient(to right,transparent,#000 55%)}
 .practice-photo img{object-position:center bottom}
}
@media(max-width:550px){
 nav a:not(.nav-contact):not(#blog-nav):not([aria-current="page"]){display:none}
 .support-column{margin:0 -12px;padding:22px 20px}
 .support-list li{padding:6px 0}
 .sessions{padding:40px 24px 65px}
 .practice-photo{width:100%;opacity:.075;mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent)}
}
@media(prefers-reduced-motion:no-preference){
 body.has-reveal .support-list li{transform:translateX(-14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.25,1)}
 body.has-reveal .sessions .practice-photo{opacity:0;transform:translateY(28px) scale(.98);transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.2,.7,.2,1)}
 body.has-reveal .sessions.is-visible .practice-photo{opacity:1;transform:none}
 body.has-reveal .contact::before{opacity:0;transform:rotate(-45deg) scale(.7);transition:opacity 1.4s ease,transform 1.8s ease}
 body.has-reveal .contact.is-visible::before{opacity:1;transform:rotate(-25deg) scale(1)}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){body.has-reveal .sessions.is-visible .practice-photo{opacity:.1}}
@media(max-width:550px) and (prefers-reduced-motion:no-preference){body.has-reveal .sessions.is-visible .practice-photo{opacity:.075}}

.hero-credential{margin:-7px 0 22px;color:#3e6151;font-size:17px;font-weight:700;letter-spacing:.005em;line-height:1.4}
@media(max-width:550px){.hero-credential{font-size:16px;margin:-4px 0 19px}}
