@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Italiana&display=swap');
:root{--ink:#11110f;--cream:#f1eee7;--paper:#faf8f3;--wood:#a98b6a;--line:rgba(17,17,15,.18)}*{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-weight:300}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}h1,h2{font-family:'Italiana',Georgia,serif;font-weight:400;line-height:.96;margin:0}h1 em,h2 em{font-weight:400;color:var(--wood)}p{line-height:1.7}.nav{height:86px;position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;padding:0 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.28);transition:.3s}.nav.scrolled{position:fixed;background:rgba(17,17,15,.94);backdrop-filter:blur(14px)}.brand{font-size:18px;letter-spacing:.18em;font-weight:500;line-height:.9}.brand small{display:block;font-size:8px;letter-spacing:.42em;margin-top:8px;font-weight:300}.nav nav{display:flex;gap:32px;margin:auto;font-size:12px;letter-spacing:.08em}.nav nav a:hover{opacity:.65}.nav-cta{border:1px solid currentColor;padding:13px 23px;font-size:11px;text-transform:uppercase;letter-spacing:.15em}.menu{display:none}.hero{height:100svh;min-height:720px;position:relative;color:#fff}.hero>img,.final>img{height:100%;position:absolute}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 45%)}.hero-copy{position:absolute;left:8vw;top:49%;transform:translateY(-45%);max-width:850px}.eyebrow,.section-no{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:500}.hero h1{font-size:clamp(66px,8.8vw,138px)}.hero .intro{max-width:480px;font-size:17px;color:rgba(255,255,255,.82);margin:28px 0}.actions{display:flex;align-items:center;gap:35px}.button{display:inline-flex;justify-content:center;align-items:center;padding:18px 27px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;border:0;cursor:pointer}.button.light{background:var(--cream);color:var(--ink)}.button.dark{background:var(--ink);color:#fff}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.text-link span{margin-left:14px}.facts{position:absolute;bottom:0;right:0;width:65%;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(17,17,15,.88);backdrop-filter:blur(10px)}.facts span{padding:24px;text-align:center;text-transform:uppercase;letter-spacing:.13em;font-size:9px;border-right:1px solid rgba(255,255,255,.15)}.manifesto{display:grid;grid-template-columns:1fr 2fr;padding:150px 8vw;background:var(--cream)}.manifesto h2,.amen-head h2{font-size:clamp(54px,7vw,100px)}.manifesto>div>p{max-width:620px;margin:40px 0 30px;font-size:16px}.underlink{font-size:11px;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid;padding-bottom:6px}.split{display:grid;grid-template-columns:1.12fr .88fr;min-height:760px}.split>img{height:100%}.split-copy{background:var(--paper);padding:13vw 8vw;display:flex;flex-direction:column;justify-content:center}.split h2{font-size:clamp(48px,5.5vw,78px);margin:24px 0}.split-copy>p:not(.eyebrow){max-width:520px}.mini{margin-top:45px;border-top:1px solid var(--line)}.mini span{display:flex;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.06em}.mini b{width:55px;color:var(--wood)}.bath{height:88svh;min-height:680px;position:relative;color:#fff;display:flex;align-items:end;padding:8vw}.bath>img{position:absolute;inset:0;height:100%}.bath:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 70%)}.bath>div{position:relative;z-index:1;max-width:670px}.bath h2{font-size:clamp(58px,7vw,108px)}.bath p:last-child{max-width:520px;color:rgba(255,255,255,.8)}.light-text{color:rgba(255,255,255,.65)}.amenities{padding:140px 8vw}.amen-head{display:grid;grid-template-columns:1fr 2fr}.amen-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.amen-grid article{padding:45px 28px 55px 0;border-right:1px solid var(--line);margin-right:28px}.amen-grid article:last-child{border:0}.amen-grid span{font-size:28px;color:var(--wood)}.amen-grid h3{font-family:'Italiana';font-size:24px;font-weight:400;margin:55px 0 18px}.amen-grid p{font-size:13px;color:#5d5b55}.direct{padding:140px 8vw;background:var(--ink);color:#fff;text-align:center}.direct h2{font-size:clamp(58px,7vw,102px);margin:25px 0 55px}.direct-points{display:flex;justify-content:center;margin:0 auto 50px}.direct-points span{padding:0 35px;border-right:1px solid rgba(255,255,255,.2);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.direct-points span:last-child{border:0}.location{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px}.location>div:first-child{padding:130px 8vw}.location h2{font-size:clamp(55px,6vw,88px);margin:35px 0}.location ul{padding:0;margin:50px 0 0;list-style:none}.location li{padding:18px 0;border-top:1px solid var(--line);font-size:12px}.location li span{display:inline-block;width:45%;font-weight:500}.map{background:#d8d0c4;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}.map:before,.map:after{content:"";position:absolute;background:rgba(255,255,255,.5);width:160%;height:2px;transform:rotate(-35deg)}.map:after{transform:rotate(50deg)}.map b,.map span{position:relative;z-index:1;background:#d8d0c4;padding:7px 15px}.map b{letter-spacing:.2em}.map span{font-family:'Italiana';font-size:24px}.map i{width:18px;height:18px;background:var(--ink);border:5px solid #d8d0c4;border-radius:50%;z-index:2;margin-top:20px;box-shadow:0 0 0 1px var(--ink)}.reviews{background:#171715;color:#fff;padding:130px 8vw;text-align:center}.score{display:flex;justify-content:center;align-items:center;gap:25px;margin:65px 0}.score b{font:80px 'Italiana'}.score span{text-align:left;font-size:10px;letter-spacing:.14em;line-height:2}.reviews blockquote{font:clamp(34px,4.5vw,68px)/1.18 'Italiana';max-width:1100px;margin:0 auto}.review-note{font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.5);margin-top:45px}.final{height:80svh;min-height:620px;position:relative;display:grid;place-items:center;text-align:center;color:#fff}.final>div:last-child{z-index:1}.final h2{font-size:clamp(60px,8vw,112px);margin:25px 0 45px}footer{background:var(--ink);color:#fff;padding:60px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;border-top:1px solid rgba(255,255,255,.14)}footer p,footer a{font-size:10px;letter-spacing:.09em}footer>div{display:flex;justify-content:flex-end;gap:25px}footer>small{grid-column:1/-1;color:#777;font-size:9px}.mobile-book{display:none}.dark-nav{position:relative;background:var(--paper);color:var(--ink);border-color:var(--line)}.inner .dark-nav{position:relative}.back{margin-left:auto;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.gallery-page{padding:110px 6vw}.gallery-page h1,.legal-page h1{font-size:clamp(70px,10vw,140px)}.gallery-intro{max-width:520px;margin:30px 0 80px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw 2vw}.gallery-grid figure{margin:0}.gallery-grid figure:nth-child(3){margin-top:10vw}.gallery-grid .wide{grid-column:1/-1}.gallery-grid .wide img{height:75svh}.gallery-grid figure:not(.wide) img{height:62vw;max-height:800px}.gallery-grid figcaption{padding:14px 0;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.gallery-cta{text-align:center;padding:140px 0 40px}.gallery-cta h2{font-size:clamp(55px,7vw,95px);margin-bottom:45px}.booking-page{background:var(--cream)}.booking-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:90px 8vw 120px;max-width:1500px;margin:auto}.booking-copy h1{font-size:clamp(70px,8vw,120px);margin:30px 0}.booking-copy>p:not(.section-no){max-width:520px}.booking-copy ol{list-style:none;padding:0;margin:55px 0}.booking-copy li{display:flex;gap:25px;padding:18px 0;border-top:1px solid var(--line)}.booking-copy li>b{color:var(--wood);font-size:11px}.booking-copy li span{font-size:13px}.booking-copy li small{display:block;color:#777;margin-top:5px}.trust{display:flex;gap:25px;align-items:center}.trust b{font:38px 'Italiana'}.trust span{font-size:11px;line-height:1.6}.booking-card{background:#fff;padding:55px;box-shadow:0 30px 80px rgba(30,22,13,.08)}.booking-card label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.16em;margin:19px 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #bbb;background:transparent;padding:13px 0;font:14px 'DM Sans';border-radius:0}textarea{resize:vertical}.booking-status{display:flex;align-items:flex-start;gap:14px;background:var(--cream);padding:17px;margin:28px 0}.booking-status p{font-size:10px;margin:0;line-height:1.5}.status-dot{width:8px;height:8px;border-radius:50%;background:#d49b52;margin-top:4px;flex:none}.booking-card .button{width:100%}.legal{display:block;text-align:center;color:#777;line-height:1.5;margin-top:15px;font-size:9px}dialog{border:0;padding:55px;max-width:550px;text-align:center;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#111b;backdrop-filter:blur(4px)}dialog h2{font-size:48px}dialog>button{position:absolute;right:18px;top:12px;border:0;background:none;font-size:28px}.legal-page{max-width:900px;padding:100px 8vw 180px}.legal-page h2{font-size:38px;margin-top:55px}
@media(max-width:800px){.nav{height:70px;padding:0 20px}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);color:#fff;padding:35px 25px;flex-direction:column}.nav.open nav{display:flex}.menu{display:block;margin-left:auto;border:0;background:none;color:inherit;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.nav-cta{display:none}.hero{min-height:700px}.hero-copy{left:24px;right:24px;top:44%}.hero h1{font-size:58px}.hero .intro{font-size:14px}.actions{align-items:flex-start;flex-direction:column;gap:22px}.facts{width:100%;grid-template-columns:1fr 1fr}.facts span{padding:14px}.manifesto,.amen-head{grid-template-columns:1fr;padding:90px 24px;gap:35px}.manifesto h2,.amen-head h2{font-size:52px}.split{grid-template-columns:1fr;min-height:0}.split>img{height:65svh}.split-copy{padding:80px 24px}.bath{padding:80px 24px;min-height:650px}.amenities{padding:90px 24px}.amen-head{padding:0}.amen-grid{grid-template-columns:1fr 1fr;margin-top:60px}.amen-grid article{padding:30px 14px 35px 0;margin-right:14px}.amen-grid h3{font-size:20px;margin-top:30px}.direct{padding:90px 24px}.direct h2{font-size:50px}.direct-points{flex-direction:column;gap:18px}.direct-points span{border:0}.location{grid-template-columns:1fr}.location>div:first-child{padding:90px 24px}.map{min-height:450px}.reviews{padding:90px 24px}.score b{font-size:60px}.final h2{font-size:55px}footer{grid-template-columns:1fr;padding-bottom:100px}footer>div{justify-content:flex-start}footer>small{grid-column:auto}.mobile-book{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;background:var(--cream);color:var(--ink);padding:18px 24px;justify-content:space-between;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.gallery-page{padding:70px 20px}.gallery-grid{display:block}.gallery-grid figure{margin:0 0 35px!important}.gallery-grid .wide img,.gallery-grid figure:not(.wide) img{height:65svh}.booking-wrap{grid-template-columns:1fr;padding:70px 20px}.booking-card{padding:32px 22px}.field-row{grid-template-columns:1fr}.booking-copy h1{font-size:62px}.dark-nav nav{background:var(--paper);color:var(--ink)}.back{font-size:9px}dialog{padding:45px 25px;margin:20px}}
.price-callout{display:flex;align-items:center;gap:18px;margin:32px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-callout b{font:48px 'Italiana'}.price-callout span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;line-height:1.6}.price-callout small{color:#777;text-transform:none;letter-spacing:0}.legal-warning{margin-top:60px;padding:25px;background:var(--cream);border-left:3px solid var(--wood);font-size:12px}.maps-link{display:inline-block;margin-top:35px}.map{transition:filter .25s}.map:hover{filter:brightness(.94)}.map-embed{position:relative;min-height:760px;background:#d8d0c4;overflow:hidden}.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) sepia(.12) contrast(.92)}.map-embed>a{position:absolute;right:24px;bottom:24px;z-index:2;background:var(--ink);color:#fff;padding:14px 18px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;box-shadow:0 8px 30px rgba(0,0,0,.22)}
@media(prefers-reduced-motion:no-preference){.button,.nav-cta{transition:.25s}.button:hover,.nav-cta:hover{transform:translateY(-2px);filter:brightness(.9)}}
@media(max-width:800px){.map-embed{min-height:450px}}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:28px 0 18px}.calendar-toolbar strong{text-transform:capitalize;font:24px 'Italiana'}.calendar-toolbar button{border:1px solid var(--line);background:transparent;width:38px;height:38px;cursor:pointer}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar>b{text-align:center;font-size:9px;padding:8px;color:#777}.calendar>span{min-height:40px}.calendar>button{min-height:43px;border:0;background:var(--cream);cursor:pointer;font:12px 'DM Sans'}.calendar>button:hover{outline:1px solid var(--wood)}.calendar>button.is-unavailable{background:#eee;color:#aaa;text-decoration:line-through;cursor:not-allowed}.calendar>button.is-selected{background:#d7c4aa}.calendar>button.is-edge{background:var(--ink);color:#fff}.calendar-legend{display:flex;gap:15px;margin:15px 0 25px;font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{width:10px;height:10px;background:var(--cream)}.calendar-legend i.selected{background:#d7c4aa}.calendar-legend i.unavailable{background:#ddd}.selected-dates input{color:#555}.stay-summary{display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--cream);padding:18px;margin:20px 0}.stay-summary strong{font:26px 'Italiana'}.stay-summary small{grid-column:1/-1;color:#777;margin-top:5px}.booking-card label.check{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;font-size:12px}.check input{width:auto;margin:0}.check a{text-decoration:underline}.form-error{background:#f5dddd;color:#761f1f;padding:14px;font-size:11px;margin:15px 0}.button:disabled{opacity:.55;cursor:wait}
@media(max-width:500px){.calendar>button{min-height:38px}.calendar-legend{flex-wrap:wrap}.booking-card{padding:28px 18px}}
.creator-credit{background:var(--ink);color:#777;padding:24px 5vw 32px;text-align:center;font-size:9px;letter-spacing:.09em}.creator-credit a{color:#d9c2a6;border-bottom:1px solid #d9c2a6;padding-bottom:2px}.map-embed iframe{background:#d8d0c4}
@media(max-width:800px){.creator-credit{padding-bottom:90px}}
