.cave-page{background:#f4f1e9;color:#101413}
.cave-header{position:absolute}
.cave-hero{position:relative;min-height:94vh;display:flex;align-items:center;overflow:hidden;color:#fff}
.cave-hero-image{position:absolute;inset:0;background:url('lipa-cave-hero.webp') center 52%/cover no-repeat;transform:scale(1.025)}
.cave-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,13,.95),rgba(16,20,19,.58) 55%,rgba(16,20,19,.12)),linear-gradient(0deg,rgba(12,22,19,.86),transparent 58%)}
.cave-hero-content{position:relative;z-index:2;padding:145px 7vw 190px;max-width:990px}
.cave-hero-content h1{font-size:clamp(4.2rem,8.2vw,8.7rem);letter-spacing:-.055em}
.cave-hero-content h1 em{color:#9ec6d4}
.cave-hero-content>p:not(.eyebrow){max-width:650px;margin:30px 0 36px;color:#eef2ef;font-size:1.05rem}
.cave-hero-stats{position:absolute;z-index:3;left:7vw;right:7vw;bottom:38px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.35);padding-top:20px}
.cave-hero-stats div{display:flex;flex-direction:column;gap:3px}
.cave-hero-stats strong{font-family:var(--serif);font-size:1.5rem}
.cave-hero-stats span{font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:#d6e0dc}
.cave-intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.cave-intro h2,.cave-gallery h2,.cave-route h2,.cave-highlights h2,.admission-section h2,.prepare-section h2,.faq-section h2,.booking-section h2{font-size:clamp(3rem,5.2vw,5.8rem);letter-spacing:-.045em}
.cave-intro-copy .lead{margin-top:0}
.cave-intro-copy>p{color:#59645f}
.operator-note{margin-top:28px;padding:22px 24px;border-left:3px solid #247fa3;background:#e5ece9}
.operator-note strong{color:#195a43}
.cave-gallery{background:#e5ebe7}
.cave-gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:300px 300px;gap:15px;margin-top:46px}
.cave-gallery-grid figure{margin:0;overflow:hidden;background:#cbd5d0}
.cave-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}
.cave-gallery-grid figure:hover img{transform:scale(1.045)}
.gallery-wide{grid-row:span 2}
.cave-gallery-quote{padding:38px;background:#101413;color:#fff;display:flex;flex-direction:column;justify-content:center}
.cave-gallery-quote span{font-family:var(--serif);font-size:5.6rem;line-height:.8;color:#247fa3}
.cave-gallery-quote p{font-family:var(--serif);font-size:1.55rem;line-height:1.2;margin:18px 0 0;color:#edf2ef}
.cave-route{display:grid;grid-template-columns:1fr 1fr;min-height:780px}
.cave-route-image{background:url('lipa-cave-gallery-4.webp') center/cover no-repeat;min-height:620px}
.cave-route-content{padding:8vw 7vw;background:#101413;color:#fff}
.cave-route-content>.eyebrow{color:#9ec6d4}
.descent-timeline{list-style:none;padding:0;margin:45px 0 0}
.descent-timeline li{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:21px 0;border-top:1px solid rgba(255,255,255,.2)}
.descent-timeline>li>span{font-size:.62rem;letter-spacing:.14em;color:#66a983;padding-top:7px}
.descent-timeline h3{font-size:1.5rem;margin:0 0 5px}
.descent-timeline p{font-size:.83rem;color:#c9d4cf;margin:0}
.highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:45px}
.highlight-grid article{padding:28px 24px 32px;background:#fff;border-top:3px solid #195a43;box-shadow:0 16px 38px rgba(16,20,19,.07)}
.highlight-grid span{font-size:.62rem;letter-spacing:.14em;color:#247fa3}
.highlight-grid h3{font-size:1.55rem;margin:17px 0 9px}
.highlight-grid p{font-size:.82rem;color:#59645f;margin:0}
.admission-section{background:#195a43;color:#fff;display:grid;grid-template-columns:.92fr 1.08fr;gap:8vw;align-items:center}
.admission-copy>p:not(.eyebrow){color:#d5e2dc;max-width:620px}
.price-note{padding-top:18px;border-top:1px solid rgba(255,255,255,.24);font-size:.82rem}
.price-list{border-top:1px solid rgba(255,255,255,.35)}
.price-list div{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.price-list span{font-size:.77rem;text-transform:uppercase;letter-spacing:.08em;color:#dce9e3}
.price-list strong{font-family:var(--serif);font-size:2.25rem;color:#9ec6d4;white-space:nowrap}
.cave-photo-strip{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:14px;padding:105px 7vw;background:#f4f1e9}
.cave-photo-strip figure{position:relative;margin:0;min-height:390px;overflow:hidden;background:#d5ddd9}
.cave-photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.cave-photo-strip figure:hover img{transform:scale(1.045)}
.cave-photo-strip figcaption{position:absolute;left:17px;bottom:16px;padding:8px 12px;background:rgba(16,20,19,.82);color:#fff;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.prepare-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}
.prepare-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c7d0cb}
.prepare-grid span{padding:20px 12px;border-bottom:1px solid #c7d0cb;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.faq-section{background:#e5ebe7}
.faq-list{margin-top:45px;border-top:1px solid #bcc9c3}
.faq-list details{border-bottom:1px solid #bcc9c3;padding:0 4px}
.faq-list summary{cursor:pointer;list-style:none;padding:24px 42px 24px 0;font-family:var(--serif);font-size:1.45rem;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:5px;color:#195a43;font-family:var(--sans);font-size:1.7rem}
.faq-list details[open] summary::after{content:'–'}
.faq-list details p{max-width:820px;margin:0 0 24px;color:#59645f}
.booking-section{background:#101413;color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}
.booking-copy>p:not(.eyebrow){color:#c9d4cf;max-width:590px}
.booking-contact{display:flex;flex-direction:column;gap:7px;margin:28px 0 35px}
.booking-contact a,.booking-contact span{font-family:var(--serif);font-size:1.25rem}
.cave-form{background:#f5f2ea;color:var(--ink)}
@media(max-width:980px){
  .cave-intro,.cave-route,.admission-section,.prepare-section,.booking-section{grid-template-columns:1fr}
  .cave-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:380px 300px}
  .gallery-wide{grid-column:span 2;grid-row:auto}
  .highlight-grid{grid-template-columns:1fr 1fr}
  .cave-photo-strip{grid-template-columns:1fr 1fr}
  .cave-photo-strip figure:first-child{grid-column:span 2}
}
@media(max-width:650px){
  .cave-hero-content{padding:125px 22px 220px}
  .cave-hero-content h1{font-size:clamp(3.5rem,18vw,5.3rem)}
  .cave-hero-stats{left:22px;right:22px;grid-template-columns:1fr 1fr;gap:14px}
  .cave-gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,300px)}
  .gallery-wide{grid-column:auto}
  .cave-route-content{padding:75px 22px}
  .highlight-grid{grid-template-columns:1fr}
  .price-list div{align-items:center}
  .price-list strong{font-size:1.8rem}
  .cave-photo-strip{grid-template-columns:1fr;padding:78px 22px}
  .cave-photo-strip figure:first-child{grid-column:auto}
  .cave-photo-strip figure{min-height:300px}
  .prepare-grid{grid-template-columns:1fr}
}
