:root{--paper:#f7f5ef;--ink:#314b40;--muted:#6b776e;--line:#d8ddd3;--serif:'Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:14px;line-height:2}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}header{height:105px;padding:14px 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.brand img{height:76px;width:115px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:34px;font-size:12px;letter-spacing:.06em}nav a:hover,.text-link:hover{color:#a77d65}.toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:43% 57%;padding:40px 0 60px 8%;min-height:750px}.hero-copy{padding:20px 0 40px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:500;margin:0 0 26px;color:var(--muted)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.55;margin:0}h1{font-size:clamp(48px,5.4vw,82px);letter-spacing:.11em;margin-bottom:24px}h1 span{color:#849078}.lead{font-family:var(--serif);font-size:21px;line-height:1.85}.intro{font-size:12px;line-height:2.3;margin-bottom:28px}.hero-photo{margin:25px 0 0 -15px;position:relative;padding-bottom:32px}.hero-photo>img{height:610px;border-radius:180px 0 0 0;object-position:48% center}.photo-label{position:absolute;bottom:0;right:35px;letter-spacing:.13em;font-size:11px}.text-link{display:inline-flex;align-items:center;gap:45px;border-bottom:1px solid #9aa696;padding:7px 0;font-size:12px}.text-link span{font-size:20px}.scroll{position:absolute;bottom:22px;left:8%;font-size:8px;letter-spacing:.19em}.scroll span{margin-left:35px;font-size:20px}.intro-band{text-align:center;padding:45px 15px;background:#e9ede4;font-family:var(--serif);font-size:18px;letter-spacing:.09em}.intro-band i{margin:0 23px;color:#a6afa1;font-size:12px}.intro-band p{font-family:sans-serif;font-size:11px;letter-spacing:.06em;margin-bottom:0}.section{max-width:1280px;margin:auto;padding:115px 7%}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.split>img{height:410px}.framed{position:relative;padding:0 0 30px 25px}.framed:before{content:'';position:absolute;inset:30px 25px 0 0;background:#e0e5d9;z-index:-1}.framed img{height:440px;object-position:45%}.copy h2{margin-bottom:32px}h2{font-size:36px;letter-spacing:.06em}.copy p{font-size:13px;line-height:2.25;margin:0 0 18px}.signature{font-size:11px;margin-top:35px}.signature span{font-family:var(--serif);font-size:24px;letter-spacing:.15em;margin-left:15px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head>p{font-size:12px;color:var(--muted)}.menus{padding-top:65px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.menu-grid img{height:240px}.menu-body{padding:22px 0}.menu-body small{font-size:9px;letter-spacing:.15em;color:var(--muted)}h3{font-size:24px;margin:10px 0}.menu-body p{font-size:12px}.menu-note{text-align:right;color:var(--muted);font-size:11px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;list-style:none;padding:15px 0;font-size:12px}summary::-webkit-details-marker{display:none}details p{padding-bottom:10px}details[open] summary span{transform:rotate(45deg)}.beauty{display:grid;grid-template-columns:1.1fr 1fr;background:#e8e4db;align-items:center}.beauty img{height:510px}.beauty>div{padding:65px 12%}.beauty p:not(.eyebrow){font-size:12px;margin:25px 0}.staff{padding-top:120px}.staff>img{border-radius:0 100px 0 0}.staff-name{border-top:1px solid var(--line);padding-top:18px;margin-top:28px!important}.staff-name strong{font-family:var(--serif);font-size:24px;margin-left:20px;font-weight:400}.first{background:#edf0e9;max-width:none;padding-left:max(7%,calc((100vw - 1100px)/2));padding-right:max(7%,calc((100vw - 1100px)/2))}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.steps article{border-top:1px solid #b6c0b0;padding-top:20px}.steps span{font-family:var(--serif);font-size:35px;color:#899c83}.steps h3{font-size:18px}.steps p{font-size:12px}.example img{height:330px;object-fit:contain}.example small{font-size:10px;color:var(--muted)}.faq{padding-top:30px;max-width:1000px}.faq h2{font-size:30px;margin-bottom:35px}.faq summary{font-size:14px;padding:23px 0}.faq details p{font-size:13px}.access{border-top:1px solid var(--line)}.access-images{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.access-images img{height:350px}.access-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.access-bottom p{font-size:12px}.reservation{text-align:center;background:var(--ink);color:#f7f5ef;padding:90px 20px}.reservation .eyebrow{color:#bfcbb9}.reservation h2{font-size:42px}.reservation p:not(.eyebrow){font-size:12px;margin:25px 0}.booking{display:flex;justify-content:space-between;align-items:center;max-width:430px;margin:30px auto 15px;background:var(--paper);color:var(--ink);padding:20px 25px;font-size:13px}.booking:hover{background:#dce5d5}.reservation small{font-size:10px;color:#c4d0be}footer{padding:55px 7% 30px;text-align:center}.footer-brand{font-family:var(--serif);font-size:34px;letter-spacing:.2em}.footer-brand span{display:block;font-family:sans-serif;font-size:9px;letter-spacing:.08em}footer p{font-size:11px;margin:20px 0 35px}footer small{font-size:9px;color:var(--muted)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a77d65;outline-offset:6px}@media(min-width:1500px){.hero{max-width:1500px;margin:auto}}@media(max-width:800px){header{height:85px}.brand img{height:64px;width:96px}nav{gap:18px;font-size:10px}.hero{padding-left:6%;grid-template-columns:46% 54%;min-height:650px}h1{font-size:52px}.hero-photo>img{height:540px;border-radius:110px 0 0 0}.hero-copy{padding-top:0}.hero .eyebrow{font-size:8px;letter-spacing:.08em}.lead{font-size:17px}.intro{font-size:11px}.section{padding:75px 6%}.split{gap:35px}h2{font-size:29px}.menu-grid{gap:20px}.menu-grid img{height:180px}h3{font-size:20px}.beauty>div{padding:40px 8%}.beauty img{height:440px}.steps{gap:20px}.steps h3{font-size:16px}.access-images img{height:260px}}@media(max-width:580px){header{height:78px;padding:8px 6%}.brand img{height:60px;width:89px}.toggle{display:block;border:0;background:transparent;font-size:22px;color:var(--ink);padding:8px}nav{display:none;position:absolute;top:78px;left:0;right:0;z-index:5;background:var(--paper);padding:24px 7%;font-size:14px;box-shadow:0 10px 15px #0001}nav.open{display:grid;gap:15px}.hero{display:flex;flex-direction:column;padding:25px 0 55px;min-height:0}.hero-copy{padding:0 7%}.hero .eyebrow{font-size:9px;margin-bottom:18px}h1{font-size:51px;line-height:1.4;letter-spacing:.08em;margin-bottom:18px}.hero h1 br:nth-of-type(2){display:none}.lead{font-size:18px}.intro{font-size:12px}.hero-photo{margin:30px 0 0 7%;padding-bottom:35px}.hero-photo>img{height:330px;border-radius:100px 0 0 0;object-position:center}.photo-label{font-size:9px;right:6%}.scroll{left:7%;bottom:13px}.intro-band{padding:30px 6%;font-size:13px}.intro-band i{margin:0 6px}.intro-band span{display:inline-block}.intro-band p{font-size:10px}.section{padding:65px 7%}.split{grid-template-columns:1fr;gap:35px}.framed{padding:0 0 20px 16px}.framed img{height:310px}.split>img{height:310px}.copy h2{margin-bottom:22px}.copy p{font-size:13px}h2{font-size:29px}.eyebrow{margin-bottom:18px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.menu-grid{grid-template-columns:1fr;gap:25px}.menu-grid img{height:270px}.menu-body{padding:18px 0}h3{font-size:24px}.menu-body p{font-size:13px}.menu-note{text-align:left}.beauty{grid-template-columns:1fr}.beauty img{height:300px}.beauty>div{padding:40px 7% 50px}.staff .copy{order:2}.staff>img{order:1}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.steps h3{font-size:16px}.example img{height:auto}.faq h2{font-size:24px}.faq summary{font-size:13px}.access-images{grid-template-columns:1fr}.access-images img{height:280px}.access-bottom{display:block}.reservation{padding:65px 7%}.reservation h2{font-size:33px}.booking{font-size:12px;padding:17px}.reservation p:not(.eyebrow){font-size:11px}footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:580px){.hero h1 br:nth-of-type(2){display:initial}.hero h1{font-size:44px;line-height:1.35}.hero .lead{margin:16px 0}.hero .intro{margin-bottom:15px}}
