/* == shared page bits == */
.split-head{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem}
.band{min-height:70vh;display:flex;align-items:center;color:var(--white)}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,50,82,.92),rgba(15,50,82,.55) 55%,rgba(15,50,82,.2))}
.band__content{position:relative;z-index:2;max-width:640px;padding-block:5rem}
.band .lead{color:rgba(255,255,255,.9);margin-bottom:1.6rem}

/* == home == */
.hero-glow{background:radial-gradient(60% 50% at 75% 30%,rgba(230,0,0,.22),transparent 70%),radial-gradient(50% 40% at 15% 80%,rgba(27,121,184,.45),transparent 70%)}
.triptych{display:grid;gap:1.5rem;margin-top:3rem;grid-template-columns:1fr}
@media (min-width:900px){
  .triptych{grid-template-columns:repeat(3,1fr)}
  .triptych .card-package:nth-child(2){margin-top:3rem}
}
.why{display:grid;gap:2.5rem}
.why__list{list-style:none;margin:0;padding:0;display:grid;gap:1.6rem}
.why__list h3{font-size:1.2rem;margin-bottom:.2em}
.why__list p{margin:0;color:var(--muted)}
@media (min-width:900px){.why{grid-template-columns:1fr 1.4fr;align-items:start}.why__list{grid-template-columns:1fr 1fr;gap:2rem}}

/* == shared lists == */
.h-sm{font-size:var(--step-1);margin-top:2rem}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ticks li{position:relative;padding-left:1.9rem}
.ticks li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}

/* == medical == */
.dest{display:grid;gap:2rem;align-items:center}
.dest__img{border-radius:var(--radius);aspect-ratio:4/3;box-shadow:var(--shadow)}
@media (min-width:900px){.dest{grid-template-columns:1fr 1fr;gap:4rem}.dest--rev .dest__img{order:2}}
.faq{display:grid;gap:2rem}
@media (min-width:900px){.faq{grid-template-columns:1fr 1.6fr;gap:4rem}}

/* == services == */
.svc{display:grid;gap:2rem;align-items:start}
@media (min-width:900px){.svc{grid-template-columns:1.2fr 1fr;gap:4rem}}

/* == package detail == */
.pkg-detail{display:grid;gap:2.5rem}
@media (min-width:900px){.pkg-detail{grid-template-columns:1.6fr 1fr;gap:4rem;align-items:start}}
.facts{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.facts li{background:var(--tint);border-radius:14px;padding:1rem 1.2rem;display:grid;gap:.2rem}
.facts span{font-size:var(--step--1);color:var(--muted)}
.note{margin-top:2rem;color:var(--muted);border-left:3px solid var(--accent);padding-left:1rem}
.enquiry-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;display:grid;gap:.55rem;box-shadow:var(--shadow)}
@media (min-width:900px){.enquiry-box{position:sticky;top:calc(var(--header-h) + 1.5rem)}}
.enquiry-box h3,.enquiry-box p{margin:0}
.enquiry-box h3{font-size:1.15rem}.enquiry-box p{font-size:.9rem;line-height:1.4}
.enquiry-box .btn{padding:.5rem 1rem;font-size:.9rem}
.enquiry-box .form textarea{min-height:0;height:4.5rem}

/* == contact == */
.contact{display:grid;gap:3rem}
@media (min-width:900px){.contact{grid-template-columns:1fr 1.2fr;gap:4rem}}
.contact__list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:1.1rem}
.contact__list strong{display:block;font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.enquiry-done{background:var(--tint);border-radius:var(--radius);padding:2rem}

/* package gallery */
.pkg-gallery{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr);margin-top:1rem}
.pkg-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}
.pkg-gallery img:first-child{grid-column:1/-1;aspect-ratio:16/9}

/* hero service cards */
.hero{flex-direction:column;justify-content:center;gap:1rem}
.hero:has(.hero-services) .hero__content{max-width:none;padding-block:2.5rem 0}
.hero:has(.hero-services) .hero__content>*{max-width:760px}
.hero:has(.hero-services) h1{font-size:clamp(1.9rem,6.4vh,var(--step-3));max-width:1000px}
.hero:has(.hero-services) .lead{font-size:var(--step-0)}
.hero:has(.hero-services) .btn-row{margin-top:1.2rem}
.hero-services{position:relative;z-index:2;display:grid;grid-template-columns:repeat(var(--cards,4),1fr);gap:1rem;padding-bottom:clamp(1rem,3vh,3rem)}
.svc-card{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;color:#fff;text-decoration:none;background:var(--navy-700);border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 40px -20px rgba(0,0,0,.6);transition:transform .35s,border-color .35s}
.svc-card:hover,.svc-card:focus-visible{transform:translateY(-6px);border-color:var(--accent)}
.svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.svc-card:hover img{transform:scale(1.07)}
.svc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,52,.05) 30%,rgba(10,30,52,.92))}
.svc-card__ico{position:absolute;z-index:2;top:.9rem;left:.9rem;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}
.svc-card__ico svg{width:22px;height:22px}
.svc-card__body{position:absolute;z-index:2;inset:auto 0 0 0;padding:1.1rem 1.1rem 1.2rem}
.svc-card__body h3{margin:0 0 .25em;color:#fff;font-size:1.25rem}
.svc-card__body p{margin:0;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.88)}
.svc-card__go{position:absolute;z-index:2;top:.9rem;right:.9rem;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.svc-card:hover .svc-card__go,.svc-card:focus-visible .svc-card__go{opacity:1;transform:none}
@media (min-width:1001px){.svc-card{aspect-ratio:auto;height:clamp(210px,36vh,360px)}.hero:has(.hero-services) .hero__content{padding-top:clamp(.5rem,3vh,2.5rem)}.hero:has(.hero-services) .lead{margin-bottom:.6em}}
@media (max-width:1000px){.hero-services{grid-template-columns:repeat(2,1fr)}.svc-card{aspect-ratio:1/1}}
@media (max-width:560px){.hero-services{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2rem}.svc-card{flex:0 0 72%;aspect-ratio:4/5;scroll-snap-align:start}}
@media (hover:none){.svc-card__go{opacity:1;transform:none}}

/* ---- package detail ---- */
.pkg-rating{margin:.4rem 0 0;color:#fff}.stars{color:#F5A623;letter-spacing:.1em}.stars--off{color:#cbd3db}.pkg-rating a{color:#fff}
.pkg-gallery-wrap{position:relative;margin-top:1.5rem}
.pkg-gallery-grid{display:grid;gap:.6rem;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(0,150px))}
.pkg-gallery-grid .pkg-tile{overflow:hidden;border-radius:12px;display:block}
.pkg-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.pkg-tile:hover img{transform:scale(1.04)}
.pkg-tile--main{grid-column:1/3;grid-row:1/3}
.pkg-gallery-grid--1 .pkg-tile--main{grid-column:1/-1}
.pkg-gallery-grid--2 .pkg-tile--main{grid-column:1/3}.pkg-gallery-grid--2 .pkg-tile:not(.pkg-tile--main){grid-column:3/-1;grid-row:1/3}
.pkg-gallery-grid--3 .pkg-tile:nth-child(3){grid-column:3/-1;grid-row:2}.pkg-gallery-grid--3 .pkg-tile:nth-child(2){grid-column:3/-1;grid-row:1}
.pkg-all{position:absolute;right:.8rem;bottom:.8rem;background:#fff}
.lightbox{border:0;padding:0;max-width:min(960px,96vw);width:100%;max-height:92vh;border-radius:14px;background:#fff}
.lightbox::backdrop{background:rgba(0,0,0,.75)}
.lightbox__list{display:grid;gap:.6rem;padding:3rem .8rem .8rem;overflow:auto;max-height:92vh}.lightbox__list img{width:100%;border-radius:10px}
.lightbox__close{position:absolute;top:.5rem;right:.8rem;font-size:2rem;line-height:1;background:none;border:0;cursor:pointer;z-index:1}
.pkg-facts{display:grid;gap:1rem 2rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:1.5rem 0 0;padding:1.1rem 1.4rem;background:var(--tint);border-radius:var(--radius)}
.pkg-facts dt{font-size:var(--step--1);color:var(--muted)}.pkg-facts dd{margin:.1rem 0 0;font-weight:600}
.pkg-nav{position:sticky;top:var(--header-h);z-index:20;background:#fff;border-bottom:1px solid var(--line);margin-top:1.5rem;overflow-x:auto;white-space:nowrap}
.pkg-nav a{display:inline-block;padding:.9rem 1rem;color:var(--ink);text-decoration:none;font-weight:500;border-bottom:3px solid transparent}
.pkg-nav a:hover,.pkg-nav a.is-active{color:var(--accent-ink);border-bottom-color:var(--accent)}
.pkg-layout{display:grid;gap:2.5rem;padding-block:2rem}
@media (min-width:960px){.pkg-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3.5rem;align-items:start}}
.pkg-section{padding-block:1.5rem;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 3.5rem)}
.pkg-section__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pkg-map{width:100%;border-radius:14px}
.pkg-two{display:grid;gap:2rem}@media (min-width:700px){.pkg-two{grid-template-columns:1fr 1fr}}
.ticks--no li::before{border-color:var(--muted);transform:none;width:.8rem;height:0;border-width:0 0 2px 0;top:.8em}
.pkg-day{border:1px solid var(--line);border-radius:12px;margin-top:.7rem;background:#fff}
.pkg-day summary{display:flex;gap:1rem;align-items:center;padding:.9rem 1.1rem;cursor:pointer;font-weight:600;list-style:none}
.pkg-day summary::-webkit-details-marker{display:none}
.pkg-day summary::after{content:"+";margin-left:auto;color:var(--accent-ink);font-size:1.4rem}.pkg-day[open] summary::after{content:"–"}
.pkg-day__n{background:var(--navy);color:#fff;border-radius:999px;padding:.15rem .7rem;font-size:var(--step--1);white-space:nowrap}
.pkg-day__body{display:grid;gap:1rem;padding:0 1.1rem 1.1rem}@media (min-width:700px){.pkg-day__body:has(img){grid-template-columns:220px 1fr}}
.pkg-day__body img{width:100%;border-radius:10px;aspect-ratio:4/3;object-fit:cover}
.pkg-day__meta{list-style:none;padding:0;margin:.8rem 0 0;color:var(--muted)}
.table-wrap{overflow-x:auto}.dates{width:100%;border-collapse:collapse}
.dates th,.dates td{text-align:left;padding:.8rem .6rem;border-bottom:1px solid var(--line)}.dates th{font-size:var(--step--1);color:var(--muted)}
.status{font-size:var(--step--1);font-weight:600;padding:.2rem .6rem;border-radius:999px;background:var(--tint);color:var(--navy)}
.status--few_left{background:#FFF1D6;color:#8A5A00}.status--sold_out{background:#eee;color:#666}
@media (max-width:640px){.dates thead{display:none}.dates tr{display:block;padding:.6rem 0;border-bottom:1px solid var(--line)}.dates td{display:flex;justify-content:space-between;border:0;padding:.3rem 0}.dates td[data-label]::before{content:attr(data-label);color:var(--muted)}}
.pkg-score{display:flex;gap:.8rem;align-items:center}.pkg-score__n{font-size:var(--step-2);font-weight:700}
.pkg-reviews{display:grid;gap:1rem}.pkg-review{margin:0;padding:1.1rem 1.3rem;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column}
.pkg-review figcaption{order:2;color:var(--muted);font-size:var(--step--1)}.pkg-review blockquote{order:3;margin:.5rem 0 0}.pkg-review .stars{order:1}
.pre{white-space:pre-line}.enquiry-box__price{font-size:var(--step-1)}.enquiry-box__price strong{color:var(--accent-ink)}
.rich p{margin:.6rem 0}.rich ul,.rich ol{padding-left:1.4rem}
.pkg-section h2{font-size:var(--step-2);margin:0 0 .8rem}.pkg-section .h-sm{font-size:var(--step-1);margin-top:1.2rem}
@media (max-width:640px){.pkg-gallery-grid{grid-template-rows:repeat(2,minmax(0,90px))}.pkg-all{right:.4rem;bottom:.4rem;padding:.4rem .7rem;font-size:var(--step--1);white-space:nowrap}}
@media (min-width:960px){.pkg-side .enquiry-box{top:calc(var(--header-h) + 4rem);max-height:calc(100vh - var(--header-h) - 5rem);overflow-y:auto}}

/* ---- destination (subcategory) page ---- */
.hero--short{min-height:34svh}.dest-stat{margin:.6rem 0 0;color:#fff;opacity:.9;font-weight:500}
.dest-layout{display:grid;gap:2rem;padding-block:2.2rem 3rem}
@media (min-width:960px){.dest-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3rem;align-items:start}}
@media (max-width:959px){.dest-panel{order:-1}}
.dest-main section{margin-bottom:2rem}.dest-main h2,.dest-panel h2{font-size:var(--step-1);margin:0 0 .9rem}
.dest-body{font-size:1rem;color:var(--ink)}.dest-body p{margin:.5rem 0}
.dest-body ul{list-style:none;margin:.6rem 0;padding:0;display:grid;gap:.5rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.dest-body li{position:relative;padding:.55rem .8rem .55rem 2.2rem;background:var(--tint);border-radius:10px;font-size:.95rem;line-height:1.4}
.dest-body li::before{content:"";position:absolute;left:.9rem;top:.95rem;width:.7rem;height:.4rem;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.chips--sm{margin:1rem 0 0}.chips--sm .chip{padding:.35rem .85rem;font-size:.85rem}
.dest-mosaic{display:grid;gap:.6rem;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,minmax(0,130px))}
.dest-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.dest-mosaic img:first-child{grid-column:1/3;grid-row:1/3}
.dest-mosaic--1 img:first-child{grid-column:1/-1}.dest-mosaic--2 img:nth-child(2){grid-column:3/-1;grid-row:1/3}
.dest-mosaic--3 img:nth-child(2){grid-column:3/-1}.dest-mosaic--3 img:nth-child(3){grid-column:3/-1;grid-row:2}
.dest-help{display:flex;gap:1.2rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1.3rem 1.5rem;border-radius:var(--radius);background:var(--navy);color:#fff}
.dest-help h2{color:#fff;margin:0 0 .3rem}.dest-help p{margin:0;opacity:.9;max-width:46ch}
.dest-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;box-shadow:var(--shadow)}
@media (min-width:960px){.dest-panel{position:sticky;top:calc(var(--header-h) + 1.2rem);max-height:calc(100vh - var(--header-h) - 2.4rem);overflow-y:auto}}
.dest-list{display:grid;gap:.7rem}
.dest-pkg{display:grid;gap:.35rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.dest-pkg:hover{border-color:var(--accent);transform:translateY(-2px)}
.dest-pkg__top{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.dest-pkg__top strong{font-size:1.02rem}
.dest-pkg__sum{color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dest-pkg__foot{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.dest-pkg__price{color:var(--accent-ink);font-weight:600}.dest-pkg__go{color:var(--navy);font-size:.9rem;font-weight:600}
.dest-more h2{margin:0 0 1.2rem;font-size:var(--step-1)}
.dest-more__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.dest-more__card{display:block;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid var(--line)}
.dest-more__card img{width:100%;height:120px;object-fit:cover;display:block}
.dest-more__card span{display:grid;gap:.2rem;padding:.8rem 1rem}.dest-more__card small{color:var(--muted)}
.dest-more{padding-block:2.5rem}
.hero--short .hero__content{max-width:none}.hero--short .hero__content>*{max-width:760px}
