/* Scoped changes to the accepted typography and spacing system. */
.hero-photo img{animation:none;transform:none}
.hero-top .brand-lockup{display:block;font-size:15px;letter-spacing:.18em}
.hero-copy{max-width:340px;text-align:center}
.hero-main-brand{display:flex;flex-direction:column;align-items:center;margin:0 auto}
.hero-main-brand .hero-main-symbol{width:140px;margin-bottom:26px}
.hero-main-brand>small{font:12px TTCommons,sans-serif;letter-spacing:.3em;margin-left:.3em}
.hero-main-brand h1{font-size:46px;font-weight:300;letter-spacing:.24em;line-height:1.5;margin:18px 0 0 .24em}
.hero-subtitle{font-size:22px;letter-spacing:.27em;line-height:1.8;margin:26px 0 0 .27em}
.hero-caption{font-size:13px;letter-spacing:.025em;line-height:1.95;margin-top:22px;text-align:center}
.hero-caption p+p{margin-top:14px}
.hero-family{margin-top:24px;font-size:9px}
.hands-intro{padding-top:85px;padding-bottom:85px;align-items:center;gap:8%}
.hands-signature{margin-top:30px;font-size:11px;color:#73796f;letter-spacing:.13em}
.concept-description{font-size:14px;line-height:2.1;letter-spacing:.025em;color:#687265;margin-top:30px}
.concept-caption h2{white-space:normal;font-size:32px}
.technique-list{display:flex;gap:25px;color:#76806e;font-size:12px;letter-spacing:.15em;margin-top:30px}
.care-feature figcaption{font-size:11px;letter-spacing:.08em;color:#73796f;margin-top:18px;text-align:right}

/* The full original slide remains intact; this window reveals only its photo.
   The original aspect ratio is maintained by width + height:auto. */
.source-photo{position:relative;overflow:hidden;background:#e5dacc;isolation:isolate}
.source-photo img{position:absolute;max-width:none;height:auto;display:block;transform:none;animation:none}
.shell-photo{aspect-ratio:2820/2110}
.shell-photo img{width:170.213%;left:-32.979%;top:-17.536%}
.shoulder-photo{aspect-ratio:3055/2035}
.shoulder-photo img{width:157.119%;left:-30.442%;top:-20.147%;filter:brightness(1.18)}
.herbal-photo,.bamboo-photo{aspect-ratio:3050/2030}
.herbal-photo img,.bamboo-photo img{width:157.377%;left:-30.492%;top:-20.197%;filter:brightness(1.18)}
.hands-photo{aspect-ratio:3030/2050}
.hands-photo img{width:158.416%;left:-31.023%;top:-18.780%;filter:brightness(1.18)}

.nature-section{padding-top:95px;padding-bottom:100px;background:#f5f4ef}
.nature-composition{display:grid;grid-template-columns:minmax(0,1fr) 56%;column-gap:8%;align-items:center;width:100%;max-width:1040px;margin:0 auto}
.nature-section .motion-heading{flex-direction:column;align-items:flex-start;justify-content:center;gap:32px;margin-bottom:0}
.nature-section .motion-heading h2{font-size:35px}
.nature-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:13.44px;align-items:start}
.nature-panel{display:grid;min-width:0}
.nature-panel:nth-child(2){margin-top:41.44px}
.nature-panel:nth-child(3){margin-top:82.88px}
.nature-slide{min-width:0;pointer-events:none}
/* Scale the accepted photo frames and staggering to 56%, retaining their
   aspect ratios. Captions stay readable at the existing type sizes. */
.nature-image{position:relative;aspect-ratio:1132/2130;overflow:hidden;background:#e9e6dc}
.nature-panel:nth-child(2) .nature-image{aspect-ratio:1132/2211}
.nature-panel:nth-child(3) .nature-image{aspect-ratio:1132/2133}
.nature-image img{width:100%;height:100%;object-fit:cover;object-position:center;max-width:100%;animation:none;transform:none;display:block}
.nature-slide figcaption{min-height:184px;padding-top:23px}
.nature-word{font-size:clamp(40px,4vw,58px);font-weight:200;letter-spacing:.16em;line-height:1.4}
.nature-concept{font-size:12px;letter-spacing:.1em;line-height:1.9;margin-top:13px;color:#6c7768}
.nature-mood{font-size:12px;line-height:2;letter-spacing:.025em;margin-top:13px;color:#7c8477;max-width:285px}
.nature-section .palette-grid{width:56%;margin:55px 0 0 auto;padding-top:13.5px;gap:28.8px}
.nature-section .palette-card{padding-top:23.4px;grid-template-columns:29.7px 1fr;column-gap:12.6px}
.nature-section .palette-swatch{width:21.6px;height:21.6px}
.nature-section .palette-name{font-size:12.6px}
.nature-section .palette-detail{font-size:9px}
.nature-section .palette-code{font-size:8.1px}

.care-section{background:#f5f4ef;padding-top:105px;padding-bottom:105px}
.experience{background:#fff}
.identity-section{background:#eeeee7}
.care-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 14%;align-items:center;margin-bottom:55px}
.care-heading .eyebrow{grid-column:1/-1}
.care-heading>p:last-child{font-size:14px;line-height:2;color:#687265;justify-self:end}
.care-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.care-project:nth-child(2){margin-top:50px}
.care-project:nth-child(3){margin-top:100px}
.care-project-copy{padding-top:25px}
.care-project-copy .eyebrow{margin-bottom:14px;font-size:9px}
.care-project-copy h3{margin:0;font-size:24px;font-weight:300;letter-spacing:.1em;line-height:1.5}
.care-project-copy>p:not(.eyebrow){font-size:13px;line-height:2.05;letter-spacing:.02em;margin-top:20px;color:#667160}
.care-project-copy>span{display:block;margin-top:25px;font-size:10px;color:#7d8474;letter-spacing:.1em}
.visit-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.visit-flow>div{border-top:1px solid #d7d8cf;padding-top:24px}
.visit-flow span{font:11px TTCommons,sans-serif;letter-spacing:.12em;color:#929781}
.visit-flow h3{font-size:22px;font-weight:300;letter-spacing:.08em;margin:24px 0 16px}
.visit-flow p{font-size:13px;line-height:2;color:#727b67}

/* Native horizontal scrolling keeps mouse drag and touch directly in control.
   Photo dimensions continue to follow the source aspect ratio. */
.gallery-section{--gallery-size:clamp(130px,17vw,245px);background:#fff}
.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.gallery-heading>div>.eyebrow{margin-bottom:28px}
.gallery-viewport,.gallery-viewport.dragging{cursor:url('assets/gallery-cursor-right.svg') 22 22,e-resize}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;scroll-behavior:auto;overscroll-behavior-x:contain}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-viewport[data-direction="previous"]{cursor:url('assets/gallery-cursor-left.svg') 22 22,w-resize}
.gallery-viewport:focus,.gallery-viewport:focus-visible{outline:none;border:0;box-shadow:none}
.gallery-section:has(.gallery-viewport:focus-visible) .gallery-heading h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:#a8b09f}
.gallery-track{position:relative;gap:50px;transition:none;height:calc(var(--gallery-size) + 52px);align-items:start;transform:none;will-change:auto}
.gallery-slide{height:auto;flex:0 0 auto}
.gallery-slide img{width:auto;height:var(--gallery-size);max-width:none;object-fit:contain;pointer-events:none;animation:none;transform:none}
.gallery-slide figcaption{display:block;font-size:12px;line-height:1.8;letter-spacing:.14em;user-select:none}

@media(min-width:701px) and (max-width:1100px){
 .hero-copy{max-width:290px}.hero-main-brand .hero-main-symbol{width:122px}.hero-main-brand h1{font-size:40px}
 .nature-triptych{gap:11.2px}.nature-panel:nth-child(2){margin-top:25.2px}.nature-panel:nth-child(3){margin-top:50.4px}
 .nature-word{font-size:45px}.care-projects{gap:24px}.care-project-copy h3{font-size:21px}
}
@media(max-width:700px){
 .hero-copy{padding:0;max-width:none;width:100%;text-align:center}.hero-inner{margin-top:48px;gap:45px}
 .hero-main-brand .hero-main-symbol{width:108px;margin-bottom:20px}.hero-main-brand>small{font-size:10px}
 .hero-main-brand h1{font-size:37px;letter-spacing:.22em;margin-top:15px}.hero-subtitle{font-size:18px;letter-spacing:.25em;margin-top:18px}
 .hero-caption{font-size:12px;margin-top:18px}.hero-family{font-size:8px;margin-top:19px}
 .hands-intro{padding-top:65px;padding-bottom:65px;gap:32px}.hands-signature{margin-top:23px;font-size:10px}
 .concept-description{font-size:13px;margin-top:23px}.concept-caption h2{font-size:27px}.care-feature figcaption{font-size:9px}
 .nature-section{padding:75px 24px}.nature-composition{column-gap:5%}.nature-section .motion-heading h2{font-size:20px}.nature-section .motion-heading{margin-bottom:0;gap:22px}
 .nature-triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:6.72px}
 .nature-panel:nth-child(2){margin-top:17.92px}.nature-panel:nth-child(3){margin-top:35.84px}
 .nature-slide figcaption{padding-top:14px;min-height:185px}.nature-word{font-size:20px;letter-spacing:.02em}
 .nature-concept{font-size:9px;letter-spacing:.015em;line-height:1.9;margin-top:10px}.nature-mood{font-size:9px;line-height:1.9;margin-top:9px}
 .nature-section .palette-grid{margin-top:26px;padding-top:0;gap:21.6px 19.8px}.nature-section .palette-card{padding-top:15.3px;grid-template-columns:20.7px 1fr;column-gap:9px}
 .nature-section .palette-swatch{width:15.3px;height:15.3px}.nature-section .palette-name{font-size:10.8px}.nature-section .palette-detail{font-size:8.1px}.nature-section .palette-code{font-size:7.2px}
 .care-section{padding-top:80px;padding-bottom:80px}.care-heading{display:block;margin-bottom:36px}.care-heading h2{font-size:28px}
 .care-heading>p:last-child{margin-top:23px;font-size:13px}.care-projects{grid-template-columns:1fr;gap:44px}
 .care-project:nth-child(2),.care-project:nth-child(3){margin-top:0}.care-project-copy{padding-top:23px}.care-project-copy h3{font-size:23px}
 .care-project-copy>p:not(.eyebrow){font-size:13px;margin-top:16px}.care-project-copy>span{margin-top:17px}
 .visit-flow{grid-template-columns:1fr;gap:28px}.visit-flow>div{padding-top:20px}.visit-flow h3{font-size:20px;margin-top:16px;margin-bottom:10px}
 .gallery-section{--gallery-size:140px}.gallery-track{gap:28px}.gallery-slide figcaption{font-size:10px}
 .gallery-heading{gap:12px}.gallery-heading>div>.eyebrow{margin-bottom:22px}
}
@media(max-width:360px){.nature-triptych{gap:5.04px}.nature-word{font-size:18px}.nature-concept,.nature-mood{font-size:8px}.nature-slide figcaption{min-height:185px}}
@media(prefers-reduced-motion:reduce){.nature-slide{transition:none}.hero-photo img{animation:none}}

/* This revision keeps the accepted frame sizes and updates only the requested modules. */
.hero-inner{height:100%}
.hero-media{padding:0;max-width:564px}
.hero-photo{aspect-ratio:2/1}
.hero-photo img{height:auto;object-fit:contain}
.hero-caption{text-align:center;text-wrap:pretty}
.care-heading{display:block}
.care-heading>p:last-child{margin-top:22px;justify-self:start}
.gallery-viewport{touch-action:pan-y pinch-zoom;cursor:e-resize}
.gallery-track{width:max-content}
.gallery-slide img{aspect-ratio:auto}
.gallery-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.gallery-pointer{position:fixed;left:0;top:0;width:52px;height:52px;z-index:30;pointer-events:none;mix-blend-mode:difference;background:transparent;opacity:0;transform:translate3d(-100px,-100px,0)}
.gallery-pointer.visible{opacity:1}
.gallery-pointer svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:1.3}
.gallery-pointer.previous svg{transform:rotate(180deg)}
@media(hover:hover) and (pointer:fine){.custom-gallery-cursor .gallery-viewport,.custom-gallery-cursor .gallery-viewport.dragging,.custom-gallery-cursor .gallery-viewport[data-direction="previous"]{cursor:none}}
@media(max-width:700px){
 .hero-inner{height:auto;margin-top:30px;gap:35px}.hero-media{width:100%;padding:0;align-self:center}.hero{padding-bottom:55px}
}
@media(prefers-reduced-motion:reduce){.nature-slide figcaption{transition:none}}

/* Hero uses the same symbol / Chinese / English order as the closing lockup. */
.hero-inner{max-width:1160px;grid-template-columns:.9fr 1.2fr;gap:8%}
.hero-copy{justify-self:stretch;max-width:340px;width:auto;padding-bottom:12px}
.hero-main-brand{color:#867963}
.hero-main-brand .hero-main-symbol{width:126px;margin-bottom:33.5px}
.hero-main-brand h1{font-size:32px;font-weight:300;letter-spacing:.3em;line-height:1.5;margin:0 0 0 .3em}
.hero-main-brand>small{font:10.7px TTCommons,sans-serif;letter-spacing:.17em;margin:16px 0 0}
.hero-media{width:100%;max-width:564px;padding:0}
.hero-subtitle{font-size:22px;line-height:1.8;letter-spacing:.27em;margin:26px 0 0 .27em;text-align:center}
.nature-section .palette-grid{width:100%;max-width:1040px;margin:66px auto 0;gap:42px;padding-top:0}
.nature-section .palette-card{grid-template-columns:46px 1fr;column-gap:16px;padding-top:28px}
.nature-section .palette-swatch{width:34px;height:34px}
.nature-section .palette-name{font-size:16px}
.nature-section .palette-detail{font-size:12px}
.nature-section .palette-code{font-size:10px}
@media(min-width:701px) and (max-width:1100px){
 .hero-inner{padding:0 20px;grid-template-columns:.9fr 1.1fr;gap:6%}.hero-copy{max-width:290px}.hero-main-brand .hero-main-symbol{width:110px;margin-bottom:29px}.hero-main-brand h1{font-size:28px}.hero-main-brand>small{font-size:9.4px;margin-top:14px}
 .hero-subtitle{font-size:20px;margin:26px 0 0 .27em}.nature-section .palette-grid{gap:26px}.nature-section .palette-card{grid-template-columns:38px 1fr;column-gap:12px}.nature-section .palette-swatch{width:30px;height:30px}
}
@media(max-width:700px){
 .hero-inner{height:auto;gap:35px;margin-top:30px}.hero-copy{max-width:none;width:100%;padding:0}.hero-main-brand .hero-main-symbol{width:108px;margin-bottom:28.7px}.hero-main-brand h1{font-size:27.5px;letter-spacing:.3em;margin:0 0 0 .3em}.hero-main-brand>small{font-size:9.2px;letter-spacing:.17em;margin-top:13.7px}
 .hero-subtitle{font-size:18px;margin:18px 0 0 .25em}.hero-media{width:100%}.hero{padding-bottom:55px}
 .nature-section .palette-grid{width:100%;margin:40px auto 0;gap:26px 22px}.nature-section .palette-card{grid-template-columns:32px 1fr;column-gap:11px;padding-top:21px}
 .nature-section .palette-swatch{width:24px;height:24px}.nature-section .palette-name{font-size:14px}.nature-section .palette-detail{font-size:10px}.nature-section .palette-code{font-size:9px}
}

/* Fixed water / stone / moss triptych, centered inside the right-hand frame. */
:root{--section-title-size:32px}
main#top h2,main .hero-subtitle{font-size:var(--section-title-size);line-height:1.55;font-weight:250;letter-spacing:.08em}
.section-lede{font-size:14px;line-height:2;letter-spacing:.05em;color:#687265;margin-top:18px}
.nature-composition{grid-template-columns:25% minmax(0,1fr);column-gap:5%}
.nature-window{display:grid;place-items:center;min-width:0;min-height:530px;padding:28px 0}
.nature-triptych{width:78%;max-width:490px;gap:12px}
.nature-panel:nth-child(2){margin-top:32px}.nature-panel:nth-child(3){margin-top:64px}
.nature-slide figcaption{min-height:145px;padding-top:19px}
.nature-word{font-size:32px;line-height:1.55;letter-spacing:.08em}
.nature-concept{font-size:11px;line-height:1.9;margin-top:10px}
.nature-mood{font-size:11px;line-height:1.9;margin-top:10px}
.palette-card,.palette-card:hover{border-color:#c6cebf;transition:none;cursor:default}

/* The logo and photograph share a centerline, with the subtitle above the photo. */
.hero-inner{grid-template-rows:auto auto;column-gap:8%;row-gap:32px;align-content:center;transform:translateY(150px)}
.hero-copy{max-width:340px;justify-self:center;width:100%;padding:0}
.hero-copy .eyebrow{position:absolute;bottom:calc(100% + 28px);left:0;width:100%;margin:0}
.hero-media{justify-self:center}
.hero-subtitle{position:absolute;bottom:calc(100% + 24px);left:0;width:100%;margin:0;text-align:center}
.hero-intro{grid-column:1;max-width:340px;justify-self:center;text-align:center}
.hero-intro .hero-caption{margin-top:0}
.experience-title{display:block}
.care-heading>.section-lede,.identity-copy>.section-lede{font-size:14px;line-height:2;margin-top:18px}
.identity-copy>.section-lede+p{margin-top:22px}
.gallery-section{padding-top:45px;padding-bottom:40px}
.gallery-heading{margin-bottom:28px}
.gallery-heading>div>.eyebrow{margin-bottom:18px}
.gallery-track{height:calc(var(--gallery-size) + 38px)}

@media(min-width:701px) and (max-width:1100px){
 .hero-inner{column-gap:6%;transform:translateY(120px)}.hero-intro{max-width:290px}
 .nature-triptych{width:82%;gap:10px}.nature-window{min-height:480px}
}
@media(max-width:700px){
 :root{--section-title-size:26px}
 .hero-inner{transform:none;margin-top:82px;gap:38px}.hero-copy .eyebrow{position:static;margin-bottom:24px}
 .hero-media{margin-top:65px}.hero-intro{max-width:100%;width:100%}
 .hero-subtitle{bottom:calc(100% + 20px)}
 .nature-composition{grid-template-columns:1fr;gap:24px}.nature-section .motion-heading{text-align:center;align-items:center}
 .nature-window{min-height:0;padding:15px 0}.nature-triptych{width:90%;max-width:400px;gap:12px}
 .nature-panel:nth-child(2){margin-top:20px}.nature-panel:nth-child(3){margin-top:40px}
 .nature-slide figcaption{padding-top:15px;min-height:165px}.nature-word{font-size:26px;letter-spacing:.04em}
 .nature-concept,.nature-mood{font-size:10px;line-height:1.9;letter-spacing:.015em}
 .gallery-section{padding-top:35px;padding-bottom:30px}.gallery-heading{margin-bottom:22px}
 .gallery-heading>div>.eyebrow{margin-bottom:16px}
}

/* One background-edge spacing rule for every module. */
:root{--module-space:64px}
.hero,.hands-intro,.nature-section,.experience,.care-section,.gallery-section,.identity-section{padding-top:var(--module-space);padding-bottom:var(--module-space)}
.hero{height:auto;min-height:0;max-height:none;overflow:visible}
.hero-inner{height:auto;grid-template-rows:auto;align-items:center;align-content:normal;row-gap:0;transform:none}
.hero-copy{justify-self:center;padding:0;text-align:center}
.hero-main-brand{color:#343c38}
.hero-copy .hero-caption{margin-top:26px}
.hero-media{display:flex;flex-direction:column;align-items:center;justify-self:center}
.hero-subtitle{position:static;width:100%;margin:24px 0 0;text-align:center}

/* Title and 2 by 2 palette form one left group beside the fixed photographs. */
.nature-composition{grid-template-columns:34% minmax(0,1fr);column-gap:8%;align-items:stretch}
.nature-info{display:flex;flex-direction:column;justify-content:space-between;align-items:center;min-width:0}
.nature-info .motion-heading{width:100%;align-items:center;text-align:center}
.nature-info .section-title{white-space:nowrap}
.nature-section .palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:400px;gap:28px 26px;margin:40px auto 0}
.nature-section .palette-card{grid-template-columns:42px 1fr;column-gap:12px;padding-top:22px}
.nature-window{display:flex;justify-content:center;align-items:flex-start;min-height:0;padding:0}
.nature-triptych{width:100%;max-width:539px;gap:13.2px}
.nature-panel:nth-child(2){margin-top:35.2px}.nature-panel:nth-child(3){margin-top:70.4px}
.nature-slide figcaption{min-height:110px;padding-top:20.9px}

.flow-heading{display:flex;align-items:center;gap:18px}
.flow-icon{display:block;width:64px;height:64px;flex:0 0 64px}
.flow-title{display:flex;flex-direction:column;justify-content:center;min-height:64px;gap:13px}
.flow-title span{line-height:1.4}.flow-title h3{font-size:22px;line-height:1.45;margin:0;font-weight:300}
.visit-flow>div>p{margin-top:18px}
.experience-title>.section-lede{justify-self:start;text-align:left}

@media(min-width:701px) and (max-width:1100px){
 .hero-inner{transform:none}.nature-composition{grid-template-columns:38% minmax(0,1fr);column-gap:5%}
 .nature-info .section-title{white-space:normal}.nature-triptych{width:100%;gap:11px}
 .nature-section .palette-grid{gap:24px 20px}.nature-section .palette-card{grid-template-columns:34px 1fr;column-gap:10px}
}
@media(max-width:700px){
 :root{--module-space:48px}
 .hero-inner{margin-top:0;gap:38px;transform:none}.hero-media{margin-top:0}
 .nature-composition{grid-template-columns:1fr;gap:36px}.nature-info{gap:0}.nature-info .section-title{white-space:normal}
 .nature-section .palette-grid{width:100%;max-width:400px;margin-top:30px;gap:26px 22px}
 .nature-triptych{width:99%;max-width:440px;gap:13.2px}
 .nature-panel:nth-child(2){margin-top:22px}.nature-panel:nth-child(3){margin-top:44px}
 .nature-slide figcaption{min-height:130px;padding-top:16.5px}
 .flow-icon{width:60px;height:60px;flex-basis:60px}.flow-title{min-height:60px}.flow-title h3{font-size:20px}
}

/* Shared left and right edges for each two-column module. */
:root{--two-column-gap:80px}
.hero{padding-left:max(40px,calc((100vw - 1180px)/2));padding-right:max(40px,calc((100vw - 1180px)/2))}
.hero-inner,.nature-composition{max-width:1180px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--two-column-gap);padding:0;margin:0 auto}
.hands-intro,.identity-section{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--two-column-gap)}
.hero-copy{justify-self:start;width:100%;max-width:340px}
.hero-media{justify-self:end;max-width:507.6px;width:100%}
.hero-copy .hero-subtitle{margin:24px 0 0;text-align:center}
.hero-copy .hero-caption{margin-top:22px}
.hands-intro .concept-caption{justify-self:start;width:100%;min-width:0}
.hands-intro .care-feature{justify-self:end;width:100%;min-width:0}
.nature-info{width:100%;max-width:400px;justify-self:start;align-items:stretch}
.nature-info .motion-heading{align-items:flex-start;text-align:left}
.nature-info .motion-heading>div{width:100%}
.nature-info .section-title,.nature-info .section-lede{text-align:left}
.nature-section .palette-grid{margin-left:0;margin-right:0}
.nature-window{justify-content:flex-end;justify-self:end;width:100%}
.identity-art{justify-self:start;width:100%}
.identity-copy{justify-self:end;width:100%;max-width:345px}
.experience-title{display:flex;flex-direction:column;align-items:flex-start}
.experience-title>.section-lede{align-self:flex-start;max-width:none;margin-top:18px;text-align:left}

/* A light single ring matches the complete number / title / description group. */
.flow-heading{--flow-icon-size:114px;display:grid;grid-template-columns:var(--flow-icon-size) minmax(0,1fr);align-items:start;gap:22px}
.flow-icon{width:var(--flow-icon-size);height:var(--flow-icon-size);max-width:none;align-self:start}
.flow-title{display:block;align-self:start;min-width:0;min-height:0;text-align:left}
.flow-title span{display:block;line-height:1.4}
.flow-title h3{margin:13px 0 0;line-height:1.45;text-align:left}
.flow-title p{margin:18px 0 0;font-size:13px;line-height:2;letter-spacing:0;text-align:left}

@media(max-width:900px){
 .visit-flow{grid-template-columns:1fr;gap:28px}
}
@media(min-width:701px) and (max-width:1100px){
 :root{--two-column-gap:48px}
 .hero-inner{padding:0}.hero-copy{max-width:290px}
 .nature-info{max-width:100%}.nature-info .section-title{white-space:normal}
 .flow-heading{gap:16px}.flow-title h3{font-size:20px}.flow-title p{font-size:12px;line-height:1.9}
}
@media(max-width:700px){
 .hero{padding-left:24px;padding-right:24px}
 .hero-inner,.nature-composition,.hands-intro,.identity-section{grid-template-columns:1fr}
 .hero-copy{max-width:none}.hero-media{width:90%;align-self:flex-end}
 .nature-info .motion-heading{align-items:flex-start;text-align:left}.nature-info{max-width:none}
 .identity-copy{max-width:none}.flow-heading{gap:16px}
 .flow-title h3{font-size:20px;margin-top:10px}.flow-title p{font-size:12px;line-height:1.9;margin-top:14px}
}

/* Retained compositions after the selective layout restore. */
:root{--white-band-height:420px;--composition-gap:64px}
.hands-intro,.experience{height:var(--white-band-height);min-height:var(--white-band-height)}
.hands-intro{grid-template-columns:48% minmax(0,1fr);column-gap:var(--composition-gap);align-items:center}
.hands-intro .concept-caption{grid-column:2;grid-row:1}
.hands-intro .care-feature{grid-column:1;grid-row:1}
.hands-intro .eyebrow{margin-bottom:16px}
.hands-intro .concept-description{margin-top:18px;line-height:1.95}
.hands-intro .technique-list{margin-top:20px}
.hands-intro .hands-signature{margin-top:20px}
.hands-image-window{position:relative;aspect-ratio:2.25;overflow:hidden}
.hands-image-window>.hands-photo{position:absolute;width:100%;left:0;top:50%;transform:translateY(-50%)}
.care-feature figcaption{margin-top:14px}
.nature-composition{grid-template-columns:400px minmax(0,1fr);column-gap:var(--composition-gap);align-items:center}
.nature-info{justify-content:flex-start;align-self:center;max-width:400px}
.nature-section .palette-grid{margin-top:32px;gap:24px 26px}
.nature-slide figcaption{min-height:0}
.identity-section{grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);column-gap:var(--composition-gap);align-items:center}
.identity-title{min-width:0;text-align:left}
.identity-title>.section-lede{margin-top:18px}
.identity-art{max-width:360px;justify-self:center}
.identity-copy{max-width:none;justify-self:end;min-width:0}
.identity-copy>p:first-child{margin-top:0}

@media(min-width:901px) and (max-width:1100px){
 :root{--white-band-height:460px;--composition-gap:40px}
 .hands-intro{grid-template-columns:44% minmax(0,1fr)}
 .nature-composition{grid-template-columns:36% minmax(0,1fr);column-gap:40px}
 .nature-info{max-width:none}
 .identity-section{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);column-gap:32px}
}
@media(max-width:900px){
 .hands-intro,.experience{height:auto;min-height:0}
 .hands-intro{grid-template-columns:1fr;row-gap:32px}
 .hands-intro .concept-caption{grid-column:1;grid-row:1}
 .hands-intro .care-feature{grid-column:1;grid-row:2}
 .hands-image-window{aspect-ratio:2.25}
 .nature-composition{grid-template-columns:40% minmax(0,1fr);column-gap:32px}
 .nature-info{max-width:none}
 .identity-section{grid-template-columns:1fr 1fr;gap:24px 40px}
 .identity-title{grid-column:2;grid-row:1;align-self:end}
 .identity-art{grid-column:1;grid-row:1 / span 2;align-self:center;max-width:330px}
 .identity-copy{grid-column:2;grid-row:2;align-self:start}
}
@media(max-width:700px){
 .hands-image-window{aspect-ratio:1.85}
 .nature-composition{grid-template-columns:1fr;gap:36px}
 .nature-section .palette-grid{margin-top:28px}
 .nature-info{max-width:none}
 .identity-section{grid-template-columns:1fr;row-gap:28px}
 .identity-title,.identity-art,.identity-copy{grid-column:1;grid-row:auto;align-self:auto}
 .identity-art{width:100%;max-width:330px;justify-self:center}
 .identity-copy>p:not(.eyebrow){max-width:none}
}

/* Full-viewport opening: unchanged copy stack beside the selected quiet lake. */
:root{scroll-behavior:auto;overscroll-behavior-y:none}
main#top{padding-bottom:0;background:#eeeee7}
.hero{position:relative;height:100svh;height:100dvh;min-height:0;max-height:none;padding:0;overflow:hidden;background:var(--paper)}
.hero-inner{display:grid;grid-template-columns:42% 58%;grid-template-rows:minmax(0,1fr);width:100%;max-width:none;height:100%;margin:0;padding:0;gap:0;align-items:center}
.hero-copy{position:relative;z-index:2;grid-column:1;grid-row:1;justify-self:center;align-self:center;width:calc(100% - 64px);max-width:340px;padding:0;transform:scale(var(--hero-copy-scale,1));transform-origin:center}
.hero-media{grid-column:2;grid-row:1;display:block;position:relative;justify-self:stretch;align-self:stretch;width:100%;height:100%;max-width:none;padding:0;margin:0}
.hero-photo{width:100%;height:100%;aspect-ratio:auto}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-photo-detail{position:absolute;left:-64px;bottom:160px;width:260px;padding:12px;background:var(--paper);box-shadow:0 12px 30px #111b1718;z-index:2}
.hero-photo-detail img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;object-position:center}
/* Decorative waves occupy their own clear space, never either photo. */
.brand-waves{display:block;pointer-events:none;mask-repeat:repeat-x;-webkit-mask-repeat:repeat-x}
.hero-waves{display:none;position:absolute;left:0;bottom:0;width:42%;height:136px;background:var(--muted);opacity:.26;z-index:1;mask:url('assets/brand-waves.svg?v=spa-42') left top/102.921412px 136px repeat-x;-webkit-mask:url('assets/brand-waves.svg?v=spa-42') left top/102.921412px 136px repeat-x}
.hero-waves-fit .hero-waves{display:block}
.identity-section{position:relative;display:block;padding-bottom:0;--identity-inset:max(40px,calc((100vw - 1180px)/2))}
.identity-content{display:grid;grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);column-gap:var(--composition-gap);align-items:center}
.identity-waves{position:relative;display:block;height:68.491976px;width:calc(100% + var(--identity-inset)*2);margin:var(--module-space) calc(0px - var(--identity-inset)) 0;background:var(--muted);opacity:.2;mask:url('assets/brand-waves-ending.svg?v=spa-42') left top/102.921412px 68.491976px repeat-x;-webkit-mask:url('assets/brand-waves-ending.svg?v=spa-42') left top/102.921412px 68.491976px repeat-x}
@media(min-width:901px) and (max-width:1100px){.identity-content{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);column-gap:32px}}
@media(max-width:900px){.identity-content{grid-template-columns:1fr 1fr;gap:24px 40px}}
@media(max-width:700px){.identity-section{--identity-inset:24px}.identity-content{grid-template-columns:1fr;row-gap:28px}.identity-waves{height:53.238271px;mask-size:80px 53.238271px;-webkit-mask-size:80px 53.238271px}}
@media(min-width:701px) and (max-width:1100px){
 .hero-copy{max-width:290px;width:calc(100% - 48px)}
 .hero-photo-detail{display:none}
}
@media(max-width:700px){
 .hero-inner{grid-template-columns:1fr;grid-template-rows:var(--hero-copy-row,60%) minmax(0,1fr);gap:0;margin:0;align-items:center}
 .hero-copy{grid-column:1;grid-row:1;width:calc(100% - 48px);max-width:none;padding:0}
 .hero-media{grid-column:1;grid-row:2;width:100%;height:100%;align-self:stretch}
 .hero-photo img{object-position:center center}
 .hero-photo-detail{display:none}
 .hero-waves-fit .hero-waves{display:none}
}

@media(max-height:650px){.hero-photo-detail{display:none}}



/* One main-title hierarchy, distinct from body copy and card headings. */
:root{--section-title-size:38px}
main#top h2,main .hero-subtitle{font-size:var(--section-title-size);font-weight:400;line-height:1.45;letter-spacing:.055em;color:#303a37}
.care-photo-window{position:relative;width:100%;overflow:hidden;aspect-ratio:3050/2030;height:var(--care-photo-height,auto)}
.care-project:first-child .care-photo-window{aspect-ratio:3055/2035}
.care-photo-window>.source-photo{position:absolute;width:100%;left:0;top:50%;transform:translateY(-50%)}
@media(min-width:701px){
 .care-section{--care-stagger:clamp(16px,calc((100dvh - 600px)*.16),50px)}
 .care-heading{margin-bottom:clamp(24px,calc(100dvh*.1 - 31px),55px)}
 .care-project:nth-child(2){margin-top:var(--care-stagger)}
 .care-project:nth-child(3){margin-top:calc(var(--care-stagger)*2)}
}
@media(max-width:700px){:root{--section-title-size:30px}}

/* Center the whole brand group in the paper area above the decorative waves. */
@font-face{font-family:'SPA Calligraphy';src:url('assets/ma-shan-zheng-cover-spa37.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.hero-copy{top:var(--hero-copy-offset-y,0px)}
main .hero-subtitle{font-family:'SPA Calligraphy',TTCommons,'KaiTi',serif;font-size:var(--section-title-size);font-weight:400;letter-spacing:.11em}

/* Reassign the removed English eyebrow's height to proportionally larger photos. */
.gallery-section{--gallery-size:calc(clamp(130px,17vw,245px) + 36px)}
@media(max-width:700px){.gallery-section{--gallery-size:172.2px}}

/* The supplied training photo and the body heading retain the current revision. */
.hot-stone-photo{aspect-ratio:3088/2042}
.hot-stone-photo img{width:155.4404%;left:-29.9223%;top:-19.5886%;filter:brightness(1.18)}
.care-project:first-child .care-photo-window{aspect-ratio:3088/2042}
.care-photo-window>.hot-stone-photo{top:75%;transform:translateY(-75%)}
.identity-copy>h3{margin:0 0 18px;font-size:24px;font-weight:400;line-height:1.5;letter-spacing:.08em;color:#303a37}
.identity-copy>h3+p{margin-top:0}
@media(max-width:700px){.identity-copy>h3{font-size:22px;margin-bottom:14px}}

/* The chosen boat photograph is the fixed opening cover. */
.hero-photo{position:relative}
.hero-photo>.hero-cover-photo{object-position:70% center}

/* A quiet location note sits in the opening's upper-right corner. */
@font-face{font-family:HealingSans;src:url('assets/noto-sans-sc-location-spa40.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+5DDE}
.hero-location{position:absolute;z-index:3;top:30px;right:36px;margin:0;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.12em;white-space:nowrap;color:#fff}
@media(max-width:700px){.hero-location{top:20px;right:24px;font-size:11px}}

/* Keep short landscape phones readable without shrinking a tall stacked cover. */
@media(max-width:700px) and (max-height:450px) and (orientation:landscape){
 .hero-inner{grid-template-columns:42% 58%;grid-template-rows:minmax(0,1fr)}
 .hero-copy{grid-column:1;grid-row:1;width:calc(100% - 32px)}
 .hero-media{grid-column:2;grid-row:1}
 .hero-main-brand .hero-main-symbol{width:52px;margin-bottom:10px}
 .hero-main-brand h1{font-size:22px}
 .hero-main-brand>small{font-size:8px;margin-top:8px}
 main .hero-subtitle{font-size:22px;margin-top:12px}
 .hero-copy .hero-caption{font-size:12px;line-height:1.7;margin-top:12px}
}
/* Balance long titles at narrow widths so a single final character is not orphaned. */
@media(max-width:900px){.section-title{text-wrap:balance}}

/* Restore the full-height boat cover and keep a playable photographic inset. */
.hero-media{display:block;background:var(--paper);min-height:0}
.hero-photo{min-height:0;overflow:hidden}
.hero-photo>.hero-cover-photo{height:100%;object-fit:cover;object-position:70% center}
.hero-waves,.hero-waves-fit .hero-waves{display:block;height:clamp(64px,15dvh,136px);mask-size:102.921412px 136px;-webkit-mask-size:102.921412px 136px}
.hero-photo-detail.hero-video-trigger{display:block;position:absolute;left:-64px;bottom:clamp(44px,16dvh,160px);width:clamp(190px,18vw,260px);margin:0;border:0;border-radius:0;padding:12px;background:var(--paper);line-height:0;color:var(--ink);z-index:3}
.hero-video-cover{display:block;position:relative;aspect-ratio:2.25;overflow:hidden;background:#e5dacc}
.hero-video-cover>.hands-photo{display:block;position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%)}
.hero-video-cover>.hands-photo>img{width:158.416%;height:auto;aspect-ratio:auto;max-width:none}
.hero-play-icon{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;background:#f5f4efed;box-shadow:0 2px 12px #0002}
.hero-play-icon svg{width:21px;height:21px;fill:currentColor;margin-left:3px}
.hero-video-trigger:hover .hero-play-icon{background:#fff}
.hero-video-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.hands-image-window.concept-landscape{aspect-ratio:2/1}
.concept-landscape>img{width:100%;height:100%;object-fit:contain;object-position:center}
.hands-intro .care-feature{position:relative;width:60%;justify-self:center;align-self:center}
@media(min-width:901px){.hands-intro .care-feature figcaption{position:absolute;top:100%;left:0;width:100%}}

/* Two complete slides occupy the same grid cell; the incoming one covers the base. */
.nature-panel{position:relative;isolation:isolate}
.nature-panel>.nature-slide{grid-area:1 / 1;align-self:stretch;background:var(--paper);opacity:1;z-index:1;transition:none}
.nature-panel>.nature-slide[aria-hidden="true"]{opacity:0;z-index:0}
.nature-slide figcaption{min-height:128px}

.video-modal-open{overflow:hidden;scrollbar-gutter:stable}
.healing-video-dialog{width:min(640px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:0;background:var(--paper);color:var(--ink);box-shadow:0 18px 80px #0005;overflow:auto;overscroll-behavior:contain}
.healing-video-dialog::backdrop{background:#171f1cb3}
.healing-video-dialog[open]{animation:healing-dialog-in 220ms cubic-bezier(.22,1,.36,1)}
.healing-video-dialog[open][data-instant="true"]{animation:none}
.healing-video-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 20px;gap:16px}
.healing-video-header h2{font-size:16px;line-height:1.5;letter-spacing:.18em;font-weight:400}
.healing-video-close{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:inherit;flex-shrink:0}
.healing-video-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.healing-video-player{display:block;width:100%;max-height:calc(100dvh - 100px);aspect-ratio:16/9;object-fit:contain;background:#111}
@keyframes healing-dialog-in{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media(min-width:701px) and (max-width:1100px){
 .hero-photo-detail.hero-video-trigger{left:-28px;width:190px;padding:9px;bottom:clamp(44px,16dvh,140px)}
}
@media(max-width:700px){
 .hero-waves,.hero-waves-fit .hero-waves{display:none}
 .hero-photo-detail.hero-video-trigger{left:16px;bottom:12px;width:148px;padding:7px}
 .hero-play-icon{width:44px;height:44px}
 .nature-slide figcaption{min-height:154px}
}
@media(max-width:700px) and (max-height:450px) and (orientation:landscape){
 .hero-waves,.hero-waves-fit .hero-waves{display:block;height:52px}
 .hero-photo-detail.hero-video-trigger{left:-14px;bottom:40px;width:118px;padding:5px}
 .hero-play-icon{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.healing-video-dialog[open]{animation:none}}

/* Keep the compositions compact; give 01 a larger photo and a little more space. */
@media(min-width:901px){
 .hands-intro{grid-template-columns:calc(min(1180px,100vw - 80px)*.288) minmax(0,400px);justify-content:center;column-gap:112px}
 .hands-intro .care-feature{width:100%}
 .nature-composition{max-width:1020px;column-gap:40px}
 .identity-content{max-width:1060px;margin:0 auto;column-gap:40px}
}
@media(min-width:901px) and (max-width:1100px){
 .hands-intro{grid-template-columns:calc((100vw - 80px)*.264) minmax(0,400px);column-gap:76px}
 .nature-composition,.identity-content{column-gap:28px}
}
@media(max-width:900px){
 .hands-intro{row-gap:28px}
 .nature-composition{column-gap:24px}
 .identity-content{gap:20px 28px}
}
@media(max-width:700px){
 .nature-composition{row-gap:28px}
 .identity-content{row-gap:22px}
}



/* Original three-character lockup with a compact middle separator. */
.hero-main-brand h1,.identity-paper > p { white-space: nowrap; }
.hero-main-brand h1 > .brand-name-dot,.brand-name-dot {
 display: inline; letter-spacing: 0; margin-left: -.20em; margin-right: .10em;
}
.brand-spa-letters { display: inline; letter-spacing: .02em; white-space: nowrap; }
#healing-video-title { white-space: nowrap; }

/* Equal compact spacing between the three parts of each logo. */
.hero-main-brand,.identity-paper { gap: 10px; }
.hero-main-brand .hero-main-symbol,.identity-paper .brand-symbol,
.hero-main-brand h1,.identity-paper > p,
.hero-main-brand > small,.identity-paper > small { margin: 0; }
.hero-main-brand h1,.identity-paper > p { line-height: 1.2; letter-spacing: .16em; white-space: nowrap; }
.hero-main-brand h1 > .brand-name-dot,.brand-name-dot { display: inline; letter-spacing: 0; margin-left: -.12em; margin-right: .04em; }
.hero-main-brand h1 > .brand-spa-letters,.brand-spa-letters { display: inline; letter-spacing: .02em; margin-left: 0; white-space: nowrap; }
@media(max-width:700px){.hero-main-brand,.identity-paper { gap: 8px; }}

/* Match the reference video-header title's tracking at every logo scale. */
.hero-main-brand h1,.identity-paper > p,#healing-video-title { letter-spacing: .18em; }



/* Once shown, module contents never hide again until a new page load. */
.motion-enabled .module-fade > .module-content{opacity:1;transition:none}
.motion-enabled .module-fade .module-reveal-item{opacity:0;transition:opacity 480ms ease-out;transition-delay:0ms}
.motion-enabled .module-fade.module-visible .module-reveal-item{opacity:1;transition-delay:var(--reveal-delay,0ms)}
.motion-enabled .module-fade [data-reveal]:not(.module-reveal-item){opacity:1;transform:none;transition:none}
.motion-enabled .hero > *{opacity:1;transition:none}
.hero-photo img{animation:none!important}
main#top > .module-fullscreen{
 height:auto;min-height:100dvh;box-sizing:border-box;
 display:flex;flex-direction:column;justify-content:center;align-items:stretch;
}
.module-content{width:100%;flex:none;transform-origin:center center}

@media(prefers-reduced-motion:reduce){
 .motion-enabled .module-fade .module-reveal-item{transition:none;transition-delay:0ms}
}

/* Preserve responsive grids after grouping their content for a uniform scale. */
.hands-intro > .module-content{grid-template-columns:calc(min(1180px,100vw - 80px)*.288) minmax(0,400px)!important;column-gap:112px!important;grid-template-rows:auto!important;justify-content:center}
@media(min-width:901px) and (max-width:1100px){
 .hands-intro > .module-content{grid-template-columns:calc((100vw - 80px)*.264) minmax(0,400px)!important;column-gap:76px!important}
}
@media(max-width:900px){
 .hands-intro > .module-content{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px!important}
}
@media(max-width:700px){
 .hands-intro > .module-content{grid-template-columns:minmax(0,1fr)!important;row-gap:28px!important}
 .hands-intro .concept-caption,.hands-intro .care-feature{grid-column:1;grid-row:auto}
}



/* Reserve a full screen for 03 while retaining its original content proportions. */
.experience.module-fade{height:auto;min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:stretch}

/* Only module entrances are disabled; gallery, nature pairs and controls retain motion. */
:root{scroll-behavior:auto}
.motion-enabled .module-fade .module-reveal-item{opacity:1;transition:none;transition-delay:0ms}
.motion-enabled [data-reveal]{opacity:1;transform:none;transition:none}

/* Fractional compositor offsets keep the continuous gallery drift smooth. */
.gallery-track{will-change:transform}
@media(prefers-reduced-motion:reduce){.gallery-track{will-change:auto}}

/* Quiet translucent clouds float on white; only the current pointer gently parts them. */
.hands-intro,.nature-section,.experience,.care-section,.gallery-section,.identity-section{position:relative;isolation:isolate}
.spa-ink-field{
 display:block;position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.50;
 mask-image:none;
 -webkit-mask-image:none;
}
.spa-ink-field[data-cloud-tone="light"]{opacity:.98}
main#top.spa-cloud-continuous{position:relative;isolation:isolate}
main#top.spa-cloud-continuous>section{background:transparent;isolation:auto}
.spa-ink-field.spa-cloud-page{position:fixed;inset:0;width:100%;height:100dvh;z-index:-2;opacity:1}
.nature-section,.care-section,.identity-section{background:#efebe3}
.nature-panel>.nature-slide{background:transparent}
.care-project{display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate;position:relative}
.care-project>.care-slide{grid-area:1 / 1;align-self:start;opacity:0;pointer-events:none}
.care-project>.care-slide:first-child{opacity:1;pointer-events:auto}
.care-photo-window>.care-supplied-photo{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(1.12)}

/* Move only the three visible treatment notes, preserving the composition's layout. */
.care-project-copy>span{position:relative;top:-8px}
/* A full gallery screen keeps the preceding treatment copy outside its resting view. */
.gallery-section.module-fade{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:stretch}
.care-project-copy .eyebrow{line-height:1.7}
.hero{isolation:isolate}
.spa-hero-cloud-region{position:absolute;left:0;top:0;width:42%;height:100%;z-index:0;isolation:isolate;pointer-events:none;background:#efebe3}
#top :is(h1,h2,h3,h4,p,span,small,figcaption,button,.hero-location,.technique-list,.palette-name,.palette-detail,.palette-code){text-shadow:0 0 calc(2 * var(--spa-glow-unit,1px)) #fff,0 0 calc(4 * var(--spa-glow-unit,1px)) #fffffff2,0 0 calc(8 * var(--spa-glow-unit,1px)) #ffffffe6,0 0 calc(18 * var(--spa-glow-unit,1px)) #ffffff80}
#top :is(.nature-image,.source-photo,.care-photo-window,.concept-landscape,.hero-photo,.hero-video-cover,.gallery-slide img,.identity-art){box-shadow:0 0 calc(10 * var(--spa-glow-unit,1px)) calc(2 * var(--spa-glow-unit,1px)) #ffffff99,0 0 calc(24 * var(--spa-glow-unit,1px)) calc(4 * var(--spa-glow-unit,1px)) #ffffff55}
#top :is(.hero-main-symbol,.brand-symbol,.flow-icon){filter:drop-shadow(0 0 calc(2 * var(--spa-glow-unit,1px)) #fff) drop-shadow(0 0 calc(8 * var(--spa-glow-unit,1px)) #ffffffe6)}
#top .identity-section .identity-art{box-shadow:none}
#top .identity-paper :is(p,span,small){text-shadow:0 0 calc(2 * var(--spa-glow-unit,1px)) #fff,0 0 calc(4 * var(--spa-glow-unit,1px)) #fffffff2,0 0 calc(8 * var(--spa-glow-unit,1px)) #ffffffe6,0 0 calc(18 * var(--spa-glow-unit,1px)) #ffffff80}
#top .identity-art .brand-symbol{filter:drop-shadow(0 0 calc(2 * var(--spa-glow-unit,1px)) #fff) drop-shadow(0 0 calc(8 * var(--spa-glow-unit,1px)) #ffffffe6)}
:is(.hands-intro,.experience,.gallery-section) :is(h2,h3,p,figcaption,.technique-list,.flow-title>span){
 text-shadow:0 0 calc(2 * var(--spa-glow-unit,1px)) #fff,0 0 calc(4 * var(--spa-glow-unit,1px)) #fffffff2,0 0 calc(9 * var(--spa-glow-unit,1px)) #fffffff2,0 0 calc(20 * var(--spa-glow-unit,1px)) #ffffffb3;
}
:is(.hands-intro,.experience,.gallery-section) :is(h2,h3){color:#303a37;font-weight:400}
.hands-intro :is(.concept-description,.hands-signature,.technique-list),.experience :is(.flow-title p,.section-lede){color:#59635b;font-weight:350}
.hands-intro .care-feature figcaption,.gallery-section .gallery-slide figcaption{color:#59635b;font-weight:350}
.spa-ink-cursor{position:fixed;left:-4px;top:-4px;width:8px;height:8px;border:1px solid #343c3880;border-radius:50%;background:transparent!important;box-shadow:none;z-index:45;pointer-events:none;opacity:0}
.spa-ink-cursor[data-visible="true"]{opacity:1}
@media(hover:hover) and (pointer:fine){
 .spa-round-cursor,.spa-round-cursor *{cursor:none!important}
 .spa-round-cursor .healing-video-dialog,.spa-round-cursor .healing-video-dialog *{cursor:auto!important}
 .gallery-pointer{display:block}
 .spa-round-cursor:has(.gallery-pointer.visible) .spa-ink-cursor{opacity:0}
}
.hero-photo>.hero-cover-photo{object-position:center 36%;filter:saturate(.9) brightness(.9)}
.hero-photo>.hero-cover-photo{position:absolute;inset:0;object-position:center;filter:none}
.hero-image-switch{position:absolute;right:26px;bottom:26px;z-index:5;display:flex;align-items:center;gap:16px;min-height:44px;padding:10px 16px;border:1px solid #ffffff99;border-radius:24px;background:#f5f4efde;color:#343c38;font-size:12px;letter-spacing:.04em;backdrop-filter:blur(8px)}
.hero-image-switch:hover{background:#fff}
.hero-image-switch:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-image-count{font:12px TTCommons,sans-serif;letter-spacing:.04em}
.hero-media:is([data-scene="1"],[data-scene="3"]) .hero-location{color:#4c6269;text-shadow:0 0 8px #ffffffb3}
.hero-photo::after{content:'';position:absolute;inset:0;z-index:20;pointer-events:none;backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px);mask-image:linear-gradient(to bottom,#000,transparent 32%,transparent 66%,#000);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 32%,transparent 66%,#000);opacity:0;transition:opacity 420ms ease-in-out}
.hero-media[data-scene="0"] .hero-photo::after{opacity:1}
@media(max-width:700px){
 .spa-hero-cloud-region{width:100%;height:var(--hero-copy-row,60%)}
 .spa-ink-field{opacity:.48}
 .hero-photo>.hero-cover-photo{object-position:center 32%}
 .hero-photo>.hero-cover-photo{object-position:center}
 .hero-image-switch{right:12px;bottom:12px;gap:10px;padding:9px 12px;font-size:11px}
}

/* Presentation gestures do not select copy or start native image dragging. */
main#top,main#top *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
main#top img{-webkit-user-drag:none;user-drag:none}
main#top :is(input,textarea,[contenteditable="true"]){-webkit-user-select:text;user-select:text}
#about .module-content{position:relative;z-index:1}
#top>.click-ripple-surface{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.click-ripple-surface i{position:absolute;border:0;border-radius:50%;background:radial-gradient(ellipse closest-side,transparent 88%,#b9c1b200 90%,#a6b09e 94%,#f5f6ed 96%,#a6b09e00 100%);box-shadow:none;opacity:0;transform:translate(-50%,-50%) scale(.12);animation:click-water-ring 5.5s cubic-bezier(.18,.48,.35,1) both}
@keyframes click-water-ring{0%{transform:translate(-50%,-50%) scale(.12);filter:blur(.6px) drop-shadow(0 0 9px #faffed70);opacity:0}6%,24%{opacity:.2}45%{filter:blur(1.2px) drop-shadow(0 0 9px #faffed70)}76%{opacity:0}100%{transform:translate(-50%,-50%) scale(1.12);filter:blur(4.5px) drop-shadow(0 0 9px #faffed00);opacity:0}}
@media(prefers-reduced-motion:reduce){.click-ripple-surface i{animation:click-water-fade 1.2s ease-out both;transform:translate(-50%,-50%) scale(.5);filter:blur(.6px) drop-shadow(0 0 9px #faffed70)}@keyframes click-water-fade{0%,100%{opacity:0}25%{opacity:.2}}}

/* Keep each mark mask on a child so its outer glow is not clipped. */
#top .brand-symbol{position:relative;background:none;-webkit-mask:none;mask:none;overflow:visible}
#top .brand-symbol::before{content:"";display:block;position:absolute;inset:0;background:currentColor;-webkit-mask:url("assets/phantom-footprint.png") center top/252.3% auto no-repeat;mask:url("assets/phantom-footprint.png") center top/252.3% auto no-repeat}
#top .hero-location img{filter:drop-shadow(0 0 calc(2 * var(--spa-glow-unit,1px)) #fff) drop-shadow(0 0 calc(8 * var(--spa-glow-unit,1px)) #ffffffe6)}

/* Match the shell photograph to the other muted treatment images. */
.care-photo-window>.care-shell-photo{filter:brightness(.92) saturate(.62) contrast(.94);object-position:43% center}
