:root{--ink:#243d35;--muted:#536b60;--paper:#f8f7f1;--ivory:#eeefe6;--sea:#dce8de;--line:#314b352a;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"YuMincho","Hiragino Mincho ProN",serif;--jp:"YuMincho","Yu Mincho","Hiragino Mincho ProN",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:var(--ink);background:var(--paper);font:16px/1.8 var(--sans)}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #376c57;outline-offset:5px}::selection{background:#b2d2c1;color:#1e352d}
.shell{width:min(100% - 112px,1280px);margin-inline:auto}.eyebrow{font-size:.66rem;font-weight:620;letter-spacing:.23em;text-transform:uppercase;line-height:1.5}.muted{color:var(--muted)}.fine{font-size:.76rem;line-height:1.7}.section{padding-block:92px}.section-label{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-label::before{content:"";width:24px;height:1px;background:currentColor}.title{font:400 clamp(2.8rem,6vw,5.3rem)/.99 var(--serif);letter-spacing:-.055em}.jp-title{font:400 clamp(1.6rem,3vw,2.5rem)/1.5 var(--jp);letter-spacing:.07em}.prose{color:var(--muted);font-size:.91rem;line-height:2.05}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:2px;padding:11px 19px;border:1px solid #294a3c;background:#294a3c;color:#fcfdf6;font-size:.77rem;font-weight:640;line-height:1.45;white-space:nowrap}.button:hover{background:#416452;border-color:#416452}.button.outline{background:transparent;color:var(--ink);border-color:#59706688}.button.outline:hover{background:#e2ece0}.arrow{font-size:1rem;line-height:1}.text-link{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid #5e766a90;padding-bottom:3px;font-size:.8rem}.text-link:hover{color:#426f55;border-color:currentColor}
header{position:relative;z-index:3;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.brand{width:max-content;display:inline-flex;align-items:center;gap:11px}.brand svg{width:30px;height:30px}.brand-text{font:400 1.65rem/1 var(--serif);letter-spacing:.13em}.main-nav{display:flex;gap:clamp(18px,3.5vw,52px);align-items:center}.main-nav a{font-size:.75rem;letter-spacing:.085em;white-space:nowrap;padding-block:10px;position:relative}.main-nav a[aria-current]::after,.main-nav a:hover::after{position:absolute;bottom:3px;inset-inline:0;content:"";height:1px;background:currentColor}.main-nav .mobile-contact{display:none}.contact-link{justify-self:end;border:1px solid var(--line);padding:8px 16px;font-size:.72rem;letter-spacing:.06em;white-space:nowrap}.contact-link:hover,.contact-link[aria-current]{background:var(--sea)}.menu-toggle{display:none}
.stage{position:relative;isolation:isolate;background:#c6d8ce;overflow:hidden;overflow:clip}.media,.media canvas,.shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.media{z-index:-2;background-position:center;background-size:cover}.media canvas:not([hidden]){display:block}.shade{z-index:-1}.home-hero{min-height:clamp(590px,calc(100svh - 115px),810px);display:grid;align-items:center}.home-hero .media{background-color:#ccded4;background-image:url("hero.webp")}.home-hero .shade{background:linear-gradient(90deg,#edf0e7ee 0%,#edf1e8b0 34%,#edf1e815 64%,transparent 83%)}.hero-copy{padding-block:70px 107px}.hero-copy .eyebrow{margin-bottom:19px}.hero-title{font:400 clamp(4.1rem,9.6vw,9rem)/.89 var(--serif);letter-spacing:-.077em}.hero-title em{font-weight:400;color:#3a6656}.hero-jp{font:400 clamp(1.02rem,2.1vw,1.68rem)/1.5 var(--jp);letter-spacing:.11em;margin:24px 0 11px}.hero-description{font-size:.86rem;line-height:1.85;color:#3d564b;max-width:28rem;margin-bottom:25px}.wave-footer{position:absolute;inset-inline:0;bottom:18px;display:flex;justify-content:flex-end;align-items:center;gap:12px}.wave-footer button{min-height:38px;padding:4px 10px;font-size:.68rem;background:#f7faf1d9;color:#27483b;border:1px solid #294a3c45;border-radius:30px;white-space:nowrap}.wave-footer button:disabled{display:none}.wave-footer button:hover{background:#fff}.wave-note{font-size:.68rem;color:#2e5144;background:#f7faf1d9;padding:4px 9px;border-radius:25px}.wave-text{display:block}[data-wave]{position:relative;display:inline-block;max-width:100%}.refraction-layer{position:absolute;display:block;pointer-events:none}.refraction-layer[hidden]{display:none}.refracting>.wave-text,.refracting>:is(button,a){opacity:0}
[data-wave-button]>:is(button,a){position:relative}
[data-wave-button]>:is(button,a)::after{content:"";position:absolute;inset:-8px;border-radius:inherit}
[data-wave-button].refracting:has(>:focus-visible){outline:2px solid #376c57;outline-offset:5px;border-radius:3px}.button .wave-text{display:inline-flex;gap:20px;align-items:center}
.band{border-block:1px solid var(--line);background:#ecf0e5}.band .shell{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#3e594c}.band .eyebrow{font-size:.59rem}.band .band-jp{font:400 .77rem/1.5 var(--jp);letter-spacing:.12em}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:35px}.section-heading .jp-caption{margin-top:12px;font-size:.83rem;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{display:block;border-bottom:1px solid var(--line);padding-bottom:18px}.product-card:focus-visible{outline-offset:3px}.product-image{display:grid;place-items:center;position:relative;overflow:hidden;aspect-ratio:5/5.6;background:var(--sea)}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product-card:hover img{transform:scale(1.04)}.product-info{display:grid;grid-template-columns:1fr auto;gap:3px 15px;align-items:center;padding-top:14px}.product-info .eyebrow{color:var(--muted)}.product-info h3{font:400 clamp(1.35rem,2.4vw,2.1rem)/1.1 var(--serif);letter-spacing:-.025em}.product-info .arrow{grid-column:2;grid-row:2}.product-info p{font-size:.77rem;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,110px);align-items:center}.split-photo{width:100%;aspect-ratio:5/5.2;object-fit:cover;background:#dce5d9}.editorial{background:#e9eee4}.editorial .prose{margin:18px 0 23px;max-width:35em}.photo-caption{font-size:.69rem;color:var(--muted);margin-top:9px;letter-spacing:.08em}
.masthead{min-height:360px;display:grid;align-items:center}.masthead .media{background-image:url("water-light.webp");background-color:#d6e4db}.masthead .shade{background:linear-gradient(90deg,#edf1e9f0,#edf1e980 55%,#e4eee62e)}.masthead .shell:not(.wave-footer){padding-block:60px 88px}.masthead .eyebrow{margin-bottom:14px}.masthead .prose{margin-top:15px;max-width:38em;color:#344e44}
.product-detail{scroll-margin-top:25px;border-top:1px solid var(--line);padding-block:42px}.product-detail:last-child{border-bottom:1px solid var(--line)}.detail-image{aspect-ratio:1.25;object-position:center 56%}.detail-copy h2,.step h2{margin:12px 0 14px}.specs{display:grid;gap:0;margin:24px 0 0;max-width:30rem}.specs div{display:grid;grid-template-columns:5.5em 1fr;gap:14px;border-top:1px solid var(--line);padding:9px 0;font-size:.82rem}.specs dt{font-weight:650}.specs dd{margin:0;color:var(--muted)}.subsection{margin-top:38px}.story-quote{padding:35px 0 35px clamp(24px,5vw,75px);border-left:1px solid var(--line);margin:0}.story-quote .jp-title{max-width:21em}.story-quote .prose{margin-top:15px}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 0}.step{background:#e9eee5;padding:23px}.step img{width:100%;height:210px;object-fit:cover;margin:17px 0}.step .text-link{margin-top:16px}.tip{border:1px solid var(--line);padding:24px;margin-top:36px}.tip p{margin-top:7px}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,8vw,115px);align-items:start}.contact-grid .prose{margin:12px 0}.contact-grid details{border-top:1px solid var(--line);padding:11px 0}.contact-grid details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:.87rem}.form{display:grid;gap:17px;padding:clamp(17px,4vw,34px);background:#e9eee4}.form label{font-size:.82rem;font-weight:650;display:grid;gap:5px}.form :is(input,textarea,select){border:1px solid #55736756;border-radius:2px;padding:9px 10px;background:#fcfdf8;width:100%;font-weight:400}.form textarea{resize:vertical;min-height:110px}.form .button{justify-self:start}.form-preview{background:#f9fcf4;border:1px solid var(--line);padding:16px;overflow-wrap:anywhere}.form-preview pre{white-space:pre-wrap;font:inherit;font-size:.78rem}
footer{border-top:1px solid var(--line);background:#e8ede4;padding:43px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:22px;align-items:start;padding-bottom:28px}.footer-top .prose{margin-top:9px;font-size:.8rem}.footer-nav{display:flex;gap:17px;flex-wrap:wrap;font-size:.78rem}.footer-nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.68rem}
@media(max-width:840px){.shell{width:calc(100% - 64px)}.section{padding-block:65px}.header-inner{gap:16px}.main-nav{gap:20px}.grid{gap:14px}.ritual-grid{gap:12px}.step{padding:15px}.step img{height:160px}}
@media(max-width:620px){.shell{width:calc(100% - 36px)}.header-inner{display:flex;justify-content:space-between;min-height:62px}.brand-text{font-size:1.45rem}.brand svg{width:25px;height:25px}.contact-link{display:none}.menu-toggle{display:inline-flex;align-items:center;min-height:44px;gap:9px;padding:3px 9px;border:1px solid var(--line);background:transparent;font-size:.73rem}.main-nav{display:none;position:absolute;inset-inline:0;top:100%;padding:13px 18px 19px;background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px 15px}.main-nav[data-open]{display:grid}.main-nav a{padding:8px 4px}.main-nav .mobile-contact{display:block}.home-hero{min-height:clamp(600px,90svh,720px);align-items:start}.home-hero .media{background-position:82% center}.home-hero .shade{background:linear-gradient(180deg,#edf1e9ee,#edf1e9c7 44%,#edf1e933 69%,#e0ede328 88%)}.hero-copy{padding-block:49px 65px}.hero-title{font-size:clamp(4rem,16vw,6rem)}.hero-jp{margin:18px 0 9px}.hero-description{font-size:.8rem;margin-bottom:18px;max-width:25em}.wave-note{display:none}.wave-footer{bottom:12px}.band .shell{min-height:40px}.band .eyebrow{letter-spacing:.13em}.band .band-jp{font-size:.63rem}.section{padding-block:51px}.section-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:23px}.grid{gap:10px}.product-image{aspect-ratio:4/5.7}.product-info{gap:4px;padding-top:9px}.product-info h3{font-size:clamp(1.08rem,4.4vw,1.46rem)}.product-info p,.product-info .eyebrow{font-size:.63rem}.product-info .arrow{display:none}.split,.ritual-grid,.contact-grid{grid-template-columns:1fr;gap:23px}.step img{height:210px}.masthead{min-height:284px}.masthead .shell:not(.wave-footer){padding-block:49px 72px}.product-detail{padding-block:29px}.footer-top,.footer-bottom{flex-direction:column}.footer-top{gap:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.product-image{aspect-ratio:3/4.4}
.detail-image{aspect-ratio:5/4;max-height:470px;object-fit:contain}
.step img{height:auto;aspect-ratio:5/4;object-fit:contain;background:#dae5d9}
.product-image img{object-position:50% 65%}
.product-info .eyebrow,.product-info h3,.product-info p{grid-column:1}
.product-info .eyebrow{grid-row:1}.product-info h3{grid-row:2}.product-info p{grid-row:3}

#page-water{position:fixed;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.page-wave-text{position:relative;display:inline-block;max-width:100%;vertical-align:baseline}
.wave-image-target{position:relative;display:block;min-width:0;overflow:clip}
.product-image img{transition:none}
.product-card:hover img{transform:none}
.form>.page-wave-button{justify-self:start}
.header-inner>.page-wave-button{display:none}
@media(max-width:620px){.header-inner>.page-wave-button{display:inline-block}}
@media(max-width:620px){.wave-note{display:block}}
body{overflow-x:clip}
