.page-hero{min-height:430px;position:relative;background-size:cover;background-position:center;display:grid;place-items:center;color:#fff;text-align:center}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,8,3,.8),rgba(18,8,3,.48),rgba(18,8,3,.78))}
.page-hero .container{position:relative;padding-top:80px}.page-hero h1{font:600 clamp(3.3rem,7vw,6rem)/.9 var(--serif);margin:8px 0}.breadcrumbs{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#ead7bb}.breadcrumbs a{color:var(--gold-light)}
.inner-section{padding:90px 0}.lead{max-width:720px;color:var(--muted);font-size:1rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-card{background:#fff;border:1px solid #e4d8c8;padding:30px;box-shadow:0 12px 35px rgba(50,25,10,.06)}.info-card h3{font:600 1.8rem var(--serif);margin:0 0 10px}.info-card p{color:var(--muted);font-size:.85rem}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.feature-list div{border-bottom:1px solid #ded3c5;padding:10px 0;font-size:.82rem}.feature-list b{color:var(--gold);margin-right:8px}.room-detail{background:#fff}.room-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:45px}.room-detail-image{height:520px}.room-detail-image img{width:100%;height:100%;object-fit:cover}.price-box{background:var(--dark);color:#fff;padding:32px}.price-box .price{font:700 2.5rem var(--serif);color:var(--gold-light)}.price-box small{color:#bdb0a4}.price-box hr{border:0;border-top:1px solid rgba(255,255,255,.12);margin:22px 0}.booking-page{background:#f4eee4}.booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:30px}.booking-card{background:#fff;padding:35px;box-shadow:var(--shadow)}.booking-card h2{font:600 2.8rem var(--serif);margin:0 0 20px}.summary-card{background:var(--dark);color:#fff;padding:35px;position:sticky;top:100px;height:max-content}.summary-card h3{font:600 2rem var(--serif);margin-top:0;color:var(--gold-light)}.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);padding:12px 0;font-size:.8rem}.summary-total{font:700 1.5rem var(--serif);display:flex;justify-content:space-between;padding-top:20px}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-page-grid figure{margin:0;height:300px;overflow:hidden;position:relative}.gallery-page-grid img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-page-grid figure:hover img{transform:scale(1.05)}.gallery-page-grid figcaption{position:absolute;left:18px;bottom:15px;color:#fff;font:600 1.3rem var(--serif);text-shadow:0 2px 10px #000}.offer-card{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #e3d6c6}.offer-card img{width:100%;height:320px;object-fit:cover}.offer-content{padding:35px}.offer-content h3{font:600 2.2rem var(--serif);margin:0}.offer-content p{color:var(--muted)}.badge{display:inline-block;background:var(--gold);color:#241307;padding:6px 10px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.timeline{border-left:2px solid var(--gold);padding-left:25px}.timeline-item{padding:0 0 30px;position:relative}.timeline-item:before{content:"";position:absolute;width:10px;height:10px;background:var(--gold);border-radius:50%;left:-31px;top:8px}.timeline-item h3{font:600 1.7rem var(--serif);margin:0}.timeline-item p{color:var(--muted)}
@media(max-width:900px){.two-col,.room-detail-grid,.booking-layout,.offer-card{grid-template-columns:1fr}.three-col{grid-template-columns:1fr 1fr}.gallery-page-grid{grid-template-columns:1fr 1fr}.room-detail-image{height:380px}.summary-card{position:static}.offer-card img{height:280px}}
@media(max-width:640px){.three-col,.gallery-page-grid,.feature-list{grid-template-columns:1fr}.inner-section{padding:65px 0}.page-hero{min-height:360px}.page-hero .container{padding-top:50px}.offer-card img{height:220px}}
