:root{--ink:#20384b;--text:#263b48;--muted:#526470;--paper:#f8faf9;--mist:#e8eff2;--green:#657267;--line:#d3dfe3;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);font-family:var(--sans);background:#fff;margin:0;font-size:16px;line-height:1.85}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.5}h1{letter-spacing:.04em;font-size:clamp(2rem,3.4vw,3.3rem)}h2{letter-spacing:.035em;font-size:clamp(1.7rem,2.6vw,2.45rem)}h3{font-size:1.5rem}p{margin-top:1rem}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #327fb4}.content{width:min(1160px,100% - 80px);margin-inline:auto}.narrow{max-width:790px}.muted{color:var(--muted);font-size:.9rem}.sr-only,.skip-link:not(:focus){clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:20;background:#fff;padding:12px;position:fixed}.preview-note{background:var(--mist);text-align:center;letter-spacing:.05em;padding:3px;font-size:.78rem}.site-header{align-items:center;gap:35px;max-width:1480px;min-height:112px;margin:auto;padding:22px 40px;display:flex}.brand{letter-spacing:.08em;flex-direction:column;font-family:Georgia,serif;font-size:27px;line-height:1.1;display:flex}.brand span:last-child{letter-spacing:.15em;margin-top:4px;font-size:15px}.site-header nav{align-items:center;gap:28px;margin-left:auto;font-size:.88rem;display:flex}.site-header nav .active{border-bottom:1px solid var(--ink)}.language{color:var(--muted);font-size:.8rem}.button{background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;min-height:52px;padding:13px 26px;font-size:.95rem;font-weight:600;line-height:1.5;transition:background .15s;display:inline-flex}.button:hover{background:#36556b}.button.light{color:var(--ink);background:#fff;border-color:#fff}.button.light:hover{background:var(--mist)}.button:disabled{cursor:not-allowed;opacity:.65;background:#71818b}.header-booking{min-height:45px;padding:10px 20px;font-size:.85rem}.hero{grid-template-columns:37% 63%;max-width:1440px;min-height:630px;margin:0 auto 100px;padding-bottom:42px;display:grid;position:relative}.hero-photo{grid-area:1/2;min-height:585px;position:relative}.hero-photo img{object-fit:cover;object-position:55% 50%;width:100%;height:100%}.hero-copy{background:var(--ink);color:#fff;z-index:1;grid-area:1/1;align-self:end;margin-bottom:30px;margin-right:-35px;padding:64px 46px;position:relative}.hero-copy h1{max-width:9em;font-size:clamp(2.1rem,3.25vw,3.05rem);line-height:1.8}.hero-copy p:not(.location){max-width:28em;margin-top:20px;font-size:.98rem;line-height:2}.hero-copy .button{margin-top:28px}.location{font-family:var(--sans);color:var(--muted);margin-top:0;margin-bottom:22px;font-size:.8rem}.hero-copy .location{color:#d2e3e9}.hero-caption{color:var(--muted);font-family:Georgia,serif;font-size:.82rem;position:absolute;bottom:7px;right:40px}.intro{grid-template-columns:1.5fr 1fr;gap:120px;margin-bottom:90px;display:grid}.intro>div:first-child{max-width:620px}.intro p{line-height:2.1}.text-link{border-bottom:1px solid var(--ink);margin-top:24px;padding:4px 0;font-size:.95rem;display:inline-block}.intro-aside{border-left:1px solid var(--line);align-self:center;padding-left:48px}.intro-aside span{color:var(--green);font-family:Georgia,serif;font-size:60px;line-height:1}.intro-aside p{margin-top:12px;font-size:.9rem}.spaces{grid-template-columns:1.35fr 1fr;gap:40px;margin-bottom:100px;display:grid}.spaces img{aspect-ratio:4/3;object-fit:cover;width:100%}.space-small{padding-top:70px}.spaces figcaption{padding-top:23px}.spaces figcaption p{color:var(--muted);margin-top:6px;font-size:.9rem}.stay-section{background:var(--paper);padding:70px 0}.stay-grid{grid-template-columns:1fr 1fr 1.5fr;gap:40px;margin-top:36px;margin-bottom:25px;display:grid}.stay-grid dt{color:var(--muted);font-size:.85rem}.stay-grid dd{margin:8px 0 0;font-size:1.35rem}.stay-notes{border-top:1px solid var(--line);grid-template-columns:1fr 1fr 1.5fr;gap:40px;padding-top:20px;font-size:.92rem;display:grid}.stay-notes p{margin:0}.stay-notes small{color:var(--muted);font-size:.8rem}.access{grid-template-columns:1.4fr 1fr;align-items:center;gap:90px;padding-top:90px;padding-bottom:90px;display:grid}.access img{aspect-ratio:4/3;object-fit:cover;width:100%}.access p{max-width:30em}.reservation{background:var(--ink);color:#fff;padding:65px 0}.reservation p{color:#d2e3e9;max-width:42em}.reservation .button{margin-top:28px}.reservation-contact{border-bottom:1px solid #fff;margin-left:30px;font-size:.95rem;display:inline-block}.site-footer{grid-template-columns:1fr 1fr;gap:30px;max-width:1440px;margin:auto;padding:50px 40px 25px;font-size:.85rem;display:grid}.footer-brand{letter-spacing:.03em;font-family:Georgia,serif;font-size:1.25rem}.site-footer p{color:var(--muted);font-size:.8rem}.site-footer nav{justify-content:flex-end;align-items:start;gap:25px;display:flex}.site-footer small{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;padding-top:20px;font-size:.75rem}.page-heading{padding-top:65px;padding-bottom:70px}.page-heading>p{max-width:48em}.property-main{margin-bottom:65px}.property-main img{object-fit:cover;width:100%;max-height:620px}.floorplan{grid-template-columns:1fr 1.2fr;align-items:center;gap:80px;margin-bottom:85px;display:grid}.floorplan img{background:#fff;width:100%}.rules{padding-bottom:80px}.rules ul{max-width:54em;margin-top:25px;padding-left:22px}.rules li{padding-bottom:12px}.booking-page{min-height:62vh}.booking-page .button{margin-top:35px}.contact-page{grid-template-columns:1fr 1.25fr;gap:90px;padding-top:65px;padding-bottom:100px;display:grid}.contact-heading h1{max-width:9em;font-size:clamp(2rem,3vw,2.8rem)}.contact-heading>p{max-width:28em}.contact-phone{border-top:1px solid var(--line);margin-top:50px;padding-top:25px}.contact-phone a{margin-top:10px;display:block}.contact-phone a[href^=tel]{letter-spacing:.04em;font-family:Georgia,serif;font-size:1.8rem}.form-field{margin-bottom:24px}.form-field label{margin-bottom:8px;font-size:.92rem;font-weight:600;display:block}.form-field small{color:var(--muted);margin-left:12px;font-size:.68rem;font-weight:400}.form-field input,.form-field select,.form-field textarea{background:var(--paper);width:100%;min-height:50px;color:var(--text);border:1px solid #b5c6cc;border-radius:3px;padding:10px 13px;font-size:16px;display:block}.form-field textarea{resize:vertical}.consent{align-items:flex-start;gap:12px;margin-bottom:25px;font-size:.82rem;line-height:1.8;display:flex}.consent input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin-top:5px}.consent a{text-decoration:underline}.honey{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{min-height:24px;margin:15px 0;font-size:.85rem;line-height:1.8}.contact-form .button{width:100%}.company-details{margin:35px 0}.company-details>div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;padding:18px 0;display:grid}.company-details dt{color:var(--muted);font-size:.9rem}.company-details dd{margin:0}.privacy-page section{margin-top:38px}.privacy-page h2{font-family:var(--sans);font-size:1.15rem;font-weight:600}.privacy-page p{font-size:.95rem}.contact-page .contact-heading,.page-heading{overflow-wrap:anywhere}@media (width>=1440px){.hero-copy{padding-left:65px}}@media (width<=1050px){.site-header{gap:25px;padding-inline:28px}.site-header nav{gap:20px}.hero-copy{padding:45px 30px}.hero{min-height:565px}.hero-photo{min-height:525px}.hero-copy h1{font-size:2.3rem}.content{width:calc(100% - 60px)}.intro{gap:65px}.access,.contact-page{gap:50px}.stay-grid,.stay-notes{gap:25px}}@media (width<=760px){.site-header{flex-wrap:wrap;gap:12px;min-height:96px;padding:18px 20px}.brand{font-size:22px}.brand span:last-child{font-size:12px}.site-header nav{gap:18px;font-size:.78rem}.language{font-size:.72rem}.header-booking{display:none}.hero{flex-direction:column;min-height:0;margin-bottom:60px;padding-bottom:28px;display:flex}.hero-photo{order:0;height:320px;min-height:0}.hero-photo img{object-position:55% 50%}.hero-copy{order:1;align-self:stretch;margin:-36px 22px 0;padding:30px 26px}.hero-copy h1{max-width:10em;font-size:2.25rem;line-height:1.6}.hero-copy .location{margin-bottom:12px}.hero-copy p:not(.location){max-width:30em;margin-top:15px;font-size:.9rem}.hero-copy .button{margin-top:23px}.hero-caption{font-size:.7rem;bottom:0;right:24px}.content{width:calc(100% - 44px)}.intro{margin-bottom:55px;display:block}.intro-aside{border-left:none;border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px;padding:25px 0 0;display:flex}.intro-aside span{font-size:45px}.intro-aside p{margin:0;font-size:.8rem}.spaces{margin-bottom:60px;display:block}.space-small{padding-top:35px;padding-left:40px}.spaces figcaption{padding-top:15px}.spaces figcaption h2,.spaces figcaption h3{font-size:1.45rem}.stay-section{padding:45px 0}.stay-grid{grid-template-columns:1fr 1fr;gap:25px}.stay-grid>div:last-child{grid-column:1/-1}.stay-grid dd{font-size:1.2rem}.stay-notes{display:block}.stay-notes p+p{margin-top:18px}.access{flex-direction:column;align-items:stretch;gap:30px;padding-top:55px;padding-bottom:55px;display:flex}.access img{max-width:480px}.reservation{padding:45px 0}.reservation h2{font-size:1.65rem}.reservation p{font-size:.9rem}.reservation-contact{width:fit-content;margin:24px 0 0;display:block}.site-footer{padding:35px 22px 20px;display:block}.site-footer nav{justify-content:flex-start;gap:20px;margin:25px 0;font-size:.78rem}.site-footer small{display:block}.page-heading{padding-top:38px;padding-bottom:45px}.property-main{margin-bottom:38px}.floorplan{flex-direction:column;gap:30px;margin-bottom:50px;display:flex}.rules{padding-bottom:45px}.rules ul{font-size:.9rem}.contact-page{padding-top:38px;padding-bottom:55px;display:block}.contact-heading h1{max-width:13em;font-size:2rem}.contact-phone{margin-top:30px;margin-bottom:40px;padding-top:15px}.contact-form{max-width:620px}.company-details>div{grid-template-columns:85px 1fr;font-size:.88rem}.booking-page{min-height:60vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.hero-copy h1{max-width:none;font-size:clamp(2rem,2.5vw,2.4rem)}.title-phrase{display:inline-block}@media (width<=760px){.hero-copy h1{font-size:2rem}}
