:root{--ink:#23251f;--green:#273c32;--moss:#66715e;--paper:#f6f3ec;--white:#fff;--gold:#ad8a55;--line:#d8d1c2;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.9}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(1120px,calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:20;inset:0 0 auto;height:82px;display:flex;align-items:center;padding:0 3.5vw;color:#fff;background:linear-gradient(#0008,transparent);transition:.3s}.site-header.scrolled{background:#273c32f5;box-shadow:0 4px 24px #0002}.brand{margin-right:auto;line-height:1.25;letter-spacing:.14em}.brand strong{display:block;font-family:var(--serif);font-size:1.35rem}.brand small{font-size:.64rem}.nav{display:flex;align-items:center;gap:1.5vw;font-size:.86rem}.nav a{white-space:nowrap}.reserve{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;color:#fff;background:var(--gold);letter-spacing:.12em}.menu-button{display:none;border:0;background:none;color:#fff;font-size:1.5rem}.hero{position:relative;min-height:100svh;display:grid;place-items:center;color:#fff;overflow:hidden;background:#222}.hero img{position:absolute;inset:0;height:100%;object-fit:cover}.hero:after,.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0008,#0001 55%,#0004)}.hero-copy{position:relative;z-index:1;width:min(1120px,calc(100% - 48px));padding-top:5rem}.eyebrow{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,5vw,5.2rem);line-height:1.45;letter-spacing:.12em;margin:.5rem 0 1.4rem}.hero p{max-width:38rem;font-family:var(--serif);font-size:1.05rem}.scroll{position:absolute;z-index:2;right:3vw;bottom:3rem;writing-mode:vertical-rl;font-size:.64rem;letter-spacing:.3em}.intro{padding:130px 0;text-align:center;background:var(--paper)}.intro h2,.section-title{font:400 clamp(2rem,4vw,3.5rem)/1.5 var(--serif);letter-spacing:.14em;margin:.2em 0}.intro p{max-width:720px;margin:2rem auto}.kicker{color:var(--gold);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase}.feature{display:grid;grid-template-columns:56% 44%;min-height:680px;background:#fff}.feature:nth-child(even){grid-template-columns:44% 56%;background:var(--green);color:#fff}.feature:nth-child(even) .feature-photo{order:2}.feature-photo img{height:100%;object-fit:cover}.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw}.feature-copy h2{font:400 clamp(2rem,4vw,3.7rem)/1.5 var(--serif);letter-spacing:.15em}.feature-copy p{max-width:480px}.text-link{display:inline-block;margin-top:1.5rem;padding-bottom:.3rem;border-bottom:1px solid currentColor;letter-spacing:.12em}.news{padding:110px 0}.news-head{display:flex;align-items:end;justify-content:space-between}.news-list{margin-top:2rem;border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:9rem 8rem 1fr;padding:1.25rem 0;border-bottom:1px solid var(--line);gap:1rem}.tag{color:var(--green);font-size:.75rem;letter-spacing:.12em}.facts{padding:90px 0;background:#eae4d8}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.fact{background:var(--paper);padding:2.2rem;text-align:center}.fact strong{display:block;font:400 1.6rem var(--serif);margin-bottom:.5rem}.cta{padding:120px 24px;text-align:center;color:#fff;background:linear-gradient(#1f312cdc,#1f312cdc),url(../images/garden.webp) center/cover}.cta h2{font:400 clamp(2rem,4vw,3.6rem) var(--serif);letter-spacing:.14em}.cta .reserve{margin-top:1rem;min-width:260px}.site-footer{padding:80px 0 30px;color:#e9e6dd;background:#17251f}.footer-grid{display:grid;grid-template-columns:1.3fr 2fr;gap:8vw}.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.footer-info strong{font:400 1.8rem var(--serif)}.copyright{margin-top:60px;padding-top:24px;border-top:1px solid #ffffff22;font-size:.7rem}.page-hero{position:relative;height:58vh;min-height:440px;color:#fff;display:grid;place-items:center;overflow:hidden}.page-hero img{position:absolute;inset:0;height:100%;object-fit:cover}.page-hero div{position:relative;z-index:1;text-align:center}.page-hero h1{font:400 clamp(2.5rem,5vw,4.8rem) var(--serif);letter-spacing:.15em;margin:.3rem}.breadcrumbs{padding:18px 0;font-size:.72rem}.page-section{padding:100px 0}.page-lead{text-align:center;max-width:760px;margin:0 auto 70px}.page-lead h2{font:400 clamp(2rem,4vw,3.3rem) var(--serif);letter-spacing:.12em}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 30px}.card{background:#fff}.card img{aspect-ratio:16/10;object-fit:cover}.card-body{padding:2rem}.card h3{font:400 1.65rem var(--serif);margin:.2rem 0}.spec{width:100%;border-collapse:collapse;margin-top:2rem}.spec th,.spec td{padding:1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.spec th{width:28%;font-weight:500}.notice{padding:1.4rem 1.6rem;border-left:3px solid var(--gold);background:#eee8dd}.faq details{border-top:1px solid var(--line);padding:1.4rem .4rem}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font:400 1.1rem var(--serif);list-style:none}.faq summary:before{content:"Q";color:var(--gold);margin-right:1.2rem}.faq p{padding-left:2.4rem}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.map{width:100%;height:460px;border:0}.mobile-reserve{display:none}.fade-up{opacity:0;transform:translateY(24px);transition:.8s}.fade-up.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:68px;padding:0 18px}.nav{position:fixed;inset:68px 0 auto;background:var(--green);display:none;padding:25px}.nav.open{display:grid;grid-template-columns:1fr 1fr}.nav .reserve{grid-column:1/-1}.menu-button{display:block}.site-header>.reserve{display:none}.feature,.feature:nth-child(even){grid-template-columns:1fr;min-height:0}.feature:nth-child(even) .feature-photo{order:0}.feature-photo img{height:55vw;min-height:340px}.feature-copy{padding:70px 32px}.fact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.news-item{grid-template-columns:7rem 1fr}.news-item .tag{grid-column:2}.cards,.access-grid{grid-template-columns:1fr}.mobile-reserve{display:flex;position:fixed;z-index:19;bottom:0;left:0;right:0;height:58px;background:var(--gold);color:#fff;align-items:center;justify-content:center;letter-spacing:.16em}.site-footer{padding-bottom:90px}}
@media(max-width:600px){.container{width:min(100% - 32px,1120px)}.hero-copy{width:calc(100% - 40px)}.hero h1{font-size:2.25rem}.intro,.page-section{padding:78px 0}.footer-nav{grid-template-columns:1fr 1fr}.page-hero{height:48vh}.news-head{display:block}.spec th,.spec td{display:block;width:100%}.spec th{padding-bottom:.2rem}.spec td{padding-top:.2rem}.card-body{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.fade-up{opacity:1;transform:none;transition:none}}
.site-header .brand img{filter:drop-shadow(0 2px 4px #000b)!important}.footer-logo img{filter:drop-shadow(0 1px 2px #ffffff55)!important}
.footer-logo{display:inline-block;width:min(290px,100%);margin-bottom:1rem}.footer-logo img{width:100%;height:auto;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 8px #ffffffdd) drop-shadow(0 0 16px #ffffff88)}
.site-header .brand{background:transparent!important;padding:2px 8px!important;overflow:visible!important}.site-header .brand img{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 7px #fff) drop-shadow(0 0 14px #ffffffcc)!important}.home-access{padding:90px 0;background:#fff}.home-access-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.home-access h2{font:400 clamp(2rem,4vw,3.4rem)/1.5 var(--serif);letter-spacing:.12em;margin:.3rem 0 1.5rem}.home-access-details{display:grid;gap:0}.home-access-row{display:grid;grid-template-columns:8rem 1fr;gap:1.3rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}.home-access-row strong{font-weight:500;color:var(--green)}.home-access-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:2rem}.outline-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid var(--green);color:var(--green);letter-spacing:.1em}@media(max-width:900px){.home-access-grid{grid-template-columns:1fr}.home-access-row{grid-template-columns:6.5rem 1fr}}
.site-header .brand{flex:0 0 210px;width:210px;height:64px;margin-right:auto;padding:4px 10px;display:flex;align-items:center;justify-content:center;background:#fffffff2;overflow:hidden}.site-header .brand img{display:block!important;width:100%!important;max-width:190px!important;height:54px!important;object-fit:contain!important;filter:none!important}.site-header .header-reserve{margin-left:22px;min-width:132px}.site-header .nav{gap:clamp(12px,1.35vw,25px)}@media(max-width:1100px) and (min-width:901px){.site-header .brand{flex-basis:175px;width:175px}.site-header .brand img{max-width:155px!important}.site-header .nav{gap:11px;font-size:.78rem}.site-header .header-reserve{margin-left:12px;padding:12px 16px}}@media(max-width:900px){.site-header .brand{flex-basis:150px;width:150px;height:56px}.site-header .brand img{max-width:132px!important;height:46px!important}.site-header .header-reserve{display:none}}

/* Official booking plans and reservation support */
.official-plans{padding:110px 0;background:#eee8dd}.official-plans-heading{text-align:center;max-width:760px;margin:0 auto 48px}.official-plans-heading h2{font:400 clamp(1.85rem,3.4vw,3rem)/1.5 var(--serif);letter-spacing:.12em;margin:.35rem 0 .8rem}.official-plan-list{display:grid;gap:22px}.official-plan-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);background:#fff;border:1px solid #d7cfbf;box-shadow:0 12px 35px #392c1910}.official-plan-summary{padding:34px 38px}.official-plan-label{display:inline-block;padding:.25rem .75rem;color:#fff;background:var(--green);font-size:.72rem;letter-spacing:.1em}.official-plan-summary h3{font:400 clamp(1.3rem,2.2vw,1.8rem)/1.55 var(--serif);margin:.8rem 0}.official-plan-summary p{margin:.5rem 0 1rem}.official-plan-main{display:inline-flex;align-items:center;min-height:46px;padding:.6rem 1.15rem;color:#fff;background:var(--gold);font-weight:600;letter-spacing:.06em}.official-room-links{padding:30px;background:#f7f4ed;border-left:1px solid #ded6c8}.official-room-links p{margin:0 0 .55rem;font-weight:700;color:var(--green)}.official-room-links a{display:block;padding:.65rem 1.7rem .65rem 0;border-bottom:1px solid #d9d1c3;position:relative;line-height:1.55}.official-room-links a:after{content:"›";position:absolute;right:.25rem;color:var(--gold);font-size:1.3rem}.official-room-links a:hover,.booking-support-links a:hover{text-decoration:underline}.dog-plan{border-color:#b79a6b}.official-plans-note{margin:25px 0 0;font-size:.82rem;text-align:center;color:#5b5b52}.booking-support{margin-top:55px;padding-top:35px;border-top:1px solid #ffffff2e}.booking-support h2{margin:0 0 .35rem;font:400 1.35rem var(--serif);letter-spacing:.1em}.booking-support>p{margin:0 0 1.2rem;color:#cfd7d1;font-size:.85rem}.booking-support-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff22;border:1px solid #ffffff22}.booking-support-links a{padding:12px 16px;background:#1d3028;font-size:.82rem}.booking-support-links a:after{content:" ↗";color:var(--gold)}
@media(max-width:800px){.official-plans{padding:78px 0}.official-plan-card{grid-template-columns:1fr}.official-plan-summary{padding:28px 24px}.official-room-links{padding:22px 24px;border-left:0;border-top:1px solid #ded6c8}.booking-support-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.booking-support-links{grid-template-columns:1fr}.official-plan-main{width:100%;justify-content:center;text-align:center}.official-plans-heading{margin-bottom:32px}}
.site-header .brand{padding:5px 12px;background:#fffffff0}.site-header .brand img{filter:none}
.brand{margin-right:auto;line-height:1}.brand img{width:190px;height:auto;filter:drop-shadow(0 1px 5px #fff9)}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute!important;inset:0;opacity:0;transform:scale(1.04);transition:opacity 1.8s ease,transform 7s linear}.hero-slide.active{opacity:1;transform:scale(1)}.card{box-shadow:0 18px 50px #24201912;transition:transform .35s,box-shadow .35s;overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:0 24px 60px #24201922}.card img{transition:transform .7s}.card:hover img{transform:scale(1.025)}.story-band{padding:90px 0;color:#fff;background:var(--green)}.story-band .container{display:grid;grid-template-columns:1fr 1.4fr;gap:7vw;align-items:center}.story-band h2{font:400 clamp(2rem,4vw,3.5rem)/1.55 var(--serif);letter-spacing:.12em}.story-band p{color:#e8e5db}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:60px 0}.experience-item{padding:2.3rem;background:var(--paper)}.experience-item b{display:block;color:var(--gold);font:400 1.5rem var(--serif);margin-bottom:.7rem}.route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:40px 0}.route-card{padding:2rem;background:#fff;border-top:3px solid var(--gold)}.route-card strong{display:block;font:400 1.4rem var(--serif);margin-bottom:.7rem}.mood-quote{text-align:center;padding:90px 20px;font:400 clamp(1.6rem,3.5vw,3rem)/1.8 var(--serif);letter-spacing:.12em;color:var(--green)}@media(max-width:900px){.brand img{width:145px}.story-band .container{grid-template-columns:1fr}.experience-list,.route-cards{grid-template-columns:1fr}}
