:root{--orange:#d86828;--orange-dark:#b94e18;--cream:#f6f0e5;--paper:#fffdf8;--charcoal:#20221f;--muted:#6d6a61;--gold:#c7a65b;--line:rgba(32,34,31,.14);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--charcoal);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.035em}h2{font-size:clamp(2.6rem,5.2vw,5.6rem)}h1 em,h2 em{color:var(--orange);font-weight:500}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:200;top:8px;left:8px;background:#fff;padding:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}.section{padding:120px max(5vw,24px)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;color:var(--orange);margin-bottom:24px}.eyebrow.light{color:#f2b485}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:16px 24px;min-height:54px;font-weight:600;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:var(--orange-dark)}.button-dark{background:var(--charcoal);color:#fff}.button-cream{background:var(--cream);color:var(--charcoal)}.button-outline{border:1px solid var(--charcoal);background:transparent}.text-link{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:4px}.light{color:#fff}.site-header{height:92px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.2);color:#fff}.brand img{width:120px;height:auto;filter:drop-shadow(0 3px 7px rgba(0,0,0,.2))}.site-header nav{display:flex;align-items:center;gap:36px;font-size:.88rem}.site-header nav>a:not(.nav-book):after{content:"";display:block;height:1px;width:0;background:currentColor;transition:.2s}.site-header nav>a:hover:after{width:100%}.nav-book{background:var(--orange);padding:12px 20px}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero{position:relative;min-height:92vh;background:url(/media/optimized/_dsc7221.webp) center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;padding:130px 5vw 90px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111410c2,#1114101a 70%),linear-gradient(0deg,rgba(0,0,0,.48),transparent 55%)}.hero-content{position:relative;z-index:1;max-width:850px}.hero h1{font-size:clamp(4.5rem,9vw,9rem);margin-bottom:28px}.hero h1 em{color:#f0a06a}.hero-content>p:not(.eyebrow){font-size:clamp(1rem,1.5vw,1.3rem);max-width:540px;color:#ffffffdb}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.hero-note{position:absolute;z-index:1;right:5vw;bottom:94px;display:flex;gap:20px;font-size:.68rem;letter-spacing:.18em;writing-mode:vertical-rl}.booking-bar{width:min(1120px,90%);margin:-34px auto 0;position:relative;z-index:5;display:grid;grid-template-columns:1fr 1fr .8fr 1.3fr;background:#fff;box-shadow:0 16px 50px #271f151f}.booking-bar label{padding:14px 22px;font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);border-right:1px solid var(--line)}.booking-bar input,.booking-bar select{display:block;width:100%;border:0;background:transparent;color:var(--charcoal);font-weight:600;padding-top:5px;outline:0}.booking-bar .button{height:100%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.intro h2{max-width:650px}.intro-copy>p{font-family:var(--serif);font-size:1.4rem;line-height:1.6;max-width:560px}.benefits{margin-top:45px;border-top:1px solid var(--line)}.benefits span{display:flex;gap:22px;padding:17px 0;border-bottom:1px solid var(--line);font-size:.92rem}.benefits b{color:var(--orange);font-size:.72rem}.rooms{background:var(--cream)}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;margin-bottom:55px}.section-heading h2{margin:0}.section-heading>p{color:var(--muted);max-width:440px}.section-heading.compact{margin-bottom:40px}.inline-status{margin:20px 0;color:var(--muted);font-size:.9rem}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #ccc;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.room-card{background:#fff;overflow:hidden;display:flex;flex-direction:column}.room-image{aspect-ratio:1/1.05;overflow:hidden;position:relative}.room-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.room-card:hover .room-image img{transform:scale(1.03)}.room-badge{position:absolute;top:14px;left:14px;background:#ffffffed;padding:6px 9px;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.room-body{padding:24px;display:flex;flex-direction:column;flex:1}.room-body h3{font-family:var(--serif);font-size:1.45rem;margin-bottom:8px}.room-body>p{font-size:.85rem;color:var(--muted);min-height:66px}.room-meta{display:flex;gap:15px;font-size:.75rem;margin:12px 0 24px}.room-amenities{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:25px}.room-amenities span{background:var(--cream);font-size:.67rem;padding:5px 8px}.room-price{border-top:1px solid var(--line);padding-top:18px;margin-top:auto;display:flex;justify-content:space-between;align-items:end}.room-price strong{font-family:var(--serif);font-size:1.25rem}.room-price small{color:var(--muted)}.room-select{background:none;border:0;color:var(--orange);font-weight:600;cursor:pointer}.story{background:var(--charcoal);display:grid;grid-template-columns:.82fr 1.18fr;gap:6vw;color:#fff;align-items:center}.story-copy{padding-left:3vw}.story-copy h2{font-size:clamp(3rem,5.5vw,6rem)}.story-copy>p:not(.eyebrow){color:#c9c8c2;max-width:480px}.story-image img{width:100%;height:660px;object-fit:cover}.video-button{display:flex;align-items:center;gap:18px;background:none;border:0;color:#fff;text-align:left;padding:0;margin-top:36px;cursor:pointer}.play-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.55);border-radius:50%;color:var(--orange)}.video-button small{display:block;color:#989a94;margin-top:3px}.amenities{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr)}.amenity-grid article{padding:28px 22px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.amenity-grid article>span{font-family:var(--serif);color:var(--orange);font-size:1.4rem}.amenity-grid h3{font-family:var(--serif);margin:20px 0 8px}.amenity-grid p{font-size:.8rem;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px}.gallery-item{border:0;padding:0;overflow:hidden;cursor:zoom-in;background:#ddd}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-item:hover img{transform:scale(1.03)}.offer{padding-top:0;display:grid;grid-template-columns:1.1fr .9fr}.offer-image img{width:100%;height:650px;object-fit:cover}.offer-copy{background:var(--orange);color:#fff;padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.offer-kicker{font-size:.68rem;letter-spacing:.18em}.offer-copy h2{font-size:clamp(3rem,5vw,5rem);margin:20px 0}.offer-copy h2 em{color:#ffdfc9}.offer-copy p{max-width:420px}.offer-copy .button{align-self:flex-start;margin-top:18px}.testimonials{text-align:center}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;text-align:left}.quote-grid blockquote{margin:0;padding:35px 40px;border-left:1px solid var(--line)}.quote-grid blockquote>span{font-family:var(--serif);font-size:3.5rem;color:var(--orange);line-height:.7}.quote-grid blockquote p{font-family:var(--serif);font-size:1.25rem;line-height:1.55}.quote-grid footer{font-size:.75rem;color:var(--muted)}.booking-section{background:#252724;color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}.booking-intro{position:sticky;top:40px;align-self:start}.booking-intro p:not(.eyebrow){color:#b5b6af;max-width:450px}.assurance{margin-top:45px;display:flex;flex-direction:column;gap:13px;color:#d8d9d3;font-size:.85rem}.booking-form{background:var(--paper);color:var(--charcoal);padding:44px}.form-step-title{display:flex;align-items:center;gap:15px;margin:4px 0 24px}.form-step-title:not(:first-child){margin-top:42px}.form-step-title span{color:var(--orange);font-size:.7rem}.form-step-title h3{font-family:var(--serif);font-size:1.5rem;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:.72rem;font-weight:600}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:13px 14px;outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--orange);box-shadow:0 0 0 2px #d868281f}.form-grid [aria-invalid=true]{border-color:#b92f21}.form-message{display:none;padding:12px 15px;margin-top:15px;font-size:.84rem}.form-message.show{display:block}.form-message.error{background:#fae5e1;color:#8f2e24}.form-message.success{background:#e5f1e7;color:#315c37}.booking-summary{margin-top:35px;background:var(--cream);padding:20px 24px}.booking-summary>div{display:flex;justify-content:space-between;padding:7px 0}.booking-summary span{font-size:.82rem;color:var(--muted)}.booking-summary .total{border-top:1px solid var(--line);margin-top:8px;padding-top:15px}.booking-summary .total strong{font-family:var(--serif);font-size:1.5rem;color:var(--orange)}.consent{display:flex;align-items:start;gap:8px;font-size:.75rem;margin:18px 0}.consent a{text-decoration:underline}.submit-booking{width:100%;justify-content:space-between}.submit-booking[disabled]{opacity:.65;cursor:wait}.form-footnote{text-align:center;font-size:.7rem;color:var(--muted);margin:12px 0 0}.location{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.location-map iframe{width:100%;height:560px;border:0;filter:saturate(.65)}.location-copy address{font-style:normal;margin:28px 0;color:var(--muted)}.faq{background:var(--cream);display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.accordion details{border-top:1px solid var(--line);padding:22px 0}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{font-family:var(--serif);font-size:1.2rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.accordion summary:after{content:"+";color:var(--orange)}.accordion details[open] summary:after{content:"−"}.accordion p{color:var(--muted);font-size:.9rem;max-width:660px;margin:14px 30px 0 0}.contact-dock{position:fixed;z-index:30;right:16px;bottom:18px;display:flex;flex-direction:column;gap:7px}.contact-dock a{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--charcoal);color:#fff;font-size:.75rem;box-shadow:0 5px 20px #0000002e}.contact-dock a:first-child{background:#218c55}.site-footer{background:#171916;color:#d8d9d4;padding:75px 5vw 25px}.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:5vw;padding-bottom:60px}.footer-brand img{width:160px}.footer-brand p{max-width:260px;color:#93958f}.footer-main h3{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:#f0a06a}.footer-main>div:not(.footer-brand){display:flex;flex-direction:column;gap:10px;font-size:.84rem}.footer-main span{color:#93958f}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:22px;display:flex;justify-content:space-between;font-size:.7rem;color:#777b73}.footer-bottom div{display:flex;gap:20px}.staff-link{opacity:.58}.media-modal{width:min(1100px,92vw);border:0;padding:0;background:#111;color:#fff}.media-modal::backdrop,.result-modal::backdrop{background:#000000d6}.modal-content video,.modal-content img{width:100%;max-height:82vh;object-fit:contain}.modal-close{position:absolute;z-index:2;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;font-size:1.5rem;cursor:pointer}.result-modal{border:0;padding:48px;width:min(500px,90vw);text-align:center}.result-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e3f0e5;color:#2e6e3b;margin:0 auto 25px;font-size:1.5rem}.result-modal h2{font-size:2.8rem}.result-modal strong{display:block;padding:15px;background:var(--cream);margin:25px 0}.legal-page{background:var(--cream);min-height:100vh;padding:6vw}.legal-page main{background:#fff;max-width:800px;margin:auto;padding:6vw}.legal-page .brand img{width:130px;margin-bottom:55px}.legal-page h1{font-size:clamp(3rem,8vw,6rem)}.legal-page p{color:var(--muted);font-size:1.05rem}@media(max-width:950px){.section{padding:90px 5vw}.site-header nav{position:absolute;top:92px;left:0;right:0;background:var(--charcoal);padding:30px;flex-direction:column;align-items:stretch;display:none}.site-header nav.open{display:flex}.menu-toggle{display:block}.menu-toggle span:not(.sr-only){display:block;width:24px;height:1px;background:#fff;margin:5px}.hero{min-height:850px}.booking-bar,.room-grid{grid-template-columns:1fr 1fr}.intro,.story,.amenities,.booking-section,.location,.faq{grid-template-columns:1fr}.story-copy{padding:0}.story-image img{height:480px}.amenity-grid{grid-template-columns:repeat(3,1fr)}.offer{grid-template-columns:1fr}.offer-image img{height:450px}.booking-intro{position:static}.footer-main{grid-template-columns:1.3fr 1fr 1fr}.footer-main>div:last-child{display:none}}@media(max-width:620px){h2{font-size:2.8rem}.section{padding:72px 20px}.site-header{height:76px;padding:0 20px}.site-header .brand img{width:95px}.site-header nav{top:76px}.hero{min-height:720px;padding:110px 20px 70px;background-position:58% center}.hero h1{font-size:4rem}.hero-note{display:none}.hero-actions{align-items:flex-start;flex-direction:column}.booking-bar{width:calc(100% - 28px);grid-template-columns:1fr 1fr}.booking-bar label{padding:12px}.booking-bar .button{grid-column:1/-1}.intro,.section-heading{grid-template-columns:1fr;gap:22px}.intro-copy>p{font-size:1.2rem}.room-grid{grid-template-columns:1fr}.room-image{aspect-ratio:1.25/1}.story{padding-left:20px;padding-right:20px}.story-image img{height:340px}.amenity-grid{grid-template-columns:1fr 1fr}.amenity-grid article{padding:22px 16px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 1}.offer-image img{height:350px}.offer-copy{padding:60px 24px}.quote-grid{grid-template-columns:1fr}.quote-grid blockquote{border-left:0;border-top:1px solid var(--line);padding:28px 12px}.booking-form{padding:28px 18px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.location-map iframe{height:380px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}.contact-dock{right:10px}.contact-dock a{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{overflow-x:hidden}.hero-content{min-width:0;width:100%}.story-image{position:relative;overflow:hidden}.story-image video{display:block;width:100%;height:660px;object-fit:cover;background:#111}.video-button-overlay{position:absolute;left:24px;bottom:24px;margin:0;padding:12px 16px;background:#111310e0;border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.video-button-overlay:hover{background:var(--orange)}.video-button-overlay .play-icon{width:48px;height:48px;background:#fff;color:var(--orange);border:0}.sound-note{position:absolute;right:16px;top:16px;padding:7px 10px;background:#111310c7;color:#fff;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:620px){.hero h1{font-size:3.55rem}.hero-content>p:not(.eyebrow){max-width:330px}}@media(max-width:950px){.story-image video{height:480px}}@media(max-width:620px){.story-image video{height:340px}}@media(max-width:620px){.video-button-overlay{left:12px;bottom:12px;padding:9px 12px}.video-button-overlay .play-icon{width:40px;height:40px}}
