.detail-hero{min-height:490px;position:relative;display:flex;align-items:flex-end;color:#fff;background:#263b4a;overflow:hidden}
.brand-logo{display:block;width:371px;height:81px;margin-left:-12px;max-height:none;object-fit:contain}
.brand{gap:0}
.site-footer .brand-logo{width:340px;height:74px;max-height:none}
.detail-hero>img{position:absolute;inset:0;object-position:center 52%}
.detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,29,28,.48),rgba(17,29,28,.03)),linear-gradient(0deg,rgba(17,29,28,.24),transparent 65%)}
.detail-hero-copy{position:relative;z-index:1;padding:76px 10%;max-width:880px}
.detail-hero h1{font:500 clamp(48px,7vw,82px)/1.02 var(--display);letter-spacing:-.04em;margin:20px 0}
.detail-hero-copy>p:last-child{max-width:570px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.84)}
.detail-wrap{padding:84px 10%;max-width:1440px;margin:auto}
.detail-intro{display:block}
.detail-intro>div:first-child{max-width:650px}
.detail-intro>.detail-facts{margin-top:28px}
.detail-intro h2,.detail-section h2{font:500 clamp(34px,4vw,52px)/1.1 var(--display);letter-spacing:-.03em;margin:16px 0}
.detail-intro>div>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#626a68}
.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;gap:12px}
.detail-facts div{display:flex;flex-direction:column;gap:6px}
.detail-facts b{font:500 clamp(30px,3.4vw,42px)/1 var(--display);color:var(--green)}
.detail-facts span{font-size:10px;color:var(--muted)}
.detail-section{padding-top:66px}
.detail-section h2{margin-bottom:26px}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.amenity{background:#eceee9;padding:19px 20px;border-radius:14px;font-size:12px;line-height:1.7;color:#46534e}
.amenity b{display:block;font:500 18px var(--display);color:var(--ink);margin-bottom:5px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:230px;gap:12px}
.gallery-grid figure{margin:0;overflow:hidden;border-radius:16px;background:#d9ddd8}
.gallery-grid figure:first-child{grid-row:span 2}
.gallery-grid img{transition:transform .7s}
.gallery-grid figure:hover img{transform:scale(1.035)}
.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:stretch}
.location-copy{background:#e9ece8;border-radius:16px;padding:28px}
.location-copy h3{font:500 25px var(--display);margin:5px 0 13px}
.location-copy p{font-size:12px;line-height:1.8;color:#5e6863}
.location-copy .text-link{display:inline-block;margin-top:20px}
.map-frame{border:0;width:100%;min-height:330px;border-radius:16px;background:#e4e2db}
.detail-cta{margin-top:54px;background:#263b4a;color:#f5f1e9;border-radius:18px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.detail-cta h2{font:500 32px var(--display);margin:0 0 8px}
.detail-cta p{font-size:12px;color:rgba(245,241,233,.76);margin:0}
.detail-cta .text-link{color:white;border-color:rgba(255,255,255,.55);white-space:nowrap}
.detail-back{display:inline-block;margin-top:30px}
@media(max-width:700px){.brand-logo{width:min(309px,calc(100vw - 90px));height:auto;max-height:68px}.site-footer .brand-logo{width:289px;height:auto;max-height:63px}.detail-hero{min-height:430px}.detail-hero-copy{padding:58px 24px}.detail-hero h1{font-size:52px}.detail-wrap{padding:60px 23px}.detail-intro,.location-grid{grid-template-columns:1fr;gap:24px}.detail-facts b{font-size:clamp(24px,7vw,32px)}.amenity-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:8px}.gallery-grid figure:first-child{grid-row:span 2}.detail-cta{padding:26px;align-items:flex-start;flex-direction:column}.map-frame{min-height:290px}}

.detail-hero-copy>p:last-child,.detail-intro>div>p:not(.eyebrow){font-size:15px}
.location-copy p,.amenity{font-size:13px}
.detail-cta p{font-size:13px}

.detail-hero-copy>p:last-child,.detail-intro>div>p:not(.eyebrow){font-size:17px}
.location-copy p,.amenity,.detail-cta p{font-size:15px}

.amenity-icon{display:block;width:28px;height:28px;margin:0 0 11px;color:#607b6d;stroke:currentColor;stroke-width:1.55;fill:none;stroke-linecap:round;stroke-linejoin:round}
.amenity b{margin-bottom:7px}

.amenity-icon{display:inline-block;vertical-align:middle;margin:0 10px 8px 0}
.amenity b{display:inline-block;vertical-align:middle;margin:0 0 8px;font:600 19px var(--display);color:#263b4a}
.amenity-copy{display:block;margin:0;font-size:inherit;line-height:1.7}

.amenity-important{background:#f2e8dc;border-color:#d8c4ad}
.amenity-important .amenity-icon{color:#a66d4c}

.detail-facts span{font-size:14px;line-height:1.4}
.capacity-facts b{font-size:clamp(30px,3.4vw,42px);line-height:1}
.capacity-facts b small{font:500 14px/1 var(--body);color:var(--muted)}
@media(max-width:700px){.detail-facts span{font-size:14px}.capacity-facts b{font-size:clamp(24px,7vw,32px)}}

.amenity-list{margin:0;padding-left:18px;display:grid;gap:7px;font-size:13px;line-height:1.65}
.amenity-important{grid-column:1 / -1}
.amenity-important .amenity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px}
@media(max-width:700px){.amenity-important .amenity-list{grid-template-columns:1fr}}

.amenity,.amenity-copy,.amenity-list{font-size:14px;line-height:1.6}
.amenity b{font-size:19px}
.amenity-list{gap:7px}
.rule-note-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:30px}
.rule-group h3{margin:0 0 10px;font:600 14px/1.4 var(--body);color:#263b4a}
.rule-group ul{margin:0;padding-left:19px;display:grid;gap:7px;font:400 14px/1.6 var(--body)}
@media(max-width:700px){.rule-note-grid{grid-template-columns:1fr;gap:20px}}

.amenity-link{display:inline-flex;margin-top:16px}
.detail-social{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px;color:#f5f1e9;font-size:12px}
.detail-social>a{display:inline-flex;align-items:center;gap:5px;color:inherit;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
.detail-social .social-icon{width:16px;height:16px}

.detail-social-section{margin-top:24px;padding:26px 30px;background:#e9ece8;border:1px solid #d9dfda;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.detail-social-section .eyebrow{margin:0 0 8px}
.detail-social-section h2{font:500 clamp(23px,2.7vw,30px)/1.12 var(--display);letter-spacing:-.02em;margin:0 0 7px}
.detail-social-section p:not(.eyebrow){font-size:14px;line-height:1.6;color:#5f6964;margin:0}
.detail-social-section .detail-social{margin:0;color:#263b4a;gap:16px}
.detail-social-section .detail-social>a{color:#263b4a;border-color:#aab6ba}
@media(max-width:700px){.detail-social-section{padding:22px;align-items:flex-start;flex-direction:column;gap:17px}.detail-social-section .detail-social{flex-wrap:wrap}}

.detail-social-section .detail-social{font-size:15px}
.detail-social-section .detail-social>a{font-size:15px;gap:7px;padding-bottom:5px}
.detail-social-section .social-icon{width:20px;height:20px}
@media(max-width:700px){.detail-social-section .detail-social{font-size:15px}}

@media (min-width: 651px) and (max-width: 1100px) {
  .site-footer .brand-logo { width: min(260px, 100%); height: auto; max-height: 58px; }
}

/* Toba gallery: large images move left in one continuous row. */
.detail-section#galeri h2{margin-bottom:10px}
.gallery-hint{margin:0 0 20px;font-size:9px;line-height:1.6;color:#737a70}
.gallery-carousel{display:block;width:100vw;margin-left:calc(50% - 50vw);}
.gallery-viewport{overflow:hidden;min-width:0}
.gallery-track{display:flex;gap:0;width:max-content;animation:none;will-change:transform}
.gallery-track.is-ready{animation:gallery-drift-left 170s linear infinite}
.gallery-viewport:hover .gallery-track,.gallery-viewport:focus-within .gallery-track{animation-play-state:paused}
.gallery-track figure{flex:0 0 auto;width:max-content;height:340px;margin:0 14px 0 0;overflow:hidden;border-radius:18px;background:#d9ddd8;cursor:pointer;position:relative}
@keyframes gallery-drift-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gallery-track img{display:block;width:auto;max-width:none;height:100%;object-fit:contain;transition:transform .7s}
.gallery-track figure:hover img{transform:scale(1.035)}
.gallery-track img:focus-visible{outline:3px solid #314b3e;outline-offset:-3px}
.gallery-track figure::after{content:"";position:absolute;top:14px;right:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(25,32,28,.62) url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23fff%27 stroke-width=%271.8%27 stroke-linecap=%27round%27%3E%3Ccircle cx=%2710.5%27 cy=%2710.5%27 r=%276%27/%3E%3Cpath d=%27m15 15 5 5M10.5 7.5v6m-3-3h6%27/%3E%3C/svg%3E") center/22px 22px no-repeat;box-shadow:0 2px 10px rgba(0,0,0,.2);opacity:0;transform:scale(.92);transition:opacity .2s,transform .2s;pointer-events:none}
.gallery-track figure:hover::after,.gallery-track figure:focus-within::after{opacity:1;transform:scale(1)}
.gallery-lightbox{width:min(94vw,1200px);max-width:none;max-height:92dvh;padding:0;border:0;border-radius:12px;background:#151815;color:#fff;overflow:visible}
.gallery-lightbox::backdrop{background:rgba(10,13,11,.88);backdrop-filter:blur(5px)}
.gallery-lightbox img{display:block;width:100%;height:min(84dvh,850px);object-fit:contain;background:#151815;border-radius:12px}
.gallery-lightbox-close,.gallery-lightbox-nav{position:absolute;z-index:1;width:48px;height:48px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(20,24,21,.74);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.gallery-lightbox-close{top:12px;right:12px;font:400 30px/1 Arial,sans-serif}
.gallery-lightbox-nav{top:50%;font:300 34px/1 Arial,sans-serif;transform:translateY(-50%)}
.gallery-lightbox-prev{left:14px}.gallery-lightbox-next{right:14px}
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:#fff;color:#222}
@media(max-width:700px){.gallery-track figure{flex-basis:auto;width:max-content;height:250px;margin-right:10px;border-radius:14px}.gallery-lightbox{width:96vw;border-radius:8px}.gallery-lightbox img{height:78dvh;border-radius:8px}.gallery-lightbox-close{top:8px;right:8px;width:42px;height:42px}.gallery-lightbox-nav{width:42px;height:42px;font-size:29px}.gallery-lightbox-prev{left:8px}.gallery-lightbox-next{right:8px}}

.detail-cta-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}
@media(max-width:700px){.detail-cta-links{flex-direction:column;align-items:flex-start;gap:14px}}

.location-distances{margin:12px 0 4px;padding-left:21px;color:#5e6863;font-size:15px;line-height:1.8}
.location-distances li{padding-left:3px}
.location-distances li+li{margin-top:5px}

.detail-cta .text-link:hover{color:#fff}

.location-copy .location-travel-note{margin:10px 0 0;font-size:14px;font-style:italic;color:#515d58}

.toba-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.toba-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.capacity-facts div:nth-child(2) b{white-space:nowrap}

.batam-detail-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.batam-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.payment-info{margin-top:22px;padding:28px 30px;border-radius:16px;background:#e9ece8;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}
.payment-info h2{font:500 clamp(28px,3vw,38px)/1.1 var(--display);margin:12px 0}
.payment-intro>p:last-child{max-width:600px;margin:0;color:#515d58;font-size:15px;line-height:1.7}
.payment-account{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;background:rgba(255,255,255,.62);border-radius:12px;color:#263b4a}
.payment-bank,.payment-name{font-size:13px;color:#52616a}
.payment-account strong{font-size:24px;letter-spacing:.03em}
.payment-account .text-link{margin-top:8px}
@media(max-width:700px){.payment-info{grid-template-columns:1fr;padding:23px;gap:20px}.payment-account strong{font-size:22px}}

.payment-account .payment-logo{width:128px;max-width:100%;height:40px;object-fit:cover;object-position:center;margin:0 0 2px;border-radius:0}

.payment-account .payment-name{font-size:16px;font-weight:600;letter-spacing:.02em}

.payment-account .payment-logo{margin-left:-12px}

.menu-link-icon{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.amenity>b{font-size:21px;font-weight:700;color:#1d2928}

.rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rate-card{min-width:0;padding:24px 26px;border-radius:14px;background:#e9ece8}
.rate-card h3{margin:0 0 10px;font:600 23px/1.2 var(--display);color:#1d2928}
.rate-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid rgba(38,59,74,.16)}
.rate-row span{font-size:14px;line-height:1.5;color:#515d58}
.rate-row strong{flex:0 0 auto;font-size:16px;line-height:1.5;color:#263b4a;white-space:nowrap}
@media(max-width:700px){.rate-grid{grid-template-columns:1fr;gap:10px}.rate-card{padding:20px}.rate-row{gap:8px}.rate-row strong{font-size:15px}}

@media(max-width:900px){.rate-grid{grid-template-columns:1fr}}

.rate-grid.single-rate{max-width:640px;grid-template-columns:minmax(0,1fr)}

/* Toba water sports: dedicated responsive activity cards. */
.water-sports-intro{margin:-10px 0 22px;color:#5f6964;font-size:15px;line-height:1.65}
.water-activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.water-activity-card{min-width:0;overflow:hidden;border-radius:16px;background:#e9ece8;display:flex;flex-direction:column}
.water-activity-card>img{display:block;width:100%;height:205px;object-fit:contain;padding:8px 10px 0;background:#e9ece8}
.water-activity-copy{padding:16px 18px 18px}
.water-activity-copy h3{margin:0 0 5px;font:700 21px/1.2 var(--display);color:#1d2928}
.water-capacity{margin:0 0 10px;color:#5f6964;font-size:13px;line-height:1.4}
.water-rates{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.water-rates li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid rgba(38,59,74,.16)}
.water-rates span{color:#515d58;font-size:13px}
.water-rates strong{color:#263b4a;font-size:15px;white-space:nowrap}
@media(max-width:900px){.water-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.water-activity-card>img{height:190px}}
@media(max-width:700px){.water-activity-grid{grid-template-columns:1fr}.water-activity-card>img{height:230px}}
