:root {
	--dh-bg: #FFFFFF;
	--dh-bg-soft: #F6FAF9;
	--dh-surface: #FFFFFF;
	--dh-text: #101828;
	--dh-muted: #667085;
	--dh-primary: #007A6C;
	--dh-primary-dark: #005E54;
	--dh-accent: #FF7A3D;
	--dh-accent-dark: #E85F24;
	--dh-sky: #E7F7F4;
	--dh-yellow: #FFC857;
	--dh-blue: #2563EB;
	--dh-dark: #102A27;
	--dh-border: rgba(16, 24, 40, 0.10);
	--dh-shadow: 0 18px 50px rgba(16, 24, 40, 0.10);
	--dh-shadow-soft: 0 12px 30px rgba(16, 24, 40, 0.08);
	--dh-radius: 24px;
	--dh-radius-sm: 14px;
	--dh-container: 1200px;
	--dh-space: clamp(64px, 8vw, 112px);
	--dh-heading: Georgia, 'Times New Roman', serif;
	--dh-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--dh-bg); color: var(--dh-text); font-family: var(--dh-body); font-size: 16px; line-height: 1.68; text-rendering: optimizeLegibility; }
body.dh-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

.dh-container { width: min(calc(100% - 44px), var(--dh-container)); margin-inline: auto; }
.dh-section { padding: var(--dh-space) 0; background: var(--dh-bg); }
.dh-section-soft { background: var(--dh-bg-soft); }
.dh-section-head { max-width: 760px; margin-bottom: clamp(30px, 5vw, 56px); }
.dh-section-center { text-align: center; margin-inline: auto; }
.dh-section-head-row, .dh-section-title-row { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: clamp(30px, 5vw, 56px); }
.dh-section-title-row h2 { margin-bottom: 0; }
.dh-eyebrow { margin: 0 0 12px; color: var(--dh-accent); font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--dh-text); letter-spacing: 0; }
h1, h2 { font-family: var(--dh-heading); font-weight: 600; line-height: .98; }
h1 { font-size: clamp(48px, 7.6vw, 104px); }
h2 { font-size: clamp(34px, 4.8vw, 64px); }
h3 { font-size: clamp(20px, 2vw, 28px); line-height: 1.18; font-weight: 760; }
p { color: var(--dh-muted); }

.dh-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 23px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 850; line-height: 1; cursor: pointer; transition: transform .24s ease, box-shadow .24s ease, background .24s ease, border-color .24s ease, color .24s ease; }
.dh-btn:hover { transform: translateY(-2px); }
.dh-btn-primary { background: var(--dh-accent); color: #fff; box-shadow: 0 16px 34px rgba(255, 122, 61, .28); }
.dh-btn-primary:hover { background: var(--dh-accent-dark); }
.dh-btn-dark { background: var(--dh-primary); color: #fff; box-shadow: 0 16px 34px rgba(0, 122, 108, .22); }
.dh-btn-dark:hover { background: var(--dh-primary-dark); }
.dh-btn-soft { background: #fff; color: var(--dh-primary); border-color: rgba(0, 122, 108, .28); }
.dh-btn-soft:hover { background: var(--dh-primary); color: #fff; }
.dh-btn-glass { color: var(--dh-text); border-color: rgba(255,255,255,.78); background: rgba(255,255,255,.86); backdrop-filter: blur(14px); box-shadow: 0 10px 28px rgba(16, 24, 40, .12); }
.dh-btn-outline-light { color: #fff; border-color: rgba(255,255,255,.54); background: rgba(255,255,255,.08); }
.dh-btn-outline-light:hover { background: #fff; color: var(--dh-dark); }
.dh-btn-small { min-height: 42px; padding: 11px 18px; }
.dh-link { color: var(--dh-primary); font-weight: 850; border-bottom: 1px solid rgba(0, 122, 108, .26); }
.dh-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

.dh-site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(18px); border-bottom: 1px solid var(--dh-border); transition: box-shadow .25s ease, background .25s ease; }
.home .dh-site-header { position: fixed; left: 0; right: 0; background: rgba(255,255,255,.82); border-bottom-color: rgba(255,255,255,.34); }
.dh-site-header.is-scrolled, .home .dh-site-header.is-scrolled { background: rgba(255,255,255,.96); box-shadow: 0 12px 32px rgba(16,24,40,.08); }
.dh-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dh-brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 900; }
.dh-brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--dh-primary), #13B8A6); color: #fff; font-family: var(--dh-heading); font-size: 15px; box-shadow: 0 10px 24px rgba(0,122,108,.22); }
.dh-brand-text { color: var(--dh-text); font-family: var(--dh-heading); font-size: 23px; font-weight: 600; }
.dh-primary-nav { display: flex; align-items: center; gap: 22px; }
.dh-nav-list { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; list-style: none; }
.dh-nav-list a { color: rgba(16, 24, 40, .76); font-size: 13px; font-weight: 760; letter-spacing: .02em; }
.dh-nav-list a:hover { color: var(--dh-primary); }
.dh-header-actions { display: flex; align-items: center; gap: 12px; }
.dh-language { color: var(--dh-muted); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.dh-menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--dh-border); border-radius: 50%; background: #fff; }
.dh-menu-toggle span:not(.screen-reader-text) { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--dh-text); }

.dh-hero { position: relative; min-height: 780px; display: grid; align-items: end; overflow: hidden; color: var(--dh-text); background: var(--dh-sky); }
.dh-hero-media, .dh-hero-media > * { position: absolute; inset: 0; }
.dh-hero-photo { background: linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.66) 42%, rgba(255,255,255,.18)), radial-gradient(circle at 72% 22%, rgba(255, 200, 87, .46), transparent 18%), radial-gradient(circle at 82% 68%, rgba(255, 122, 61, .34), transparent 22%), linear-gradient(135deg, #E7F7F4 0 18%, #54D6C4 18% 34%, #FFFFFF 34% 48%, #FFB08A 48% 64%, #007A6C 64% 82%, #102A27 82% 100%); transform: scale(1.015); }
.dh-hero-photo:before { content: ""; position: absolute; inset: 13% 7% 14% 52%; border-radius: 36px; background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.22)), linear-gradient(90deg, transparent 0 48%, rgba(0,122,108,.14) 49% 51%, transparent 52%); border: 1px solid rgba(255,255,255,.72); box-shadow: 0 50px 100px rgba(16,24,40,.16); }
.dh-hero-photo:after { content: ""; position: absolute; right: 13%; bottom: 18%; width: 28%; height: 15%; border-radius: 999px 999px 26px 26px; background: rgba(255,255,255,.50); border: 1px solid rgba(255,255,255,.58); }
.dh-hero-overlay { background: linear-gradient(0deg, rgba(255,255,255,.86), transparent 38%); }
.dh-hero-content { position: relative; display: grid; grid-template-columns: minmax(0, 790px) minmax(250px, 350px); gap: 42px; align-items: end; padding: 160px 0 142px; }
.dh-hero h1, .dh-hero p { color: var(--dh-text); }
.dh-hero-copy > p:not(.dh-eyebrow) { max-width: 620px; font-size: clamp(18px, 2vw, 23px); color: rgba(16,24,40,.74); }
.dh-hero-points { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0; padding: 0; list-style: none; }
.dh-hero-points li { padding: 9px 13px; border: 1px solid rgba(0,122,108,.18); border-radius: 999px; background: rgba(255,255,255,.86); color: var(--dh-primary-dark); font-size: 13px; font-weight: 820; box-shadow: 0 8px 24px rgba(16,24,40,.08); }
.dh-trust-card { padding: 24px; border-radius: var(--dh-radius); background: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.88); box-shadow: var(--dh-shadow); backdrop-filter: blur(18px); }
.dh-trust-card strong { display: block; color: var(--dh-primary); font-family: var(--dh-heading); font-size: 34px; font-weight: 600; line-height: 1; }
.dh-trust-card span { display: block; color: var(--dh-muted); }
.dh-trust-list { display: grid; gap: 10px; margin: 20px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--dh-border); }
.dh-trust-list li { display: flex; justify-content: space-between; gap: 14px; color: var(--dh-muted); font-size: 13px; }
.dh-trust-list b { color: var(--dh-text); }

.dh-booking-wrap { margin-top: -76px; position: relative; z-index: 5; }
.dh-booking-card, .dh-filter-panel, .dh-reservation-panel form { display: grid; gap: 14px; }
.dh-booking-card { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; padding: 18px; border-radius: var(--dh-radius); background: #fff; border: 1px solid rgba(16,24,40,.08); box-shadow: var(--dh-shadow); }
label span { display: block; margin-bottom: 7px; color: var(--dh-muted); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .10em; }
input, select, textarea { width: 100%; min-height: 52px; padding: 12px 14px; border-radius: var(--dh-radius-sm); border: 1px solid var(--dh-border); background: #fff; color: var(--dh-text); outline: none; }
input:focus, select:focus, textarea:focus { border-color: rgba(0,122,108,.58); box-shadow: 0 0 0 4px rgba(0,122,108,.12); }

.dh-room-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.dh-room-card { background: #fff; border: 1px solid var(--dh-border); border-radius: var(--dh-radius); overflow: hidden; box-shadow: var(--dh-shadow-soft); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.dh-room-card:hover { transform: translateY(-7px); box-shadow: var(--dh-shadow); border-color: rgba(0,122,108,.18); }
.dh-room-media { position: relative; display: block; aspect-ratio: 1.16 / .82; overflow: hidden; background: var(--dh-sky); }
.dh-room-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.dh-room-card:hover img, .dh-room-card:hover .dh-visual { transform: scale(1.035); }
.dh-badge { position: absolute; top: 16px; left: 16px; padding: 8px 12px; border-radius: 999px; background: var(--dh-accent); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 10px 24px rgba(255,122,61,.25); }
.dh-room-body { padding: 25px; }
.dh-room-meta { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 15px; list-style: none; }
.dh-room-meta li { padding: 6px 10px; border-radius: 999px; background: var(--dh-sky); color: var(--dh-primary-dark); font-size: 12px; font-weight: 850; }
.dh-room-head { display: grid; gap: 8px; margin-bottom: 14px; }
.dh-room-head h3 { margin-bottom: 0; font-family: var(--dh-heading); font-weight: 600; }
.dh-price { margin: 0; color: var(--dh-muted); font-size: 14px; }
.dh-price strong { color: var(--dh-primary); font-family: var(--dh-heading); font-size: 25px; font-weight: 600; }
.dh-room-facts { display: grid; gap: 8px; padding: 0; margin: 18px 0 22px; list-style: none; color: var(--dh-muted); font-size: 14px; }
.dh-room-facts li:before, .dh-check-list li:before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: var(--dh-primary); }
.dh-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.dh-visual { position: relative; width: 100%; height: 100%; min-height: 230px; overflow: hidden; background: linear-gradient(135deg, #E7F7F4, #20C7B4 50%, #007A6C); transition: transform .5s ease; }
.dh-visual:before { content: ""; position: absolute; inset: 12% 12% 22%; border-radius: 22px; border: 1px solid rgba(255,255,255,.56); background: linear-gradient(90deg, rgba(255,255,255,.62), transparent 42%), linear-gradient(140deg, rgba(255,255,255,.42), rgba(255,255,255,.12)); }
.dh-visual span { position: absolute; left: 12%; right: 12%; bottom: 14%; height: 30%; background: rgba(16,42,39,.20); border-radius: 22px 22px 0 0; }
.dh-visual i { position: absolute; right: 16%; top: 17%; width: 72px; height: 72px; border-radius: 50%; background: rgba(255,200,87,.72); box-shadow: 0 18px 38px rgba(16,24,40,.14); }
.dh-visual-terracotta { background: linear-gradient(135deg, #FFF0E8, #FF7A3D 56%, #007A6C); }
.dh-visual-petrol { background: linear-gradient(135deg, #E7F7F4, #007A6C 56%, #102A27); }
.dh-visual-olive { background: linear-gradient(135deg, #F6FAF9, #5AD7C5 50%, #2563EB); }

.dh-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.dh-service-card { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; align-items: start; padding: 24px; border-radius: var(--dh-radius); background: #fff; border: 1px solid var(--dh-border); box-shadow: 0 8px 24px rgba(16,24,40,.04); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.dh-service-card:hover { transform: translateY(-4px); box-shadow: var(--dh-shadow-soft); border-color: rgba(0,122,108,.18); }
.dh-service-icon { grid-row: span 2; width: 48px; height: 48px; border-radius: 50%; background: var(--dh-sky); border: 1px solid rgba(0,122,108,.16); position: relative; }
.dh-service-icon:before { content: ""; position: absolute; inset: 14px; border-radius: 50%; background: var(--dh-primary); }
.dh-icon-breakfast:before { background: var(--dh-accent); border-radius: 4px 4px 12px 12px; }
.dh-icon-kitchen:before { border-radius: 2px; transform: rotate(45deg); }
.dh-icon-locker:before { border-radius: 4px; }
.dh-icon-cowork:before { inset: 13px 10px 18px; border-radius: 2px; background: var(--dh-blue); }
.dh-icon-tour:before { clip-path: polygon(50% 0, 100% 100%, 50% 72%, 0 100%); background: var(--dh-accent); }
.dh-icon-transfer:before { inset: 17px 10px; border-radius: 999px; }
.dh-icon-laundry:before { border-radius: 50%; box-shadow: inset 0 0 0 4px rgba(255,255,255,.65); }
.dh-service-card h3 { margin: 2px 0 8px; font-family: var(--dh-heading); font-size: 23px; font-weight: 600; }
.dh-service-card p { margin-bottom: 0; font-size: 14px; }

.dh-experience { background: #fff; }
.dh-experience-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(34px, 7vw, 86px); align-items: center; }
.dh-experience-copy p { max-width: 620px; }
.dh-experience-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 28px 0 24px; }
.dh-experience-stats div { padding: 16px; border-radius: var(--dh-radius-sm); background: var(--dh-bg-soft); border: 1px solid var(--dh-border); }
.dh-experience-stats strong { display: block; color: var(--dh-primary); font-family: var(--dh-heading); font-size: 28px; font-weight: 600; }
.dh-experience-stats span { color: var(--dh-muted); font-size: 12px; font-weight: 800; }
.dh-check-list { padding: 0; margin: 24px 0 0; list-style: none; }
.dh-check-list li { margin: 10px 0; color: inherit; }
.dh-check-list-light li { color: var(--dh-text); }
.dh-experience-copy .dh-btn { margin-top: 24px; }
.dh-collage { display: grid; grid-template-columns: 1.08fr .72fr; grid-template-rows: repeat(2, 220px); gap: 16px; }
.dh-collage-main, .dh-collage-small { overflow: hidden; border-radius: var(--dh-radius); box-shadow: var(--dh-shadow-soft); }
.dh-collage-main { grid-row: span 2; min-height: 456px; }
.dh-collage-small { background: linear-gradient(135deg, #FFF4DF, #FFC857, #FF7A3D); }
.dh-collage-green { background: linear-gradient(135deg, #E7F7F4, #007A6C); }

.dh-gallery { display: grid; grid-template-columns: 1.16fr .82fr .82fr; grid-auto-rows: 192px; gap: 16px; }
.dh-gallery-item { position: relative; overflow: hidden; border-radius: var(--dh-radius); background: linear-gradient(135deg, #E7F7F4, #007A6C); box-shadow: var(--dh-shadow-soft); }
.dh-gallery-item:before { content: ""; position: absolute; inset: 12%; border-radius: 18px; border: 1px solid rgba(255,255,255,.42); background: linear-gradient(135deg, rgba(255,255,255,.30), transparent); }
.dh-gallery-item:after { content: attr(data-label); position: absolute; left: 18px; bottom: 16px; padding: 7px 10px; border-radius: 999px; background: var(--dh-accent); color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .10em; text-transform: uppercase; }
.dh-gallery-large { grid-row: span 2; background: linear-gradient(135deg, #E7F7F4 0 30%, #56D7C8 30% 54%, #007A6C 54% 100%); }
.dh-gallery-tall { grid-row: span 2; background: linear-gradient(135deg, #FFC857, #FF7A3D, #102A27); }
.dh-gallery-warm { background: linear-gradient(135deg, #FFF0E8, #FF7A3D); }
.dh-gallery-green { background: linear-gradient(135deg, #E7F7F4, #007A6C); }
.dh-gallery-dark { background: linear-gradient(135deg, #DCEAFE, #2563EB); }

.dh-location-split { background: #fff; }
.dh-location-split-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(320px, 1fr); gap: 0; align-items: stretch; border-radius: 28px; overflow: hidden; box-shadow: var(--dh-shadow); }
.dh-location-panel { padding: clamp(34px, 5vw, 58px); background: linear-gradient(135deg, var(--dh-primary), var(--dh-dark)); color: #fff; }
.dh-location-panel h2, .dh-location-panel p, .dh-location-panel li { color: #fff; }
.dh-location-panel p { color: rgba(255,255,255,.76); }
.dh-location-panel .dh-btn { margin-top: 24px; }
.dh-map-card { min-height: 420px; display: grid; align-content: end; gap: 6px; padding: 30px; border-radius: var(--dh-radius); background: linear-gradient(90deg, rgba(16,24,40,.08) 1px, transparent 1px), linear-gradient(0deg, rgba(16,24,40,.08) 1px, transparent 1px), radial-gradient(circle at 54% 46%, #FF7A3D 0 14px, rgba(255,122,61,.20) 15px 34px, transparent 35px), #fff; background-size: 48px 48px, 48px 48px, auto, auto; box-shadow: var(--dh-shadow-soft); color: var(--dh-text); }
.dh-map-card strong { color: var(--dh-text); font-family: var(--dh-heading); font-size: 34px; font-weight: 600; }
.dh-map-card span { color: var(--dh-muted); }
.dh-map-light { min-height: 500px; border-radius: 0; box-shadow: none; }
.dh-map-pins { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.dh-map-pins span { padding: 8px 11px; border-radius: 999px; background: var(--dh-sky); color: var(--dh-primary-dark); font-size: 12px; font-weight: 850; }

.dh-testimonials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.dh-testimonial { padding: 28px; border-radius: var(--dh-radius); background: #fff; border: 1px solid var(--dh-border); box-shadow: var(--dh-shadow-soft); }
.dh-rating { color: var(--dh-yellow); margin-bottom: 16px; letter-spacing: .08em; }
.dh-testimonial p { color: var(--dh-text); font-family: var(--dh-heading); font-size: 22px; line-height: 1.34; }
.dh-avatar { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.dh-avatar span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--dh-primary), #18B7A5); color: #fff; font-weight: 900; }
.dh-avatar strong { display: grid; color: var(--dh-text); line-height: 1.2; }
.dh-avatar small { color: var(--dh-muted); font-size: 12px; font-weight: 700; }

.dh-page-hero { padding: clamp(90px, 10vw, 140px) 0 clamp(44px, 7vw, 84px); background: linear-gradient(135deg, #fff, var(--dh-bg-soft)); }
.dh-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 44px; align-items: end; }
.dh-page-hero h1 { max-width: 850px; }
.dh-filter-panel, .dh-side-cta, .dh-reservation-panel, .dh-price-panel { padding: 25px; border-radius: var(--dh-radius); background: #fff; border: 1px solid var(--dh-border); box-shadow: var(--dh-shadow-soft); }
.dh-listing-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
.dh-room-grid-listing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dh-side-cta, .dh-reservation-panel { position: sticky; top: 110px; }
.dh-side-cta h2, .dh-reservation-panel h2 { font-size: clamp(30px, 3vw, 44px); }
.dh-room-detail-hero { padding: clamp(80px, 9vw, 124px) 0 0; background: linear-gradient(180deg, #fff, var(--dh-bg-soft)); }
.dh-room-detail-head { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 34px; align-items: end; margin-bottom: 34px; }
.dh-price-panel strong { display: block; color: var(--dh-primary); font-family: var(--dh-heading); font-size: 40px; font-weight: 600; line-height: 1; }
.dh-price-panel .dh-btn, .dh-reservation-panel .dh-btn { width: 100%; margin-top: 18px; }
.dh-detail-gallery { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 16px; }
.dh-detail-gallery-main, .dh-detail-gallery-side div, .dh-post-cover { overflow: hidden; border-radius: var(--dh-radius); background: var(--dh-sky); box-shadow: var(--dh-shadow-soft); }
.dh-detail-gallery-main { min-height: 520px; }
.dh-detail-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.dh-detail-gallery-side { display: grid; gap: 16px; }
.dh-detail-gallery-side div { min-height: 250px; background: linear-gradient(135deg, #E7F7F4, #007A6C); }
.dh-detail-gallery-side div + div { background: linear-gradient(135deg, #FFF4DF, #FF7A3D); }
.dh-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 42px; align-items: start; }
.dh-key-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 34px; }
.dh-key-facts div { padding: 18px; border-radius: var(--dh-radius-sm); background: #fff; border: 1px solid var(--dh-border); }
.dh-key-facts span { display: block; color: var(--dh-muted); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.dh-key-facts strong { display: block; color: var(--dh-text); }
.dh-prose { color: var(--dh-muted); font-size: 18px; }
.dh-prose h2 { margin-top: 38px; font-size: clamp(30px, 4vw, 46px); }
.dh-prose a { color: var(--dh-blue); font-weight: 800; }
.dh-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.dh-post-card { padding: 24px; border-radius: var(--dh-radius); background: #fff; border: 1px solid var(--dh-border); }

.dh-final-cta { position: relative; overflow: hidden; padding: var(--dh-space) 0; background: radial-gradient(circle at 18% 24%, rgba(255,122,61,.32), transparent 24%), radial-gradient(circle at 86% 74%, rgba(0,122,108,.42), transparent 26%), linear-gradient(135deg, var(--dh-dark), var(--dh-primary)); color: #fff; }
.dh-final-cta h2, .dh-final-cta p { color: #fff; }
.dh-final-cta p { color: rgba(255,255,255,.78); }
.dh-final-cta-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: end; }
.dh-footer { padding: 66px 0 28px; background: var(--dh-dark); color: #fff; }
.dh-footer p, .dh-footer a, .dh-footer-bottom { color: rgba(255,255,255,.72); }
.dh-footer h3 { color: #fff; font-size: 18px; }
.dh-footer-grid { display: grid; grid-template-columns: 1.35fr .75fr .75fr .82fr 1.15fr; gap: 34px; }
.dh-footer-brand p { max-width: 330px; }
.dh-footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.dh-socials { display: flex; gap: 10px; margin-top: 22px; }
.dh-socials a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: #fff; font-size: 12px; font-weight: 900; }
.dh-newsletter form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 14px; }
.dh-newsletter input { min-height: 42px; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); color: #fff; }
.dh-newsletter input::placeholder { color: rgba(255,255,255,.52); }
.dh-footer-bottom { display: flex; justify-content: space-between; gap: 18px; margin-top: 46px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: 13px; }

.dh-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.dh-reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
	.dh-nav-list { gap: 14px; }
	.dh-nav-list a { font-size: 12px; }
	.dh-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
	.dh-menu-toggle { display: inline-block; z-index: 70; }
	.dh-primary-nav { position: fixed; inset: 0 0 auto 0; min-height: 100vh; padding: 100px 24px 32px; display: grid; align-content: start; justify-items: stretch; gap: 24px; background: rgba(255,255,255,.98); transform: translateY(-110%); transition: transform .32s ease; z-index: 60; }
	.dh-primary-nav.is-open { transform: translateY(0); }
	.dh-nav-list { display: grid; gap: 8px; }
	.dh-nav-list a { display: block; padding: 14px 0; font-size: 24px; color: var(--dh-text); }
	.dh-header-actions { align-items: stretch; justify-content: start; }
	.dh-language { display: none; }
	.dh-hero { min-height: 700px; }
	.dh-hero-content { grid-template-columns: 1fr; padding-bottom: 126px; }
	.dh-booking-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dh-booking-card .dh-btn { width: 100%; }
	.dh-room-grid, .dh-service-grid, .dh-testimonials, .dh-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dh-section-head-row, .dh-section-title-row { align-items: start; flex-direction: column; }
	.dh-experience-grid, .dh-location-split-grid, .dh-page-hero-grid, .dh-listing-layout, .dh-room-detail-head, .dh-detail-layout, .dh-final-cta-inner { grid-template-columns: 1fr; }
	.dh-side-cta, .dh-reservation-panel { position: static; }
	.dh-detail-gallery { grid-template-columns: 1fr; }
	.dh-detail-gallery-side { grid-template-columns: repeat(2, 1fr); }
	.dh-experience-stats { grid-template-columns: repeat(2, 1fr); }
	.dh-map-light { border-radius: 0; }
}
@media (max-width: 640px) {
	.dh-container { width: min(calc(100% - 28px), var(--dh-container)); }
	.dh-header-inner { min-height: 70px; }
	.dh-brand-mark { width: 40px; height: 40px; }
	.dh-brand-text { font-size: 21px; }
	.dh-hero { min-height: 670px; }
	.dh-hero-photo:before { inset: 15% 7% 24% 42%; opacity: .74; }
	.dh-hero-content { padding: 112px 0 105px; gap: 22px; }
	.dh-hero h1 { font-size: clamp(43px, 13vw, 58px); }
	.dh-trust-card { display: none; }
	.dh-booking-wrap { margin-top: -48px; }
	.dh-booking-card, .dh-room-grid, .dh-service-grid, .dh-testimonials, .dh-room-grid-listing, .dh-key-facts, .dh-footer-grid { grid-template-columns: 1fr; }
	.dh-room-body, .dh-service-card, .dh-testimonial { padding: 21px; }
	.dh-card-actions { align-items: stretch; flex-direction: column; }
	.dh-card-actions .dh-btn { width: 100%; }
	.dh-collage { grid-template-columns: 1fr; grid-template-rows: auto; }
	.dh-collage-main { min-height: 330px; grid-row: auto; }
	.dh-collage-small { min-height: 180px; }
	.dh-gallery { grid-template-columns: 1fr; grid-auto-rows: 210px; }
	.dh-gallery-large, .dh-gallery-tall { grid-row: span 1; }
	.dh-location-panel { padding: 28px; }
	.dh-map-light { min-height: 360px; }
	.dh-detail-gallery-main { min-height: 360px; }
	.dh-detail-gallery-side { grid-template-columns: 1fr; }
	.dh-detail-gallery-side div { min-height: 180px; }
	.dh-footer-bottom, .dh-newsletter form { grid-template-columns: 1fr; flex-direction: column; }
}

/* Premium inner-page and interaction polish */
.dh-archive-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.dh-archive-trust span { padding: 8px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--dh-border); color: var(--dh-primary-dark); font-size: 12px; font-weight: 850; box-shadow: 0 8px 22px rgba(16,24,40,.05); }
.dh-content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 42px; align-items: start; }
.dh-content-shell { max-width: 820px; }
.dh-page-feature { min-height: 340px; overflow: hidden; border-radius: var(--dh-radius); box-shadow: var(--dh-shadow); background: var(--dh-sky); }
.dh-page-feature img { width: 100%; height: 100%; object-fit: cover; }
.dh-page-aside { top: 110px; }
.dh-post-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.dh-post-meta span { padding: 8px 11px; border-radius: 999px; background: var(--dh-bg-soft); color: var(--dh-muted); font-size: 12px; font-weight: 850; }
.dh-price-note { margin-top: 12px; color: var(--dh-muted); font-size: 12px; font-weight: 800; }
.dh-prose { color: var(--dh-muted); font-size: 18px; }
.dh-prose > *:first-child { margin-top: 0; }
.dh-prose p, .dh-prose li { color: var(--dh-muted); }
.dh-prose h2, .dh-prose h3 { margin-top: 38px; margin-bottom: 14px; color: var(--dh-text); }
.dh-prose h2 { font-size: clamp(30px, 4vw, 46px); }
.dh-prose h3 { font-family: var(--dh-heading); font-size: clamp(24px, 3vw, 34px); font-weight: 600; }
.dh-prose a { color: var(--dh-blue); font-weight: 800; border-bottom: 1px solid rgba(37,99,235,.24); }
.dh-prose img { border-radius: var(--dh-radius-sm); box-shadow: var(--dh-shadow-soft); }
.dh-prose blockquote { margin: 32px 0; padding: 24px; border-left: 4px solid var(--dh-accent); border-radius: var(--dh-radius-sm); background: var(--dh-bg-soft); color: var(--dh-text); }
.dh-prose ul, .dh-prose ol { padding-left: 1.25em; }
.dh-field-active input, .dh-field-active select, .dh-field-active textarea { border-color: rgba(0,122,108,.58); box-shadow: 0 0 0 4px rgba(0,122,108,.10); }
.dh-room-card, .dh-service-card, .dh-testimonial, .dh-gallery-item, .dh-side-cta, .dh-price-panel, .dh-reservation-panel { will-change: transform; }

@media (max-width: 980px) {
	.dh-content-layout { grid-template-columns: 1fr; }
	.dh-page-feature { min-height: 280px; }
}
@media (max-width: 640px) {
	.dh-archive-trust { margin-top: 18px; }
	.dh-page-feature { min-height: 220px; }
	.dh-content-shell { max-width: none; }
}

/* Final art-direction pass: modern hospitality marketplace finish */
:root {
	--dh-bg-soft: #F4FBFA;
	--dh-primary: #008577;
	--dh-primary-dark: #075E56;
	--dh-accent: #FF6B3A;
	--dh-accent-dark: #E95522;
	--dh-cream: #FFF7ED;
	--dh-ink-soft: #1D2939;
	--dh-shadow: 0 22px 60px rgba(16, 24, 40, 0.12);
	--dh-heading: Georgia, 'Iowan Old Style', 'Palatino Linotype', 'Times New Roman', serif;
}
body { -webkit-font-smoothing: antialiased; }
h1, h2 { text-wrap: balance; }
.dh-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--dh-primary); }
.dh-eyebrow:before { content: ""; width: 26px; height: 2px; border-radius: 999px; background: var(--dh-accent); }
.dh-section-center .dh-eyebrow { justify-content: center; }
.dh-section { position: relative; }
.dh-btn { letter-spacing: .01em; }
.dh-btn-primary { background: linear-gradient(135deg, var(--dh-accent), #FF8A5C); box-shadow: 0 18px 36px rgba(255, 107, 58, .30); }
.dh-btn-dark { background: linear-gradient(135deg, var(--dh-primary), #16B7A7); box-shadow: 0 18px 36px rgba(0, 133, 119, .24); }
.dh-btn-soft { background: linear-gradient(180deg, #fff, #F8FFFE); }
.dh-link { border-bottom-style: dashed; }

.dh-site-header { border-bottom-color: rgba(16,24,40,.08); }
.home .dh-site-header { background: rgba(255,255,255,.76); box-shadow: 0 1px 0 rgba(255,255,255,.50) inset; }
.dh-brand-mark { border-radius: 16px; }
.dh-brand-text { font-size: 24px; }
.dh-nav-list a { position: relative; }
.dh-nav-list a:after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; border-radius: 999px; background: var(--dh-accent); transform: scaleX(0); transform-origin: left; transition: transform .22s ease; }
.dh-nav-list a:hover:after { transform: scaleX(1); }

.dh-hero { min-height: 790px; background: #F7FFFD; }
.dh-hero-photo {
	background:
		linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.72) 38%, rgba(255,255,255,.24) 64%, rgba(16,42,39,.18)),
		radial-gradient(circle at 68% 18%, rgba(255,200,87,.58), transparent 17%),
		radial-gradient(circle at 86% 62%, rgba(255,107,58,.42), transparent 23%),
		linear-gradient(135deg, #F4FBFA 0 14%, #D9F7F2 14% 28%, #41D3C2 28% 42%, #FFFFFF 42% 52%, #FFD5C0 52% 64%, #008577 64% 82%, #102A27 82% 100%);
}
.dh-hero-photo:before {
	inset: 12% 6% 13% 53%;
	background:
		linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.18)),
		linear-gradient(90deg, transparent 0 24%, rgba(255,255,255,.30) 25% 27%, transparent 28% 49%, rgba(255,255,255,.30) 50% 52%, transparent 53% 74%, rgba(255,255,255,.30) 75% 77%, transparent 78%);
}
.dh-hero-copy { position: relative; }
.dh-hero-copy:before { content: ""; position: absolute; left: -34px; top: 6px; width: 5px; height: 150px; border-radius: 999px; background: linear-gradient(180deg, var(--dh-accent), var(--dh-primary)); }
.dh-hero h1 { max-width: 820px; color: #0B1F1D; font-size: clamp(52px, 8vw, 112px); }
.dh-hero-copy > p:not(.dh-eyebrow) { max-width: 690px; color: rgba(16,24,40,.76); }
.dh-hero-points li { background: rgba(255,255,255,.92); border-color: rgba(0,133,119,.18); }
.dh-trust-card { border-color: rgba(255,255,255,.92); box-shadow: 0 28px 70px rgba(16,24,40,.14); }

.dh-booking-card { padding: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(180px, auto); border: 1px solid rgba(16,24,40,.08); box-shadow: 0 28px 80px rgba(16,24,40,.14); }
.dh-booking-card label { position: relative; padding-left: 14px; border-left: 1px solid rgba(16,24,40,.08); }
.dh-booking-card label:first-child { border-left: 0; padding-left: 0; }
.dh-booking-card label span:before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--dh-primary); }
.dh-booking-card input, .dh-booking-card select { border-color: transparent; background: var(--dh-bg-soft); }

.dh-room-card { border-radius: 28px; box-shadow: 0 16px 38px rgba(16,24,40,.08); }
.dh-room-card:hover { transform: translateY(-8px); }
.dh-room-media { aspect-ratio: 1.12 / .82; }
.dh-badge { top: 18px; left: 18px; }
.dh-room-body { padding: 26px; }
.dh-room-head h3 { font-size: clamp(24px, 2.4vw, 32px); }
.dh-price strong { color: var(--dh-primary-dark); }
.dh-room-actions { display: flex; align-items: center; gap: 12px; }
.dh-consult-link { color: var(--dh-accent-dark); font-size: 13px; font-weight: 900; border-bottom: 1px dashed rgba(255,107,58,.38); }
.dh-room-meta li:nth-child(2) { background: var(--dh-cream); color: var(--dh-accent-dark); }

.dh-service-card { border-radius: 22px; box-shadow: 0 10px 30px rgba(16,24,40,.05); }
.dh-service-icon { box-shadow: inset 0 0 0 7px rgba(255,255,255,.62); }
.dh-experience { background: linear-gradient(180deg, #fff, #FBFEFD); }
.dh-experience-stats div { background: #fff; box-shadow: 0 10px 28px rgba(16,24,40,.05); }
.dh-collage-main, .dh-collage-small { border: 1px solid rgba(16,24,40,.08); }
.dh-gallery-item { box-shadow: 0 14px 36px rgba(16,24,40,.08); }
.dh-location-split-grid { border: 1px solid rgba(16,24,40,.08); }
.dh-map-light { background-color: #FAFFFE; }
.dh-testimonial { box-shadow: 0 14px 38px rgba(16,24,40,.07); }
.dh-testimonial p { font-size: 23px; }
.dh-final-cta { background: radial-gradient(circle at 18% 24%, rgba(255,107,58,.34), transparent 24%), radial-gradient(circle at 82% 72%, rgba(22,183,167,.46), transparent 28%), linear-gradient(135deg, #0B1F1D, #075E56 52%, #008577); }
.dh-footer { background: #0B1F1D; }

@media (max-width: 980px) {
	.dh-booking-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dh-booking-card label { border-left: 0; padding-left: 0; }
	.dh-hero-copy:before { left: -18px; height: 110px; }
}
@media (max-width: 640px) {
	.dh-hero-copy:before { display: none; }
	.dh-booking-card { grid-template-columns: 1fr; }
	.dh-room-actions { justify-content: space-between; }
}
