:root{--cream:#f5f3eb;--green:#243e34;--ink:#293b33;--muted:#62695e;--line:#d6d8ca;--serif:'Cormorant Garamond','Noto Serif JP',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9c6b3d;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}button{border:0}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:30px;border-bottom:1px solid var(--line)}.logo{font:500 46px/.9 var(--serif);letter-spacing:-2px;display:inline-flex;flex-direction:column}.logo span{font:9px/1.5 sans-serif;letter-spacing:4px;margin:10px 0 0 4px}nav{display:flex;gap:36px;font-size:12px}nav a:hover,.text-link:hover{color:#996537}.header-actions{display:flex;align-items:center;gap:30px}.languages{display:flex;gap:12px;font-size:11px;letter-spacing:1px}.languages a[aria-current]{border-bottom:1px solid}.languages span{color:#92978b}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;background:var(--green);color:white;padding:16px 30px;min-height:50px;font-size:13px}.button:hover{background:#395847}.button.small{padding:12px 22px;gap:24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:710px}.hero-copy{padding:78px 8% 35px 11%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font:10px/1.7 sans-serif;letter-spacing:2.3px}.hero h1{font-size:clamp(40px,4.6vw,72px);line-height:1.65;letter-spacing:.03em;margin:36px 0 28px}.intro{font-size:13px;line-height:2.3;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:36px;border-bottom:1px solid;padding:12px 0;background:transparent;color:var(--ink);font-size:12px}.hero .text-link{margin-top:30px}.hero-index{font:9px sans-serif;letter-spacing:2px;color:#727969;margin-top:auto;padding-top:45px}.hero-art{position:relative;overflow:hidden;background:#d3d4bc;margin:22px 22px 22px 0;min-height:650px}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-art figcaption{position:absolute;bottom:18px;left:24px;font-size:9px;color:#fff;background:#243e3480;padding:3px 9px;letter-spacing:.5px}.art-stamp{position:absolute;top:32px;right:30px;font:11px/1.8 sans-serif;letter-spacing:3px;color:var(--green)}.facts{display:flex;justify-content:center;gap:8%;border-block:1px solid var(--line);padding:23px 5%;font-size:11px}.facts i{font-style:normal;color:#8c915d;margin-right:12px}.section{padding:100px 8%;scroll-margin-top:25px}.experience{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:115px;padding-bottom:115px}h2{font-size:clamp(28px,3vw,46px);line-height:1.65;letter-spacing:.025em;margin-top:18px}.experience-copy{padding-top:0;color:var(--muted);font-size:13px;line-height:2.3}.botanic{display:block;font:62px var(--serif);color:#858d6b;margin-bottom:12px}.signature{font:italic 24px var(--serif);margin-top:26px;color:#777f65}.menus{background:#e9ecdf}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:44px}.section-heading>p{max-width:300px;font-size:12px;color:var(--muted)}.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.treatment{border-top:1px solid #a9b198;padding:24px 0 12px;display:flex;flex-direction:column}.number{font:italic 42px var(--serif);color:#808e72;margin-bottom:32px}.treatment .eyebrow{font-size:9px;letter-spacing:1.6px}.treatment h3{font-size:24px;margin:14px 0}.treatment>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:2;max-width:94%;min-height:80px}.price{display:flex;justify-content:space-between;align-items:baseline;margin-top:auto;padding:28px 0 12px;border-bottom:1px solid #c3cab6}.price strong{font:30px var(--serif)}.price span{font-size:12px}.treatment .text-link{align-self:flex-start;border:0;margin-top:12px}.fine{font-size:10px;color:var(--muted);margin-top:30px;line-height:1.8}.flow h2{margin-bottom:45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px}.step{font:italic 24px var(--serif);color:#889273;display:block;margin-bottom:20px}.steps h3{font-size:20px;margin-bottom:16px}.steps p{font-size:12px;color:var(--muted);line-height:2.1}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;border-block:1px solid var(--line);padding-top:70px;padding-bottom:70px}.faq h2{font-size:32px}details{border-bottom:1px solid var(--line)}summary{padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:13px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:20px;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);padding-bottom:20px}.access{display:grid;grid-template-columns:1fr 1fr;gap:8%}.location-art{position:relative;min-height:450px;background:#e4e7d8;padding:35px;overflow:hidden;border:1px solid #d6dccb}.location-art:before{content:'';position:absolute;width:120%;height:65px;background:#f7f6f0;left:-20px;top:45%;transform:rotate(-28deg)}.location-name{display:block;font:italic 72px var(--serif);position:relative;margin-top:14px}.station{position:absolute;top:230px;left:25px;font:10px/1.7 sans-serif;letter-spacing:1px;background:var(--cream);padding:12px;z-index:1}.station>span{border:1px solid #879575;padding:4px;margin-right:8px}.station small{display:block;margin-top:9px;font-size:8px}.route-line{position:absolute;top:53%;left:42%;width:25%;height:22%;border-right:2px dashed #8e9879;border-bottom:2px dashed #8e9879;transform:rotate(180deg)}.map-lakka{position:absolute;right:28px;bottom:85px;font:28px var(--serif)}.map-lakka small{display:block;font:8px/2 sans-serif;letter-spacing:2px}.location-art>p{position:absolute;bottom:20px;left:30px;font-size:9px;color:var(--muted)}.access h2{font-size:32px;margin-bottom:24px}address{font-style:normal;font-size:13px;line-height:2}.access-copy>p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:20px}.hours{font-size:11px;margin:24px 0}.closing{text-align:center;background:var(--green);color:var(--cream);padding:80px 20px 65px}.closing .eyebrow{color:#c6cfb5}.closing h2{font-size:44px;margin:22px 0 30px}.button.light{background:var(--cream);color:var(--green);min-width:225px}.button.light:hover{background:#e2e6d5}.closing .fine{color:#c6cfb5;margin-top:14px}footer{padding:45px 6%;display:flex;align-items:center;gap:40px}footer .logo{font-size:36px}footer p{font-size:9px;letter-spacing:1px}footer .languages{margin-left:auto}footer small{font-size:10px}dialog{border:1px solid var(--line);background:var(--cream);color:var(--ink);padding:52px 38px 35px;width:min(500px,90vw);max-height:90vh}dialog::backdrop{background:#10241ee0}dialog h2{font-size:27px;line-height:1.5;margin:22px 0}dialog p{font-size:13px}dialog .button{display:block;margin-top:26px;min-width:130px}dialog .text-link{margin-top:12px}.dialog-close{position:absolute;right:15px;top:10px;background:transparent;color:var(--ink);font-size:30px;width:40px;height:40px}.skip{position:fixed;left:15px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:15px}html[lang=en] h1{font-size:clamp(55px,6.2vw,94px);line-height:1.06;letter-spacing:-.035em;margin:45px 0 32px}html[lang=en] h2{line-height:1.15;letter-spacing:-.025em}html[lang=en] .intro{line-height:1.95}html[lang=en] .treatment h3{font-size:29px}html[lang=en] .steps h3{font-size:25px}html[lang=en] .experience-copy{padding-top:0}html[lang=en] .closing h2{font-size:60px} @media(min-width:1500px){body{max-width:1700px;margin:auto}.hero{min-height:780px}} @media(max-width:1000px){header{padding:0 4%;gap:15px}nav{gap:20px}.header-actions{gap:18px}.section{padding:75px 6%}.hero-copy{padding-top:55px}.hero h1{font-size:42px}.hero-art{min-height:600px}.hero{min-height:645px}.eyebrow{font-size:9px;letter-spacing:1.5px}.steps{gap:30px}.faq{gap:35px}.treatment-grid{gap:22px}.treatment h3{font-size:20px}.facts{gap:5%}.access{gap:35px}.section-heading{align-items:start}.location-name{font-size:60px}.access h2{font-size:28px}} @media(max-width:700px){header{height:82px;padding:0 6%}.logo{font-size:38px}.logo span{font-size:8px;margin-top:6px}nav{display:none}.header-actions{gap:18px}.button.small{font-size:11px;padding:10px 15px;gap:13px;min-height:40px}.languages{gap:8px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7% 30px}.hero h1{font-size:43px;line-height:1.6;margin-top:27px;margin-bottom:22px}.intro{font-size:12px}.hero .text-link{margin-top:17px}.hero-index{display:none}.hero-art{margin:0 5% 22px;min-height:0;height:410px}.hero-art img{object-position:center 57%}.hero-art figcaption{left:15px;font-size:8px;bottom:12px}.art-stamp{font-size:9px;top:23px;right:23px}.facts{padding:18px 5%;gap:9px;justify-content:space-around;flex-wrap:wrap;font-size:9px}.facts i{margin-right:5px}.section{padding:64px 7%}.experience{grid-template-columns:1fr;gap:25px}.experience h2{font-size:31px}.experience-copy{font-size:12px}.botanic{display:none}.signature{font-size:23px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:100%;margin-top:20px}.menus h2{font-size:28px}.treatment-grid{grid-template-columns:1fr;gap:25px}.treatment{position:relative;padding-left:0}.number{position:absolute;right:2px;top:17px;font-size:36px}.treatment .eyebrow{padding-right:45px}.treatment h3{font-size:25px}.treatment>p:not(.eyebrow){min-height:0;max-width:95%}.price{padding-top:20px}.treatment .text-link{margin-top:6px}.steps{grid-template-columns:1fr;gap:30px}.flow h2{font-size:29px;margin-bottom:30px}.steps article{padding-left:45px;position:relative}.step{position:absolute;left:0;top:0}.steps h3{margin-bottom:10px}.faq{grid-template-columns:1fr;gap:25px}.faq h2{font-size:29px}.access{grid-template-columns:1fr;gap:38px}.location-art{min-height:360px;order:2}.location-art .station{top:190px}.map-lakka{bottom:70px}.access h2{font-size:30px}.closing{padding:60px 7%}.closing h2{font-size:32px}footer{padding:35px 7%;gap:25px;flex-wrap:wrap}footer p{width:calc(100% - 130px);font-size:8px}footer .languages{margin-left:0}footer small{margin-left:auto}html[lang=en] h1{font-size:66px;margin:30px 0 24px}html[lang=en] h2{font-size:36px}html[lang=en] .closing h2{font-size:48px}html[lang=en] .facts{font-size:9px}html[lang=en] .intro{font-size:12px}dialog{padding:48px 25px 30px}} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}} .location-map{min-width:0;min-height:450px;border:1px solid var(--line);background:#e4e7d8}.location-map iframe{display:block;width:100%;height:100%;min-height:450px;border:0}@media(max-width:700px){.location-map{order:2;min-height:360px}.location-map iframe{height:360px;min-height:360px}} .hero-art img{object-position:42% center}.treatment-photo{display:block;width:100%;height:220px;object-fit:cover;margin-bottom:24px}.treatment .number{margin-bottom:18px}.salon-gallery{padding-bottom:0}.salon-photos{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}.salon-photos img{display:block;width:100%;height:420px;object-fit:cover}.salon-photos figure:nth-child(2){padding-top:65px}.salon-photos figcaption{font-size:11px;color:var(--muted);padding-top:12px}@media(max-width:700px){.hero-art img{object-position:center}.treatment-photo{height:240px}.treatment .number{position:static;margin-bottom:14px}.salon-photos{grid-template-columns:1fr;gap:25px}.salon-photos img{height:300px}.salon-photos figure:nth-child(2){padding-top:0}.salon-photos figure:nth-child(2) img{height:360px}} body{font-size:17px;line-height:1.9} p,address,summary{line-break:strict;overflow-wrap:break-word} h1,h2,h3{text-wrap:balance;line-break:strict} .heading-line{display:inline-block} .hero h1{font-size:clamp(34px,4.25vw,68px);line-height:1.5} html[lang=en] h1{font-size:clamp(46px,5.8vw,88px);line-height:1.12} nav{font-size:15px;gap:28px}.languages{font-size:14px}.button,.text-link{font-size:16px} .eyebrow,.treatment .eyebrow{font-size:12px;letter-spacing:1.5px} .intro,.experience-copy{font-size:18px;line-height:2} .section-heading>p{font-size:16px;max-width:360px} .treatment>p:not(.eyebrow),.steps p,details p,.access-copy>p:not(.eyebrow){font-size:17px;line-height:1.9;max-width:100%} .treatment h3,.steps h3{font-size:27px;line-height:1.5} html[lang=en] .treatment h3,html[lang=en] .steps h3{font-size:30px;line-height:1.2} summary,address{font-size:17px}.hours,.price span,.facts{font-size:16px} .fine,.salon-photos figcaption,.hero-art figcaption{font-size:13px} footer p,footer small{font-size:13px} dialog p{font-size:17px} .access h2,.faq h2{font-size:clamp(30px,2.8vw,42px)} .hero-copy,.access-copy,.experience>div,.section-heading>div,.treatment,.steps article{min-width:0} .section-heading{align-items:start;gap:32px} .experience-copy br,.intro br{display:none} .experience-copy p,.intro{max-width:34em} @media(min-width:901px){.hero-copy{padding-left:9%;padding-right:7%}.hero{min-height:760px}.hero-art{min-height:700px}} @media(max-width:1100px){nav{display:none}.treatment-grid{gap:22px}.steps{gap:30px}.section-heading{display:block}.section-heading>p{max-width:40em;margin-top:20px}} @media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7% 36px}.hero h1{font-size:clamp(30px,6.5vw,56px)}html[lang=en] h1{font-size:clamp(44px,9vw,76px)}.hero-art{height:460px;min-height:0;margin:0 5% 24px}.hero-index{display:none}.experience,.faq,.access{grid-template-columns:1fr;gap:32px}.treatment-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:32px}.treatment-photo{height:320px}.location-map{order:2}.facts{flex-wrap:wrap;gap:16px 28px}.section{padding:64px 7%}.salon-gallery{padding-bottom:0}.salon-photos{grid-template-columns:1fr 1fr;gap:22px}.salon-photos img{height:320px}.salon-photos figure:nth-child(2){padding-top:35px}} @media(max-width:700px){body{font-size:16px}.intro,.experience-copy,.treatment>p:not(.eyebrow),.steps p,details p,.access-copy>p:not(.eyebrow),summary,address{font-size:16px}.hero h1{font-size:clamp(28px,7.8vw,43px);line-height:1.5;letter-spacing:0}html[lang=en] h1{font-size:clamp(42px,11vw,66px)}.hero-art{height:360px}.facts{font-size:14px}.button.small{font-size:14px;gap:12px}.header-actions{gap:14px}.languages{font-size:13px}.eyebrow,.treatment .eyebrow{font-size:11px}.treatment h3,.steps h3{font-size:26px}.fine,.hero-art figcaption,.salon-photos figcaption{font-size:12px}.hours,.price span{font-size:15px}.salon-photos{grid-template-columns:1fr}.salon-photos figure:nth-child(2){padding-top:0}.closing h2{font-size:clamp(28px,7.5vw,38px)}html[lang=en] .closing h2{font-size:clamp(38px,10vw,48px)}footer p{font-size:12px;width:100%}footer small{font-size:12px}} .intro-line{display:block;text-wrap:pretty} .hero-art figcaption{background:rgba(20,35,27,.82);padding:4px 8px;border-radius:2px}.number,.step{color:var(--muted)}

.service-page{max-width:1040px;margin:auto}.service-page>nav{display:flex!important;flex-wrap:wrap;margin-bottom:32px}.service-page h1,html[lang=en] .service-page h1{font-size:clamp(30px,5vw,52px);line-height:1.4;margin:24px 0}.service-page h2{font-size:clamp(24px,3vw,32px);margin:0 0 20px}.service-page section{margin-top:48px}.service-page p{margin:16px 0}.service-photo{width:100%;height:auto;max-height:480px;object-fit:cover;margin-top:32px}.service-page .intro{max-width:none}.service-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:20px}
