:root{--ink:#183b3b;--paper:#faf7f0;--muted:#62706a;--line:#d8dcd4;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,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:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ac7847;outline-offset:5px}img{max-width:100%;display:block}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;gap:24px;background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid #ffffff20}.brand{width:175px;flex-shrink:0}.brand img{height:94px;width:175px;object-fit:contain}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.header-actions{display:flex;align-items:center;gap:24px}.language{font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;padding:15px 25px;border:1px solid var(--ink);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,color .2s;line-height:1.45;min-height:48px}.button:hover{background:#305454}.button.small{padding:13px 21px}.button.cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.cream:hover{background:#e6e7da}.button.outline{color:white;background:transparent;border-color:#ffffff90}.button.outline:hover{background:#ffffff18}.menu-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;font-size:14px;padding:12px 0}.mobile-menu{background:var(--paper);padding:16px 6%;position:fixed;inset:105px 0 auto;z-index:29;border-bottom:1px solid var(--line)}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.hero{height:calc(100svh - 105px);min-height:660px;max-height:1050px;position:relative;overflow:hidden;background:var(--ink);color:var(--paper)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,32,30,.75) 0%,rgba(13,32,30,.38) 47%,rgba(13,32,30,.05) 100%),linear-gradient(0deg,rgba(8,26,27,.4),transparent 40%)}.hero-content{position:relative;padding:clamp(65px,8.5vh,100px) 7.5% 100px;max-width:1200px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;line-height:1.5;margin:0 0 22px;text-transform:uppercase}.eyebrow.light{color:#ebece3}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(62px,6.8vw,106px);line-height:.99;letter-spacing:-.025em;margin:0 0 26px}.hero h1 em{font-weight:400}.hero-description{font-size:16px;line-height:1.85;margin:0 0 33px;color:#f1f0e9;max-width:430px}.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:24px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;gap:15px;font-size:12px;letter-spacing:.13em}.hero-bottom a{font-size:13px;letter-spacing:.06em}@media(max-width:1050px){.header nav{gap:20px}.header-actions{gap:16px}.header{padding:0 4%}.brand,.brand img{width:150px}.button.small{padding:12px 14px}}@media(max-width:850px){.header{height:85px}.brand,.brand img{width:135px;height:76px}.header nav{display:none}.menu-toggle{display:block}.mobile-menu{top:85px}.header-actions{gap:20px}.header-actions .button{display:none}.hero{height:calc(100svh - 85px);min-height:650px}.hero-content{padding:90px 7% 100px}.hero h1{font-size:clamp(60px,11vw,88px)}.hero-image{object-position:66% center}.hero-shade{background:linear-gradient(90deg,#102421a8,#10242120),linear-gradient(0deg,#10242177,transparent)}.hero-bottom span:last-child{display:none}.hero-bottom{left:7%;right:7%}}@media(max-width:480px){.hero{min-height:620px}.hero-content{padding-top:80px}.hero h1{font-size:65px}.hero-description{font-size:15px;max-width:310px}.desktop-break{display:none}.hero-buttons{gap:10px}.hero-buttons .button{padding:14px 18px;font-size:13px}.hero-bottom{font-size:11px}.hero-bottom a{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.wrap{width:min(1240px,85%);margin-left:auto;margin-right:auto}h2,h3,p{margin-top:0}h2{font:400 clamp(46px,4.1vw,68px)/1.06 var(--serif);letter-spacing:-.025em;margin-bottom:25px}h2 em{font-weight:400}h3{font:500 29px/1.2 var(--serif)}.intro{text-align:center;max-width:900px;padding:110px 0 85px}.intro h2{font-size:clamp(50px,4.5vw,74px)}.intro>p:not(.eyebrow){max-width:650px;margin:30px auto 45px;color:var(--muted)}.intro-facts{display:flex;justify-content:center;gap:35px;font-size:13px;border-top:1px solid var(--line);padding-top:30px}.intro-facts strong{font-family:var(--serif);font-size:35px;font-weight:400;margin-right:7px}.restaurant{background:var(--ink);color:var(--paper);padding:100px 0 70px}.restaurant-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:9%;align-items:center}.restaurant-photo{position:relative}.restaurant-photo>img{width:100%;height:650px;object-fit:cover}.image-caption{display:block;font-size:11px;letter-spacing:.18em;padding-top:15px;color:#dee0d8}.restaurant-copy h2{font-size:clamp(46px,4.15vw,68px)}.restaurant-copy>p:not(.eyebrow){color:#e0e4dc;font-size:15px;margin:0 0 22px;max-width:440px}.restaurant-copy .restaurant-note{font-size:13px;border-top:1px solid #ffffff30;padding-top:18px;margin:26px 0!important}.restaurant-copy .button{margin-top:6px}.paths{margin-top:65px;padding-top:35px;border-top:1px solid #ffffff30;display:grid;grid-template-columns:1fr 1.25fr;gap:8%;align-items:center}.paths-intro .eyebrow{font-size:11px;margin-bottom:14px}.paths-intro>p:last-child{font-size:14px;color:#dfe4db;margin-bottom:0}.path-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.path-list button{background:none;border:0;border-bottom:1px solid #ffffff60;color:var(--paper);text-align:left;padding:12px 0 22px;font:400 35px/1.2 var(--serif);cursor:pointer}.path-list button span{display:block;font:12px/1.5 var(--sans);color:#bccbc2;margin-bottom:10px}.path-list button:hover{border-color:white;color:#dfc094}.food-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.gallery-item{position:relative;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;color:white;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.025)}.food-strip .gallery-item{height:290px}.rooms{padding:115px 0 95px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:50px}.section-head h2{margin-bottom:0}.section-side{max-width:400px;color:var(--muted);font-size:15px}.section-side p{margin-bottom:20px}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5}.text-link:hover{opacity:.75}.room-gallery{display:grid;grid-template-columns:1.36fr 1fr;gap:25px}.room-gallery .gallery-item{height:440px}.room-gallery .gallery-item:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#15252090);pointer-events:none}.room-label{position:absolute;bottom:28px;left:28px;z-index:1;font-size:11px;letter-spacing:.12em}.view-photo{position:absolute;right:22px;top:22px;z-index:1;background:#fffefaef;color:var(--ink);padding:8px 12px;font-size:12px}.stay-details{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:44px}.stay-details article{border-top:1px solid var(--line);padding-top:22px}.detail-number{font-size:12px;color:var(--muted);display:block;margin-bottom:18px}.stay-details h3{font-size:29px;margin-bottom:15px}.stay-details p{font-size:14px;color:var(--muted);line-height:1.8}.booking-line{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#eaece3;margin-top:45px;padding:30px 35px}.booking-line p{font-size:15px;margin:0}.booking-line strong{font-weight:600}.landscape{position:relative;height:500px;color:white;overflow:hidden}.landscape>img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.landscape:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#102a2bcc,#102a2b10)}.landscape-copy{position:absolute;top:95px;left:7.5%;z-index:1}.landscape h2{font-size:68px}.landscape-copy>p:last-child{font-size:15px;line-height:1.8}.experiences{padding:110px 0 70px}.experience-list{border-top:1px solid var(--line)}.experience-list details{border-bottom:1px solid var(--line)}.experience-list summary{list-style:none;display:flex;align-items:center;gap:40px;padding:29px 0;cursor:pointer;font:400 35px/1.25 var(--serif)}.experience-list summary::-webkit-details-marker{display:none}.experience-list summary>span:first-child{font:12px var(--sans);color:var(--muted)}.experience-list .plus{margin-left:auto;font:300 28px var(--sans);width:30px;text-align:center}.experience-list details[open] .plus{transform:rotate(45deg)}.experience-body{padding:0 60px 30px;max-width:740px}.experience-body p{font-size:15px;color:var(--muted)}.events{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:10%;padding:35px 0 110px}.events-image img{width:100%;height:430px;object-fit:cover}.events-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:480px;margin-bottom:30px}.contacts{background:var(--ink);color:var(--paper);padding:85px 0 90px}.contacts-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:12%;align-items:center}.contacts h2{font-size:clamp(46px,4vw,66px)}.contacts-grid>div>p:not(.eyebrow){color:#e0e4dc;font-size:15px;margin-bottom:30px}.contacts address{font-style:normal;border-left:1px solid #ffffff35;padding-left:40px;font-size:14px}.contacts address h3{font-family:var(--sans);font-size:16px;font-weight:600;margin-bottom:15px}.contacts address>p{color:#e0e4dc;margin-bottom:20px}.contacts address>a{display:block;margin:6px 0}.light-link{color:var(--paper);margin-top:24px!important;display:inline-block!important}.footer{padding-top:35px;padding-bottom:30px}.footer-top{display:flex;align-items:center;gap:25px}.footer-brand img{width:145px;height:105px;object-fit:contain}.footer-top p{font-size:13px;line-height:1.6;margin:0}.footer-top p span{font-family:var(--serif);font-size:19px;font-style:italic}.social{display:flex;gap:24px;margin-left:auto;font-size:13px}.social a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:25px;border-top:1px solid var(--line);margin-top:22px;font-size:12px;color:var(--muted)}.mobile-booking{display:none}dialog{border:0;padding:0;color:var(--ink);background:var(--paper);max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#102625c9;backdrop-filter:blur(4px)}.reservation-dialog{padding:45px;width:min(540px,calc(100% - 28px));overflow:auto}.dialog-close{position:absolute;right:14px;top:10px;background:transparent;border:0;padding:4px 10px;font-size:32px;line-height:1.2;color:inherit;cursor:pointer;z-index:2}.reservation-dialog h2{font-size:50px;margin-bottom:18px}.dialog-description{font-size:14px;color:var(--muted);margin-bottom:25px}.reservation-dialog .eyebrow{font-size:11px;margin-bottom:18px}.reservation-dialog label{display:flex;flex-direction:column;gap:8px;font-size:13px;margin-bottom:18px;font-weight:500}.reservation-dialog input,.reservation-dialog select{min-width:0;width:100%;padding:12px 10px;background:white;color:var(--ink);border:1px solid #bcc7bc;border-radius:0;min-height:46px;font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-note{font-size:12px;color:var(--muted);margin:6px 0 18px}.form-submit{width:100%}.dialog-phone{display:block;text-align:center;font-size:12px;margin-top:20px}.lightbox{width:min(1050px,calc(100% - 28px));background:#152d2d;color:var(--paper);overflow:hidden}.lightbox figure{margin:0;padding:40px 20px 20px}.lightbox img{width:100%;max-height:72svh;object-fit:contain}.lightbox figcaption{text-align:center;padding-top:15px;font-size:14px}body.modal-open{overflow:hidden}@media(min-width:1700px){.hero-content{padding-left:calc((100vw - 1445px)/2)}}@media(max-width:1000px){.wrap{width:88%}.restaurant-grid{gap:6%}.restaurant-photo>img{height:580px}.restaurant-copy h2{font-size:52px}.paths{grid-template-columns:1fr;gap:25px}.food-strip .gallery-item{height:230px}.section-head{gap:35px}.section-side{max-width:340px}.room-gallery .gallery-item{height:350px}.stay-details{gap:28px}.stay-details h3{font-size:27px}.contacts-grid{gap:7%}.contacts address{padding-left:25px}.events{gap:7%}.contacts .button{padding:15px 20px}}@media(max-width:700px){html{scroll-padding-top:85px}.wrap{width:86%}.intro{padding:75px 0 60px}.intro>p:not(.eyebrow){font-size:15px;margin:25px auto 30px}.intro-facts{gap:14px;font-size:11px;align-items:flex-start}.intro-facts span{flex:1}.intro-facts strong{display:block;font-size:38px;margin:0}.restaurant{padding:60px 0 45px}.restaurant-grid{grid-template-columns:1fr;gap:35px}.restaurant-photo>img{height:460px}.restaurant-copy h2{font-size:54px}.restaurant-copy{padding-top:10px}.restaurant-copy>p:not(.eyebrow){max-width:none}.paths{margin-top:40px;padding-top:30px}.path-list{gap:18px}.path-list button{font-size:30px}.paths-intro>p:last-child br{display:none}.food-strip{gap:10px;margin-top:35px}.food-strip .gallery-item{height:160px}.rooms{padding:70px 0 60px}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:49px}.section-side{max-width:none;margin-top:25px;font-size:15px}.room-gallery{grid-template-columns:1fr;gap:15px}.room-gallery .gallery-item{height:330px}.room-gallery .room-small{height:300px}.room-label{left:22px;bottom:22px}.stay-details{grid-template-columns:1fr;gap:16px;margin-top:30px}.stay-details article{display:grid;grid-template-columns:25px 1fr;column-gap:18px;padding-top:20px}.detail-number{grid-row:1/3;padding-top:8px}.stay-details h3{font-size:28px;margin-bottom:10px}.stay-details p{margin-bottom:0}.booking-line{display:block;padding:25px;margin-top:30px}.booking-line .button{width:100%;margin-top:20px}.landscape{height:400px}.landscape-copy{left:7%;top:65px}.landscape h2{font-size:57px}.landscape>img{object-position:65% center}.experiences{padding:65px 0 45px}.experience-list summary{font-size:29px;gap:20px;padding:25px 0}.experience-body{padding:0 0 25px 35px}.events{grid-template-columns:1fr;padding:20px 0 65px;gap:35px}.events-image img{height:330px}.events-copy h2{font-size:49px}.contacts{padding:65px 0}.contacts-grid{grid-template-columns:1fr;gap:45px}.contacts h2{font-size:49px}.contacts address{border-left:0;border-top:1px solid #ffffff35;padding:30px 0 0}.footer{padding-bottom:95px}.footer-top{flex-wrap:wrap;gap:15px}.footer-brand,.footer-brand img{width:130px}.social{width:100%;margin:0;justify-content:space-between;padding:10px 0}.footer-bottom{font-size:11px;gap:12px;flex-wrap:wrap}.footer-bottom>span:first-child{width:100%}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:12px 7% calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);gap:12px;box-shadow:0 -3px 15px #0000000d}.mobile-booking>*{width:50%;font-size:12px;text-align:center;padding:13px 6px;font-weight:600;border:1px solid var(--ink);background:transparent;color:var(--ink)}.mobile-booking>a{background:var(--ink);color:white}.reservation-dialog{padding:42px 25px 30px}.reservation-dialog h2{font-size:46px}.form-row{gap:12px}.lightbox figure{padding:45px 10px 15px}}@media(max-width:380px){.hero h1{font-size:57px}.hero-content{padding-top:70px}.hero-buttons .button{padding:13px 14px}.path-list{gap:10px}.path-list button{font-size:26px}.hero-bottom>a{display:none}.contacts .hero-buttons .button{width:100%}.section-head h2,.contacts h2,.events-copy h2{font-size:44px}}
@media(min-width:851px){.hero-content{padding-top:clamp(48px,6vh,80px)}.hero h1{font-size:clamp(62px,6.1vw,96px)}}
@media(min-width:851px) and (max-width:1100px){.header nav{display:none}.menu-toggle{display:block}}
.restaurant-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.restaurant-actions .button{padding:15px 20px}.menu-names{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0 0 26px}.menu-names span{font:400 32px/1.2 var(--serif);padding:15px 0;border-bottom:1px solid var(--line)}
