:root{--ink:#3b1b0c;--green:#71300c;--deep:#351307;--gold:#f3a313;--cream:#fff1d0;--paper:#fffaf0;--muted:#7e654f;--line:rgba(79,35,12,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}img,video{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip{position:fixed;top:-100px;left:1rem;background:white;padding:.7rem 1rem;z-index:999}.skip:focus{top:1rem}.site-header{position:fixed;top:0;left:0;right:0;height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:white;z-index:50;transition:.3s}.site-header.scrolled,.site-header.nav-open{height:72px;background:rgba(53,19,7,.97);box-shadow:0 8px 30px #0002}.brand,.footer-brand{display:flex;align-items:center;gap:12px;font-size:15px;letter-spacing:.22em;line-height:1}.brand small,.footer-brand small{display:block;font-size:8px;letter-spacing:.27em;margin-top:7px;opacity:.72}.brand-mark{width:39px;height:45px;border:1px solid var(--gold);display:grid;place-items:center;font-family:Italiana,serif;font-size:27px;color:var(--gold);clip-path:polygon(50% 0,100% 18%,100% 82%,50% 100%,0 82%,0 18%)}nav{display:flex;gap:2.2rem;font-size:13px}nav a{position:relative}nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:.25s}nav a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.55rem;background:var(--gold);color:#351307;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:600;transition:.25s}.button:hover{background:#e7bd63;transform:translateY(-2px)}.button-sm{min-height:42px;padding:0 1.2rem}.menu-toggle{display:none;background:none;border:0;color:white}.hero{height:100svh;min-height:650px;position:relative;color:white;background:var(--deep)}.hero-media,.hero-shade{position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,rgba(35,13,4,.72) 0%,rgba(35,13,4,.28) 58%,rgba(35,13,4,.08)),linear-gradient(0deg,rgba(35,13,4,.52),transparent 40%)}.hero-copy{position:absolute;left:8vw;top:50%;transform:translateY(-43%);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;margin:0 0 1.2rem;color:#806955}.eyebrow.light{color:#e4d9c7}.hero h1,h2{font-family:Italiana,serif;font-weight:400;line-height:.96;letter-spacing:-.02em;margin:0}.hero h1{font-size:clamp(4rem,8vw,8.5rem)}em{color:var(--gold);font-weight:400}.hero-copy>p:not(.eyebrow){max-width:520px;font-size:18px;color:#f1eee6;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:2.2rem}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link.light{border-color:#fff}.text-link span{margin-left:10px}.hero-note{position:absolute;right:4vw;bottom:3rem;font-size:10px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl}.hero-note span{font-size:18px;margin-bottom:12px}.section{padding:clamp(5rem,10vw,10rem) 8vw}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:6rem 9vw;align-items:start}.intro h2,.section-heading h2,.booking h2{font-size:clamp(3.2rem,6vw,6.6rem)}.intro-copy{padding-top:3.5rem;max-width:540px;color:var(--muted)}.intro-copy p:first-child{font-size:21px;color:var(--ink)}.intro-copy .text-link{display:inline-block;margin-top:1.5rem;color:var(--ink)}.intro-image{overflow:hidden}.intro-image.tall{height:680px}.intro-image.small{height:430px;margin-top:7rem}.stays{background:var(--cream);padding-right:0}.section-heading{display:flex;justify-content:space-between;align-items:end;padding-right:8vw;margin-bottom:4rem}.section-heading>p{max-width:440px;color:var(--muted)}.room-track{display:flex;gap:1.5rem;overflow-x:auto;padding-right:8vw;padding-bottom:2.5rem;scroll-snap-type:x mandatory}.room-track::-webkit-scrollbar{height:3px}.room-track::-webkit-scrollbar-thumb{background:var(--gold)}.room-card{min-width:min(72vw,800px);display:grid;grid-template-columns:1.25fr .75fr;min-height:520px;background:var(--paper);scroll-snap-align:start}.room-image{position:relative;overflow:hidden}.room-image img{transition:transform .7s}.room-card:hover .room-image img{transform:scale(1.035)}.room-image>span{position:absolute;left:1.5rem;top:1.5rem;background:var(--paper);width:42px;height:42px;display:grid;place-items:center;font-family:Italiana,serif}.room-info{padding:3rem;display:flex;flex-direction:column;justify-content:space-between}.room-info h3,.experience-list h3{font:400 36px/1.05 Italiana,serif;margin:0}.room-info>p{color:var(--muted)}.room-meta strong{font:400 31px Italiana,serif}.room-meta small{color:var(--muted)}.choose-room{display:block;margin-top:1.5rem;padding:0 0 6px;border:0;border-bottom:1px solid var(--ink);background:none;text-transform:uppercase;letter-spacing:.13em;font-size:10px;cursor:pointer}.experience{display:grid;grid-template-columns:1.45fr .55fr;background:var(--deep);color:white}.experience-main{min-height:780px;position:relative}.experience-main:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(43,16,5,.72),transparent 62%)}.experience-title{position:absolute;left:8vw;bottom:6rem;z-index:1}.experience h2{font-size:clamp(3.6rem,6vw,7rem)}.experience-list{padding:6rem 4vw;display:flex;flex-direction:column;justify-content:center}.experience-list article{padding:2.2rem 0;border-bottom:1px solid #ffffff2e;display:grid;grid-template-columns:45px 1fr}.experience-list span{color:var(--gold);font:18px Italiana,serif}.experience-list p{color:#e6cfa4;margin:.7rem 0 0;font-size:13px}.booking{background:var(--green);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.booking-intro>p:not(.eyebrow){color:#e4cda4;max-width:480px}.booking-contact{border-top:1px solid #ffffff30;margin-top:4rem;padding-top:2rem;display:flex;flex-direction:column}.booking-contact span{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:9px;margin-bottom:.6rem}.booking-contact a{font-size:13px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem;align-content:start}.field{display:flex;flex-direction:column}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#ead7b1;margin-bottom:.5rem}.field label small{opacity:.6}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #ffffff54;background:transparent;color:white;padding:.65rem 0;outline:0;border-radius:0}.field select option{color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field input::placeholder,.field textarea::placeholder{color:#c7a978}.field>small{font-size:9px;color:#c7a978;margin-top:4px}.estimate{grid-column:1/-1;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #ffffff30;display:flex;align-items:center;justify-content:space-between}.estimate div{display:flex;flex-direction:column}.estimate span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#c7a978}.estimate strong{font:24px Italiana,serif;margin-top:.25rem}.button.gold span{font-size:17px;margin-left:12px}.form-status{grid-column:1/-1;font-size:13px;margin:0}.form-status.success{color:#f1cc78}.form-status.error{color:#ffaaa2}footer{background:#2b0d03;color:white;padding:5rem 8vw 2rem;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem;font-size:13px}footer>div{display:flex;flex-direction:column}footer .eyebrow{margin-bottom:.5rem}footer a{color:#e2cba0}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff24;margin-top:2rem;padding-top:1.5rem;flex-direction:row;justify-content:space-between;color:#b69768;font-size:10px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.shown{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:72px;padding:0 5vw}.site-header>.button{display:none}.menu-toggle{display:block;width:38px;height:38px;position:relative;z-index:2}.menu-toggle span{display:block;width:22px;height:1px;background:white;margin:6px auto;transition:.25s}.nav-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:fixed;inset:72px 0 0;background:var(--deep);padding:10vh 8vw;flex-direction:column;font:36px Italiana,serif}.nav-open nav{display:flex}.hero-copy{left:6vw;right:6vw}.hero h1{font-size:clamp(3.9rem,16vw,6rem)}.hero-note{display:none}.section{padding:5.5rem 6vw}.intro{grid-template-columns:1fr;gap:3rem}.intro-copy{padding-top:0}.intro-image.tall{height:500px}.intro-image.small{height:300px;margin-top:0}.section-heading{display:block;padding-right:6vw}.room-card{min-width:88vw;grid-template-columns:1fr;min-height:0}.room-image{height:400px}.experience{grid-template-columns:1fr}.experience-main{min-height:630px}.experience-list{padding:3rem 6vw}.booking{grid-template-columns:1fr}.booking-contact{margin-top:2.5rem}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{grid-column:1/-1}}@media(max-width:560px){.hero-actions{align-items:flex-start;flex-direction:column;gap:1.5rem}.hero-copy>p:not(.eyebrow){font-size:15px}.intro-image.tall{height:410px}.room-card{display:block}.room-image{height:310px}.room-info{padding:2rem;gap:1.5rem}.experience-main{min-height:520px}.experience-title{left:6vw;bottom:3rem}.booking-form{grid-template-columns:1fr}.field{grid-column:1/-1}.estimate{align-items:stretch;flex-direction:column;gap:1.5rem}.estimate .button{width:100%}footer{grid-template-columns:1fr}.footer-bottom{gap:1rem;align-items:flex-start;flex-direction:column}.section-heading>p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.hero-media{display:none}}
