:root{--paper:#f8f6f0;--ink:#303c37;--teal:#527e7b;--teal-light:#e4eeeb;--sand:#eae2d1;--line:#d8d8cc;--muted:#6b7269;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.45}h2{font-size:clamp(25px,2.5vw,36px);letter-spacing:.02em}h3{font-size:26px}p{margin-bottom:1.1em}button{border:0}::selection{background:#d4e4dd}.skip{position:absolute;top:-80px;left:20px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.header{height:96px;display:flex;align-items:center;gap:35px;padding:0 4.3vw;background:rgba(248,246,240,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{width:86px;margin-right:auto;flex-shrink:0}.brand img{width:80px;height:80px;object-fit:contain;mix-blend-mode:multiply}.header nav{display:flex;gap:23px;font-size:12px;white-space:nowrap}.header nav a{padding:8px 0}.header nav a:hover,.text-link:hover{color:var(--teal)}.header-actions{display:flex;align-items:center;gap:25px}.languages{display:flex;gap:8px;font-size:11px;white-space:nowrap;letter-spacing:.05em}.languages span{color:#aaa}.languages a{color:var(--muted)}.languages [aria-current]{color:var(--ink);border-bottom:1px solid var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--teal);color:#fff;padding:15px 24px;font-size:13px;font-weight:500;letter-spacing:.03em;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#3c6561;transform:translateY(-2px)}.button span{font-size:18px;font-weight:400}.header .button{font-size:12px;padding:13px 18px;gap:25px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:36% 64%;min-height:610px;max-height:840px;height:calc(100svh - 96px);padding:35px 0 35px 6.5vw;gap:0}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 25px 0 0;position:relative;z-index:1}.eyebrow{display:block;font-size:10px;letter-spacing:.18em;font-weight:500;margin-bottom:20px;color:var(--teal)}.hero h1{font-size:clamp(65px,7.4vw,112px);letter-spacing:-.05em;line-height:1.1;margin:12px 0 25px}.hero h1 span{display:block;font-family:var(--sans);font-size:13px;letter-spacing:.1em;line-height:1.9;margin-top:20px}.hero-location{font-size:14px;line-height:2.2;margin-bottom:28px}.hero-down{font-size:11px;margin-top:54px;color:var(--muted);letter-spacing:.08em}.hero-visual{position:relative;overflow:hidden}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:20px 24px;color:#fff;font-size:9px;letter-spacing:.15em;background:linear-gradient(transparent,#0007);padding-top:50px}.section{max-width:1200px;margin:auto;padding:100px 50px}.section-head{display:flex;gap:24px;align-items:baseline;margin-bottom:35px}.section-head h2{margin-bottom:0}.index{font-family:var(--serif);font-size:12px;color:var(--teal);border-top:1px solid var(--teal);padding-top:5px;min-width:24px}.section-head p{font-size:12px;color:var(--muted);margin:8px 0 0}.about{display:grid;grid-template-columns:38% 62%;border-top:1px solid var(--line);margin-top:20px;gap:30px}.about .section-head{gap:20px}.about h2{max-width:240px;font-size:30px}.about-facts{padding-left:44px;margin-top:45px;font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:10px}.prose{font-size:14px;line-height:2.2}.prose p:last-child{margin-bottom:0}.rooms{padding-top:55px}.room-story{max-width:810px;margin:0 0 65px 48px}.room{display:grid;grid-template-columns:55% 45%;margin-bottom:75px}.room-photo{position:relative;min-height:470px}.room-photo>img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:18px;left:18px;background:var(--paper);font-size:9px;letter-spacing:.15em;padding:5px 14px}.room-copy{padding:20px 0 25px 46px;align-self:center}.room-copy .eyebrow{margin-bottom:12px}.room-copy h3{margin-bottom:21px;font-size:30px}.room-copy p{font-size:13px;line-height:1.9}.room-copy dl{margin:25px 0;font-size:12px}.room-copy dl>div{border-top:1px solid var(--line);padding:14px 0}.room-copy dt{font-size:10px;color:var(--teal);margin-bottom:4px}.room-copy dd{margin:0;line-height:1.9}.room-copy .button{font-size:12px;padding:13px 18px}.room-family .room-photo{order:2}.room-family .room-copy{order:1;padding-left:0;padding-right:46px}.room-family .gallery{order:3}.gallery{grid-column:1/-1;border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.gallery summary,.floorplan summary{display:flex;align-items:center;justify-content:space-between;padding:21px 0;font-size:12px}.gallery summary span{font-size:10px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:5px 0 25px}.gallery-photo{padding:0;background:var(--sand);overflow:hidden;aspect-ratio:3/2}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-photo:hover img{transform:scale(1.04)}.floorplan{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.floorplan img{margin:25px auto;width:min(100%,1030px)}.facilities{background:var(--sand)}.section-intro{max-width:730px;font-size:14px;margin-bottom:40px}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.facility-grid article>img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:25px}.facility-grid h3{font-size:23px;margin-bottom:18px}.facility-grid p{font-size:12px;line-height:1.95}.tableware{display:flex;gap:30px;align-items:center;border-top:1px solid #cfc7b7;padding-top:30px;margin-top:35px}.tableware img{width:180px;aspect-ratio:3/2;object-fit:cover}.tableware p{font-size:12px;margin:0}.info-table{margin:0}.info-table>div{display:grid;grid-template-columns:28% 72%;padding:26px 0;border-top:1px solid var(--line)}.info-table>div:last-child{border-bottom:1px solid var(--line)}.info-table dt{font-size:13px}.info-table dd{margin:0;font-size:13px;line-height:2}.info-table dd p{margin-bottom:7px}.info-table dd p:last-child{margin-bottom:0}.time{font-family:var(--serif);font-size:29px;margin-right:35px;white-space:nowrap}.time small{font-family:var(--sans);font-size:11px;margin-left:8px}.stay{padding-top:10px}.steps{padding:0;margin:0 0 45px;list-style:none}.steps li{display:grid;grid-template-columns:70px 1fr;padding:27px 0;border-top:1px solid var(--line)}.step-number{font-family:var(--serif);font-size:25px;color:#7b958b}.steps h3{font-size:22px;margin-bottom:12px}.steps p{font-size:13px;line-height:2;margin-bottom:6px}.notes{background:#eeeae1;padding:30px 35px}.notes h3{font-size:20px}.notes ul{padding-left:18px;margin-bottom:0}.notes li{font-size:12px;margin-bottom:8px}.access{border-top:1px solid var(--line)}.access-layout{display:grid;grid-template-columns:45% 55%;gap:55px}.access-photo img{width:100%;height:100%;min-height:390px;object-fit:cover}.access-layout h3{font-size:26px}.access-layout p{font-size:13px}.route-list{margin:22px 0;font-size:12px}.route-list>div{border-top:1px solid var(--line);padding:13px 0;display:grid;grid-template-columns:38% 62%}.route-list dt{color:var(--muted)}.route-list dd{margin:0}.text-link{display:inline-block;border-bottom:1px solid var(--ink);font-size:12px;padding:6px 0;line-height:1.8;margin-top:20px}.home-faq{padding-top:0}.faq-list{margin-bottom:20px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;gap:24px;align-items:center;justify-content:space-between;font-size:14px;padding:24px 0}.faq-list summary:before{content:'Q';font-family:var(--serif);font-size:19px;color:var(--teal)}.faq-list summary span{margin-left:auto;flex-shrink:0;font-size:20px;font-weight:300}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>div{padding:0 40px 24px;font-size:13px;line-height:2}.faq-list details>div a{border-bottom:1px solid var(--teal);color:var(--teal)}.faq-list details>div p:last-child{margin-bottom:0}.booking-band{background:var(--teal-light);padding:65px max(7vw,calc((100vw - 1100px)/2));display:flex;gap:40px;align-items:center;justify-content:space-between}.booking-band .eyebrow{margin-bottom:14px}.booking-band h2{font-size:28px;margin-bottom:14px}.booking-band p{font-size:12px;margin:0;max-width:650px}.booking-band>.button{flex-shrink:0}.footer{max-width:1200px;margin:auto;padding:65px 50px 25px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.wordmark{font-family:var(--serif);font-size:43px;letter-spacing:-.05em}.footer p,.footer a:not(.wordmark){font-size:11px;line-height:2.2}.footer p{margin-top:16px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:10px}.subpage{padding-top:40px;min-height:65vh}.breadcrumb{font-size:10px;color:var(--muted);margin-bottom:60px}.subpage>h1{font-size:44px;margin:10px 0 55px}.subpage .eyebrow{margin-bottom:6px}.parking-block{margin-top:65px;max-width:800px}.parking-block p{font-size:14px}.parking-block .text-link{margin-top:0;margin-bottom:24px}.mobile-book{display:none}dialog{border:0;padding:50px 55px 25px;background:#f8f6f0;max-width:95vw;max-height:95svh;width:1000px;box-shadow:0 10px 70px #0004}dialog::backdrop{background:#14211ee6}dialog>img{max-height:73svh;width:100%;object-fit:contain;margin:auto}.lightbox-close{position:absolute;right:15px;top:5px;font-size:30px;background:transparent}.lightbox-controls{display:flex;gap:25px;align-items:center;justify-content:center;margin-top:15px;font-size:12px}.lightbox-controls button{background:transparent;font-size:24px;padding:0 20px}
@media(min-width:1500px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-right:40px}}
@media(max-width:1100px){.header{gap:18px;padding:0 25px}.header nav{gap:16px;font-size:11px}.header-actions{gap:18px}.header .button{gap:12px;padding:13px}.hero{grid-template-columns:40% 60%;padding-left:5vw;min-height:560px}.hero h1{font-size:75px}.section{padding-left:35px;padding-right:35px}.room-copy{padding-left:30px}.room-family .room-copy{padding-right:30px}.access-layout{gap:30px}.booking-band{padding:50px 35px}.hero h1 span{font-size:12px}}
@media(max-width:850px){.header{height:78px}.header nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:24px 30px;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:15px;font-size:14px}.header nav.is-open{display:grid}.header .brand{width:62px}.brand img{width:62px;height:62px}.menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;font-size:11px;order:3;padding:10px}.menu-toggle span{font-size:18px}.header-actions{margin-left:auto}.header .brand{margin-right:0}.header .button{display:none}.hero{height:auto;min-height:0;grid-template-columns:1fr;padding:0;margin:0;max-height:none}.hero-visual{height:52svh;min-height:330px;grid-row:1;margin:16px 16px 0}.hero-copy{padding:32px 28px 42px;display:block}.hero .eyebrow{margin-bottom:10px}.hero h1{font-size:68px;margin:0 0 16px}.hero h1 span{font-size:13px;margin-top:13px}.hero-location{font-size:13px;margin-bottom:20px}.hero-down{display:none}.hero .button{min-width:230px}.hero-caption{font-size:8px;padding:35px 16px 16px}.section{padding:65px 25px}.about{grid-template-columns:1fr;gap:0;margin-top:0}.about h2{max-width:none;font-size:27px}.about-facts{display:none}.section-head{gap:17px;margin-bottom:28px}.prose{font-size:13px;line-height:2.15}.room-story{margin:0 0 35px}.room{grid-template-columns:1fr;margin-bottom:50px}.room-photo{min-height:0;height:auto}.room-photo>img{aspect-ratio:3/2;height:auto}.room-copy,.room-family .room-copy{padding:25px 0 10px;order:2}.room-family .room-photo{order:1}.room-copy h3{font-size:28px}.gallery{order:3}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:8px}.facility-grid{grid-template-columns:1fr;gap:40px}.facility-grid article{display:grid;grid-template-columns:42% 1fr;column-gap:22px;align-content:start}.facility-grid article>img{grid-row:1/6;margin-bottom:0;aspect-ratio:1;align-self:start}.facility-grid h3{font-size:22px;margin-bottom:12px}.facility-grid p{font-size:12px;margin-bottom:12px}.tableware{gap:20px}.tableware img{width:35%}.tableware p{font-size:11px}.info-table>div{grid-template-columns:30% 70%;gap:8px;padding:20px 0}.info-table dt{font-size:11px}.info-table dd{font-size:12px}.time{font-size:24px;margin-right:14px}.time small{font-size:10px;margin-left:4px}.steps li{grid-template-columns:45px 1fr}.steps h3{font-size:22px}.notes{padding:25px}.access-layout{grid-template-columns:1fr;gap:30px}.access-photo img{min-height:0;max-height:400px;aspect-ratio:3/2}.access-layout h3{font-size:25px}.access-layout .eyebrow{margin-bottom:12px}.route-list>div{grid-template-columns:35% 65%}.home-faq{padding-top:10px}.faq-list summary{font-size:13px;padding:22px 0;gap:15px}.faq-list details>div{padding-left:31px;padding-right:15px}.booking-band{display:block;padding:45px 25px}.booking-band h2{font-size:25px}.booking-band .button{margin-top:25px}.footer{padding:45px 25px 90px;grid-template-columns:1fr;gap:15px}.footer-bottom{margin-top:20px}.footer p{margin-top:10px}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;padding:10px 20px;background:rgba(248,246,240,.97);z-index:15;border-top:1px solid var(--line)}.mobile-book .button{width:100%;padding:12px 20px}.subpage{padding-top:25px}.subpage>h1{font-size:34px;margin-bottom:40px}.breadcrumb{margin-bottom:35px}.parking-block{margin-top:45px}.subpage .info-table>div{grid-template-columns:1fr;gap:10px}.subpage .info-table dt{color:var(--teal);font-size:12px}.subpage .info-table dd{font-size:13px}dialog{padding:45px 12px 15px}.lightbox-controls{gap:15px}}
@media(max-width:420px){.facility-grid article{display:block}.facility-grid article>img{width:100%;aspect-ratio:3/2;margin-bottom:22px}.hero h1{font-size:63px}.languages{gap:7px}.header{padding:0 18px;gap:16px}.section{padding-left:22px;padding-right:22px}.info-table>div{grid-template-columns:1fr;gap:8px}.hero-visual{min-height:290px;height:43svh}.hero-copy{padding-left:24px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:851px){.about{grid-template-columns:38fr 62fr}.access-layout{grid-template-columns:45fr 55fr}}

/* Nearby sightseeing: compact photographic guide. */
.sightseeing{margin-top:85px;padding-top:65px;border-top:1px solid var(--line,#d8d9d0)}
.sightseeing>h2{font-size:clamp(25px,3vw,36px);margin:14px 0 22px}.sight-note{font-size:12px;line-height:1.9;color:var(--muted,#66716a);max-width:850px}.sight-group-title{font-size:20px;margin:38px 0 20px}.sight-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.sight-card{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--line,#d8d9d0)}.sight-card>img{width:130px;height:100px;object-fit:cover;border-radius:3px}.sight-copy h3{font-size:18px;margin:0 0 8px;line-height:1.5}.sight-copy p{font-size:13px;line-height:1.9;margin:8px 0}.sight-copy .sight-distance{font-size:12px;font-weight:600;color:var(--teal,#527e7b)}.sight-links{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;margin-top:12px}.sight-links a,.sight-travel a{text-decoration:underline;text-underline-offset:4px}.sight-travel{background:var(--sand,#eae2d1);padding:25px 30px;margin:20px 0 26px}.sight-travel h3{font-size:19px;margin:0 0 12px}.sight-travel p,.sight-travel a{font-size:13px;line-height:1.9}.sight-further{grid-template-columns:1fr}.sight-further .sight-card{max-width:760px}.sight-credits{font-size:11px;line-height:1.8;margin-top:25px;color:var(--muted,#66716a);overflow-wrap:anywhere}.sight-credits summary{cursor:pointer;padding:14px 0}.sight-credits li{margin-bottom:10px}.sight-credits a{text-decoration:underline}
@media(max-width:850px){.sight-grid{grid-template-columns:1fr}.sightseeing{margin-top:55px;padding-top:45px}}
@media(max-width:480px){.sight-card{grid-template-columns:90px minmax(0,1fr);gap:14px}.sight-card>img{width:90px;height:80px}.sight-copy h3{font-size:16px}.sight-links{gap:12px}.sight-travel{padding:22px}.sightseeing>h2{line-height:1.5}}
/* Hero slideshow. */
.hero-visual .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease;pointer-events:none}.hero-visual .hero-slide.is-active{opacity:1}.hero-caption{z-index:2;padding-bottom:25px;align-items:center;gap:14px}.hero-controls{display:flex;align-items:center;gap:8px}.hero-controls button{border:1px solid #ffffffb0;background:#17241e88;color:white;min-width:36px;height:36px;padding:0 9px;font-size:14px;cursor:pointer;border-radius:2px}.hero-controls button:focus-visible{outline:2px solid white;outline-offset:3px}.hero-slide-count{white-space:nowrap;min-width:45px;text-align:center}
@media(prefers-reduced-motion:reduce){.hero-visual .hero-slide{transition:none}}
@media(max-width:480px){.hero-caption{padding:40px 14px 16px;letter-spacing:.05em}.hero-controls{gap:5px}.hero-controls button{min-width:32px;padding:0 7px}}
