:root{--ink:#42474c;--muted:#6b7177;--accent:#85755f;--paper:#fff;--soft:#f6f4f0;--line:#dedbd5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic",Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-underline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,.brand{font-family:"Yu Mincho", "Hiragino Mincho ProN",serif;font-weight:400;line-height:1.5}h1{font-size:clamp(28px,3.3vw,48px)}h2{font-size:clamp(24px,2.3vw,34px)}p{margin:1em 0}header{padding:28px 5vw 22px;display:flex;align-items:center;flex-direction:column;gap:22px;border-bottom:1px solid var(--line)}.brand{font-size:23px;letter-spacing:.16em;text-decoration:none}.brand b{font-weight:400}nav{display:flex;gap:32px;flex-wrap:wrap;justify-content:center}nav a{font-size:12px;letter-spacing:.13em;text-decoration:none}nav a:hover,nav a[aria-current]{color:var(--accent);text-decoration:underline}.menu{display:none}.hero{position:relative;min-height:680px;height:80vh;max-height:950px;display:flex;align-items:flex-end;padding:7vw;color:white;background:#6b655d}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.44),transparent)}.hero>div{position:relative;z-index:1;max-width:590px}.hero h1{margin:.4em 0}.hero p{max-width:560px}.hero.compact{height:460px;min-height:400px}.eyebrow{font-size:11px;letter-spacing:.25em}.button{display:inline-flex;gap:32px;justify-content:space-between;align-items:center;border:1px solid currentColor;padding:13px 27px;text-decoration:none;font-size:14px;transition:background .2s}.button:hover{background:var(--ink);color:white}.prose{max-width:900px;margin:auto;padding:65px 32px}.prose h2{margin:0 0 30px}.prose h3{font-size:23px}.prose img{max-width:310px;margin:25px auto}.prose li{padding:12px 0}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1320px;margin:30px auto 70px;background:var(--soft)}.feature>img{width:100%;height:520px;object-fit:cover}.feature>div{padding:55px}.feature:nth-of-type(even)>img{order:2}.text-link{display:inline-block;margin-top:24px}.booking{text-align:center;background:var(--soft);padding:72px 24px;margin-top:48px}.booking .button{margin-top:20px;background:var(--ink);color:white}.booking p{max-width:650px;margin:18px auto}footer{padding:65px 6vw 35px}footer nav{justify-content:flex-start;gap:20px;margin:35px 0}footer small{font-size:11px;color:var(--muted)}.page-heading{text-align:center;padding:65px 24px}.products{max-width:1240px;margin:auto;padding:0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px}.products article>a{text-decoration:none;display:block}.products img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--soft)}.products h2{font-family:inherit;font-size:17px;margin-bottom:0}.products p{margin:4px 0}.products span{font-size:12px}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:1250px;margin:auto;padding:65px 30px}.product-detail img{width:100%;object-fit:contain;margin-bottom:25px}.product-detail h1{font-size:30px}.price{font-size:24px}.product-copy{margin-top:50px;overflow-x:auto}.product-copy table{border-collapse:collapse;width:100%;font-size:13px}.product-copy td{border:1px solid var(--line);padding:7px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{padding:0 18px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:10;background:white;padding:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}@media(max-width:750px){header{padding:20px;flex-direction:row;justify-content:space-between;position:relative;gap:12px}.brand{font-size:16px;letter-spacing:.08em}.menu{display:block;background:none;border:1px solid var(--line);padding:8px;color:var(--ink)}header nav{display:none;position:absolute;top:100%;left:0;width:100%;background:white;z-index:5;padding:25px;flex-direction:column;gap:18px}header nav.open{display:flex}.hero{height:650px;min-height:580px;padding:36px 24px}.hero.compact{height:420px;min-height:420px}.hero:after{background:linear-gradient(0deg,rgba(0,0,0,.6),transparent)}.hero>img{object-position:60% center}.hero h1{font-size:30px}.hero p{font-size:14px}.prose{padding:42px 24px}.feature{display:block;margin:0 0 30px}.feature>img{height:320px}.feature>div{padding:30px 24px}.products{grid-template-columns:repeat(2,1fr);gap:30px 18px;padding:0 20px}.products h2{font-size:14px}.product-detail{grid-template-columns:1fr;gap:20px;padding:30px 24px}.booking{padding:50px 24px}footer{padding:45px 24px}footer nav{gap:20px}}
