/* Shared editorial system; booking state and messenger handoff remain in app.js. */
body.is-previsit,body.is-onboard{--ink:#26312c;--accent:#746447;--cream:#f5f3ee;--line:#deded5;--muted:#626960;background:#faf9f6;color:var(--ink)}
body{font-size:15px;-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}:focus-visible{outline:2px solid #8b6439;outline-offset:4px}
.is-previsit .previsit-header,.onboard-header-inner{max-width:1440px;padding:0 48px;height:82px}.is-previsit .previsit-header{border-bottom:1px solid var(--line)}.brand small{font-size:10px!important;letter-spacing:.04em}.button,.is-previsit .previsit-header .button{border-radius:6px;min-height:46px;font-size:13px;line-height:1.5;padding:12px 20px;transition:background .18s,transform .18s}.button:hover{transform:translateY(-1px)}.button:not(.outline):not(.ivory):not(.transparent){background:var(--ink);color:#fff}.button.outline{background:transparent;border-color:#bfc4bb;color:var(--ink)}
.is-previsit .section{max-width:1328px;padding:76px 48px}.is-previsit h2{font-weight:500;font-size:clamp(27px,3vw,40px);line-height:1.25;letter-spacing:-.04em}.eyebrow{color:#756b55;letter-spacing:.16em;font-size:10px}.premium-hero{max-width:1440px;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;padding:40px 48px 0;align-items:stretch}.premium-hero-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;margin:0;padding:32px 56px 32px 0}.premium-hero h1{font-size:clamp(36px,4.5vw,64px);line-height:1.12;letter-spacing:-.045em;font-weight:500;text-wrap:balance}.service-eyebrow{font-size:10px;letter-spacing:.12em;color:#6d705f;margin-bottom:25px}.service-eyebrow svg{display:none}.premium-hero-intro>p{font-size:15px;line-height:1.85;margin-bottom:24px;max-width:385px}.hero-actions .button{min-width:0}.premium-hero-visual{height:520px;border-radius:4px;position:relative}.premium-hero-visual>img{object-position:center;transition:transform .8s}.landscape-caption{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);background:#faf9f6ed;color:#384339;padding:8px 12px;font-size:10px;letter-spacing:.06em;border-radius:2px}.service-strip{max-width:1232px;padding:26px 0;justify-content:space-between;gap:20px;font-size:12px}.is-previsit .previsit-tours{padding-top:62px}.is-previsit .tour-grid{gap:28px}.is-previsit .product-card{display:flex;flex-direction:column;background:transparent}.is-previsit .product-card .tour-photo{aspect-ratio:1.25;border-radius:8px}.tour-card-number{display:none}.is-previsit .product-card .tour-copy{display:flex;flex-direction:column;flex:1;padding:20px 0 0}.is-previsit .product-card h3{font-weight:600;font-size:23px;letter-spacing:-.03em}.is-previsit .product-card .card-highlights{font-size:13px;line-height:1.7;min-height:44px}.card-category svg{display:none}.is-previsit .product-card .tour-price{margin-top:auto;display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:12px 0}.is-previsit .product-card .tour-price strong{color:var(--ink);font-size:25px;font-weight:600}.card-actions{gap:8px}.card-actions .button{flex:1;font-size:12px;padding:11px 8px}.plan-invitation{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:28px 0 0;margin-top:30px}.plan-invitation h3{font-size:21px}.recommendation-note{line-height:1.8}.benefits-section{background:#eeeee6}.vehicle-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.vehicle-story figure{margin:0}.vehicle-story figure img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:6px}.vehicle-story figcaption{font-size:10px;line-height:1.7;margin-top:12px;color:var(--muted)}.vehicle-story .benefits-grid{grid-template-columns:1fr;gap:22px;margin-top:28px}.benefit-symbol{display:none}.benefits-grid h3{font-size:17px;font-weight:600;margin:0 0 5px}.benefits-grid p{font-size:14px;line-height:1.8}.booking-steps{margin-bottom:30px!important}.is-previsit .booking-steps article{border-color:#babdac}.booking-conditions{background:transparent;border-radius:0;border-left:0;border-right:0}.terms-grid h3{font-size:15px}.terms-grid p{font-size:13px;line-height:1.8}.is-previsit .faq{padding-top:32px}.faq summary{min-height:48px;font-size:15px}.contact-banner.section{background:#293c35;border-radius:8px;padding:40px 48px;margin-bottom:48px;color:white}.contact-banner h2{color:white}.footer{border-top:1px solid var(--line);background:transparent}.is-previsit .planner-main,.tour-page{max-width:1328px}.place-grid{gap:32px 24px}.place-photo{aspect-ratio:1.4;border-radius:8px}.place-copy h3{font-size:19px;font-weight:600}.place-copy p{font-size:13px;line-height:1.75}.place-controls{margin-top:auto;padding-top:12px}.place-controls .save-place{border-radius:6px!important;background:#f1f1eb;color:var(--ink);border:1px solid #cdd1c6}.place-controls .save-place.saved{background:var(--ink);color:white}.place-card{display:flex;flex-direction:column;min-width:0}.place-meta{font-size:11px;gap:8px;flex-wrap:wrap}.photo-badges span{font-size:11px;border-radius:3px}.category-tabs button,.region-tabs button{border-radius:5px}.purchase-panel{box-shadow:0 12px 40px #253b2c09;border:1px solid var(--line);border-radius:10px}.request-modal{background:#faf9f6}.request-tour-summary,.send-channel{background:#f1f2eb;border-color:#dce0d5}.channel-options label{border-radius:7px}.request-modal input,.request-modal select,.request-modal textarea{background:white;border-radius:6px;font-size:16px}.request-shell{max-width:100%;min-width:0}.request-modal h2{letter-spacing:-.035em}.request-modal .button{min-height:48px}.request-channels{border-top:1px solid var(--line);padding-top:20px}.booking-bar{background:#faf9f6f5;border-top:1px solid var(--line)}
.is-onboard .onboard-header{background:#faf9f6;border-bottom:1px solid var(--line)}.course-brochure{max-width:880px;padding:36px 28px}.brochure-welcome{display:grid;grid-template-columns:1fr 180px;column-gap:30px;align-items:center}.brochure-welcome .eyebrow,.brochure-welcome h1,.brochure-welcome>p{grid-column:1;margin:0 0 12px}.brochure-welcome h1{font-size:36px;font-weight:500;letter-spacing:-.035em}.brochure-welcome>p{font-size:14px;line-height:1.8}.brochure-welcome>img{grid-column:2;grid-row:1/4;height:180px;margin:0;border-radius:8px}.course-brochure>.fineprint{margin-bottom:30px}.course-brochure #courses>h2{font-size:28px}.course-brochure #courses>p{font-size:13px;line-height:1.8;color:var(--muted)}.brochure-course{border-radius:10px;border-color:var(--line)}.brochure-course>summary{padding:16px;gap:18px}.brochure-course>summary strong{font-size:19px}.brochure-course>summary img{width:90px;height:72px;border-radius:6px}.brochure-course-body>p{font-size:14px}.brochure-stops{gap:0}.brochure-stops button{border:0;border-top:1px solid var(--line);border-radius:0;background:white;padding:14px 0}.brochure-stops strong{font-size:14px;font-weight:600}.brochure-stops small{font-size:12px}.port-reminder{border-radius:8px;background:#eaece3}.brochure-nav{background:#faf9f6f5}.brochure-help p{font-size:14px}
html[lang=en] .premium-hero h1,html[lang=ru] .premium-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
@media(min-width:701px) and (max-width:1050px){.premium-hero{padding:28px 28px 0}.premium-hero-heading{padding-right:28px}.premium-hero-visual{height:460px}.service-strip{margin:0 28px}.vehicle-story{gap:32px}.is-previsit .section{padding:52px 28px}}
@media(max-width:700px){.is-previsit .previsit-header,.onboard-header-inner{padding:0 20px;height:68px}.brand small{font-size:8px!important}.is-previsit .section{padding:40px 20px}.premium-hero{display:flex;flex-direction:column;padding:24px 20px 0}.premium-hero-heading{padding:0;gap:16px;margin-bottom:22px}.service-eyebrow{margin-bottom:15px;font-size:9px}.premium-hero h1{font-size:38px;max-width:100%;line-height:1.15}.premium-hero-intro>p{font-size:13px;line-height:1.7;margin-bottom:17px}.hero-actions{gap:8px}.hero-actions .button{font-size:12px;padding:11px 15px}.premium-hero-visual{height:210px;min-height:210px;width:100%;border-radius:5px}.landscape-caption{bottom:10px;left:10px;padding:6px 8px;font-size:8px}.service-strip{margin:0 20px;padding:19px 0;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:9px 18px;font-size:10px}.is-previsit .previsit-tours{padding-top:36px}.is-previsit h2{font-size:28px}.is-previsit .section-heading>p{font-size:13px;line-height:1.7;margin-top:12px}.is-previsit .tour-grid{grid-template-columns:1fr;gap:32px}.is-previsit .product-card .tour-photo{aspect-ratio:1.65;width:100%;min-height:0}.is-previsit .product-card .tour-copy{padding-top:15px}.is-previsit .product-card h3{font-size:22px}.is-previsit .product-card .card-highlights{min-height:0;font-size:13px}.is-previsit .product-card .tour-price{padding:4px 0 12px}.is-previsit .product-card .tour-price strong{font-size:23px}.card-actions{display:flex}.card-actions .button{font-size:12px}.vehicle-story{grid-template-columns:1fr;gap:28px}.vehicle-story figure img{aspect-ratio:1.5}.vehicle-story figcaption{font-size:10px}.vehicle-story .benefits-grid{gap:20px}.is-previsit .booking-steps{gap:12px}.is-previsit .booking-steps h3{font-size:16px}.is-previsit .booking-steps p,.faq details p{font-size:13px;line-height:1.8}.terms-grid{grid-template-columns:1fr}.contact-banner.section{margin:0 20px 30px;padding:28px 24px}.contact-banner .button{font-size:13px}.place-grid{grid-template-columns:1fr;gap:30px}.place-photo{aspect-ratio:1.55}.place-copy h3{font-size:20px}.place-copy p{font-size:14px}.place-meta{display:flex;font-size:11px}.place-controls{flex-direction:row;align-items:center;justify-content:space-between}.place-controls .save-place{max-width:100%;font-size:13px!important}.photo-badges{flex:1}.region-tabs button,.category-tabs button{font-size:12px;min-height:44px}.course-brochure{padding:24px 20px 36px}.brochure-welcome{grid-template-columns:1fr 90px;gap:0 16px}.brochure-welcome h1{font-size:29px}.brochure-welcome>img{height:100px;grid-row:1/3}.brochure-welcome>p:not(.eyebrow){grid-column:1/-1;font-size:13px}.brochure-welcome .eyebrow{font-size:8px;letter-spacing:.12em}.brochure-course>summary{padding:12px;gap:12px}.brochure-course>summary img{width:68px;height:68px}.brochure-course>summary strong{font-size:17px}.brochure-course>summary small{font-size:11px}.brochure-course-body{padding:0 14px 16px}.course-brochure>.fineprint{font-size:10px;line-height:1.7}.brochure-stops button{gap:12px}.brochure-stops strong{font-size:14px}.request-modal .request-shell{padding-left:20px;padding-right:20px}.request-modal h2{font-size:27px}.request-modal .button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.button,.premium-hero-visual>img{transition:none}.button:hover{transform:none}}

/* Keep the restored catalogue within the current editorial design. */
.premium-hero-media{margin:0;min-width:0}.premium-hero-media figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:10px}.vehicle-story{display:block}.wechat-quick-actions{grid-template-columns:minmax(0,1fr)}.wechat-save-qr{font-size:17px!important;min-height:56px!important}.wechat-id{margin:0;overflow-wrap:anywhere}.wechat-add-steps{padding-left:22px;margin:22px 0;line-height:1.8}.wechat-add-steps li+li{margin-top:10px}.wechat-id-help{font-size:13px;color:var(--muted)}
@media(max-width:700px){.premium-hero-media .premium-hero-visual{height:auto;min-height:0;aspect-ratio:4/3}.benefits-grid article{display:block}.benefits-grid h3{word-break:keep-all;overflow-wrap:normal;margin-bottom:10px}.benefits-grid p{line-height:1.8}}
.hero-price-line{font-size:15px;line-height:1.8;font-weight:600;margin:0 0 16px}.hero-price-line small{font-size:11px;font-weight:400;color:var(--muted)}
#discover .guide-heading{align-items:start}#discover .guide-heading h2{margin-bottom:12px}#discover .guide-heading p{margin:0}#discover .guide-heading>span{flex:none}#discover .place-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;align-content:start}#discover .place-controls{grid-column:1/-1;margin-top:0;flex-direction:column;align-items:stretch}#discover .photo-badges{flex:none}.request-review:has(input[value="wechatId"]:checked) .general-copy{display:none}
@media(max-width:700px){#discover .guide-heading{display:block}#discover #place-count{display:block;margin-top:12px}#discover .place-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:12px}#discover .place-photo{width:104px;min-width:0;align-self:start}#discover .place-copy{padding:0}#discover .place-copy h3{font-size:17px;line-height:1.45}#discover .place-copy p{font-size:13px}#discover .place-controls{grid-column:1/-1;margin:0;padding-top:0}#discover .place-photo:has(img.source-uncropped){height:auto;aspect-ratio:auto}.hero-price-line{font-size:13px}}
