/* ==========================================================================
   Munnar Holidays — shared stylesheet (v5, multi-page)
   Tokens → base → header → components → sections → footer → responsive
   ========================================================================== */

:root{
  --paper:#FFFFFF;
  --paper-2:#FAFBFD;
  --ink:#0E1726;
  --ink-2:#33415A;
  --muted:#6B7891;
  --line:#E7EBF1;
  --line-2:#F0F3F7;
  --brand:#5890F8;
  --brand-deep:#2C63D8;
  --dark:#0E1726;
  --gold:#E8A33D;
  --radius:14px;
  --radius-sm:10px;
  --maxw:1180px;
  --gut:clamp(20px,5vw,44px);
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter Tight",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:"Sora",system-ui,sans-serif;font-weight:500;line-height:1.14;letter-spacing:-.03em;text-wrap:balance}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}

.band{padding-block:clamp(64px,9vw,120px)}
.band+.band{border-top:1px solid var(--line)}
.tint{background:var(--paper-2)}

/* Two tinted bands in a row are one continuous block of colour, so their
   facing paddings stacked into ~240px of dead space with a hairline floating
   in the middle of it. Collapse the second one's top padding: the first
   section's bottom padding already supplies the gap. */
.band.tint + .band.tint{padding-top:0;border-top:none}
/* Same doubling between two plain bands, but there the hairline reads as a
   deliberate rule, so keep it and just take the edge off the gap. */
.band:not(.tint) + .band:not(.tint){padding-top:clamp(44px,6vw,78px)}

/* Sticky header must not cover an anchor target when a link jumps in-page. */
html{scroll-padding-top:96px}
@media (max-width:980px){html{scroll-padding-top:74px}}

.over{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.over::before{content:"";width:20px;height:1px;background:var(--brand)}
.lede{color:var(--muted);font-size:clamp(1rem,1.4vw,1.12rem);max-width:56ch}
.head{max-width:62ch;margin-bottom:clamp(32px,4.5vw,52px)}
.head h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin:1rem 0 .9rem}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(32px,4.5vw,52px)}
.head-row .head{margin-bottom:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:"Inter Tight";font-weight:600;font-size:.95rem;padding:.85rem 1.5rem;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s;min-height:46px}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-deep);transform:translateY(-1px)}
.btn-quiet{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-quiet:hover{border-color:var(--ink)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{transform:translateY(-1px)}
.btn-wa{background:#1faa59;color:#fff}
.btn-wa:hover{background:#178a47;transform:translateY(-1px)}
.lnk{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;color:var(--brand-deep)}
.lnk svg{transition:transform .25s var(--ease)}
.lnk:hover svg{transform:translateX(4px)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:5px}

/* ============ Header ============ */
header.site{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
header.site.scrolled{border-color:var(--line)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;padding-block:17px}
.brand-logo img{height:42px;width:auto}
nav.main{display:flex;align-items:center;gap:2.3rem;margin-inline:auto}
nav.main a,.nav-link{font-size:.9rem;font-weight:500;color:var(--ink-2);transition:color .2s}
nav.main a:hover,.nav-link:hover,nav.main a.is-active{color:var(--ink)}
nav.main a.is-active{font-weight:600}
.nav-item{position:relative;display:flex;align-items:center}
.nav-link{display:inline-flex;align-items:center;gap:.3rem;font-family:inherit;background:none;border:none;cursor:pointer;padding:6px 0}
.nav-link .chev{transition:transform .25s var(--ease)}
.nav-item:hover .chev,.nav-item:focus-within .chev{transform:rotate(180deg)}
.mega{position:absolute;top:100%;left:0;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 60px -34px rgba(14,23,38,.4);padding:18px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease);z-index:80}
.mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:16px}
.nav-item:hover .mega,.nav-item:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega-dest{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;width:580px}
.mega-links{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;align-content:start}
.mega-links a{display:block;padding:9px 10px;border-radius:8px;transition:background .2s}
.mega-links a:hover{background:var(--paper-2)}
.mega-links b{display:block;font-size:.89rem;font-weight:600}
.mega-links span{font-size:.74rem;color:var(--muted)}
.mega-feat{position:relative;border-radius:var(--radius-sm);overflow:hidden;color:#fff;display:flex;align-items:flex-end;min-height:160px}
.mega-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mega-feat:hover img{transform:scale(1.05)}
.mega-feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,23,38,0) 35%,rgba(14,23,38,.8))}
.mega-feat div{position:relative;z-index:1;padding:13px}
.mega-feat b{display:block;font-size:.95rem;font-weight:600}
.mega-feat span{font-size:.74rem;color:#d7e3f7}
.mega-pkg{width:300px}
.mega-pkg a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;border-radius:8px;transition:background .2s}
.mega-pkg a:hover{background:var(--paper-2)}
.mega-pkg b{font-size:.89rem;font-weight:600}
.mega-pkg span{font-size:.79rem;color:var(--brand-deep);font-weight:600}
.header-cta{display:flex;align-items:center;gap:.8rem;flex:none}
.header-phone{display:flex;flex-direction:column;line-height:1.15;text-align:right}
.header-phone span{font-size:.65rem;color:var(--muted);letter-spacing:.04em}
.header-phone strong{font-size:.92rem;font-weight:600}
.icon-btn{width:42px;height:42px;border-radius:9px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:.2s}
.icon-btn:hover{border-color:var(--ink);color:var(--ink)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:17px;height:1.5px;background:var(--ink);position:relative;transition:transform .3s var(--ease),background .2s}
.burger span::before{position:absolute;top:-6px}.burger span::after{position:absolute;top:6px}
.burger.open span{background:transparent}
.burger.open span::before{transform:rotate(45deg);top:0}
.burger.open span::after{transform:rotate(-45deg);top:0}
.search-panel{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s var(--ease);z-index:55}
.search-panel.open{opacity:1;visibility:visible;transform:none}
.search-form{display:flex;gap:10px}
.search-form input{flex:1;border:1px solid var(--line);border-radius:9px;padding:.8rem 1rem;font:inherit}
.search-form input:focus{outline:none;border-color:var(--brand)}

.nav-overlay{position:fixed;inset:0;background:rgba(14,23,38,.45);opacity:0;visibility:hidden;transition:.3s;z-index:90}
.nav-overlay.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(87vw,350px);background:#fff;z-index:95;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;padding:18px 20px 26px;overflow-y:auto}
.drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.drawer-head img{height:38px;width:auto}
.drawer-group{border-bottom:1px solid var(--line);padding:6px 0 10px}
.drawer-group>span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);padding:10px 6px 4px;font-weight:600}
.drawer-group a{display:inline-block;padding:7px 6px;font-size:.9rem;font-weight:500}
.drawer-nav>a{padding:13px 6px;font-size:.98rem;font-weight:500;border-bottom:1px solid var(--line)}
.drawer>.btn{margin-top:1.2rem;width:100%}
.drawer-contact{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line)}
.drawer-contact a{display:block;padding:5px 0;font-size:.9rem;font-weight:500}

/* ============ Home hero ============ */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;animation:heroIn 1.4s var(--ease) both}
@keyframes heroIn{from{transform:scale(1.05)}to{transform:none}}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(92deg,rgba(14,23,38,.82) 0%,rgba(14,23,38,.55) 45%,rgba(14,23,38,.2) 78%,rgba(14,23,38,.1) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;padding-block:clamp(84px,12vw,124px)}
.hero .over{color:#c6d7f4}
.hero .over::before{background:#9dc0ff}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.3rem);max-width:17ch;margin:1.1rem 0 1rem;font-weight:500}
.hero p{font-size:clamp(1.02rem,1.6vw,1.22rem);max-width:50ch;color:#e3ebf8}
.hero-note{margin-top:1.5rem;font-size:.86rem;color:#b9c9e4;display:flex;align-items:center;gap:.5rem}

/* ============ Page hero (inner pages) ============ */
.phero{position:relative;color:#fff;overflow:hidden;min-height:clamp(280px,38vw,420px);display:flex;align-items:flex-end}
.phero-media{position:absolute;inset:0;z-index:0}
.phero-media img{width:100%;height:100%;object-fit:cover}
.phero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,23,38,.5) 0%,rgba(14,23,38,.4) 40%,rgba(14,23,38,.85) 100%)}
.phero-inner{position:relative;z-index:1;width:100%;padding-block:clamp(34px,5vw,54px)}
.phero h1{font-size:clamp(2rem,4.4vw,3.3rem);max-width:20ch;margin:.8rem 0 .7rem;font-weight:500}
.phero p{color:#dbe5f5;max-width:56ch}
.crumb{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#b9c9e4}
.crumb a:hover{color:#fff}
.crumb span{opacity:.6}

/* ============ Promise strip ============ */
.promise{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.promise div{padding:26px var(--gut);border-right:1px solid var(--line)}
.promise div:last-child{border-right:none}
.promise b{display:block;font-family:"Sora";font-weight:500;font-size:.98rem;margin-bottom:.2rem}
.promise span{font-size:.85rem;color:var(--muted)}

/* ============ Problem band ============ */
.pas{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,72px);align-items:stretch}
.pas__copy{display:flex;flex-direction:column;justify-content:center}
.pas__copy h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:1rem 0 1.3rem;max-width:15ch}
.pas__pains{border-top:1px solid var(--line)}
.pas__pains li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.98rem}
.pas__pains li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;border:1.5px solid var(--brand);margin-top:.6rem}
.pas__note{margin-top:1.25rem;color:var(--muted);font-size:.98rem}
.pas__answer{margin-top:1.5rem;padding-left:20px;border-left:2px solid var(--brand);font-family:"Sora";font-weight:500;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.5;letter-spacing:-.02em;color:var(--ink);max-width:34ch}
.pas__media{position:relative;border-radius:var(--radius);overflow:hidden;min-height:440px}
.pas__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pas__media:hover img{transform:scale(1.03)}
.pas__media figcaption{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.93);backdrop-filter:blur(6px);border-radius:999px;padding:.45rem .9rem;font-size:.77rem;font-weight:600;color:var(--ink)}
.pas__media figcaption i{width:6px;height:6px;border-radius:50%;background:var(--brand);display:block}

/* ============ Package cards ============ */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color .3s,transform .3s var(--ease)}
.card:hover{border-color:#D3DCE8;transform:translateY(-3px)}
.card-media{position:relative;aspect-ratio:3/2;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.card:hover .card-media img{transform:scale(1.04)}
.pill{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);font-size:.7rem;font-weight:600;padding:.3rem .6rem;border-radius:6px}
.card-body{padding:22px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.15rem;margin-bottom:.4rem}
.card p{font-size:.92rem;color:var(--muted);flex:1}
.meta{display:flex;gap:.7rem;font-size:.77rem;color:var(--muted);margin-bottom:.55rem;flex-wrap:wrap}
.rate{font-size:.8rem;color:var(--muted);margin:.7rem 0 0}
.rate b{color:var(--ink);font-weight:600}
.stars{color:var(--gold)}
.card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-2)}
.price{font-family:"Sora";font-weight:500;font-size:1.2rem}
.price small{font-size:.72rem;color:var(--muted);font-family:"Inter Tight";font-weight:500}

/* ============ Photo tiles ============ */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tile{position:relative;border-radius:var(--radius);overflow:hidden;min-height:270px;display:flex;align-items:flex-end;color:#fff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.tile:hover img{transform:scale(1.05)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,23,38,0) 40%,rgba(14,23,38,.8))}
.tile-body{position:relative;z-index:1;padding:18px}
.tile-body b{display:block;font-family:"Sora";font-weight:500;font-size:1.1rem}
.tile-body span{font-size:.82rem;color:#d7e3f7}

/* ============ Reasons ============ */
/* ============ Journey rail — the signature device ============
   One car, one driver, one team, door to door. So a journey is drawn as a
   single unbroken route line with a station per step. The old version split
   the steps apart with vertical rules, which said the opposite of the copy. */
.jr{position:relative;display:grid;grid-template-columns:repeat(4,1fr);
    gap:0 clamp(20px,2.6vw,38px);list-style:none;margin:0;padding:0}
.jr::before{content:"";position:absolute;left:0;right:0;top:23px;height:1px;
    background:linear-gradient(90deg,var(--line) 0%,var(--brand) 42%,var(--brand-deep) 100%);
    transform:scaleX(0);transform-origin:left;
    transition:transform 1.15s var(--ease) .12s}
.jr.in::before{transform:scaleX(1)}

.jr__stop{position:relative;padding-right:8px}
.jr__stop.rv{transition-delay:calc(var(--i,1) * 90ms)}
.jr__mark{position:relative;z-index:1;display:grid;place-items:center;
    width:47px;height:47px;border-radius:50%;background:var(--paper);
    border:1px solid var(--line);color:var(--brand-deep);
    transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease)}
.jr__stop:hover .jr__mark{border-color:var(--brand);background:var(--sky);transform:translateY(-2px)}
.jr__n{display:block;margin:20px 0 .4rem;font-size:.7rem;font-weight:600;
    letter-spacing:.16em;color:var(--brand)}
.jr__stop h3{font-size:1.06rem;margin:0 0 .42rem;letter-spacing:-.02em}
.jr__stop p{font-size:.9rem;color:var(--muted);line-height:1.65;max-width:31ch}

/* last stop closes the line with a solid marker — the trip ends with us */
.jr__stop:last-child .jr__mark{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}

@media (max-width:900px){
  .jr{grid-template-columns:1fr;gap:0}
  .jr::before{left:23px;right:auto;top:6px;bottom:38px;width:1px;height:auto;
    background:linear-gradient(180deg,var(--line) 0%,var(--brand) 42%,var(--brand-deep) 100%);
    transform:scaleY(0);transform-origin:top;transition:transform 1.1s var(--ease) .12s}
  .jr.in::before{transform:scaleY(1)}
  .jr__stop{padding:0 0 30px 70px}
  .jr__stop:last-child{padding-bottom:0}
  .jr__mark{position:absolute;left:0;top:0}
  .jr__n{margin:2px 0 .3rem}
  .jr__stop p{max-width:46ch}
}
@media (prefers-reduced-motion:reduce){
  .jr::before{transform:none!important;transition:none}
  .jr__stop.rv{transition-delay:0s}
}

/* ============ Itinerary (package pages) ============ */
.itin{border-top:1px solid var(--line);max-width:820px}
.itin__day{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.itin__day b{font-family:"Sora";font-weight:500;font-size:.95rem;color:var(--brand-deep)}
.itin__day h3{font-size:1.08rem;margin-bottom:.35rem}
.itin__day p{font-size:.93rem;color:var(--muted)}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.incl ul li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:.93rem;color:var(--ink-2)}
.incl ul li svg{flex:none;margin-top:.3rem}
.incl h3{font-size:1.05rem;margin-bottom:.5rem}

/* ============ Reviews ============ */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.quote{border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column}
.quote .stars{font-size:.9rem;letter-spacing:1px;margin-bottom:.9rem}
.quote p{font-size:.95rem;color:var(--ink-2);flex:1}
.who{display:flex;align-items:center;gap:.7rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line-2)}
.who .av{width:38px;height:38px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-family:"Sora";font-weight:500;color:var(--brand-deep);flex:none}
.who b{display:block;font-size:.9rem;font-weight:600}
.who small{color:var(--muted);font-size:.78rem}
.badge-row{display:inline-flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem}
.badge-row svg{color:var(--brand-deep);flex:none}

/* ============ FAQ ============ */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-family:"Sora";font-weight:500;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq p{padding:0 0 22px;color:var(--muted);max-width:66ch}

/* ============ Closing CTA ============ */
.close-panel{background:var(--dark);color:#fff;border-radius:var(--radius);overflow:hidden}
.close-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);padding:clamp(32px,5vw,60px);align-items:center}
.close-grid h2{font-size:clamp(1.9rem,3.4vw,2.8rem);color:#fff;margin:1rem 0 .9rem}
.close-grid .over{color:#9fb3d4}
.close-grid>div>p{color:#b9c9e4;max-width:44ch}
.close-list{display:grid;gap:.7rem;margin-top:1.4rem}
.close-list li{display:flex;align-items:center;gap:.6rem;font-size:.93rem;color:#dde6f5}
.close-list svg{color:#7fd3a6;flex:none}
.close-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.form-card{background:#fff;border-radius:var(--radius);padding:clamp(22px,3vw,30px);color:var(--ink)}
.form-card h3{font-size:1.25rem;margin-bottom:.25rem}
.form-card .sub{font-size:.85rem;color:var(--muted);margin-bottom:1.1rem}
.fbadge{display:inline-flex;align-items:center;gap:.5rem;background:#EDF7F1;color:#1a7a45;font-size:.76rem;font-weight:600;padding:.4rem .75rem;border-radius:999px;margin-bottom:.9rem}
.fbadge i{width:7px;height:7px;border-radius:50%;background:#1faa59;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.field{margin-bottom:12px}
.field label{display:block;font-size:.71rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
.req{color:#D9534F}
.fic{position:relative}
.fic .fi{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:grid}
.fic input,.fic select{padding-left:40px}
.fic select{appearance:none;-webkit-appearance:none;padding-right:32px}
.fic.sel::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--paper-2);border-radius:9px;padding:.75rem .85rem;font:inherit;font-size:.92rem;color:var(--ink);transition:.2s}
.field input::placeholder,.field textarea::placeholder{color:#9AA6BB}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(88,144,248,.14)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.frow--3{grid-template-columns:1fr 1fr 1fr}
@media (max-width:560px){.frow,.frow--3{grid-template-columns:1fr}}
.field__hint{display:block;font-size:.72rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px}

/* ============ Detailed booking form ============
   One long enquiry, grouped into four numbered steps so it never feels like a
   wall of inputs. Backend-free: on submit it composes a pre-filled WhatsApp
   message from every field (see main.js). Chips replace radio buttons for the
   two "which kind" questions — faster to tap, and they show the whole choice
   set at once. */
.bform{max-width:820px;margin:0 auto;border:1px solid var(--line);border-radius:16px;background:#fff;padding:clamp(22px,3vw,38px);box-shadow:0 30px 60px -40px rgba(14,23,38,.28)}
.fset{border:0;padding:0;margin:0 0 30px;min-width:0}
.fset:last-of-type{margin-bottom:16px}
.fset__h{display:flex;align-items:center;gap:.7rem;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fset__n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--sky);color:var(--brand-deep);font-size:.78rem;font-weight:700;display:grid;place-items:center;font-family:"Inter Tight"}
.fset__h b{font-family:"Sora";font-weight:500;font-size:1.08rem;letter-spacing:-.02em}
.fset__h span{margin-left:auto;font-size:.76rem;color:var(--muted)}

/* chip choices (radio, styled) */
.chipset{display:flex;flex-wrap:wrap;gap:9px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.chip span{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;font-size:.9rem;font-weight:500;color:var(--ink-2);background:var(--paper-2);transition:background .2s,border-color .2s,color .2s}
.chip span svg{opacity:.55;transition:opacity .2s}
.chip:hover span{border-color:var(--brand)}
.chip input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.chip input:checked+span svg{opacity:1}
.chip input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}

/* number steppers sit tighter than text inputs */
.field--num input{max-width:100%}
.bform__foot{display:flex;flex-direction:column;gap:.7rem;align-items:center;margin-top:6px;padding-top:20px;border-top:1px solid var(--line)}
.bform__foot .btn{width:100%;max-width:360px}
.bform__fine{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.8rem;color:var(--muted);text-align:center}
.bform__alt{font-size:.86rem;color:var(--muted)}
.bform__alt a{color:var(--brand-deep);font-weight:600}

.form-card .btn{width:100%;margin-top:6px}
.fnote{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.76rem;color:var(--muted);margin-top:.7rem}
.falt{text-align:center;font-size:.82rem;color:var(--muted);margin-top:.7rem}
.falt a{color:var(--brand-deep);font-weight:600}

/* ============ Contact ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,64px)}
.contact-list{border-top:1px solid var(--line)}
.contact-list div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600}
.contact-list dd{font-size:.98rem}
.contact-list dd a{font-weight:600}
/* Live Google map — query embed, no API key. Fills the column height on
   desktop, keeps a comfortable minimum when the grid stacks on mobile. */
.map-wrap{display:flex;flex-direction:column;gap:.75rem;min-height:100%}
.map-frame{flex:1 1 auto;width:100%;min-height:380px;border:1px solid var(--line);border-radius:var(--radius);display:block;background:var(--paper-2)}
.map-cap{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:600;color:var(--brand-deep)}
.map-cap:hover{text-decoration:underline}
@media (max-width:768px){.map-frame{min-height:300px}}

/* ============ Footer ============ */
footer.site{border-top:1px solid var(--line);padding-top:clamp(52px,7vw,76px)}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;padding-bottom:44px}
.foot h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:.9rem;font-weight:600}
.foot a{display:block;font-size:.9rem;color:var(--ink-2);padding:.24rem 0;transition:color .2s}
.foot a:hover{color:var(--brand-deep)}
.foot-about img{height:44px;width:auto;margin-bottom:.9rem}
.foot-about p{font-size:.88rem;color:var(--muted);max-width:34ch}
.social{display:flex;gap:.5rem;margin-top:1rem}
.social a{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center}
.social a:hover{border-color:var(--brand);color:var(--brand-deep)}
.foot-end{border-top:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}

/* ============ Sticky mobile ============ */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid var(--line)}
.mbar a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:14px;font-weight:600;font-size:.93rem}
.mbar a.call{color:var(--brand-deep)}
.mbar a.wa{background:#1DA851;color:#fff}
/* ---- Floating contact buttons: Call now + WhatsApp ----
   WhatsApp is the primary action, so it is larger, filled, and carries a slow
   double halo that pulls the eye without strobing. The halo uses the vivid
   brand green (#25D366); the button fill is a shade deeper so the white mark
   keeps a 3:1 contrast ratio against it. */
/* Both circles share one diameter so their centres sit on a single vertical
   axis — unequal sizes right-aligned made the pair read as a zigzag. Hierarchy
   is carried by colour and the halo, not by size. */
.fab{position:fixed;right:22px;bottom:22px;z-index:65;display:flex;flex-direction:column;align-items:center;gap:14px}
.fab__btn{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  transition:transform .3s var(--ease),background .3s,border-color .3s}
.fab__btn:hover{transform:translateY(-2px) scale(1.05)}
.fab__btn--call{background:#fff;color:var(--brand-deep);
  border:1px solid var(--line);box-shadow:0 12px 28px -14px rgba(14,23,38,.55)}
.fab__btn--call:hover{background:var(--sky);border-color:var(--brand)}
.fab__btn--wa{background:#1DA851;color:#fff;animation:fabHalo 3.6s ease-out infinite}
.fab__btn--wa:hover,.fab__btn--wa:focus-visible{background:#17914A;animation-play-state:paused}

@keyframes fabHalo{
  0%  {box-shadow:0 14px 32px -14px rgba(29,168,81,.8), 0 0 0 0 rgba(37,211,102,.55), 0 0 0 0 rgba(37,211,102,.4)}
  35% {box-shadow:0 14px 32px -14px rgba(29,168,81,.8), 0 0 0 16px rgba(37,211,102,0), 0 0 0 7px rgba(37,211,102,.22)}
  70% {box-shadow:0 14px 32px -14px rgba(29,168,81,.8), 0 0 0 16px rgba(37,211,102,0), 0 0 0 24px rgba(37,211,102,0)}
  100%{box-shadow:0 14px 32px -14px rgba(29,168,81,.8), 0 0 0 0 rgba(37,211,102,0),  0 0 0 0 rgba(37,211,102,0)}
}

.fab__lbl{position:absolute;right:calc(100% + 12px);white-space:nowrap;
  background:var(--ink);color:#fff;font-size:.82rem;font-weight:600;
  padding:.42rem .74rem;border-radius:7px;opacity:0;transform:translateX(6px);
  pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.fab__btn:hover .fab__lbl,.fab__btn:focus-visible .fab__lbl{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .fab__btn--wa{animation:none;box-shadow:0 14px 32px -14px rgba(29,168,81,.8)}
  .fab__btn:hover{transform:none}
}

/* Scroll reveal. Gated behind .js so that if JavaScript fails, is blocked, or
   the observer never fires, the content is simply VISIBLE rather than an
   invisible block still occupying its full height — which looks exactly like
   a broken stylesheet. Fail visible, never fail blank. */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}

/* ============ Responsive ============ */
@media (max-width:980px){
  nav.main,.header-phone{display:none}
  .topbar .icon-btn{display:none}
  .burger{display:flex}
  .promise{grid-template-columns:1fr 1fr}
  .promise div:nth-child(2){border-right:none}
  .pas{grid-template-columns:1fr}
  .pas__media{min-height:300px}
  .grid-2,.contact-grid,.incl{grid-template-columns:1fr}
  .grid-3,.tiles,.quotes{grid-template-columns:1fr 1fr}
  .quotes>*:nth-child(3){display:none}
  .close-grid{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .hero{min-height:auto}
  .grid-3,.tiles,.quotes{grid-template-columns:1fr}
  .quotes>*:nth-child(3){display:flex}
  .promise{grid-template-columns:1fr}
  .promise div{border-right:none;border-bottom:1px solid var(--line);padding-block:20px}
  .promise div:last-child{border-bottom:none}
  .itin__day{grid-template-columns:1fr;gap:6px}
  .contact-list div{grid-template-columns:1fr;gap:4px}
  .frow{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .mbar{display:grid}
  .fab{display:none}
  body{padding-bottom:56px}
  .brand-logo img{height:38px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto}
  .js .rv{opacity:1;transform:none}
}

/* ==========================================================================
   v6 additions — trust, packages, tables, related links
   ========================================================================== */

/* ---- Trust badge strip (verified review data) ---- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-block:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tbadge{display:flex;flex-direction:column;gap:.3rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-2);padding:16px 18px;transition:border-color .25s,transform .25s var(--ease),background .25s}
a.tbadge:hover{border-color:#D3DCE8;background:#fff;transform:translateY(-2px)}
.tbadge__l{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-weight:600}
.tbadge__v{font-family:"Sora";font-weight:500;font-size:1.1rem;letter-spacing:-.025em;color:var(--ink);display:flex;align-items:baseline;gap:.45rem;flex-wrap:wrap}
.tbadge__v .stars{color:var(--gold);font-size:.78rem;letter-spacing:1px}
.tbadge__s{font-size:.79rem;color:var(--muted)}
.tbadge__s .lnkline{color:var(--brand-deep);font-weight:600}
/* Travellers' Choice tile — carries the official award badge */
.tbadge--award{flex-direction:row;align-items:center;gap:13px}
.tbadge__medal{height:46px;width:46px;object-fit:contain;flex:none}
.tbadge--award .tbadge__t{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.tbadge--award .tbadge__v{font-size:1.02rem}
@media (max-width:900px){.tbadge__medal{height:40px;width:40px}}

/* ---- Rating chip (inline, reusable) ---- */
.rchip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-size:.82rem;color:var(--ink-2);background:#fff}
.rchip b{font-weight:600}
.rchip .stars{color:var(--gold);letter-spacing:1px}

/* ---- Package list rows (comparison) ---- */
.prow{border-top:1px solid var(--line)}
.prow__item{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);transition:padding-left .25s var(--ease)}
.prow__item:hover{padding-left:6px}
.prow__item h3{font-size:1.05rem;margin-bottom:.2rem}
.prow__item p{font-size:.85rem;color:var(--muted)}
.prow__meta{font-size:.86rem;color:var(--ink-2)}
.prow__price{font-family:"Sora";font-weight:500;font-size:1.05rem;color:var(--brand-deep);white-space:nowrap}

/* ---- Hotel / resort cards ---- */
.hotel{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.hotel__media{position:relative;min-height:230px}
.hotel__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hotel__body{padding:26px;display:flex;flex-direction:column;justify-content:center}
.hotel__body h3{font-size:1.2rem;margin-bottom:.35rem}
.hotel__tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.9rem}
.tag{font-size:.72rem;font-weight:600;color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:.28rem .55rem}

/* ---- Fare / info table ---- */
.ftable{width:100%;border-collapse:collapse;font-size:.93rem}
.ftable th,.ftable td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line)}
.ftable th{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600}
.ftable tr:hover td{background:var(--paper-2)}
.ftable td:last-child{text-align:right;font-family:"Sora";font-weight:500;color:var(--brand-deep);white-space:nowrap}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.table-wrap .ftable tr:last-child td{border-bottom:none}

/* ---- Steps ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{padding:28px 24px 28px 0;border-right:1px solid var(--line)}
.step:last-child{border-right:none;padding-right:0}
.step b{display:block;font-size:.72rem;color:var(--brand);letter-spacing:.14em;font-weight:600}
.step h3{font-size:1.02rem;margin:.6rem 0 .35rem}
.step p{font-size:.89rem;color:var(--muted)}

/* ============ Day trips — the day as a strip ============
   Four cards read left to right through the day, hung off one continuous
   timeline. Same device as the journey rail on the city pages, so the site
   keeps one signature. The line carries the "right hour" idea visually, which
   frees the card itself to be photograph-led — foreign visitors are buying a
   view, so the image gets the space, not a table column. */
.dayline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.dayline::before{content:"";position:absolute;left:5px;right:5px;top:5px;height:1px;
  background:linear-gradient(90deg,var(--line),var(--brand) 45%,var(--brand-deep));
  transform:scaleX(0);transform-origin:left;transition:transform 1.15s var(--ease) .15s}
.dayline.in::before{transform:scaleX(1)}

.dcard{position:relative;display:flex;flex-direction:column;padding-top:30px}
.dcard::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;
  background:var(--paper);border:2px solid var(--brand);transition:background .3s,transform .3s var(--ease)}
.dcard:last-child::before{background:var(--brand-deep);border-color:var(--brand-deep)}
.dcard:hover::before{transform:scale(1.25)}
.dcard__time{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brand);margin-bottom:14px}
.dcard__media{position:relative;overflow:hidden;border-radius:var(--radius-sm);aspect-ratio:4/3;margin-bottom:14px}
.dcard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.dcard:hover .dcard__media img{transform:scale(1.06)}
.dcard h3{font-size:1.08rem;margin:0 0 .2rem;letter-spacing:-.02em}
.dcard__meta{font-size:.73rem;color:var(--muted);letter-spacing:.04em;margin-bottom:.5rem}
.dcard p{font-size:.865rem;color:var(--ink-2);line-height:1.6;margin:0 0 1rem}
.dcard__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding-top:12px;border-top:1px solid var(--line)}
.dcard__price{font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}
.dcard__foot .lnk{font-size:.83rem}

@media (max-width:1000px){
  .dayline{grid-template-columns:1fr 1fr;gap:30px 24px}
  .dayline::before{display:none}
  .dcard{padding-top:0}
  .dcard::before{display:none}
  .dcard__time{margin-bottom:10px}
}
@media (max-width:600px){
  .dayline{grid-template-columns:1fr;gap:0}
  .dcard{padding:22px 0;border-bottom:1px solid var(--line)}
  .dcard:last-child{border-bottom:none}
  .dcard__media{aspect-ratio:16/9}
}

/* real traveller quote inside the day-trips section */
.dq{display:flex;gap:15px;align-items:flex-start;margin-top:30px;padding:18px 22px;
  background:var(--paper-2);border:1px solid var(--line);border-left:2px solid var(--brand);
  border-radius:var(--radius-sm)}
.dq__av{flex:none;width:38px;height:38px;border-radius:50%;background:var(--sky);color:var(--brand-deep);
  display:grid;place-items:center;font-family:"Sora";font-weight:500;font-size:.95rem}
.dq blockquote{margin:0 0 .35rem;font-size:.95rem;line-height:1.6;color:var(--ink)}
.dq figcaption{font-size:.8rem;color:var(--muted)}
.dq figcaption b{color:var(--ink-2);font-weight:600}
@media (max-width:560px){.dq{padding:16px 16px 16px 18px}}


/* ---- Note / highlight box ---- */
.note{border:1px solid var(--line);border-left:2px solid var(--brand);border-radius:var(--radius-sm);padding:20px 22px;background:var(--paper-2)}
.note b{display:block;margin-bottom:.3rem;font-family:"Sora";font-weight:500}
.note p{font-size:.92rem;color:var(--muted)}

/* ---- Related pages ---- */
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel a{border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .25s,transform .25s var(--ease);display:block}
.rel a:hover{border-color:#D3DCE8;transform:translateY(-2px)}
.rel b{display:block;font-family:"Sora";font-weight:500;font-size:1rem;margin-bottom:.25rem}
.rel span{font-size:.85rem;color:var(--muted)}

/* ---- Chips ---- */
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.1rem}
.chips a{font-size:.83rem;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;color:var(--ink-2);transition:.2s}
.chips a:hover{border-color:var(--brand);color:var(--brand-deep)}

@media (max-width:980px){
  .trust{grid-template-columns:1fr 1fr}
  .prow__item{grid-template-columns:1fr auto;gap:10px}
  .prow__meta{display:none}
  .hotel{grid-template-columns:1fr}
  .hotel__media{min-height:200px}
  .steps{grid-template-columns:1fr 1fr}
  .step{padding-right:24px}
  .step:nth-child(2){border-right:none;padding-right:0}
  .rel{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .steps,.rel{grid-template-columns:1fr}
  .step{border-right:none;border-bottom:1px solid var(--line);padding:22px 0}
  .step:last-child{border-bottom:none}
  .trust{grid-template-columns:1fr 1fr;gap:10px}
  .tbadge{padding:14px}
}

/* ---- Signature experiences (bento) ---- */
.exp{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2,minmax(240px,1fr));gap:18px}
.exp__tile{position:relative;border-radius:var(--radius);overflow:hidden;display:flex;align-items:flex-end;color:#fff}
.exp__tile--lg{grid-row:span 2}
.exp__tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.exp__tile:hover img{transform:scale(1.04)}
.exp__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,23,38,0) 40%,rgba(14,23,38,.86))}
.exp__body{position:relative;z-index:1;padding:24px}
.exp__tile--lg .exp__body{padding:clamp(24px,3vw,34px)}
.exp__body h3{color:#fff;font-size:1.28rem;margin-bottom:.35rem}
.exp__tile--lg .exp__body h3{font-size:clamp(1.6rem,2.6vw,2.1rem)}
.exp__body p{font-size:.9rem;color:#d3e0f2;max-width:40ch}
.exp__chip{display:inline-flex;align-items:center;margin-top:1rem;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.42rem .85rem;font-size:.78rem;font-weight:600;color:#fff}
@media (max-width:980px){
  .exp{grid-template-columns:1fr;grid-template-rows:none}
  .exp__tile{min-height:280px}
  .exp__tile--lg{grid-row:auto;min-height:360px}
}

/* ---- Kerala tour packages (route cards) ---- */
.krl{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.krl__card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color .3s,transform .3s var(--ease)}
.krl__card:hover{border-color:#D3DCE8;transform:translateY(-3px)}
.krl__media{position:relative;aspect-ratio:16/10;overflow:hidden}
.krl__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.krl__card:hover .krl__media img{transform:scale(1.04)}
.krl__days{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);font-size:.72rem;font-weight:600;padding:.32rem .66rem;border-radius:6px}
.krl__body{padding:22px;display:flex;flex-direction:column;flex:1}
.krl__body h3{font-size:1.16rem;margin-bottom:.7rem}
.krl__route{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;padding:11px 0;margin-bottom:.9rem;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);font-size:.79rem;color:var(--ink-2)}
.krl__route i{color:var(--brand);font-style:normal}
.krl__body p{font-size:.92rem;color:var(--muted);flex:1}
.krl__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-2)}
.krl__price{font-family:"Sora";font-weight:500;font-size:1.2rem;white-space:nowrap}
.krl__price small{font-size:.72rem;color:var(--muted);font-family:"Inter Tight";font-weight:500}
.krl__more{display:flex;gap:1.6rem;flex-wrap:wrap;align-items:center;margin-top:clamp(26px,3vw,38px);padding-top:22px;border-top:1px solid var(--line);font-size:.92rem;color:var(--muted)}
@media (max-width:980px){.krl{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.krl{grid-template-columns:1fr}}
.krl__act{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.4rem}
.krl__risk{display:flex;gap:1.4rem;flex-wrap:wrap;align-items:center;margin-top:clamp(22px,2.6vw,30px);font-size:.88rem;color:var(--ink-2)}
.krl__risk svg{vertical-align:-3px;margin-right:.3rem}
@media (max-width:680px){.krl__risk{flex-direction:column;align-items:flex-start;gap:.5rem}}

/* ---- How it works — WhatsApp conversation ---- */
.how{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,68px);align-items:center}
.how__copy h2{font-size:clamp(2rem,3.6vw,2.8rem);margin:1rem 0 .9rem}
.how__pts{margin-top:1.5rem;display:grid;gap:.65rem}
.how__pts li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;color:var(--ink-2)}
.how__pts svg{flex:none;margin-top:.22rem}
.how__act{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:1.7rem}
.chat{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);overflow:hidden}
.chat__top{display:flex;align-items:center;gap:.7rem;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}
.chat__av{width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:"Sora";font-weight:500;font-size:.82rem;flex:none}
.chat__who b{display:block;font-size:.9rem;font-weight:600}
.chat__who span{font-size:.75rem;color:#1a7a45;display:flex;align-items:center;gap:.35rem}
.chat__who i{width:6px;height:6px;border-radius:50%;background:#1faa59;display:block}
.chat__log{padding:18px 16px;display:grid;gap:10px}
.msg{max-width:80%;padding:10px 13px;border-radius:12px;font-size:.88rem;line-height:1.5}
.msg--in{background:#fff;border:1px solid var(--line);justify-self:start;border-bottom-left-radius:4px;color:var(--ink)}
.msg--out{background:#DCF3E4;justify-self:end;border-bottom-right-radius:4px;color:#123420}
.msg time{display:block;font-size:.68rem;color:var(--muted);margin-top:.35rem}
.msg--out time{color:#4a7358}
.msg__file{display:flex;align-items:center;gap:.55rem;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:.45rem}
.msg__file b{display:block;font-size:.82rem;font-weight:600}
.msg__file span{font-size:.72rem;color:var(--muted)}
.chat__note{font-size:.76rem;color:var(--muted);text-align:center;padding:0 16px 16px}
@media (max-width:980px){.how{grid-template-columns:1fr}}

/* ---- Our promise — signed card ---- */
.vow{max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(30px,4.5vw,54px) clamp(24px,4vw,52px);position:relative}
.vow::before{content:"";position:absolute;inset:8px;border:1px solid var(--line-2);border-radius:calc(var(--radius) - 4px);pointer-events:none}
.vow__seal{width:66px;height:66px;border-radius:50%;border:1px solid var(--brand);color:var(--brand-deep);display:grid;place-content:center;text-align:center;margin:0 auto 1.3rem;line-height:1.1}
.vow__seal b{display:block;font-family:"Sora";font-weight:500;font-size:1.02rem;letter-spacing:.02em}
.vow__seal span{display:block;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}
.vow__title{text-align:center;font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:.6rem}
.vow__lede{text-align:center;color:var(--muted);max-width:46ch;margin:0 auto clamp(26px,3.4vw,38px);font-size:.98rem}
.vow__list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.vow__item{display:flex;gap:14px;padding:22px 26px 22px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.vow__item:nth-child(2n){border-right:none;padding-right:0;padding-left:26px}
.vow__item svg{flex:none;margin-top:.25rem}
.vow__item b{display:block;font-family:"Sora";font-weight:500;font-size:1.04rem;letter-spacing:-.02em;margin-bottom:.25rem}
.vow__item p{font-size:.9rem;color:var(--muted)}
.vow__sign{text-align:center;padding-top:clamp(26px,3.4vw,36px)}
.vow__sign em{display:block;font-family:"Caveat",cursive;font-style:normal;font-size:clamp(1.9rem,3vw,2.4rem);color:var(--ink);line-height:1}
.vow__sign span{display:block;font-size:.82rem;color:var(--muted);margin-top:.5rem}
.vow__act{display:flex;justify-content:center;align-items:center;gap:1.3rem;flex-wrap:wrap;margin-top:clamp(26px,3.2vw,36px)}
@media (max-width:680px){
  .vow__list{grid-template-columns:1fr}
  .vow__item,.vow__item:nth-child(2n){border-right:none;padding:20px 0}
}

/* ---- The people (reviews as team proof) ---- */
.ppl{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,72px);align-items:start}
.ppl__intro h2{font-size:clamp(2rem,3.6vw,2.9rem);margin:1rem 0 .9rem}
.ppl__badge{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;font-size:.85rem;color:var(--ink-2);margin-top:1.3rem}
.ppl__badge svg{color:var(--brand-deep);flex:none}
.ppl__act{margin-top:1.5rem}
.ppl__note{font-size:.82rem;color:var(--muted);margin-top:.9rem;max-width:34ch}
.ppl__list{border-top:1px solid var(--line)}
.ppl__row{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);transition:padding-left .3s var(--ease)}
.ppl__row:hover{padding-left:8px}
.ppl__av{width:54px;height:54px;border-radius:50%;background:var(--sky);color:var(--brand-deep);display:grid;place-items:center;font-family:"Sora";font-weight:500;font-size:1.15rem;flex:none}
.ppl__id{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin-bottom:.6rem}
.ppl__id b{font-family:"Sora";font-weight:500;font-size:1.12rem;letter-spacing:-.02em}
.ppl__id span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}
.ppl__row blockquote{font-family:"Sora";font-weight:400;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.55;letter-spacing:-.02em;color:var(--ink)}
.ppl__row cite{display:block;font-style:normal;font-size:.82rem;color:var(--muted);margin-top:.7rem}
.ppl__row cite b{color:var(--ink-2);font-weight:600}
@media (min-width:981px){.ppl__intro{position:sticky;top:104px}}
@media (max-width:980px){.ppl{grid-template-columns:1fr}}
@media (max-width:680px){.ppl__row{grid-template-columns:1fr;gap:12px}}

/* ---- Answer desk (FAQ as chips + panel) ---- */
.qa{max-width:940px;margin:0 auto}
.qa__head{text-align:center;margin-bottom:clamp(24px,3.2vw,34px)}
.qa__head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:1rem 0 .8rem}
.qa__head p{color:var(--muted);max-width:48ch;margin:0 auto}
.qa__chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.qa__chip{font-family:inherit;font-size:.9rem;font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:.62rem 1.1rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.qa__chip:hover{border-color:var(--brand);color:var(--brand-deep)}
.qa__chip[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.qa__chip--ask{border-style:dashed;border-color:#B9CEF6;color:var(--brand-deep);display:inline-flex;align-items:center;gap:.45rem}
.qa__chip--ask:hover{background:var(--sky);border-color:var(--brand)}
.qa__panel{margin-top:clamp(20px,2.8vw,28px);background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,4vw,42px)}
.qa__q{font-family:"Sora";font-weight:500;font-size:clamp(1.15rem,1.9vw,1.5rem);letter-spacing:-.03em;margin-bottom:.75rem}
.qa__a{font-size:clamp(1rem,1.35vw,1.08rem);color:var(--muted);line-height:1.75;max-width:64ch}
.qa__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:clamp(22px,3vw,30px);padding-top:22px;border-top:1px solid var(--line)}
.qa__foot span{font-size:.9rem;color:var(--muted)}
@media (max-width:680px){.qa__chips{justify-content:flex-start}}

/* ---- Closing CTA — channel choice + minimal request ---- */
.ask{background:var(--dark);color:#fff;border-radius:clamp(14px,2.5vw,22px);overflow:hidden}
.ask__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,5vw,62px);padding:clamp(32px,5vw,60px);align-items:center}
.ask__grid h2{font-size:clamp(2rem,3.6vw,2.9rem);color:#fff;margin:1rem 0 .9rem}
.ask__grid .over{color:#9fb3d4}
.ask__grid>div>p{color:#b9c9e4;max-width:42ch}
.ask__live{display:inline-flex;align-items:center;gap:.5rem;background:rgba(31,170,89,.14);border:1px solid rgba(31,170,89,.34);color:#8fdcb0;font-size:.8rem;font-weight:600;padding:.45rem .9rem;border-radius:999px;margin-top:1.4rem}
.ask__live i{width:7px;height:7px;border-radius:50%;background:#1faa59;animation:pulse 2s infinite;display:block}
.ask__pts{display:grid;gap:.65rem;margin-top:1.3rem}
.ask__pts li{display:flex;align-items:center;gap:.6rem;font-size:.93rem;color:#dde6f5}
.ask__pts svg{color:#7fd3a6;flex:none}
.ask__phone{display:inline-flex;align-items:baseline;gap:.6rem;margin-top:1.5rem;color:#fff}
.ask__phone b{font-family:"Sora";font-weight:500;font-size:clamp(1.2rem,2vw,1.5rem);letter-spacing:-.02em}
.ask__phone span{font-size:.82rem;color:#9fb3d4}
.ask__card{background:#fff;border-radius:var(--radius);padding:clamp(22px,3vw,32px);color:var(--ink)}
.ask__card h3{font-size:1.2rem;margin-bottom:.3rem}
.ask__card .sub{font-size:.86rem;color:var(--muted);margin-bottom:1.1rem}
.ask__wa{width:100%;font-size:1rem;padding-block:1rem}
.ask__hint{text-align:center;font-size:.78rem;color:var(--muted);margin-top:.6rem}
.ask__or{display:flex;align-items:center;gap:.85rem;margin:1.3rem 0 1.1rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em}
.ask__or::before,.ask__or::after{content:"";flex:1;height:1px;background:var(--line)}
.ask__more{margin-top:.2rem}
.ask__more summary{cursor:pointer;list-style:none;font-size:.85rem;font-weight:600;color:var(--brand-deep);display:inline-flex;align-items:center;gap:.45rem;padding:.3rem 0}
.ask__more summary::-webkit-details-marker{display:none}
.ask__more summary::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--ease)}
.ask__more[open] summary::after{transform:rotate(-135deg)}
.ask__more-in{padding-top:.8rem}
@media (max-width:980px){.ask__grid{grid-template-columns:1fr}}

/* ---- Footer — the front desk ---- */
.fdesk{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fdesk__cell{display:flex;gap:15px;align-items:flex-start;padding:28px 30px 28px 0;border-right:1px solid var(--line);transition:background .25s}
.fdesk__cell:last-child{border-right:none;padding-right:0}
a.fdesk__cell:hover{background:var(--paper-2)}
.fdesk__ic{width:44px;height:44px;border-radius:12px;background:var(--sky);color:var(--brand-deep);display:grid;place-items:center;flex:none}
.fdesk__cell--wa .fdesk__ic{background:#E6F6EC;color:#178a47}
.fdesk__t b{display:block;font-family:"Sora";font-weight:500;font-size:1.04rem;letter-spacing:-.02em;margin-bottom:.2rem}
.fdesk__t span:not(.fstatus){display:block;font-size:.88rem;color:var(--muted)}
.fdesk__t .num{color:var(--ink);font-weight:600}
.fstatus{display:inline-flex;align-items:center;gap:.42rem;font-size:.8rem;font-weight:600;margin-top:.45rem}
.fstatus i{width:7px;height:7px;border-radius:50%;display:block}
.fstatus.is-open{color:#1a7a45}
.fstatus.is-open i{background:#1faa59}
.fstatus.is-shut{color:var(--muted)}
.fstatus.is-shut i{background:#9AA6BB}
.frail{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4vw,60px);padding-block:clamp(30px,4vw,46px)}
.frail__brand img{height:44px;width:auto;margin-bottom:.9rem}
.frail__brand p{font-size:.88rem;color:var(--muted);max-width:34ch}
.fgroup+.fgroup{margin-top:1.4rem}
.fgroup h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:.7rem;font-weight:600}
.fgroup div{display:flex;flex-wrap:wrap;gap:.55rem 1.4rem}
.fgroup a{font-size:.92rem;color:var(--ink-2);transition:color .2s}
.fgroup a:hover{color:var(--brand-deep)}
@media (max-width:980px){
  .fdesk{grid-template-columns:1fr}
  .fdesk__cell{border-right:none;border-bottom:1px solid var(--line);padding:22px 0}
  .fdesk__cell:last-child{border-bottom:none}
  .frail{grid-template-columns:1fr}
}

/* ---- Utility strip (collapses on scroll) ---- */
.util{background:var(--paper-2);border-bottom:1px solid var(--line);font-size:.8rem;overflow:hidden;max-height:46px;transition:max-height .32s var(--ease),opacity .25s,border-color .25s}
header.site.scrolled .util{max-height:0;opacity:0;border-bottom-color:transparent}
.util__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:10px}
.util__l,.util__r{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}
.util a{color:var(--ink-2);transition:color .2s}
.util a:hover{color:var(--brand-deep)}
.util strong{font-weight:600;color:var(--ink)}
.util .stars{color:var(--gold)}
.util__sep{width:1px;height:14px;background:var(--line)}
@media (max-width:980px){.util{display:none}}

/* ---- Hero — split: statement + booking card ---- */
.hx{position:relative;min-height:min(90vh,800px);display:flex;align-items:center;overflow:hidden;color:#fff}
.hx__media{position:absolute;inset:0;z-index:0}
.hx__media img{width:100%;height:100%;object-fit:cover;animation:heroIn 1.5s var(--ease) both}
.hx__media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,20,36,.93) 0%,rgba(11,20,36,.78) 38%,rgba(11,20,36,.42) 66%,rgba(11,20,36,.22) 100%)}
.hx__grid{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,68px);align-items:center;padding-block:clamp(66px,9vw,104px)}
.hx .over{color:#c6d7f4}
.hx .over::before{background:#9dc0ff}
.hx h1{font-size:clamp(2.4rem,5vw,4rem);max-width:16ch;margin:1.1rem 0 1rem;font-weight:500}
.hx__lede{font-size:clamp(1.02rem,1.5vw,1.18rem);max-width:46ch;color:#dbe6f7}
.hx__proof{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.7rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.18)}
.hx__proof div{display:flex;flex-direction:column}
.hx__proof b{font-family:"Sora";font-weight:500;font-size:1.12rem;color:#fff;line-height:1.15}
.hx__proof b .stars{color:var(--gold);font-size:.8rem;letter-spacing:1px}
.hx__proof span{font-size:.78rem;color:#a9bcd8;margin-top:.15rem}
.hx__acts{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}
.hx__card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:clamp(22px,2.6vw,30px);box-shadow:0 40px 90px -50px rgba(0,0,0,.75)}
.hx__card h2{font-size:1.28rem;margin-bottom:.25rem}
.hx__card .sub{font-size:.86rem;color:var(--muted);margin-bottom:1.1rem}
.hx__card .field{margin-bottom:11px}
.hx__card .btn{width:100%;margin-top:.4rem}
.hx__fine{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.78rem;color:var(--muted);margin-top:.75rem}
.hx__fine svg{flex:none;color:#178a47}
@media (max-width:980px){
  .hx{min-height:0}
  .hx__grid{grid-template-columns:1fr;gap:32px;padding-block:clamp(52px,9vw,72px)}
  .hx__media::after{background:linear-gradient(180deg,rgba(11,20,36,.72) 0%,rgba(11,20,36,.88) 100%)}
}

/* ---- Form icon padding fix (must outrank the .field padding shorthand) ---- */
.field .fic input,
.field .fic select{padding-left:40px}
.field .fic select{padding-right:34px}
.field .fic input[type="date"]{padding-right:12px}
.field .fic .fi{z-index:1}
.field .fic input::placeholder{opacity:1}

/* ---- Hero headline: more air, fewer lines ---- */
.hx h1{font-size:clamp(2.25rem,4.1vw,3.45rem);max-width:20ch;line-height:1.11;letter-spacing:-.028em;margin:1.15rem 0 1.1rem}
.hx__lede{max-width:48ch;line-height:1.65}
.hx__proof{margin-top:2rem;padding-top:1.6rem;gap:1.9rem}
.hx__acts{margin-top:1.9rem}
@media (max-width:680px){.hx h1{max-width:none;line-height:1.14}}

/* ---- TripAdvisor trust badge (sits beside conversion buttons) ---- */
.ta{display:inline-flex;align-items:center;gap:.7rem;border:1px solid var(--line);background:#fff;border-radius:12px;padding:.55rem .85rem;transition:border-color .25s,transform .25s var(--ease)}
.ta:hover{border-color:#00AA6C;transform:translateY(-1px)}
.ta__logo{height:34px;width:auto;flex:none;display:block}
.ta__t{display:flex;flex-direction:column;line-height:1.2}
.ta__t b{font-size:.88rem;font-weight:600;color:var(--ink)}
.ta__t b .stars{color:#00AA6C;letter-spacing:1px;font-size:.78rem}
.ta__t span{font-size:.75rem;color:var(--muted)}
.ta--dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24)}
.ta--dark .ta__t b{color:#fff}
.ta--dark .ta__t span{color:#b9c9e4}
.ta--dark:hover{border-color:#7fd3a6}
.cta-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.ta-strip{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(26px,3.4vw,38px)}
.ta-strip span{font-size:.9rem;color:var(--ink-2)}
@media (max-width:680px){.ta{width:100%}}

/* ---- Compact WhatsApp button + standalone tick lists ---- */
.btn--sm{padding:.58rem 1rem;font-size:.88rem;min-height:40px;border-radius:8px;gap:.42rem}
.btn--sm .wa-ico{width:15px;height:15px}
.btn-wa .wa-ico{flex:none}
.tick-list{display:grid;gap:.1rem}
.tick-list li{display:flex;gap:11px;align-items:flex-start;padding:9px 0;font-size:.93rem;color:var(--ink-2);line-height:1.6}
.tick-list li svg{flex:none;margin-top:.28rem}
.card-body .tick-list li{font-size:.88rem;padding:7px 0}
/* TripAdvisor badge: smaller, tidier */
.ta{padding:.5rem .8rem;gap:.6rem}
.ta__logo{height:30px;width:30px;object-fit:contain}
.ta__t b{font-size:.85rem}
.ta__t span{font-size:.73rem}
