/* DUOMO V5 — shared public-page refinement, following the recovered V4.6 Contact design. */
:root{--ink:#211d16;--paper:#fbf7ef;--gold:#bb8c35}
.site-header>.brand{background:none!important;width:auto!important;height:auto!important}.contact-form .btn:after{content:none!important}
.page-home .hero{position:relative;display:block!important;overflow:hidden}.page-home .hero-media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important}.page-home .hero-media>img{width:100%!important;height:100%!important;object-fit:cover!important}.page-home .hero-copy{position:relative;z-index:2}.page-home .hero-media:after{background:linear-gradient(90deg,rgba(15,13,8,.82),rgba(15,13,8,.43) 58%,rgba(15,13,8,.1)),linear-gradient(0deg,rgba(15,13,8,.35),transparent 65%)!important}
html{scroll-padding-top:130px}body{color:var(--ink);background:var(--paper)}
.section{padding-top:clamp(3.5rem,6vw,6.5rem);padding-bottom:clamp(3.5rem,6vw,6.5rem)}
p{line-height:1.75}.kicker{line-height:1.6}.section-title{letter-spacing:-.035em}
.site-header{border-bottom:1px solid #b58d3a25!important}.desktop-nav{gap:clamp(.7rem,1.35vw,1.65rem)}
.desktop-nav a{font-size:.7rem!important;letter-spacing:.035em!important}
.page-hero{background:radial-gradient(ellipse at 10% 100%,#eee0c4 0,transparent 52%),#fcf8ef;min-height:600px}
.page-hero-copy{padding:clamp(2rem,5vw,5.5rem)!important;display:flex;flex-direction:column;justify-content:center}
.page-hero .display{font-size:clamp(3rem,5.4vw,5.4rem)!important;line-height:1.03!important;letter-spacing:-.045em}
.page-hero .lead{max-width:34em;font-size:1rem!important;color:#62594b}
.page-hero-media{position:relative;min-height:540px;overflow:hidden}
.page-hero-media>img{width:100%;height:100%;object-fit:cover}
.page-hero-media:after{content:'';position:absolute;inset:50% 0 0;pointer-events:none;background:linear-gradient(transparent,#15130eb5)}
.photo-caption{position:absolute;z-index:2;bottom:2rem;left:2rem;right:2rem;color:#fff;pointer-events:none}
.photo-caption span{font-size:.56rem;letter-spacing:.18em;color:#efcc81}.photo-caption p{font:1.35rem var(--display);margin:.3rem 0 0}
.visit-facts{display:flex;margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid #a47d3433;gap:1.3rem;flex-wrap:wrap}
.visit-facts>div{display:flex;flex-direction:column;flex:1;min-width:85px}.visit-facts strong{font:1.6rem var(--display);color:#92702e}.visit-facts span{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:#665b47}
.room-list{gap:2.5rem}.room-row{border:1px solid #ba913d30!important;border-radius:26px!important;overflow:hidden;box-shadow:0 18px 45px #30230b09;background:#fff!important;gap:0!important}
.room-content{padding:clamp(1.5rem,3vw,3rem)!important}.room-content h2{font-size:clamp(1.8rem,2.5vw,2.7rem);letter-spacing:-.025em}
.room-image{min-height:430px;overflow:hidden}.room-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.room-row:hover .room-image img{transform:scale(1.025)}
.room-rate{padding:1rem 0;margin:1rem 0;border-top:1px solid #b69b6d26;border-bottom:1px solid #b69b6d26}.room-rate strong{color:#946d25}
.room-meta{gap:.45rem!important}.room-meta span{border:1px solid #b49a6826;background:#f8f4eb;border-radius:8px;padding:.35rem .6rem;font-size:.65rem!important}
.btn{min-height:48px;border-radius:12px!important;line-height:1.3!important}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ad7e27!important;outline-offset:4px}
.event-feature-grid{gap:1.6rem!important}.event-feature{border:1px solid #ba913d30!important;border-radius:24px!important;background:#fff;overflow:hidden;box-shadow:0 18px 45px #30230b09}
.event-feature>div{padding:1.7rem!important}.event-feature img{aspect-ratio:4/3;object-fit:cover;width:100%}.event-feature h2{font-size:2rem}.event-feature p{font-size:.87rem}
.event-photo-grid figure,.gallery-mosaic img,.home-gallery-grid figure{border-radius:18px;overflow:hidden}.event-photo-grid figcaption{padding:1rem;background:#fff;font-size:.75rem;letter-spacing:.04em}
.activity-list{display:grid!important;grid-template-columns:1fr 1fr;gap:1.5rem;background:linear-gradient(#fffdf8,#f4ecdD)}
.activity-item{display:block!important;padding:2.2rem!important;background:#fff;border:1px solid #b58e3930!important;border-radius:24px;position:relative;box-shadow:0 15px 40px #30230b08}
.activity-item .num{position:absolute;top:2rem;right:2rem;font:2.6rem var(--display);color:#ddceb0}.activity-item h2{font-size:2rem;margin:1.2rem 0 .6rem}.activity-item p{max-width:36em}.activity-item .arrow-link{margin-top:1rem}
.editorial-icon{width:65px;height:65px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#211b12,#49361c);color:#e9c576;box-shadow:0 12px 22px #33240920}.editorial-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.amenity-grid{gap:1.2rem!important}.amenity{border:1px solid #b58e3930!important;border-radius:22px!important;padding:1.8rem!important;background:#fff!important;box-shadow:0 12px 30px #30230b07;transition:transform .2s}.amenity:hover{transform:translateY(-4px)}.amenity h3{font-size:1.5rem}.amenity p{font-size:.86rem!important;line-height:1.7}
.menu-panel{padding:1.5rem!important;border:1px solid #b58e3930!important;border-radius:20px;background:#fff;box-shadow:0 12px 30px #30230b06}.menu-panel h3{font-size:1.55rem}.food-menu{background:#f4edde}.menu-toolbar{background:#fff;border:1px solid #b58e3930;border-radius:18px;padding:1.2rem}.menu-toolbar input{border-radius:10px}.menu-tabs button{border-radius:999px;min-height:42px}.menu-grid>article,.menu-grid>.menu-item{border-radius:18px!important;box-shadow:0 10px 24px #30230b08}
.quick-book{border-radius:24px!important;border:1px solid #b58e3940!important;box-shadow:0 22px 55px #32250f14!important}.booking-form .field{padding:.65rem;background:#faf5eb;border-radius:12px}.booking-form input,.booking-form select{min-width:0;width:100%;font-size:.85rem!important}.booking-form label{font-size:.6rem!important}.booking-form .form-status{grid-column:1/-1}
.intro-highlight,.stay-card,.intro-side-card{border-radius:22px!important;border:1px solid #b58e3930!important;box-shadow:0 15px 35px #30230b08!important}.stay-card{padding:1.8rem!important;background:#fff!important}.stay-card h3{font-size:1.8rem}.intro-grid h2{letter-spacing:-.03em}.experience-copy{background:linear-gradient(135deg,#f3e6c9,#fff9ec)!important;color:#292014!important}.experience-copy p{color:#5b503c!important}
.hotel-story{display:grid;grid-template-columns:.35fr 1fr .8fr;gap:3rem;background:#efe4cf;border-top:1px solid #b58e3920;border-bottom:1px solid #b58e3920}.hotel-story h2{font-size:2.5rem;line-height:1.15}.hotel-story .story-number{margin-top:1rem}.story-details{background:#f8f1e5}.story-details .stay-grid{gap:1.5rem}
.cta{position:relative;background:radial-gradient(ellipse at 80% 0,#544024 0,transparent 60%),#1f1b14!important;border-top:1px solid #af8b43;padding:5rem 1.5rem!important}.cta .section-title{color:#fff4df!important}.cta p{color:#d9cbb0!important}.cta .kicker{color:#d8b667!important}
.footer{background:#191711!important}.footer p,.footer-links a{color:#d7cdbb!important}.footer-links a:hover{color:#efca78!important}.footer-bottom{flex-wrap:wrap;gap:1rem}.footer .brand-logo-wrap,.site-header .brand-logo-wrap{border-radius:999px!important}.footer .brand{background:none!important}
.contact-submit{color:#fff!important}.contact-submit:hover{color:#211a10!important}.form-status{font-size:.8rem!important;line-height:1.5}.form-status.error{color:#aa2929}.form-status.success{color:#246236}
@media(min-width:1060px){.site-header{padding-left:3vw!important;padding-right:3vw!important}.site-header .brand-logo-wrap{width:160px!important;height:70px!important}.site-header .brand-copy{display:none!important}.site-header .header-action{font-size:.64rem!important;padding:.8rem 1rem!important}}
@media(max-width:1050px){.page-hero{min-height:0}.page-hero-copy{padding:3rem 1.5rem!important}.page-hero-media{min-height:360px}.hotel-story{grid-template-columns:1fr 1fr}.hotel-story>.kicker{grid-column:1/-1}.room-image{min-height:320px}.contact-information{position:static}}
@media(max-width:680px){html{scroll-padding-top:105px}.section{padding-left:1.2rem!important;padding-right:1.2rem!important}.page-hero .display{font-size:3rem!important}.page-hero-media{min-height:280px;max-height:360px}.photo-caption{left:1.3rem;bottom:1.3rem}.visit-facts{gap:.7rem}.visit-facts strong{font-size:1.3rem}.activity-list,.hotel-story{grid-template-columns:1fr!important}.activity-item{padding:1.5rem!important}.hotel-story{gap:1.2rem}.hotel-story h2{font-size:2rem}.room-content{padding:1.4rem!important}.room-image{min-height:260px}.event-feature>div{padding:1.4rem!important}.concierge-card-head h2{font-size:2.2rem!important}.footer-top{gap:2rem!important}.transfer-pricing-panel{padding:1rem}.announcement{font-size:.55rem}.booking-form{gap:.65rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* V5.2: explicit colours for the ivory stay cards, independent of the dark section. */
.stay-card,.stay-card:hover{color:#292319!important;background:#fffdf8!important}
.stay-card h3{color:#292319!important;opacity:1!important}
.stay-card p,.stay-card ul,.stay-card li{color:#5b5143!important;opacity:1!important}
.stay-card li{border-bottom-color:#e9dfcc!important}
.stay-card li:before{color:#936922!important}
.stay-card .stay-eyebrow{color:#86601f!important}
.stay-card .num{color:#785820!important;background:#f3e8d0!important}
.stay-card .num:before{color:#785820!important}
.stay-card .arrow-link{color:#34291a!important;border-color:#b58a3a!important}
.stay-card .arrow-link:hover{color:#805918!important}
.stay-card .stay-icon{background:#f4ead5!important;border-color:#dec796!important}
.stay-card .stay-icon svg{stroke:#936922!important}
.stay-card .stay-meta{min-width:0}
.stay-card-top{align-items:flex-start!important}
.stay-card h3{margin:.55rem 0!important}
@media(max-width:680px){.stay-card{min-height:0!important}.stay-card-top{gap:.9rem!important}.stay-card ul{margin:1rem 0!important}}
