.detail-hero {position:relative; min-height:650px; overflow:hidden; padding:190px 0 90px; isolation:isolate;}
.detail-hero-image {position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center;}
.detail-hero-overlay {position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(30,52,44,.9) 0%,rgba(47,66,59,.72) 52%,rgba(47,66,59,.48) 100%);}
.detail-hero-content {position:relative; z-index:1; color:#fff;}
.detail-hero-copy {max-width:720px;}
.detail-hero h1 {max-width:700px; margin-bottom:18px; color:#fff; font-size:clamp(3rem,7vw,5.5rem); line-height:.95;}
.detail-hero .lead {max-width:650px; margin-bottom:28px; color:rgba(255,255,255,.9);}
.breadcrumbs {margin-bottom:70px; font-size:14px;}
.breadcrumbs,.breadcrumbs a {color:rgba(255,255,255,.82);}
.breadcrumbs a:hover {color:#fff;}
.detail-meta span {padding:7px 13px; border:1px solid rgba(255,255,255,.45); border-radius:999px; background:rgba(18,40,33,.3); color:#fff; font-size:14px; font-weight:600; backdrop-filter:blur(5px);}
.detail-copy p {font-size:17px; line-height:1.8;}
.feature-list li span {color:var(--theme-color); font-weight:700;}
.booking-panel {position:sticky; top:100px; border-color:rgba(47,66,59,.16) !important; background:rgba(47,66,59,.045);}
.booking-panel dl>div {padding:14px 0; border-top:1px solid #dce3df;}
.booking-panel dt {font-size:13px; letter-spacing:.06em; text-transform:uppercase;}
.booking-panel dd {margin:3px 0 0;}
.gallery-section {background:var(--background-color);}
.gallery-grid {display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:205px; gap:14px;}
.gallery-grid>.gallery-tile {grid-column:span 4;}
.gallery-grid>.gallery-tile:first-child {grid-column:span 7; grid-row:span 2;}
.gallery-grid>.gallery-tile:nth-child(2),.gallery-grid>.gallery-tile:nth-child(3) {grid-column:span 5;}

@media (max-width:767px) {
    .detail-hero {min-height:590px; padding:150px 0 65px;}
    .detail-hero-overlay {background:rgba(34,60,50,.76);}
    .breadcrumbs {margin-bottom:45px;}
    .detail-hero h1 {font-size:clamp(2.8rem,15vw,4.3rem);}
    .gallery-grid {grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:180px; gap:10px;}
    .gallery-grid>.gallery-tile,.gallery-grid>.gallery-tile:nth-child(2),.gallery-grid>.gallery-tile:nth-child(3) {grid-column:span 1;}
    .gallery-grid>.gallery-tile:first-child {grid-column:1 / -1; grid-row:span 1; min-height:265px;}
}

@media (max-width:359px) {
    .detail-hero {min-height:520px; padding:128px 0 48px;}
    .breadcrumbs {margin-bottom:30px; font-size:12px; line-height:1.45;}
    .detail-hero h1 {margin-bottom:14px; font-size:2.35rem; line-height:1;}
    .detail-hero .lead {margin-bottom:20px; font-size:1rem; line-height:1.5;}
    .detail-meta {gap:.35rem !important;}
    .detail-meta span {padding:5px 9px; font-size:12px;}
    .detail-copy p {font-size:15px; line-height:1.7;}
    .booking-panel {padding:1.25rem !important;}
    .gallery-grid {grid-auto-rows:140px; gap:8px;}
    .gallery-grid>.gallery-tile:first-child {min-height:210px;}
}
