/* The booking journey owns these styles; the onboard guide keeps its existing layout. */
.is-previsit{background:#fff;color:#203b33;--line:#e4e8e3;--muted:#65726b;--cream:#f7f8f4}
.is-previsit .header{height:78px;background:#fff;border:0;max-width:1320px;margin:auto;padding:0 28px}
.is-previsit .brand small{letter-spacing:0;font-size:9px}
.is-previsit .section{max-width:1264px;padding:56px 28px}
.is-previsit h2{font-size:30px;letter-spacing:-.8px;font-weight:600}
.is-previsit .previsit-hero{max-width:1264px;height:440px;margin:auto;border-radius:16px}
.is-previsit .hero-content{left:56px;max-width:760px;top:50%;padding-right:30px}
.is-previsit .hero-shade{background:linear-gradient(90deg,#08242ed9 0%,#133b476b 55%,#183e3320)}
.is-previsit .hero-photo{object-position:center 58%}
.is-previsit .hero h1{font:600 clamp(36px,3.7vw,54px)/1.24 'DM Sans','Noto Sans KR','Noto Sans JP','Noto Sans SC',sans-serif;letter-spacing:-1.8px;margin:18px 0;max-width:710px;text-wrap:balance}
.is-previsit .hero-sub{font-size:15px;line-height:1.75;max-width:520px;margin:0 0 24px}
.free-tour-label{display:inline-block;background:#f2f1df;color:#203b33;border-radius:4px;padding:6px 11px;font-size:12px;font-weight:600;margin:0;letter-spacing:.2px;line-height:1.5}
.hero-credit{position:absolute;bottom:15px;right:20px;color:#fff;font-size:10px;min-height:44px;text-shadow:0 1px 5px #000}
.service-strip{max-width:1020px;margin:auto;display:flex;justify-content:space-evenly;gap:15px;padding:24px;font-size:13px;border-bottom:1px solid var(--line)}
.service-strip span{display:flex;align-items:center;gap:8px}
.is-previsit .section-heading{gap:28px;margin-bottom:26px}
.is-previsit .section-heading>p{font-size:14px;max-width:380px}
.is-previsit .previsit-tours{padding-top:44px}
.is-previsit .tour-grid{gap:25px}
.is-previsit .product-card{border:0;border-radius:0;box-shadow:none;background:#fff;transform:none}
.is-previsit .product-card:hover{box-shadow:none;transform:none}
.is-previsit .product-card .tour-photo{display:block;height:auto;aspect-ratio:1.32;border-radius:12px;min-height:0}
.is-previsit .product-card .tour-photo img{transition:transform .35s}
.is-previsit .product-card .tour-photo:hover img{transform:scale(1.035)}
.is-previsit .product-card .tour-copy{padding:17px 0 0}
.is-previsit .product-card .tour-copy .card-category{font-size:11px;color:var(--muted);min-height:0;margin:0 0 7px}
.is-previsit .product-card h3{font-size:21px;margin:0 0 9px;line-height:1.4}
.is-previsit .product-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.is-previsit .product-card .tour-copy>p{font-size:13px;min-height:0;margin:0 0 13px}
.is-previsit .product-card .tour-price{display:flex;border:0;padding:0;gap:10px;align-items:center}
.is-previsit .product-card .tour-price strong{font-size:25px;letter-spacing:-.7px;color:#153c31}
.is-previsit .product-card .tour-price .text-button{display:flex;align-items:center;font-size:12px}
.is-previsit .product-card .pill{left:14px;top:14px;right:auto;bottom:auto;font-size:12px;padding:5px 10px;background:#fff}
.is-previsit .recommendation-note{font-size:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);max-width:none}
.benefits-section{background:#f2f5ee}
.benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:30px}
.benefit-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e1e9dc;font-size:23px;margin-bottom:16px}
.benefits-grid h3{font-size:18px;margin-bottom:10px;line-height:1.5}
.benefits-grid p{font-size:14px;color:var(--muted);margin:0}
.is-previsit .booking-steps{max-width:none;margin:0;padding:0;gap:28px}
.is-previsit .booking-steps article{display:flex;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.is-previsit .booking-steps article>span{font-size:12px;margin:3px 0 0;flex-shrink:0}
.is-previsit .booking-steps h3{font-size:17px;line-height:1.5;margin-bottom:8px}
.is-previsit .booking-steps p{font-size:13px;margin:0}
.booking-conditions{border:1px solid var(--line);border-radius:10px;padding:0 22px;margin-top:14px}
.booking-conditions>summary{display:flex;justify-content:space-between;padding:20px 0;cursor:pointer;font-size:14px;font-weight:600;list-style:none;gap:20px}
.booking-conditions>p{font-size:13px}
.terms-grid{display:grid;gap:20px;padding:6px 0 22px}
.terms-grid>div{border-bottom:1px solid var(--line);padding-bottom:18px}
.terms-grid>div:last-child{border:0;padding-bottom:0}
.terms-grid h3{font-size:16px;line-height:1.5;margin-bottom:10px}
.terms-grid p{font-size:14px;line-height:1.8;color:var(--muted);margin:6px 0 0}
.is-previsit .faq{padding-top:14px;grid-template-columns:.65fr 1fr}
.is-previsit .faq summary,.product-faq summary{font-size:14px;min-height:44px;align-items:center}
.is-previsit .faq details p,.product-faq details p{font-size:14px;line-height:1.8}
.is-previsit .contact-banner{max-width:1208px;padding:34px;margin:0 auto 16px}
.is-previsit .contact-banner h2{font-size:26px}
.is-previsit .contact-banner p{font-size:13px}
.is-previsit .footer{padding-top:32px}
.tour-page{max-width:1264px;margin:auto;padding:0 28px}
.tour-breadcrumb{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 0 20px;font-size:13px}
.tour-breadcrumb>a{min-height:44px;display:flex;align-items:center}
.tour-breadcrumb .text-button{font-size:12px;color:var(--muted)}
.product-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;padding-bottom:36px;align-items:start}
.gallery-wrap{min-width:0}
.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-radius:13px;overflow:hidden}
.gallery-photo{padding:0;position:relative;height:137px;overflow:hidden;display:block;background:#e1e7dc}
.gallery-photo:first-child{grid-column:1/-1;height:305px}
.gallery-photo:last-child:nth-child(2){grid-column:1/-1}
.gallery-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery-photo:hover>img{transform:scale(1.035)}
.gallery-photo>span{position:absolute;left:0;right:0;bottom:0;text-align:start;color:white;font-size:12px;padding:26px 14px 12px;background:linear-gradient(transparent,#0b2429b8);display:flex;gap:8px;justify-content:space-between}
.gallery-photo>span b{font-weight:400}
.gallery-hint{display:none}
.product-summary{padding:6px 0}
.product-summary .eyebrow{letter-spacing:.8px;font-size:12px;margin-bottom:12px}
.product-summary h1{font-size:31px;font-weight:600;line-height:1.4;letter-spacing:-.7px;margin:0 0 12px}
.product-summary-lead{font-size:14px;color:var(--muted);margin-bottom:22px}
.tour-facts{display:grid;gap:15px;margin:0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.tour-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;line-height:1.65}
.tour-facts dt{color:var(--muted)}
.tour-facts dd{margin:0;font-weight:500}
.summary-price{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:24px 0 17px}
.summary-price small{font-size:12px;color:var(--muted)}
.summary-price strong{font-size:30px;letter-spacing:-1px}
.summary-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}
.summary-actions .button{gap:8px;font-size:14px;padding:12px 15px}
.product-summary .fineprint{margin-top:12px}
.product-tabs{position:sticky;top:0;z-index:6;background:#fffffff5;backdrop-filter:blur(10px);display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:32px}
.product-tabs>a{min-height:58px;display:flex;align-items:center;font-size:14px;font-weight:600;border-bottom:2px solid transparent;padding:0 8px;text-align:center;justify-content:center}
.product-tabs>a:hover,.product-tabs>a:focus{color:#173f36;border-bottom-color:#173f36}
.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;padding:0 0 35px}
.product-article{min-width:0}
.product-article>section{padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:75px}
.product-article h2{font-size:27px}
.product-article>section>p{font-size:14px;line-height:1.8}
.product-article .overview-lead{font-size:16px;line-height:1.9}
.subheading{font-size:19px;line-height:1.5;margin:30px 0 16px}
.route-line{list-style:none;margin:0;padding:14px 22px;background:#f3f5ef;border-radius:10px;display:grid}
.route-line li{position:relative;padding:10px 0 10px 22px;font-size:13px;line-height:1.7}
.route-line li::before{content:'';position:absolute;left:0;top:17px;width:7px;height:7px;border-radius:50%;background:#72836a}
.route-line li:not(:last-child)::after{content:'';position:absolute;left:3px;top:27px;bottom:-5px;border-left:1px solid #c8d1c2}
.route-line .text-button{font-size:13px;min-height:26px;padding:0;font-weight:500}
.route-advice{background:#f6f6f1;padding:15px 18px;border-radius:8px}
.product-article .recommended-places{margin:20px 0 0}
.product-article .recommended-places>button{padding:0;overflow:hidden;gap:20px;align-items:stretch;min-height:135px;border-radius:10px}
.product-article .recommended-places img,.product-article .recommended-places .photo-missing{width:165px;height:auto;min-height:145px;border-radius:0;object-fit:cover}
.product-article .recommended-places>button>span{padding:18px 18px 18px 0}
.product-article .recommended-places strong{font-size:17px}
.product-article .recommended-places small{font-size:13px}
.recommended-places em{display:block;font-style:normal;font-size:11px;color:#3d6552;margin-top:10px}
.product-aside{padding-top:32px;min-width:0}
.purchase-panel{position:sticky;top:85px;border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff;box-shadow:0 5px 24px #163b3208}
.purchase-panel .eyebrow{font-size:10px;letter-spacing:.6px;margin-bottom:12px}
.purchase-panel h2{font-size:20px;line-height:1.5;letter-spacing:-.5px}
.purchase-price small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.purchase-price strong{font-size:28px;letter-spacing:-.7px}
.purchase-panel .button{gap:9px;padding:12px;font-size:13px}
.product-article .booking-steps{display:block}
.product-faq details{border-bottom:1px solid var(--line);padding:14px 0}
.product-faq details:last-child{border:0}
.product-faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;line-height:1.7}
.product-faq details p{color:var(--muted);margin:12px 0 0}
.gallery-modal{width:min(1000px,calc(100% - 32px));background:white}
.gallery-expanded>img{width:100%;height:auto;max-height:65dvh;object-fit:contain;background:#102b25}
.gallery-expanded>div{padding:25px}
.gallery-expanded h2{font-size:23px}
.contact-unavailable{background:#f3f5ee;border-radius:10px;padding:16px 18px;margin:18px 0}
.contact-unavailable strong{font-size:14px}
.contact-unavailable p{font-size:12px;line-height:1.75;margin:6px 0 0}
.other-contact-methods>summary{font-size:13px;cursor:pointer;padding:14px 0;min-height:44px}
.is-previsit #main:focus{outline:none}
@media(max-width:1000px){
 .is-previsit .previsit-hero{margin:0 20px}.product-intro{gap:25px;grid-template-columns:1.1fr 1fr}.product-layout{gap:35px;grid-template-columns:minmax(0,1fr) 270px}.tour-facts>div{grid-template-columns:90px minmax(0,1fr);gap:10px}.product-summary h1{font-size:26px}.is-previsit .contact-banner{margin:0 28px 16px}.gallery-photo:first-child{height:285px}
}
@media(max-width:700px){
 .is-previsit .header{height:68px;padding:0 18px;gap:12px}.is-previsit .brand small{font-size:8px;max-width:170px}.is-previsit .language-button{font-size:12px;min-width:64px}.is-previsit .section{padding:34px 20px}.is-previsit h2{font-size:25px;line-height:1.4}
 .is-previsit .previsit-hero{margin:0;height:365px;border-radius:0}.is-previsit .hero-content{left:22px;right:20px;top:48%;max-width:none;padding:0}.is-previsit .hero h1{font-size:32px;line-height:1.3;letter-spacing:-1px;margin:15px 0;word-break:keep-all;overflow-wrap:break-word;text-wrap:initial}.is-previsit .hero-sub{font-size:13px;line-height:1.75;max-width:360px;margin:0 0 20px}.free-tour-label{font-size:10px;padding:5px 8px;max-width:100%}.hero-credit{font-size:9px;bottom:0;right:15px;min-height:36px}.is-previsit .hero .button{min-height:44px;padding:10px 15px}
 .service-strip{padding:17px 16px;gap:8px;justify-content:center;flex-wrap:wrap;font-size:10px}.service-strip span+span::before{content:'·';margin-right:8px;color:#a5ada4}.service-strip span{gap:0}
 .is-previsit .previsit-tours{padding-top:30px}.is-previsit .section-heading{margin-bottom:22px}.is-previsit .section-heading>p{font-size:13px;margin-top:9px}.is-previsit .tour-grid{gap:0}.is-previsit .product-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.is-previsit .product-card:first-child{padding-top:0}.is-previsit .product-card .tour-photo{height:100%;min-height:153px;aspect-ratio:auto;border-radius:9px}.is-previsit .product-card .pill{left:8px;top:9px;font-size:10px;padding:4px 8px}.is-previsit .product-card .tour-copy{padding:0}.is-previsit .product-card .tour-copy .card-category{font-size:10px;margin-bottom:6px;line-height:1.5}.is-previsit .product-card h3{font-size:18px;line-height:1.45;margin-bottom:7px}.is-previsit .product-card .tour-copy>p{font-size:12px;line-height:1.6;margin-bottom:9px}.is-previsit .product-card .tour-price{display:block;padding:0}.is-previsit .product-card .tour-price strong{font-size:22px}.is-previsit .product-card .tour-price .text-button{font-size:11px;min-height:36px;padding:5px 0}.is-previsit .recommendation-note{border:0;padding:0;font-size:11px;margin-top:18px;line-height:1.8}
 .benefits-grid{display:block;margin-top:20px}.benefits-grid article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 15px;padding:17px 0;border-top:1px solid #dce3d5}.benefit-symbol{width:34px;height:34px;font-size:21px;grid-row:1/3;margin:0}.benefits-grid h3{font-size:16px;margin-bottom:6px}.benefits-grid p{font-size:13px;line-height:1.75}.is-previsit .booking-steps{display:block}.is-previsit .booking-steps article{display:flex;gap:14px;padding:18px 0}.is-previsit .booking-steps h3{font-size:16px}.is-previsit .booking-steps p{font-size:13px}.is-previsit .booking-steps article>span{margin-top:3px}.booking-conditions{padding:0 16px}.booking-conditions>summary{font-size:13px}.terms-grid{gap:16px}.terms-grid h3{font-size:15px}.terms-grid p{font-size:13px}
 .is-previsit .faq{display:block;padding-top:12px}.is-previsit .faq h2{font-size:25px}.is-previsit .faq details{padding:12px 0}.is-previsit .contact-banner{display:block;padding:26px 22px;margin:0 20px 10px;border-radius:12px}.is-previsit .contact-banner h2{font-size:24px}.is-previsit .contact-banner>div:last-child{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.is-previsit .contact-banner .button{font-size:12px;gap:7px;min-height:52px;padding:10px}.is-previsit .footer{padding-bottom:112px}.booking-bar .button{font-size:13px;flex-direction:row!important;gap:6px}.booking-bar{padding:9px 16px max(9px,env(safe-area-inset-bottom));gap:8px}
 .tour-page{padding:0}.tour-breadcrumb{padding:0 18px 8px;font-size:12px;gap:10px}.tour-breadcrumb .text-button{font-size:10px;text-align:end;max-width:48%}.product-intro{display:block;padding-bottom:22px}.product-gallery{display:flex;gap:8px;border-radius:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 18px}.product-gallery::-webkit-scrollbar{display:none}.gallery-photo,.gallery-photo:first-child{flex:0 0 92%;height:250px;border-radius:10px;scroll-snap-align:center}.gallery-photo>span{font-size:12px}.gallery-hint{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:0 22px;margin:10px 0 20px;gap:20px}.product-summary{padding:0 22px}.product-summary h1{font-size:25px;line-height:1.45;margin-bottom:9px}.product-summary .eyebrow{font-size:10px;margin-bottom:9px}.product-summary-lead{font-size:13px;margin-bottom:20px}.tour-facts{font-size:12px;gap:12px;padding:17px 0}.tour-facts>div{grid-template-columns:91px minmax(0,1fr);gap:12px}.summary-price{padding:18px 0 4px}.summary-price strong{font-size:28px}.summary-actions{display:none}.product-summary .fineprint{font-size:10px}
 .product-tabs{gap:0;padding:0 14px;justify-content:space-between}.product-tabs>a{flex:1;min-height:54px;font-size:12px;padding:7px 8px}.product-layout{display:block;padding:0 22px 15px}.product-aside{display:none}.product-article>section{padding:30px 0;scroll-margin-top:65px}.product-article h2{font-size:24px}.product-article .overview-lead{font-size:14px;line-height:1.8}.product-article>section>p{font-size:13px}.subheading{font-size:17px;margin-top:25px}.route-line{padding:13px 18px}.route-line li,.route-line .text-button{font-size:12px}.route-line .text-button{min-height:32px}.product-article .recommended-places>button{gap:13px;min-height:125px}.product-article .recommended-places img,.product-article .recommended-places .photo-missing{width:98px;min-height:142px}.product-article .recommended-places>button>span{padding:14px 12px 14px 0}.product-article .recommended-places strong{font-size:15px;line-height:1.5}.product-article .recommended-places small{font-size:12px;line-height:1.65}.recommended-places em{font-size:10px}.has-price{grid-template-columns:minmax(90px,1fr) minmax(70px,.8fr) minmax(100px,1.1fr);gap:7px}.bar-price{align-self:center;min-width:0}.bar-price small{font-size:10px;display:block;color:var(--muted)}.bar-price strong{font-size:19px;letter-spacing:-.6px;white-space:nowrap}.has-price .button{font-size:12px;padding:10px 7px;gap:3px;min-height:51px}.gallery-expanded>div{padding:22px}.gallery-expanded h2{font-size:21px}
}
@media(max-width:370px){.is-previsit .hero h1{font-size:29px}.is-previsit .product-card{grid-template-columns:104px minmax(0,1fr);gap:13px}.is-previsit .product-card h3{font-size:17px}.is-previsit .product-card .tour-price strong{font-size:21px}.bar-price strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.product-gallery{scroll-behavior:auto}.gallery-photo>img,.is-previsit .product-card .tour-photo img{transition:none}}
