:root{--blue:#0868ed;--dark:#101629;--muted:#667086;--line:#e9edf4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,'Helvetica Neue',sans-serif;color:var(--dark);background:#f4f7fb}a{text-decoration:none;color:inherit}button{cursor:pointer}p{line-height:1.5}.wrap{max-width:1300px;margin:auto;padding-left:40px;padding-right:40px}.site-header{background:white;border-bottom:1px solid #eef0f5}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-weight:900;display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:17px}.brand-icon{background:var(--blue);color:white;padding:7px 10px;border-radius:8px;font-size:20px}.nav nav{display:flex;gap:36px;font-size:14px;color:#3f4859}.nav nav a:hover{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-weight:700;font-size:14px;padding:13px 22px}.btn-blue{background:var(--blue);color:white;box-shadow:0 5px 15px #0868ed20}.btn-blue:hover{background:#0056d1}.menu{display:none;border:0;background:white;font-size:25px}main.wrap{background:white;box-shadow:0 0 35px #2632500a}.hero{min-height:370px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px;padding:40px 42px 15px;background:radial-gradient(ellipse at 80% 40%,#e4e8ff 0%,transparent 40%)}.outline-tag{display:inline-block;border:1.5px solid var(--blue);border-radius:30px;padding:6px 14px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.2px}.hero h1{font-size:clamp(37px,4.3vw,65px);line-height:1.04;letter-spacing:-2.4px;margin:13px 0}.hero h1 span{background:linear-gradient(95deg,#0877f7,#9162ec);background-clip:text;color:transparent}.hero p{color:#5f697c;font-size:19px;max-width:500px;margin:0 0 18px}.mini-perks{display:flex;gap:18px;font-size:12px;color:#667085;margin-top:22px;flex-wrap:wrap}.mini-perks span{white-space:nowrap}.hero-art{display:flex;justify-content:center}.hero-art img{width:100%;max-width:500px}.section{padding:36px 42px 10px;scroll-margin-top:10px}.center-head{text-align:center;margin-bottom:23px}.center-head h2{font-size:27px;letter-spacing:-.65px;margin:0 0 4px}.center-head p{font-size:14px;color:#7b8498;margin:0}.dest-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.dest,.tour{border:1px solid #e7ebf2;border-radius:11px;text-align:center;background:#fff;padding:17px 12px;box-shadow:0 4px 18px #202b4b08}.dest-art{margin:auto auto 14px;width:94px;height:85px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:61px;font-weight:200;color:#1178ef;background:#e8f3ff}.dest-art.green{color:#02886a;background:#e9fbf3}.dest-art.purple{color:#8358df;background:#f3edff}.dest-art.mint{color:#208d7c;background:#e6f8f2}.dest-art.lilac{color:#7359f8;background:#f1efff}.dest h3,.tour h3{font-size:17px;margin:0 0 4px}.dest p{font-size:12px;line-height:1.45;color:#626d7e;margin:0}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.features article{border:1px solid var(--line);border-radius:9px;display:flex;gap:18px;align-items:center;padding:17px 22px}.feature-icon{flex-shrink:0;color:var(--blue);background:#edf5ff;width:49px;height:49px;border-radius:50%;display:grid;place-items:center;font-size:29px}.feature-icon.violet{color:#915cf9;background:#f5eeff}.features h3,.steps h3{font-size:15px;margin:0 0 4px}.features p,.steps p{color:#687487;font-size:13px;margin:0}.tours{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tour{padding:18px 18px 15px}.tour-illustration{color:#0876ff;font-size:42px;height:52px}.tour-illustration.purple-ink{color:#935ce9}.tour>span{font-size:12px;color:#848b9c}.tour ul{text-align:left;padding:0;margin:14px auto 20px;max-width:215px;list-style:none}.tour li{font-size:13px;line-height:1.85;color:#525f73}.tour li::before{content:'✓';color:var(--blue);font-weight:800;padding-right:11px}.tour-action{display:block;color:var(--blue);border:1.5px solid #2779f7;border-radius:5px;padding:8px;font-size:13px;font-weight:700}.tour-action:hover{background:#eaf3ff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.steps article{display:flex;gap:13px;align-items:flex-start}.steps b{width:37px;height:37px;flex-shrink:0;background:#e7f2ff;color:var(--blue);border-radius:50%;display:grid;place-items:center;font-size:19px}.step-icon{color:var(--blue);font-size:30px}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.faq-grid details{border:1px solid #e7ebf2;border-radius:7px;font-size:13px}.faq-grid summary{padding:13px 16px;cursor:pointer;font-weight:600}.faq-grid details p{padding:0 16px 14px;color:#667085;font-size:13px;margin:0}.contact{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:35px 0 20px;background:#e9f4ff;padding:27px 42px;border-radius:8px}.contact h2{font-size:23px;margin:0 0 5px}.contact p{margin:0;max-width:620px;color:#64748b;font-size:14px}footer{background:#fff;border-top:1px solid #edf0f5}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:15px;padding-bottom:15px}.footer span,.footer small{font-size:12px;color:#858d9e}.footer .brand span:last-child{color:#101629}.floating-wa{position:fixed;right:24px;bottom:22px;width:53px;height:53px;border-radius:50%;background:#13c865;display:grid;place-items:center;color:#fff;font-size:32px;box-shadow:0 5px 16px #0002;z-index:8}.consent{position:fixed;bottom:15px;left:15px;right:15px;margin:auto;max-width:900px;background:#fff;padding:17px 20px;border-radius:12px;box-shadow:0 8px 45px #111b3660;display:flex;gap:16px;align-items:center;z-index:20}.consent[hidden]{display:none}.consent p{font-size:12px;color:#546276;margin:5px 0 0}.consent-actions{display:flex;gap:8px;flex-shrink:0}.consent button{background:white;border:1px solid #ccd4e0;border-radius:6px;padding:10px 14px}.consent button:last-child{background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:850px){.wrap{padding-left:18px;padding-right:18px}.nav{height:58px}.nav nav{display:none;position:absolute;top:58px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;z-index:10;box-shadow:0 8px 20px #0001}.nav nav.open{display:flex}.desktop-contact{display:none}.menu{display:block}.hero{grid-template-columns:1fr;text-align:left;gap:0;padding:32px 14px 16px}.hero h1{font-size:44px}.hero p{font-size:16px}.hero-art img{max-width:380px}.mini-perks{justify-content:space-between;gap:8px}.section{padding:30px 4px 4px}.dest-grid{grid-template-columns:1fr;gap:10px}.dest{display:flex;align-items:center;text-align:left;padding:13px 16px;gap:18px;flex-wrap:wrap}.dest-art{margin:0;width:74px;height:74px;font-size:43px}.dest h3{width:calc(100% - 100px);margin:0}.dest p{width:100%;padding-left:93px;margin-top:-30px;min-height:30px}.features,.tours,.steps,.faq-grid{grid-template-columns:1fr}.tour{max-width:100%}.steps{gap:20px}.center-head h2{font-size:24px}.contact{margin:30px 0 15px;padding:22px 19px;flex-direction:column;align-items:stretch}.footer{flex-direction:column;text-align:center}.consent{flex-direction:column;align-items:stretch}.consent-actions button{flex:1}}@media(min-width:851px) and (max-width:1100px){.wrap{padding-left:25px;padding-right:25px}.hero{padding:35px 16px}.section{padding-left:17px;padding-right:17px}}

.language-switch{background:#f6f9ff;border:1px solid #dce6f5;border-radius:7px;padding:9px 10px;color:#1a3157;font-weight:700;font-size:13px;max-width:120px;cursor:pointer;flex-shrink:0} .nav{gap:18px}.nav nav{gap:22px} .site-header [data-i18n]{display:inline} [lang="ko"] body{font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif} [lang="zh-Hant"] body{font-family:Arial,'Microsoft JhengHei','PingFang TC',sans-serif}@media(max-width:850px){.nav{gap:9px}.brand{font-size:13px}.language-switch{margin-left:auto;padding:7px 6px;font-size:12px;max-width:103px}.menu{margin-left:0}.nav nav{top:58px}}

/* Scroll reveals: section content only. Full-width hero, contact band, header
   and footer remain static. Both scrolling directions replay the same effect. */
@media (prefers-reduced-motion: no-preference) {
  .reveal-enabled .scroll-reveal {
    opacity: 0;
    transform: translate3d(-36px, 0, 0);
    transition: opacity 850ms cubic-bezier(.22,1,.36,1),
                transform 850ms cubic-bezier(.22,1,.36,1);
    will-change: opacity, transform;
  }
  .reveal-enabled .scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* vNext: full-browser canvas, 200px wider content, more breathing room. */
html,body{width:100%;max-width:100%;overflow-x:clip}
body{background:#fff}
.wrap{max-width:1500px;width:100%;margin-left:auto;margin-right:auto}
main.wrap{background:#fff;box-shadow:none;min-height:100vh}
/* Each standard section gets +40px on top and +40px on bottom. */
.section{padding-top:76px;padding-bottom:50px}
.contact{margin-top:75px;margin-bottom:60px}
@media (max-width:850px){
  .wrap{padding-left:18px;padding-right:18px}
  .section{padding:70px 4px 44px}
  .contact{margin-top:70px;margin-bottom:55px}
}
@media (min-width:851px) and (max-width:1100px){
  .section{padding-top:76px;padding-bottom:50px}
}
/* Vertical direction follows scroll; all standard content also enters from left. */
@media(prefers-reduced-motion:no-preference){
  .reveal-enabled .scroll-reveal{
    opacity:0;
    transform:translate3d(-44px,28px,0);
    transition:opacity 1100ms cubic-bezier(.22,1,.36,1),transform 1100ms cubic-bezier(.22,1,.36,1);
    will-change:opacity,transform;
  }
  .reveal-enabled .scroll-reveal[data-enter-direction="up"]{transform:translate3d(-44px,-28px,0)}
  .reveal-enabled .scroll-reveal[data-enter-direction="down"]{transform:translate3d(-44px,28px,0)}
  .reveal-enabled .scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
}


.hero{min-height:calc(100svh - 72px);padding:clamp(45px,7vh,100px) clamp(25px,4vw,70px);grid-template-columns:1fr 1fr;gap:5%;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 43%,#d9e4ff 0,transparent 38%),radial-gradient(circle at 30% 70%,#f6f1ff 0,transparent 45%),#fff}
.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(52px,5.2vw,86px)}.hero p{font-size:clamp(18px,1.5vw,22px)}.hero-art img{max-width:680px;filter:drop-shadow(0 26px 30px #2950a51a)}
/* Prevent more than two ordinary sections inside a desktop viewport: generous rhythm */
.section{padding-top:clamp(90px,11vh,140px);padding-bottom:clamp(90px,11vh,140px)}
#personal{padding-top:clamp(90px,11vh,140px)}
#personal .features{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:35px}
#personal .features article{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:32px 14px;min-height:192px;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 10px 38px rgba(24,62,122,.035)}
#personal .feature-icon{width:60px;height:60px;font-size:34px}
#personal .features h3{font-size:16px}
/* Image carousel: 3 visible on desktop, 1 on mobile */
.destinations-section{padding-top:40px}
.eyebrow{display:block;font-weight:800;letter-spacing:.2em;color:#257af4;font-size:11px;margin-bottom:12px}
.carousel-region{position:relative;padding:0 53px;margin-top:36px}
.destination-viewport{overflow:hidden;border-radius:16px;touch-action:pan-y}
.destination-track{display:flex;gap:20px;transition:transform 700ms cubic-bezier(.22,1,.36,1);will-change:transform}
.destination-card{width:calc((100% - 40px)/3);min-width:calc((100% - 40px)/3);border:1px solid #e8edf4;background:white;border-radius:16px;overflow:hidden;box-shadow:0 12px 35px #0c2b6710}
.destination-card img{display:block;width:100%;height:250px;object-fit:cover;transition:transform .7s ease}
.destination-card:hover img{transform:scale(1.04)}
.destination-card .card-inner{padding:19px 22px 24px}.destination-card h3{font-size:21px;margin:0 0 7px}.destination-card p{font-size:14px;color:#687487;margin:0;min-height:42px}
.slide-arrow{position:absolute;top:42%;z-index:2;transform:translateY(-50%);height:44px;width:44px;border-radius:50%;border:1px solid #e0e9f4;background:#fff;color:#0873fb;box-shadow:0 8px 24px #071e4418;font-size:32px;line-height:1}
.slide-arrow.prev{left:0}.slide-arrow.next{right:0}.slide-arrow:disabled{opacity:.25;cursor:not-allowed}
.carousel-footer{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:22px}.slide-count{font-size:12px;color:#697791;letter-spacing:.07em}.slide-dots{display:flex;gap:7px}.slide-dots button{border:0;width:7px;height:7px;background:#c8d5eb;border-radius:20px;padding:0}.slide-dots button.active{background:#0b70f4;width:23px}
@media(max-width:850px){.hero{min-height:calc(100svh - 58px);grid-template-columns:1fr;display:flex;flex-direction:column;justify-content:center;padding:35px 12px 22px;gap:10px}.hero h1{font-size:clamp(40px,10vw,58px)}.hero p{font-size:16px}.hero-art img{max-height:38svh;width:100%}.hero-art{align-items:center}.section{padding:86px 3px}.destinations-section{padding-top:34px}#personal .features{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#personal .features article{padding:20px 10px;min-height:150px}#personal .feature-icon{width:46px;height:46px;font-size:27px}.carousel-region{padding:0 40px;margin-top:25px}.destination-track{gap:12px}.destination-card{width:100%;min-width:100%}.destination-card img{height:245px}.slide-arrow{width:32px;height:40px;font-size:25px}.center-head h2{font-size:25px}}
@media(max-width:480px){.hero{min-height:calc(100svh - 58px)}#personal .features h3{font-size:13px}#personal .features p{font-size:12px}.carousel-region{padding:0 33px}.destination-card img{height:220px}}
@media(prefers-reduced-motion:reduce){.destination-track,.destination-card img{transition:none}}


.wrap{max-width:1700px}
main.wrap{padding-left:clamp(22px,3.2vw,60px);padding-right:clamp(22px,3.2vw,60px)}
.hero{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(6vw,calc((100vw - 1580px)/2));padding-right:max(6vw,calc((100vw - 1580px)/2));background:radial-gradient(ellipse 75% 100% at 73% 48%,rgba(218,229,255,.6),rgba(245,246,255,.28) 57%,rgba(255,255,255,0) 100%),linear-gradient(105deg,#fff 0%,#fbfcff 52%,#fff 100%);border:0}
.hero-art img{max-width:780px}.hero h1{font-size:clamp(58px,5.2vw,96px)}
/* Increase visual density by making components bigger, not using blank vertical spacers */
.section{padding-top:clamp(65px,8vh,100px);padding-bottom:clamp(65px,8vh,100px);min-height:47svh}
.center-head{margin-bottom:38px}.center-head h2{font-size:clamp(32px,2.5vw,43px)}.center-head p{font-size:clamp(16px,1.2vw,19px)}
#personal .features article{min-height:235px;padding:34px 24px;border-radius:18px}
#personal .feature-icon{width:76px;height:76px;font-size:40px}
#personal .features h3{font-size:21px}#personal .features p{font-size:16px;line-height:1.55}
.destination-card img{height:310px}.destination-card h3{font-size:26px}.destination-card p{font-size:17px}
.destination-card .card-inner{padding:26px 28px 30px}
.tour{padding:32px 28px 27px}.tour h3{font-size:23px}.tour>span{font-size:15px}.tour-illustration{font-size:56px;height:70px}.tour li{font-size:17px}.tour ul{max-width:305px}.tour-action{font-size:16px;padding:13px}
.steps article{gap:20px}.steps b{width:54px;height:54px;font-size:24px}.step-icon{font-size:42px}.steps h3{font-size:21px}.steps p{font-size:17px}
.faq-grid{grid-template-columns:1fr;max-width:1100px;margin-inline:auto;gap:14px}
.faq-grid details{font-size:18px;border-radius:10px}.faq-grid summary{font-size:18px;padding:21px 25px}.faq-grid details p{font-size:16px;padding:0 25px 22px}
#faq{padding-bottom:65px}
.contact{margin:0 calc(-1 * clamp(22px,3.2vw,60px));padding:38px max(5vw,calc((100vw - 1560px)/2));border-radius:0;background:linear-gradient(105deg,#edf6ff,#dfeeff 58%,#eaf4ff)}
.contact h2{font-size:30px}.contact p{font-size:17px}
footer{margin:0;border-top:0;background:#fff}.footer{min-height:94px}
/* Make direction win only until the visible state, then settle to origin */
@media(prefers-reduced-motion:no-preference){
.reveal-enabled .scroll-reveal{opacity:0;transform:translate3d(-55px,36px,0);transition:opacity 1300ms cubic-bezier(.22,1,.36,1),transform 1300ms cubic-bezier(.22,1,.36,1)}
.reveal-enabled .scroll-reveal[data-enter-direction="up"]:not(.is-visible){transform:translate3d(-55px,-36px,0)}
.reveal-enabled .scroll-reveal[data-enter-direction="down"]:not(.is-visible){transform:translate3d(-55px,36px,0)}
.reveal-enabled .scroll-reveal.is-visible,.reveal-enabled .scroll-reveal[data-enter-direction].is-visible{opacity:1;transform:translate3d(0,0,0)}
}
@media(max-width:850px){
 main.wrap{padding:0 18px}.hero{margin-left:calc(50% - 50vw);padding:32px 24px;min-height:calc(100svh - 58px)}
 .hero h1{font-size:clamp(42px,10vw,62px)}.hero-art img{max-width:440px}
 .section{min-height:auto;padding:75px 0}.center-head h2{font-size:30px}.center-head p{font-size:15px}
 #personal .features{grid-template-columns:repeat(2,minmax(0,1fr))}#personal .features article{min-height:190px;padding:18px 10px}
 #personal .feature-icon{width:55px;height:55px;font-size:30px}#personal .features h3{font-size:16px}#personal .features p{font-size:13px}
 .destination-card img{height:255px}.destination-card h3{font-size:22px}.destination-card p{font-size:15px}
 .tour h3{font-size:21px}.tour li{font-size:16px}.steps h3{font-size:19px}.steps p{font-size:15px}
 .faq-grid summary{font-size:16px;padding:20px}.faq-grid details p{font-size:15px}
 .contact{margin:0 -18px;padding:32px 25px;border-radius:0}.contact h2{font-size:25px}.contact p{font-size:15px}
}


.slide-count{display:none!important}
.slide-dots{gap:11px;align-items:center;justify-content:center}
.slide-dots button{width:11px;height:11px;border-radius:50%;background:#cbd7ec;transition:background .25s,transform .25s;width:11px!important}
.slide-dots button.active{background:#1668ee;transform:scale(1.15)}
/* Consistent section rhythm: content sizes retained rather than huge empty spacers. */
main.wrap > .section{padding-top:clamp(72px,7vw,110px);padding-bottom:clamp(72px,7vw,110px);min-height:0}
main.wrap > .destinations-section{padding-top:clamp(72px,7vw,110px)}
main.wrap > #faq{padding-bottom:clamp(72px,7vw,110px)}
/* Single line-art icon on each itinerary card. */
.tour-illustration{height:83px;display:flex;align-items:center;justify-content:center;color:#1473ed}
.tour-illustration svg{width:62px;height:62px;flex:none}
.tour-icon-temple{color:#8763e8}
/* Contact band: deliberate horizontal rhythm and single-line CTA. */
.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:clamp(28px,6vw,100px);row-gap:24px;padding-top:clamp(48px,5vw,76px);padding-bottom:clamp(48px,5vw,76px)}
.contact > div{min-width:0;max-width:880px}
.contact p{max-width:780px;line-height:1.7}
.contact .btn{white-space:nowrap;min-width:250px;text-align:center;justify-content:center;display:inline-flex;align-items:center;padding:16px 30px;flex-shrink:0}
@media(max-width:850px){
 main.wrap > .section,main.wrap > .destinations-section{padding-top:70px;padding-bottom:70px}
 .contact{grid-template-columns:1fr;margin-left:-18px;margin-right:-18px;padding:44px 24px;gap:24px;justify-items:stretch}
 .contact .btn{width:100%;min-width:0;white-space:nowrap;box-sizing:border-box}
}
@media(max-width:380px){.contact .btn{font-size:13px;padding:14px 12px}}


.contact{
  grid-template-columns:minmax(0, 2fr) minmax(260px, 1fr);
  column-gap:clamp(76px,8vw,150px);
  padding-top:32px;
  padding-bottom:32px;
  background:linear-gradient(100deg,#f3f8ff 0%,#eaf3ff 60%,#f4f9ff 100%);
}
.contact > div{max-width:none}
.contact h2{font-size:clamp(24px,1.7vw,30px);white-space:nowrap;line-height:1.2;margin-bottom:9px}
.contact p{max-width:610px;font-size:clamp(15px,1vw,17px);line-height:1.55;text-wrap:pretty}
.contact .btn{width:100%;min-width:0;max-width:360px;justify-self:end;white-space:nowrap}
/* Static final state: the JS Web Animations API exclusively owns scroll reveals. */
@media(prefers-reduced-motion:no-preference){
  .reveal-enabled .scroll-reveal,
  .reveal-enabled .scroll-reveal[data-enter-direction],
  .reveal-enabled .scroll-reveal.is-visible{
    opacity:1;transform:none;transition:none;
  }
}
@media(max-width:850px){
  .contact{grid-template-columns:1fr;gap:20px;padding:30px 24px}
  .contact h2{white-space:normal}
  .contact p{max-width:100%}
  .contact .btn{justify-self:stretch;max-width:none}
}


.contact{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,1fr)!important;column-gap:clamp(85px,10vw,220px)!important;align-items:center!important;justify-content:space-between!important;padding-left:max(36px,calc((100vw - 1540px)/2))!important;padding-right:max(36px,calc((100vw - 1540px)/2))!important;}
.contact>div:first-child{grid-column:1;justify-self:start;text-align:left;max-width:640px;}
.contact .contact-action{grid-column:2;display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0;}
.contact .contact-action .btn{width:auto!important;max-width:none!important;min-width:260px!important;white-space:nowrap!important;display:inline-flex;justify-content:center;}
@media(max-width:850px){.contact{grid-template-columns:minmax(0,1fr)!important;row-gap:24px!important;padding:34px 24px!important;column-gap:0!important}.contact>div:first-child,.contact .contact-action{grid-column:1}.contact .contact-action{justify-content:stretch}.contact .contact-action .btn{width:100%!important;min-width:0!important;max-width:none!important}}

.scroll-reveal,.scroll-reveal.is-visible,.reveal-enabled .scroll-reveal{opacity:1!important;transform:none!important;transition:none!important;}

/* Full-width contact band with independently aligned columns */
main.wrap > .contact{
  width:100vw !important;
  max-width:none !important;
  margin:0 0 0 calc(50% - 50vw) !important;
  border-radius:0 !important;
  box-sizing:border-box;
  display:grid !important;
  grid-template-columns:minmax(0, 1.5fr) minmax(270px, .65fr) !important;
  justify-content:space-between !important;
  align-items:center !important;
  column-gap:clamp(90px,12vw,260px) !important;
  padding:34px max(32px, calc((100vw - 1580px) / 2)) !important;
}
main.wrap > .contact > div:first-child{width:100%;max-width:690px;justify-self:start;grid-column:1;text-align:left}
main.wrap > .contact .contact-action{grid-column:2;justify-self:end;width:auto;display:flex;justify-content:flex-end}
main.wrap > .contact .contact-action .btn{width:auto !important;min-width:250px !important;white-space:nowrap !important}
@media(max-width:850px){
 main.wrap > .contact{grid-template-columns:minmax(0,1fr) !important;gap:24px !important;padding:33px 24px !important}
 main.wrap > .contact > div:first-child{grid-column:1;max-width:none}
 main.wrap > .contact .contact-action{grid-column:1;justify-self:stretch;width:100%;justify-content:stretch}
 main.wrap > .contact .contact-action .btn{width:100% !important;min-width:0 !important}
}

/* Smooth unified reveal: only parent sections animate, no nested transforms. */
main > section.section{will-change:opacity,transform;}
@media(prefers-reduced-motion:reduce){main > section.section{opacity:1!important;transform:none!important;will-change:auto}}

/* Mobile-only layout refinements: hero natural height; destinations fully expanded. */
@media (max-width:850px) {
  .hero {
    min-height:0!important; height:auto!important;
    padding-top:17px!important; padding-bottom:12px!important;
    justify-content:flex-start!important; gap:5px!important;
  }
  .hero h1 { margin-top:10px!important; margin-bottom:9px!important; }
  .hero p { margin-bottom:10px!important; }
  .hero .mini-perks { margin-top:12px!important; }
  .hero-art img { max-height:270px!important; height:auto!important; width:100%; object-fit:contain; }
  #destinations .carousel-region { padding:0!important; margin-top:20px; }
  #destinations .destination-viewport { overflow:visible!important; touch-action:auto!important; border-radius:0; }
  #destinations .destination-track { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:20px!important; transform:none!important; transition:none!important; will-change:auto!important; }
  #destinations .destination-card { min-width:0!important; width:100%!important; }
  #destinations .slide-arrow, #destinations .carousel-footer { display:none!important; }
}
@media (max-width:480px) {
  .hero { padding-top:14px!important; padding-bottom:9px!important; }
  .hero-art img { max-height:230px!important; }
}

/* Persistent navigation bar, correctly offsetting the page at every breakpoint. */
.site-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:1100;background:#fff;box-shadow:0 2px 14px rgba(22,42,73,.07)}
body{padding-top:72px!important}
html{scroll-padding-top:90px}
.section{scroll-margin-top:90px}
.step-icon{display:flex;align-items:center;justify-content:center;flex:0 0 46px;color:#0876ff}
.step-icon svg{width:44px;height:44px;display:block}
.floating-wa{background:#16c866!important;display:flex!important;align-items:center;justify-content:center;transition:transform .2s ease, box-shadow .2s ease}
.floating-wa:hover{transform:translateY(-3px);box-shadow:0 10px 26px #168f4b45}
.floating-wa svg.whatsapp-mark{width:29px;height:29px;display:block;fill:#fff}
@media(max-width:850px){body{padding-top:58px!important}html{scroll-padding-top:70px}.section{scroll-margin-top:70px}.step-icon{flex-basis:40px}.step-icon svg{width:37px;height:37px}}

/* WhatsApp account choice: works from every contact button */
.wa-account-menu[hidden]{display:none!important}
.wa-account-menu{position:fixed;z-index:99999;box-sizing:border-box;padding:9px;background:#fff;border:1px solid #d8e4f7;border-radius:15px;box-shadow:0 14px 42px rgba(19,50,99,.20);font-family:inherit;color:#19283e}
.wa-account-heading{font-size:13px;font-weight:750;padding:9px 10px 11px}
.wa-account-option{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border-radius:9px;text-decoration:none;color:#17253d;font-size:14px}
.wa-account-option:hover,.wa-account-option:focus-visible{background:#eef5ff;outline:none}
.wa-account-option strong{font-weight:700}
.wa-account-option span{font-size:12px;color:#63748b}

/* Carousel caption motion is controlled entirely by JavaScript's Web Animations API.
   No delayed CSS animation or class state remains to conflict with rapid navigation. */
