@font-face{font-family:Euclid;src:url('assets/euclid.otf');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#223b27;background:#fffaf2;font-family:Euclid,Arial,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #90743e;outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:99;background:#fffaf2;padding:12px}header{height:98px;padding:20px 4.5%;display:flex;align-items:center;justify-content:space-between;background:#fffaf2;position:sticky;top:0;z-index:20;border-bottom:1px solid #223b2712}.brand img{width:235px;display:block}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a:hover{color:#90743e}.contact-link{border:1px solid #223b2750;padding:9px 25px}#menu{display:none}.hero{height:min(790px,86svh);min-height:600px;position:relative;color:#fffaf2;display:grid;place-items:center}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(0deg,#10231580,#10231525 85%)}.hero-copy{position:relative;text-align:center;padding:50px 24px}.hero-copy>img{height:82px;width:auto;max-width:110px;margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;margin:0 0 20px}h1,h2,h3{font-weight:400;line-height:1.15}h1{font-size:clamp(40px,4.9vw,72px);margin:15px 0 24px;letter-spacing:-.035em}h2{font-size:clamp(34px,3.4vw,49px);margin:0 0 23px;letter-spacing:-.025em}h3{font-size:30px;margin:20px 0}.hero-description{font-size:18px;line-height:1.6;margin:0 0 32px}.outline{display:inline-block;border:1px solid #223b2760;padding:13px 25px;font-size:14px}.light{border-color:#fffaf29a}.outline:hover{background:#223b27;color:#fffaf2}.light:hover{background:#fffaf2;color:#223b27}.section{padding:105px 6%;max-width:1440px;margin:auto}.section-heading{text-align:center;margin-bottom:55px}.section-heading>p:last-child{color:#5b6656;margin:0}.path-grid{display:grid;grid-template-columns:repeat(3,1fr)}.path{padding:12px 38px 20px;border-right:1px solid #223b2726}.path:last-child{border:0}.path:first-child{padding-left:0}.path:last-child{padding-right:0}.number{font-size:13px;color:#90743e}.path p{color:#5b6656;max-width:330px;min-height:86px;font-size:16px}.text-link{font-size:14px;display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #223b2760;padding:10px 0}.path:hover .text-link{color:#90743e}.philosophy{margin-top:-40px}.philosophy iframe{width:100%;height:830px;border:0;display:block}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split img{width:100%;height:560px;object-fit:cover}.split p{max-width:470px;color:#5b6656}.split.reverse .copy{order:-1}.experiences{background:#f2ebe1}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.experience-grid img{width:100%;height:380px;object-fit:cover}.experience-grid h3{margin-bottom:13px}.experience-grid p{max-width:480px;color:#5b6656}.place{padding:0 6% 100px;max-width:1440px;margin:auto}.place img{width:100%;height:520px;object-fit:cover}.place .caption{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:30px}.caption p{max-width:480px;color:#5b6656}.contact{background:#223b27;color:#fffaf2;padding:85px 8%;display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact a{text-decoration:underline;text-underline-offset:5px}.contact h2{max-width:430px}.contact p{font-size:16px}.contact .eyebrow{color:#dfceb4}footer{background:#182d1d;color:#fffaf2;padding:30px 6%;display:flex;justify-content:space-between;gap:24px;font-size:13px}.guide-launch{position:fixed;right:22px;bottom:22px;border:1px solid #dfceb4;background:#fffaf2;color:#223b27;border-radius:50px;padding:13px 22px;z-index:30;box-shadow:0 4px 20px #12201619;font-size:14px}.guide{position:fixed;bottom:88px;right:22px;width:min(350px,calc(100vw - 36px));padding:25px;background:#fffaf2;border:1px solid #dfceb4;z-index:31;box-shadow:0 10px 45px #12201630}.guide[hidden]{display:none}.guide h3{font-size:23px;margin:12px 0}.guide p{font-size:15px}.guide button{background:transparent;border:1px solid #223b2733;padding:10px 12px;display:block;width:100%;text-align:left;color:#223b27;margin:8px 0;font-size:14px}.guide .close{border:0;width:auto;margin-left:auto;padding:0}.guide .eyebrow{font-size:11px}.guide a{text-decoration:underline}.guide input{width:100%;font:inherit;font-size:16px;padding:10px;border:1px solid #223b2740}.guide small{display:block;font-size:12px;color:#5b6656;margin-top:15px}@media(max-width:800px){header{height:78px}.brand img{width:180px}#menu{display:block;background:none;border:0;color:#223b27;font-size:14px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fffaf2;padding:25px 6%;flex-direction:column;align-items:flex-start;gap:20px}nav.open{display:flex}.hero{min-height:560px;height:80svh}.hero-copy>img{height:65px}.hero-description{font-size:16px}.section{padding:65px 6%}.path-grid{grid-template-columns:1fr}.path,.path:first-child,.path:last-child{padding:25px 0;border-right:0;border-bottom:1px solid #223b2726}.path p{max-width:none;min-height:0}.path h3{margin:8px 0}.philosophy{margin-top:0}.philosophy iframe{height:640px}.split{grid-template-columns:1fr;gap:35px}.split img{height:390px}.split.reverse .copy{order:0}.experience-grid{grid-template-columns:1fr;gap:50px}.experience-grid img{height:320px}.place{padding-bottom:65px}.place img{height:330px}.place .caption{display:block}.contact{grid-template-columns:1fr;gap:30px;padding:65px 6%}footer{padding-bottom:95px;flex-wrap:wrap}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand{width:235px;height:65px;overflow:hidden;display:flex;align-items:center}.brand img{width:235px;filter:brightness(0) saturate(100%) invert(18%) sepia(20%) saturate(1000%) hue-rotate(80deg);}@media(max-width:800px){.brand{width:180px;height:58px}.brand img{width:180px}}

.bath-note{margin-top:60px;padding-top:30px;border-top:1px solid #223b2726;max-width:750px}.bath-note p{color:#5b6656}.people{text-align:center;padding-top:0}.people>p:not(.eyebrow){max-width:670px;margin:0 auto 20px}.philosophy iframe{height:950px}@media(max-width:800px){.philosophy iframe{height:760px}}

.brand{width:175px;height:78px}.brand img{width:175px}@media(max-width:800px){.brand{width:140px;height:62px}.brand img{width:140px}}

/* Quieter, softer presentation: light curves rather than boxes and dividers. */
header{border-bottom:0}.hero{overflow:hidden;border-radius:0 0 5% 5% / 0 0 35px 35px}.hero-copy>img{margin-bottom:28px}.contact-link,.outline{border-radius:999px}.path-grid{gap:5%}.path,.path:first-child,.path:last-child{border:0;padding:12px 0 20px}.path h3{margin-top:8px}.paths .section-heading{margin-bottom:22px}.guide-launch{display:block;width:max-content;margin:0}.guide{border-radius:26px;bottom:88px;max-height:calc(100svh - 112px);overflow:auto}.guide button:not(.close),.guide input{border-radius:16px}.split img{}.split.reverse img{}.experience-grid img{}.experience-grid article:nth-child(2) img{}.place img{}.experiences{border-radius:4% 4% 4% 4% / 35px 35px 35px 35px}.bath-note{border-top:0}.contact{border-radius:45px 45px 0 0}.text-link{border-bottom-color:#223b2730}@media(max-width:800px){.path,.path:first-child,.path:last-child{border:0;padding:20px 0}.path-grid{gap:15px}.hero{border-radius:0 0 28px 28px}.split img,.place img{}.split.reverse img{}.experience-grid img{}.experience-grid article:nth-child(2) img{}.contact{border-radius:30px 30px 0 0}footer{padding-bottom:95px}.guide-launch{margin-bottom:0}}

.hero-logo{position:relative;display:block;width:86px;height:82px;margin:0 auto 28px}.hero-logo img{width:100%;height:100%;display:block}.hero-logo canvas{position:absolute;left:50%;top:50%;width:256px;height:216px;transform:translate(-50%,-50%);pointer-events:none}.hero-logo.revealing img{opacity:0}@media(max-width:800px){.hero-logo{width:68px;height:65px}.hero-logo canvas{width:203px;height:171px}}@media(prefers-reduced-motion:reduce){.hero-logo canvas{display:none}.hero-logo.revealing img{opacity:1}}

/* A shared wet-on-wet language: pigment opens the story, then appears sparingly in the margins. */
.hero-logo{width:112px;height:106px;margin-bottom:32px}.hero-logo canvas{width:360px;height:260px}
.botanical{width:280px;height:240px;position:relative;margin:-30px 8% 30px auto;pointer-events:none;opacity:.62}
.botanical img,.botanical canvas{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.botanical.revealing img{opacity:0}.botanical-left{margin:-65px auto 35px 6%;transform:scaleX(-1);width:235px;height:205px}
@media(max-width:800px){.hero-logo{width:90px;height:85px}.hero-logo canvas{width:289px;height:209px}.botanical{width:215px;height:185px;margin:-15px 6% 20px auto}.botanical-left{width:185px;height:160px;margin:-30px auto 30px 6%}}
@media(prefers-reduced-motion:reduce){.botanical.revealing img{opacity:1}.botanical canvas{display:none}}

/* Keep decorative surfaces bounded and fully feathered when composited over video. */
.hero-logo{--pigment-width:360px;--pigment-height:260px}.hero-logo canvas{-webkit-mask-image:radial-gradient(ellipse closest-side,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 58%,transparent 100%)}
.botanical{overflow:hidden;contain:layout paint}.botanical img,.botanical canvas{max-width:100%;max-height:100%}
@media(max-width:800px){.hero-logo{--pigment-width:289px;--pigment-height:209px}}

/* User-composed fern: generous scale, cropped by the left page edge, flowing inward. */
body{overflow-x:clip}.botanical-left{width:min(600px,46vw);height:min(560px,43vw);margin:-65px auto -175px -4%;transform:rotate(-18deg);overflow:visible;contain:layout;opacity:.62}.people{position:relative}
@media(max-width:800px){.botanical-left{width:340px;height:315px;margin:-20px auto -70px -85px;opacity:.48}.people{padding-top:55px}}

/* Botanical compositions stay attached to the stories they illustrate. */
.experiences{position:relative;overflow:clip}
.experience-grid article:nth-child(2){position:relative}
.experience-grid article:nth-child(2)>p{max-width:70%}
.botanical-tea{position:absolute;width:360px;height:360px;right:-215px;top:370px;margin:0;opacity:.45;transform:rotate(-10deg)}
.botanical img{border-radius:0!important;object-fit:contain!important}
.bath-note{position:relative;margin-top:100px;padding:45px 12% 30px 29%;min-height:300px;max-width:none}
.botanical-rice{position:absolute;left:calc(-6vw - 65px);top:0;width:350px;height:350px;margin:0;opacity:.48;transform:rotate(12deg)}
.place{padding-bottom:40px}
.botanical-left{width:min(670px,49vw);height:min(620px,46vw);margin:-35px auto -350px -10%;transform:rotate(24deg);opacity:.58}
.people{padding-top:55px;padding-bottom:100px}
@media(max-width:800px){
.experience-grid article:nth-child(2)>p{max-width:78%}
.botanical-tea{width:260px;height:260px;right:-180px;top:340px;opacity:.42}
.bath-note{margin-top:75px;padding:170px 0 0;min-height:0}
.botanical-rice{left:calc(-6vw - 65px);top:-70px;width:245px;height:245px;opacity:.42}
.place{padding-bottom:25px}
.botanical-left{width:350px;height:325px;margin:-25px auto -75px -110px;opacity:.50}
.people{padding-top:30px}
}

/* Broader, denser fog surrounds the unchanged-size mark. */
.hero-logo{--pigment-width:540px;--pigment-height:320px}
@media(max-width:800px){.hero-logo{--pigment-width:434px;--pigment-height:257px}}

/* Consistent circular radii measured against each photo's shorter edge. */
.split>img,.experience-grid article>img,.place>img{--photo-curve:200px;--photo-soft:28px}
.split>img{}
.split.reverse>img{}
.experience-grid article>img{}
.experience-grid article:nth-child(2)>img{}
.place>img{}
/* Paint may sit behind copy without intercepting interactions. */
.botanical{pointer-events:none}

@media(min-width:1440px){.botanical-rice{left:calc((1440px - 100vw)/2 - 152px)}}

/* Match the visible footprint of the three botanical paintings. */
.botanical-tea{width:500px;height:500px;right:-205px;top:385px}
.botanical-rice{width:500px;height:500px;left:calc(-6vw - 85px);top:-20px}
.bath-note{margin-top:130px;min-height:410px;padding-left:34%}
.botanical-left{width:560px;height:560px;margin-bottom:-300px;margin-left:-95px}
.experience-grid article:nth-child(2)>p{max-width:60%}
@media(min-width:1440px){.botanical-rice{left:calc((1440px - 100vw)/2 - 172px)}}
@media(max-width:800px){
.botanical-tea{width:340px;height:340px;right:-180px;top:365px}
.botanical-rice{width:340px;height:340px;left:calc(-6vw - 85px);top:-35px}
.botanical-left{width:370px;height:370px;margin-left:-100px;margin-bottom:-100px}
.bath-note{margin-top:105px;min-height:0;padding:275px 0 0}
.experience-grid article:nth-child(2)>p{max-width:64%}
}

/* Link chevrons reuse the two upper logo shapes, rotated clockwise. */
.text-link .link-chevrons{order:-1;display:inline-block;width:20px;height:24px;flex:0 0 20px;background:currentColor;-webkit-mask:url("assets/link-chevrons.svg") center/contain no-repeat;mask:url("assets/link-chevrons.svg") center/contain no-repeat}

/* Perilla belongs to the clinical herbal story, not the tea service.
   Preserve the approved tea painting's size; balance denser pigment with opacity. Rice/fern unchanged. */
#clinic{position:relative;isolation:isolate}
#clinic>.copy,#clinic>img{position:relative;z-index:1}
.botanical-perilla{position:absolute;width:500px;height:500px;right:calc(min(0px,(1440px - 100vw)/2) - 150px);bottom:0;margin:0;opacity:.32;transform:rotate(-10deg);z-index:0}
.experience-grid article:nth-child(2)>p{max-width:480px}
@media(max-width:800px){.botanical-perilla{width:340px;height:340px;right:-150px;bottom:-20px;opacity:.30}}

/* Decorative paintings and their reveal canvases always sit below readable content. */
main{isolation:isolate}
.botanical{z-index:0;pointer-events:none}
.bath-note{isolation:isolate}
.bath-note>h3,.bath-note>p,.bath-note>.text-link{position:relative;z-index:1}
.people,.place{position:relative;z-index:1}
