:root{
  --ink:#102b30;
  --ink-soft:#29484b;
  --cream:#f6f0e5;
  --sand:#e9ddca;
  --blue:#4f7f8a;
  --blue-deep:#173e46;
  --mint:#91c8bd;
  --white:#fff;
  --line:rgba(16,43,48,.13);
  --shadow:0 24px 64px rgba(21,43,46,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Pretendard,"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fbfaf6;word-break:keep-all}
a{color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
.site-header{height:76px;display:flex;align-items:center;padding:0 max(22px,5vw);position:fixed;top:0;left:0;right:0;z-index:90;color:white;transition:.25s;background:linear-gradient(180deg,rgba(4,20,24,.36),transparent)}
.site-header.is-scrolled{background:rgba(251,250,246,.94);backdrop-filter:blur(16px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:10px}
.brand-ko{font-weight:950;font-size:24px;letter-spacing:-.06em}
.brand-en{font-weight:800;font-size:10px;letter-spacing:.18em;opacity:.72}
.desktop-nav{display:flex;gap:28px;margin-left:auto}
.desktop-nav a{text-decoration:none;font-size:12px;font-weight:800}
.header-cta{margin-left:26px;text-decoration:none;font-size:12px;font-weight:900;padding:11px 14px;border-radius:999px;background:#fff;color:var(--ink)}
.site-header.is-scrolled .header-cta{background:var(--ink);color:#fff}
.nav-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px}
.mobile-menu{position:fixed;inset:76px 0 auto 0;z-index:80;background:#fbfaf6;padding:22px;display:none;border-bottom:1px solid var(--line)}
.mobile-menu.is-open{display:grid}
.mobile-menu a{text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px;font-weight:900}
.mobile-menu-cta{margin-top:12px;background:var(--ink);color:white!important;text-align:center;border-radius:12px;border:0!important}

.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;color:white;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('/assets/images/vang-vieng-hero.webp') center 58%/cover no-repeat;transform:scale(1.02)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,27,.80) 0%,rgba(5,22,27,.48) 47%,rgba(5,22,27,.18) 72%),linear-gradient(0deg,rgba(4,17,20,.68) 0%,transparent 44%)}
.hero-content{position:relative;z-index:2;padding:160px max(22px,6vw) 180px;max-width:1050px}
.eyebrow{display:block;font-size:10px;letter-spacing:.18em;font-weight:950;color:var(--blue-deep);margin-bottom:18px}
.eyebrow.light{color:#d6eee8}
.hero h1{font-size:clamp(58px,7.5vw,116px);line-height:.91;letter-spacing:-.07em;margin:0}
.hero h1 em{font-style:normal;color:#b9e0d6}
.hero p{font-size:17px;line-height:1.75;max-width:650px;color:#d8e5e2;margin:28px 0 0}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:12px;text-decoration:none;font-size:13px;font-weight:900}
.btn.primary{background:#fff;color:#102b30!important}
.btn.glass{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);color:white}
.btn.mint{background:var(--mint);color:#0d2e31}
.hero-trust{position:absolute;z-index:2;left:max(22px,6vw);right:max(22px,6vw);bottom:36px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.22)}
.hero-trust div{padding:18px 22px 0 0}
.hero-trust small{font-size:9px;color:#a8c5bf}
.hero-trust b{display:block;margin-top:4px;font-size:13px}
.hero-trust span{font-size:11px;color:#b9c9c6}
.hero-scroll{position:absolute;z-index:3;right:max(22px,4vw);bottom:38px;text-decoration:none;display:flex;align-items:center;gap:10px;color:#dce7e4}
.hero-scroll span{font-size:8px;letter-spacing:.18em}
.hero-scroll i{width:32px;height:1px;background:#dce7e4}

.section{padding:120px max(22px,6vw)}
.section.dark{background:#0c252b;color:white}
.section.sand{background:var(--cream)}
.section-kicker{font-size:10px;letter-spacing:.17em;font-weight:900;color:var(--blue);margin-bottom:24px}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:start}
.intro h2,.section-head h2{font-size:clamp(48px,6vw,84px);line-height:.94;letter-spacing:-.065em;margin:0}
.intro h2 span{color:var(--blue)}
.intro-copy{max-width:650px}
.intro-copy p{font-size:18px;line-height:1.8;color:#526665;margin:0 0 20px}
.intro-copy strong{color:var(--ink)}
.section-head{margin-bottom:42px}
.section-head.split{display:grid;grid-template-columns:1fr .75fr;gap:7vw;align-items:end}
.section-head.split p{margin:0;color:#687776;font-size:15px;line-height:1.75}
.dark .section-head.split p{color:#a8b9b6}

.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.type-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:360px;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;background:#102d33}
.type-art{min-height:100%;background-size:cover;background-position:center}
.type-art-family{background:linear-gradient(rgba(20,54,59,.18),rgba(20,54,59,.18)),url('/assets/images/regions/luang-prabang-kuang-si.webp') center/cover}
.type-art-friends{background:url('/assets/images/vang-vieng-user-river.webp') center/cover}
.type-art-couple{background:linear-gradient(rgba(11,45,52,.20),rgba(11,45,52,.20)),url('/assets/images/regions/luang-prabang-mekong-sunset.webp') center 65%/cover}
.type-art-night{background:linear-gradient(145deg,#172d35,#533e4d)}
.type-copy{padding:28px}
.type-copy>span{font-size:9px;letter-spacing:.14em;color:#8ec4b8;font-weight:900}
.type-copy h3{font-size:32px;letter-spacing:-.045em;margin:12px 0 10px}
.type-copy p{font-size:13px;line-height:1.7;color:#b8c8c5}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.tag-row i{font-style:normal;font-size:9px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.08);color:#d3dfdd}
.type-copy .card-cta{display:inline-block;margin-top:22px;text-decoration:none;font-size:11px;font-weight:900;color:#b9e0d6}

.region-stack{display:grid;gap:22px}
.region-card{display:grid;grid-template-columns:1.2fr .8fr;text-decoration:none;border-radius:26px;overflow:hidden;background:white;border:1px solid var(--line);box-shadow:0 16px 44px rgba(29,52,52,.07)}
.region-card:nth-child(even){grid-template-columns:.8fr 1.2fr}
.region-card:nth-child(even) .region-image{order:2}
.region-image{min-height:420px}
.region-content{padding:48px;display:flex;flex-direction:column;justify-content:center}
.region-content span{font-size:9px;letter-spacing:.15em;font-weight:900;color:var(--blue)}
.region-content h3{font-size:52px;letter-spacing:-.055em;margin:14px 0}
.region-content p{font-size:15px;line-height:1.7;color:#667674}
.region-content b{margin-top:20px;font-size:12px}

.place-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.place-card{position:relative;min-height:330px;border-radius:24px;overflow:hidden}
.place-card.big{grid-row:span 2;min-height:676px}
.place-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,22,24,.74),transparent 60%)}
.place-overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:white}
.place-overlay span{font-size:9px;letter-spacing:.15em;font-weight:900;color:#cce4de}
.place-overlay h3{font-size:30px;margin:8px 0 4px}
.place-overlay p{font-size:12px;color:#d6e3e0;margin:0}

.guide-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.guide-copy h2{font-size:clamp(50px,6vw,82px);line-height:.94;letter-spacing:-.06em;margin:0}
.guide-copy h2 em{font-style:normal;color:var(--mint)}
.guide-copy>p{font-size:16px;line-height:1.75;color:#b5c3c1;max-width:620px;margin:26px 0}
.guide-points{display:grid;gap:10px;margin:28px 0}
.guide-points div{display:grid;grid-template-columns:36px 1fr;column-gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.11)}
.guide-points i{grid-row:span 2;font-style:normal;color:#83bfb3;font-size:10px}
.guide-points b{font-size:13px}
.guide-points span{font-size:11px;color:#9fb1ae}
.guide-profile{border:1px solid rgba(255,255,255,.12);border-radius:28px;overflow:hidden;background:#102d33}
.profile-photo{height:430px;background:linear-gradient(150deg,#234a50,#698d88)}
.profile-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 63%}
.guide-roman{display:block;margin-top:3px;color:#83bfb3;font-size:13px;letter-spacing:.12em}
.guide-gallery{margin-top:54px}
.guide-gallery-head h3{margin:10px 0 18px;font-size:25px}
.guide-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-gallery-grid figure{margin:0;border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden;background:#17373b}
.guide-gallery-grid img{display:block;width:100%;height:260px;object-fit:cover}
.guide-gallery-grid figcaption{padding:13px 16px;color:#d8e6e1;font-size:13px}
@media(max-width:900px) and (min-width:641px){.guide-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.guide-gallery{margin-top:36px}.guide-gallery-grid{grid-template-columns:1fr}.guide-gallery-grid img{height:220px}}
.profile-silhouette{height:100%;display:flex;align-items:flex-end;justify-content:center;padding-bottom:22px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.13),transparent 18%)}
.profile-silhouette span{font-size:9px;letter-spacing:.17em;color:#d5e3e0}
.profile-info{padding:30px}
.profile-info h3{font-size:28px;margin:8px 0}
.profile-info p{font-size:13px;line-height:1.7;color:#aebfbc}
.profile-meta{padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}
.profile-meta span{display:block;font-size:9px;color:#80b5aa}
.profile-meta b{display:block;margin-top:5px;font-size:12px}

.day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.day-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:white}
.day-card.accent{background:var(--blue-deep);color:white}
.day-card>span{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--blue)}
.day-card.accent>span{color:#9cd0c5}
.day-card h3{font-size:27px;letter-spacing:-.04em;margin:12px 0}
.day-card ol{margin:18px 0;padding-left:20px}
.day-card li{padding:7px 0;border-bottom:1px solid rgba(16,43,48,.09);font-size:13px}
.day-card.accent li{border-color:rgba(255,255,255,.12)}
.day-card p{font-size:12px;line-height:1.7;color:#687a78}
.day-card.accent p{color:#b5c5c2}
.sample-note{font-size:10px;color:#7b8987;margin-top:16px}

.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.journal-grid .journal-card{padding:26px;border-radius:18px;background:white;border:1px solid var(--line)}
.journal-grid span{font-size:8px;letter-spacing:.14em;color:var(--blue);font-weight:900}
.journal-grid h3{font-size:22px;letter-spacing:-.035em;margin:12px 0}
.journal-grid p{font-size:12px;line-height:1.65;color:#667674}
.journal-grid .card-cta{font-size:10px;font-weight:900;text-decoration:none}

.faq-list{max-width:1000px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 0;font-size:18px;font-weight:900}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list p{margin:0 0 22px;color:#61716f;line-height:1.7;max-width:850px}

.inquiry-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}
.inquiry-copy h2{font-size:clamp(52px,6vw,84px);line-height:.94;letter-spacing:-.06em;margin:0}
.inquiry-copy h2 em{font-style:normal;color:var(--mint)}
.inquiry-copy>p{font-size:16px;line-height:1.75;color:#b3c3c0}
.inquiry-note{margin-top:30px;padding:18px;border-radius:14px;border:1px solid rgba(255,255,255,.11)}
.inquiry-note b{display:block;font-size:12px}
.inquiry-note span{font-size:10px;color:#9fb0ad}
.guide-form{background:#f9f7f1;color:var(--ink);padding:30px;border-radius:24px}
.form-head{margin-bottom:22px}
.form-head span{display:block;font-size:9px;letter-spacing:.15em;color:var(--blue);font-weight:900}
.form-head b{display:block;font-size:28px;margin-top:7px}
.field-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.guide-form label{display:block;margin-bottom:14px}
.guide-form label>span,.choice-field legend{display:block;font-size:10px;font-weight:850;color:#546765;margin-bottom:7px}
.guide-form input,.guide-form select,.guide-form textarea{width:100%;border:1px solid #d4d9d4;border-radius:10px;background:white;padding:13px 14px;font:inherit;font-size:13px;color:var(--ink)}
.guide-form textarea{resize:vertical}
.choice-field{border:0;padding:0;margin:0 0 14px}
.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.choice-grid.interests{grid-template-columns:repeat(5,1fr)}
.choice-grid label{margin:0}
.choice-grid input{display:none}
.choice-grid span{display:flex!important;min-height:42px;align-items:center;justify-content:center;margin:0!important;border:1px solid #d7ddd8;border-radius:10px;background:white;font-size:11px!important;cursor:pointer}
.choice-grid input:checked+span{background:var(--blue-deep);color:white;border-color:var(--blue-deep)}
.privacy-check{display:flex!important;gap:10px;align-items:flex-start}
.privacy-check input{width:auto;margin-top:3px}
.privacy-check span{margin:0!important;font-size:10px!important;line-height:1.55}
.privacy-check em{font-style:normal;color:#758683}
.submit-btn{width:100%;min-height:52px;border:0;border-radius:11px;background:var(--blue-deep);color:white;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer}
.form-status{font-size:11px;color:#57706b;margin:10px 0 0}

footer{padding:60px max(22px,6vw);background:#071b20;color:white;display:grid;grid-template-columns:1fr auto;gap:30px}
.footer-brand span{font-size:24px;font-weight:950}.footer-brand b{margin-left:10px;font-size:10px;letter-spacing:.18em;color:#9ec5bc}.footer-brand p{font-size:11px;color:#8da29f}
.footer-links{display:flex;gap:18px}.footer-links a{text-decoration:none;font-size:11px;color:#c5d2cf}
.footer-note{grid-column:1/-1;font-size:10px;color:#81928f;line-height:1.65;max-width:1000px}
footer small{color:#71827f;font-size:9px}
.mobile-sticky{display:none}

@media(max-width:980px){
  .desktop-nav,.header-cta{display:none}.nav-toggle{display:block}
  .intro-grid,.section-head.split,.guide-layout,.inquiry-layout{grid-template-columns:1fr}
  .type-grid{grid-template-columns:1fr}
  .region-card,.region-card:nth-child(even){grid-template-columns:1fr}
  .region-card:nth-child(even) .region-image{order:0}
  .place-grid{grid-template-columns:1fr}.place-card.big{grid-row:auto;min-height:430px}
  .day-grid,.journal-grid{grid-template-columns:1fr}
  .choice-grid.interests{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .site-header{height:64px;padding:0 18px}.mobile-menu{top:64px}
  .brand-ko{font-size:20px}.brand-en{font-size:8px}
  .section{padding:78px 18px}
  .hero{min-height:820px}
  .hero-content{padding:150px 18px 220px}
  .hero h1{font-size:clamp(34px,9.2vw,38px);line-height:1;max-width:100%;overflow-wrap:anywhere;word-break:normal}
  .hero p{font-size:14px}
  .hero-actions{display:grid}.hero-actions .btn{width:100%}
  .hero-trust{left:18px;right:18px;bottom:60px;grid-template-columns:1fr}
  .hero-trust div{display:grid;grid-template-columns:30px 1fr;column-gap:8px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09)}
  .hero-trust small{grid-row:span 2}.hero-trust b{margin:0}
  .hero-scroll{display:none}
  .intro h2,.section-head h2{font-size:42px}
  .intro-copy p{font-size:15px}
  .type-card{grid-template-columns:1fr;min-height:0}.type-art{min-height:220px}.type-copy{padding:22px}
  .region-image{min-height:260px}.region-content{padding:24px}.region-content h3{font-size:38px}
  .place-card,.place-card.big{min-height:360px}
  .guide-copy h2,.inquiry-copy h2{font-size:44px}
  .profile-photo{height:330px}
  .field-grid.two{grid-template-columns:1fr}.choice-grid{grid-template-columns:repeat(2,1fr)}.choice-grid.interests{grid-template-columns:repeat(2,1fr)}
  .guide-form{padding:22px}
  footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}
  .mobile-sticky{display:flex;position:fixed;z-index:70;left:14px;right:14px;bottom:14px;min-height:50px;align-items:center;justify-content:center;border-radius:12px;background:var(--blue-deep);color:white;text-decoration:none;font-size:13px;font-weight:900;box-shadow:0 14px 30px rgba(9,34,38,.28)}
  body{padding-bottom:76px}
}



/* REGION DETAIL */
.region-detail{background:#fbfaf6;color:var(--ink)}
.region-top{height:68px;display:flex;align-items:center;padding:0 max(18px,5vw);position:absolute;z-index:20;left:0;right:0;color:white}
.region-top .back{margin-left:auto;text-decoration:none;font-size:11px;font-weight:900;padding:10px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.region-hero{min-height:78svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:white}
.region-hero img{position:absolute;inset:0}
.region-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,23,27,.72),rgba(4,23,27,.18)),linear-gradient(0deg,rgba(4,23,27,.68),transparent 48%)}
.region-hero-copy{position:relative;z-index:2;padding:140px max(22px,6vw) 80px;max-width:900px}
.region-hero-copy span{font-size:10px;letter-spacing:.18em;font-weight:950;color:#d7ebe6}
.region-hero-copy h1{font-size:clamp(64px,9vw,132px);line-height:.88;letter-spacing:-.075em;margin:16px 0}
.region-hero-copy p{font-size:16px;line-height:1.7;color:#d9e4e1;max-width:650px}
.region-story{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}
.region-story h2{font-size:clamp(44px,5.6vw,76px);line-height:.96;letter-spacing:-.06em;margin:0}
.region-story p{font-size:16px;line-height:1.8;color:#60706e;margin:0 0 18px}
.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.highlight-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:white}
.highlight-card span{font-size:9px;letter-spacing:.13em;font-weight:900;color:var(--blue)}
.highlight-card h3{font-size:23px;margin:10px 0 8px;letter-spacing:-.035em}
.highlight-card p{font-size:12px;line-height:1.65;color:#687876;margin:0}
.region-photo-wide{height:520px;border-radius:26px;overflow:hidden;margin-top:28px}
.region-day{display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw;align-items:start}
.region-day h2{font-size:clamp(42px,5vw,68px);line-height:.96;letter-spacing:-.055em;margin:0}
.region-timeline{display:grid}
.region-timeline div{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.region-timeline span{font-size:10px;font-weight:900;color:var(--blue)}
.region-timeline b{font-size:17px}
.region-timeline p{grid-column:2;font-size:12px;line-height:1.6;color:#697876;margin:0}
.region-guide-cta{border-radius:26px;padding:42px;background:var(--blue-deep);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px}
.region-guide-cta h2{font-size:34px;letter-spacing:-.045em;margin:0 0 8px}
.region-guide-cta p{margin:0;color:#b6c9c5;font-size:13px}
.region-guide-cta a{flex:0 0 auto;background:var(--mint);color:#0c2d31;text-decoration:none;font-weight:900;padding:14px 17px;border-radius:11px;font-size:12px}
@media(max-width:820px){
  .region-story,.region-day{grid-template-columns:1fr}
  .highlight-grid{grid-template-columns:1fr}
  .region-photo-wide{height:340px}
  .region-guide-cta{display:block;padding:30px}
  .region-guide-cta a{display:inline-flex;margin-top:20px}
}
@media(max-width:600px){
  .region-top{height:60px}.region-hero{min-height:680px}
  .region-hero-copy{padding:120px 18px 54px}.region-hero-copy h1{font-size:58px}
  .region-photo-wide{height:280px}
  .region-guide-cta{border-radius:18px}
}



/* PRETRIP CHECK + INSURANCE INTEGRATION V1 */
.type-prep-tip{display:block;margin-top:12px;font-size:10px!important;line-height:1.6;color:#9fb5b1!important}
.type-prep-tip a{display:inline!important;margin:0!important;color:#c9e2dc!important;text-decoration:underline;text-underline-offset:2px}

.pretrip{background:#f7f5ee}
.pretrip .section-head.split p{color:#677875}
.pretrip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pretrip-card{
  position:relative;
  min-height:250px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(27,54,54,.05);
}
.pretrip-card>span{display:block;margin-top:18px;font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--blue)}
.pretrip-card h3{font-size:24px;line-height:1.1;letter-spacing:-.04em;margin:10px 0}
.pretrip-card p{font-size:12.5px;line-height:1.7;color:#687876;margin:0}
.pretrip-icon{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#edf3f0;color:var(--blue-deep)
}
.pretrip-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pretrip-card.insurance-card{
  background:linear-gradient(145deg,#173e46,#224f56);
  color:#fff;
  border-color:rgba(255,255,255,.08);
  box-shadow:0 18px 44px rgba(20,56,61,.14)
}
.insurance-card .pretrip-icon{background:rgba(255,255,255,.09);color:#bfe1d9}
.insurance-card>span{color:#a9d2c8}
.insurance-card h3{font-size:27px;color:#fff}
.insurance-card p{color:#c7d6d3}
.insurance-check-link{
  display:inline-flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:44px;margin-top:18px;padding:0 14px;border-radius:10px;
  background:#d6eee8;color:#10363d;text-decoration:none;
  font-size:11px;font-weight:950
}
.insurance-check-link b{font-size:14px}
.insurance-card>small{display:block;margin-top:10px;font-size:9px;line-height:1.55;color:#a9bbb8}
.pretrip-disclaimer{margin:18px 0 0;font-size:10px;line-height:1.65;color:#788783}
@media(max-width:980px){.pretrip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .pretrip-grid{grid-template-columns:1fr}
  .pretrip-card{min-height:0;padding:20px;border-radius:16px}
  .insurance-card h3{font-size:24px}
  .insurance-check-link{width:100%}
}

/* Desktop heading line integrity and inquiry details */
@media (min-width: 769px) {
  .hero-content { max-width: 1250px; }
  .hero h1 { font-size: clamp(48px, 5.1vw, 78px); line-height: 1.07; letter-spacing: -.055em; }
  .hero h1 em { white-space: nowrap; }
}
.honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.footer-business { margin-top: 18px; color: #b7c9cc; font-size: 13px; line-height: 1.8; }
.footer-business a, .privacy-check a { color: #a9e0d4; text-decoration: underline; text-underline-offset: 3px; }
.submit-btn:disabled { opacity: .65; cursor: wait; }

/* Lodging guide */
.stays-home{background:#edf3ed}.stays-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.stays-home-grid a{display:block;background:#fff;border-radius:18px;padding:30px;color:#203b37;text-decoration:none;min-height:200px;transition:transform .2s}.stays-home-grid a:hover{transform:translateY(-4px)}.stays-home-grid span,.stays-home-grid b{font-size:12px;letter-spacing:.12em;color:#328b78}.stays-home-grid h3{font-size:28px;margin:24px 0 8px}.stays-home-grid p{margin:0 0 18px}.stays-home-note{font-size:13px;margin-top:20px;color:#52615c}
.stay-page{background:#f6f5ef;color:#183b37}.stay-header{display:flex;align-items:center;justify-content:space-between;padding:18px min(6vw,90px);background:#fff}.stay-header nav{display:flex;gap:18px}.stay-header nav a,.stay-footer a{color:inherit}.stay-hero{position:relative;height:460px;color:white;overflow:hidden}.stay-hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}.stay-hero>div{position:absolute;left:min(8vw,120px);bottom:54px;max-width:650px}.stay-hero h1{font-size:clamp(42px,6vw,74px);margin:12px 0}.stay-hero p{font-size:19px;line-height:1.6}.stay-intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.stay-intro h2,.stay-route h2{font-size:clamp(32px,4vw,54px);line-height:1.18}.stay-intro p,.stay-route p{line-height:1.8}.stay-filters{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0}.stay-filters button{border:1px solid #c1d1ca;border-radius:30px;background:white;color:#244b43;padding:10px 16px;cursor:pointer;font:inherit}.stay-filters button.active,.stay-filters button:hover{background:#234e46;color:#fff}.stay-count,.stay-disclosure{font-size:13px;color:#53665d}.stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stay-card{background:white;border-radius:16px;padding:25px;display:flex;flex-direction:column;min-height:335px;box-shadow:0 8px 28px #18443b0c}.stay-card-top,.stay-card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center}.stay-card-top span{font-size:12px;letter-spacing:.1em;color:#328b78}.stay-card-top small,.stay-card-foot small{color:#667b70;font-size:11px}.stay-card h3{font-size:23px;margin:22px 0 10px;line-height:1.25}.stay-card p{line-height:1.65;font-size:14px;margin:0 0 18px}.stay-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.stay-tags span{background:#edf4ed;border-radius:20px;padding:5px 9px;font-size:11px}.stay-card .stay-nearby{margin:16px 0;color:#4e665d;font-size:12px}.stay-card-foot{border-top:1px solid #e5ebe6;padding-top:15px;align-items:flex-end}.stay-card-foot a,.stay-route a{color:#167463;font-weight:700;text-decoration:none}.stay-card-foot a{font-size:13px;text-align:right}.stay-disclosure{margin-top:26px;line-height:1.7}.stay-empty{padding:20px}.stay-route{display:grid;grid-template-columns:1fr 1fr;gap:10%}.stay-route>div+div{border-left:1px solid #d8e0d6;padding-left:10%}.stay-route h3{font-size:28px}.stay-footer{background:#17332f;color:#c4d8ce;padding:35px min(6vw,90px);font-size:13px}.stay-footer p{margin:12px 0 0}
@media(max-width:800px){.stays-home-grid,.stay-grid{grid-template-columns:1fr 1fr}.stay-header{display:block}.stay-header nav{overflow-x:auto;white-space:nowrap;margin-top:14px}.stay-hero{height:390px}.stay-intro,.stay-route{grid-template-columns:1fr;gap:15px}.stay-route>div+div{border-left:0;border-top:1px solid #d8e0d6;padding:20px 0 0}}
@media(max-width:560px){.stays-home-grid,.stay-grid{grid-template-columns:1fr}.stays-home-grid a{min-height:0}.stay-hero>div{left:24px;right:24px;bottom:25px}.stay-hero p{font-size:16px}.stay-card{min-height:0}.stay-card-foot{align-items:center}.stay-filters button{padding:8px 12px}.stay-header nav{font-size:13px}}
/* Keep Korean copy inside narrow lodging viewports. */
.stay-page{word-break:normal;overflow-wrap:anywhere}
.stay-hero>div{max-width:calc(100vw - 48px)}
.stay-intro>* ,.stay-route>* ,.stay-card>*{min-width:0}
@media(max-width:800px){.stay-intro,.stay-route{grid-template-columns:minmax(0,1fr)}}

.stay-card-guide{display:block;margin-top:16px;color:#41665c;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:700}.stay-property-photo{height:170px;object-fit:cover;border-radius:10px;margin-bottom:12px}

.travel-photo-credit{font:11px/1.6 system-ui;color:#678080;padding:14px max(22px,6vw)}.travel-photo-credit a{text-decoration:underline;text-underline-offset:2px}.stay-page .travel-photo-credit{background:#f6f0e5}

.stay-search-label{display:block;font-size:13px;color:#41645d}.stay-search{display:block;width:min(100%,420px);margin:8px 0 18px;padding:12px 15px;border:1px solid #bdcfc6;border-radius:10px;background:white;font:inherit;color:#193c36}.stay-more{display:block;margin:28px auto 10px;padding:12px 30px;border:1px solid #1f6253;border-radius:24px;background:#1f6253;color:white;cursor:pointer;font:700 14px system-ui}.stay-more[hidden]{display:none}.stay-all-links{margin-top:34px;background:#fff;border-radius:16px;padding:24px}.stay-all-links h3{margin:0 0 8px}.stay-all-links p{line-height:1.6}.stay-all-links a{display:inline-block;margin:12px 18px 0 0;color:#176d5b;font-weight:700;text-underline-offset:3px}
.stay-card[hidden]{display:none}

/* Tripdam quote request V1 */
.quote{scroll-margin-top:72px}.quote-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.2fr);gap:clamp(25px,5vw,85px);align-items:start}.quote-info{position:sticky;top:110px}.quote-info h3{font-size:clamp(25px,3vw,38px);margin:0 0 16px}.quote-info p{line-height:1.8}.quote-info ol{list-style:none;counter-reset:quote;display:grid;gap:14px;padding:0;margin:35px 0}.quote-info li{counter-increment:quote;display:flex;align-items:center;gap:14px;font-weight:700}.quote-info li:before{content:counter(quote,decimal-leading-zero);display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;background:#dcefe7;color:#176b59}.quote-info .quote-caution{padding:20px;border-left:3px solid #176b59;background:#fff;font-size:14px}.quote-form{background:#fff;border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:0 14px 45px rgba(18,62,48,.09);display:grid;gap:22px}.quote-form .form-head{margin:0 0 4px}.quote-form label:not(.privacy-check):not(.honeypot):not(.quote-inline){display:grid;gap:8px}.quote-form input:not([type=radio]):not([type=checkbox]),.quote-form select,.quote-form textarea{width:100%;min-height:50px;border:1px solid #c6d8d0;border-radius:10px;padding:12px 14px;background:#fff;font:inherit;color:#18382f}.quote-form textarea{min-height:110px;resize:vertical}.quote-form input:focus-visible,.quote-form select:focus-visible,.quote-form textarea:focus-visible{outline:2px solid #176b59;outline-offset:2px}.quote-choice{border:0;padding:0;margin:0;min-width:0}.quote-choice legend{font-weight:700;margin-bottom:12px}.quote-options{display:flex;gap:9px;flex-wrap:wrap}.quote-options label{position:relative;display:block!important;cursor:pointer}.quote-options input{position:absolute;opacity:0;inset:0}.quote-options span{display:grid;place-items:center;min-height:50px;border:1px solid #bbd2c8;border-radius:10px;padding:9px 16px;background:#f8fbf8;font-weight:600;white-space:nowrap}.quote-options input:checked+span{border-color:#176b59;background:#e0f1e8;color:#105648}.quote-options input:focus-visible+span{outline:2px solid #176b59;outline-offset:2px}.quote-optional{border-top:1px solid #e1eae5;padding-top:18px;display:grid;gap:15px}.quote-optional>span{font-size:14px;font-weight:700;color:#617a70}.quote-inline{display:flex;align-items:center;gap:10px;min-height:42px}.quote-inline input,.quote-form .privacy-check input{width:20px;height:20px;flex:none;accent-color:#176b59}.quote-form .privacy-check{display:flex;gap:10px;align-items:flex-start;line-height:1.55}.quote-form .submit-btn{min-height:56px;cursor:pointer}.quote-form .submit-btn:disabled{opacity:.65;cursor:wait}.quote-final{text-align:center;padding:64px 20px 85px;background:#f1f5ec}.quote-final p{font-size:24px;font-weight:700}.quote-final .btn{margin-top:12px}@media(max-width:780px){.quote-layout{grid-template-columns:1fr}.quote-info{position:static}.quote-info ol{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-form{gap:20px}}@media(max-width:540px){.quote-info ol{grid-template-columns:1fr;gap:8px}.quote-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-options label:last-child:nth-child(odd){grid-column:1/-1}.quote-options span{white-space:normal;text-align:center;padding:9px}.quote-form .field-grid.two{grid-template-columns:1fr}.quote-final{padding-bottom:110px}}

/* Korean-first stay cards */
.stay-card{padding:0;overflow:hidden;min-height:0}.stay-card-image{position:relative;margin:0 0 18px;height:154px;background:#dce7df}.stay-card-image img{width:100%;height:100%;object-fit:cover;display:block}.stay-card-image figcaption{position:absolute;bottom:8px;left:8px;background:rgba(8,32,31,.82);color:white;border-radius:6px;padding:5px 8px;font-size:11px}.stay-card>.stay-card-top,.stay-card>h3,.stay-card>.stay-summary,.stay-card>.stay-facts,.stay-card>.stay-tags,.stay-card>.stay-card-foot,.stay-card>.stay-external-note,.stay-card>.stay-card-guide{margin-left:22px;margin-right:22px}.stay-card h3{margin-top:12px;font-size:21px}.stay-card .stay-summary{margin-bottom:12px;font-size:15px;font-weight:600}.stay-facts{display:grid;gap:7px;margin-bottom:16px}.stay-card .stay-fact{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.5;margin:0;color:#475e55}.stay-fact b{color:#214b40}.stay-card .stay-tags{margin-top:auto}.stay-card-foot{display:grid;grid-template-columns:1fr;gap:7px;margin-top:18px;align-items:stretch}.stay-card-foot a{display:block;border-radius:9px;background:#176b59;color:white!important;padding:12px;text-align:center;font-size:14px}.stay-card-foot small{font-size:12px}.stay-card .stay-external-note{display:block;color:#687a73;font-size:11px;line-height:1.45;margin-top:8px}.stay-card .stay-card-guide{margin-top:15px;margin-bottom:22px}.stay-filters button{min-height:44px}.stay-filters button:focus-visible,.stay-card a:focus-visible{outline:2px solid #176b59;outline-offset:3px}@media(max-width:560px){.stay-card-image{height:180px}.stay-card{border-radius:14px}}

/* Travel period and guide days */
.quote-period,.quote-preferred{display:grid;gap:10px}.quote-period>p,.quote-preferred>p,.quote-help{margin:0;color:#526e63;font-size:14px;line-height:1.55}.quote-period>small{color:#176b59;font-weight:700;font-size:14px}.quote-choice .quote-help{margin:0 0 12px}.quote-full-note{color:#176b59;font-size:14px;margin:10px 0}.quote-choice #exactDaysWrap{margin-top:14px;max-width:260px}.quote-date-row{display:flex;gap:8px;margin:8px 0}.quote-date-row input{flex:1;min-width:0}.quote-date-row button,.quote-add-date{min-height:44px;border:1px solid #bbd2c8;background:#f8fbf8;border-radius:9px;color:#176b59;font:700 14px system-ui;padding:8px 14px;cursor:pointer}.quote-date-row button:focus-visible,.quote-add-date:focus-visible{outline:2px solid #176b59;outline-offset:2px}.quote-preferred small{font-weight:400;color:#65766f}@media(max-width:540px){.quote-period .field-grid.two{grid-template-columns:1fr}.quote-date-row{align-items:stretch}}

.quote-form #exactDaysWrap[hidden]{display:none}

.travel-hub{background:#ecf4f1}.travel-hub .section-head h2{font-size:clamp(42px,5vw,74px)}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hub-grid a{min-height:190px;padding:24px;border-radius:18px;border:1px solid rgba(16,43,48,.12);background:white;display:flex;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s}
.hub-grid a:hover,.hub-grid a:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow)}
.hub-grid span{color:#507983;font-size:12px;font-weight:900}.hub-grid strong{font-size:22px;line-height:1.35;margin-top:18px}.hub-grid small{font-size:14px;font-weight:800;margin-top:auto;padding-top:18px}
.hub-foot{font-size:14px;color:#496463;margin:22px 0 0}.hub-foot a{font-weight:800}
@media(max-width:760px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-grid a{padding:18px;min-height:156px}.hub-grid strong{font-size:17px;margin-top:12px}.hub-grid small{font-size:13px}}
@media(max-width:390px){.hub-grid{grid-template-columns:1fr}.hub-grid a{min-height:122px}}
.region-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}.region-practical-grid article{border:1px solid var(--line);border-radius:14px;padding:22px;background:white}.region-practical-grid h3{margin:0 0 8px;font-size:20px}.region-practical-grid p{margin:0;color:#526665;line-height:1.7}.region-practical>a{font-weight:800}@media(max-width:680px){.region-practical-grid{grid-template-columns:1fr}}.travel-hub .prep-progress{max-width:1000px;margin:0 0 24px;padding:20px;background:rgba(255,255,255,.76);border:1px solid rgba(16,43,48,.12);border-radius:16px}.travel-hub .prep-progress-head{display:flex;justify-content:space-between;font-size:17px}.travel-hub .prep-progress-head b{color:#176b59}.travel-hub .prep-progress progress{width:100%;height:10px;accent-color:#176b59;margin:12px 0}.travel-hub .prep-progress-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.travel-hub .prep-progress-steps a{padding:9px;background:#fff;border-radius:8px;text-decoration:none;font-size:13px}.travel-hub .prep-progress-steps a.done{color:#176b59;font-weight:800}.travel-hub .prep-progress small{display:block;margin-top:8px;color:#526665;font-size:12px}@media(max-width:680px){.travel-hub .prep-progress-steps{grid-template-columns:repeat(2,1fr)}}
/* Nightlife card: actual Vientiane evening market */
.type-card img.type-art-night{width:100%;height:100%;min-height:100%;object-fit:cover;display:block}
@media(max-width:768px){.type-card img.type-art-night{height:220px;min-height:220px}}

/* Golf travel card and conditional quote fields */
.type-card.golf{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.type-art-golf{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center;filter:saturate(1.14) contrast(1.04)}
.golf-quote-fields[hidden]{display:none!important}
@media(max-width:700px){.type-card.golf{display:block}.type-art-golf{height:230px;min-height:0}}

/* Whole-card links with visible keyboard focus. */
.type-card,.place-card,.journal-card{color:inherit;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.type-card:hover,.place-card:hover,.journal-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(2,18,22,.18)}
.type-card:focus-visible,.place-card:focus-visible,.journal-card:focus-visible{outline:3px solid #f3b956;outline-offset:4px}
.journal-grid .journal-card{display:block;color:inherit}
.journal-grid .card-cta{display:inline-block;margin-top:10px;color:var(--blue)}
@media(prefers-reduced-motion:reduce){.type-card,.place-card,.journal-card{transition:none}}

/* Flight and stay assistance */
.booking-help{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(24px,5vw,80px);align-items:center;background:#f8f2e7}
.booking-help-copy h2{font-size:clamp(38px,5.2vw,68px);line-height:1.08;letter-spacing:-.05em;margin:16px 0 24px}
.booking-help-copy p{max-width:640px;font-size:17px;line-height:1.75;color:#415953;margin:0 0 26px}
.booking-help-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.booking-help-secondary{font-size:14px;font-weight:800;text-underline-offset:4px}
.booking-help-copy>small{display:block;max-width:640px;margin-top:22px;color:#546862;font-size:12px;line-height:1.6}
.booking-help-steps{display:grid;gap:12px}
.booking-help-steps>div{display:grid;grid-template-columns:40px 1fr;gap:3px 14px;background:#fff;border:1px solid #dce6df;border-radius:16px;padding:20px}
.booking-help-steps b{grid-row:span 2;color:#176b59;font-size:18px}.booking-help-steps strong{font-size:17px}.booking-help-steps span{font-size:13px;line-height:1.55;color:#526861}
.booking-help-choice legend small{font-size:13px;font-weight:500;color:#65766f}
@media(max-width:780px){.booking-help{grid-template-columns:1fr}.booking-help-copy p{font-size:15px}.booking-help-actions .btn{width:100%;text-align:center}.booking-help-steps>div{padding:16px}}

/* Optional quote fields stay available without lengthening the first mobile view. */
.quote-extra{margin:18px 0;border:1px solid #d9e1dc;border-radius:12px;padding:0 14px;background:#f8faf8}.quote-extra>summary{cursor:pointer;list-style:none;padding:16px 4px;font-weight:700;min-height:52px}.quote-extra>summary::-webkit-details-marker{display:none}.quote-extra>summary:after{content:'+';float:right;font-size:20px}.quote-extra[open]>summary:after{content:'−'}.quote-extra>summary small{font-weight:400}.quote-extra .quote-preferred,.quote-extra .booking-help-choice,.quote-extra .quote-extra-body{padding:0 4px 14px;margin:0;border:0}.quote-extra .quote-optional{margin-top:12px}

/* Signature and private trips use real destination photos. */
.type-card img.type-art-signature,.type-card img.type-art-private{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}
.type-card img.type-art-signature{object-position:center 52%}
.type-card img.type-art-private{object-position:center 50%}
@media(max-width:768px){.type-card img.type-art-signature,.type-card img.type-art-private{height:220px;min-height:220px}}

.signature-note{margin:14px 0 4px;padding:18px 19px;border-radius:14px;background:#eaf3e9;border:1px solid #b9d7c5;color:#173d34}
.signature-note[hidden]{display:none!important}
.signature-note strong{display:block;font-size:17px}
.signature-note p{margin:7px 0 12px;line-height:1.55;font-size:14px}
.signature-note ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}
.signature-note li{font-size:13px;line-height:1.45;font-weight:700}
.signature-note li:before{content:"✓ ";color:#168061}
@media(max-width:520px){.signature-note ul{grid-template-columns:1fr}}

/* Consent must remain readable and easy to tap in both request forms. */
.quote-form .privacy-check,.guide-form .privacy-check{gap:14px;align-items:flex-start;min-height:52px;cursor:pointer}
.quote-form .privacy-check input,.guide-form .privacy-check input{width:28px;height:28px;min-width:28px;min-height:28px;margin:0;flex:none;accent-color:#176b59;cursor:pointer}
.quote-form .privacy-check span,.guide-form .privacy-check span{font-size:16px!important;line-height:1.65;color:#173d34}
.quote-form .privacy-check a{color:#176b59;font-weight:700}
.guide-form .privacy-check span{color:#f2faf6}
.guide-form .privacy-check a{color:#b9f0e0;font-weight:700}


.back-to-top{position:fixed;z-index:69;right:20px;bottom:24px;display:flex;gap:5px;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0 12px;border:1px solid #b9d3ce;border-radius:999px;background:#fff;color:#123e42;box-shadow:0 8px 24px rgba(9,34,38,.18);font-size:13px;font-weight:700;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.back-to-top:focus-visible{outline:3px solid #40bfb1;outline-offset:3px}
.back-to-top span{font-size:12px}
@media(max-width:640px){.back-to-top{right:18px;bottom:calc(78px + env(safe-area-inset-bottom));min-width:48px;min-height:48px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* TRIPDAM AD LANDING · TRAVEL DESIRE V1 */
.dream-scenes{background:#f3eee5}
.dream-scenes .section-head{margin-bottom:30px}
.dream-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dream-card{position:relative;min-height:430px;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 20px 44px rgba(22,47,49,.12)}
.dream-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.dream-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,21,24,.82) 0%,rgba(4,21,24,.18) 58%,rgba(4,21,24,.04) 100%)}
.dream-card span,.dream-card strong,.dream-card b{position:absolute;z-index:2;left:22px;right:22px}
.dream-card span{bottom:118px;font-size:10px;letter-spacing:.14em;font-weight:900;color:#cce5de}
.dream-card strong{bottom:58px;font-size:22px;line-height:1.18;letter-spacing:-.04em}
.dream-card b{bottom:24px;font-size:11px}
.dream-card:hover img{transform:scale(1.035)}
.form-soft-note{margin:9px 0 0;font-size:12px;line-height:1.6;color:#657876;font-weight:600}
.type-card.signature,.type-card.private{box-shadow:inset 0 0 0 1px rgba(145,200,189,.08)}
@media(max-width:980px){.dream-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.dream-scenes{padding-top:66px;padding-bottom:66px}.dream-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 2px 8px}.dream-card{flex:0 0 82vw;min-height:420px;scroll-snap-align:start}.dream-card strong{font-size:24px}.hero-content{padding-top:132px}.hero h1{font-size:clamp(34px,9vw,39px)}.hero p{line-height:1.62}}

/* TRIPDAM DESIRE UPGRADE V2 · CINEMATIC HERO + IMAGINE YOUR TRIP */
.hero-slide{opacity:0;animation:tripdamHeroCrossfade 18s ease-in-out infinite;transform:scale(1.035)}
.hero-slide-1{background:url('/assets/images/vang-vieng-hero.webp') center 58%/cover no-repeat;animation-delay:0s}
.hero-slide-2{background:url('/assets/images/regions/luang-prabang-mekong-sunset.webp') center 55%/cover no-repeat;animation-delay:6s}
.hero-slide-3{background:url('/assets/images/regions/vientiane-night-market.webp') center 50%/cover no-repeat;animation-delay:12s}
@keyframes tripdamHeroCrossfade{0%{opacity:0;transform:scale(1.045)}7%{opacity:1}30%{opacity:1;transform:scale(1.01)}38%{opacity:0}100%{opacity:0}}
.hero-shade{z-index:1}.hero-content,.hero-trust,.hero-scroll{z-index:2}
.trip-imagine{background:#eef2ed}
.imagine-tabs{display:flex;gap:8px;margin:0 0 24px}
.imagine-tabs button{border:1px solid #c9d6d0;background:#fff;color:#29484b;min-height:44px;padding:0 18px;border-radius:999px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.imagine-tabs button.is-active{background:#173e46;color:#fff;border-color:#173e46}
.imagine-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:stretch}
.imagine-panel[hidden]{display:none}
.imagine-visual{position:relative;min-height:560px;border-radius:26px;overflow:hidden}
.imagine-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,24,27,.78),transparent 60%)}
.imagine-visual img{width:100%;height:100%;object-fit:cover}
.imagine-visual span,.imagine-visual strong{position:absolute;z-index:2;left:28px;right:28px;color:#fff}
.imagine-visual span{bottom:118px;font-size:10px;letter-spacing:.15em;font-weight:900;color:#c8e5de}
.imagine-visual strong{bottom:34px;font-size:34px;line-height:1.08;letter-spacing:-.04em}
.imagine-days{display:grid;align-content:center;gap:10px}
.imagine-days article{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.imagine-days b{font-size:9px;letter-spacing:.13em;color:#367368}
.imagine-days h3{font-size:21px;letter-spacing:-.035em;margin:7px 0}
.imagine-days p{font-size:12px;line-height:1.6;color:#667876;margin:0}
.imagine-days>a{margin-top:6px;text-decoration:none;font-size:12px;font-weight:900;color:#173e46}
.imagine-cta{margin-top:20px;padding:24px 26px;border-radius:18px;background:#173e46;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}
.imagine-cta p{margin:0;color:#c7d6d3;font-size:13px}
.imagine-cta .btn{flex:0 0 auto}
@media(max-width:860px){.imagine-panel{grid-template-columns:1fr}.imagine-visual{min-height:440px}.imagine-days{grid-template-columns:repeat(3,1fr)}.imagine-days>a{grid-column:1/-1}}
@media(max-width:640px){.imagine-tabs{overflow-x:auto;padding-bottom:4px}.imagine-tabs button{flex:0 0 auto}.imagine-visual{min-height:430px}.imagine-visual strong{font-size:28px}.imagine-days{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.imagine-days article{flex:0 0 78vw;scroll-snap-align:start}.imagine-days>a{display:block;padding:10px 2px}.imagine-cta{display:block}.imagine-cta .btn{width:100%;margin-top:14px}.hero-slide{animation-duration:21s}.hero-slide-2{animation-delay:7s}.hero-slide-3{animation-delay:14s}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0;transform:none}.hero-slide-1{opacity:1}.dream-card:hover img{transform:none}}

/* TRIPDAM CONSULTATION REASSURANCE V1 */
.hero-consult-link{display:inline-block;margin-top:14px;color:#e6f2ef;text-decoration:none;font-size:12px;font-weight:850;opacity:.95;text-underline-offset:3px}
.hero-consult-link:hover{text-decoration:underline}
.consult-reassure{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 8px}
.consult-reassure span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border-radius:999px;background:rgba(145,200,189,.12);border:1px solid rgba(145,200,189,.24);color:#cfe6e0;font-size:11px;font-weight:850}
.quote .section-head.split p strong{display:inline-block;margin-top:9px;color:#173e46}
@media(max-width:640px){.hero-consult-link{display:block;margin-top:12px;text-align:center;font-size:11px;line-height:1.5}.consult-reassure{gap:6px}.consult-reassure span{font-size:10px;min-height:32px;padding:0 9px}}


/* quote contact: Kakao open chat */
.contact-method-options{align-items:stretch;flex-wrap:wrap}
.quote-openchat-btn{display:flex;align-items:center;justify-content:center;min-height:58px;padding:0 24px;border:1.5px solid #18735f;border-radius:18px;background:#f7fbf8;color:#0d453a;text-decoration:none;font-weight:800;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.quote-openchat-btn:hover,.quote-openchat-btn:focus-visible{background:#e5f4ec;transform:translateY(-1px);box-shadow:0 8px 20px rgba(13,69,58,.10);outline:none}
.kakao-id-wrap{margin-top:16px;padding:16px 18px;border:1px solid #d4e3dc;border-radius:16px;background:#f8fbf9}
.kakao-id-wrap[hidden]{display:none!important}
.kakao-id-wrap .quote-text{margin:0}
.kakao-id-wrap .quote-help{margin:8px 0 0;font-size:13px}
@media(max-width:640px){.contact-method-options{display:grid;grid-template-columns:1fr 1fr}.quote-openchat-btn{grid-column:1/-1;min-height:54px}.kakao-id-wrap{padding:14px}}

/* Vang Vieng pool villa real-photo gallery */
.stay-villa-real{padding-top:44px;padding-bottom:44px}
.villa-real-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;margin-top:20px}
.villa-real-grid figure{margin:0;position:relative;overflow:hidden;border-radius:18px;background:#eef4f1;min-height:240px}
.villa-real-grid .villa-real-main{grid-row:span 2;min-height:500px}
.villa-real-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.villa-real-grid figure:hover img{transform:scale(1.02)}
.villa-real-grid figcaption{position:absolute;left:12px;bottom:12px;background:rgba(9,62,51,.82);color:#fff;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}
.villa-real-note{margin:12px 2px 0;color:#6c7d76;font-size:12px;line-height:1.6}
@media(max-width:820px){.villa-real-grid{grid-template-columns:1fr 1fr}.villa-real-grid .villa-real-main{grid-column:1/-1;grid-row:auto;min-height:320px}.villa-real-grid figure{min-height:210px}}
@media(max-width:520px){.villa-real-grid{grid-template-columns:1fr}.villa-real-grid .villa-real-main,.villa-real-grid figure{min-height:250px}}

/* contact channel brand colors */
.contact-method-options .contact-sms span{border-color:#5a9bd8;background:#eaf4ff;color:#165087}
.contact-method-options .contact-sms input:checked+span{border-color:#2475bd;background:#2475bd;color:#fff;box-shadow:0 6px 16px rgba(36,117,189,.18)}
.contact-method-options .contact-kakao span{border-color:#e1c900;background:#fee500;color:#191919}
.contact-method-options .contact-kakao input:checked+span{border-color:#cfb900;background:#f7d600;color:#191919;box-shadow:0 6px 16px rgba(247,214,0,.22)}
.quote-openchat-btn{border-color:#e1c900!important;background:#fee500!important;color:#191919!important}
.quote-openchat-btn:hover,.quote-openchat-btn:focus-visible{background:#f7d600!important;border-color:#cfb900!important;box-shadow:0 8px 20px rgba(247,214,0,.24)!important}

/* quote lite master2 */
.quote-step-one{margin:12px 0 18px;padding:18px;border-radius:16px;background:#edf6f1;border:1px solid #cfe2d8}
.quote-step-one span,.quote-advanced summary span{display:block;font-size:10px;letter-spacing:.14em;color:#8b6c39;font-weight:900}
.quote-step-one strong{display:block;font-size:22px;margin:4px 0}.quote-step-one p{margin:0;color:#66776f}
.quote-advanced{margin:16px 0;border:1px solid #dce6e1;border-radius:16px;background:#fafcfb;overflow:hidden}
.quote-advanced summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quote-advanced summary::-webkit-details-marker{display:none}
.quote-advanced summary strong{font-size:16px}.quote-advanced summary small{margin-left:auto;padding:4px 8px;border-radius:999px;background:#e8f1ed;color:#46665b}
.quote-advanced-body{padding:0 16px 16px}.quote-advanced-body>*{margin-top:14px}
@media(max-width:640px){.quote-step-one{padding:15px}.quote-advanced summary{padding:15px}.quote-advanced summary strong{font-size:14px}}


/* quote lite order master2 */
.quote-page .quote-layout{align-items:start}
.quote-page .quote-form{order:1}
.quote-page .quote-info{order:2}
.quote-page .quote-info ol{display:none}
.quote-page .quote-info h3{font-size:22px;margin-bottom:8px}
.quote-page .quote-info>p:not(.quote-caution){font-size:13px;line-height:1.65}
@media(max-width:820px){
  .quote-page-main{padding-top:76px}
  .quote-page-intro{padding-bottom:20px}
  .quote-page-intro h1{font-size:38px;line-height:1.05}
  .quote-page .quote-layout{display:flex;flex-direction:column;gap:16px}
  .quote-page .quote-form{width:100%;order:1}
  .quote-page .quote-info{width:100%;order:2;margin-top:4px}
  .quote-page .quote-info .quote-caution{font-size:11px;line-height:1.6}
}

/* prereg role notice */
.service-role-note{margin:18px 0 0;color:#74837c;font-size:11px;line-height:1.65;max-width:820px}
