@font-face{font-family:Campo;src:url('fonts/cormorant-medium.ttf') format('truetype');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:Campo;src:url('fonts/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400 600;font-display:swap}
@font-face{font-family:DM;src:url('fonts/dm-sans.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--ink:#402a24;--paper:#fbf7f0;--rust:#954c37;--clay:#ac6048;--dark:#61392e;--line:#dcccbe;--muted:#786259;--white:#fffdfa;--serif:Campo,Georgia,serif;scroll-behavior:smooth;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 DM,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #c78d38;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}p+p{margin-top:1.2rem}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04}h2{font-size:clamp(2.8rem,4.6vw,4.8rem);letter-spacing:-.04em;margin-bottom:25px}h3{font-size:2rem}em{font-weight:400}a,button{touch-action:manipulation}
.header{max-width:1600px;margin:auto;min-height:104px;display:flex;justify-content:space-between;align-items:center;padding:18px 5%;gap:28px}
.brand{display:flex;gap:13px;align-items:center;font-family:var(--serif);font-size:1.6rem;line-height:.92;letter-spacing:-.025em;text-decoration:none;flex-shrink:0}.brand b{font-weight:500}
.brand-mark{display:block;position:relative;width:64px;height:48px;overflow:hidden;flex:0 0 64px}.brand-mark img{width:250px;max-width:none;height:auto;position:absolute;left:-92px;top:-23px;mix-blend-mode:multiply}
.header nav{display:flex;gap:32px;font-size:.875rem}.header nav a{text-decoration:none;position:relative;padding:8px 0}.header nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--rust);transition:width .2s}.header nav a:hover:after{width:100%}
.header-actions{display:flex;gap:22px;align-items:center}.language-label select{border:0;border-bottom:1px solid var(--line);padding:8px 3px;background:transparent;color:var(--ink);font-size:.875rem;max-width:142px;border-radius:0}
.button{background:var(--rust);color:#fff9f3;border:1px solid var(--rust);padding:16px 25px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:.9375rem;font-weight:500;line-height:1.5;transition:background .2s,transform .2s;min-height:50px;border-radius:2px}
.button:hover{background:var(--dark);border-color:var(--dark);transform:translateY(-2px)}.button.small{padding:12px 20px;min-height:46px;font-size:.875rem}
.hero{margin:0 22px;background:var(--rust);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;min-height:680px;padding:52px max(3.5%,calc((100vw - 1450px)/2));gap:5%;position:relative}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:32px 0 10px;min-width:0}.eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;margin:0 0 26px;color:var(--rust)}.hero .eyebrow{color:#f4d1b8}
.hero h1{font-size:clamp(4.5rem,7.5vw,8rem);letter-spacing:-.045em;line-height:.96;margin:6px 0 28px}.hero h1 em{color:#f4cfaa}.intro{font-size:1rem;line-height:1.8;color:#f7e6dc;max-width:350px}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.hero .button{background:var(--paper);border-color:var(--paper);color:var(--dark)}.hero .button:hover{background:#edd9c5}
.text-link{display:inline-flex;gap:20px;align-items:center;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0;font-size:.9rem;line-height:1.6}.text-link>span[aria-hidden]{font-size:1.4rem}.hero-bottom{display:flex;gap:18px;align-items:center;margin-top:auto;padding-top:42px;font-size:.75rem;letter-spacing:.025em;color:#f0d5c3}.hero-bottom span+span{border-left:1px solid #ffffff50;padding-left:18px}
.hero-image{position:relative;min-height:570px;border-radius:2px;overflow:hidden;border:0}.hero-image>img{height:100%;width:100%;position:absolute;object-position:50% center}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#3b241755);pointer-events:none}.photo-note{position:absolute;z-index:1;bottom:25px;left:28px;right:28px;text-align:center;color:white;font:1.6rem/1.1 var(--serif);text-shadow:0 1px 8px #0008}.photo-note em{font-size:2rem}
.stay-bar{max-width:1370px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;padding:36px 4%;gap:32px;border-bottom:1px solid var(--line)}.stay-bar>div{display:flex;align-items:center;gap:14px;border-right:1px solid var(--line);padding-right:20px}.stay-bar strong{font:3.4rem/1 var(--serif);color:var(--rust)}.stay-bar span{font-size:.875rem;line-height:1.55}.stay-bar>a{display:flex;flex-direction:column;justify-content:center;text-decoration:none;gap:7px}.stay-bar>a>span:first-child{font:1.4rem/1.2 var(--serif)}.stay-bar>a>span:last-child{font-size:.8125rem;text-decoration:underline;text-underline-offset:5px;color:var(--rust)}
.section{max-width:1440px;margin:auto;padding:110px 7%;scroll-margin-top:30px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.about>div:last-child{padding-top:40px}.about p:not(.eyebrow){color:var(--muted);max-width:600px}.about h2 em{color:var(--rust)}
.amenities{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-top:30px;font-size:.875rem}.amenities span{border-top:1px solid var(--line);padding-top:12px}.amenities span:before{content:'＋';margin-right:9px;color:var(--rust)}
.gallery{padding-top:35px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{margin:0}.section-heading>p{font-size:.9375rem;color:var(--muted);padding-bottom:7px}
.photo-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;grid-template-rows:260px 260px}.photo{border:0;position:relative;padding:0;overflow:hidden;background:var(--dark);color:#fff;text-align:left;border-radius:2px}.photo.tall{grid-row:span 2;border-radius:180px 2px 2px 2px}.photo img{width:100%;height:100%;transition:transform .6s}.photo:hover img{transform:scale(1.035)}.photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#27120ccd)}.photo span{position:absolute;bottom:24px;left:26px;right:20px;z-index:1;font-size:.875rem}
.rooms{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:25px;margin-top:58px;padding-top:34px;border-top:1px solid var(--line)}.rooms h3{font-size:2.2rem;align-self:center;letter-spacing:-.025em}.rooms img{height:180px;width:100%;margin-bottom:16px;border-radius:2px}.rooms span,.rooms small{display:block}.rooms span{font-family:var(--serif);font-size:1.65rem;line-height:1.1}.rooms small{font-size:.8125rem;color:var(--muted);line-height:1.6;margin-top:7px}
.region{background:#ead8c7;scroll-margin-top:25px;padding:100px max(7%,calc((100vw - 1240px)/2));position:relative}.region-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:end;margin-bottom:42px}.region-heading h2{margin:0}.region-heading>p{color:#6c5146;max-width:420px;margin-bottom:5px}.region-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.region-story{min-width:0}.region-story figure{position:relative;margin-bottom:24px}.region-story img{width:100%;height:255px;object-fit:cover;border-radius:2px}.region-story:first-child img{border-radius:140px 140px 2px 2px}.story-number{position:absolute;left:15px;bottom:15px;background:var(--paper);padding:4px 12px;color:var(--rust);font:1.2rem var(--serif)}.region-story .eyebrow{font-size:.75rem;margin-bottom:10px}.region-story h3{font-size:2.2rem;margin-bottom:14px;letter-spacing:-.02em}.region-story>p:not(.eyebrow){font-size:.9375rem;line-height:1.8;color:#644c42}.source-link{font-size:.8125rem;display:inline-block;margin-top:17px;text-underline-offset:5px;text-decoration-thickness:1px;color:var(--dark)}
.region-bottom{border-top:1px solid #c9b19d;padding-top:28px;margin-top:45px;display:flex;align-items:center;justify-content:space-between;gap:25px}.address{font-size:.875rem;line-height:1.7}.address strong{font-weight:500}.credits{font-size:.75rem;margin-top:30px;color:#71584b}.credits summary{font-size:.75rem;display:inline-flex;gap:15px;cursor:pointer}.credits p{margin-top:12px;line-height:1.7}.credits a{text-underline-offset:3px}
.booking{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.booking>*{min-width:0}.booking-intro{position:sticky;top:40px}.booking-intro>p:not(.eyebrow){color:var(--muted);max-width:410px}.steps{list-style:none;padding:0;margin:40px 0}.steps li{display:flex;align-items:center;gap:22px;padding:17px 0;border-top:1px solid var(--line);font-size:.9375rem}.steps b{font:1.6rem var(--serif);color:var(--rust)}.quiet{font-size:.875rem}
.booking-form{padding:38px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--rust);box-shadow:0 15px 50px #683b2010;border-radius:2px}.booking-form h3{font-size:2.5rem;letter-spacing:-.03em;margin-bottom:30px}.booking-form label{display:block;font-size:.875rem;margin-top:20px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;display:block;min-height:50px;min-width:0;margin-top:7px;border:1px solid #cbb9a8;border-radius:2px;background:#fffefa;padding:11px 12px;color:var(--ink);font-size:1rem}.booking-form textarea{resize:vertical}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--rust)}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.two-fields label{margin:0;min-width:0}.field-note{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:13px 0}.optional{font-size:.8125rem;color:var(--muted)}.submit{width:100%;margin-top:10px}.submit:disabled{opacity:.65;cursor:wait;transform:none}.form-footnote{font-size:.8125rem;text-align:center;line-height:1.6;color:var(--muted);margin-top:16px}.inline-button{padding:0;border:0;background:none;font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}.form-status{font-size:.9375rem;padding:16px;background:#faeee5;border:1px solid var(--rust);margin-top:20px}.form-status.success{background:#f1f3e8;border-color:#737b50}.service-notice{border-left:3px solid var(--rust);background:var(--paper);padding:16px;margin-bottom:24px;font-size:.875rem}.service-notice p{margin-bottom:12px}
.practical{padding-top:10px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1.4fr;column-gap:10%}.practical>.eyebrow{grid-column:1}.practical>h2{grid-column:1}.faq{grid-column:2;grid-row:1 / 4}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:1rem}summary:after{content:'＋';color:var(--rust)}details[open]>summary:after{content:'−'}summary::-webkit-details-marker{display:none}.faq p{font-size:.9375rem;margin-top:18px;color:var(--muted);max-width:700px}
footer{background:var(--dark);color:var(--paper);padding:64px max(7%,calc((100vw - 1240px)/2)) 26px;display:grid;grid-template-columns:1fr 1fr;gap:30px}footer .brand{font-size:2rem}footer .brand-mark img{filter:invert(1);mix-blend-mode:screen}footer p{font-size:.875rem;margin-top:20px;color:#edd8c8}footer>div:nth-child(2){text-align:right}footer a:not(.brand){font-size:.875rem}.instagram-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;line-height:1.5;margin-top:10px}.instagram-link svg{width:23px;height:23px;flex-shrink:0}.instagram-link:hover span{text-decoration:underline;text-underline-offset:5px}.footer-bottom{grid-column:span 2;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff30;padding-top:24px;margin-top:24px;font-size:.75rem;color:#edd8c8}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a{text-underline-offset:4px}
dialog{border:0;background:var(--paper);color:var(--ink);width:min(620px,calc(100% - 32px));max-height:90dvh;padding:48px;overflow:auto;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#291812db;backdrop-filter:blur(5px)}dialog h2{font-size:2.8rem}dialog p{font-size:.9375rem}.close{position:absolute;right:12px;top:8px;font:2rem sans-serif;width:40px;height:40px;border:0;background:transparent;color:var(--ink)}.lightbox{width:min(1000px,95vw);padding:45px 20px 20px}.lightbox img{max-height:75dvh;width:100%;object-fit:contain}.lightbox p{text-align:center;margin-top:15px}.skip{position:absolute;left:15px;top:-80px;background:white;z-index:100;padding:12px}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){.hero{max-width:1556px;margin:auto;padding:55px 75px}.hero h1{font-size:8rem}}
@media(max-width:1100px){.header nav{gap:18px}.header{padding:18px 4%;gap:20px}.header-actions{gap:15px}.hero{gap:5%;min-height:620px;padding:35px 4%}.hero h1{font-size:6rem}.hero-image{min-height:535px}.hero-actions{gap:18px}.hero-bottom{font-size:.75rem;flex-wrap:wrap;gap:6px}.hero-bottom span+span{border:0;padding-left:0}.stay-bar{gap:20px}.stay-bar>div{display:block}.stay-bar strong{display:block;margin-bottom:8px}.section{padding:85px 6%}.about{gap:6%}.rooms{gap:20px}.rooms img{height:135px}.region{padding:80px 6%}.region-stories{gap:22px}.region-story img{height:210px}.booking{gap:6%}.booking-form{padding:28px}.practical{padding-top:0}.brand{font-size:1.4rem}.header .brand-mark{width:53px;flex-basis:53px}.header .brand-mark img{left:-97px}}
@media(max-width:850px){.header nav{display:none}.hero h1{font-size:5rem}.hero-copy{padding-top:24px}.hero .eyebrow{font-size:.75rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-bottom{padding-top:24px}.hero-image{min-height:540px}.rooms{grid-template-columns:repeat(3,minmax(0,1fr))}.rooms h3{grid-column:span 3}.rooms img{height:180px}.region-heading{grid-template-columns:1fr;gap:20px}.region-heading>p{max-width:650px}.region-stories{gap:18px}.region-story h3{font-size:1.9rem}.region-story img{height:175px}.region-story>p:not(.eyebrow){font-size:.875rem}.booking{grid-template-columns:1fr 1.15fr;gap:5%}.two-fields{grid-template-columns:1fr}.two-fields label+label{margin-top:14px}.booking-form{padding:24px}.booking-form h3{font-size:2.2rem}.practical{column-gap:6%}}
@media(max-width:600px){.header{min-height:100px;gap:12px;padding:16px 5%;flex-wrap:wrap}.brand{font-size:1.35rem;gap:8px}.brand-mark{width:48px;flex-basis:48px;height:40px}.brand-mark img{width:205px;left:-78px;top:-19px}.header .brand-mark{width:48px;flex-basis:48px}.header .brand-mark img{left:-78px}.header-actions{gap:10px;margin-left:auto}.language-label select{max-width:61px;font-size:.8125rem;padding:9px 0}.button.small{font-size:.8125rem;padding:9px 12px;max-width:140px}.hero{margin:0 10px;grid-template-columns:1fr;padding:35px 7% 28px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(4.6rem,18vw,6.5rem);margin:0 0 24px;letter-spacing:-.045em}.hero .eyebrow{margin-bottom:22px}.intro{font-size:.9375rem;max-width:100%}.hero-actions{flex-direction:row;align-items:center;gap:22px;margin-top:25px}.hero-actions .button{padding:13px 18px}.hero-bottom{display:none}.hero-image{min-height:370px;border:0;border-radius:2px}.photo-note{font-size:1.35rem;bottom:20px}.photo-note em{font-size:1.7rem}.stay-bar{padding:28px 7%;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stay-bar>div{padding:0 10px 0 0}.stay-bar>div:nth-child(3){border:0;padding:0}.stay-bar strong{font-size:2.7rem}.stay-bar span{font-size:.8125rem}.stay-bar>a{grid-column:span 3;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:5px;gap:16px}.stay-bar>a>span:first-child{font-size:1.2rem}.stay-bar>a>span:last-child{font-size:.8125rem;white-space:nowrap}.section{padding:64px 7%}h2{font-size:3.1rem}.eyebrow{font-size:.75rem;margin-bottom:18px}.about{grid-template-columns:1fr;gap:4px}.about>div:last-child{padding:0}.amenities{font-size:.875rem;gap:12px 15px}.gallery{padding-top:5px}.section-heading{margin-bottom:26px}.section-heading>p{display:none}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:350px 220px;gap:12px}.photo.tall{grid-row:auto;grid-column:span 2;border-radius:120px 2px 2px 2px}.photo span{font-size:.75rem;left:14px;bottom:17px;right:10px}.rooms{grid-template-columns:1fr;gap:28px;margin-top:35px;padding-top:26px}.rooms h3{grid-column:auto;font-size:2.3rem}.rooms>div{display:grid;grid-template-columns:42% 1fr;column-gap:22px;align-content:center}.rooms img{height:145px;grid-row:span 2;margin:0}.rooms span{align-self:end;font-size:1.8rem}.rooms small{align-self:start;font-size:.875rem}.region{padding:65px 7%}.region-heading{gap:17px;margin-bottom:35px}.region-heading>p{font-size:.9375rem}.region-stories{grid-template-columns:1fr;gap:42px}.region-story img{height:250px}.region-story figure{margin-bottom:21px}.region-story h3{font-size:2.5rem}.region-story>p:not(.eyebrow){font-size:.9375rem}.region-story .eyebrow{margin-bottom:7px}.source-link{font-size:.875rem}.region-bottom{flex-direction:column;align-items:flex-start;gap:20px;margin-top:35px}.booking{grid-template-columns:minmax(0,1fr);gap:32px}.booking-intro{position:static}.steps{margin:28px 0}.booking-form{padding:25px}.booking-form h3{font-size:2.5rem}.two-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.two-fields label+label{margin:0}.booking-form input{padding:10px 7px;font-size:16px}.practical{display:block;padding-top:5px}.faq{margin-top:28px}footer{grid-template-columns:1fr;padding:50px 7% 24px;gap:24px}footer>div:nth-child(2){text-align:left}footer .brand{font-size:1.7rem}.footer-bottom{grid-column:auto;flex-direction:column;font-size:.75rem;margin-top:12px;gap:16px}dialog{padding:42px 24px 28px}dialog h2{font-size:2.4rem}}
@media(max-width:380px){.header-actions .button{max-width:102px;line-height:1.3}.brand{font-size:1.2rem}.hero h1{font-size:4.25rem}.hero-actions{gap:15px}.hero-actions .text-link{font-size:.8125rem}.hero-image{min-height:320px}.two-fields{grid-template-columns:1fr}.two-fields label+label{margin-top:14px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
