/* A continuous canvas, with photography and the salon's flowers as the anchors. */
:root{--paper:#f7f5ee;--ink:#4f574a;--olive:#727c62;--muted:#73796b;--line:#cdd0bf;--rail:29.3%;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:14px;font-weight:400;line-height:2;letter-spacing:.055em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #8c6946;outline-offset:6px}h1,h2,h3{font-weight:400}h1,h2{font-size:clamp(25px,2.25vw,34px);line-height:1.9;letter-spacing:.14em}h3{font-size:22px;line-height:1.7;letter-spacing:.08em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:15px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:10px}
.identity{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:12;display:flex;align-items:center;flex-direction:column;background:var(--paper)}.brand{display:flex;flex-direction:column;align-items:center;margin-top:32px;line-height:1.55;text-align:center;flex:none}.brand-mark{width:48px;height:59px;margin-bottom:7px}.brand-founder{font-size:12px;letter-spacing:.26em}.brand-name{font-size:25px;letter-spacing:.16em;margin:5px 0}.brand-place{font-size:13px;letter-spacing:.3em;margin-top:4px}.identity-art{position:relative;width:min(90%,340px);flex:1;min-height:0;margin:14px 0 25px;display:flex;align-items:center;justify-content:center;color:var(--olive)}.identity-art .bouquet-art{max-height:100%;width:100%;height:100%}.identity-art>span{position:absolute;top:28%;left:5%;writing-mode:vertical-rl;font-size:11px;letter-spacing:.2em}.identity-place{font-size:10px;letter-spacing:.15em;margin-bottom:25px;color:var(--muted)}.site-nav{position:fixed;z-index:15;top:0;left:var(--rail);right:0;min-height:88px;display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.5vw,42px);font-size:12px;background:linear-gradient(var(--paper),#f7f5eef0);border-bottom:1px solid #cdd0bf35;transition:background .5s,color .5s}.js:not(.past-hero) .site-nav{color:white;background:linear-gradient(#20261eb3,#20261e4d);border-color:transparent;text-shadow:0 1px 8px #0008}.site-nav a{padding:12px 0;white-space:nowrap}.nav-reservation{border-bottom:1px solid currentColor}.nav-reservation span{margin-left:16px}.menu-toggle{display:none}main{margin-left:var(--rail)}
.hero{height:100svh;min-height:610px;position:relative}.hero-photo{position:relative;height:100%;width:100%;background:#b4ae9b}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#151e1717,transparent 35%,transparent 65%,#1d241d6b);pointer-events:none}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-slide:first-child img{object-position:51% 53%}.hero-slide:nth-child(2) img{object-position:50% 50%}.hero-slide:nth-child(3) img{object-position:50% 43%}.scroll-cue{position:absolute;z-index:3;bottom:40px;left:36px;color:white;display:flex;align-items:center;gap:17px;font:10px Georgia,serif;letter-spacing:.18em}.scroll-cue i{height:1px;width:54px;background:#ffffffa6;position:relative}.scroll-cue i:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.section-wrap{width:82%;max-width:1000px;margin-left:auto;margin-right:auto}.eyebrow{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.14em;color:var(--muted);margin-bottom:21px}.intro{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:45px;padding:150px 0 55px;align-items:center}.intro-copy{grid-column:2;grid-row:1}.intro-copy h1{font-size:clamp(24px,2.25vw,34px);margin-bottom:32px;white-space:nowrap}.intro-copy>p:not(.eyebrow){font-size:13px;line-height:2.35;margin-bottom:21px;letter-spacing:.035em}.intro-copy .eyebrow{font-size:10px;letter-spacing:.05em;white-space:nowrap}.text-link{display:inline-flex;align-items:center;gap:26px;padding:9px 0 7px;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:11px;letter-spacing:.035em}.text-link span{display:inline-block;font-family:var(--serif);font-size:17px}.intro-copy .text-link{margin-top:10px}.intro-art{position:relative;grid-column:1;grid-row:1;margin-top:75px;padding-bottom:100px}.intro-photo{width:92%;position:relative;z-index:1}.intro-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:47% 47% 2px 2px}.intro-photo figcaption{font-size:10px;text-align:center;margin-top:18px;color:var(--muted)}.intro-art .branch-art{position:absolute;bottom:12px;right:-28px;width:86%;height:auto;color:var(--olive);transform:rotate(-10deg)}.salon-meta{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding-top:38px;font-family:var(--sans);font-size:10px;color:var(--muted)}.salon-meta>span+span:before{content:"";display:inline-block;width:1px;height:10px;background:var(--line);margin-right:22px;vertical-align:middle}
.room-scene{position:relative;width:92%;margin:85px 0 0 auto;padding-bottom:40px}.room-scene>img{width:100%;aspect-ratio:1.67;object-fit:cover;object-position:50% 55%}.room-scene figcaption{font-size:11px;margin:18px 0 0 14px;color:var(--muted)}.room-scene .branch-art{position:absolute;width:220px;right:1%;bottom:-65px;color:var(--olive);transform:rotate(-18deg);pointer-events:none}
.treatments{padding-top:130px;padding-bottom:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:52px}.heading-aside{font-size:12px;line-height:2.1;padding-bottom:9px;color:var(--muted)}.treatment-row{display:grid;grid-template-columns:1fr 160px;column-gap:40px;row-gap:20px;padding:45px 0 49px;border-top:1px solid var(--line)}.treatment-name{grid-column:1;grid-row:1}.course-time{display:block;font-family:Georgia,serif;font-size:14px;letter-spacing:.08em;margin-bottom:10px}.course-keywords{font-family:var(--sans);font-size:10px;margin-top:13px;color:var(--muted)}.treatment-description{grid-column:1;grid-row:2;font-size:13px;line-height:2.15;max-width:420px}.course-note{display:block;font-size:10px;color:var(--muted);margin-top:13px}.treatment-price{grid-column:2;grid-row:1/3;align-self:center}.price-label{font-size:11px}.treatment-price strong{font:32px Georgia,serif;letter-spacing:.035em}.treatment-price p{margin:8px 0 12px}.treatment-price p>span{font-size:10px;margin-left:4px;white-space:nowrap}.treatment-price small{font-size:10px;line-height:2.1}.more-treatments{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.more-treatments summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:20px 0;min-height:60px}.more-treatments summary::-webkit-details-marker{display:none}.more-treatments summary span{font-size:21px}.more-treatments[open] summary span{transform:rotate(45deg)}.details-body{padding:0 0 25px;font-size:11px}.details-body table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:11px}.details-body caption{text-align:left;font-size:10px;color:var(--muted);padding:10px 0}.details-body th,.details-body td{text-align:left;padding:12px 6px;border-bottom:1px solid #cdd0bf80;font-weight:400}.details-body td{white-space:nowrap}.details-body thead{color:var(--muted)}.source-note{font-family:var(--sans);font-size:10px;line-height:1.9;color:var(--muted);margin-top:19px}.menu-help{position:relative;display:flex;align-items:center;gap:24px;padding:75px 0 0}.menu-help .branch-art{width:115px;height:80px;flex:none;color:var(--olive)}.menu-help p{font-size:14px}.menu-help p span{font-size:11px}.round-link{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;flex:none;margin-left:auto;font-size:19px}
.atmosphere{position:relative;padding-top:65px}.atmosphere-heading{padding-left:4%;position:relative}.atmosphere-heading h2{font-size:26px}.atmosphere-heading>p:last-child{font-size:12px;line-height:2.1;margin-top:23px}.atmosphere-gallery{display:grid;grid-template-columns:1fr .72fr;gap:10%;align-items:start;padding-top:55px}.gallery-tall{margin-top:48px}.gallery-tall img{aspect-ratio:3/4;width:100%;object-fit:cover}.gallery-small>figure+figure{margin-top:75px}.gallery-small img{width:100%;aspect-ratio:1.15;object-fit:cover}.atmosphere-gallery figcaption{font-size:10px;line-height:1.8;margin-top:15px;color:var(--muted)}
.therapist{display:grid;grid-template-columns:.65fr 1fr;gap:12%;padding:160px 0 105px;align-items:center}.therapist-label .branch-art{width:100%;color:var(--olive);transform:rotate(-20deg)}.therapist-copy h2{font-size:25px;margin-bottom:28px}.therapist-copy>p{font-size:13px;line-height:2.25}.therapist-name{display:flex;align-items:baseline;gap:15px;margin-top:34px;flex-wrap:wrap}.therapist-name>span:first-child{font-family:var(--sans);font-size:10px}.therapist-name h3{font-size:21px}.roman-name{font:10px Georgia,serif;letter-spacing:.1em;color:var(--muted)}.credentials{list-style:none;padding:17px 0 0;margin:0;border-top:1px dotted var(--line);margin-top:20px;font-family:var(--sans);font-size:10px;line-height:2.2}
.visit{display:grid;grid-template-columns:.85fr 1fr;gap:10%;padding-top:70px;padding-bottom:130px;align-items:start}.visit-photo{margin-top:65px}.visit-photo img{aspect-ratio:4/5;object-fit:cover;object-position:48% 50%}.photo-label{display:block;margin-top:15px;font-size:10px;color:var(--muted)}.visit-copy h2{font-size:25px;margin-bottom:24px}.visit-copy>p:not(.eyebrow):not(.source-note){font-size:12px;line-height:2.25}.salon-information{margin:29px 0 15px;font-size:12px}.salon-information>div{display:grid;grid-template-columns:63px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #cdd0bf7a}.salon-information dt{font-family:var(--sans);font-size:10px;color:var(--muted)}.salon-information dd{margin:0}.salon-information small{font-size:10px}
.reservation{position:relative;border-top:1px solid var(--line);padding:100px 9% 85px;overflow:hidden;text-align:center}.reservation-art{position:absolute;left:-65px;bottom:35px;width:230px;transform:rotate(-13deg);color:var(--olive);opacity:.75;pointer-events:none}.reservation-top,.phone-area,.reservation-caption{position:relative}.reservation h2{font-size:29px}.reservation-top>p:last-child{font-size:12px;line-height:2.2;margin-top:25px}.phone-area{max-width:380px;margin:38px auto 0}.phone-main{display:flex;align-items:center;gap:20px;text-align:left;padding:20px 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.phone-main>svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1}.phone-main small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.08em;margin-bottom:8px}.phone-main strong{font:32px Georgia,serif;letter-spacing:.015em;white-space:nowrap}.phone-arrow{margin-left:auto;font-size:22px}.phone-secondary{font-size:12px;margin-top:20px}.phone-secondary a{margin-left:14px;font:17px Georgia,serif}.reservation-hours{font-family:var(--sans);font-size:10px;margin-top:12px}.reservation-hours span{margin:0 6px}.reservation-caption{font-size:12px;line-height:2.2;margin-top:50px;color:var(--muted)}.footer{width:82%;margin:0 auto;padding:35px 0 38px;border-top:1px dotted var(--line);font-size:10px;line-height:2.2;display:grid;grid-template-columns:1fr auto;gap:26px}.footer-brand{font-size:12px;margin-bottom:5px}.footer-links{display:flex;gap:23px;align-items:start;font-size:10px}.footer-links a{padding:6px 0}.sample-footer{grid-column:1/-1;font-family:var(--sans);font-size:9px;color:var(--muted)}.mobile-reserve{display:none}
@media(min-width:1600px){:root{--rail:28%}.identity-art{width:365px}.brand{margin-top:50px}.brand-name{font-size:28px}.hero{max-height:1100px}.intro{gap:85px}}
@media(max-width:1100px) and (min-width:901px){:root{--rail:27%}.site-nav{gap:20px;font-size:11px}.identity-art{width:94%}.section-wrap{width:84%}.intro{gap:25px}.intro-copy h1{font-size:25px}.intro-copy>p:not(.eyebrow){font-size:12px}.treatment-row{column-gap:25px;grid-template-columns:1fr 145px}.heading-aside{font-size:11px}.footer{display:block}.footer-links{margin-top:20px}.sample-footer{margin-top:20px}}
@media(max-width:900px){:root{--rail:0%}html{scroll-padding-top:90px}body{font-size:14px}main{margin-left:0}.identity{position:fixed;z-index:20;width:auto;height:auto;inset:18px auto auto 24px;display:block;background:none}.brand{margin:0;color:var(--ink)}.brand-mark{width:36px;height:43px;margin-bottom:2px}.brand-founder{font-size:9px;letter-spacing:.22em}.brand-name{font-size:19px;margin:3px 0;letter-spacing:.13em}.brand-place{font-size:10px;margin:0}.identity-art,.identity-place{display:none}.js:not(.past-hero):not(.menu-open) .brand{color:white;filter:drop-shadow(0 1px 4px #0007)}.js.past-hero .identity{top:12px}.js.past-hero .brand-mark{display:none}.js.past-hero .brand-founder,.js.past-hero .brand-place{display:none}.js.past-hero .brand-name{font-size:17px;margin:4px 0}.js.past-hero .site-header:before{content:"";position:fixed;inset:0 0 auto;height:68px;z-index:16;background:#f7f5eef5;border-bottom:1px solid #cdd0bf44}.menu-toggle{position:fixed;z-index:25;top:25px;right:24px;width:44px;height:44px;padding:10px 7px;background:none;border:none;display:none;flex-direction:column;justify-content:center;gap:8px}.js .menu-toggle{display:flex}.menu-toggle>span:not(.sr-only){display:block;width:30px;height:1px;background:currentColor;transition:transform .4s}.js:not(.past-hero):not(.menu-open) .menu-toggle{color:white;filter:drop-shadow(0 1px 3px #0006)}.js.past-hero .menu-toggle{top:11px}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}.site-nav{position:relative;left:auto;right:auto;top:auto;gap:20px;flex-wrap:wrap;padding:150px 24px 25px;background:var(--paper);font-size:12px;min-height:0}.js .site-nav{display:none;position:fixed;inset:0;overflow-y:auto;padding:155px 18% 95px;background:var(--paper);color:var(--ink);text-shadow:none;align-items:start;justify-content:center;flex-direction:column;gap:20px}.js .site-nav.is-open{display:flex}.site-nav>a{font-size:16px;padding:10px 0}.site-nav .nav-reservation{margin-top:15px}.hero{height:100svh;min-height:620px}.hero-photo:after{background:linear-gradient(180deg,#151e1738,transparent 33%,transparent 70%,#1d241d73)}.hero-slide:first-child img{object-position:53% 50%}.scroll-cue{left:26px;bottom:33px;font-size:9px;gap:12px}.scroll-cue i{width:35px}.section-wrap{width:84%;max-width:690px}.intro{padding-top:115px;gap:8%;grid-template-columns:1fr 1fr}.intro-copy h1{font-size:28px}.intro-copy .eyebrow{font-size:10px}.intro-copy>p:not(.eyebrow){font-size:13px}.room-scene{width:93%;margin-top:55px}.room-scene .branch-art{width:190px}.treatments{padding-top:115px}.section-heading h2{font-size:28px}.atmosphere-heading h2{font-size:27px}.therapist{padding-top:120px}.visit{padding-bottom:100px}.reservation-art{width:215px;left:-65px;opacity:.55}.footer{padding-bottom:115px}.mobile-reserve{position:fixed;z-index:18;bottom:0;right:0;left:0;display:flex;justify-content:space-between;align-items:center;min-height:57px;padding:12px 25px calc(12px + env(safe-area-inset-bottom));background:#68735e;color:white;font-family:var(--sans);font-size:12px;letter-spacing:.08em}.js:not(.past-hero) .mobile-reserve,.menu-open .mobile-reserve{visibility:hidden;pointer-events:none}.mobile-reserve>span:last-child{font-size:19px}}
@media(max-width:680px){h1,h2{font-size:27px}.section-wrap{width:83%}.intro{display:flex;flex-direction:column;align-items:stretch;padding-top:98px;padding-bottom:35px;gap:0}.intro-copy{padding-left:5%;order:0}.intro-copy h1{font-size:29px;line-height:1.85;margin-bottom:31px}.intro-copy .eyebrow{font-size:10px;letter-spacing:.06em}.intro-copy>p:not(.eyebrow){font-size:13px;line-height:2.3;margin-bottom:25px}.intro-art{width:79%;margin:60px auto 0;padding-bottom:68px;order:1}.intro-photo{width:100%}.intro-photo img{aspect-ratio:4/5}.intro-art .branch-art{right:-43px;bottom:-5px;width:84%}.salon-meta{order:2;gap:8px 15px;padding-top:52px;font-size:9px;justify-content:flex-start}.salon-meta>span+span:before{margin-right:15px}.salon-meta>span:last-child{flex-basis:100%}.salon-meta>span:last-child:before{display:none}.room-scene{width:93%;margin-top:45px;padding-bottom:30px}.room-scene>img{aspect-ratio:1.08;object-position:49% 50%}.room-scene figcaption{font-size:10px;margin-left:0}.room-scene .branch-art{width:140px;bottom:-57px;right:4%}.treatments{padding-top:115px;padding-bottom:50px}.section-heading{display:block;padding-bottom:35px}.section-heading h2{font-size:26px}.heading-aside{font-size:12px;margin-top:22px}.treatment-row{grid-template-columns:1fr;gap:18px;padding:32px 0 37px}.treatment-name{grid-column:1;grid-row:1}.treatment-name h3{font-size:22px}.course-time{font-size:13px;margin-bottom:8px}.course-keywords{font-size:10px;margin-top:12px}.treatment-description{grid-column:1;grid-row:2;font-size:13px;line-height:2.15}.treatment-price{grid-column:1;grid-row:3;border-left:1px solid var(--line);padding-left:20px;margin-top:4px}.treatment-price p{margin:5px 0 10px}.treatment-price strong{font-size:30px}.treatment-price small br{display:none}.treatment-price small{font-size:10px;display:block}.price-label{font-size:11px}.source-note{font-size:10px}.more-treatments{font-size:12px}.details-body table{font-size:10px}.details-body th,.details-body td{padding:12px 3px}.details-body thead th:nth-child(n+2){white-space:nowrap}.menu-help{padding-top:65px;gap:12px}.menu-help .branch-art{position:absolute;top:18px;right:13px;width:90px;height:60px;transform:rotate(-15deg)}.menu-help p{font-size:13px}.menu-help p span{display:block;font-size:11px;max-width:235px;line-height:1.95;margin-top:8px}.round-link{width:40px;height:40px}.atmosphere{padding-top:65px}.atmosphere-heading{padding-left:0}.atmosphere-heading h2{font-size:26px}.atmosphere-heading>p:last-child{font-size:12px}.atmosphere-gallery{grid-template-columns:1.1fr .85fr;gap:7%;width:88%;padding-top:35px}.gallery-tall{margin-top:55px}.gallery-tall img{aspect-ratio:.64}.gallery-small>figure+figure{margin-top:48px}.gallery-small img{aspect-ratio:.95}.atmosphere-gallery figcaption{font-size:9px;margin-top:10px}.therapist{display:block;padding:110px 0 70px;position:relative}.therapist-label .branch-art{position:absolute;right:-12px;top:68px;width:116px;transform:rotate(-20deg);opacity:.8}.therapist-copy h2{font-size:25px;position:relative}.therapist-copy>p{font-size:13px}.therapist-name{gap:14px}.roman-name{font-size:9px}.credentials{font-size:10px}.visit{display:flex;flex-direction:column;gap:35px;padding-top:35px;padding-bottom:90px}.visit-photo{width:83%;margin-top:0;align-self:flex-start}.visit-photo img{aspect-ratio:1.1}.visit-copy h2{font-size:25px}.visit-copy>p:not(.eyebrow):not(.source-note){font-size:12px}.salon-information{font-size:12px}.reservation{padding:80px 8.5% 65px;text-align:left}.reservation-art{left:auto;right:-65px;bottom:20px;width:155px;opacity:.4;transform:rotate(11deg)}.reservation h2{font-size:27px}.reservation-top>p:last-child{font-size:12px}.reservation-top>p:last-child br{display:none}.phone-area{margin-top:32px}.phone-main{gap:16px;padding:20px 0}.phone-main strong{font-size:30px}.phone-main svg{width:21px;flex:none}.phone-arrow{font-size:20px}.phone-secondary{font-size:11px}.phone-secondary a{font-size:17px}.reservation-hours{font-size:10px}.reservation-caption{font-size:12px;margin-top:40px}.footer{width:83%;display:block;padding-top:30px}.footer-links{gap:25px;margin-top:22px}.sample-footer{font-size:9px;margin-top:25px}.mobile-reserve{font-size:11px;min-height:54px}.scroll-cue{bottom:34px}}
@media(max-width:359px){.brand-name{font-size:17px}.identity{left:20px}.menu-toggle{right:18px}.section-wrap{width:84%}.intro-copy h1{font-size:27px}.intro-copy .eyebrow{font-size:9px}.intro-copy{padding-left:0}.phone-main strong{font-size:27px}.phone-main{gap:12px}.footer-links{font-size:9px;gap:18px}}
/* Keep the edge drawings inside the page and give the pause control its own space. */
main{overflow-x:clip}.identity-art>span{display:none}.identity-place{margin-bottom:58px}
@media(max-width:900px){.js .site-nav.is-open{background:var(--paper);color:var(--ink);text-shadow:none}.menu-open body{overflow:hidden}}
@media print{.identity,.site-nav,.menu-toggle,.mobile-reserve,.scroll-cue,.motion-toggle{display:none!important}main{margin:0}.hero{height:450px;min-height:0}.section-wrap{width:90%}.footer{padding-bottom:20px}html{scroll-behavior:auto}body{color:#30372c}}
