:root{--paper:#f3f0ea;--ink:#4a423c;--muted:#71665d;--pink:#d79aaa;--line:#cfc4b9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Golos Text',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#e2aab5;color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}h1{font-size:clamp(64px,7.7vw,120px);letter-spacing:-.055em}h2{font-size:clamp(48px,5.3vw,80px);letter-spacing:-.04em}h3{font-size:34px}em{font-weight:400}img{width:100%;height:100%;display:block;object-fit:cover}p+p{margin-top:20px}.symbols{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}.skip:focus{top:12px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.16em}.wordmark svg{width:64px;height:70px}.logo-label{font-family:var(--sans);font-size:37px;letter-spacing:15px;fill:var(--ink)}.letter{fill:var(--ink)}.orbit{fill:none;stroke:var(--pink);stroke-width:3;stroke-linecap:round}.spark{fill:var(--pink);transform-origin:465px 218px;transition:transform .8s}.wordmark:hover .spark{transform:rotate(90deg)}nav{display:flex;gap:35px;font-size:14px}nav a,.header-cta{padding:12px 0}.header-cta{font-size:14px;border-bottom:1px solid var(--ink)}.header-cta span{margin-left:22px}.hero{min-height:760px;max-height:1000px;height:calc(100svh - 98px);position:relative;display:grid;grid-template-columns:1.16fr 1fr;gap:6%;padding:64px 9% 60px 8%;align-items:center;overflow:hidden}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:500;line-height:1.7}.hero h1{margin:30px 0}.hero-lead{font-size:17px;line-height:1.8}.button{display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:17px 25px;border:1px solid var(--ink);border-radius:2px;font-size:14px;transition:background .3s,color .3s,transform .3s}.button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.button:active{transform:translateY(1px)}.hero .button{margin-top:32px}.text-link{display:table;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;transition:border-color .3s}.text-link:hover{border-color:var(--ink)}.text-link span{margin-left:28px}.hero .text-link{margin-top:13px}.hero-foot{font-size:10px;letter-spacing:.2em;margin-top:48px}.hero-photo{height:min(580px,65vh);position:relative;align-self:center}.hero-photo img{border-radius:48% 48% 2px 2px;object-position:50% 42%}.hero-photo:before{content:'';position:absolute;inset:-15px 16px 16px -15px;border:1px solid var(--pink);border-radius:48% 48% 0 0;pointer-events:none}figcaption{font-size:11px;line-height:1.6;letter-spacing:.035em;padding-top:13px;color:var(--muted)}.hero-photo figcaption{display:flex;justify-content:space-between}.hero-seal{position:absolute;width:180px;height:180px;right:4.5%;bottom:55px;background:var(--paper);border-radius:50%;transform:rotate(8deg)}.hero-seal svg{width:100%;height:100%}.side-note{position:absolute;right:19px;top:43%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.22em;text-transform:uppercase}.opening{padding:100px 15% 80px;background:linear-gradient(115deg,#d9c6b8,#e3d9d1 54%,#ccc9c3)}.big-line{font:clamp(40px,4.8vw,72px)/1.15 var(--serif);letter-spacing:-.025em;margin-top:28px}.opening-foot{display:flex;align-items:center;justify-content:space-between;margin-top:40px;font-size:13px}.small-orbit{height:45px;width:180px;border:1px solid #9d6d78;border-radius:50%;transform:rotate(-12deg)}.section{padding:112px 8%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:40px;margin-bottom:64px}.section-heading .eyebrow{padding-top:12px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center}.session-photo{height:570px}.session-photo img{border-radius:48% 48% 48% 48%;object-position:50% 45%}.practice-copy{max-width:460px}.serif-lead{font:34px/1.18 var(--serif);letter-spacing:-.015em;margin:20px 0 28px}.note{font-size:13px;line-height:1.8;padding-left:17px;border-left:1px solid var(--pink);color:var(--muted);margin-top:28px!important}.practice-copy .text-link{margin-top:24px}.session{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font:italic 22px var(--serif);color:var(--muted)}.steps h3{margin:22px 0 17px}.steps p{font-size:14px}.session>.text-link{margin-top:35px}.pause{padding:95px 8%;background:#e8dfd5;text-align:center;position:relative;overflow:hidden}.pause:before{content:'';position:absolute;border:1px solid #c4a3a4;border-radius:50%;width:90%;height:75%;left:5%;top:13%;transform:rotate(-12deg);opacity:.5;pointer-events:none}.pause>*{position:relative}.pause h2{margin:28px 0 30px;font-size:clamp(44px,6vw,90px)}.pause p:not(.eyebrow){font-size:15px}.quote-credit{display:block;margin-top:27px;font-size:11px}.about{display:grid;grid-template-columns:1fr 1fr;gap:14%;align-items:center}.about-copy{max-width:470px}.about h2{margin-top:30px}.about-photo{height:640px}.about-photo img{border-radius:48% 48% 0 0;object-position:50% 35%}.about .text-link{margin-top:26px}.beyond{border-top:1px solid var(--line)}.beyond-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:13%}.walk{height:630px}.walk img{object-position:50% 35%}.beyond-copy{padding-top:50px;max-width:430px}.cards{width:60%;height:250px;margin-top:50px;margin-left:auto}.cards img{border-radius:50% 50% 0 0}.details-section{display:grid;grid-template-columns:1fr 1fr;gap:14%;background:#e9e0d7;max-width:none}.details-section h2{margin:30px 0}.details-section p{font-size:14px}dl{margin:0;padding-top:25px}dl>div{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #cdbfb1}dt{font-size:14px}dd{margin:0;font:24px var(--serif)}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.faq h2{margin-top:30px}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:16px;cursor:pointer;padding:24px 0}summary::-webkit-details-marker{display:none}summary span{font-size:25px;font-weight:400;transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;max-width:520px;padding:0 20px 26px 0;color:var(--muted)}.contact{background:var(--ink);color:var(--paper);padding:104px 8% 112px;position:relative;overflow:hidden}.contact h2{font-size:clamp(58px,7.7vw,112px);margin:30px 0}.contact>p{font-size:16px}.contact .button{border-color:var(--paper);background:var(--paper);color:var(--ink);margin-top:36px}.contact .button:hover{background:#e2aab5;border-color:#e2aab5}.contact-small{font-size:12px!important;color:#d3c7ba;margin-top:18px}.contact-small a{text-decoration:underline;text-underline-offset:4px}.contact-mark{position:absolute;width:360px;height:360px;right:6%;top:26%;opacity:.7}.contact-mark .letter,.contact-mark .logo-label{fill:var(--paper)}footer{padding:38px 8%;display:flex;justify-content:space-between;gap:35px;font-size:11px;align-items:center}footer>div>span{letter-spacing:.18em}footer p{color:var(--muted)}footer a{padding:12px 0}.mobile-cta{display:none}.intro .rear,.intro .front{stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 1.7s ease forwards}.intro .front{animation-delay:.35s}.intro .letter{animation:appear .9s both}.intro .spark{animation:appear .7s 1.5s both}.intro .logo-label{animation:appear .6s 1.8s both}.reveal{transition:opacity .9s,transform 1.2s}.reveal.waiting{opacity:0;transform:translateY(15px)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes appear{from{opacity:0}to{opacity:1}}@media(min-width:1600px){.hero{padding-left:max(8%,calc((100vw - 1350px)/2));padding-right:max(9%,calc((100vw - 1350px)/2))}}@media(max-width:1000px){header{padding:0 5%;height:80px}.hero{padding:45px 6%;min-height:700px;gap:5%;height:auto}.hero h1{font-size:75px}.hero-photo{height:480px}.hero-seal{width:130px;height:130px;bottom:35px}.section{padding:80px 6%}.practice-grid,.about,.beyond-grid{gap:8%}.session-photo{height:480px}.steps{gap:22px}.steps h3{font-size:29px}.about-photo{height:570px}.contact-mark{width:230px;height:230px;right:3%;top:35%}.section-heading{grid-template-columns:1fr 2fr}.side-note{display:none}}@media(max-width:650px){body{font-size:15px}header{height:74px;padding:0 6%}.wordmark{font-size:10px;gap:4px;letter-spacing:.1em}.wordmark svg{width:42px;height:50px}nav{display:none}.header-cta{font-size:11px}.header-cta span{margin-left:8px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:36px 7% 60px;gap:35px;overflow:hidden}.hero h1{font-size:65px;line-height:.99;margin:22px 0}.eyebrow{font-size:10px;letter-spacing:.13em}.hero-lead{font-size:15px}.hero .button{margin-top:25px;width:100%;padding:15px 18px;gap:12px;font-size:13px}.hero .text-link{font-size:12px;margin-top:7px}.hero-foot{display:none}.hero-photo{height:370px;width:83%;margin-left:13px}.hero-photo img{object-position:center 39%}.hero-seal{width:125px;height:125px;right:4%;bottom:62px}.hero-photo figcaption{font-size:10px}.hero-photo figcaption span{display:none}.opening{padding:65px 7%}.big-line{font-size:40px;margin-top:25px}.opening-foot{font-size:11px;gap:20px}.small-orbit{width:100px;height:30px}.section{padding:68px 7%}.section-heading{display:block;margin-bottom:35px}.section-heading h2{margin-top:20px}h2{font-size:49px}.practice-grid,.about,.beyond-grid,.details-section,.faq{grid-template-columns:1fr;gap:40px}.session-photo{height:410px;width:87%;margin:auto}.practice-copy{max-width:none}.serif-lead{font-size:30px}.steps{grid-template-columns:1fr 1fr;gap:30px 22px}.steps h3{font-size:29px;margin-top:16px}.steps p{font-size:13px}.pause{padding:65px 7%}.pause h2{font-size:44px}.pause p:not(.eyebrow){font-size:13px}.pause:before{width:130%;left:-15%;height:60%;top:20%}.about-photo{height:470px;max-width:350px;margin:auto}.walk{height:430px;width:88%}.beyond-copy{padding-top:0}.cards{height:240px;margin-top:35px}.details-section{gap:15px}.details-section h2{margin:25px 0}dl{padding-top:0}.faq h2{margin-top:20px}.faq{gap:20px}summary{font-size:15px;padding:21px 0}.contact{padding:70px 7% 85px}.contact h2{font-size:54px}.contact>p{font-size:14px}.contact-mark{width:140px;height:140px;right:-12px;top:auto;bottom:12px;opacity:.22}.contact .button{font-size:13px;padding:16px 20px;gap:22px}.contact-small{max-width:260px}footer{padding:30px 7% 90px;flex-direction:column;align-items:flex-start;gap:22px}.mobile-cta{position:fixed;bottom:14px;bottom:calc(14px + env(safe-area-inset-bottom));left:6%;width:88%;height:50px;background:var(--ink);color:var(--paper);padding:12px 22px;z-index:10;justify-content:space-between;align-items:center;font-size:13px;border:1px solid #a18a7b}.mobile-cta.visible{display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.waiting{opacity:1;transform:none}}
.logo-label,.letter{fill:var(--logo-ink,var(--ink))}.contact-mark{--logo-ink:var(--paper)}
/* Photo diary: straight edges, varied proportions, offset captions. */
.hero-photo img,.session-photo img,.about-photo img,.cards img{border-radius:0}
.hero-photo:before{inset:18px -18px -18px 18px;border-radius:0;border-color:var(--line)}
.hero-photo{height:min(560px,62vh);transform:rotate(2deg)}
.hero-photo figcaption{padding-top:26px}
.hero-seal{border-radius:0;width:145px;height:145px;right:5%;bottom:30px;transform:rotate(-3deg)}
.session-photo{height:440px;transform:rotate(-2deg)}
.session-photo img{object-position:50% 43%}
.session-photo figcaption{padding-left:22px}
.about-photo{height:590px;transform:rotate(1deg)}
.about-photo figcaption{max-width:290px;margin-left:auto;text-align:right}
.walk{height:540px;transform:rotate(-1.5deg)}
.cards{width:75%;height:220px;transform:rotate(3deg);margin-top:65px}
.small-orbit{border:0;border-top:1px solid #9d6d78;border-radius:0;height:1px;transform:none}
.pause:before{border:0;border-top:1px solid #c4a3a4;border-bottom:1px solid #c4a3a4;border-radius:0;transform:none;width:84%;left:8%;top:9%;height:82%}
@media(max-width:1000px){.hero-photo{height:470px}.hero-seal{width:125px;height:125px}.about-photo{height:530px}}
@media(max-width:650px){.hero-photo{width:90%;height:340px;margin-left:0;transform:rotate(1.5deg)}.hero-photo:before{inset:12px -12px -12px 12px}.hero-seal{width:105px;height:105px;right:3%;bottom:40px}.session-photo{height:310px;width:100%}.about-photo{height:430px}.walk{height:390px;width:93%}.cards{height:210px;width:80%;margin-top:40px}.pause:before{width:86%;left:7%}}
/* Content-aware framing: all five originals are portrait photographs. */
.hero-photo,.session-photo,.about-photo,.walk,.cards{height:auto;max-height:none;align-self:start}
.hero-photo img,.session-photo img,.about-photo img,.walk img,.cards img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:50% 50%}
.hero-photo{width:100%;max-width:470px;justify-self:end;align-self:center}
.hero-seal{bottom:18px;right:3%;width:130px;height:130px}
.cards{width:65%;max-width:260px}
.reveal{transform:none;transition:opacity .85s ease}
.reveal.waiting{transform:none}
.section-heading h2,.about-copy h2,.faq h2,.contact h2{transition:opacity .7s ease,translate .8s cubic-bezier(.22,.61,.36,1)}
.motion-wait{opacity:0;translate:0 16px}
.section-arrived{animation:section-arrival .9s ease}
@keyframes section-arrival{from{filter:brightness(.95)}to{filter:brightness(1)}}
.logo-active .rear,.logo-active .front{stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 1.7s cubic-bezier(.45,0,.55,1) forwards}
.logo-active .front{animation-delay:.35s}
.logo-active .letter{animation:appear .65s both}
.logo-active .spark{animation:star-arrival .8s 1.6s both}
.logo-active .logo-label{animation:appear .6s 2s both}
@keyframes star-arrival{from{opacity:0;transform:rotate(-45deg) scale(.4)}to{opacity:1;transform:rotate(0) scale(1)}}
.wordmark:hover .spark,.wordmark:focus-visible .spark{transform:rotate(90deg)}
.wordmark:hover .orbit,.wordmark:focus-visible .orbit{stroke-width:5}
@media(max-width:650px){.hero-photo{width:88%;max-width:none}.hero-seal{width:100px;height:100px;bottom:16px}.session-photo{width:100%}.about-photo{width:100%;max-width:none}.walk{width:93%}.cards{width:72%}.hero{padding-bottom:90px}.hero-photo figcaption{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.motion-wait{opacity:1;translate:none}.section-arrived{animation:none}.logo-active *{animation:none!important;stroke-dashoffset:0!important}.wordmark:hover .spark,.wordmark:focus-visible .spark{transform:none}}
