@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--red:#c91520;--orange:#f36b12;--blush:#fff0f0;--ivory:#fff9f3;--dark:#17121a;--gold:#d6a45a;--muted:#625e62;--line:#f0e2dd;--shadow:0 18px 50px rgba(86,32,26,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--dark);font:16px/1.7 Manrope,Arial,sans-serif;background:#fffdfb}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{line-height:1.15}h1,h2,.brand{font-family:'Playfair Display',Georgia,serif}h2{font-size:clamp(30px,3vw,46px);font-weight:800;letter-spacing:-.025em}h2 em,h1 em{color:var(--orange);font-style:normal}h3{line-height:1.35}p{color:#514c50}.container{width:min(1370px,calc(100% - 64px));margin:auto}.skip{position:absolute;top:-80px;left:10px;z-index:200;background:#fff;padding:12px}.skip:focus{top:10px}.topbar{background:linear-gradient(110deg,#9e0010,var(--red));color:white;font-size:12px;font-weight:700}.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px}.header{background:rgba(255,252,248,.98);position:sticky;top:0;z-index:80;box-shadow:0 3px 18px #22000012}.navrow{display:flex;align-items:center;justify-content:space-between;min-height:83px;gap:25px}.brand{display:flex;align-items:center;gap:10px;font-size:clamp(19px,2vw,29px);font-weight:800;color:#a40a17;line-height:1}.brand small{display:block;font:700 12px Manrope;letter-spacing:.34em;text-align:center;margin-top:7px;color:#23131a}.brand-mark{font-size:48px;color:var(--orange)}.nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:800}.nav>a:not(.nav-book){padding:12px 0;position:relative}.nav>a.active,.nav>a:hover{color:var(--red)}.nav>a.active:after{content:'';height:2px;background:var(--red);position:absolute;bottom:5px;left:0;right:0}.nav-book,.btn{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:linear-gradient(125deg,#a90013,var(--red));color:#fff!important;border-radius:9px;padding:13px 24px;font-weight:800;font-size:14px;border:1px solid transparent;box-shadow:0 9px 22px #ba0c1b24;transition:transform .25s,box-shadow .25s}.nav-book:hover,.btn:hover{transform:translateY(-3px);box-shadow:0 14px 26px #ba0c1b30}.btn.outline{background:white;color:var(--red)!important;border-color:var(--red);box-shadow:none}.btn.light{background:#fff;color:var(--red)!important}.menu-toggle{display:none;background:none;border:0;font-size:30px;color:var(--red)}.hero{background:linear-gradient(90deg,rgba(255,246,240,.92) 0%,rgba(255,248,243,.72) 43%,rgba(23,15,19,.16) 100%),var(--hero) center/cover;min-height:610px;padding:48px 0 30px;position:relative}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(350px,.78fr);gap:5%;align-items:start}.hero-copy{padding:45px 0 0;max-width:730px}.eyebrow,.section-heading small,.pagehero small,.cta small{display:block;color:#a50012;font-size:12px;letter-spacing:.22em;font-weight:800;margin-bottom:15px}.hero h1{font-size:clamp(49px,5.7vw,88px);color:#9b0919;margin:0 0 14px;letter-spacing:-.04em}.hero h3{font-size:18px;margin:0 0 10px}.hero h3 b{color:var(--orange)}.hero-copy p{max-width:600px;font-weight:600;color:#32282b}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.booking-panel{background:#fffaf7;border-radius:20px;padding:18px;box-shadow:0 25px 65px #27060a35;border:1px solid #ffffff90}.panel-title{background:linear-gradient(110deg,#a60011,#d70a20);border-radius:12px;padding:13px 16px;color:#fff;font:800 23px 'Playfair Display';display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title span{font:800 11px Manrope;background:#fff3d9;color:#a4161d;border-radius:30px;padding:8px}.booking-panel>p{font-size:13px;font-weight:700;margin:13px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.enquiry-form label{font-size:12px;font-weight:800;display:block;color:#392c31}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #e8dcdb;border-radius:8px;padding:10px;background:#fff;outline:none;min-height:43px;margin-top:4px;font-size:14px;color:#242024}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #c9152017}.wide{grid-column:1/-1}.trap{position:absolute;left:-9999px}.form-submit{width:100%;margin-top:13px}.form-feedback{font-size:13px;margin:8px 0;color:var(--red)}.fineprint{font-size:11px;text-align:center;margin:8px 0 0}.hero-highlights{margin-top:28px;display:flex;align-items:center;justify-content:space-around;background:#fffcf8ee;border-radius:14px;padding:16px;gap:12px;box-shadow:var(--shadow)}.hero-highlights>div{display:grid;grid-template-columns:30px 1fr;column-gap:7px;line-height:1.25;font-size:20px}.hero-highlights strong{font-size:13px}.hero-highlights small{font-size:11px;grid-column:2;color:#555}.section{padding:76px 0}.section.tinted{background:linear-gradient(120deg,#fff4f0,#fffaf6)}.section-heading{margin-bottom:30px;max-width:800px}.section-heading p{max-width:740px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,5vw,85px)}.split.reverse>div:first-child{order:0}.split.reverse>img{order:1}.split p{font-size:16px}.rounded-image{width:100%;height:460px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.features.three{grid-template-columns:repeat(3,1fr)}.feature-card{background:#fff;border:1px solid #f1e1dc;border-radius:16px;padding:23px;transition:transform .25s,box-shadow .25s}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.feature-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:#fff0eb;margin-bottom:15px}.feature-card h3{font-size:17px;color:#9f0b1b;margin-bottom:8px}.feature-card p{font-size:14px;margin:0}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.room-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #27111a0a}.room-card img{width:100%;height:210px;object-fit:cover;transition:transform .4s}.room-card:hover img{transform:scale(1.035)}.room-card>div{padding:18px}.room-card small{color:var(--red);font-weight:800;letter-spacing:.12em;font-size:10px}.room-card h3{font-size:19px;margin:7px 0}.room-card p{font-size:13px}.text-link{color:var(--red);font-weight:800;font-size:13px}.note{font-size:13px;margin-top:20px;color:#756b6c}.photo-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-triptych img{height:290px;width:100%;object-fit:cover;border-radius:18px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-item{position:relative;overflow:hidden;border-radius:15px;background:#eee;display:block}.gallery-item img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .4s}.gallery-item:hover img{transform:scale(1.07)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;color:#fff;font-size:12px;font-weight:800;padding:25px 12px 12px;background:linear-gradient(transparent,#0009)}.center{text-align:center;margin-top:28px}.timing{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.timing>div{background:linear-gradient(110deg,#a40013,#c91520);border-radius:16px;padding:24px;color:#fff}.timing span{display:block;font-size:12px;letter-spacing:.15em;font-weight:800}.timing strong{font-size:27px;display:block}.timing p{color:#fff;font-size:13px;margin:4px 0}.cta{background:linear-gradient(110deg,#980012,#c91520);color:#fff;border-radius:20px;padding:40px 50px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin:0 0 10px}.cta h2 em{color:#ffd4a2}.cta p,.cta small{color:#fff}.cta p{margin:0}.faq-list{max-width:1000px;margin:auto}.faq-list details{background:#fff;border:1px solid #ecdeda;border-radius:12px;margin-bottom:12px;padding:0 20px}.faq-list summary{cursor:pointer;padding:18px 10px;font-weight:800;color:#31242a}.faq-list details[open] summary{color:var(--red)}.faq-list details p{padding:0 10px 17px;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-panel{padding:28px;background:#fff;border:1px solid var(--line);border-radius:18px}.contact-panel h3{color:var(--red)}.map-placeholder{border-radius:20px;background:linear-gradient(135deg,#fff1eb,#f7e7e1);border:1px solid #f1dad2;min-height:270px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px}.map-placeholder>div{font-size:45px}.pagehero{background:linear-gradient(90deg,#300007cc,#30000770),var(--hero) center/cover;padding:95px 0;color:#fff}.pagehero small{color:#ffd09e}.pagehero h1{font-size:clamp(38px,5vw,64px);max-width:900px}.pagehero p{color:#fff;max-width:650px}.crumb{font-size:13px}.crumb a{text-decoration:underline}.booking-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.booking-panel.standalone{box-shadow:var(--shadow)}.timing.compact{grid-template-columns:1fr 1fr}.prose{max-width:950px;margin:auto}.prose h2{font-size:27px;margin-top:28px}.footer{background:#220c16;color:#fff;padding:70px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.3fr;gap:35px}.footer h3{color:#ffd3b2;font-size:16px}.footer p{color:#e2cdd3;font-size:14px}.footer a:not(.btn){display:block;margin-bottom:10px;font-size:14px}.footer-brand{color:#fff!important;margin-bottom:20px}.footer-brand small{color:#fff}.copyright{border-top:1px solid #ffffff25;margin-top:45px;padding:22px 0;font-size:12px;display:flex;justify-content:space-between;gap:10px}.floating{position:fixed;bottom:24px;right:18px;z-index:85;display:flex;flex-direction:column;gap:12px}.floating a{display:grid;place-items:center;width:54px;height:54px;color:#fff;border-radius:50%;font-size:26px;box-shadow:0 8px 24px #0003}.float-wa{background:#22c45e}.float-call{background:var(--red)}#backtop{position:fixed;bottom:22px;left:18px;border:0;background:var(--red);color:#fff;width:42px;height:42px;border-radius:50%;display:none;z-index:70}.lightbox{position:fixed;inset:0;background:#000e;display:grid;place-items:center;z-index:150;padding:50px}.lightbox img{max-width:95vw;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;top:15px;right:25px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:28px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.nav{gap:12px;font-size:12px}.features{grid-template-columns:repeat(2,1fr)}.room-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr 380px;gap:20px}.brand{font-size:20px}}
@media(max-width:850px){.container{width:min(100% - 36px,720px)}.topbar-inner span:nth-child(n+3){display:none}.navrow{min-height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:15px 20px 22px;flex-direction:column;align-items:stretch;gap:3px;box-shadow:0 15px 25px #0002}.nav.open{display:flex}.nav a{padding:11px 15px!important}.hero-grid{grid-template-columns:1fr}.hero{padding:25px 0}.hero-copy{padding:25px 0 0}.hero-highlights{flex-wrap:wrap}.hero-highlights>div{min-width:130px}.booking-panel{max-width:650px;width:100%;margin:auto}.split,.booking-page-grid{grid-template-columns:1fr}.split.reverse>img{order:0}.split.reverse>div:first-child{order:1}.rounded-image{height:360px}.footer-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container{width:calc(100% - 30px)}.topbar{font-size:10px}.topbar-inner{justify-content:center}.topbar-inner span:nth-child(2){display:none}.brand{font-size:17px}.brand-mark{font-size:33px}.brand small{font-size:9px}.hero h1{font-size:clamp(44px,11vw,65px)}.hero h3{font-size:16px}.hero-copy p{font-size:15px}.hero-highlights{gap:15px;justify-content:space-between}.hero-highlights>div{min-width:42%}.section{padding:50px 0}.features,.features.three,.room-grid,.contact-grid,.timing,.photo-triptych{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item img{height:160px}.form-grid{grid-template-columns:1fr 1fr;gap:9px}.enquiry-form input,.enquiry-form select{font-size:13px}.panel-title{font-size:19px}.panel-title span{font-size:9px}.rounded-image{height:280px}.cta{padding:27px 22px;display:block}.cta .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.copyright{display:block}.pagehero{padding:65px 0}.pagehero h1{font-size:38px}.floating a{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Premium refinement: coherent iconography, editorial layouts, elevated surfaces */
:root{--shadow:0 20px 55px rgba(73,20,25,.10);--line:#eedfd9}
html{scroll-padding-top:95px}body{font-size:16px;letter-spacing:-.008em}
.icon-svg{display:inline-block;flex:none;vertical-align:middle;stroke-width:1.8;width:1.35em;height:1.35em}
.topbar-inner span{display:inline-flex;align-items:center;gap:5px}.topbar .icon-svg{font-size:14px}
.brand-mark{display:inline-grid;place-items:center;background:linear-gradient(145deg,#fff3e6,#ffded1);border:1px solid #f6d1bd;width:47px;height:47px;border-radius:15px;color:var(--red)}.brand-mark .icon-svg{width:29px;height:29px}
.menu-toggle .icon-svg{width:24px;height:24px}.nav-book .icon-svg{width:15px;height:15px}
.hero-highlights .icon-svg{width:26px;height:26px;color:var(--red);grid-row:1/3}
.feature-icon{font-size:23px;color:var(--red);border:1px solid #f4d9cf;background:linear-gradient(145deg,#fff6f1,#ffebe6)}
.feature-icon .icon-svg{width:27px;height:27px}
.feature-card{position:relative;overflow:hidden;padding:27px;border-radius:19px;box-shadow:0 7px 25px rgba(53,14,20,.035)}
.feature-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.feature-card:hover:before{transform:scaleX(1)}.feature-card h3{font-size:18px;letter-spacing:-.025em}.feature-card p,.room-card p,.footer p{font-size:16px;line-height:1.7}
.room-card{border-radius:20px;box-shadow:0 12px 35px rgba(70,21,24,.07)}.room-card>div{padding:23px}.room-card img{height:235px}
.section{padding-block:clamp(65px,6vw,108px)}.section-heading{margin-bottom:38px}.section-heading h2{letter-spacing:-.035em;line-height:1.18}
.booking-panel{border-radius:22px;box-shadow:0 24px 75px rgba(54,7,17,.23)}.enquiry-form label{font-size:14px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px;min-height:47px}.fineprint,.form-feedback{font-size:13px}
.btn{transition:transform .22s,box-shadow .22s,background .22s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(174,15,29,.2)}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.editorial-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 12px 40px rgba(70,21,24,.04)}.editorial-number{font:800 42px 'Playfair Display',serif;color:var(--orange);opacity:.85}.editorial-card h3{font-size:23px;margin:14px 0;color:#9b0919}.editorial-card p{font-size:16px;line-height:1.85;margin-bottom:0}
.floating a .icon-svg{width:25px;height:25px}.floating a{border:3px solid #fff;box-shadow:0 9px 25px #0003}.float-wa{background:#159f51}.float-call{background:linear-gradient(135deg,#c91520,#ed481e)}#backtop .icon-svg{width:20px;height:20px}
.footer a:not(.btn){font-size:15px}.footer{background:radial-gradient(circle at 90% 0%,#4a1823,#220c16 52%)}
@media(max-width:850px){.editorial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.editorial-grid{grid-template-columns:1fr}.editorial-card{padding:25px}.section{padding-block:62px}.feature-card p,.room-card p{font-size:16px}.hero-highlights .icon-svg{width:23px;height:23px}.booking-panel{padding:15px}.enquiry-form label{font-size:13px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px}.floating{right:12px;bottom:18px}}
