@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Inter:wght@300;400;500&display=swap');

:root{--paper:#EEF3EF;--card:#F4F8F5;--ink:#16281F;--soft:#516158;--cel:#12402F;--cel2:#3D6B57;--line:#CFD9D1;--gold:#3D6B57}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Fraunces',Georgia,"Songti SC",serif;line-height:1.6}
.cjr-wrap{max-width:1320px;margin:0 auto;padding:0 56px}
.cjr-hero{position:relative;height:52vh;min-height:360px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
@media(max-width:640px){
  .cjr-hero{height:auto;min-height:0;aspect-ratio:4/3}
  .cjr-htext{padding:0 20px 22px}
  .cjr-hero h1{font-size:28px;margin:0 0 8px}
  .cjr-fit{font-size:15px}
}
.cjr-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.92)}
/* hero photo gallery (swipeable) */
.cjr-hgal{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.cjr-hgal::-webkit-scrollbar{display:none}
.cjr-hgal__slide{flex:0 0 100%;height:100%;scroll-snap-align:center;position:relative;overflow:hidden}
.cjr-hgal__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.9);display:block;cursor:zoom-in}
.cjr-hgal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(255,255,255,.85);border:none;color:var(--ink);width:38px;height:38px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.cjr-hgal__prev{left:14px}.cjr-hgal__next{right:14px}
.cjr-hgal__count{position:absolute;top:14px;right:14px;z-index:3;background:rgba(28,38,33,.62);color:#fff;font-family:-apple-system,sans-serif;font-size:12px;padding:4px 10px;border-radius:14px}
@media(max-width:640px){.cjr-hgal__nav{display:none}}
.cjr-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,38,33,.12),rgba(28,38,33,.62));pointer-events:none}
.cjr-htext{position:relative;z-index:2;padding:0 56px 46px;max-width:1320px;margin:0 auto;width:100%;pointer-events:none}
.cjr-kick{font-family:-apple-system,sans-serif;letter-spacing:.22em;text-transform:uppercase;font-size:12px;opacity:.92;margin-bottom:10px}
.cjr-hero h1{font-size:clamp(34px,6vw,58px);margin:0 0 12px;font-weight:500;line-height:1.05}
.cjr-fit{font-size:clamp(16px,2.4vw,21px);max-width:620px;opacity:.95;margin:0}
.cjr-meta{display:flex;flex-wrap:wrap;gap:30px;padding:26px 0;border-bottom:1px solid var(--line)}
.cjr-meta .cjr-lab{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-family:-apple-system,sans-serif}
.cjr-meta .cjr-val{font-size:16px;margin-top:3px;font-family:-apple-system,sans-serif}
.cjr-route{padding:26px 0;border-bottom:1px solid var(--line)}
.cjr-route .cjr-lab{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);font-family:-apple-system,sans-serif;margin-bottom:12px}
.cjr-stops{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:18px}
.cjr-stop:not(:last-child)::after{content:"\203A";margin:0 12px;color:var(--cel2)}
.cjr-days{padding:14px 0 4px}
.cjr-day{padding:30px 0;border-bottom:1px solid var(--line)}
.cjr-dhead{display:flex;align-items:baseline;gap:18px;margin-bottom:10px}
.cjr-dnum{font-family:-apple-system,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cel);border:1px solid var(--cel2);border-radius:20px;padding:5px 12px;white-space:nowrap}
.cjr-day h3{margin:0;font-size:23px;font-weight:500}
.cjr-dcity{font-family:-apple-system,sans-serif;font-size:13px;color:var(--soft)}
.cjr-ddesc{margin:0 0 16px;font-size:17px;max-width:660px;color:#34435a}
.cjr-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cjr-ph{margin:0;position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#E7ECEE}
.cjr-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88);display:block}
.cjr-ph figcaption{font-family:-apple-system,sans-serif;font-size:11.5px;color:var(--soft);margin-top:6px}
.cjr-more{margin-top:16px;font-family:-apple-system,sans-serif}
.cjr-more summary{cursor:pointer;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--cel);list-style:none;display:inline-flex;align-items:center;gap:8px;padding:8px 0}
.cjr-more summary::-webkit-details-marker{display:none}
.cjr-more summary::before{content:"+";font-size:16px;line-height:1;color:var(--cel2)}
.cjr-more[open] summary::before{content:"\2013"}
.cjr-sched{margin:10px 0 0;padding:0;list-style:none;border-left:2px solid var(--line)}
.cjr-sched li{display:flex;gap:14px;padding:9px 0 9px 16px;font-size:14px;color:#34435a}
.cjr-sched .cjr-t{min-width:46px;color:var(--cel);font-variant-numeric:tabular-nums;font-weight:600}
.cjr-sched .cjr-meta{display:block;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--soft);margin-bottom:2px}
.cjr-sp{color:var(--gold);font-size:11px;white-space:nowrap}
.cjr-mealrow{font-size:13px;color:#34435a;margin:12px 0 2px;padding-left:16px}
.cjr-cols{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:34px 0 18px;border-bottom:1px solid var(--line)}
.cjr-cols h4{font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--cel);margin:0 0 14px}
.cjr-cols ul{margin:0;padding:0;list-style:none}
.cjr-cols li{font-family:-apple-system,sans-serif;font-size:14.5px;padding:8px 0 8px 24px;position:relative;color:#34435a;border-top:1px solid #E7ECEE}
.cjr-cols li:first-child{border-top:none}
.cjr-handled li::before{content:"\2713";position:absolute;left:0;color:var(--cel)}
.cjr-confirm li::before{content:"\2022";position:absolute;left:6px;color:var(--gold)}
.cjr-full{grid-column:1/-1}
.cjr-fnote{font-family:-apple-system,sans-serif;font-size:13.5px;color:#34435a;background:#F4F8F5;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:16px 18px;margin:22px 0 0;line-height:1.55}
.cjr-cta{text-align:center;padding:46px 0 64px}
.cjr-cta .cjr-pq{font-size:20px;margin:0 0 8px}
.cjr-cta .cjr-sub{font-family:-apple-system,sans-serif;font-size:13px;color:var(--soft);margin:0 0 22px}
.cjr-btn{display:inline-block;background:#B08D57;color:#fff !important;font-weight:500;font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.06em;padding:16px 34px;border-radius:6px;text-decoration:none;transition:background .3s,transform .3s,box-shadow .3s}
.cjr-btn:hover{background:#9A7949;transform:translateY(-2px);box-shadow:0 16px 32px -14px rgba(176,141,87,.55)}
.cjr-wa{font-family:-apple-system,sans-serif;font-size:13px;color:var(--soft);margin-top:14px}
/* route map image (transparent-bg green line + numbered dots + city names) — sits in left content column */
/* 地图/照片画廊:大框 + 缩略图,统一宽度 680(与下方 summary 框对齐) */
.cjr-gallery{max-width:680px;margin:0 auto 18px}
.cjr-tripframe{width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#EEF3EF;border:1px solid var(--line)}
.cjr-tripframe img{width:100%;height:100%;object-fit:contain;display:block;background:#EEF3EF;transition:opacity .25s}
.cjr-thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:12px 0 0}
.cjr-thumbs::-webkit-scrollbar{display:none}
.cjr-thumb{flex:0 0 auto;width:108px;aspect-ratio:4/3;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#E7ECEE;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.cjr-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.94)}
.cjr-thumb.cjr-thumb--map img{object-fit:contain;background:#EEF3EF}
.cjr-thumb.is-active{border-color:var(--cel);box-shadow:0 0 0 2px var(--cel)}
.cjr-thumb:hover{border-color:var(--cel2)}
.cjr-mpath{fill:none;stroke:var(--cel2);stroke-width:2;stroke-dasharray:6 7;stroke-linecap:round}
.cjr-mdot{fill:var(--cel)}
.cjr-mnum{fill:#fff;font-family:-apple-system,sans-serif;font-size:13px;font-weight:700;text-anchor:middle}
.cjr-mlbl{fill:var(--ink);font-family:-apple-system,sans-serif;font-size:14px}
/* trust */
.cjr-trust{padding:40px 0 6px;border-top:1px solid var(--line)}
.cjr-trust h4,.cjr-process h4{font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cel);text-align:center;margin:0 0 26px}
.cjr-tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cjr-tcard{text-align:center}
.cjr-tic{color:var(--cel);display:flex;justify-content:center;margin-bottom:12px}
.cjr-ico{width:30px;height:30px}
.cjr-tcard h5{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:600;margin:0 0 7px}
.cjr-tcard p{font-family:-apple-system,sans-serif;font-size:13.5px;color:var(--soft);margin:0;line-height:1.55}
/* process */
.cjr-process{padding:46px 0 8px}
.cjr-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cjr-pstep{position:relative;padding-top:6px}
.cjr-pn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--paper);border:1.5px solid var(--cel);color:var(--cel);font-family:-apple-system,sans-serif;font-weight:700;font-size:15px;margin-bottom:12px}
.cjr-pstep h5{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:600;margin:0 0 7px}
.cjr-pstep p{font-family:-apple-system,sans-serif;font-size:13.5px;color:var(--soft);margin:0;line-height:1.55}
/* cancellation/change */
.cjr-policy{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 0;padding:22px 24px;background:#F4F8F5;border:1px solid var(--line);border-radius:12px}
.cjr-policy h5{font-family:'Fraunces',Georgia,serif;font-size:17px;margin:0 0 4px}
.cjr-policy p{font-family:-apple-system,sans-serif;font-size:13.5px;color:var(--soft);margin:0;max-width:620px;line-height:1.5}
.cjr-plink{font-family:-apple-system,sans-serif;font-size:14px;color:var(--cel);text-decoration:none;white-space:nowrap;font-weight:600}
@media(max-width:640px){.cjr-gal{grid-template-columns:1fr 1fr}.cjr-cols{grid-template-columns:1fr;gap:24px}.cjr-meta{gap:18px}.cjr-sched li{flex-direction:column;gap:2px}.cjr-tgrid,.cjr-pgrid{grid-template-columns:1fr 1fr;gap:24px 18px}.cjr-policy{flex-direction:column;align-items:flex-start}}
.cjr-banner{font-family:-apple-system,sans-serif;font-size:14px;border-radius:10px;padding:14px 18px;margin:22px 0 0;line-height:1.5}
.cjr-banner.amber{background:#EEF3F8;border:1px solid #CDD8E6;border-left:3px solid #12402F;color:#12402F}
.cjr-banner.red{background:#F8ECE8;border:1px solid #E5B7AE;border-left:3px solid #B5503F;color:#6b3329}
.cjr-why{padding:34px 0 6px;border-bottom:1px solid var(--line)}
.cjr-why h4{font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--cel);margin:0 0 16px}
.cjr-why ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}
.cjr-why li{font-family:-apple-system,sans-serif;font-size:15px;color:#34435a;padding-left:22px;position:relative;line-height:1.5}
.cjr-why li::before{content:"\2713";position:absolute;left:0;color:var(--cel);font-weight:700}
@media(max-width:640px){.cjr-why ul{grid-template-columns:1fr}}

/* --- base + section scope (body rules don't apply to a section) --- */
.cjr{background:transparent;color:var(--ink);font-family:'Fraunces',Georgia,"Songti SC",serif;line-height:1.6}
.cjr *{box-sizing:border-box}
.cjr-sched{white-space:pre-wrap;font-family:-apple-system,sans-serif;font-size:13.5px;color:#34435a;margin:10px 0 4px;line-height:1.75;border-left:2px solid var(--line);padding:4px 0 4px 14px}
.cjr-day h3{margin:0;font-size:23px;font-weight:500}

/* where you'll stay */
.cjr-stay{padding:28px 0 6px;border-bottom:1px solid var(--line)}
.cjr-stay h4{font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--cel);margin:0 0 10px}
.cjr-stay p{font-family:-apple-system,sans-serif;font-size:15px;color:#34435a;margin:0;max-width:680px;line-height:1.6}
/* similar routes */
.cjr-similar{padding:42px 0 8px}
.cjr-similar h4{font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cel);text-align:center;margin:0 0 24px}
.cjr-simgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cjr-simcard{text-decoration:none;color:inherit;display:block}
.cjr-simframe{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#E7ECEE}
.cjr-simframe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9)}
.cjr-simbody h5{font-family:'Fraunces',Georgia,serif;font-size:16px;font-weight:600;margin:10px 0 3px;line-height:1.25}
.cjr-simbody span{font-family:-apple-system,sans-serif;font-size:12.5px;color:var(--soft)}
@media(max-width:640px){.cjr-simgrid{grid-template-columns:1fr 1fr}}
.cjr-simcities{display:block;font-family:-apple-system,sans-serif;font-size:12px;color:var(--cel);margin:1px 0 2px}
/* booking form area (green routes) */
.cjr-book .cjr-bookform{max-width:420px;margin:8px auto 0;text-align:left}
.cjr-ghost{display:inline-block;margin-top:14px;font-family:-apple-system,sans-serif;font-size:14px;color:var(--cel);text-decoration:underline;text-underline-offset:3px}
.cjr-book .cj-booking__title{color:var(--cel) !important}

/* ===== deposit modal ===== */
.cjr-modal[hidden]{display:none}
.cjr-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;font-family:-apple-system,"Segoe UI","PingFang SC",sans-serif}
.cjr-modal__backdrop{position:absolute;inset:0;background:rgba(28,38,33,.5)}
.cjr-modal__panel{position:relative;background:var(--paper);width:min(900px,94vw);max-height:92vh;overflow:auto;border-radius:14px;box-shadow:0 30px 80px -20px rgba(28,38,33,.5)}
.cjr-modal__x{position:absolute;top:12px;right:14px;z-index:2;border:none;background:rgba(255,255,255,.7);width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;color:var(--ink);cursor:pointer}
.cjr-modal__grid{display:grid;grid-template-columns:1.35fr 1fr}
.cjr-modal__main{padding:34px 32px}
.cjr-modal__eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cel)}
.cjr-modal__title{font-family:'Fraunces',Georgia,serif;font-size:27px;font-weight:500;margin:8px 0 8px;color:var(--ink)}
.cjr-modal__lede{font-size:14px;color:var(--soft);line-height:1.55;margin:0 0 18px}
.cjr-f{display:block;margin:0 0 12px}
.cjr-f>span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:5px}
.cjr-fsel{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:15px;color:var(--ink)}
.cjr-modal__note{font-size:12.5px;color:var(--soft);line-height:1.5;margin:6px 0 16px}
.cjr-modal__due{border-top:1px solid var(--line);padding-top:14px;margin-bottom:16px}
.cjr-modal__due-label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.cjr-modal__due-amt{display:block;font-family:'Fraunces',Georgia,serif;font-size:30px;color:var(--ink);margin:2px 0 6px}
.cjr-modal__due-note{display:block;font-size:12px;color:var(--soft);line-height:1.5}
.cjr-modal__checkout{width:100%;text-align:center;border:none;cursor:pointer}
.cjr-modal__wahint{font-size:12.5px;color:var(--soft);margin:18px 0 6px;text-align:center}
.cjr-modal__wa{display:block;text-align:center;border:1px solid var(--cel);border-radius:30px;padding:12px;text-decoration:none;color:var(--cel)}
.cjr-modal__summary{background:#E7ECEE;padding:34px 26px;display:flex;flex-direction:column;gap:14px}
.cjr-sumrow{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:12px}
.cjr-sumrow span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.cjr-sumrow b{font-size:14px;font-weight:600;color:var(--ink)}
@media(max-width:640px){
  .cjr-modal{align-items:flex-end}
  .cjr-modal__panel{width:100%;max-height:94vh;border-radius:16px 16px 0 0}
  .cjr-modal__grid{grid-template-columns:1fr}
  .cjr-modal__summary{order:2;padding:22px 26px}
  .cjr-modal__main{order:1;padding:26px 22px}
}
/* top CTA (above the long content) */
.cjr-topcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;padding:22px 0 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.cjr-topcta .cjr-btn{padding:13px 30px}
.cjr-topcta .cjr-ghost{margin-top:0}
.cjr-daterow{display:flex;gap:8px}
.cjr-daterow .cjr-fday{max-width:110px;flex:0 0 auto}
/* deposit modal: from-price + dynamic calc */
.cjr-fromprice{font-family:'Fraunces',Georgia,serif;font-size:22px;color:var(--ink);margin:4px 0 6px}
.cjr-fromprice b{font-weight:600}
.cjr-modal__from{font-family:'Fraunces',Georgia,serif;font-size:20px;color:var(--ink);margin-bottom:8px}
.cjr-modal__from small{font-size:13px;color:var(--soft)}
.cjr-modal__calc{display:flex;flex-direction:column;gap:4px;font-family:-apple-system,sans-serif;font-size:14px;color:#34435a;margin-bottom:8px}
.cjr-modal__calc b{font-weight:700;color:var(--ink)}
.cjr-modal__deprow{color:var(--cel);font-weight:600}
.cjr-modal__deprow b{color:var(--cel)}
/* mobile: make the deposit sheet compact (was too tall) */
@media(max-width:640px){
  .cjr-modal__summary{display:none}
  .cjr-modal__main{padding:20px 18px}
  .cjr-modal__eyebrow{font-size:10px}
  .cjr-modal__title{font-size:20px;margin:5px 0 6px}
  .cjr-modal__lede{font-size:12.5px;line-height:1.45;margin-bottom:12px}
  .cjr-f{margin-bottom:9px}
  .cjr-f>span{margin-bottom:3px}
  .cjr-fsel{padding:10px 11px;font-size:14px}
  .cjr-modal__note{font-size:11.5px;margin:4px 0 10px}
  .cjr-modal__due{padding-top:10px;margin-bottom:12px}
  .cjr-modal__from{font-size:18px;margin-bottom:6px}
  .cjr-modal__calc{font-size:13px}
  .cjr-modal__checkout{padding:13px}
  .cjr-modal__wahint{margin:12px 0 6px}
}
@media(max-width:640px){
  .cjr-modal__panel{max-height:86vh}
  .cjr-modal__from{display:none}
}
@media(max-width:640px){
  .cjr-modal__lede{display:none}        /* hide long explanation on mobile to shrink the sheet */
  .cjr-modal__panel{max-height:76vh}
  .cjr-modal__due-note{font-size:11px;line-height:1.4}
}
/* trust badges */
.cjr-badges{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px}
.cjr-badges li{font-family:-apple-system,sans-serif;font-size:13px;color:#34435a;padding-left:20px;position:relative}
.cjr-badges li::before{content:"\2713";position:absolute;left:0;color:var(--cel);font-weight:700}
/* mobile sticky reserve bar */
.cjr-stickybar{display:none}
@media(max-width:640px){
  .cjr-stickybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;align-items:center;justify-content:space-between;gap:12px;
    background:#fff;border-top:1px solid var(--line);padding:10px 16px;box-shadow:0 -6px 20px -8px rgba(28,38,33,.25)}
  .cjr-stickybar__price{font-family:'Fraunces',Georgia,serif;font-size:15px;color:var(--ink)}
  .cjr-stickybar__btn{padding:11px 22px;font-size:14px}
  .cjr-badges{gap:6px 16px}
}
/* good-to-know & FAQ */
.cjr-faq{padding:42px 0 8px;border-top:1px solid var(--line)}
.cjr-faq h4{font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cel);text-align:center;margin:0 0 24px}
.cjr-faqgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:24px}
.cjr-faqcol h5{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:600;margin:0 0 10px}
.cjr-faqcol ul{margin:0;padding-left:18px;font-family:-apple-system,sans-serif;font-size:14px;color:#34435a;line-height:1.6}
.cjr-faqcol li{margin-bottom:6px}
.cjr-qa{max-width:760px;margin:0 auto}
.cjr-qaitem{border-top:1px solid var(--line);font-family:-apple-system,sans-serif}
.cjr-qaitem summary{cursor:pointer;padding:13px 0;font-size:15px;color:var(--ink);list-style:none;font-weight:600}
.cjr-qaitem summary::-webkit-details-marker{display:none}
.cjr-qaitem summary::after{content:"+";float:right;color:var(--cel2);font-size:18px}
.cjr-qaitem[open] summary::after{content:"\2013"}
.cjr-qaitem p{margin:0 0 14px;font-size:14px;color:#34435a;line-height:1.6}
@media(max-width:640px){.cjr-faqgrid{grid-template-columns:1fr;gap:18px}}
/* Good to know — three parallel columns, full-width, left-aligned with other bottom bands */
.cjr-gtk3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
@media(max-width:860px){.cjr-gtk3{grid-template-columns:1fr;gap:24px}}
/* day-image lightbox */
.cjr-gal img{cursor:zoom-in}
.cjr-lb[hidden]{display:none}
.cjr-lb{position:fixed;inset:0;z-index:9999;background:rgba(20,28,24,.93);display:flex;align-items:center;justify-content:center}
.cjr-lb__img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cjr-lb__x{position:absolute;top:14px;right:20px;background:none;border:none;color:#fff;font-size:36px;line-height:1;cursor:pointer}
.cjr-lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.14);border:none;color:#fff;font-size:30px;width:48px;height:48px;border-radius:50%;cursor:pointer}
.cjr-lb__prev{left:18px}.cjr-lb__next{right:18px}
.cjr-lb__count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.05em}
@media(max-width:640px){.cjr-lb__nav{width:40px;height:40px;font-size:24px}.cjr-lb__img{max-width:96vw;max-height:80vh}}

/* ===== GYG-style booking: two-column layout (price box + option card) ===== */
.cjr-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;padding-top:8px}
/* both pinned to row 1 so the right-column-first DOM order (needed for mobile)
   doesn't leave an empty cell in the left column on desktop (grid sparse-packing) */
.cjr-content{grid-column:1;grid-row:1;min-width:0}
/* stretch the column to full row height so the sticky price box follows the
   whole (very tall) content column instead of scrolling away after ~one screen */
.cjr-bookcol{grid-column:2;grid-row:1;align-self:stretch}
@media(max-width:860px){
  .cjr-layout{display:flex;flex-direction:column}
  /* flex 子项默认 min-width:auto 不收缩,会被画廊/缩略图撑破屏幕 → 强制可收缩 */
  .cjr-content{order:1;min-width:0;max-width:100%}
  .cjr-bookcol{order:2;margin:24px 0 0;min-width:0;max-width:100%}
  .cjr-gallery,.cjr-tripframe,.cjr-opt{max-width:100%}
}
/* price box */
.cjr-book{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:22px 20px;box-shadow:0 16px 40px -22px rgba(28,38,33,.3);font-family:-apple-system,sans-serif;position:sticky;top:18px;margin-top:26px}
@media(max-width:860px){.cjr-book{position:static;margin:18px 0 0;box-shadow:none}}
.cjr-book__from{font-family:-apple-system,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:2px}
.cjr-book__price{font-family:'Fraunces',Georgia,serif;font-size:30px;color:var(--ink);margin:2px 0 16px;line-height:1.1}
.cjr-book__price small{font-size:14px;color:var(--soft);font-family:-apple-system,sans-serif}
.cjr-book__field{margin-bottom:10px}
.cjr-book__field--pax{position:relative}
.cjr-book__field.is-err .cjr-book__dd,.cjr-book__field.is-err select.cjr-book__dd{border-color:#c0392b;background:#fdf2f0;box-shadow:0 0 0 3px rgba(192,57,43,.08)}
.cjr-book__field.is-err{animation:cjrShake .35s ease}
@keyframes cjrShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.cjr-book__dd{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#EEF3EF;font-size:14px;color:var(--ink);cursor:pointer;font-family:-apple-system,sans-serif}
.cjr-book__dd .cjr-caret{color:var(--soft)}
select.cjr-book__dd{appearance:none;-webkit-appearance:none}
.cjr-book__datefield{display:block;position:relative}
.cjr-book__dlabel{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:5px}
.cjr-book__datebtn{justify-content:space-between}
.cjr-date-ph{color:var(--soft)}
.cjr-cal[hidden]{display:none}
.cjr-cal{position:absolute;left:0;right:0;z-index:7;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px -16px rgba(28,38,33,.4);padding:12px 14px;margin-top:6px}
.cjr-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cjr-cal__title{font-family:-apple-system,sans-serif;font-size:14px;font-weight:600;color:var(--ink)}
.cjr-cal__nav{background:none;border:none;color:var(--cel);font-size:22px;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:50%}
.cjr-cal__nav:hover:not(:disabled){background:#E7ECEE}
.cjr-cal__nav:disabled{color:var(--line);cursor:default}
.cjr-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-family:-apple-system,sans-serif}
.cjr-cal__wd{text-align:center;font-size:11px;color:var(--soft);padding:4px 0}
.cjr-cal__day{aspect-ratio:1;border:none;background:none;border-radius:8px;font-size:13px;color:var(--ink);cursor:pointer;padding:0}
.cjr-cal__day:hover:not(:disabled){background:#E7ECEE}
.cjr-cal__day:disabled{color:#CFD9D1;cursor:default}
.cjr-cal__day.is-sel{background:var(--cel);color:#fff}
.cjr-book__panel{position:absolute;left:0;right:0;top:52px;z-index:6;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px -16px rgba(28,38,33,.4);padding:6px 14px 14px}
.cjr-book__panel[hidden]{display:none}
.cjr-book__row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.cjr-book__row:last-of-type{border-bottom:none}
.cjr-book__rowlab{font-size:14px;color:var(--ink)}
.cjr-book__rowlab small{display:block;font-size:11.5px;color:var(--soft)}
.cjr-step{display:flex;align-items:center;gap:14px}
.cjr-step button{width:30px;height:30px;border:1px solid var(--cel2);background:#fff;border-radius:50%;color:var(--cel);font-size:17px;line-height:1;cursor:pointer}
.cjr-step b{min-width:14px;text-align:center;font-size:15px}
.cjr-book__apply{width:100%;margin-top:8px;background:var(--cel);color:#fff;border:none;border-radius:24px;padding:10px;font-size:14px;cursor:pointer}
.cjr-book__see{width:100%;text-align:center;border:none;cursor:pointer;margin-top:4px}
.cjr-book__btn{width:100%;text-align:center;margin-top:4px}
.cjr-book--wa .cjr-book__walede{font-size:13.5px;color:var(--soft);line-height:1.5;margin:6px 0 16px}
/* trust badges inside the price box */
.cjr-trust2{list-style:none;margin:16px 0 0;padding:0}
.cjr-trust2 li{position:relative;padding-left:26px;margin-bottom:12px;font-family:-apple-system,sans-serif}
.cjr-trust2 li:last-child{margin-bottom:0}
.cjr-trust2 li::before{content:"✓";position:absolute;left:0;top:1px;color:var(--cel);font-weight:700}
.cjr-trust2 b{display:block;font-size:14px;color:var(--ink)}
.cjr-trust2 span{display:block;font-size:12px;color:var(--soft);line-height:1.4}
/* option card (revealed in the left content after "See your price") */
.cjr-opt{border:1px solid var(--cel2);border-radius:14px;background:#fff;padding:24px 26px;margin:4px auto 30px;max-width:680px;font-family:-apple-system,sans-serif;box-shadow:0 20px 48px -30px rgba(28,38,33,.4)}
.cjr-opt[hidden]{display:none}
.cjr-opt__head{font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:600;margin-bottom:10px;color:var(--ink)}
.cjr-opt__det{list-style:none;margin:0 0 12px;padding:0;font-size:13px;color:#34435a;line-height:1.5}
.cjr-opt__det li{padding-left:18px;position:relative;margin-bottom:5px}
.cjr-opt__det li::before{content:"✓";position:absolute;left:0;color:var(--cel)}
.cjr-opt__calc{border-top:1px solid var(--line);padding-top:12px;margin-bottom:14px;font-size:14px}
.cjr-opt__row{display:flex;justify-content:space-between;margin-bottom:4px}
.cjr-opt__row b{color:var(--ink)}
.cjr-opt__dep{color:var(--cel);font-weight:700;font-size:16px}
.cjr-opt__dep b{color:var(--cel)}
.cjr-opt__tax{font-size:11.5px;color:var(--soft);margin-top:6px}
.cjr-opt__btns{display:flex;flex-wrap:wrap;gap:10px}
.cjr-opt__btns .cjr-btn{flex:1 1 0;text-align:center;border:none;cursor:pointer;padding:13px;white-space:nowrap}
.cjr-opt__wahint{font-family:-apple-system,sans-serif;font-size:12px;color:var(--soft);text-align:center;line-height:1.45;margin:10px 0 0}
.cjr-btn--out{background:transparent !important;color:#B08D57 !important;border:1px solid #B08D57 !important;box-shadow:none !important}
.cjr-btn--out:hover{background:#B08D57 !important;color:#fff !important;transform:translateY(-2px)}
@media(max-width:860px){.cjr-opt__btns{flex-direction:column}.cjr-opt__btns .cjr-btn{flex:none}}

/* === Story system (hook / thread / story / learn / experience / specialist note / farewell) === */
/* Tags row in hero */
.cjr-tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cjr-htag{display:inline-block;font-family:-apple-system,sans-serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);padding:5px 11px;border-radius:2px;backdrop-filter:blur(2px)}

/* Hook — large 'Fraunces',Georgia italic concrete-scene opening */
.cjr-hook{padding:36px 0 8px;border-bottom:1px solid var(--line);margin-bottom:24px}
.cjr-hook p{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(18px,1.7vw,21px);line-height:1.55;color:#16281F;margin:0 0 14px;letter-spacing:-.004em}
.cjr-hook p:last-child{margin-bottom:0}

/* Thread — single-line theme anchor */
.cjr-thread{padding:14px 0 28px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.cjr-thread__lab{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cel);font-weight:600;margin-right:6px}
.cjr-thread__txt{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:16px;color:#16281F;letter-spacing:-.003em}

/* Story — 3 narrative paragraphs */
/* Truncate-with-show-more: hide overflow items + toggle */
.cjr-trunc-hidden{display:none}
.cjr-trunc-toggle{background:none;border:none;padding:10px 0 4px;cursor:pointer;font-family:-apple-system,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cel);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.cjr-trunc-toggle::after{content:"\2192";font-size:14px;transition:transform .2s}
.cjr-trunc-toggle[data-state="open"]::after{content:"\2190"}
.cjr-trunc-toggle:hover{opacity:.7}
.cjr-storyblock{padding:30px 0;border-bottom:1px solid var(--line)}
.cjr-storyblock h4{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cel);font-weight:600;margin:0 0 18px}
.cjr-storyblock p{font-family:'Fraunces',Georgia,serif;font-size:15.5px;line-height:1.7;color:#16281F;margin:0 0 18px}
.cjr-storyblock p:last-child{margin-bottom:0}

/* Learn / Experience — 2 bullet lists, side-by-side feel via styling */
.cjr-learn,.cjr-exp{padding:28px 0;border-bottom:1px solid var(--line)}
.cjr-learn h4,.cjr-exp h4{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cel);font-weight:600;margin:0 0 18px}
.cjr-learn ul,.cjr-exp ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:860px){.cjr-learn ul,.cjr-exp ul{grid-template-columns:1fr 1fr;gap:12px 32px}}
.cjr-learn li,.cjr-exp li{font-family:-apple-system,sans-serif;font-size:14.5px;line-height:1.55;color:#34435a;padding-left:20px;position:relative}
.cjr-learn li::before,.cjr-exp li::before{content:'';position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--cel)}

/* Specialist note — photo left, signed body right */
.cjr-specnote{margin:36px 0 18px;padding:32px;background:#F4F8F5;border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:start}
@media(max-width:680px){.cjr-specnote{grid-template-columns:1fr;padding:24px;gap:18px}}
.cjr-specnote__photo{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#E2E8EC}
.cjr-specnote__photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}
.cjr-specnote__body p{font-family:'Fraunces',Georgia,serif;font-size:15.5px;line-height:1.65;color:#16281F;margin:0 0 14px;font-style:italic}
.cjr-specnote__body p:last-of-type{margin-bottom:14px}
.cjr-specnote__sign{font-family:-apple-system,sans-serif;font-size:13px;color:var(--cel);font-weight:600;margin-top:10px}
.cjr-specnote__sign span{font-weight:400;color:var(--soft);font-style:italic}

/* Farewell — closing reflection, centered, 'Fraunces',Georgia italic */
.cjr-farewell{padding:42px 0 24px;text-align:left;border-top:1px solid var(--line);margin-top:30px}
.cjr-farewell p{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:clamp(15px,1.5vw,18px);line-height:1.65;color:#34435a;margin:0 0 14px;max-width:760px}
.cjr-farewell p:last-child{margin-bottom:0}
