/* Invalid font import fragment removed */
:root{--dark:#153c38;--gold:#d2b68b;--paper:#f8f6f0;--ink:#173c38}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}em{font-weight:400}button,input,select{font:inherit}.top{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#fff}.brand{font-family:Georgia,serif;font-size:23px;letter-spacing:4px;display:flex;align-items:center;gap:9px}.brand small{font:9px 'DM Sans',sans-serif;letter-spacing:2px;display:block;margin-left:-127px;margin-top:34px}.symbol{font-size:33px;color:#b59a6e}.top nav{display:flex;gap:34px;font-size:12px;letter-spacing:.5px}.navbtn{background:var(--dark);color:#fff;font-size:10px;letter-spacing:1.6px;padding:18px 22px}.navbtn span{margin-left:20px}.hero{min-height:660px;height:calc(100vh - 86px);max-height:850px;position:relative;background:url('https://images.unsplash.com/photo-1571896349842-33c89424de2d?w=2000&q=90') center/cover;color:white}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,32,32,.68),rgba(9,32,32,.12)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 30%)}.hero-content{position:relative;z-index:1;padding:130px 0 0 12%;max-width:900px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#947950}.eyebrow.light{color:#e2c89c}.hero h1{font-size:clamp(56px,6.2vw,100px);line-height:1.13;letter-spacing:-2px;margin:32px 0 25px}.hero h1 em{color:#ead6b4}.hero p{max-width:445px;font-size:14px;line-height:2;color:#f4eee5;margin-bottom:36px}.cream-button{display:inline-flex;align-items:center;gap:50px;background:#f4ead9;color:#24433e;padding:20px 25px;font-size:11px;letter-spacing:1.6px;font-weight:700}.hero-bottom{position:absolute;bottom:32px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.booking-strip{background:#fff;box-shadow:0 12px 32px #0000000c;position:relative;z-index:2;margin:-1px auto 0}.booking-strip form{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1fr .8fr 1.2fr;align-items:stretch}.booking-strip label{font-size:10px;letter-spacing:1.8px;font-weight:700;padding:26px 35px;border-right:1px solid #eee;display:grid;gap:10px}.booking-strip input,.booking-strip select{border:0;background:transparent;color:#52635e;font-size:13px;outline:0;min-width:0}.booking-strip button{border:0;background:var(--dark);color:#fff;letter-spacing:1.4px;font-size:11px;font-weight:700;cursor:pointer}.booking-strip button span{margin-left:12px}.wrap{max-width:1240px;margin:auto;padding-left:28px;padding-right:28px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-top:145px;padding-bottom:145px}.mini-line{width:65px;height:1px;background:#b49d76;margin-top:25px}.intro h2,.section-head h2,.form-layout h2{font-size:clamp(40px,4.3vw,67px);line-height:1.2;letter-spacing:-1px;margin-bottom:24px}.intro em,.section-head em,.form-layout em{color:#a88b64}.intro p,.form-layout p{max-width:540px;line-height:2;color:#687570;font-size:15px}.text-link{display:inline-block;font-size:11px;letter-spacing:1.8px;font-weight:700;border-bottom:1px solid #bba781;padding-bottom:12px;margin-top:25px}.text-link span{margin-left:35px}.rooms-section{background:#ecece5;padding:105px 0 130px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-head h2{margin:20px 0 0}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.room-card{background:#fff;overflow:hidden}.room-photo{height:285px;background-size:cover;background-position:center;transition:transform .3s}.room-card:hover .room-photo{transform:scale(1.035)}.room-detail{padding:25px 26px 28px}.room-detail>span{color:#ad916a;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.room-detail h3{font-size:27px;margin:15px 0 25px}.room-price{font-size:18px;border-top:1px solid #eae8e0;padding-top:18px}.room-price small,.catalog-card small{font-size:12px;color:#8c928d}.room-price b{float:right;font-weight:400}.experience{display:grid;grid-template-columns:1fr 1fr;min-height:550px}.experience-img{background:url('https://images.unsplash.com/photo-1542314831-068cd1dbfeeb?w=1200&q=85') center/cover}.experience-text{background:var(--dark);color:#fff;padding:110px 12%}.experience-text h2{font-size:clamp(40px,4vw,65px);line-height:1.2;margin:28px 0}.experience-text h2 em{color:#e0c9a2}.experience-text p{font-size:14px;line-height:2;color:#d4e0da;margin-bottom:35px}footer{background:#102e2b;color:#fff;padding:90px max(6%,calc((100% - 1200px)/2));display:grid;grid-template-columns:2fr 1fr;gap:30px}footer h2{font-size:45px;line-height:1.2;margin:25px 0}footer p{color:#d1dbd6;font-size:13px}.footnote{grid-column:1/-1;border-top:1px solid #45615b;padding-top:30px;margin-top:30px;font-size:11px;color:#acbcb6}.subhero{background:linear-gradient(#123b38ba,#123b38ba),url('https://images.unsplash.com/photo-1566073771259-6a8506099945?w=1600&q=85') center/cover;padding:115px 10%;color:white}.subhero h1{font-size:clamp(54px,6vw,86px);margin:18px 0}.subhero h1 em{color:#e2c79d}.subhero p{font-size:14px}.catalog{padding-top:95px;padding-bottom:110px}.catalog-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;margin-bottom:32px;min-height:350px}.catalog-card img{width:100%;height:100%;min-height:350px;object-fit:cover}.catalog-card>div{padding:55px}.catalog-card h2{font-size:42px;margin:20px 0}.catalog-card p{line-height:1.9;color:#667670}.catalog-card strong{display:block;font-size:23px;margin:20px 0}.dark-button{display:inline-block;border:0;background:var(--dark);color:white;padding:18px 25px;font-size:11px;letter-spacing:1.5px;cursor:pointer}.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:95px;padding-bottom:130px}.booking-form{background:white;padding:42px;display:grid;gap:22px}.booking-form label{font-size:11px;font-weight:700;letter-spacing:1.4px;display:grid;gap:9px}.booking-form input,.booking-form select{border:1px solid #dddcd5;padding:14px;width:100%;background:white;color:#193a35}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.error{padding:12px;background:#fff0ec;color:#a32b16;font-size:13px}@media(max-width:900px){.top{height:76px;padding:0 5%}.top nav{display:none}.brand{font-size:17px}.brand small{margin-left:-107px;font-size:7px}.navbtn{font-size:9px;padding:14px}.hero{min-height:650px;height:76vh}.hero-content{padding:130px 7% 0}.hero h1{font-size:clamp(49px,8vw,74px)}.booking-strip form{grid-template-columns:1fr 1fr}.booking-strip label{padding:20px}.booking-strip button{min-height:70px}.intro{grid-template-columns:1fr;padding-top:85px;padding-bottom:90px;gap:30px}.rooms-section{padding:80px 0}.room-grid{grid-template-columns:1fr 1fr}.experience-text{padding:70px 9%}.catalog-card>div{padding:32px}.form-layout{gap:30px}}@media(max-width:620px){.top{height:70px}.navbtn span{display:none}.hero{min-height:610px}.hero-content{padding-top:130px}.hero h1{font-size:52px}.hero p{font-size:13px}.hero-bottom{font-size:8px}.booking-strip form{grid-template-columns:1fr 1fr}.booking-strip button{grid-column:1/-1}.section-head{display:block}.room-grid{grid-template-columns:1fr}.room-photo{height:300px}.experience{grid-template-columns:1fr}.experience-img{min-height:300px}.experience-text{padding:70px 8%}footer{grid-template-columns:1fr;padding:70px 8%}footer h2{font-size:35px}.catalog-card{grid-template-columns:1fr}.catalog-card img{height:290px;min-height:0}.catalog-card h2{font-size:35px}.form-layout{grid-template-columns:1fr;padding-top:70px}.booking-form{padding:25px}.subhero{padding:100px 7%}}
/* Availability calendar */
.availability-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:24px 0}.availability-day{background:#f0f2ed;border:1px solid #dce2d9;border-radius:8px;min-height:65px;padding:10px;display:flex;flex-direction:column;justify-content:space-between}.availability-day small{font-size:11px}.availability-day.is-booked{background:#fbe7e4;color:#a13c32}.quote-summary{padding:14px;background:#e9f3ef;border-radius:8px}@media(max-width:600px){.availability-grid{gap:4px}.availability-day{min-height:50px;padding:5px;font-size:13px}}

/* Room detail: real PHP view, shared with catalog and booking. */
.room-detail-hero{padding-top:65px;padding-bottom:35px}.breadcrumb{display:block;font-size:12px;margin-bottom:45px;color:#687570}.room-detail-hero h1{font-size:clamp(42px,6vw,80px);margin:15px 0}.room-detail-hero p{font-size:16px;color:#687570;line-height:1.8;max-width:680px}.room-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.room-gallery>a:first-child{grid-column:1/-1}.room-gallery img{width:100%;height:320px;object-fit:cover;display:block}.room-gallery>a:first-child img{height:min(56vw,590px)}.room-info{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;padding-top:85px;padding-bottom:115px}.room-info h2{font-size:clamp(38px,4vw,60px);margin:20px 0}.room-info h2 em{color:#a88b64}.room-info p{line-height:2;color:#687570}.room-facts{display:grid;gap:17px;margin-top:30px}.room-booking-box{background:white;padding:40px;display:flex;flex-direction:column;gap:20px;align-self:start;box-shadow:0 14px 45px #122f2710}.room-booking-box strong{font-size:36px}.room-booking-box small{color:#687570}.room-booking-box .dark-button{text-align:center}.calendar-link{font-size:13px;text-align:center;text-decoration:underline}.room-notfound{padding-top:120px;padding-bottom:160px}@media(max-width:700px){.room-detail-hero{padding-top:35px}.room-gallery{gap:8px}.room-gallery img{height:180px}.room-gallery>a:first-child img{height:300px}.room-info{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:75px}.room-booking-box{padding:28px}}

/* V1.4 editorial gallery, amenity and offer pages */
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:72px;padding-bottom:90px}.editorial-tile{position:relative;display:block;min-height:420px;overflow:hidden;background:#193e3c;color:#fff;text-decoration:none}.editorial-tile img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .5s}.editorial-tile:hover img{transform:scale(1.05)}.editorial-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.68))}.editorial-tile div{position:absolute;z-index:1;bottom:24px;left:26px;right:20px}.editorial-tile h2{font-size:clamp(24px,3vw,34px);margin:8px 0 12px}.editorial-tile span{font-size:12px;letter-spacing:.1em}.amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:70px;padding-bottom:65px}.amenity-card{background:#f6f3ed;padding:42px 32px;min-height:235px}.amenity-icon{font-size:34px;color:#a17d4b}.amenity-card h2{font-size:25px;color:#173d38;margin:22px 0 12px}.amenity-card p{line-height:1.75;color:#5c655f}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:85px}.cta-band h2{font-size:clamp(25px,4vw,44px);color:#173d38}.offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:75px;padding-bottom:95px}.offer-card{background:#f6f3ed;padding:clamp(32px,5vw,70px);display:flex;align-items:flex-start;flex-direction:column;gap:22px}.offer-card:nth-child(2){background:#e4ece6}.offer-card h2{font-size:clamp(34px,5vw,60px);line-height:1.12;color:#173d38;margin:0}.offer-card p{max-width:380px;line-height:1.8}.offer-card small{line-height:1.6;color:#606d66}@media(max-width:850px){.editorial-grid,.amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.offers-grid{grid-template-columns:1fr}}@media(max-width:560px){.editorial-grid,.amenities-grid{grid-template-columns:1fr}.editorial-tile{min-height:360px}.cta-band{flex-direction:column;align-items:flex-start}}

/* V1.9 booking review and accessible disabled state */
.booking-review{background:#f3f0e9;border:1px solid #ddd3c4;padding:20px;margin:12px 0 22px;color:#21453d}.booking-review strong{display:block;margin-bottom:8px}.booking-review p{margin:0;line-height:1.6}.booking-form button:disabled{opacity:.55;cursor:not-allowed}.booking-form select option:disabled{color:#999}

/* V2.1: keyboard-accessible mobile navigation, previously hidden entirely. */
.menu-toggle{display:none;border:1px solid #d6d9d4;background:#fff;color:#153c38;padding:9px 12px;font-size:23px;cursor:pointer}
:focus-visible{outline:3px solid #c49d5e;outline-offset:3px}
@media(max-width:900px){
 .menu-toggle{display:block;margin-left:auto;margin-right:12px}
 .top{position:relative;z-index:30}
 .top nav{display:none;position:absolute;left:0;right:0;top:100%;padding:18px 5%;background:#fff;box-shadow:0 18px 25px #0002;flex-direction:column;gap:0;max-height:calc(100vh - 76px);overflow-y:auto}
 .top nav.is-open{display:flex}
 .top nav a{display:block;padding:14px 8px;border-bottom:1px solid #ecece6;font-size:14px}
}
@media(max-width:620px){.top .brand{letter-spacing:1px;font-size:15px}.top .brand small{display:none}.top .navbtn{font-size:9px;padding:12px 10px}.menu-toggle{font-size:19px;padding:7px 10px;margin-right:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2.2: editorial finishing and accessibility */
.skip-link{position:absolute;z-index:1000;top:-90px;left:12px;padding:14px 20px;background:#fff;color:#153c38;font-weight:700}.skip-link:focus{top:12px}
.room-card{transition:box-shadow .25s ease,transform .25s ease}.room-card:hover{box-shadow:0 24px 60px #153c3820;transform:translateY(-3px)}
.cream-button,.dark-button,.navbtn{transition:filter .2s ease,transform .2s ease}.cream-button:hover,.dark-button:hover,.navbtn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.booking-strip input:focus-visible,.booking-strip select:focus-visible{outline:2px solid #947950;outline-offset:4px}
@media(max-width:620px){.hero{min-height:540px;height:auto;padding-bottom:100px}.hero-content{padding:90px 7% 30px}.hero h1{font-size:clamp(42px,10vw,65px)}.hero-bottom{bottom:18px}.hero-bottom span:last-child{display:none}.booking-strip form{grid-template-columns:1fr}.booking-strip label{border-right:0;border-bottom:1px solid #eee}.booking-strip button{min-height:62px}.room-grid{grid-template-columns:1fr}.section-head{align-items:start;gap:18px;flex-direction:column}.experience{grid-template-columns:1fr}.experience-img{min-height:300px}.experience-text{padding:60px 7%}.form-layout{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:70px}.booking-form{padding:22px}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr;padding:65px 7%}.intro h2,.section-head h2{font-size:42px}}

/* V2.3: useful layout even when remote photos/fonts cannot load. */
.hero{background-color:#234b48}
.experience-img{background-color:#45635b}
.subhero{background-color:#173c38}
.info-page{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;padding-top:100px;padding-bottom:120px}.info-page h2{font-size:clamp(36px,4.3vw,64px);line-height:1.15}.info-page h2 em{color:#a88b64}.info-page p{line-height:1.9;color:#65736e}.info-panel{background:#fff;padding:42px;box-shadow:0 15px 45px #102f2810}.info-panel h3{font-size:28px}.info-panel a:not(.dark-button){text-decoration:underline;text-underline-offset:3px}.info-panel .dark-button{margin-top:20px}@media(max-width:700px){.info-page{grid-template-columns:1fr;padding-top:60px;padding-bottom:75px}.info-panel{padding:26px}}
