.jb{--red: #E0120C;        
  --red-ink: #B30E09;
  --green: #144E33;      
  --green-2: #32B67A;    
  --green-wash: #E8F2EC;
  --amber: #FFAF46;      
  --ink: #232323;
  --charcoal: #4E4E4E;   
  --muted: #5E665F;
  --paper: #F4F6F2;
  --white: #FFFFFF;
  --line: #D9E0DA;
  --on-green: #F2F7F3;
  --on-green-muted: #B9D3C3;

  --display: "Merriweather", Georgia, "Times New Roman", serif;
  --body: "Lato", "Helvetica Neue", Arial, sans-serif;

  --step--1: 0.875rem;
  --step-0: 1.0625rem;
  --step-1: 1.25rem;
  --step-2: 1.6rem;
  --step-3: 2.1rem;
  --step-4: clamp(2.2rem, 4.4vw, 3.4rem);

  --wrap: 1200px;
  --radius: 12px;
  --shadow: 0 10px 30px -12px rgba(20, 40, 28, .28);
  color-scheme: light;}
.jb *{box-sizing: border-box;}
.jb [hidden]{display: none !important;}
.jb{scroll-behavior: smooth;}
.jb{margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--body);
  font-size: var(--step-0);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;}
.jb::before{content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--white);}
.jb ::selection{background: var(--green); color: var(--on-green);}
.jb img{max-width: 100%; display: block;}
.jb img[style*="aspect"], .jb .trip img, .jb .guide img, .jb .conserve img, .jb .hero-media img{height: auto;}
.jb .hero .wrap > *, .jb .answer > *, .jb .faq > *, .jb .article > *, .jb .enquire > *, .jb .conserve > *, .jb .trip-head > *, .jb .finder > *{min-width: 0;}
.jb a{color: var(--green); text-underline-offset: 3px;}
.jb a:hover{color: var(--red-ink);}
.jb :focus-visible{outline: 3px solid var(--amber); outline-offset: 2px; border-radius: 4px;}
.jb h1, .jb h2, .jb h3, .jb h4{font-family: var(--display); line-height: 1.2; text-wrap: balance; margin: 0; color: var(--ink); font-weight: 700; letter-spacing: -0.01em;}
.jb h1{font-size: var(--step-4); font-weight: 900;}
.jb h2{font-size: var(--step-3);}
.jb h3{font-size: var(--step-1);}
.jb p{margin: 0; max-width: 68ch;}
.jb .num{font-variant-numeric: tabular-nums;}
.jb .band{padding-block: clamp(56px, 7vw, 96px);}
.jb .band--paper{background: var(--paper);}
.jb .band--green{background: var(--green); color: var(--on-green);}
.jb .band--green h2, .jb .band--green h3{color: var(--white);}
.jb .wrap{max-width: calc(var(--wrap) + 64px);
  margin-inline: auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));}
@media (min-width: 720px){.jb .wrap{padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px));}}
.jb .stack{display: flex; flex-direction: column; gap: 16px;}
.jb .section-head{display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 40px; margin-bottom: 36px;}
.jb .section-head p{color: var(--muted);}
.jb .band--green .section-head p{color: var(--on-green-muted);}
.jb .btn{display: inline-flex; align-items: center; gap: 10px;
  font: 700 var(--step--1)/1 var(--body); letter-spacing: .04em; text-transform: uppercase;
  padding: 16px 24px; border-radius: 999px; border: 2px solid transparent;
  text-decoration: none; cursor: pointer; transition: background .2s, color .2s, transform .2s;}
.jb .btn svg{width: 18px; height: 18px;}
.jb .btn--red{background: var(--red); color: var(--white);}
.jb .btn--red:hover{background: var(--red-ink); color: var(--white); transform: translateY(-1px);}
.jb .btn--ghost{border-color: currentColor; color: var(--ink); background: transparent;}
.jb .btn--ghost:hover{background: var(--ink); color: var(--white);}
.jb .band--green .btn--ghost, .jb .hero .btn--ghost{color: var(--white);}
.jb .band--green .btn--ghost:hover, .jb .hero .btn--ghost:hover{background: var(--white); color: var(--green);}
.jb .btn--wa{background: #1F8F4E; color: var(--white);}
.jb .btn--wa:hover{background: #17733E; color: var(--white);}
.jb .topbar{background: var(--green); color: var(--on-green-muted); font-size: var(--step--1);}
.jb .topbar .wrap{display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: space-between; padding-block: 8px;}
.jb .topbar a{color: var(--white); text-decoration: none;}
.jb .topbar span{display: inline-flex; gap: 6px; align-items: center;}
.jb .header{position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: var(--white); border-bottom: 1px solid var(--line);}
.jb .header > .wrap{display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 10px;}
.jb .logo img{height: 58px; width: auto;}
.jb .nav{display: flex; gap: 4px; align-items: center;}
.jb .nav a{font-weight: 700; font-size: .95rem; color: var(--ink); text-decoration: none; padding: 10px 12px; border-radius: 8px;}
.jb .nav a:hover, .jb .nav a[aria-current="page"]{color: var(--red);}
.jb .nav .btn{margin-left: 8px; padding: 13px 20px;}
.jb .menu-btn{display: none; background: none; border: 1px solid var(--line); border-radius: 8px; padding: 10px; cursor: pointer;}
.jb .menu-btn svg{width: 22px; height: 22px;}
@media (max-width: 1020px){.jb .menu-btn{display: inline-flex;}
.jb .nav{display: none; position: absolute; inset: 100% 0 auto; background: var(--white); flex-direction: column; align-items: stretch; padding: 12px max(16px, env(safe-area-inset-left, 0px)) 20px; border-bottom: 1px solid var(--line); box-shadow: var(--shadow);}
.jb .nav.open{display: flex;}
.jb .nav .btn{margin: 8px 0 0; justify-content: center;}
.jb .logo img{height: 46px;}}
.jb .crumbs{font-size: var(--step--1); color: var(--muted); padding-block: 14px;}
.jb .crumbs ol{list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0;}
.jb .crumbs li + li::before{content: "/"; margin-right: 6px; color: var(--line);}
.jb .crumbs a{color: var(--muted);}
.jb .hero{background: var(--green); color: var(--on-green); position: relative; overflow: hidden;}
.jb .hero .wrap{display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: center; padding-block: clamp(40px, 6vw, 72px) clamp(84px, 7vw, 100px);}
.jb .hero h1{color: var(--white);}
.jb .hero h1 em{font-style: italic; font-weight: 400; color: var(--amber);}
.jb .hero .lede{font-size: var(--step-1); color: var(--on-green-muted);}
.jb .hero .lede strong{color: var(--white); font-weight: 700;}
.jb .hero-ctas{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px;}
.jb .hero-media{position: relative;}
.jb .hero-media img{border-radius: 16px; aspect-ratio: 4 / 3.1; object-fit: cover; width: 100%; box-shadow: 0 30px 60px -20px rgba(0,0,0,.55);}
.jb .hero-media figcaption{position: absolute; left: 16px; bottom: 16px; background: rgba(20, 78, 51, .92); color: var(--white); font-size: var(--step--1); padding: 8px 14px; border-radius: 999px; display: flex; gap: 8px; align-items: center;}
.jb .hero-media figcaption svg{width: 16px; height: 16px; color: var(--amber);}
.jb .proof{display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 18px; font-size: var(--step--1); color: var(--on-green-muted);}
.jb .proof b{color: var(--white); font-size: 1.05rem;}
@media (max-width: 880px){.jb .hero .wrap{grid-template-columns: 1fr;}
.jb .hero-media{order: -1;}}
.jb .nav-item{position: static;}
.jb .nav-link{font: 700 .95rem var(--body); color: var(--ink); background: none; border: 0; padding: 10px 12px; border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;}
.jb .nav-link::after{content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s;}
.jb .nav-link:hover, .jb .nav-link[aria-expanded="true"], .jb .nav-link[aria-current]{color: var(--red);}
.jb .nav-link[aria-expanded="true"]::after{transform: translateY(1px) rotate(-135deg);}
.jb .mega{position: absolute; left: 0; right: 0; top: 100%; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 28px 48px -24px rgba(20, 40, 28, .35); visibility: hidden; opacity: 0; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility 0s .18s;}
.jb .has-mega.open .mega{visibility: visible; opacity: 1; transform: none; transition: opacity .18s, transform .18s;}
@media (hover: hover) and (min-width: 1021px){.jb .has-mega:hover .mega{visibility: visible; opacity: 1; transform: none; transition: opacity .18s .08s, transform .18s .08s;}}
.jb .mega-grid{display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.05fr; gap: 32px; padding-block: 28px 32px;}
.jb .mega-col{display: flex; flex-direction: column; gap: 10px; min-width: 0;}
.jb .mega-head{font-family: var(--display); font-weight: 700; font-size: 1.05rem; color: var(--ink); text-decoration: none; padding-bottom: 10px; border-bottom: 2px solid var(--line);}
.jb .mega-col--zim .mega-head{border-bottom-color: var(--red);}
.jb .mega-head:hover{color: var(--red);}
.jb .mega ul{list-style: none; margin: 0; padding: 0; display: grid; gap: 2px 18px;}
.jb .mega-col--zim ul{grid-template-columns: 1fr 1fr;}
.jb .mega ul a{display: block; padding: 6px 0; color: var(--charcoal); text-decoration: none; font-size: .95rem;}
.jb .mega ul a:hover{color: var(--red);}
.jb .mega-card{display: flex; flex-direction: column; gap: 6px; background: var(--green); color: var(--on-green-muted); border-radius: var(--radius); padding: 14px; text-decoration: none; font-size: .9rem;}
.jb .mega-card img{width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 8px; margin-bottom: 6px;}
.jb .mega-card b{color: var(--white); font-family: var(--display); font-size: 1rem;}
.jb .mega-card .mega-cta{color: var(--amber); font-weight: 700; margin-top: 4px;}
.jb .mega-card:hover{color: var(--on-green-muted);}
.jb .mega-card:hover .mega-cta{text-decoration: underline;}
@media (max-width: 1020px){.jb .nav-item{width: 100%;}
.jb .nav-link{width: 100%; justify-content: space-between;}
.jb .mega{position: static; box-shadow: none; border: 0; visibility: visible; opacity: 1; transform: none; display: none;}
.jb .has-mega.open .mega{display: block;}
.jb .mega .wrap{padding-left: 12px; padding-right: 0;}
.jb .mega-grid{grid-template-columns: 1fr; gap: 18px; padding-block: 6px 14px;}
.jb .mega-card{display: none;}
.jb .nav{max-height: calc(100vh - 90px); overflow: auto;}}
.jb .nav .mega a{padding: 0; border-radius: 0; font-weight: 400; font-size: .95rem; color: var(--charcoal);}
.jb .nav .mega a:hover{color: var(--red);}
.jb .nav .mega .mega-head{font-family: var(--display); font-weight: 700; font-size: 1.05rem; color: var(--ink); padding: 0 0 10px;}
.jb .nav .mega ul a{padding: 6px 0;}
.jb .nav .mega .mega-card{padding: 14px; border-radius: var(--radius); color: var(--on-green-muted); font-size: .9rem;}
.jb .nav .mega .mega-card b{color: var(--white);}
.jb .nav .mega .mega-card .mega-cta{color: var(--amber); font-weight: 700;}
.jb .hslider{position: relative; height: clamp(600px, 86vh, 820px); overflow: hidden; background: #0E2318; color: var(--white); isolation: isolate;}
.jb .hs-slide{position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 0s 1s;}
.jb .hs-slide.is-active{opacity: 1; visibility: visible; transition: opacity 1s ease; z-index: 1;}
.jb .hs-bg{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 8s cubic-bezier(.2, .6, .2, 1);}
.jb .hs-slide.is-active .hs-bg{transform: scale(1);}
.jb .hs-slide::after{content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 24, 16, .82) 0%, rgba(8, 24, 16, .55) 38%, rgba(8, 24, 16, .12) 72%), linear-gradient(0deg, rgba(8, 24, 16, .75) 0%, rgba(8, 24, 16, 0) 32%);}
.jb .hs-content{position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 18px; padding-block: 40px 170px;}
.jb .hs-title{color: var(--white); display: flex; flex-direction: column; gap: 6px; max-width: 15ch;}
.jb .hs-name{font-family: var(--display); font-weight: 900; font-size: clamp(3rem, 8vw, 6rem); line-height: 1; letter-spacing: -0.02em;}
.jb .hs-sub{font-family: var(--display); font-style: italic; font-weight: 400; font-size: clamp(1.25rem, 2.4vw, 1.9rem); line-height: 1.25; color: var(--amber); max-width: 24ch;}
.jb .hs-lede{font-size: var(--step-1); color: #DCE8DF; max-width: 46ch;}
.jb .hs-lede strong{color: var(--white);}
.jb .hs-places{display: flex; flex-wrap: wrap; gap: 8px;}
.jb .hs-places span{font-size: .85rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); backdrop-filter: blur(6px);}
.jb .hs-ctas{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px;}
.jb .hs-ctas .btn--ghost{color: var(--white);}
.jb .hs-ctas .btn--ghost:hover{background: var(--white); color: var(--green);}
.jb .hs-anim .hs-content > *{animation: hsRise .8s cubic-bezier(.16, 1, .3, 1) both;}
.jb .hs-anim .hs-content > *:nth-child(2){animation-delay: .08s;}
.jb .hs-anim .hs-content > *:nth-child(3){animation-delay: .16s;}
.jb .hs-anim .hs-content > *:nth-child(4){animation-delay: .24s;}
@keyframes hsRise{ from { opacity: 0; transform: translateY(18px); } }
.jb .hs-stamp{position: absolute; z-index: 3; right: max(32px, calc((100vw - 1200px) / 2)); bottom: 150px; width: 150px; margin: 0; padding: 9px; transform: rotate(5deg); background: radial-gradient(circle, transparent 4px, #FBF8F1 4.6px) -7px -7px / 14px 14px; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .35));}
.jb .hs-stamp > div{background: #FBF8F1; padding: 8px 8px 10px; display: flex; flex-direction: column; gap: 6px;}
.jb .hs-stamp img{width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover;}
.jb .hs-stamp b{font-family: var(--display); font-size: .82rem; letter-spacing: .1em; color: var(--red); text-transform: uppercase; line-height: 1.2;}
.jb .hs-stamp span{font-size: .72rem; color: var(--charcoal); line-height: 1.3;}
.jb .hs-arrow{position: absolute; z-index: 4; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .55); background: rgba(8, 24, 16, .35); color: var(--white); cursor: pointer; display: grid; place-items: center; backdrop-filter: blur(6px); transition: background .2s;}
.jb .hs-arrow:hover{background: var(--red); border-color: var(--red);}
.jb .hs-arrow svg{width: 22px; height: 22px;}
.jb .hs-prev{left: max(16px, env(safe-area-inset-left, 0px));}
.jb .hs-prev svg{transform: rotate(180deg);}
.jb .hs-next{right: max(16px, env(safe-area-inset-right, 0px));}
.jb .hs-tabs{position: absolute; z-index: 4; left: 0; right: 0; bottom: 92px;}
.jb .hs-tabs .wrap{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px;}
.jb .hs-tab{background: none; border: 0; padding: 12px 0 0; text-align: left; color: rgba(255, 255, 255, .7); font: 700 .9rem var(--body); cursor: pointer; position: relative; display: flex; flex-direction: column; gap: 2px;}
.jb .hs-tab small{font-weight: 400; font-size: .78rem; color: rgba(255, 255, 255, .6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.jb .hs-tab::before{content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .28);}
.jb .hs-tab i{position: absolute; left: 0; top: 0; height: 3px; width: 0; border-radius: 3px; background: var(--amber);}
.jb .hs-tab[aria-selected="true"]{color: var(--white);}
.jb .hs-tab[aria-selected="true"] i{width: 100%;}
.jb .hslider.playing .hs-tab[aria-selected="true"] i{animation: hsFill var(--hs-dur, 7s) linear both;}
@keyframes hsFill{ from { width: 0; } to { width: 100%; } }
.jb .hs-tab:hover{color: var(--white);}
.jb .hs-pause{position: absolute; z-index: 4; right: max(16px, env(safe-area-inset-right, 0px)); bottom: 96px; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .45); background: rgba(8, 24, 16, .35); color: var(--white); cursor: pointer; display: grid; place-items: center;}
.jb .hs-pause svg{width: 14px; height: 14px;}
@media (max-width: 900px){.jb .hslider{height: 740px;}
.jb .hs-slide{position: absolute;}
.jb .hs-slide::after{background: linear-gradient(0deg, rgba(8, 24, 16, .9) 0%, rgba(8, 24, 16, .55) 55%, rgba(8, 24, 16, .25) 100%);}
.jb .hs-content{justify-content: flex-end; padding-block: 120px 200px;}
.jb .hs-stamp{display: none;}
.jb .hs-arrow{top: auto; bottom: 150px; transform: none; width: 44px; height: 44px;}
.jb .hs-prev{left: auto; right: calc(max(16px, env(safe-area-inset-right, 0px)) + 54px);}
.jb .hs-tabs .wrap{grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px;}
.jb .hs-tab{font-size: 0; padding-top: 10px;}
.jb .hs-tab small{display: none;}
.jb .hs-pause{display: none;}}
@media (prefers-reduced-motion: reduce){.jb .hs-bg, .jb .hs-slide.is-active .hs-bg{transform: none; transition: none;}}
.jb .finder-wrap{margin-top: -64px; position: relative; z-index: 5;}
.jb .finder{background: var(--white); border-radius: 16px; box-shadow: var(--shadow); padding: 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 12px; align-items: end; border: 1px solid var(--line);}
.jb .finder > label{display: flex; flex-direction: column; gap: 6px; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted);}
.jb .finder select{font: 400 1rem var(--body); padding: 13px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); width: 100%;}
.jb .finder .btn{height: 50px; justify-content: center;}
@media (max-width: 900px){.jb .finder{grid-template-columns: repeat(2, minmax(0, 1fr));}
.jb .finder .btn{grid-column: 1 / -1;}}
@media (max-width: 480px){.jb .finder{grid-template-columns: 1fr;}}
.jb .answer{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: clamp(24px, 4vw, 64px); align-items: start;}
.jb .answer .summary{font-size: var(--step-1); line-height: 1.6; color: var(--charcoal);}
.jb .answer .summary strong{color: var(--ink);}
@media (max-width: 820px){.jb .answer{grid-template-columns: 1fr;}}
.jb .facts{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); margin-top: 8px;}
.jb .facts div{padding: 16px 16px 16px 0; border-bottom: 1px solid var(--line);}
.jb .facts dt{font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700;}
.jb .facts dd{margin: 4px 0 0; font-family: var(--display); font-size: 1.15rem; font-weight: 700;}
@media (max-width: 560px){.jb .facts{grid-template-columns: 1fr 1fr;}}
.jb .atlas{display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px;}
.jb .dest{position: relative; border-radius: var(--radius); overflow: hidden; min-height: 280px; display: flex; align-items: flex-end; color: var(--white); text-decoration: none; background: var(--green);}
.jb .dest img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16,1,.3,1);}
.jb .dest::after{content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,30,20,0) 30%, rgba(10,30,20,.86) 100%);}
.jb .dest:hover img{transform: scale(1.04);}
.jb .dest:hover{color: var(--white);}
.jb .dest .meta{position: relative; z-index: 2; padding: 22px; display: flex; flex-direction: column; gap: 6px; width: 100%;}
.jb .dest h3{color: var(--white); font-size: var(--step-2);}
.jb .dest .tags{display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .85rem; color: #E3EEE7;}
.jb .dest .tags span{display: inline-flex; gap: 6px; align-items: center;}
.jb .dest .tags svg{width: 15px; height: 15px; color: var(--amber);}
.jb .dest--xl{grid-column: span 7; min-height: 420px;}
.jb .dest--l{grid-column: span 5; min-height: 420px;}
.jb .dest--m{grid-column: span 4;}
.jb .dest-list{grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 0 24px; border-top: 1px solid var(--line); margin-top: 8px;}
.jb .dest-list a{display: flex; flex-direction: column; gap: 2px; padding: 14px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); font-weight: 700;}
.jb .dest-list a span{color: var(--muted); font-weight: 400; font-size: .88rem;}
.jb .dest-list a:hover{color: var(--red);}
@media (max-width: 900px){.jb .dest--xl, .jb .dest--l{grid-column: span 12; min-height: 320px;}
.jb .dest--m{grid-column: span 6;}}
@media (max-width: 560px){.jb .dest--m{grid-column: span 12;}}
.jb .trips{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;}
@media (max-width: 960px){.jb .trips{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 600px){.jb .trips{grid-template-columns: 1fr;}}
.jb .trip{background: var(--white); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 4px rgba(20,40,28,.06), 0 12px 24px -16px rgba(20,40,28,.25);}
.jb .trip img{aspect-ratio: 16 / 10; object-fit: cover; width: 100%;}
.jb .trip .body{padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1;}
.jb .trip .route{font-size: .85rem; color: var(--muted); display: flex; gap: 6px; align-items: center;}
.jb .trip .route svg{width: 15px; height: 15px; color: var(--red); flex: none;}
.jb .trip h3 a{color: var(--ink); text-decoration: none;}
.jb .trip h3 a:hover{color: var(--red);}
.jb .trip .foot{margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: end; gap: 12px;}
.jb .trip .price{font-size: .8rem; color: var(--muted); line-height: 1.3;}
.jb .trip .price b{display: block; font-family: var(--display); font-size: 1.45rem; color: var(--ink);}
.jb .trip .days{font-weight: 700; font-size: .9rem; display: inline-flex; gap: 6px; align-items: center; color: var(--green);}
.jb .trip .days svg{width: 16px; height: 16px;}
.jb .badge{position: absolute; top: 14px; left: 14px; background: var(--amber); color: var(--ink); font-size: .75rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; padding: 6px 10px; border-radius: 6px;}
.jb .trip .media{position: relative;}
.jb .styles{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid rgba(255,255,255,.18);}
.jb .styles a{padding: 28px 24px 28px 0; border-bottom: 1px solid rgba(255,255,255,.18); text-decoration: none; color: var(--on-green); display: flex; flex-direction: column; gap: 10px;}
.jb .styles a + a{padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18);}
.jb .styles h3{display: flex; justify-content: space-between; gap: 8px; align-items: baseline;}
.jb .styles h3 svg{width: 20px; height: 20px; color: var(--amber); transition: transform .25s; flex: none;}
.jb .styles a:hover h3 svg{transform: translateX(4px);}
.jb .styles p{color: var(--on-green-muted); font-size: .95rem;}
@media (max-width: 900px){.jb .styles{grid-template-columns: 1fr 1fr;}
.jb .styles a:nth-child(3){padding-left: 0; border-left: 0;}}
@media (max-width: 520px){.jb .styles{grid-template-columns: 1fr;}
.jb .styles a + a{padding-left: 0; border-left: 0;}}
.jb .faq{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(24px, 5vw, 80px);}
@media (max-width: 860px){.jb .faq{grid-template-columns: 1fr;}}
.jb details{border-bottom: 1px solid var(--line);}
.jb details:first-of-type{border-top: 1px solid var(--line);}
.jb summary{list-style: none; cursor: pointer; padding: 20px 40px 20px 0; position: relative; font-family: var(--display); font-weight: 700; font-size: 1.1rem;}
.jb summary::-webkit-details-marker{display: none;}
.jb summary::after{content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; border-right: 2px solid var(--red); border-bottom: 2px solid var(--red); transform: translateY(-70%) rotate(45deg); transition: transform .25s;}
.jb details[open] summary::after{transform: translateY(-30%) rotate(-135deg);}
.jb details .a{padding: 0 0 22px; color: var(--charcoal); display: flex; flex-direction: column; gap: 10px;}
.jb .guides{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;}
@media (max-width: 860px){.jb .guides{grid-template-columns: 1fr;}}
.jb .guide{display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--ink);}
.jb .guide img{border-radius: var(--radius); aspect-ratio: 3 / 2; object-fit: cover; width: 100%;}
.jb .guide .kind{font-size: .8rem; font-weight: 700; color: var(--red); text-transform: uppercase; letter-spacing: .08em;}
.jb .guide:hover h3{color: var(--red);}
.jb .guide p{color: var(--muted); font-size: .95rem;}
.jb .conserve{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center;}
.jb .conserve img{border-radius: 16px; width: 100%; aspect-ratio: 16/10; object-fit: cover;}
.jb .partners{list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px;}
.jb .partners li{padding: 12px 0; border-bottom: 1px solid var(--line); font-weight: 700; font-size: .95rem;}
@media (max-width: 820px){.jb .conserve{grid-template-columns: 1fr;}}
.jb .reviews{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;}
.jb .review-slot{border: 2px dashed var(--line); border-radius: var(--radius); padding: 24px; color: var(--muted); display: flex; flex-direction: column; gap: 8px;}
.jb .review-slot b{color: var(--ink); font-family: var(--display);}
@media (max-width: 860px){.jb .reviews{grid-template-columns: 1fr;}}
.jb .enquire{display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 72px);}
@media (max-width: 880px){.jb .enquire{grid-template-columns: 1fr;}}
.jb .contact-lines{list-style: none; padding: 0; margin: 12px 0 0; display: flex; flex-direction: column; gap: 14px;}
.jb .contact-lines li{display: flex; gap: 12px; align-items: center;}
.jb .contact-lines svg{width: 20px; height: 20px; color: var(--amber); flex: none;}
.jb .contact-lines a{color: var(--white); font-weight: 700; text-decoration: none;}
.jb form.card{background: var(--white); color: var(--ink); border-radius: 16px; padding: clamp(20px, 3vw, 32px); display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.jb form.card .full{grid-column: 1 / -1;}
.jb form.card label{display: flex; flex-direction: column; gap: 6px; font-size: .85rem; font-weight: 700;}
.jb form.card input, .jb form.card select, .jb form.card textarea{font: 400 1rem var(--body); padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); width: 100%;}
.jb form.card textarea{min-height: 96px; resize: vertical;}
.jb form.card .btn{justify-content: center;}
.jb form.card .note{font-size: .82rem; color: var(--muted);}
.jb .form-done{grid-column: 1 / -1; background: var(--green-wash); color: var(--green); padding: 14px; border-radius: 10px; font-weight: 700;}
@media (max-width: 520px){.jb form.card{grid-template-columns: 1fr;}}
.jb .footer{background: #10291D; color: var(--on-green-muted); font-size: .95rem; padding-block: 64px 32px;}
.jb .footer .cols{display: grid; grid-template-columns: 1.2fr repeat(5, minmax(0, 1fr)); gap: 28px;}
@media (max-width: 1100px){.jb .footer .cols{grid-template-columns: repeat(3, minmax(0, 1fr));}}
.jb .footer h4, .jb .footer .fh{color: var(--white); font-family: var(--body); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px;}
.jb .footer ul{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px;}
.jb .footer a{color: var(--on-green); text-decoration: none;}
.jb .footer a:hover{color: var(--amber);}
.jb .footer .logo-box{background: var(--white); display: inline-block; padding: 12px 16px; border-radius: 10px;}
.jb .footer .logo-box img{height: 56px;}
.jb .footer .legal{margin-top: 48px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .85rem;}
@media (max-width: 860px){.jb .footer .cols{grid-template-columns: 1fr 1fr;}}
@media (max-width: 520px){.jb .footer .cols{grid-template-columns: 1fr;}}
.jb .page-hero{position: relative; color: var(--white); background: var(--green); overflow: hidden;}
.jb .page-hero img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .5;}
.jb .page-hero .wrap{position: relative; padding-block: clamp(56px, 8vw, 110px) clamp(40px, 5vw, 64px); display: flex; flex-direction: column; gap: 16px;}
.jb .page-hero h1{color: var(--white); max-width: 22ch; text-shadow: 0 2px 20px rgba(0,0,0,.35);}
.jb .page-hero .byline{display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: var(--step--1); color: #E3EEE7;}
.jb .page-hero .byline span{display: inline-flex; gap: 6px; align-items: center;}
.jb .page-hero .byline svg{width: 15px; height: 15px; color: var(--amber);}
.jb .article{display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(32px, 5vw, 72px); align-items: start;}
@media (max-width: 960px){.jb .article{grid-template-columns: 1fr;}}
.jb .prose{display: flex; flex-direction: column; gap: 20px;}
.jb .prose h2{margin-top: 28px; font-size: var(--step-2);}
.jb .prose h3{margin-top: 8px;}
.jb .prose ul, .jb .prose ol{margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 8px; max-width: 68ch;}
.jb .quick{background: var(--green-wash); border-radius: 14px; padding: 24px 26px; display: flex; flex-direction: column; gap: 10px;}
.jb .quick h2{margin: 0; font-size: 1rem; font-family: var(--body); text-transform: uppercase; letter-spacing: .08em; color: var(--green);}
.jb .quick p{font-size: 1.12rem; color: var(--ink);}
.jb .table-scroll{overflow-x: auto; border: 1px solid var(--line); border-radius: 12px;}
.jb table{border-collapse: collapse; width: 100%; min-width: 620px; font-size: .95rem; font-variant-numeric: tabular-nums;}
.jb th, .jb td{text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top;}
.jb thead th{background: var(--paper); font-size: .78rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted);}
.jb tbody tr:last-child td{border-bottom: 0;}
.jb .flow{display: inline-flex; align-items: center; gap: 8px; font-weight: 700; white-space: nowrap;}
.jb .flow i{display: inline-block; height: 8px; border-radius: 4px; background: var(--green-2);}
.jb .flow--peak i{background: var(--green);}
.jb .flow--low i{background: var(--amber);}
.jb .aside{position: sticky; top: 100px; display: flex; flex-direction: column; gap: 20px;}
.jb .aside .box{border: 1px solid var(--line); border-radius: 14px; padding: 22px; display: flex; flex-direction: column; gap: 12px;}
.jb .aside .box h3{font-size: 1.05rem;}
.jb .aside .box--green{background: var(--green); color: var(--on-green); border: 0;}
.jb .aside .box--green h3{color: var(--white);}
.jb .toc{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: .95rem;}
.jb .toc a{color: var(--charcoal); text-decoration: none;}
.jb .toc a:hover{color: var(--red);}
.jb .author{display: flex; gap: 16px; align-items: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 20px;}
.jb .author .avatar{width: 56px; height: 56px; border-radius: 50%; background: var(--green); color: var(--white); display: grid; place-items: center; font-family: var(--display); font-weight: 900; flex: none;}
.jb .author p{font-size: .92rem; color: var(--muted);}
.jb .author b{color: var(--ink);}
.jb .trip-head{display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(24px, 4vw, 56px); align-items: start;}
@media (max-width: 960px){.jb .trip-head{grid-template-columns: 1fr;}}
.jb .gallery{display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: clamp(280px, 40vw, 460px);}
.jb .gallery img{width: 100%; height: 100%; object-fit: cover; border-radius: 10px;}
.jb .gallery img:first-child{grid-row: 1 / 3;}
.jb .book{position: sticky; top: 100px; border: 1px solid var(--line); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--shadow); background: var(--white);}
.jb .book .from{font-size: .85rem; color: var(--muted);}
.jb .book .from b{display: block; font-family: var(--display); font-size: 2.1rem; color: var(--ink); line-height: 1.1;}
.jb .book dl{margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; font-size: .95rem;}
.jb .book dt{color: var(--muted);}
.jb .book dd{margin: 0; font-weight: 700;}
.jb .book .btn{justify-content: center;}
.jb .days-list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;}
.jb .days-list li{display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line);}
.jb .days-list .d{font-family: var(--display); font-weight: 900; color: var(--red); font-size: .95rem; padding-top: 2px;}
.jb .days-list h3{font-size: 1.1rem; margin-bottom: 6px;}
.jb .days-list p{color: var(--charcoal); font-size: .98rem;}
.jb .days-list .stay{margin-top: 8px; font-size: .88rem; color: var(--muted); display: flex; gap: 6px; align-items: center;}
.jb .days-list .stay svg{width: 15px; height: 15px; color: var(--green-2);}
.jb .incl{display: grid; grid-template-columns: 1fr 1fr; gap: 24px;}
.jb .incl ul{list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px;}
.jb .incl li{display: flex; gap: 10px;}
.jb .incl li svg{width: 18px; height: 18px; flex: none; margin-top: 4px;}
.jb .incl .yes svg{color: var(--green-2);}
.jb .incl .no svg{color: var(--red);}
@media (max-width: 600px){.jb .incl{grid-template-columns: 1fr;}}
.jb .region{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(28px, 4vw, 64px); align-items: start;}
.jb .region > *{min-width: 0;}
@media (max-width: 900px){.jb .region{grid-template-columns: 1fr;}}
.jb .region-media{position: relative;}
.jb .region-media img{width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px;}
.jb .region-media figcaption{position: absolute; left: 14px; bottom: 14px; background: rgba(16, 41, 29, .9); color: var(--white); font-size: .85rem; padding: 7px 12px; border-radius: 999px;}
.jb .countries{list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18);}
.jb .countries li{border-bottom: 1px solid rgba(255,255,255,.18);}
.jb .countries a{display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 16px 0; color: var(--on-green); text-decoration: none;}
.jb .countries a b{font-family: var(--display); font-size: 1.15rem; color: var(--white);}
.jb .countries a span{color: var(--on-green-muted); font-size: .92rem; grid-column: 1;}
.jb .countries a em{font-style: normal; font-size: .82rem; font-weight: 700; color: var(--amber); grid-column: 2; grid-row: 1 / 3; align-self: center; text-align: right; white-space: nowrap;}
.jb .countries a:hover b{color: var(--amber);}
.jb .band--paper .countries, .jb .band:not(.band--green) .countries{border-top-color: var(--line);}
.jb .band:not(.band--green) .countries li{border-bottom-color: var(--line);}
.jb .band:not(.band--green) .countries a{color: var(--ink);}
.jb .band:not(.band--green) .countries a b{color: var(--ink);}
.jb .band:not(.band--green) .countries a span{color: var(--muted);}
.jb .band:not(.band--green) .countries a em{color: var(--green);}
.jb .band:not(.band--green) .countries a:hover b{color: var(--red);}
.jb .mini-trips{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px;}
@media (max-width: 560px){.jb .mini-trips{grid-template-columns: 1fr;}}
.jb .mini-trip{background: var(--white); color: var(--ink); border-radius: var(--radius); padding: 18px; display: flex; flex-direction: column; gap: 8px; text-decoration: none;}
.jb .mini-trip:hover{color: var(--ink); box-shadow: var(--shadow);}
.jb .mini-trip small{color: var(--muted); font-size: .82rem;}
.jb .mini-trip b{font-family: var(--display); font-size: 1.02rem; line-height: 1.3;}
.jb .mini-trip .p{margin-top: auto; font-weight: 700; color: var(--green);}
.jb .sa-grid{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 1000px){.jb .sa-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (max-width: 640px){.jb .sa-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 420px){.jb .sa-grid{grid-template-columns: 1fr;}}
.jb .sa{display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--ink);}
.jb .sa .ph{aspect-ratio: 4 / 5; border-radius: var(--radius); overflow: hidden; background: var(--green);}
.jb .sa .ph img{width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16,1,.3,1);}
.jb .sa:hover .ph img{transform: scale(1.04);}
.jb .sa h3{font-size: 1.15rem;}
.jb .sa:hover h3{color: var(--red);}
.jb .sa p{color: var(--muted); font-size: .9rem;}
.jb .tier{display: inline-flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted);}
.jb .ms{position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0;}
.jb .ms > .ms-label{font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted);}
.jb .ms-btn{font: 400 1rem var(--body); padding: 13px 40px 13px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); width: 100%; text-align: left; cursor: pointer; position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.jb .ms-btn::after{content: ""; position: absolute; right: 14px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--charcoal); border-bottom: 2px solid var(--charcoal); transform: translateY(-70%) rotate(45deg);}
.jb .ms-btn[aria-expanded="true"]{border-color: var(--green);}
.jb .ms-panel{position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; width: min(640px, calc(100vw - 32px)); background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 24px 48px -16px rgba(20, 40, 28, .35); padding: 18px; display: flex; flex-direction: column; gap: 14px;}
.jb .ms-body{display: flex; flex-direction: column; gap: 14px; max-height: min(420px, 60vh); overflow: auto;}
.jb .ms-group{border: 0; margin: 0; padding: 0;}
.jb .ms-group legend{font-family: var(--display); font-weight: 700; font-size: 1rem; margin-bottom: 8px; padding: 0;}
.jb .ms-opts, .jb .opts{display: flex; flex-wrap: wrap; gap: 8px;}
.jb .ms-opts label, .jb .opts label{cursor: pointer; position: relative;}
.jb .ms-opts input, .jb .opts input{position: absolute; opacity: 0; pointer-events: none;}
.jb .ms-opts span, .jb .opts span{display: inline-flex; align-items: center; gap: .45em; padding: .55em .9em; border-radius: 999px; border: 1.5px solid var(--line); background: var(--white); font-weight: 700; font-size: .9rem; color: var(--ink); transition: border-color .15s, background .15s;}
.jb .ms-opts small{font-weight: 400; color: var(--muted); font-size: .78rem;}
.jb .ms-opts input:checked + span, .jb .opts input:checked + span{border-color: var(--green); background: var(--green-wash); color: var(--green); box-shadow: inset 0 0 0 1px var(--green);}
.jb .ms-opts input:focus-visible + span, .jb .opts input:focus-visible + span{outline: 3px solid var(--amber); outline-offset: 2px;}
.jb .ms-foot{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid var(--line); padding-top: 14px;}
.jb .ms-foot .link{background: none; border: 0; padding: 0; font: 700 .9rem var(--body); color: var(--muted); cursor: pointer; text-decoration: underline; text-underline-offset: 3px;}
.jb .ms-foot .btn{padding: 12px 18px;}
@media (max-width: 900px){.jb .ms-panel{position: fixed; left: max(16px, env(safe-area-inset-left, 0px)); right: max(16px, env(safe-area-inset-right, 0px)); top: auto; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: auto;}}
.jb .rmap{display: block; width: 100%; height: auto; border-radius: 12px;}
.jb .rmap .sea{fill: #E4EEF0;}
.jb .rmap .ctx{fill: #F1F3EE; stroke: #D6DDD6;}
.jb .rmap .land{fill: #F7F8F4; stroke: #A9B8AD; stroke-linejoin: round;}
.jb .rmap .land.zw{fill: #EEF5F0;}
.jb .rmap .land.on{fill: #D5E9DC;}
.jb .rmap .lake{fill: #BFD6DC;}
.jb .rmap .clabel{font-family: var(--display); font-weight: 700; fill: rgba(20, 78, 51, .38); text-anchor: middle;}
.jb .rmap .pdot{fill: var(--green); opacity: .45;}
.jb .rmap .route{fill: none; stroke: var(--red); stroke-linecap: round;}
.jb .rmap .stop{fill: var(--red); stroke: var(--white);}
.jb .rmap .stopnum{font-family: var(--body); font-weight: 900; fill: var(--white); text-anchor: middle; dominant-baseline: central;}
.jb .rmap .plabel{font-family: var(--body); font-weight: 700; fill: var(--ink); paint-order: stroke; stroke: var(--white); stroke-linejoin: round;}
.jb .multi{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center;}
.jb .multi > *{min-width: 0;}
@media (max-width: 900px){.jb .multi{grid-template-columns: 1fr;}}
.jb .multi-map{background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 10px;}
.jb .switch{display: flex; flex-wrap: wrap; gap: 8px;}
.jb .switch button{font: 700 .88rem var(--body); padding: 9px 14px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--white); color: var(--ink); cursor: pointer;}
.jb .switch button[aria-pressed="true"]{background: var(--green); border-color: var(--green); color: var(--white);}
.jb .steps-mini{list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: s;}
.jb .steps-mini li{display: flex; gap: 12px; align-items: baseline; color: var(--charcoal);}
.jb .steps-mini li::before{counter-increment: s; content: counter(s); flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--red); color: var(--white); font-weight: 900; font-size: .8rem; display: inline-grid; place-items: center; transform: translateY(-2px);}
.jb .planner{display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: clamp(24px, 3vw, 40px); align-items: start;}
.jb .planner > *{min-width: 0;}
@media (max-width: 1000px){.jb .planner{grid-template-columns: 1fr;}}
.jb .pcard{background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: clamp(20px, 3vw, 32px); box-shadow: 0 2px 4px rgba(20,40,28,.04), 0 18px 36px -24px rgba(20,40,28,.3);}
.jb .progress{display: flex; gap: 8px; margin-bottom: 20px;}
.jb .progress span{flex: 1; height: 6px; border-radius: 6px; background: var(--line);}
.jb .progress span.on{background: var(--green);}
.jb .step-label{font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px;}
.jb .pstep{display: none; border: 0; padding: 0; margin: 0; min-width: 0;}
.jb .pstep.active{display: flex; flex-direction: column; gap: 18px;}
.jb .pstep legend{padding: 0; margin-bottom: 4px;}
.jb .pstep legend h2{font-size: var(--step-2);}
.jb .region-pick{display: flex; flex-direction: column; gap: 10px; padding-block: 14px; border-top: 1px solid var(--line);}
.jb .rp-name{font-family: var(--display); font-weight: 700; font-size: 1.1rem;}
.jb .rp-country{display: flex; flex-direction: column; gap: 6px;}
.jb .rp-c{font-size: .82rem; font-weight: 700; color: var(--muted);}
.jb .opts .n[hidden]{display: none;}
.jb .opts .n{display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--red); color: var(--white); font-size: .72rem; font-style: normal; font-weight: 900;}
.jb .field{display: flex; flex-direction: column; gap: 6px;}
.jb .field > label, .jb .flabel{font-size: .88rem; font-weight: 700;}
.jb .field input:not([type=checkbox]):not([type=radio]), .jb .field select, .jb .field textarea{font: 400 1rem var(--body); padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); width: 100%;}
.jb .field textarea{min-height: 96px; resize: vertical;}
.jb .check{display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .95rem;}
.jb .check input{margin-top: 5px; accent-color: var(--green);}
.jb .grid2{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;}
@media (max-width: 560px){.jb .grid2{grid-template-columns: 1fr;}}
.jb .counter{display: flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); overflow: hidden;}
.jb .counter button{width: 48px; height: 48px; border: 0; background: var(--green-wash); font-size: 1.3rem; cursor: pointer; color: var(--green); flex: none;}
.jb .counter input{border: 0 !important; text-align: center; font-weight: 900; background: transparent !important; min-width: 0;}
.jb .pnav{display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 6px;}
.jb .step-msg{background: #FDECEB; color: #8A1410; border-radius: 10px; padding: 10px 14px; font-weight: 700; font-size: .92rem;}
.jb .route-hint{background: var(--green-wash); color: var(--green); border-radius: 10px; padding: 10px 14px; font-size: .92rem;}
.jb .psum{display: flex; flex-direction: column; gap: 12px;}
.jb .psum dl{margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 14px; font-size: .92rem;}
.jb .psum dt{color: var(--muted); font-weight: 700;}
.jb .psum dd{margin: 0; font-weight: 700; overflow-wrap: anywhere;}
.jb .done{text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px;}
.jb .done svg{width: 64px; height: 64px; color: var(--green-2);}
.jb .wa-float{position: fixed; right: calc(18px + env(safe-area-inset-right, 0px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 40; background: #1F8F4E; color: var(--white); border-radius: 999px; padding: 14px 18px; display: flex; gap: 8px; align-items: center; font-weight: 700; text-decoration: none; box-shadow: 0 10px 24px -8px rgba(0,0,0,.4);}
.jb .wa-float:hover{color: var(--white); background: #17733E;}
.jb .wa-float svg{width: 22px; height: 22px;}
@media (max-width: 520px){.jb .wa-float span{display: none;}}
.jb .seo-toggle{position: fixed; left: calc(18px + env(safe-area-inset-left, 0px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 40; background: var(--ink); color: var(--white); border: 0; border-radius: 999px; padding: 12px 18px; font: 700 .85rem var(--body); cursor: pointer; box-shadow: 0 10px 24px -8px rgba(0,0,0,.4); display: flex; gap: 8px; align-items: center;}
.jb .seo-toggle .dot{width: 9px; height: 9px; border-radius: 50%; background: var(--amber);}
.jb .seo-note{display: none; background: #FFF6E5; color: #5A3B00; border: 1px solid #F3C979; border-radius: 10px; padding: 12px 14px; font: 400 .85rem/1.5 var(--body); margin-block: 12px; max-width: 760px;}
.jb .seo-note b{color: #3D2800;}
.jb .seo-note code{background: rgba(0,0,0,.06); padding: 1px 5px; border-radius: 4px; font-size: .8rem; word-break: break-all;}
.jb.show-seo .seo-note{display: block;}
.jb{--green: #2E3330;          
  --green-2: #8E9590;        
  --green-wash: #F0F1EF;     
  --on-green: var(--ink);
  --on-green-muted: var(--muted);
  --grey: #EEEFEC;           
  --grey-2: #E3E5E1;
  --photo-shade: 16, 18, 17; 
  --paper: #F5F5F3;
  --line: #DEDFDC;
  --muted: #5F6361;}
.jb .topbar{background: var(--grey); color: var(--muted); border-bottom: 1px solid var(--line);}
.jb .topbar a{color: var(--ink);}
.jb .band--green{background: var(--grey); color: var(--ink);}
.jb .band--green h2, .jb .band--green h3{color: var(--ink);}
.jb .band--green .btn--ghost, .jb .hs-ctas .btn--ghost{}
.jb .band--green .btn--ghost{color: var(--ink);}
.jb .band--green .btn--ghost:hover{background: var(--ink); color: var(--white);}
.jb .styles{border-top-color: var(--line);}
.jb .styles a{color: var(--ink); border-bottom-color: var(--line);}
.jb .styles a + a{border-left-color: var(--line);}
.jb .styles h3 svg{color: var(--red);}
.jb .styles p{color: var(--muted);}
.jb .styles a:hover h3{color: var(--red);}
.jb .countries, .jb .band--green .countries{border-top-color: var(--line);}
.jb .countries li{border-bottom-color: var(--line);}
.jb .countries a, .jb .countries a b{color: var(--ink);}
.jb .countries a span{color: var(--muted);}
.jb .countries a em{color: var(--red-ink);}
.jb .countries a:hover b{color: var(--red);}
.jb .contact-lines a{color: var(--ink);}
.jb .contact-lines svg{color: var(--red);}
.jb .aside .box--green{background: var(--grey); color: var(--ink); border: 1px solid var(--line);}
.jb .aside .box--green h3{color: var(--ink);}
.jb .mega-card, .jb .nav .mega .mega-card{background: var(--grey); color: var(--muted); border: 1px solid var(--line);}
.jb .mega-card b, .jb .nav .mega .mega-card b{color: var(--ink);}
.jb .mega-card .mega-cta, .jb .nav .mega .mega-card .mega-cta{color: var(--red);}
.jb .footer{background: var(--grey); color: var(--muted); border-top: 1px solid var(--line);}
.jb .footer h4, .jb .footer .fh{color: var(--ink);}
.jb .footer a{color: var(--charcoal);}
.jb .footer a:hover{color: var(--red);}
.jb .footer .legal{border-top-color: var(--line);}
.jb .page-hero{background: #1E2120;}
.jb .hslider{background: #1B1D1C;}
.jb .hs-slide::after{background: linear-gradient(90deg, rgba(var(--photo-shade), .8) 0%, rgba(var(--photo-shade), .5) 38%, rgba(var(--photo-shade), .1) 72%), linear-gradient(0deg, rgba(var(--photo-shade), .72) 0%, rgba(var(--photo-shade), 0) 32%);}
@media (max-width: 900px){.jb .hs-slide::after{background: linear-gradient(0deg, rgba(var(--photo-shade), .9) 0%, rgba(var(--photo-shade), .55) 55%, rgba(var(--photo-shade), .25) 100%);}}
.jb .hs-arrow, .jb .hs-pause{background: rgba(var(--photo-shade), .35);}
.jb .dest::after{background: linear-gradient(180deg, rgba(var(--photo-shade), 0) 30%, rgba(var(--photo-shade), .86) 100%);}
.jb .dest{background: var(--charcoal);}
.jb .hero-media figcaption, .jb .region-media figcaption{background: rgba(var(--photo-shade), .85);}
.jb .incl .yes svg, .jb .days-list .stay svg, .jb .done svg{color: var(--red);}
.jb .flow i{background: var(--green-2);}
.jb .quick h2{color: var(--red-ink);}
.jb .switch button[aria-pressed="true"]{background: var(--ink); border-color: var(--ink);}
.jb .progress span.on{background: var(--red);}
.jb .rmap .land.on{fill: #F4E0DE;}
.jb .rmap .land.zw{fill: #F1F1EE;}
.jb .rmap .clabel{fill: rgba(46, 51, 48, .35);}
.jb .rmap .pdot{fill: var(--charcoal); opacity: .4;}
.jb .mini-trip{border: 1px solid var(--line);}
.jb .sa .ph{background: var(--grey-2);}
.jb .pop{display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px;}
.jb .pop .dest--xl{grid-column: span 7; min-height: 440px;}
.jb .pop .dest--l{grid-column: span 5; min-height: 440px;}
.jb .pop .dest--s{grid-column: span 3; min-height: 300px;}
.jb .dest .flag{position: absolute; z-index: 2; top: 14px; left: 14px; background: var(--white); color: var(--ink); font-size: .75rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; padding: 6px 10px; border-radius: 6px;}
.jb .dest .flag--zw{background: var(--red); color: var(--white);}
.jb .dest .from{font-size: .9rem; color: #EEE;}
.jb .dest .from b{color: var(--white); font-size: 1.05rem;}
@media (max-width: 1000px){.jb .pop .dest--s{grid-column: span 6;}}
@media (max-width: 760px){.jb .pop .dest--xl, .jb .pop .dest--l{grid-column: span 12; min-height: 340px;}}
@media (max-width: 520px){.jb .pop .dest--s{grid-column: span 12;}}
.jb .label-sm{font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted);}
.jb .tick-list, .jb .dash-list{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px;}
.jb .tick-list li, .jb .dash-list li{display: flex; gap: 12px; align-items: flex-start; font-size: .97rem;}
.jb .tick-list svg{width: 18px; height: 18px; color: var(--red); flex: none; margin-top: 3px;}
.jb .dash-list li::before{content: ""; width: 10px; height: 2px; background: var(--muted); flex: none; margin-top: 12px;}
.jb .chips{display: flex; flex-wrap: wrap; gap: 8px;}
.jb .chip{font-size: .82rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; background: var(--grey); color: var(--ink);}
.jb .trip-note{font-size: .88rem; color: var(--muted);}
.jb .ta-top{display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(24px, 4vw, 56px); align-items: start; padding-bottom: 56px;}
@media (max-width: 960px){.jb .ta-top{grid-template-columns: 1fr;}}
.jb .ta-gallery{display: flex; flex-direction: column; gap: 10px;}
.jb .ta-main{width: 100%; height: auto; aspect-ratio: 16 / 9.5; object-fit: cover; border-radius: 14px;}
.jb .ta-thumbs{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px;}
.jb .ta-thumbs button{padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; cursor: pointer; background: none;}
.jb .ta-thumbs button[aria-pressed="true"]{border-color: var(--red);}
.jb .ta-thumbs img{width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block;}
.jb .ta-quote{position: sticky; top: 96px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 14px;}
.jb .ta-quote h1{font-size: clamp(1.6rem, 2.6vw, 2.1rem);}
.jb .ta-quote .meta{font-size: .9rem; color: var(--muted);}
.jb .ta-price{border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 14px;}
.jb .ta-price b{display: block; font-family: var(--display); font-size: 2.2rem; line-height: 1.1;}
.jb .ta-price span{font-size: .85rem; color: var(--muted);}
.jb .qfield{display: flex; flex-direction: column; gap: 4px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px;}
.jb .qfield span{font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted);}
.jb .qfield input, .jb .qfield select{border: 0; padding: 2px 0; font: 400 .98rem var(--body); color: var(--ink); background: transparent; width: 100%;}
.jb .ta-quote .btn{justify-content: center;}
.jb .ta-overview{display: flex; flex-direction: column; gap: 16px; margin-top: 36px;}
.jb .ta-overview .lead{font-size: var(--step-1); color: var(--charcoal);}
.jb .glance{list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px;}
.jb .glance li{display: flex; gap: 14px; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px;}
.jb .glance svg{width: 20px; height: 20px; color: var(--red); flex: none; margin-top: 2px;}
.jb .glance b{display: block;}
.jb .glance span{font-size: .9rem; color: var(--muted);}
.jb .ttabs{position: sticky; top: calc(env(safe-area-inset-top, 0px) + 79px); z-index: 20; background: var(--white); border-bottom: 1px solid var(--line);}
.jb .ttabs .wrap{display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none;}
.jb .ttabs a{padding: 16px 12px; white-space: nowrap; color: var(--muted); font-weight: 700; font-size: .92rem; text-decoration: none; border-bottom: 2px solid transparent;}
.jb .ttabs a:hover, .jb .ttabs a.on{color: var(--ink); border-bottom-color: var(--red);}
.jb .dayacc details{background: var(--white); border: 1px solid var(--line); border-radius: 12px; margin-bottom: 10px;}
.jb .dayacc details:first-of-type{border-top: 1px solid var(--line);}
.jb .dayacc summary{display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 4px 16px; padding: 18px 48px 18px 20px; font-family: var(--body);}
.jb .dayacc summary .d{font-family: var(--display); font-weight: 900; color: var(--red); grid-row: 1 / 3;}
.jb .dayacc summary .t{font-family: var(--display); font-weight: 700; font-size: 1.05rem;}
.jb .dayacc summary .s{font-size: .88rem; color: var(--muted); font-weight: 400;}
.jb .dayacc .a{padding: 0 20px 20px 112px;}
@media (max-width: 600px){.jb .dayacc summary{grid-template-columns: 1fr;}
.jb .dayacc summary .d{grid-row: auto;}
.jb .dayacc .a{padding-left: 20px;}}
.jb .incl2{display: grid; grid-template-columns: 1fr 1fr; gap: 40px;}
@media (max-width: 700px){.jb .incl2{grid-template-columns: 1fr;}}
.jb .stay-tbl table{min-width: 560px;}
.jb .tb-hero{position: relative; min-height: clamp(560px, 82vh, 760px); display: flex; align-items: flex-end; color: var(--white); overflow: hidden; background: #1B1D1C;}
.jb .tb-hero > img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.jb .tb-hero::after{content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(var(--photo-shade), .88) 0%, rgba(var(--photo-shade), .35) 55%, rgba(var(--photo-shade), .15) 100%);}
.jb .tb-hero .wrap{position: relative; z-index: 2; width: 100%; padding-block: 120px 56px; display: flex; flex-direction: column; gap: 16px;}
.jb .tb-hero h1{color: var(--white); font-size: clamp(2.2rem, 5vw, 4rem); max-width: 18ch;}
.jb .tb-hero .sub{font-size: var(--step-1); color: #E8E8E6; max-width: 56ch;}
.jb .tb-hero .chips .chip{background: rgba(255, 255, 255, .14); color: var(--white); border: 1px solid rgba(255, 255, 255, .3); backdrop-filter: blur(6px);}
.jb .tb-hero .crumbs, .jb .tb-hero .crumbs a{color: #E8E8E6; padding: 0;}
.jb .tb-pricerow{display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 8px;}
.jb .tb-pricerow .p{font-size: .9rem; color: #E8E8E6;}
.jb .tb-pricerow .p b{display: block; font-family: var(--display); font-size: 2rem; color: var(--white); line-height: 1.1;}
.jb .tb-pricerow .btn--ghost{color: var(--white);}
.jb .tb-pricerow .btn--ghost:hover{background: var(--white); color: var(--ink);}
.jb .tb-intro{display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start;}
@media (max-width: 860px){.jb .tb-intro{grid-template-columns: 1fr;}}
.jb .tb-intro .lead{font-family: var(--display); font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.45;}
.jb .nights{list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line);}
.jb .nights li{display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line);}
.jb .nights b{font-family: var(--display);}
.jb .nights span{font-weight: 700; color: var(--red-ink); white-space: nowrap; font-variant-numeric: tabular-nums;}
.jb .tb-route{display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(24px, 4vw, 56px); align-items: center;}
@media (max-width: 860px){.jb .tb-route{grid-template-columns: 1fr;}}
.jb .tb-map{background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 10px;}
.jb .stoplist{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; counter-reset: st;}
.jb .stoplist li{display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 2px 12px;}
.jb .stoplist li::before{counter-increment: st; content: counter(st); grid-row: 1 / 3; width: 30px; height: 30px; border-radius: 50%; background: var(--red); color: var(--white); font-weight: 900; font-size: .85rem; display: grid; place-items: center;}
.jb .stoplist b{font-family: var(--display);}
.jb .stoplist span{font-size: .9rem; color: var(--muted);}
.jb .timeline{position: relative; display: flex; flex-direction: column; gap: 40px; padding-left: 0;}
.jb .timeline::before{content: ""; position: absolute; left: 31px; top: 8px; bottom: 8px; width: 2px; background: var(--line);}
.jb .tday{position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 24px;}
.jb .tday .dn{width: 64px; height: 64px; border-radius: 50%; background: var(--white); border: 2px solid var(--red); display: grid; place-items: center; text-align: center; font-family: var(--display); font-weight: 900; color: var(--red); line-height: 1; position: relative; z-index: 1;}
.jb .tday .dn small{display: block; font-family: var(--body); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 700; margin-bottom: 2px;}
.jb .tday .body{display: flex; flex-direction: column; gap: 10px; padding-top: 6px;}
.jb .tday h3{font-size: 1.3rem;}
.jb .tday .where{font-size: .88rem; color: var(--muted); display: flex; gap: 6px; align-items: center;}
.jb .tday .where svg{width: 15px; height: 15px; color: var(--red);}
.jb .tday img{width: 100%; max-width: 680px; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; margin-top: 6px;}
@media (max-width: 560px){.jb .timeline::before{left: 23px;}
.jb .tday{grid-template-columns: 48px minmax(0, 1fr); gap: 14px;}
.jb .tday .dn{width: 48px; height: 48px; font-size: .95rem;}}
.jb .incl-cards{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;}
@media (max-width: 860px){.jb .incl-cards{grid-template-columns: 1fr 1fr;}}
@media (max-width: 520px){.jb .incl-cards{grid-template-columns: 1fr;}}
.jb .incl-cards div{background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 8px;}
.jb .incl-cards svg{width: 22px; height: 22px; color: var(--red);}
.jb .incl-cards b{font-family: var(--display);}
.jb .incl-cards span{font-size: .92rem; color: var(--muted);}
.jb .tbar{position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -12px 30px -18px rgba(0, 0, 0, .35); transform: translateY(110%); transition: transform .35s cubic-bezier(.16, 1, .3, 1); padding-bottom: env(safe-area-inset-bottom, 0px);}
.jb .tbar.show{transform: none;}
.jb .tbar .wrap{display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 12px;}
.jb .tbar .tt{font-family: var(--display); font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.jb .tbar .tt small{display: block; font-family: var(--body); font-weight: 400; color: var(--muted); font-size: .85rem;}
.jb .tbar .acts{display: flex; gap: 10px; flex: none;}
.jb .tbar .btn{padding: 13px 18px;}
.jb.has-tbar .wa-float, .jb.has-tbar .seo-toggle{bottom: calc(86px + env(safe-area-inset-bottom, 0px));}
@media (max-width: 600px){.jb .tbar .btn--wa span{display: none;}
.jb .tbar .tt{font-size: .9rem;}}
.jb .tc-head{padding-block: 32px 40px; display: flex; flex-direction: column; gap: 14px;}
.jb .tc-head h1{font-size: clamp(2rem, 4.2vw, 3.2rem); max-width: 20ch;}
.jb .tc-head .sub{font-size: var(--step-1); color: var(--charcoal); max-width: 62ch;}
.jb .tc-split{display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start;}
@media (max-width: 960px){.jb .tc-split{grid-template-columns: 1fr;}}
.jb .tc-side{position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px;}
@media (max-width: 960px){.jb .tc-side{position: static;}}
.jb .tc-card{background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px;}
.jb .tc-card .price b{display: block; font-family: var(--display); font-size: 2rem; line-height: 1.1;}
.jb .tc-card .price span{font-size: .85rem; color: var(--muted);}
.jb .tc-card dl{margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 14px; font-size: .92rem;}
.jb .tc-card dt{color: var(--muted);}
.jb .tc-card dd{margin: 0; font-weight: 700;}
.jb .tc-card .btn{justify-content: center;}
.jb .split-bar{display: flex; height: 12px; border-radius: 6px; overflow: hidden;}
.jb .split-bar i{display: block;}
.jb .split-bar .s1{background: var(--charcoal);}
.jb .split-bar .s2{background: #5AA9C7;}
.jb .split-key{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; font-size: .85rem; color: var(--muted);}
.jb .tc-split > *{min-width: 0;}
.jb .split-key b{color: var(--ink);}
.jb .phase{display: flex; flex-direction: column; gap: 16px;}
.jb .phase + .phase{margin-top: 40px;}
.jb .phase-h{display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 2px solid var(--ink); padding-bottom: 10px;}
.jb .phase-h h2{font-size: var(--step-2);}
.jb .phase-h span{font-size: .88rem; color: var(--muted); font-weight: 700; white-space: nowrap;}
.jb .dcard{background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 10px;}
.jb .dcard .top{display: flex; gap: 12px; align-items: baseline;}
.jb .dcard .badge2{font-weight: 900; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--white); background: var(--red); padding: 4px 9px; border-radius: 6px; flex: none;}
.jb .dcard h3{font-size: 1.15rem;}
.jb .dcard .facts2{display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .86rem; color: var(--muted); border-top: 1px solid var(--line); padding-top: 10px;}
.jb .dcard .facts2 b{color: var(--ink); font-weight: 700;}
.jb .dphoto{width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; border-radius: 14px;}
.jb .tfilters{display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center;}
.jb .tsel{display: inline-flex; align-items: center; gap: 8px; font-size: .88rem; font-weight: 700; color: var(--muted);}
.jb .tsel select{font: 400 .95rem var(--body); padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink);}
.jb .trip[hidden]{display: none !important;}
.jb .trip .noimg{display: block; aspect-ratio: 16 / 10; background: var(--grey-2);}
.jb .dcard.prose{gap: 12px;}
.jb .dcard.prose ul{padding-left: 1.2em;}
.jb .empty-note{padding: 24px; border: 2px dashed var(--line); border-radius: 12px; color: var(--muted);}
@media (prefers-reduced-motion: reduce){.jb *, .jb *::before, .jb *::after{transition: none !important; animation: none !important; scroll-behavior: auto !important;}}