:root{--ink:#151413;--berry:#685447;--rose:#d6bfa3;--blush:#dfd2c4;--paper:#faf8f4;--cream:#e9e0d6;--line:#d7d0c9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #8a684d;outline-offset:4px}
.skip{position:absolute;left:-9999px;z-index:9;background:#fff;padding:12px}
.skip:focus{left:12px;top:12px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.quote p,.visit-panel strong{font-family:"Playfair Display",Georgia,serif;font-weight:400}
em{font-weight:400}
.header{height:95px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(24px,5.5vw,90px);background:var(--paper)}
.wordmark{display:inline-flex;flex-direction:column;line-height:1;min-width:max-content}
.wordmark span{font-family:"Playfair Display",Georgia,serif;font-size:25px;letter-spacing:-.035em}
.wordmark i{font-size:.75em;font-weight:400}
.wordmark small{font-size:9px;letter-spacing:.34em;margin-top:8px;text-align:center;font-weight:700}
.header nav{display:flex;gap:34px;font-size:13px;font-weight:600}
.header nav a:hover,.footer a:hover,.visit-instagram:hover{color:var(--berry)}
.nav-cta{background:var(--ink);color:#fff;padding:14px 20px;font-size:12px;letter-spacing:.035em;font-weight:700;white-space:nowrap}
.nav-cta span,.button span{margin-left:18px}
.nav-cta:hover,.button-dark:hover{background:var(--berry)}
.hero{min-height:680px;display:grid;grid-template-columns:54% 46%;background:var(--ink);color:#fff}
.hero-content{padding:clamp(55px,7vw,110px) 8.5vw 36px max(6vw,calc((100vw - 1410px)/2));display:flex;flex-direction:column;align-items:flex-start}
.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;line-height:1.5}
.eyebrow .dash{display:inline-block;width:25px;height:1px;background:var(--rose);vertical-align:middle;margin-right:13px}
.hero h1{font-size:clamp(76px,8.3vw,143px);line-height:.97;letter-spacing:-.055em;margin:65px 0 31px}
.hero h1 em{color:var(--rose)}
.hero-intro{max-width:490px;font-size:18px;line-height:1.65;color:#e9e5df}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:22px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:56px;padding:15px 22px;font-size:13px;font-weight:700;letter-spacing:.02em;transition:background .2s,color .2s}
.button-cream{background:var(--cream);color:var(--ink)}
.button-cream:hover{background:#fff}
.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #ac9a85;padding:10px 0}
.text-link span{margin-left:13px}
.hero-meta{display:flex;justify-content:space-between;align-self:stretch;gap:20px;margin-top:auto;padding-top:88px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#cbbdab}
.hero-photo{position:relative;min-height:680px;overflow:hidden;background:#a39788}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 52%}
.photo-label{position:absolute;right:0;bottom:0;background:var(--paper);color:var(--ink);padding:22px 28px;min-width:260px;font-family:"Playfair Display",Georgia,serif;font-size:22px;line-height:1.2}
.photo-label span{font-style:italic;color:var(--berry)}
.ribbon{display:flex;justify-content:space-around;align-items:center;gap:20px;white-space:nowrap;overflow:hidden;background:#d2c2ae;color:var(--ink);padding:17px 26px;font-size:11px;font-weight:700;letter-spacing:.18em}
.ribbon b{font-size:20px;font-weight:400}
.section{padding:clamp(76px,9vw,138px) max(6vw,calc((100vw - 1410px)/2))}
.eyebrow.dark{color:var(--berry)}
.intro{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:12%;align-items:start}
h2{font-size:clamp(50px,5.2vw,87px);line-height:1.08;letter-spacing:-.045em;margin:14px 0 0}
h2 em{color:var(--berry)}
.intro-grid>div{padding-top:25px;max-width:480px;color:#5d4b51;line-height:1.85}
.intro-grid>div p+p{margin-top:24px}
.booking{background:#eee9e2}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:58px}
.section-top>p{max-width:325px;color:#67535b;font-size:15px;line-height:1.75;margin-bottom:5px}
.booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.book-card{min-height:390px;background:var(--paper);padding:27px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s}
.book-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #15141315}
.book-card:nth-child(2){background:#e6dbce}
.book-card:nth-child(3){background:#dedbd4}
.book-card:nth-child(4){background:#e5dfd5}
.card-top{display:flex;align-items:start;justify-content:space-between;font-size:11px;letter-spacing:.13em}
.card-symbol{font-size:35px;line-height:1;font-weight:400;color:var(--berry)}
.card-kicker{font-size:10px;letter-spacing:.17em;font-weight:700;margin-bottom:12px;color:var(--berry)}
.book-card h3{font-size:31px;line-height:1.13;letter-spacing:-.025em;margin:0 0 15px}
.book-card p:not(.card-kicker){font-size:13px;line-height:1.7;color:#594751;margin-bottom:0}
.book-card a{border-top:1px solid #7e68704d;padding-top:19px;margin-top:28px;display:flex;justify-content:space-between;gap:8px;font-size:12px;font-weight:700}
.book-card a:hover{text-decoration:underline;text-underline-offset:4px}
.booking-note{margin:29px 0 0;text-align:center;font-size:13px;color:#695860}
.booking-note a{text-decoration:underline;text-underline-offset:4px;color:var(--berry);font-weight:700}
.quote{background:var(--ink);color:var(--paper);text-align:center;padding:75px 20px 70px}
.quote-star{display:block;font-size:30px;color:#d2c2ae}
.quote p{font-size:clamp(45px,5.8vw,87px);line-height:1.13;letter-spacing:-.045em;margin:21px auto 35px}
.quote p em{color:#d6bfa3}
.quote-caption{font-size:10px;letter-spacing:.22em;font-weight:700}
.inside{background:var(--paper)}
.inside-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:end;margin-bottom:42px}
.inside-head .eyebrow{align-self:start;margin-top:15px}
.inside-head h2{font-size:clamp(44px,4.7vw,73px);margin:0}
.inside-head>p:last-child{font-size:14px;color:#665c53;line-height:1.7;margin-bottom:5px}
.inside-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;height:350px}
.inside-gallery img{width:100%;height:100%;object-fit:cover}
.inside-gallery img:nth-child(1){object-position:48% 55%}
.inside-gallery img:nth-child(2){object-position:50% 50%}
.inside-gallery img:nth-child(3){object-position:47% 50%}
.visit{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:center;background:var(--paper)}
.visit h2{margin-bottom:36px}
.visit p:not(.eyebrow){font-size:19px;line-height:1.65}
.visit .visit-small{font-size:14px!important;color:#705e65;max-width:450px;margin:25px 0 32px}
.visit-links{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.button-dark{background:var(--ink);color:#fff}
.visit-instagram{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.visit-panel{height:490px;background:#ddd0bc;display:flex;flex-direction:column;justify-content:space-between;padding:35px;color:var(--ink)}
.visit-panel-top,.visit-panel-bottom{font-size:10px;font-weight:700;letter-spacing:.2em}
.visit-panel strong{font-size:clamp(56px,5vw,82px);line-height:1.05;letter-spacing:-.05em}
.visit-panel strong em{color:var(--berry)}
.visit-panel-bottom{text-align:right}
.footer{background:var(--ink);color:var(--paper);padding:68px max(6vw,calc((100vw - 1410px)/2)) 30px;display:grid;grid-template-columns:1fr 1fr auto;gap:10px 40px;align-items:start}
.footer-logo{grid-row:span 2;display:block;width:290px;height:76px;overflow:hidden;mix-blend-mode:screen}
.footer-logo img{width:100%;height:100%;object-fit:cover;object-position:center}
.footer p{font-size:13px;color:#d4c0c5}
.footer>div{display:flex;gap:22px;font-size:12px}
.footer>small{grid-column:2/-1;border-top:1px solid #ffffff38;padding-top:23px;font-size:10px;color:#c9b6bd;letter-spacing:.05em}
@media(max-width:1080px){.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card{min-height:310px}.hero{grid-template-columns:56% 44%}.hero h1{font-size:clamp(68px,8vw,100px)}.header nav{gap:18px}.inside-head{grid-template-columns:1fr 2fr}.inside-head>p:last-child{grid-column:2}.footer{grid-template-columns:1fr 1fr}.footer>div{grid-column:2;flex-wrap:wrap}.footer>small{grid-column:1/-1}}
@media(max-width:700px){.header{height:76px;padding:0 20px}.header nav{display:none}.nav-cta{padding:11px;font-size:11px}.nav-cta span{margin-left:4px}.wordmark span{font-size:19px}.wordmark small{font-size:7px}.hero{display:flex;flex-direction:column}.hero-content{padding:66px 25px 32px;min-height:580px}.hero h1{font-size:clamp(70px,17vw,112px);margin:55px 0 25px}.hero-intro{font-size:16px}.hero-meta{padding-top:70px}.hero-photo{min-height:460px;height:56vh;max-height:640px}.photo-label{min-width:unset;padding:15px 20px;font-size:17px}.ribbon{justify-content:flex-start;gap:22px}.section{padding:80px 25px}.intro-grid,.visit{display:block}.intro-grid>div{padding-top:30px}.section-top{display:block}.section-top>p{margin-top:25px}.booking-grid{grid-template-columns:1fr;gap:12px}.book-card{min-height:285px}.inside-head{display:block}.inside-head h2{margin:14px 0 20px}.inside-gallery{grid-template-columns:1fr 1fr;height:auto}.inside-gallery img{height:230px}.inside-gallery img:first-child{grid-column:1/-1;height:300px}.visit-panel{height:350px;margin-top:60px}.footer{display:block;padding:65px 25px 28px}.footer-logo{margin-bottom:30px}.footer>div{margin:30px 0;flex-wrap:wrap}.footer>small{display:block}.quote{padding:65px 25px}.quote p{font-size:clamp(43px,11vw,65px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.book-card{transition:none}}
