/* ---- p_32_pj-travel.css ---- */
/* Travel Projects (.sk-jt) - tập bưu thiếp và atlas tuyến bay.
   Hình khối: tem răng cưa, dấu bưu điện tròn, viền airmail cam-trắng-đen, bưu thiếp viền trắng nghiêng nhẹ, đường chấm.
   Tối là nền chính; một dải giấy (#f5f4f1) là atlas bản đồ sáng. Mobile trước; mở rộng ở 700px, 820px, 1025px. */
.sk-jt{--r:6px;--bw:1px;--hfw:800;--hls:-.04em;--bg:#0a0a0c;--bg2:#101013;--card:#16161a;--ln:rgba(255,255,255,.14);--mut:#a9a9b3;
  --l0:#ff6a13;--l1:#ffa266;--l2:#ffc59a;--l3:#fff;--l4:#8d8d97;--l5:#5a5a64;
  --air:repeating-linear-gradient(-45deg,#ff6a13 0 11px,#fff 11px 22px,#0a0a0c 22px 33px,#fff 33px 44px)}
.sk-jt h2,.sk-jt h3{text-wrap:balance}
.sk-jt .s-sec{padding-block:clamp(44px,8vw,120px)}
.sk-jt .s-sec.tight{padding-block:clamp(36px,6vw,72px)}
.sk-jt .s-head{margin-bottom:clamp(22px,4vw,56px)}
.sk-jt h3{margin:0}
.sk-jt .jt-eb{display:flex;align-items:center;gap:12px;margin:0 0 14px;font:700 12px/1.2 var(--fb);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.jt-eb::before{content:"";flex:none;width:30px;border-top:2px dotted var(--ac)}
.jt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* tem răng cưa dùng chung: kích thước là bội số của 10px để răng cưa khớp mép */
.jt-stamp,.jt-pcd-stp,.jt-pc-st,.jt-stp{--g:10px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,radial-gradient(circle 3.2px at 50% 50%,#0000 96%,#000) calc(var(--g)/-2) calc(var(--g)/-2)/var(--g) var(--g) round;
  mask:linear-gradient(#000 0 0) content-box,radial-gradient(circle 3.2px at 50% 50%,#0000 96%,#000) calc(var(--g)/-2) calc(var(--g)/-2)/var(--g) var(--g) round}

/* ---------- vệt tiến độ bay (dính mép trái, chạy theo cuộn) ---------- */
.jt-trail{position:fixed;z-index:30;left:6px;top:104px;bottom:44px;width:2px;pointer-events:none;--p:0}
.jt-trail::before{content:"";position:absolute;inset:0;border-left:2px dotted rgba(255,106,19,.4)}
.jt-tr-f{position:absolute;left:0;top:0;width:2px;height:calc(var(--p)*100%);background:var(--ac)}
.jt-tr-p{position:absolute;left:1px;top:calc(var(--p)*100%);width:16px;height:16px;margin:-8px 0 0 -8px;fill:var(--ac);rotate:180deg}

/* =====================  HERO  ===================== */
.jt-hero{padding:104px 0 clamp(36px,5vw,72px);background:#0a0a0c}
.jt-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 36% at 84% 62%,rgba(255,106,19,.17),transparent 70%),radial-gradient(46% 28% at 0 0,rgba(255,106,19,.1),transparent 70%)}
.jt-art{position:absolute;z-index:-1;left:-1vw;bottom:-.1em;font-size:clamp(120px,34vw,340px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);white-space:nowrap;pointer-events:none;user-select:none}
.jt-hg{display:grid;gap:22px;min-width:0}
.jt-hc,.jt-map{min-width:0}
.sk-jt .jt-title{margin:0;font-size:clamp(58px,17.4vw,120px);line-height:.9;letter-spacing:-.055em}
.jt-title em{font-style:normal;color:var(--ac)}
.sk-jt .jt-sub{margin-top:16px;max-width:42ch;font-size:16px}
.jt-btns{margin-top:20px}

.jt-map{position:relative}
.jt-frame{position:relative;padding:9px;background:var(--air);border-radius:3px;box-shadow:0 30px 60px -24px rgba(0,0,0,.95);rotate:-1deg;transition:rotate .7s cubic-bezier(.16,1,.3,1)}
.jt-inner{position:relative;border:3px solid #f5f4f1;background:#0b0b0e;overflow:hidden}
.jt-svg{display:block;width:100%;height:auto}
.jt-svg text{font-family:var(--fb)}
.jt-grat{fill:none;stroke:#fff;stroke-opacity:.07}
.jt-ol{fill:none;stroke:#ff6a13;stroke-opacity:.7;stroke-width:1.2;stroke-dasharray:2 4;stroke-linecap:round}
.jt-sl{font-size:11px;font-weight:500;fill:#fff;fill-opacity:.62}
.jt-sea{font-size:11px;font-weight:700;letter-spacing:.35em;fill:#fff;fill-opacity:.28}
.jt-cmp{fill:#fff;fill-opacity:.7}.jt-cmp text{font-size:11px;font-weight:700;text-anchor:middle}
.jt-cover{display:none;fill:#0b0b0e;transform-box:fill-box}
.jt-scn{display:none;fill:#ff6a13;transform-box:fill-box}
.jt-rt{fill:none;stroke:#ff6a13;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.jt-rd{stroke:#fff;stroke-width:2.6;stroke-dasharray:.1 5.5;transition:opacity .4s}
.jt-pg{fill:#fff;stroke:#ff6a13;stroke-width:2}
.jt-pr{fill:none;stroke:#ff6a13;stroke-width:1.5;opacity:0}
.jt-pt{font-size:12.5px;font-weight:700;letter-spacing:.06em;fill:#fff;paint-order:stroke;stroke:#0b0b0e;stroke-width:4px;stroke-linejoin:round}
.jt-fl,.jt-bus{fill:#fff;opacity:0;transition:opacity .3s}
.jt-fl.is-on,.jt-bus.is-on{opacity:1}
.jt-replay{position:absolute;left:8px;bottom:8px;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(10,10,12,.6);color:#fff;cursor:pointer;display:grid;place-items:center}
.jt-replay .s-ico{margin:0;width:100%;height:100%;background:none;color:#fff;border-radius:50%}
.jt-replay .s-ico svg{width:20px;height:20px}
.jt-replay:focus-visible,.jt-ap:focus-visible,.jt-ly:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.sk-jt .jt-cap{margin-top:12px;font-size:13px;line-height:1.5;color:var(--mut)}

/* tem + dấu bưu điện góc phải bản đồ */
.jt-map>.jt-stw{position:absolute;z-index:3;top:-24px;right:-4px;rotate:5deg;filter:drop-shadow(0 10px 12px rgba(0,0,0,.55))}
.jt-stamp{width:80px;height:100px;padding:8px;box-sizing:border-box;background:#fff;color:#0a0a0c;display:grid;grid-template-rows:auto 1fr auto;gap:6px;justify-items:center}
.jt-sv{font-style:normal;font-size:22px;line-height:1;justify-self:end}
.jt-sp{display:grid;place-items:center;width:100%;min-height:0;background:var(--ac)}
.jt-sp svg{width:26px;height:26px;fill:#fff;rotate:45deg}
.jt-stamp b{font:800 12px/1 var(--fb);letter-spacing:0;white-space:nowrap}
.jt-pm{position:absolute;z-index:4;top:8px;right:46px;width:158px;height:auto;color:var(--ac);rotate:-9deg;pointer-events:none;opacity:.9}
.jt-pmt{font-family:var(--fd);letter-spacing:.04em}

/* ---------- ATLAS (giấy) ---------- */
.sk-jt .jt-atlas{padding-block:clamp(48px,8vw,128px)}
.jt-atlas::before,.jt-atlas::after{content:"";position:absolute;left:0;right:0;height:10px;background:var(--air)}
.jt-atlas::before{top:0}.jt-atlas::after{bottom:0}
.jt-at{display:grid;gap:20px;min-width:0}
.jt-at-ch{align-items:center}
.jt-am{position:relative;width:100%;max-width:560px;justify-self:center;aspect-ratio:360/420;background:#ebeae6;border:1px solid rgba(10,10,12,.22);border-radius:4px;overflow:hidden}
.jt-asv{position:absolute;inset:0;width:100%;height:100%}
.jt-asv text{font-family:var(--fb)}
.jt-agr{fill:none;stroke:#0a0a0c;stroke-opacity:.08}
.jt-aol{fill:none;stroke:#0a0a0c;stroke-opacity:.55;stroke-width:1.1;stroke-dasharray:2 3}
.jt-asl{font-size:11px;font-weight:500;fill:#0a0a0c;fill-opacity:.55}
.jt-asea{font-size:11px;font-weight:700;letter-spacing:.35em;fill:#0a0a0c;fill-opacity:.25}
.jt-ar{fill:none;stroke:var(--ac);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.jt-afl{fill:#0a0a0c;opacity:0;transition:opacity .3s}.jt-afl.is-on{opacity:1}
.jt-ap{position:absolute;z-index:2;left:var(--x);top:var(--y);width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;background:none;color:#0a0a0c;cursor:pointer;-webkit-tap-highlight-color:transparent}
.jt-ap i,.jt-ap::after{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%}
.jt-ap i{background:#0a0a0c;box-shadow:0 0 0 3px #ebeae6,0 0 0 4.5px #0a0a0c;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .25s}
.jt-ap::after{content:"";border:2px solid var(--ac);opacity:0}
.jt-ap span{position:absolute;left:calc(50% + 16px);top:50%;transform:translateY(-50%);font:700 13px/1 var(--fb);letter-spacing:.02em;white-space:nowrap;text-shadow:0 0 3px #ebeae6,0 0 3px #ebeae6,0 0 6px #ebeae6}
.jt-ap span.is-l{left:auto;right:calc(50% + 16px)}
.jt-ap.on i{background:var(--ac);transform:scale(1.3)}
.jt-ap.on span{font-weight:800}
.jt-ap.on::after{opacity:.8}

.jt-pcds{position:relative;display:grid;min-width:0}
.jt-pcd{grid-area:1/1;min-width:0;visibility:hidden;opacity:0;pointer-events:none;rotate:var(--rot,0deg);transform:translate3d(calc(var(--dir,1)*36px),16px,0);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),visibility 0s .7s}
.jt-pcd.is-out{transform:translate3d(calc(var(--dir,1)*-36px),8px,0)}
.jt-pcd.is-on{visibility:visible;opacity:1;pointer-events:auto;transform:none;z-index:2;transition-delay:.1s,.1s,0s}
.jt-pcd-in{position:relative;background:#fff;color:#0a0a0c;padding:12px;border-radius:3px;box-shadow:0 34px 56px -28px rgba(10,10,12,.6),0 0 0 1px rgba(10,10,12,.07)}
.jt-pcd-in::before{content:"";position:absolute;inset:0;z-index:3;border-radius:3px;padding:5px;background:var(--air);pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.jt-pcd-pic{position:relative;margin:5px 5px 0}
.jt-th{aspect-ratio:16/9}
.jt-pcd-tag{position:absolute;z-index:2;left:8px;top:8px;padding:7px 11px;border-radius:99px;background:rgba(10,10,12,.78);color:#fff;font:700 12px/1 var(--fb);letter-spacing:.1em;text-transform:uppercase}
.jt-pcd-tag.is-real{background:var(--ac)}
.jt-pcd-stp,.jt-pc-st{position:absolute;z-index:2;display:grid;place-items:center;box-sizing:border-box;width:60px;height:70px;padding:8px;background:#fff;rotate:4deg}
.jt-pcd-stp{right:12px;top:12px}
.jt-pcd-stp i,.jt-pc-st b{display:grid;place-items:center;width:100%;height:100%;background:var(--ac);color:#fff;font-style:normal;font-size:16px;letter-spacing:.04em}
.jt-pcd-pm,.jt-pc-pm{position:absolute;z-index:3;width:116px;height:auto;color:#fff;rotate:-8deg;pointer-events:none;opacity:.9}
.jt-pcd-pm{right:48px;top:4px}
.jt-pcd-bd{padding:14px 8px 6px}
.sk-jt .jt-pcd-k{margin:0;font:700 12px/1.35 var(--fb);letter-spacing:.12em;text-transform:uppercase;color:#5d5d65}
.sk-jt .jt-pcd-h{margin:6px 0 0;font:800 clamp(32px,8.6vw,44px)/1.05 var(--ff);letter-spacing:-.045em}
.sk-jt .jt-pcd-t{margin:10px 0 0;font-size:15px;line-height:1.55;color:#33333a}
.jt-pcd-f{display:grid;grid-template-columns:.85fr .7fr 1.45fr;margin:16px 0 0;border-block:1.5px dotted rgba(10,10,12,.45)}
.jt-pcd-f>div{padding:10px 8px 10px 0;min-width:0}
.jt-pcd-f dt{font:600 12px/1.2 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:#5d5d65}
.jt-pcd-f dd{margin:5px 0 0;font:700 16px/1.25 var(--ff);letter-spacing:-.02em}
.jt-pcd-f dd b{font-size:28px;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sk-jt .jt-pcd-m{margin:8px 0 0;font-size:12.5px;color:#5d5d65}
.jt-pcd-go{margin-top:14px;width:100%;justify-content:center;gap:8px}

/* ---------- RAIL BƯU THIẾP ---------- */
.jt-rl-bar{display:grid;gap:10px;margin-bottom:12px}
.sk-jt .jt-rl-n{font-size:13px;color:var(--mut)}
.jt-pcs{padding-top:16px}
.jt-pc{position:relative;rotate:var(--rot);padding:10px 10px 0;background:#fff;border-radius:3px;box-shadow:0 26px 44px -22px rgba(0,0,0,.95);color:#0a0a0c}
.jt-pc[hidden]{display:none}
.jt-pc .card{display:block;background:transparent;border:0;border-radius:0;overflow:visible;color:#0a0a0c}
.jt-pc .card:hover{transform:none}
.jt-pc .card-img{border-radius:1px}
.jt-pc .card-body{padding:14px 56px 18px 2px}
.jt-pc .card-body h3{color:#0a0a0c}
.jt-pc .card-body small{color:#55555e;font-size:12.5px}
.jt-pc .card .go{right:4px;bottom:18px}
.jt-pc-st{right:18px;top:18px}
.jt-pc-pm{right:56px;top:10px}
.jt-pc-blank{background:#f5f4f1}
.jt-bl{position:relative;display:flex;flex-direction:column;height:100%;min-height:330px;padding:10px 8px 16px}
.jt-bl-st{position:absolute;right:8px;top:6px;width:50px;height:60px;border:2px dashed rgba(10,10,12,.35);rotate:4deg}
.jt-bl h3{margin:40px 56px 0 0;font:800 24px/1.1 var(--ff);letter-spacing:-.03em}
.sk-jt .jt-bl-t{margin:10px 0 8px;font-size:15px;line-height:1.55;color:#33333a}
.jt-bl-l{display:block;height:24px;border-bottom:1.5px dotted rgba(10,10,12,.45)}
.jt-bl-b{display:grid;gap:4px;margin-top:auto;padding-top:16px}
.jt-bl-tel{display:flex;align-items:center;min-height:44px;font:800 22px/1 var(--ff);letter-spacing:-.02em;color:#0a0a0c;text-decoration:none}
.jt-bl-b .btn{justify-content:center;gap:8px}

/* ---------- LỚP CỦA CHUYẾN ĐI ---------- */
.jt-ctl .s-seg button{font-size:14px;padding:0 6px}
.jt-dn{position:relative;width:min(100%,228px);aspect-ratio:1;margin:0 auto}
.jt-dn-svg{display:block;width:100%;height:100%}
.jt-dn-bg{fill:none;stroke:rgba(255,255,255,.07);stroke-width:34}
.jt-seg{fill:none;stroke:var(--lc);stroke-width:34;stroke-dasharray:0 100;stroke-dashoffset:0;opacity:.6;cursor:pointer;transition:stroke-dasharray .9s cubic-bezier(.16,1,.3,1),stroke-dashoffset .9s cubic-bezier(.16,1,.3,1),stroke-width .35s,opacity .35s}
.jt-seg.is-sel{stroke-width:42;opacity:1}
.jt-dn-c{position:absolute;inset:0;display:grid;place-content:center;gap:3px;text-align:center;pointer-events:none}
.jt-dn-c small{font:600 12px/1.2 var(--fb);color:var(--mut)}
.jt-dn-c b{font:800 clamp(28px,8vw,36px)/1 var(--ff);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.jt-dn-c span{font-size:13px;color:var(--mut)}
.jt-lay{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.jt-ly{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:48px;padding:5px 12px 5px 7px;border:1px solid var(--ln);border-radius:var(--r);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .25s,background .25s}
.jt-ly .s-ico{width:34px;height:34px;margin:0;border-radius:6px;background:var(--lc);color:var(--lt)}
.jt-ly .s-ico svg{width:20px;height:20px}
.jt-ly-n b{display:block;font:700 15px/1.2 var(--fb)}
.jt-ly-n small{display:block;margin-top:2px;font:500 12px/1.2 var(--fb);color:var(--mut)}
.jt-ly em{font:700 15px/1 var(--ff);font-style:normal;font-variant-numeric:tabular-nums}
.jt-ly.on{border-color:var(--ac);background:rgba(255,106,19,.1)}
.jt-tips{display:grid;margin-top:2px;padding:14px;border-radius:var(--r);background:rgba(255,106,19,.08);border:1px solid rgba(255,106,19,.32)}
.jt-tp{grid-area:1/1;min-width:0;visibility:hidden;opacity:0;translate:0 10px;transition:opacity .3s,translate .5s cubic-bezier(.16,1,.3,1),visibility 0s .3s}
.jt-tp.is-on{visibility:visible;opacity:1;translate:none;transition-delay:.08s,.08s,0s}
.jt-tp h3{margin-bottom:12px;font:800 17px/1.25 var(--ff);letter-spacing:-.02em}
.jt-tp .s-list{gap:8px}
.jt-tp .s-list li{font-size:15px}
.jt-out{gap:18px}

/* ---------- THEO MÙA ---------- */
.sk-jt .jt-ss-sum{margin:14px 0 6px;min-height:50px;font:600 16px/1.55 var(--fb);color:var(--ink)}
.jt-ss-sum b{color:var(--ac)}
.jt-ds-l{display:grid;margin:0;padding:0;list-style:none}
.jt-ds{padding:14px 0 16px;border-bottom:1px dashed var(--ln)}
.jt-ds>*{transition:opacity .4s}
.jt-ds:not(.is-in)>*{opacity:.5}
.jt-ds-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.jt-ds-h b{font:800 20px/1.2 var(--ff);letter-spacing:-.03em}
.jt-ds-h span{font-size:14px;line-height:1.45;color:var(--mut)}
.jt-ds .mo{margin-top:10px}
.jt-ds .mo li{transition:background .5s,color .4s,box-shadow .3s,transform .3s}
.jt-ds .mo li.is-cur{position:relative;z-index:1;box-shadow:0 0 0 2px #fff;transform:scale(1.12)}
.sk-jt .jt-ss-fn{margin-top:14px;font-size:13px;color:var(--mut)}

/* ---------- BLOG + THỐNG KÊ + FAQ ---------- */
.jt-blog.grid3{gap:14px}
.sk-jt .card-body em{font-size:12px}
.jt-sts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
.jt-stw{min-width:0;filter:drop-shadow(0 14px 16px rgba(0,0,0,.6))}
.jt-stn{rotate:var(--rot)}
.jt-stp{position:relative;display:grid;justify-items:center;gap:4px;padding:28px 10px 20px;background:#fff;color:#0a0a0c;text-align:center}
.jt-stp::before{content:"";position:absolute;inset:12px;border:1.5px solid #0a0a0c;pointer-events:none}
.jt-stp-v{position:absolute;top:19px;right:20px;font:700 12px/1 var(--fb);font-style:normal;color:var(--ac)}
.jt-stp b{font-size:clamp(44px,13.5vw,76px);line-height:1;font-variant-numeric:tabular-nums}
.jt-stp span{font:800 13px/1.2 var(--fb);letter-spacing:.1em;text-transform:uppercase}
.jt-stp em{font:600 12px/1.2 var(--fb);font-style:normal;color:#5d5d65}

/* ---------- chuyển động (chỉ khi không giảm chuyển động) ---------- */
@media(prefers-reduced-motion:reduce){.jt-seg,.jt-tp,.jt-pcd,.jt-ds .mo li{transition:none}}
@media(prefers-reduced-motion:no-preference){
  /* hero: vệt quét bản đồ, ghim bật khi máy bay tới, đập dấu bưu điện */
  .kx-js .jt-cover{display:block}
  .kx-js .is-play .jt-cover{animation:jtScan 1.8s cubic-bezier(.65,0,.25,1) .15s both}
  .kx-js .is-play .jt-scn{display:block;animation:jtScn 1.8s cubic-bezier(.65,0,.25,1) .15s both}
  .kx-js .jt-pin{transition:opacity .35s,transform .6s cubic-bezier(.34,1.56,.64,1)}
  .kx-js .jt-pin:not(.is-on){opacity:0;transform:scale(.3)}
  .jt-pin.is-on .jt-pr{transform-box:fill-box;transform-origin:center;animation:jtPing 2.6s ease-out infinite}
  .jt-map:not(.is-vis) .jt-pr{animation-play-state:paused}
  .kx-js .jt-pm:not(.is-on){opacity:0}
  .kx-js .jt-pm.is-on{animation:jtThump .6s cubic-bezier(.2,1.3,.4,1) both}
  .jt-ap.on::after{animation:jtRing 2s ease-out infinite}
  .jt-am:not(.is-vis) .jt-ap.on::after{animation-play-state:paused}
  /* rail: các tấm bưu thiếp được chia ra từ một chồng */
  .kx-js .jt-pcs:not(.is-in) .jt-pc{opacity:0;translate:calc(var(--k)*(-100% - 12px)) 0;rotate:calc(var(--rot)*3)}
  .kx-js .jt-pc{transition:opacity .6s calc(var(--k)*.14s),translate .95s cubic-bezier(.16,1,.3,1) calc(var(--k)*.14s),rotate .95s cubic-bezier(.16,1,.3,1) calc(var(--k)*.14s)}
  .jt-pc.is-enter{animation:jtDeal .55s cubic-bezier(.16,1,.3,1) both}
  /* theo mùa: các ô cam sáng lên lần lượt */
  .kx-js .jt-ss:not(.is-lit) .jt-ds .mo li.on{background:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--mut)}
  .kx-js .jt-ds .mo li{transition-delay:calc(var(--k,0)*45ms),0s,0s,0s}
}
@keyframes jtScan{to{transform:translateY(100%)}}
@keyframes jtScn{from{transform:translateY(0)}to{transform:translateY(420px)}}
@keyframes jtPing{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(3.6)}}
@keyframes jtThump{0%{opacity:0;scale:1.9}60%{opacity:.95;scale:.93}100%{opacity:.9;scale:1}}
@keyframes jtRing{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
@keyframes jtDeal{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}

/* ---------- iPad dọc (>=700) ---------- */
@media(min-width:700px){
  .jt-ds{display:grid;grid-template-columns:minmax(210px,.4fr) minmax(0,1fr);gap:8px 28px;align-items:center;padding:12px 0}
  .jt-ds-h{display:grid;gap:4px}
  .jt-ds .mo{margin-top:0}
  .jt-ds .mo li{aspect-ratio:auto;height:42px}
  .jt-sts{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 18px}
  .jt-blog.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jt-out{grid-template-columns:240px minmax(0,1fr);align-items:center;column-gap:26px}
  .jt-tips{grid-column:1/-1}
  .jt-rl-bar{grid-template-columns:1fr auto;align-items:center}
}
@media(max-width:699px){
  .jt-blog.grid3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gut)*-1);padding:6px var(--gut) 16px;scroll-padding-inline:var(--gut);scrollbar-width:none;overscroll-behavior-x:contain}
  .jt-blog.grid3::-webkit-scrollbar{display:none}
  .jt-blog.grid3>.card{flex:0 0 min(84%,340px);scroll-snap-align:start}
}
@media(min-width:820px){
  .jt-th{aspect-ratio:3/2}
  .jt-pcd-bd{padding:16px 8px 8px}
  .jt-hero{padding-top:clamp(112px,11vw,150px)}
  .jt-hg{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(32px,5vw,72px);align-items:center}
  .sk-jt .jt-title{font-size:clamp(60px,10.4vw,136px)}
  .jt-map{max-width:540px;width:100%;justify-self:end}
  .jt-at{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(28px,4vw,56px);align-items:center}
  .jt-at-ch{grid-column:1/-1}
  .jt-am{max-width:none}
  .jt-pcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}
  .jt-pcs>*{flex:none}
  .jt-pc .card-body{padding-right:50px}
  .jt-stp b{font-size:clamp(52px,6vw,84px)}
}
@media(min-width:1025px){
  .jt-trail{left:12px}
  .jt-pcd-bd{padding:18px 10px 10px}
  .jt-sts{gap:26px 26px}
}
@media(hover:hover) and (pointer:fine){
  .jt-map:hover .jt-frame{rotate:0deg}
  .jt-ap:hover i{transform:scale(1.35)}
  .jt-ly:hover{border-color:var(--ac)}
  .jt-pcs.is-in .jt-pc:hover{rotate:0deg;translate:0 -6px;box-shadow:0 34px 50px -22px rgba(0,0,0,.95);transition:rotate .5s cubic-bezier(.16,1,.3,1),translate .5s cubic-bezier(.16,1,.3,1),box-shadow .4s}
  .jt-stn:hover{rotate:0deg}
}
