/* Final audit: compact reading, unobstructed controls, consistently filled photos. */
html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}
.gallery-image{display:block;aspect-ratio:4/5;height:auto;padding:0}
.gallery-image img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.gallery-card[data-photo-id="01-rak"] .gallery-image img{object-position:50% 28%}
.why-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}
.why-card summary{list-style:none;display:grid;grid-template-columns:1fr auto;gap:16px;cursor:pointer;min-height:48px}
.why-card summary::-webkit-details-marker,.service-details summary::-webkit-details-marker{display:none}
.why-card h3{grid-column:1/-1;margin:0;font-size:22px;line-height:1.5;overflow-wrap:anywhere}
.why-card .service-icon{grid-column:1;grid-row:1}
.why-card .detail-plus{grid-column:2;grid-row:1;font-size:28px;line-height:48px}
.why-card[open] .detail-plus{transform:rotate(45deg)}
.why-card p{margin-top:16px}
.service-details{width:100%}.service-details summary{list-style:none;min-height:48px;display:flex;align-items:center;gap:8px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-weight:650}
.service-details summary:after{content:'+';margin-left:auto;font-size:24px}.service-details[open] summary:after{content:'−'}
.service-details p{margin-top:8px}.service-details p.micro{margin-top:16px}
.why-card summary:focus-visible,.service-details summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:8px}
@media(max-width:760px){
 .section{padding-block:32px}.section-heading{gap:16px;margin-bottom:24px}.section-lead{margin-top:16px}
 .hero-grid{gap:24px;padding-block:24px}.hero-lead{margin-block:16px}.hero-bottom .wrap{padding-block:16px}
 .hotel-grid,.member-grid,.compare-grid,.order-grid,.faq-grid,.location-grid{gap:24px}
 .hotel-quick{padding:16px}.hotel-buttons{gap:8px}.hotel-pickup{margin-block:16px}
 .why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
 .why-card{padding:16px;border-radius:16px}.why-card summary{gap:8px}.why-card h3{font-size:18px;line-height:1.5}.why-card .service-icon{width:40px;height:40px}.why-card .service-icon svg{width:24px;height:24px}.why-card .detail-plus{line-height:40px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-card{padding:16px;gap:8px;border-radius:16px}.service-card h3{font-size:20px;line-height:1.5;overflow-wrap:anywhere}.service-top{gap:8px}.service-top .pill{display:none}.service-price{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.service-card .text-button{width:100%;min-height:48px;gap:8px;font-size:16px;white-space:normal}.service-card .watermark{display:none}.service-details{font-size:16px}.service-details summary{line-height:1.5;align-items:start;padding-block:8px}
 .packages{padding:16px;margin-top:24px}.package-grid{gap:16px;margin-top:16px}.package-card{padding:16px}.packages>p{margin-block:16px}.package-card h4{font-size:20px}.package-usage{line-height:1.5}.price-table-section{margin-top:24px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-image{height:auto;padding:0}.gallery-image>span{right:8px;top:8px;width:32px;height:32px;border-radius:8px;pointer-events:none}.gallery-image>span svg{width:18px;height:18px}.gallery-caption{padding:16px;min-height:96px;gap:8px;align-items:start}.gallery-caption strong{font-size:16px;line-height:1.5}.gallery-caption>span{font-size:16px}.gallery-caption>span svg{display:none}
 .journey-tab{min-height:72px;padding:16px}.journey-panel{padding:16px;gap:16px}.journey-photo{height:216px}
 .map-view{height:400px}.map-cover{padding:16px}.map-cover .map-orbit{display:none}.map-cover h3{font-size:22px}.map-caption{padding:16px}
 .faq-list summary{padding-block:16px;min-height:64px}.final-cta .wrap{gap:16px}.footer-grid{gap:24px}.footer{padding-top:32px}
 .compare-section,#estimasi,#pesan{scroll-margin-top:96px}.compare-card{padding-bottom:24px}
}
.header .brand .logo{width:56px;height:56px;flex:none;object-fit:contain}
@media(max-width:760px){.header .brand .logo{width:40px;height:40px;min-width:40px}.gallery-caption{display:block;min-height:80px}.gallery-caption>span{display:none}}

.language-indicator{display:inline-flex;align-items:center;justify-content:center;font-weight:700;line-height:1.5;cursor:default}
