
:root{--ink:#211d1d;--taupe:#837260;--sand:#e8dfd3;--paper:#f8f5f0;--gold:#b89457;--plum:#51404b;--muted:#756d68;--white:#fff;--shadow:0 18px 50px rgba(33,29,29,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1180px,92%);margin:auto}.topline{background:#171414;color:#d8cec6;font-size:.78rem;letter-spacing:.06em}.topline .container{display:flex;justify-content:space-between;gap:18px;padding:8px 0;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,245,240,.94);backdrop-filter:blur(14px);border-bottom:1px solid #dfd6cc}.navwrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:25px}.brand img{width:260px;height:auto}.nav{display:flex;align-items:center;gap:24px;font-size:.86rem;text-transform:uppercase;letter-spacing:.09em}.nav a{padding:31px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{border-color:var(--gold)}.nav .book{background:var(--ink);color:white;padding:13px 18px;border:0}.menu-toggle{display:none;background:none;border:1px solid #cfc4b8;padding:9px 12px}.hero{min-height:690px;display:grid;align-items:end;background-size:cover;background-position:center;position:relative;color:white}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,15,.78),rgba(18,15,15,.24) 58%,rgba(18,15,15,.12)),linear-gradient(0deg,rgba(18,15,15,.72),transparent 58%)}.hero .inner{position:relative;padding:110px 0 80px;max-width:770px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.25em;color:var(--gold);font-weight:700}.hero h1,.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,7vw,6.4rem);line-height:.95;margin:.2em 0 .25em;font-weight:400}.hero p{font-size:1.15rem;max-width:680px;color:#eee6df}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:700;background:var(--ink);color:white;cursor:pointer}.btn.light{background:white;color:var(--ink);border-color:white}.btn.outline{background:transparent;border-color:currentColor}.btn.gold{background:var(--gold);border-color:var(--gold);color:#171414}.booking-strip{background:var(--white);box-shadow:var(--shadow);position:relative;margin-top:-34px;z-index:4;padding:22px}.booking-grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr auto;gap:13px;align-items:end}.field label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:6px;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid #d8cec3;background:#fff;padding:13px;color:var(--ink)}section{padding:90px 0}.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.25rem,4vw,4rem);line-height:1.08;font-weight:400;margin:.15em 0 .45em}.lead{font-family:Georgia,serif;font-size:1.25rem;color:#5e5550}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:white;box-shadow:0 10px 35px rgba(33,29,29,.08);overflow:hidden}.card-img{aspect-ratio:4/3;object-fit:cover;width:100%;background:#ddd}.card-body{padding:25px}.card h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:0 0 8px}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ded4c8;border-bottom:1px solid #ded4c8;background:#eee7df}.fact{text-align:center;padding:32px 15px}.fact strong{font-family:Georgia,serif;font-size:2rem;font-weight:400;display:block}.dark{background:var(--ink);color:#f5eee8}.dark .lead,.dark .muted{color:#c7bdb5}.image-frame{position:relative}.image-frame:after{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--gold);z-index:-1}.quote{font-family:Georgia,serif;font-size:1.8rem;line-height:1.35}.page-hero{min-height:460px;display:grid;align-items:end;background-size:cover;background-position:center;position:relative;color:white}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,17,.8),rgba(20,17,17,.18))}.page-hero .inner{position:relative;padding:80px 0 55px}.breadcrumbs{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#ddd}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tab{border:1px solid #b9ab9f;background:transparent;padding:10px 16px;cursor:pointer}.tab.active{background:var(--ink);color:#fff}.room-panel{display:none}.room-panel.active{display:block}.amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;list-style:none;padding:0}.amenities li{background:#eee7df;padding:13px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:12px}.gallery button{border:0;padding:0;cursor:pointer;background:none;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery button:hover img{transform:scale(1.04)}.gallery button:nth-child(1){grid-column:span 7;grid-row:span 2}.gallery button:nth-child(2){grid-column:span 5}.gallery button:nth-child(3){grid-column:span 5}.gallery button:nth-child(4){grid-column:span 4}.gallery button:nth-child(5){grid-column:span 8}.modal{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:100}.modal.open{display:flex}.modal img{max-height:88vh;max-width:92vw}.modal-close{position:absolute;top:20px;right:25px;color:white;background:none;border:0;font-size:2rem}.notice{padding:18px;border-left:4px solid var(--gold);background:#f0e9e1}.price-card{padding:28px;background:white;border-top:4px solid var(--gold);box-shadow:var(--shadow)}.price{font-family:Georgia,serif;font-size:2rem}.accordion-item{border-bottom:1px solid #d9cec2}.accordion-btn{width:100%;background:none;border:0;padding:19px 0;text-align:left;font-weight:700;display:flex;justify-content:space-between;cursor:pointer}.accordion-content{display:none;padding:0 0 20px}.accordion-item.open .accordion-content{display:block}.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.filterbar button{padding:10px 14px;border:1px solid #b9ab9f;background:white;cursor:pointer}.filterbar button.active{background:var(--ink);color:white}.footer{background:#171414;color:#d7cec6;padding:70px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:45px}.footer h4{color:white;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.footer a{display:block;margin:8px 0;color:#c9bfb7}.footer .brand img{width:280px}.copyright{border-top:1px solid #3d3735;margin-top:45px;padding-top:20px;font-size:.8rem;color:#958b84}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:15px 18px;transform:translateY(130%);transition:.3s;z-index:200}.toast.show{transform:none}.search-results{display:grid;gap:12px}.search-result{padding:20px;background:white;border-left:3px solid var(--gold)}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:999}
@media(max-width:950px){.menu-toggle{display:block}.nav{position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:20px 5%;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:9px 0}.brand img{width:215px}.booking-grid{grid-template-columns:1fr 1fr}.booking-grid .btn{grid-column:span 2}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.amenities{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.topline .container{justify-content:center}.topline span:last-child{display:none}.hero{min-height:590px}.hero .inner{padding-bottom:60px}.hero h1,.page-hero h1{font-size:3.2rem}.booking-strip{margin-top:0}.booking-grid{grid-template-columns:1fr}.booking-grid .btn{grid-column:auto}.grid-3{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.gallery{display:block}.gallery button{display:block;width:100%;height:250px;margin-bottom:10px}.amenities{grid-template-columns:1fr}section{padding:65px 0}}
