/* =========================================================
   THE CANVAS TRIP — main stylesheet
   Palette taken from the logo: deep ink, teal, sky, sun, ember, leaf
   ========================================================= */
@font-face{font-family:"Bricolage";src:url(../fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Caveat";src:url(../fonts/caveat-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Hind Siliguri";src:url(../fonts/hind-siliguri-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0980-09FF,U+200C-200D,U+25CC}
@font-face{font-family:"Hind Siliguri";src:url(../fonts/hind-siliguri-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0980-09FF,U+200C-200D,U+25CC}
@font-face{font-family:"Hind Siliguri";src:url(../fonts/hind-siliguri-600.woff2) format("woff2");font-weight:600 800;font-display:swap;unicode-range:U+0980-09FF,U+200C-200D,U+25CC}
@font-face{font-family:"Noto Serif Bengali";src:url(../fonts/noto-serif-bengali.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0980-09FF,U+200C-200D,U+25CC}

:root{
  --ink:#0a2540; --ink-2:#12385a; --ink-3:#1c4f78; --night:#061a2e;
  --teal:#0d9aa6; --teal-2:#0a7d87; --sky:#3cb6da; --sun:#f5a01d; --sun-2:#ffc44d; --ember:#ee5a24; --leaf:#4a9b3f; --lime:#a6c63a;
  --paper:#f7f2e8; --paper-2:#efe6d4; --card:#fffdf8; --white:#fff;
  --text:#1a2b3c; --muted:#5b6a79; --line:rgba(10,37,64,.12); --line-l:rgba(255,255,255,.14);
  --r:20px; --r-lg:32px; --r-sm:12px;
  --shadow:0 30px 60px -32px rgba(10,37,64,.45);
  --shadow-s:0 14px 30px -18px rgba(10,37,64,.4);
  --f-d:"Bricolage","Hind Siliguri",system-ui,sans-serif;
  --f-s:"Instrument Serif","Noto Serif Bengali",Georgia,serif;
  --f-b:"Manrope","Hind Siliguri",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-h:"Caveat","Hind Siliguri",cursive;
  --wrap:1320px; --gut:clamp(18px,4vw,48px);
  --ease:cubic-bezier(.22,1,.36,1);
  --hdr:84px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--paper);color:var(--text);font:400 16.5px/1.65 var(--f-b);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .1 0 0 0 0 .15 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-d);font-weight:700;line-height:1.02;letter-spacing:-.012em;margin:0 0 .45em;color:var(--ink);font-stretch:90%}
h1 em,h2 em,h3 em,.em{font-family:var(--f-s);font-style:italic;font-weight:400;letter-spacing:-.01em;font-stretch:100%}
p{margin:0 0 1em}
::selection{background:var(--sun);color:var(--ink)}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic-c{width:24px;height:24px}
.ic-sm{width:.9em;height:.9em}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:10px;z-index:2000;background:var(--sun);color:var(--ink);padding:10px 16px;border-radius:10px}
.skip:focus{left:10px}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}

/* ---------- language ---------- */
html.lang-en .bn,html.lang-bn .en{display:none!important}
html.lang-bn body{font-family:"Hind Siliguri",var(--f-b);font-size:17px}
html.lang-bn h1,html.lang-bn h2,html.lang-bn h3,html.lang-bn h4{font-family:"Hind Siliguri",var(--f-d);font-weight:700;letter-spacing:-.01em;line-height:1.18}
html.lang-bn h1 em,html.lang-bn h2 em,html.lang-bn h3 em{font-family:"Noto Serif Bengali",var(--f-s);font-style:normal;font-weight:600}

/* ---------- type helpers ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 12.5px/1 var(--f-b);letter-spacing:.2em;text-transform:uppercase;color:var(--teal-2);margin:0 0 18px}
.eyebrow::before{content:"";width:26px;height:10px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 20'%3E%3Cpath d='M2 12c8-7 14 5 22-2s14 4 26-4' fill='none' stroke='%23f5a01d' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.eyebrow--light{color:var(--sun-2)}
html.lang-bn .eyebrow{letter-spacing:.04em;font-size:14px}
.h-xl{font-size:clamp(46px,7.4vw,112px)}
.h-lg{font-size:clamp(40px,5.8vw,84px)}
.h-md{font-size:clamp(34px,4.4vw,62px)}
.h-sm{font-size:clamp(26px,2.6vw,36px)}
.lead{font-size:clamp(17px,1.4vw,20px);line-height:1.7;color:var(--muted)}
.hand{font-family:var(--f-h);font-weight:600;color:var(--ember);font-size:1.5em;line-height:1}
.brush{position:relative;display:inline-block;white-space:nowrap}
h1 em,h2 em{position:relative;display:inline-block;padding:0 .06em;isolation:isolate}
h1 em::after,h2 em::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.02em;height:.2em;z-index:-1;border-radius:4px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M3 13C60 5 110 16 160 9s95 2 137-2' fill='none' stroke='%23f5a01d' stroke-width='9' stroke-linecap='round' opacity='.85'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  transform-origin:left;transform:scaleX(var(--bx,1));transition:transform 1.2s var(--ease) .3s}
.is-pre h1 em::after,.is-pre h2 em::after{--bx:0}
.sec--dark h2 em::after,.phero h1 em::after,.hero h1 em::after,.cta h2 em::after{opacity:.9}
.muted{color:var(--muted)}

/* ---------- buttons ---------- */
.btn{--bg:var(--ink);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;background:var(--bg);color:var(--fg);font:700 15px/1 var(--f-b);letter-spacing:.01em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),box-shadow .4s,background .3s,color .3s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hov,var(--teal));border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease)}
.btn:hover::before{transform:none}
.btn:hover{box-shadow:0 18px 36px -18px rgba(10,37,64,.6)}
.btn .ic{width:19px;height:19px}
.btn--sun{--bg:var(--sun);--fg:var(--ink);--hov:#ffb640}
.btn--ember{--bg:var(--ember);--fg:#fff;--hov:#d94a17}
.btn--teal{--bg:var(--teal);--fg:#fff;--hov:var(--teal-2)}
.btn--wa{--bg:#1fae55;--fg:#fff;--hov:#17904a}
.btn--light{--bg:#fff;--fg:var(--ink);--hov:var(--sun)}
.btn--ghost{--bg:transparent;--fg:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45);--hov:rgba(255,255,255,.14)}
.btn--line{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);--hov:var(--paper-2)}
.btn--sm{height:44px;padding:0 18px;font-size:14px}
.btn--lg{height:62px;padding:0 32px;font-size:16px}
.btn--block{width:100%}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--sun);padding-bottom:3px;transition:gap .3s var(--ease)}
.link:hover{gap:14px}
.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font:700 11.5px/1 var(--f-b);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.chip--sun{background:var(--sun);color:var(--ink)}
.chip--ember{background:var(--ember);color:#fff}
.chip--teal{background:var(--teal);color:#fff}
.chip--ink{background:var(--ink);color:#fff}
.chip .ic{width:13px;height:13px}
html.lang-bn .chip{letter-spacing:0;font-size:12.5px;text-transform:none}

/* ---------- sections ---------- */
.sec{position:relative;padding:clamp(80px,10vw,150px) 0}
.sec--tight{padding:clamp(60px,7vw,100px) 0}
.sec--paper2{background:var(--paper-2)}
.sec--dark{background:var(--ink);color:#d7e3ee}
.sec--dark h2,.sec--dark h3{color:#fff}
.sec--dark .lead,.sec--dark .muted{color:#a9bdd0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:clamp(36px,5vw,64px);flex-wrap:wrap}
.sec-head h2{margin:0}
.sec-head .lead{max-width:460px;margin:0}
.sec-head--c{flex-direction:column;align-items:center;text-align:center}
.torn-top::before,.torn-bot::after{content:"";position:absolute;left:0;right:0;height:34px;z-index:2;pointer-events:none;background:inherit;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'%3E%3Cpath d='M0 34V18L32 10L66 7L90 9L123 7L161 12L184 8L219 19L243 13L267 19L290 9L319 7L359 18L382 13L405 10L436 19L462 9L502 15L541 11L566 12L599 9L638 8L678 7L719 12L756 19L802 16L838 20L871 15L900 11L944 13L968 15L1006 21L1038 20L1069 8L1094 22L1129 11L1175 16L1200 21V34Z'/%3E%3C/svg%3E") center/100% 100%;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'%3E%3Cpath d='M0 34V18L32 10L66 7L90 9L123 7L161 12L184 8L219 19L243 13L267 19L290 9L319 7L359 18L382 13L405 10L436 19L462 9L502 15L541 11L566 12L599 9L638 8L678 7L719 12L756 19L802 16L838 20L871 15L900 11L944 13L968 15L1006 21L1038 20L1069 8L1094 22L1129 11L1175 16L1200 21V34Z'/%3E%3C/svg%3E") center/100% 100%}
.torn-top::before{top:-33px}
.torn-bot::after{bottom:-33px;transform:scaleY(-1)}

[data-reveal]{opacity:0;transform:translateY(40px)}
.no-js [data-reveal],.reduce [data-reveal]{opacity:1;transform:none}
/* =================== PRELOADER =================== */
.loader{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:var(--paper);overflow:hidden}
.loader__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.loader__art{position:relative;width:min(300px,62vw);aspect-ratio:1.58}
.loader__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.loader__art .ghost{opacity:.12;filter:grayscale(1)}
.loader__art .paint{clip-path:inset(0 100% 0 0);transition:clip-path .15s linear}
.loader__brush{position:absolute;top:0;bottom:0;width:30px;left:0;transform:translateX(-50%);pointer-events:none}
.loader__brush::before{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:3px;background:linear-gradient(var(--sun),var(--ember));border-radius:3px;transform:translateX(-50%)}
.loader__word{font:800 13px/1 var(--f-b);letter-spacing:.42em;text-transform:uppercase;color:var(--ink)}
.loader__tag{font:600 26px/1 var(--f-h);color:var(--teal-2)}
.loader__count{position:absolute;right:var(--gut);bottom:28px;font:800 clamp(60px,10vw,140px)/.8 var(--f-d);font-stretch:75%;color:var(--ink);opacity:.9}
.loader__curtain{position:absolute;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;z-index:2}
.loader.is-quick .loader__count,.loader.is-quick .loader__tag{display:none}

/* =================== HEADER =================== */
.hdr{position:fixed;left:0;right:0;top:0;z-index:900;padding:14px var(--gut);transition:transform .6s var(--ease),padding .4s var(--ease)}
.hdr__bar{max-width:1400px;margin:0 auto;height:66px;display:flex;align-items:center;gap:22px;padding:0 10px 0 12px;border-radius:999px;transition:background .4s,box-shadow .4s,backdrop-filter .4s;color:#fff}
.hdr.is-scrolled .hdr__bar,.page-inner-light .hdr__bar{background:rgba(255,253,248,.86);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 14px 40px -24px rgba(10,37,64,.55),inset 0 0 0 1px rgba(10,37,64,.06);color:var(--ink)}
.hdr.is-hidden{transform:translateY(-120%)}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand__mark{width:58px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));transition:filter .3s}
.hdr.is-scrolled .brand__mark{filter:none}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__txt b{font:800 19px/1 var(--f-d);font-stretch:85%;letter-spacing:.01em;text-transform:uppercase}
.brand__txt small{margin-top:5px;font:700 9.5px/1 var(--f-b);letter-spacing:.34em;text-transform:uppercase;opacity:.8}
.brand__txt small i{font-style:normal;color:var(--sun)}
.hdr.is-scrolled .brand__txt small i{color:var(--ember)}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav__link{position:relative;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border-radius:999px;font:600 15px/1 var(--f-b);transition:background .3s}
.nav__link:hover,.nav__item:hover>.nav__link{background:rgba(255,255,255,.14)}
.hdr.is-scrolled .nav__link:hover,.hdr.is-scrolled .nav__item:hover>.nav__link{background:rgba(10,37,64,.06)}
.nav__link.is-active::after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;border-radius:50%;background:var(--sun);transform:translateX(-50%)}
.hdr__actions{display:flex;align-items:center;gap:10px}
.lang{position:relative;display:flex;align-items:center;height:40px;padding:3px;border-radius:999px;background:rgba(255,255,255,.14);font:700 12.5px/1 var(--f-b)}
.hdr.is-scrolled .lang{background:rgba(10,37,64,.07)}
.lang>span{position:relative;z-index:1;width:40px;text-align:center;transition:color .3s}
.lang i{position:absolute;top:3px;left:3px;width:40px;height:34px;border-radius:999px;background:var(--sun);transition:transform .45s var(--ease)}
html.lang-bn .lang i{transform:translateX(40px)}
html.lang-en .lang [data-l=en],html.lang-bn .lang [data-l=bn]{color:var(--ink)}
.burger{display:none;width:48px;height:48px;border-radius:50%;background:var(--sun);color:var(--ink);position:relative}
.burger span{position:absolute;left:14px;right:14px;height:2px;background:currentColor;border-radius:2px;transition:transform .45s var(--ease),top .45s var(--ease)}
.burger span:nth-child(1){top:19px}.burger span:nth-child(2){top:27px;right:20px}
.menu-open .burger span:nth-child(1){top:23px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:23px;right:14px;transform:rotate(-45deg)}

/* mega menu */
.nav__item{position:relative}
.mega{position:absolute;top:calc(100% + 16px);left:50%;width:min(880px,90vw);transform:translate(-50%,12px);opacity:0;visibility:hidden;transition:.45s var(--ease);
  background:var(--card);color:var(--ink);border-radius:26px;box-shadow:0 40px 80px -30px rgba(10,37,64,.5),inset 0 0 0 1px var(--line);padding:22px;display:grid;grid-template-columns:1fr 1fr 260px;gap:18px}
.mega::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav__item:hover .mega,.nav__item:focus-within .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega h5{margin:4px 8px 10px;font:800 11px/1 var(--f-b);letter-spacing:.2em;text-transform:uppercase;color:var(--teal-2)}
.mega__list{display:grid;grid-template-columns:1fr;gap:2px;max-height:360px;overflow:auto;scrollbar-width:thin}
.mega__list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;font:600 14px/1.25 var(--f-b);transition:background .2s,padding .3s var(--ease)}
.mega__list a small{font-weight:600;color:var(--muted);font-size:12px;white-space:nowrap}
.mega__list a:hover{background:var(--paper);padding-left:14px}
.mega__feat{position:relative;border-radius:18px;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fff}
.mega__feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.mega__feat::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(6,26,46,.9))}
.mega__feat:hover img{transform:scale(1.06)}
.mega__feat>*:not(img){position:relative;z-index:1}
.mega__feat b{font:700 22px/1.1 var(--f-d);margin:8px 0 4px}
.mega__feat small{opacity:.85}

/* full-screen menu */
.menu{position:fixed;inset:0;z-index:850;visibility:hidden;pointer-events:none}
.menu__bg{position:absolute;inset:0;background:var(--ink);clip-path:circle(0 at calc(100% - 50px) 48px);transition:clip-path .9s var(--ease)}
.menu-open .menu{visibility:visible;pointer-events:auto}
.menu-open .menu__bg{clip-path:circle(150% at calc(100% - 50px) 48px)}
.menu__inner{position:relative;height:100%;overflow:auto;padding:120px var(--gut) 120px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;color:#fff}
.menu__nav a{display:flex;align-items:baseline;gap:16px;padding:8px 0;font:700 clamp(34px,8vw,64px)/1.05 var(--f-d);font-stretch:80%;opacity:0;transform:translateY(30px);transition:opacity .5s,transform .7s var(--ease),color .3s}
.menu__nav a em{font:600 13px/1 var(--f-b);font-style:normal;color:var(--sun);letter-spacing:.1em}
.menu__nav a.is-active,.menu__nav a:hover{color:var(--sun)}
.menu-open .menu__nav a{opacity:1;transform:none}
.menu-open .menu__nav a:nth-child(2){transition-delay:.05s}.menu-open .menu__nav a:nth-child(3){transition-delay:.1s}.menu-open .menu__nav a:nth-child(4){transition-delay:.15s}.menu-open .menu__nav a:nth-child(5){transition-delay:.2s}.menu-open .menu__nav a:nth-child(6){transition-delay:.25s}.menu-open .menu__nav a:nth-child(7){transition-delay:.3s}
.menu__foot{display:grid;gap:10px;font-size:15px;color:#b9cadb;opacity:0;transition:opacity .6s .35s}
.menu-open .menu__foot{opacity:1}
.menu__foot>a{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600}
.menu-open .hdr__bar{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff!important}
.menu-open .hdr__bar .brand__mark{filter:none}

/* =================== FOOTER =================== */
.cta{position:relative;overflow:hidden;background:var(--night);color:#fff;padding:clamp(110px,14vw,200px) 0 clamp(90px,11vw,150px);text-align:center;isolation:isolate}
.cta__media{position:absolute;inset:-10% 0;z-index:-2}
.cta__media img{width:100%;height:100%;object-fit:cover;object-position:bottom}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 70% at 50% 40%,rgba(6,26,46,.45),rgba(6,26,46,.92))}
.cta h2{color:#fff;font-size:clamp(44px,7.5vw,118px);font-stretch:78%;margin:0 auto 36px;max-width:1100px}
.cta__row{display:flex;flex-direction:column;align-items:center;gap:20px}
.cta__phones{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;font-weight:700;font-size:17px}
.cta__phones a{display:inline-flex;align-items:center;gap:8px;opacity:.9}
.cta__phones a:hover{color:var(--sun)}
.cta__phones small{opacity:.6;font-weight:500}
.cta .hand{color:var(--sun-2);font-size:clamp(26px,3vw,38px);display:block;margin-bottom:6px}

.ftr{position:relative;background:var(--ink);color:#a9bdd0;padding:clamp(70px,8vw,110px) 0 0;overflow:hidden}
.ftr__top{display:grid;grid-template-columns:1.4fr .8fr 1fr 1.1fr;gap:clamp(30px,4vw,60px)}
.ftr__logo{display:inline-block;background:#fffdf8;border-radius:22px;padding:14px 18px;box-shadow:0 20px 40px -25px #000;transform:rotate(-2deg)}
.ftr__logo img{width:180px}
.ftr__tag{margin:22px 0;max-width:360px;font-size:15.5px}
.ftr__tag em{font-family:var(--f-s);font-size:1.15em;color:#fff}
.ftr h4{color:#fff;font:700 13px/1 var(--f-b);letter-spacing:.2em;text-transform:uppercase;margin:6px 0 20px}
html.lang-bn .ftr h4{letter-spacing:.02em;font-size:15px}
.ftr__col a{display:block;padding:5px 0;font-size:15px;transition:color .3s,transform .3s var(--ease)}
.ftr__col a:hover{color:var(--sun);transform:translateX(4px)}
.ftr__contact p{display:flex;gap:12px;margin:0 0 14px;font-size:15px}
.ftr__contact .ic{color:var(--sun);margin-top:4px}
.ftr__contact a{display:inline;padding:0}
.ftr__contact a:hover{color:#fff;transform:none}
.ftr__contact small{opacity:.65}
.social{display:flex;gap:10px;flex-wrap:wrap}
.social a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);transition:transform .4s var(--ease),background .3s}
.social a:hover{transform:translateY(-4px) rotate(-6deg);background:rgba(255,255,255,.14)}
.ftr__word{margin-top:clamp(40px,6vw,80px);font:800 clamp(64px,15.2vw,250px)/.78 var(--f-d);font-stretch:75%;letter-spacing:-.03em;text-transform:uppercase;text-align:center;white-space:nowrap;
  background:linear-gradient(90deg,var(--teal) 0%,var(--sky) 30%,var(--lime) 55%,var(--sun) 78%,var(--ember) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.95;user-select:none}
.ftr__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px var(--gut) 30px;margin-top:10px;border-top:1px solid var(--line-l);font-size:13.5px}
.ftr__bottom a{color:#fff;font-weight:700}

/* floating + app bar */
.fab{position:fixed;right:22px;bottom:24px;z-index:800;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.fab__btn{display:flex;align-items:center;gap:10px;height:56px;min-width:56px;justify-content:center;border-radius:999px;color:#fff;box-shadow:0 16px 30px -12px rgba(0,0,0,.4);transition:transform .4s var(--ease)}
.fab__btn:hover{transform:translateY(-3px)}
.fab__btn .ic{width:24px;height:24px}
.fab__wa{position:relative;background:#1fae55;padding:0 22px 0 18px;font-weight:700}
.fab__wa::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(31,174,85,.55);animation:pulse 2.4s infinite}
.fab__call{background:var(--ink)}
@keyframes pulse{70%{box-shadow:0 0 0 18px rgba(31,174,85,0)}100%{box-shadow:0 0 0 0 rgba(31,174,85,0)}}
.totop{position:fixed;left:22px;bottom:24px;z-index:800;width:52px;height:52px;border-radius:50%;background:var(--card);color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow-s);opacity:0;transform:translateY(20px);transition:.5s var(--ease)}
.totop.is-on{opacity:1;transform:none}
.totop svg:first-child{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop circle{fill:none;stroke:var(--sun);stroke-width:3;stroke-dasharray:113;stroke-dashoffset:113}
.totop .ic{transform:rotate(90deg)}
.appbar{display:none}

@media (max-width:1100px){
  .nav,.hdr__plan{display:none}
  .burger{display:grid}
  .ftr__top{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  :root{--hdr:72px}
  .hdr{padding:10px 12px}
  .hdr__bar{height:60px;padding:0 6px 0 10px;gap:10px}
  .brand__mark{width:48px;height:34px}
  .brand__txt b{font-size:15px}
  .brand__txt small{font-size:7.5px;letter-spacing:.2em}
  .lang>span{width:34px}.lang i{width:34px}html.lang-bn .lang i{transform:translateX(34px)}
  .ftr__top{grid-template-columns:1fr}
  .fab,.totop{display:none}
  body{padding-bottom:78px}
  .appbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:820;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;height:64px;border-radius:22px;background:rgba(10,37,64,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);color:#a9bdd0;padding-bottom:env(safe-area-inset-bottom)}
  .appbar a{display:flex;flex-direction:column;align-items:center;gap:4px;font:700 10.5px/1 var(--f-b)}
  .appbar a .ic{width:22px;height:22px}
  .appbar a.is-active{color:var(--sun)}
  .appbar__wa{width:58px;height:58px;margin:-26px auto 0;border-radius:50%;background:#1fae55;color:#fff;display:grid!important;place-items:center;box-shadow:0 10px 24px -8px rgba(31,174,85,.8),0 0 0 6px var(--paper)}
  .appbar__wa .ic{width:28px!important;height:28px!important}
  .ftr__word{font-size:17vw}
}
/* =================== HOME HERO (layered painting) =================== */
.hero{position:relative;height:100svh;min-height:700px;max-height:1100px;overflow:hidden;background:#0d3b66;color:#fff;isolation:isolate}
.hero__layer{position:absolute;left:-3%;right:-3%;bottom:0;height:106%;will-change:transform}
.hero__layer img{width:100%;height:100%;object-fit:cover;object-position:center bottom}
.hero__sky{top:0;height:100%}
.hero__far{z-index:1}
.hero__title-wrap{position:absolute;left:0;right:0;top:calc(var(--hdr) + 5vh);z-index:2;text-align:center;pointer-events:none}
.hero__mid{z-index:3}
.hero__near{z-index:4}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:46%;z-index:5;background:linear-gradient(transparent,rgba(6,26,46,.75));pointer-events:none}
.hero__eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);font:700 12.5px/1 var(--f-b);letter-spacing:.18em;text-transform:uppercase}
.hero__eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(245,160,29,.3)}
html.lang-bn .hero__eyebrow{letter-spacing:.03em;font-size:14px}
.hero h1{margin:22px 0 0;color:#fff;font-size:clamp(64px,12.4vw,210px);line-height:.86;font-weight:800;font-stretch:78%;letter-spacing:-.012em;text-shadow:0 10px 50px rgba(6,26,46,.25)}
.hero h1 em{font-weight:400;color:var(--sun-2);font-size:1.02em;letter-spacing:-.02em;display:block;margin-top:-.02em}
.hero h1 em::after{display:none}
html.lang-bn .hero h1{font-size:clamp(54px,10vw,170px);line-height:1.05}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.04em}
.hero h1 .line>span{display:inline-block}
.hero__bottom{position:absolute;left:0;right:0;bottom:84px;z-index:6}
.hero__bottom .wrap{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}
.hero__text{max-width:520px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:#e5eef6;margin:0 0 22px}
.search{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:6px;padding:8px;border-radius:24px;background:rgba(255,253,248,.95);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);color:var(--ink);max-width:780px}
.search label{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 16px;border-radius:16px;transition:background .3s;cursor:pointer;min-width:0}
.search label:hover{background:var(--paper)}
.search label+label::before{content:"";position:absolute;left:-3px;top:18%;bottom:18%;width:1px;background:var(--line)}
.search small{display:flex;align-items:center;gap:6px;font:800 10.5px/1 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--teal-2)}
html.lang-bn .search small{letter-spacing:.02em;font-size:12px}
.search select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:700 15.5px/1.3 var(--f-b);color:var(--ink);padding:2px 18px 2px 0;cursor:pointer;width:100%;text-overflow:ellipsis;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a2540' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center/14px no-repeat}
.search select:focus{outline:0}
.search .btn{height:auto;min-height:58px;border-radius:17px}
.ticket{position:relative;width:300px;display:grid;grid-template-columns:86px 1fr;border-radius:20px;background:var(--card);color:var(--ink);box-shadow:0 30px 60px -28px rgba(0,0,0,.7);overflow:hidden;
  -webkit-mask:radial-gradient(circle 10px at 86px 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at 86px 100%,transparent 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 10px at 86px 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at 86px 100%,transparent 98%,#000) bottom/100% 51% no-repeat}
.ticket__date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sun);padding:16px 6px;border-right:2px dashed rgba(10,37,64,.25)}
.ticket__date b{font:800 40px/.9 var(--f-d);font-stretch:75%}
.ticket__date small{font:800 12px/1 var(--f-b);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.ticket__body{padding:14px 16px 14px 18px;min-width:0}
.ticket__body small{display:block;font:800 10px/1 var(--f-b);letter-spacing:.18em;text-transform:uppercase;color:var(--teal-2)}
.ticket__body b{display:block;margin:6px 0 4px;font:700 17px/1.15 var(--f-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket__body>span{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);font-weight:600}
.ticket:hover .ticket__date{background:var(--sun-2)}
.hero__scroll{position:absolute;right:var(--gut);top:50%;z-index:6;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;font:700 11px/1 var(--f-b);letter-spacing:.3em;text-transform:uppercase;opacity:.8}
.hero__scroll i{width:1px;height:70px;background:linear-gradient(#fff,transparent);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-30px;left:0;width:1px;height:30px;background:var(--sun);animation:drip 2s infinite}
@keyframes drip{to{top:70px}}
.marq{position:absolute;left:0;right:0;bottom:0;z-index:7;height:56px;display:flex;align-items:center;overflow:hidden;background:var(--ink);color:#d7e3ee;border-top:1px solid rgba(255,255,255,.08)}
.marq__track{display:flex;flex:none;gap:0;white-space:nowrap;animation:marq 60s linear infinite}
.marq__track>span{display:inline-flex;align-items:center;gap:26px;padding-right:26px;font:700 15px/1 var(--f-b);letter-spacing:.14em;text-transform:uppercase}
.marq__track>span::after{content:"✦";color:var(--sun);font-size:12px}
html.lang-bn .marq__track>span{letter-spacing:.02em;font-size:16px}
@keyframes marq{to{transform:translateX(-50%)}}

/* =================== INTRO =================== */
.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.collage{position:relative;aspect-ratio:1/1.02;max-width:600px}
.frame{position:absolute;background:#fffdf8;padding:12px 12px 44px;border-radius:6px;box-shadow:0 30px 60px -30px rgba(10,37,64,.55),0 2px 0 rgba(10,37,64,.06)}
.frame img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.frame figcaption{position:absolute;left:14px;right:14px;bottom:10px;font:600 22px/1 var(--f-h);color:var(--ink-3);text-align:center}
.frame::before{content:"";position:absolute;top:-14px;left:50%;width:110px;height:30px;transform:translateX(-50%) rotate(-3deg);background:rgba(245,160,29,.55);box-shadow:0 2px 4px rgba(0,0,0,.08)}
.frame--a{left:0;top:0;width:74%;height:66%;transform:rotate(-4deg);z-index:1}
.frame--b{right:0;bottom:0;width:58%;height:52%;transform:rotate(5deg);z-index:2}
.frame--b::before{background:rgba(13,154,166,.5);transform:translateX(-50%) rotate(4deg)}
.stamp{position:absolute;left:4%;bottom:6%;z-index:3;width:150px;height:150px;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;text-align:center;box-shadow:0 20px 40px -20px rgba(238,90,36,.9)}
.stamp svg{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);animation:spin 22s linear infinite}
.stamp text{font:800 10.5px var(--f-b);letter-spacing:.24em;text-transform:uppercase;fill:#fff}
.stamp b{font:800 44px/.9 var(--f-d);font-stretch:75%;display:block}
.stamp small{font:700 10px/1.1 var(--f-b);display:block;max-width:80px;margin:4px auto 0;opacity:.9}
@keyframes spin{to{transform:rotate(360deg)}}
.intro__body p{font-size:17.5px;color:var(--muted)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:34px 0 36px;border-top:1px solid var(--line)}
.stat{padding:22px 10px 20px 0;border-bottom:1px solid var(--line)}
.stat:nth-child(odd){border-right:1px solid var(--line);padding-right:20px}
.stat:nth-child(even){padding-left:24px}
.stat b{display:flex;align-items:baseline;font:800 clamp(44px,4.6vw,66px)/.9 var(--f-d);font-stretch:75%;color:var(--ink)}
.stat b sup{font-size:.45em;color:var(--ember);margin-left:2px}
.stat>span{display:block;margin-top:8px;font-size:14px;color:var(--muted);font-weight:600}

/* =================== DEPARTURE BOARD =================== */
.board{background:var(--ink);color:#d7e3ee;overflow:hidden}
.board::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 90% 0%,rgba(13,154,166,.25),transparent),radial-gradient(40% 40% at 0% 100%,rgba(245,160,29,.12),transparent)}
.board .wrap{position:relative;z-index:1}
.mtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.mtab{height:44px;padding:0 20px;border-radius:999px;background:rgba(255,255,255,.07);color:#cfe0ee;font:700 14px/1 var(--f-b);display:inline-flex;align-items:center;gap:8px;transition:.3s}
.mtab em{font-style:normal;font-size:11px;min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.1)}
.mtab:hover{background:rgba(255,255,255,.14)}
.mtab.is-active{background:var(--sun);color:var(--ink)}
.mtab.is-active em{background:rgba(10,37,64,.15)}
.deps{display:grid;gap:12px}
.dep{display:grid;grid-template-columns:96px minmax(0,1.6fr) minmax(0,1fr) 150px auto;align-items:center;gap:22px;padding:12px 14px 12px 12px;border-radius:20px;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);transition:background .3s,transform .5s var(--ease)}
.dep:hover{background:rgba(255,255,255,.09);transform:translateX(6px)}
.dep[hidden]{display:none}
.dep--more{display:flex;justify-content:center;gap:10px;height:58px;padding:0;font-weight:700;color:var(--sun-2)}
.dep__date{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:84px;border-radius:14px;background:var(--card);color:var(--ink)}
.dep__date::after{content:"";position:absolute;right:-13px;top:10px;bottom:10px;border-right:2px dashed rgba(255,255,255,.18)}
.dep__date b{font:800 38px/.9 var(--f-d);font-stretch:75%}
.dep__date small{font:800 11px/1 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.dep__name b{display:block;color:#fff;font:700 clamp(18px,1.6vw,22px)/1.2 var(--f-d)}
.dep__name>span{display:block;margin-top:5px;font-size:13.5px;color:#8fa7bd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dep__meta{display:flex;gap:18px;font-size:14px;font-weight:600;color:#b9cadb}
.dep__meta>span{display:inline-flex;align-items:center;gap:6px}
.dep__meta .ic{color:var(--sky)}
.dep__price{text-align:right;font:800 20px/1 var(--f-d);color:#fff;white-space:nowrap}
.dep__price small{display:block;margin-top:4px;font:600 11.5px/1 var(--f-b);color:#8fa7bd}
.dep__price.is-ask{font:700 14px/1.2 var(--f-b);color:var(--sun-2)}
.board__foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;flex-wrap:wrap}
.board__foot p{margin:0;color:#8fa7bd;font-size:14px}

/* =================== DESTINATIONS =================== */
.dests{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(200px,20vw,280px);gap:16px}
.dest{position:relative;border-radius:var(--r-lg);overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;isolation:isolate;grid-column:span 2}
.dest:nth-child(1){grid-column:span 3;grid-row:span 2}
.dest:nth-child(2),.dest:nth-child(3){grid-column:span 3}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s var(--ease)}
.dest::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(6,26,46,.85))}
.dest:hover img{transform:scale(1.07)}
.dest h3{color:#fff;font-size:clamp(22px,2.2vw,34px);margin:0 0 6px}
.dest p{margin:0;font-size:14px;opacity:.85}
.dest__n{position:absolute;top:18px;left:18px}
.dest__go{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;transform:scale(.6) rotate(-45deg);opacity:0;transition:.5s var(--ease)}
.dest:hover .dest__go{transform:none;opacity:1}

/* =================== TOUR CARD =================== */
.tcard{position:relative;display:flex;flex-direction:column;background:var(--card);border-radius:26px;padding:10px;box-shadow:0 1px 0 rgba(10,37,64,.05),0 24px 44px -34px rgba(10,37,64,.55);transition:transform .6s var(--ease),box-shadow .5s}
.tcard:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(10,37,64,.7)}
.tcard[hidden]{display:none}
.tcard__img{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--paper-2)}
.tcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.tcard:hover .tcard__img img{transform:scale(1.08)}
.tcard__chips{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
.tcard__dur{position:absolute;left:12px;bottom:12px}
.tcard__body{display:flex;flex-direction:column;flex:1;padding:18px 10px 8px}
.tcard__body h3{font-size:clamp(20px,1.7vw,24px);margin:0 0 6px;line-height:1.1}
.tcard__tag{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tcard__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px dashed var(--line)}
.tcard__next{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--teal-2);margin-bottom:6px}
.tcard__price small{display:block;font:700 11px/1 var(--f-b);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
html.lang-bn .tcard__price small{letter-spacing:0;font-size:12px}
.tcard__price b{display:block;margin-top:5px;font:800 22px/1 var(--f-d);color:var(--ink)}
.tcard__price b i{font:600 12px/1 var(--f-b);font-style:normal;color:var(--muted)}
.tcard__price b.ask{font:700 14px/1.2 var(--f-b);color:var(--ember)}
.tcard__go{width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:.5s var(--ease)}
.tcard:hover .tcard__go{background:var(--sun);transform:rotate(-45deg)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}

/* carousel */
.rail{position:relative}
.rail__track{scroll-padding-inline:var(--gut);display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px,29vw,400px);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--gut) 40px;margin:0 calc(var(--gut)*-1);scrollbar-width:none;cursor:grab}
.rail__track::-webkit-scrollbar{display:none}
.rail__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.rail__track.is-drag a{pointer-events:none}
.rail__track>*{scroll-snap-align:start}
.rail__ctrl{display:flex;gap:10px;align-items:center}
.rbtn{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--line);transition:.3s}
.rbtn:hover{background:var(--ink);color:#fff}
.seg{display:inline-flex;padding:4px;border-radius:999px;background:var(--paper-2);gap:2px}
.seg button{height:42px;padding:0 20px;border-radius:999px;font:700 14px/1 var(--f-b);color:var(--muted);transition:.3s}
.seg button.is-active{background:var(--ink);color:#fff}
.rail__bar{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:-18px}
.rail__bar i{display:block;height:100%;width:30%;background:var(--sun);border-radius:3px;transition:transform .2s}

/* =================== SERVICES TILES =================== */
.srv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border-radius:28px;overflow:hidden}
.srv{position:relative;background:var(--ink);padding:34px 28px 30px;min-height:280px;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;transition:color .4s}
.srv::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(150deg,var(--teal),var(--ink-3));opacity:0;transition:opacity .5s}
.srv:hover::before{opacity:1}
.srv__n{font:800 13px/1 var(--f-b);letter-spacing:.14em;color:var(--sun)}
.srv__ic{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin:26px 0 22px;background:rgba(255,255,255,.07);color:var(--sun-2);transition:transform .6s var(--ease),background .4s}
.srv__ic .ic{width:30px;height:30px;stroke-width:1.6}
.srv:hover .srv__ic{transform:rotate(-8deg) scale(1.06);background:rgba(255,255,255,.16);color:#fff}
.srv h3{color:#fff;font-size:21px;margin:0 0 10px;line-height:1.15}
.srv p{margin:0;font-size:14.5px;color:#a9bdd0;line-height:1.6}
.srv:hover p{color:#e3eef7}

/* =================== WHY =================== */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,26px)}
.why__item{position:relative;padding:34px 30px 30px;border-radius:28px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:transform .6s var(--ease),box-shadow .4s}
.why__item:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px var(--line),var(--shadow)}
.why__ic{position:relative;width:74px;height:74px;display:grid;place-items:center;margin-bottom:24px;color:var(--ink)}
.why__ic::before{content:"";position:absolute;inset:4px -8px 6px -4px;border-radius:44% 56% 52% 48%/55% 42% 58% 45%;background:var(--c,var(--sun));opacity:.9;transform:rotate(-8deg);transition:transform .8s var(--ease),border-radius 1s}
.why__item:hover .why__ic::before{transform:rotate(12deg) scale(1.08);border-radius:58% 42% 44% 56%/42% 58% 42% 58%}
.why__ic .ic{position:relative;width:34px;height:34px;stroke-width:1.7}
.why__item:nth-child(6n+2){--c:#8fd3e8}.why__item:nth-child(6n+3){--c:#b9dc6c}.why__item:nth-child(6n+4){--c:#ffb088}.why__item:nth-child(6n+5){--c:#7fd6cf}.why__item:nth-child(6n+6){--c:#ffd27a}
.why__item h3{font-size:22px;margin:0 0 8px}
.why__item p{margin:0;color:var(--muted);font-size:15px}
.why__num{position:absolute;right:22px;top:18px;font:800 64px/1 var(--f-d);font-stretch:75%;color:rgba(10,37,64,.06)}

/* =================== CUSTOM TRIP =================== */
.custom{display:grid;grid-template-columns:1fr 1.1fr;border-radius:var(--r-lg);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.custom__art{position:relative;min-height:420px}
.custom__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.custom__art .hand{position:absolute;left:24px;bottom:20px;color:#fff;font-size:34px;text-shadow:0 2px 10px rgba(0,0,0,.35);transform:rotate(-4deg)}
.custom__body{padding:clamp(30px,4.5vw,64px)}
.custom__body h2{font-size:clamp(30px,3.4vw,50px)}
.qform{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.qform .full{grid-column:1/-1}

/* =================== FORMS =================== */
.field{display:flex;flex-direction:column;gap:7px}
.field span{font:700 12.5px/1 var(--f-b);letter-spacing:.06em;color:var(--ink-3)}
.field input,.field select,.field textarea{width:100%;height:54px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font-size:15.5px;transition:border .3s,box-shadow .3s;appearance:none;-webkit-appearance:none}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a2540' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/14px no-repeat;padding-right:36px}
.field textarea{height:120px;padding:14px 16px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(13,154,166,.14)}
.was-validated .field input:invalid{border-color:var(--ember)}
.form-done{margin-top:14px;padding:14px 16px;border-radius:14px;background:rgba(74,155,63,.12);color:#2f6d27;font-weight:600;font-size:14.5px}
.small{font-size:13px;color:var(--muted)}

/* =================== STEPS =================== */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.steps__path{position:absolute;left:10%;right:10%;top:12px;height:40px;pointer-events:none}
.steps__path path{fill:none;stroke:var(--ink-3);stroke-width:2;stroke-dasharray:6 8;opacity:.35}
.steps__plane{position:absolute;top:22px;left:6%;color:var(--ember);transform:rotate(45deg)}
.step{position:relative;text-align:center;padding:0 10px}
.step__n{position:relative;z-index:1;width:64px;height:64px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink);font:800 24px/1 var(--f-d);color:var(--ink);transition:.6s var(--ease)}
.step.is-on .step__n{background:var(--sun);box-shadow:inset 0 0 0 2px var(--sun),0 12px 24px -10px rgba(245,160,29,.8)}
.step h3{font-size:21px;margin:0 0 8px}
.step p{font-size:15px;color:var(--muted);margin:0}

/* =================== GALLERY STRIP =================== */
.gstrip{display:grid;gap:18px;overflow:hidden;padding:10px 0}
.gstrip__row{display:flex;gap:18px;width:max-content;animation:marq 70s linear infinite}
.gstrip__row--r{animation-direction:reverse}
.gstrip:hover .gstrip__row{animation-play-state:paused}
.gstrip a{flex:none;width:clamp(220px,24vw,340px);aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--paper-2)}
.gstrip a img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gstrip a:hover img{transform:scale(1.08)}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.review{padding:32px;border-radius:26px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.review .ic-q{width:40px;height:40px;color:var(--sun)}
.review p{font-size:16.5px;margin:14px 0 22px}
.review b{display:block;color:var(--ink)}
.review small{color:var(--muted)}
.stars{display:flex;gap:2px;color:var(--sun)}
.stars .ic{width:16px;height:16px;fill:currentColor;stroke:none}
.fbcard{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding:30px 34px;border-radius:28px;background:linear-gradient(120deg,#1877f2,#0a4fb5);color:#fff}
.fbcard h3{color:#fff;margin:0 0 4px;font-size:clamp(22px,2.2vw,30px)}
.fbcard p{margin:0;opacity:.85}
.fbcard .ic-c{width:64px;height:64px}

@media (max-width:1100px){
  .hero__bottom .wrap{grid-template-columns:1fr}
  .ticket{display:none}
  .intro{grid-template-columns:1fr}
  .collage{max-width:560px;margin:0 auto;width:100%}
  .dep{grid-template-columns:84px minmax(0,1fr) auto;gap:16px}
  .dep__meta{display:none}
  .dests{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .dest,.dest:nth-child(n){grid-column:span 1;grid-row:span 1}
  .dest:nth-child(1){grid-column:span 2}
  .srv-grid{grid-template-columns:repeat(2,1fr)}
  .why{grid-template-columns:repeat(2,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .custom{grid-template-columns:1fr}
  .custom__art{min-height:260px}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .steps__path,.steps__plane{display:none}
  .reviews{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero{min-height:640px;max-height:none;height:100svh}
  .hero__title-wrap{top:calc(var(--hdr) + 22px)}
  .hero h1{font-size:clamp(58px,19vw,120px);margin-top:16px}
  html.lang-bn .hero h1{font-size:clamp(46px,14vw,90px)}
  .hero__bottom{bottom:96px}
  .marq{display:none}
  .hero::after{height:62%;background:linear-gradient(transparent,rgba(6,26,46,.88) 55%)}
  .hero__text{font-size:15px;margin-bottom:14px}
  .search{grid-template-columns:1fr 1fr;border-radius:20px}
  .search label{padding:8px 12px}
  .search label:first-child{grid-column:1/-1}
  .search label:nth-child(3)::before{display:none}
  .search label:first-child+label::before{display:none}
  .search .btn{grid-column:1/-1;min-height:50px}
  .hero__scroll{display:none}
  .marq{height:46px}
  .marq__track>span{font-size:13px}
  .stamp{width:118px;height:118px}.stamp b{font-size:34px}
  .dep{grid-template-columns:70px minmax(0,1fr);gap:14px;padding:10px}
  .dep__date{height:74px}.dep__date b{font-size:32px}
  .dep__date::after{display:none}
  .dep__price{grid-column:2;text-align:left;margin-top:-6px}
  .dep .btn{grid-column:1/-1;width:100%}
  .dests{grid-template-columns:1fr;grid-auto-rows:210px}
  .dest:nth-child(1){grid-column:span 1}
  .srv-grid{grid-template-columns:1fr}
  .srv{min-height:0}
  .why{grid-template-columns:1fr}
  .tgrid{grid-template-columns:1fr}
  .qform{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr}
  .fbcard{grid-template-columns:1fr;text-align:center;justify-items:center}
  .rail__track{grid-auto-columns:82%}
  .sec-head .rail__ctrl .rbtn{display:none}
}
/* =================== PAGE HERO =================== */
.phero{position:relative;min-height:clamp(480px,66vh,700px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;padding:calc(var(--hdr) + 60px) 0 clamp(70px,8vw,110px);background:var(--ink)}
.phero__bg{position:absolute;inset:-8% 0 0;z-index:-2}
.phero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 70%}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,26,46,.55),rgba(6,26,46,.15) 35%,rgba(6,26,46,.82))}
.phero h1{color:#fff;font-size:clamp(48px,8.4vw,128px);font-stretch:76%;line-height:.9;margin:0 0 20px;max-width:1100px}
html.lang-bn .phero h1{font-size:clamp(40px,6.4vw,92px);line-height:1.1}
.phero p.phero__text{max-width:620px;font-size:clamp(16px,1.3vw,19px);color:#e3edf6;margin:0}
.phero .eyebrow{color:var(--sun-2)}
.crumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px;font-size:13.5px;font-weight:600;color:#cfdeea}
.crumbs a:hover{color:#fff}
.crumbs .ic{width:14px;height:14px;opacity:.6}
.phero.torn-bot::after{background:var(--paper)}

/* =================== TOURS PAGE =================== */
.filters{position:sticky;top:calc(var(--hdr) + 6px);z-index:40;margin:-44px 0 40px;padding:10px;border-radius:24px;background:rgba(255,253,248,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 50px -30px rgba(10,37,64,.55),inset 0 0 0 1px var(--line);display:grid;grid-template-columns:1.4fr auto 1fr 1fr 1fr;gap:8px;align-items:center}
.fsearch{position:relative}
.fsearch .ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.fsearch input{width:100%;height:52px;border:0;border-radius:16px;background:var(--paper);padding:0 16px 0 46px;font-size:15px;font-weight:600}
.fsearch input:focus{outline:2px solid var(--teal)}
.fsel{height:52px;border:0;border-radius:16px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a2540' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/13px no-repeat;padding:0 34px 0 16px;font-weight:700;font-size:14.5px;appearance:none;-webkit-appearance:none;cursor:pointer;width:100%;min-width:0}
.fsel:focus{outline:2px solid var(--teal)}
.filters .seg{background:var(--paper)}
.filters .seg button{height:44px;padding:0 16px}
.results{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.results b{font:700 15px/1 var(--f-b);color:var(--ink)}
.empty{text-align:center;padding:60px 20px;border-radius:28px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.empty p{max-width:520px;margin:0 auto 20px;color:var(--muted)}
.note{display:flex;gap:12px;padding:16px 20px;border-radius:16px;background:rgba(13,154,166,.08);color:var(--ink-3);font-size:14.5px;margin-top:30px}
.note .ic{margin-top:3px;color:var(--teal)}

/* =================== TOUR PAGE =================== */
.thero{min-height:clamp(560px,84vh,860px)}
.thero__tag{max-width:640px;font-size:clamp(17px,1.4vw,21px);color:#e3edf6;margin:0}
.thero__chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.thero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.pass{position:relative;z-index:5;margin-top:-60px;display:grid;grid-template-columns:repeat(4,1fr);border-radius:26px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.pass__cell{display:flex;gap:14px;align-items:center;padding:24px 26px;border-right:2px dashed var(--line)}
.pass__cell:last-child{border:0}
.pass__cell>.ic{width:44px;height:44px;padding:11px;border-radius:14px;background:var(--paper);color:var(--teal-2)}
.pass__cell small{display:block;font:800 10.5px/1 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
html.lang-bn .pass__cell small{letter-spacing:0;font-size:12.5px}
.pass__cell b{display:block;font:700 17px/1.25 var(--f-d);color:var(--ink)}
.subnav{position:sticky;top:calc(var(--hdr) + 6px);z-index:30;margin:34px 0 0}
.subnav .wrap>div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:6px;border-radius:999px;background:rgba(255,253,248,.92);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--line),0 16px 30px -24px rgba(10,37,64,.5);width:max-content;max-width:100%}
.subnav a{flex:none;height:42px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;font:700 14px/1 var(--f-b);color:var(--muted);transition:.3s}
.subnav a.is-active{background:var(--ink);color:#fff}
.tlayout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(30px,5vw,70px);align-items:start}
.tblock{padding:clamp(50px,6vw,80px) 0;border-bottom:1px dashed var(--line);scroll-margin-top:160px}
.tblock:first-child{padding-top:30px}
.tblock h2{font-size:clamp(34px,4vw,56px)}
.route{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;margin:30px 0 10px}
.route__stop{display:inline-flex;align-items:center;font:700 14px/1 var(--f-b);color:var(--ink)}
.route__stop>span{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.route__stop+.route__stop::before{content:"";width:28px;height:2px;margin:0 4px;background:repeating-linear-gradient(90deg,var(--ember) 0 5px,transparent 5px 9px)}
.route__stop--home span{background:var(--ink);color:#fff;box-shadow:none}
.route__full{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin-top:14px}
.route__full .ic{color:var(--teal);margin-top:3px}
.tsub{font-size:22px;margin:40px 0 18px}
.hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hl li{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-weight:600;font-size:15px}
.hl .ic{width:26px;height:26px;padding:5px;border-radius:50%;background:var(--sun);color:var(--ink);stroke-width:2.6}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.dticket{position:relative;display:grid;grid-template-columns:78px 1fr;border-radius:18px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:transform .5s var(--ease),box-shadow .4s}
.dticket:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--sun),var(--shadow-s)}
.dticket__d{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 4px;background:var(--ink);color:#fff;border-right:2px dashed rgba(255,255,255,.3)}
.dticket__d b{font:800 34px/.9 var(--f-d);font-stretch:75%}
.dticket__d small{font:800 11px/1 var(--f-b);letter-spacing:.14em;text-transform:uppercase;color:var(--sun-2)}
.dticket__b{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.dticket__b small{font-size:12.5px;color:var(--muted);font-weight:600}
.dticket__b>span{display:inline-flex;align-items:center;gap:6px;font:700 14px/1 var(--f-b);color:#17904a}
.jtl{position:relative;margin-top:30px}
.jtl__line{position:absolute;left:31px;top:10px;bottom:10px;width:2px;background:var(--line)}
.jtl__line i{position:absolute;inset:0;background:linear-gradient(var(--teal),var(--sun),var(--ember));transform-origin:top;transform:scaleY(0)}
.jday{position:relative;display:grid;grid-template-columns:64px 1fr;gap:18px;margin-bottom:14px}
.jday__badge{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.4s}
.jday__badge small{font:800 9px/1 var(--f-b);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.jday__badge b{font:800 22px/1 var(--f-d);color:var(--ink)}
.jday.is-open .jday__badge{background:var(--sun);box-shadow:inset 0 0 0 2px var(--sun)}
.jday__card{border-radius:20px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:box-shadow .4s}
.jday.is-open .jday__card{box-shadow:inset 0 0 0 1px rgba(10,37,64,.16),0 20px 40px -30px rgba(10,37,64,.6)}
.jday__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;text-align:left}
.jday__head h3{font-size:clamp(17px,1.5vw,20px);margin:0 0 6px;line-height:1.2}
.jchip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--teal-2)}
.jchip .ic{width:15px;height:15px}
.jday__toggle{width:36px;height:36px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--paper);transition:transform .5s var(--ease),background .3s}
.jday.is-open .jday__toggle{transform:rotate(45deg);background:var(--sun)}
.jday__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.jday__body>div{overflow:hidden}
.jday.is-open .jday__body{grid-template-rows:1fr}
.jpoints{list-style:none;margin:0;padding:0 20px 6px}
.jpoints li{display:flex;gap:12px;padding:6px 0;font-size:15.5px;color:var(--text)}
.jpoints li i{flex:none;width:7px;height:7px;margin-top:10px;border-radius:50%;background:var(--ember)}
.jstay{display:flex;align-items:center;gap:8px;margin:6px 20px 18px;padding:10px 14px;border-radius:12px;background:var(--paper);font-size:13.5px;font-weight:700;color:var(--ink-3)}
.itools{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.inex{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.inex__col{padding:28px;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.inex__col h3{display:flex;align-items:center;gap:10px;font-size:20px;margin:0 0 16px}
.inex__col h3 .ic{width:32px;height:32px;padding:7px;border-radius:50%;background:#dff2d8;color:#2f6d27;stroke-width:2.4}
.inex__col--x h3 .ic{background:#fde2d6;color:var(--ember)}
.plain{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.plain li{display:flex;gap:10px;font-size:15px}
.plain li .ic{width:18px;height:18px;color:#3c8a33;margin-top:3px}
.inex__col--x .plain li .ic{color:var(--ember)}
.infogrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.info{padding:26px;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.info--wide{grid-column:1/-1}
.info>.ic{width:44px;height:44px;padding:10px;border-radius:14px;background:var(--paper);color:var(--teal-2);margin-bottom:14px}
.info h3{font-size:19px;margin:0 0 8px}
.info p{margin:0;color:var(--muted);font-size:15px}
.info .plain li{color:var(--muted)}
.tgal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:200px 200px;gap:12px}
.tgal a{position:relative;border-radius:20px;overflow:hidden}
.tgal a:first-child{grid-row:span 2}
.tgal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tgal a:hover img{transform:scale(1.06)}
.book{position:sticky;top:calc(var(--hdr) + 80px);margin-top:30px;border-radius:28px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}
.book__top{padding:26px 26px 22px;background:var(--ink);color:#fff;position:relative}
.book__top::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:20px;background:radial-gradient(circle 10px at 10px 10px,var(--card) 98%,transparent) 0 0/26px 20px repeat-x}
.book__from{font:800 11px/1 var(--f-b);letter-spacing:.18em;text-transform:uppercase;color:var(--sun-2)}
.book__price{font:800 46px/1 var(--f-d);font-stretch:80%;margin:10px 0 4px}
.book__price.ask{font-size:26px;line-height:1.15}
.book__pp{font-size:13.5px;color:#a9bdd0}
.book__rows{padding:24px 26px 6px}
.book__row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.book__row>span{color:var(--muted)}
.book__row b{text-align:right;color:var(--ink)}
.book__btns{display:grid;gap:10px;padding:18px 26px 26px}
.book__small{padding:0 26px 22px;margin:-6px 0 0;font-size:13px}
.book__small a{text-decoration:underline;color:var(--muted)}
.mbook{display:none}

/* =================== SERVICES PAGE =================== */
.srv-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.srv-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:22px;padding:30px;border-radius:28px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),box-shadow .4s;overflow:hidden}
.srv-card:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px var(--line),var(--shadow)}
.srv-card__ic{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:var(--c,var(--sun));color:var(--ink)}
.srv-card__ic .ic{width:32px;height:32px}
.srv-card:nth-child(4n+2){--c:#8fd3e8}.srv-card:nth-child(4n+3){--c:#b9dc6c}.srv-card:nth-child(4n+4){--c:#ffb088}
.srv-card h3{font-size:24px;margin:4px 0 8px}
.srv-card p{color:var(--muted);margin:0 0 16px;font-size:15.5px}
.srv-card__n{position:absolute;right:24px;top:18px;font:800 54px/1 var(--f-d);font-stretch:75%;color:rgba(10,37,64,.06)}

/* =================== ABOUT =================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.canvas-img{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow)}
.canvas-img img{width:100%;height:100%;object-fit:cover}
.canvas-img .hand{position:absolute;left:24px;bottom:22px;color:#fff;font-size:36px;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.mv__card{padding:26px;border-radius:24px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.mv__card .ic{width:46px;height:46px;padding:11px;border-radius:14px;background:var(--sun);color:var(--ink);margin-bottom:14px}
.mv__card:nth-child(2) .ic{background:#8fd3e8}
.mv__card h3{font-size:20px;margin:0 0 6px}
.mv__card p{margin:0;color:var(--muted);font-size:15px}
.story{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.story__item{position:relative;padding:34px 30px;border-radius:28px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.story__item b{display:block;font:800 76px/1 var(--f-d);font-stretch:75%;background:linear-gradient(120deg,var(--teal),var(--sun));-webkit-background-clip:text;background-clip:text;color:transparent}
.story__item h3{color:#fff;font-size:26px;margin:10px 0 8px}
.story__item p{margin:0;color:#a9bdd0}
.faq{max-width:900px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;text-align:left;font:700 clamp(17px,1.5vw,20px)/1.35 var(--f-d);color:var(--ink)}
.faq__q .ic{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease),background .3s}
.faq__item.is-open .faq__q .ic{transform:rotate(45deg);background:var(--sun)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.faq__a>div{overflow:hidden}
.faq__a p{padding:0 50px 24px 0;margin:0;color:var(--muted)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}

/* =================== GALLERY =================== */
.gfilters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}
.gfilters button{height:44px;padding:0 20px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font:700 14px/1 var(--f-b);color:var(--muted);transition:.3s}
.gfilters button.is-active{background:var(--ink);color:#fff;box-shadow:none}
.masonry{columns:3 320px;column-gap:18px}
.masonry a{position:relative;display:block;margin-bottom:18px;border-radius:20px;overflow:hidden;break-inside:avoid;background:#fffdf8;padding:8px;box-shadow:0 20px 40px -30px rgba(10,37,64,.6)}
.masonry a.is-hidden{display:none}
.masonry img{width:100%;border-radius:14px;transition:transform 1s var(--ease)}
.masonry a:nth-child(3n+1) img{aspect-ratio:4/5;object-fit:cover}
.masonry a:nth-child(3n+2) img{aspect-ratio:4/3;object-fit:cover}
.masonry a:nth-child(3n) img{aspect-ratio:1/1;object-fit:cover}
.masonry a:hover img{transform:scale(1.04)}
.masonry figcaption{padding:12px 8px 6px;font:600 22px/1.1 var(--f-h);color:var(--ink-3)}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.video{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000;cursor:pointer}
.video img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:.6s}
.video:hover img{opacity:1;transform:scale(1.04)}
.video__play{position:absolute;inset:0;display:grid;place-items:center}
.video__play span{width:72px;height:72px;border-radius:50%;background:var(--sun);color:var(--ink);display:grid;place-items:center}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video b{position:absolute;left:16px;bottom:14px;color:#fff;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.lb{position:fixed;inset:0;z-index:2500;background:rgba(6,26,46,.95);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.4s}
.lb.is-open{opacity:1;visibility:visible}
.lb__img{max-width:90vw;max-height:80vh;border-radius:14px;transition:opacity .3s}
.lb__cap{position:absolute;bottom:28px;left:0;right:0;text-align:center;color:#fff;font:600 26px/1 var(--f-h)}
.lb__count{position:absolute;top:28px;left:28px;color:#a9bdd0;font-weight:700}
.lb__btn{position:absolute;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center}
.lb__btn:hover{background:var(--sun);color:var(--ink)}
.lb__close{top:20px;right:20px}.lb__prev{left:20px;top:50%}.lb__next{right:20px;top:50%}

/* =================== CONTACT =================== */
.ccards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-70px;position:relative;z-index:5}
.ccard{padding:26px;border-radius:24px;background:var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.ccard>.ic{width:48px;height:48px;padding:12px;border-radius:16px;background:var(--sun);color:var(--ink);margin-bottom:10px}
.ccard:nth-child(2)>.ic{background:#8fd3e8}.ccard:nth-child(3)>.ic{background:#b9e7c4}.ccard:nth-child(4)>.ic{background:#ffb088}
.ccard small{font:800 11px/1 var(--f-b);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ccard b,.ccard a.big{font:700 17px/1.35 var(--f-d);color:var(--ink)}
.ccard a:hover{color:var(--teal-2)}
.ccard>span{font-size:14px;color:var(--muted)}
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start}
.cform{padding:clamp(26px,4vw,46px);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow)}
.cform .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform .full{grid-column:1/-1}
.hours{margin:22px 0;display:grid;gap:8px}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:15px}
.hours b{color:var(--ink)}
.map{margin-top:clamp(50px,6vw,80px);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);height:420px;background:var(--paper-2)}
.map iframe{width:100%;height:100%;border:0;filter:saturate(.9)}

/* =================== RULES =================== */
.rules{display:grid;grid-template-columns:260px 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.rules__nav{position:sticky;top:calc(var(--hdr) + 30px);display:grid;gap:6px}
.rules__nav a{display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:14px;font-weight:700;color:var(--muted);transition:.3s}
.rules__nav a:hover{background:var(--card);color:var(--ink)}
.rules__nav a em{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;color:var(--ink)}
.rsec{padding:34px;border-radius:28px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:18px;scroll-margin-top:130px}
.rsec h2{display:flex;align-items:center;gap:14px;font-size:clamp(24px,2.4vw,32px);margin:0 0 18px}
.rsec h2 em{font-style:normal;font:800 18px/1 var(--f-d);width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--sun);color:var(--ink)}
.rsec h2 em::after{display:none}
.rsec ol{margin:0;padding-left:20px;display:grid;gap:10px;color:var(--text)}
.rsec li::marker{color:var(--ember);font-weight:800}

@media (max-width:1100px){
  .filters{grid-template-columns:1fr 1fr;position:relative;top:0}
  .fsearch{grid-column:1/-1}
  .filters .seg{grid-column:1/-1;justify-self:start}
  .tlayout{grid-template-columns:1fr}
  .book{display:none}
  .mbook{position:fixed;left:12px;right:12px;bottom:12px;z-index:810;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 20px;border-radius:22px;background:var(--ink);color:#fff;box-shadow:0 20px 40px -16px rgba(0,0,0,.6);transform:translateY(140%);transition:transform .5s var(--ease)}
  .mbook.is-on{transform:none}
  .mbook small{display:block;font-size:11px;color:#a9bdd0}
  .mbook b{font:800 20px/1.1 var(--f-d)}
  .pass{grid-template-columns:1fr 1fr}
  .pass__cell:nth-child(2){border-right:0}
  .pass__cell:nth-child(-n+2){border-bottom:2px dashed var(--line)}
  .srv-list{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .story{grid-template-columns:1fr}
  .ccards{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:1fr}
  .rules{grid-template-columns:1fr}
  .rules__nav{position:relative;top:0;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
  .vgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .phero{min-height:420px;padding-bottom:70px}
  .thero{min-height:560px}
  .filters{margin-top:-30px;grid-template-columns:1fr 1fr;border-radius:20px}
  .filters .seg{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .filters .fsel:last-child{grid-column:1/-1}
  .pass{grid-template-columns:1fr;margin-top:-40px}
  .pass__cell{border-right:0;border-bottom:2px dashed var(--line);padding:18px 20px}
  .pass__cell:last-child{border-bottom:0}
  .hl{grid-template-columns:1fr}
  .inex,.infogrid{grid-template-columns:1fr}
  .jday{grid-template-columns:48px 1fr;gap:12px}
  .jday__badge{width:48px;height:48px}
  .jday__badge b{font-size:17px}
  .jtl__line{left:23px}
  .jday__head{padding:14px 16px}
  .jpoints{padding:0 16px 4px}
  .jstay{margin:6px 16px 16px}
  .tgal{grid-template-columns:1fr 1fr;grid-template-rows:180px 120px}
  .tgal a:first-child{grid-column:1/-1;grid-row:span 1}
  .mbook{bottom:84px}
  .srv-card{grid-template-columns:1fr;padding:26px}
  .mv{grid-template-columns:1fr}
  .ccards{grid-template-columns:1fr;margin-top:-40px}
  .cform .grid2{grid-template-columns:1fr}
  .vgrid{grid-template-columns:1fr}
  .map{height:320px}
  .rsec{padding:24px}
  .lb__prev,.lb__next{top:auto;bottom:70px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
