:root{--paper:#f1f0ec;--ink:#232220;--muted:#686762;--line:#cecdc6;--accent:#76534e;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--gutter:clamp(24px,4.4vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:#76534e;color:white}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);font-size:clamp(48px,5.9vw,110px);line-height:.99;letter-spacing:-.045em}em{font-weight:400}p{max-width:42ch}p+p{margin-top:20px}.skip{position:fixed;left:20px;top:-80px;z-index:100;padding:12px;background:white}.skip:focus{top:20px}
.header{height:104px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:39px;letter-spacing:-.13em;display:flex;align-items:center;gap:20px;line-height:1}.brand span{font:12px/1.4 var(--sans);letter-spacing:0}.header nav{display:flex;gap:36px}.header nav a,.header-contact{font-size:14px}.header-contact{border-bottom:1px solid var(--ink);padding:8px 0}.header-contact span{margin-left:28px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.hero{height:min(860px,calc(100svh - 104px));min-height:650px;position:relative;isolation:isolate;padding:0 var(--gutter)}.hero-photo{position:absolute;top:0;right:0;width:48%;height:100%;overflow:hidden;z-index:-1;background:#d2d1c8}.hero-photo img{object-position:50% 35%;filter:saturate(.8)}.hero-top{padding-top:47px;display:flex;align-items:flex-start;justify-content:space-between}.eyebrow,.hero-index{font-size:12px;line-height:1.7;letter-spacing:.075em;text-transform:uppercase}.hero-index{writing-mode:vertical-rl;position:absolute;right:22px;top:40px;color:#f9f8f4;mix-blend-mode:exclusion}.hero h1{position:absolute;top:25%;left:var(--gutter);font-family:var(--serif);font-size:clamp(104px,13.1vw,240px);line-height:.82;font-weight:400;letter-spacing:-.058em;pointer-events:none}.name-line{display:block;padding:0 .04em .12em 0;overflow:hidden}.name-line>span{display:block}.name-line.surname{margin-left:9.2vw}.hero h1 i{font-style:normal;color:var(--accent)}.hero-bottom{position:absolute;left:var(--gutter);bottom:58px;width:calc(52% - var(--gutter) * 2);display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.hero-bottom p{font-size:14px;line-height:1.7}.explore{display:flex;align-items:center;gap:12px;font-size:12px}.circle{width:48px;height:48px;display:grid;place-items:center;border:1px solid #9a9890;border-radius:50%;font-size:24px}.section{padding:90px var(--gutter) 115px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.07em;margin-bottom:80px}.section-label span:last-child{letter-spacing:0;color:var(--muted)}.about{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw;align-items:start}.about-grid>div{padding-top:8px}.lead{font-size:clamp(20px,1.65vw,29px);line-height:1.5;margin-bottom:28px}.about-grid p:not(.lead){color:var(--muted);font-size:16px;line-height:1.85}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border-bottom:1px solid var(--line);padding:16px 0 12px;margin-top:25px;font-size:14px}.text-link span{font-size:21px}
@media(min-width:1600px){.hero h1{top:21%}.hero-bottom{width:38%}}
@media(max-width:1000px){.hero-bottom{display:block;bottom:36px}.explore{margin-top:24px}.header nav{gap:20px}.hero{min-height:650px}.hero h1{top:30%;font-size:13.5vw}.about-grid{gap:6vw}}
@media(max-width:700px){:root{--gutter:22px}.header{height:78px}.brand{font-size:34px;gap:15px}.brand span{font-size:12px}.header nav{display:none}.header-contact{margin-left:auto;margin-right:23px;font-size:12px}.header-contact span{margin-left:10px}.menu-toggle{display:flex;border:0;background:none;width:28px;height:34px;flex-direction:column;justify-content:center;gap:6px;padding:0}.menu-toggle span{height:1px;width:25px;background:var(--ink)}.mobile-menu{position:fixed;inset:78px 0 0;z-index:19;background:var(--paper);padding:50px 24px}.mobile-menu nav{display:flex;flex-direction:column;gap:16px;font:46px/1.3 var(--serif)}.hero{height:calc(100svh - 78px);min-height:710px;max-height:950px;padding-top:0}.hero-photo{width:70%;height:68%;top:18%;right:0}.hero-photo img{object-position:50% 35%}.hero-top{padding-top:25px}.eyebrow{font-size:12px;line-height:1.6}.hero-index{font-size:12px;right:13px;top:25px;color:var(--ink);mix-blend-mode:normal;writing-mode:initial}.hero h1{left:20px;top:31%;font-size:20.8vw;line-height:.88;letter-spacing:-.055em}.name-line.surname{margin-left:0}.hero-bottom{left:22px;bottom:30px;width:calc(100% - 44px);display:flex;align-items:flex-end;gap:10px}.hero-bottom p{font-size:12px;max-width:28ch}.hero-bottom .explore{font-size:0;margin:0}.circle{width:44px;height:44px}.section{padding:60px 22px 75px}.section-label{margin-bottom:40px;font-size:12px}.section-label span:last-child{font-size:12px;max-width:17ch;text-align:right}.about-grid{grid-template-columns:1fr;gap:34px}.about-grid h2{font-size:14vw}.about-grid p:not(.lead){font-size:16px}.lead{font-size:20px}.text-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.header{transition:box-shadow .3s;position:relative}.header nav a{position:relative}.header nav a::after{content:'';position:absolute;height:1px;background:currentColor;bottom:-5px;left:0;right:0;transform:scaleX(0);transform-origin:right;transition:transform .4s}.header nav a:hover::after{transform:scaleX(1);transform-origin:left}.circle{transition:background .35s,color .35s,transform .35s}.explore:hover .circle{background:var(--ink);color:var(--paper);transform:translateY(4px)}.text-link span,.publication-arrow,.course-links i{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.text-link:hover span{transform:translate(4px,-4px)}.credentials{display:grid;grid-template-columns:repeat(3,1fr);margin-top:100px;border-top:1px solid var(--line);padding-top:30px}.credentials>div{display:flex;align-items:flex-start;gap:25px}.credentials>div:not(:first-child){padding-left:35px;border-left:1px solid var(--line)}.credentials span{font:29px/1.2 var(--serif);letter-spacing:-.03em}.credentials p{font-size:12px;line-height:1.7;color:var(--muted)}
.story-track{background:#232220;color:#f0eeea}.story-stage{position:relative;padding:0 var(--gutter)}.story-top{padding-top:42px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.12em}.story-progress{display:flex;gap:6px}.story-progress i{width:40px;height:2px;background:#efece5;opacity:.3;transform-origin:left}.story-slide{position:relative;min-height:780px;display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:center;padding:60px 0 80px}.story-copy{position:relative;z-index:2}.story-number{display:block;font:italic 32px var(--serif);margin-bottom:30px;color:#a9a39b}.story-slide h2{font-size:clamp(55px,6.6vw,120px);line-height:1.02;letter-spacing:-.045em}.story-slide h2 em{color:#b8afa4}.story-slide p{margin-top:35px;max-width:35ch;font-size:16px;line-height:1.9;color:#c2beb6}.story-note{display:block;font-size:12px;letter-spacing:.06em;margin-top:65px;color:#8f8a82;max-width:38ch}.story-slide figure{margin:0;position:relative;height:650px;overflow:hidden;background:#46443f}.story-slide figure img{object-position:center 34%;filter:saturate(.65)}.story-slide figcaption{position:absolute;left:23px;bottom:20px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:var(--paper);color:var(--ink);padding:9px 12px}.story-scroll{display:none;font-size:12px;letter-spacing:.09em;color:#a29d94}.story-scroll span{margin-left:20px;font-size:24px}.practice-intro{display:flex;justify-content:space-between;gap:50px;align-items:flex-end}.practice-intro>p{font-size:16px;line-height:1.9;max-width:32ch;color:var(--muted);padding-bottom:5px}.practice-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;margin-top:65px;align-items:start}.practice-photo{height:690px;position:relative;overflow:hidden}.practice-photo img{object-position:50% 54%;filter:saturate(.75)}.practice-photo>span{position:absolute;bottom:26px;left:25px;font-size:12px;letter-spacing:.13em;line-height:1.6;color:white;text-shadow:0 1px 7px #232220}.service-list details{border-top:1px solid var(--line)}.service-list details:last-of-type{border-bottom:1px solid var(--line)}.service-list summary{list-style:none;display:grid;grid-template-columns:25px 1fr 24px;align-items:center;gap:22px;padding:27px 0;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-index{font-size:12px;color:#8c8981;align-self:start;margin-top:7px}.service-list h3{font:clamp(28px,2.6vw,47px)/1.05 var(--serif);letter-spacing:-.02em}.plus{position:relative;width:21px;height:21px}.plus::before,.plus::after{position:absolute;content:'';width:17px;height:1px;background:var(--ink);top:10px;left:2px;transition:transform .35s}.plus::after{transform:rotate(90deg)}details[open] .plus::after{transform:rotate(0)}.service-body{padding:0 25px 32px 47px}.service-body p{font-size:16px;line-height:1.9;color:var(--muted)}.service-link{display:inline-flex;gap:20px;margin-top:20px;font-size:12px;color:var(--accent)}.service-link:hover{text-decoration:underline;text-underline-offset:5px}.practice-note{margin-top:26px;color:var(--muted);font-size:12px;line-height:1.7}
.academy{background:#d8d7d0;overflow:hidden}.academy-top{position:relative;min-height:480px;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.academy-word{position:absolute;top:90px;left:-5.5vw;font:italic 22vw/.8 var(--serif);letter-spacing:-.05em;color:#bfbbb2;pointer-events:none;white-space:nowrap}.academy-description{grid-column:2;z-index:1;position:relative}.academy-description h2{font-size:clamp(65px,6.2vw,114px)}.academy-description p{margin-top:28px;font-size:16px;line-height:1.85;max-width:39ch}.academy .text-link{border-color:#a9a79e}.course-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa89f;position:relative;margin-top:65px}.course-links>a{position:relative;padding:30px 40px 40px 0;min-height:220px}.course-links>a+a{border-left:1px solid #aaa89f;padding-left:36px}.course-links span{font-size:12px;letter-spacing:.075em}.course-links h3{margin-top:26px;font:40px/1.05 var(--serif);letter-spacing:-.025em}.course-links i{position:absolute;right:28px;bottom:38px;font:32px var(--sans);font-style:normal}.course-links a:hover i{transform:translate(6px,-6px)}.journal-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px}.journal-heading .text-link{white-space:nowrap}.publication-list{margin-top:75px}.publication{padding:35px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.65fr 45px;align-items:center;gap:35px;position:relative}.publication:last-child{border-bottom:1px solid var(--line)}.publication>div{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.publication>div span{font-size:12px;letter-spacing:.06em}.publication time{font-size:12px;color:var(--muted)}.publication h3{font:clamp(28px,2.65vw,48px)/1.07 var(--serif);letter-spacing:-.02em;max-width:36ch}.publication-arrow{font-size:35px;text-align:right}.publication:hover .publication-arrow{transform:translate(5px,-5px)}.publication:hover h3{color:var(--accent)}
.contact{display:grid;grid-template-columns:.82fr 1.18fr;min-height:850px;background:#232220;color:var(--paper)}.contact-image{overflow:hidden;position:relative}.contact-image img{object-position:center 35%;filter:saturate(.65);min-height:100%}.contact-content{padding:70px var(--gutter) 70px 7vw}.contact h2{font-size:clamp(52px,5.4vw,100px);margin:65px 0 30px;line-height:1.04}.contact h2 em{color:#b8afa4}.contact p{font-size:14px;color:#c2beb6;line-height:1.8}.booking-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #797368;padding:22px 0;margin-top:30px;font-size:18px;max-width:430px}.booking-arrow{font-size:55px;font-weight:400;line-height:1}.booking-link:hover{color:#d3b9a7}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:50px}.contact-details>div{display:flex;flex-direction:column;align-items:flex-start}.contact-details>div>span{font-size:12px;letter-spacing:.09em;color:#9e998f;margin-bottom:15px}.contact-details a{font-size:14px;line-height:1.9}.contact-details .map-link{font-size:12px;margin-top:9px;border-bottom:1px solid #6c665c}.footer{padding:50px var(--gutter) 26px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-name{font:clamp(28px,3.5vw,56px)/1.1 var(--serif);letter-spacing:-.03em}.footer-top>a:not(.footer-name):not(.back-top){font-size:14px;margin-left:auto}.back-top{border:1px solid var(--line);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:24px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:40px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}.footer-bottom button{font-size:12px;padding:0;border:0;background:none}.medical-note{font-size:12px;color:#7a7770;max-width:none;margin-top:30px}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);z-index:60;transform-origin:left;pointer-events:none}.motion-off .reading-progress{display:none}body.menu-open{overflow:hidden}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-toggle span{transition:transform .3s}

@media(max-width:1100px){.credentials>div{display:block}.credentials p{margin-top:15px}.credentials>div:not(:first-child){padding-left:20px}.story-slide h2{font-size:6.8vw}.story-slide p{font-size:16px}.story-slide figure{height:560px}.story-slide{min-height:690px}.practice-photo{height:590px}.practice-grid{gap:6vw}.contact{min-height:790px}.contact-content{padding:55px 35px}.contact-details{grid-template-columns:1fr;gap:28px}.contact h2{margin-top:50px}.course-links h3{font-size:34px}.course-links i{right:20px;font-size:26px}.course-links>a+a{padding-left:25px}.academy-top{min-height:460px}}
@media(max-width:760px){.credentials{margin-top:55px;padding-top:24px;gap:10px}.credentials>div:not(:first-child){padding-left:12px}.credentials span{font-size:23px;line-height:1.05;display:block}.credentials p{font-size:12px;line-height:1.5}.story-stage{padding:0 22px 20px}.story-top{font-size:12px;padding-top:30px}.story-progress{display:none}.story-slide{grid-template-columns:1fr;gap:35px;min-height:0;padding:50px 0 40px}.story-slide+.story-slide{border-top:1px solid #4d4941}.story-slide h2{font-size:15vw}.story-number{font-size:25px;margin-bottom:24px}.story-slide p{font-size:16px;max-width:35ch;margin-top:25px}.story-slide figure{height:135vw;max-height:700px;width:86%;margin-left:auto}.story-slide figure img{object-position:center 28%}.story-note{margin-top:30px;font-size:12px}.story-slide figcaption{font-size:12px;left:15px;bottom:15px;padding:8px}.practice-intro{display:block}.practice-intro h2{font-size:12.6vw}.practice-intro>p{margin-top:30px;max-width:39ch;font-size:15px}.practice-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.practice-photo{width:75%;height:95vw;max-height:600px}.service-list summary{grid-template-columns:20px 1fr 20px;gap:14px;padding:26px 0}.service-list h3{font-size:32px}.service-body{padding-left:34px;padding-right:20px}.service-body p{font-size:16px}.service-link{font-size:13px}.academy-top{grid-template-columns:1fr;min-height:0;padding-top:75px}.academy-word{font-size:40vw;top:0;left:-12vw;color:#b8b4ab}.academy-description{grid-column:1;padding-top:40px}.academy-description h2{font-size:15vw}.academy-description p{font-size:16px}.course-links{grid-template-columns:1fr;margin-top:50px}.course-links>a{min-height:165px;padding:23px 42px 30px 0!important}.course-links>a+a{border-left:0;border-top:1px solid #aaa89f}.course-links h3{font-size:34px;margin-top:18px}.course-links i{right:10px}.journal-heading{display:block}.journal-heading h2{font-size:13.5vw}.journal-heading .text-link{margin-top:20px}.publication-list{margin-top:40px}.publication{grid-template-columns:1fr 25px;gap:20px;padding:27px 0}.publication>div{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:16px;width:100%}.publication>div span{font-size:12px;max-width:25ch}.publication time{font-size:12px;white-space:nowrap}.publication h3{font-size:30px}.publication-arrow{font-size:25px}.contact{grid-template-columns:1fr}.contact-image{height:115vw;max-height:700px;width:83%}.contact-image img{object-position:center 25%}.contact-content{padding:45px 22px 55px}.contact h2{font-size:13.4vw;margin-top:40px}.contact-content>.eyebrow{font-size:12px}.contact-content>p{font-size:14px}.booking-link{font-size:18px;margin-top:25px;max-width:none}.booking-arrow{font-size:44px}.contact-details{grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.contact-details>div>span{font-size:12px}.contact-details a,.contact-details p{font-size:12px}.footer{padding:35px 22px 25px}.footer-top{flex-wrap:wrap;gap:22px}.footer-name{font-size:31px;width:calc(100% - 75px)}.footer-top>a:not(.footer-name):not(.back-top){order:3;margin-left:0;font-size:13px}.footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:12px;gap:15px;margin-top:30px}.footer-bottom>a{grid-column:1/-1;grid-row:2}.footer-bottom button{font-size:12px;text-align:right}.medical-note{font-size:12px;line-height:1.6;margin-top:25px}}
@media(prefers-reduced-motion:reduce){.story-slide,.story-slide img,[data-reveal],.hero-photo,.hero-photo img,.name-line>span{opacity:1!important;transform:none!important;clip-path:none!important}}
