:root{--ink:#12365b;--deep:#07529a;--teal:#0968b8;--gold:#ff641e;--cream:#f5f9fd;--white:#fff;--line:rgba(7,82,154,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:96px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;padding:0 4.5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{width:150px;filter:brightness(0) invert(1);margin-right:auto}.site-header nav{display:flex;align-items:center;gap:clamp(24px,3vw,50px);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.site-header nav a{padding:36px 0;white-space:nowrap}.site-header nav span{font-size:1rem;margin-left:6px}.header-cta{margin-left:3vw;border:1px solid rgba(255,255,255,.75);padding:11px 20px;border-radius:30px;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.menu-button{display:none;background:none;border:0}.hero{position:relative;min-height:880px;height:100vh;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('/assets/tours/sapa-terraces-hd.jpg') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,27,30,.78) 0%,rgba(3,31,35,.28) 55%,rgba(3,31,35,.12)),linear-gradient(0deg,rgba(2,30,32,.45),transparent 45%)}.hero-content{position:relative;width:min(760px,76vw);margin-left:10vw;padding-top:60px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;font-weight:600}.eyebrow{color:#f5da9c}.hero h1,.section h2,.contact h2{font:500 clamp(4rem,7.7vw,8.7rem)/.94 'Playfair Display',serif;letter-spacing:-.045em;margin:25px 0}.hero h1 em,.section h2 em,.contact h2 em{font-weight:500;color:var(--gold)}.hero-copy{max-width:540px;font-size:1.15rem;color:rgba(255,255,255,.84)}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;gap:30px;border-radius:40px;padding:15px 22px;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600}.button b{font-size:1rem}.button.primary{background:var(--gold);color:#173234}.button.dark{background:var(--deep);color:#fff}.text-link,.arrow-link{display:inline-flex;align-items:center;gap:22px;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:.84rem;text-transform:uppercase;letter-spacing:.1em}.hero-note{position:absolute;right:5vw;bottom:65px;display:flex;align-items:flex-start;gap:16px}.hero-note strong{font:500 3rem/1 'Playfair Display',serif;color:var(--gold)}.hero-note span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.5}.scroll-cue{position:absolute;left:4.5vw;bottom:55px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;display:flex;gap:18px}.section{padding:120px 8vw}.section-kicker{color:#8c6d34}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:end}.section h2{font-size:clamp(3rem,5.4vw,6rem);margin:16px 0 30px}.lead{font:500 clamp(1.25rem,2vw,1.65rem)/1.55 'Playfair Display',serif}.intro .arrow-link{margin-top:22px}.trust-row{margin-top:100px;padding-top:45px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.trust-row div{display:flex;align-items:center;gap:20px}.trust-row strong{font:500 2.8rem 'Playfair Display',serif;color:var(--teal)}.trust-row span{max-width:120px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;line-height:1.4}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.destination-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:330px 330px;gap:18px}.destination-card{position:relative;color:#fff;overflow:hidden;background-size:cover;background-position:center;display:flex;justify-content:space-between;padding:30px}.destination-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,31,34,.8),rgba(3,31,34,.05) 75%);transition:.35s}.destination-card:hover:before{background:linear-gradient(0deg,rgba(3,31,34,.9),rgba(3,31,34,.16))}.destination-card>*{position:relative}.north{grid-row:1/3;background-image:url('/assets/tours/sapa.jpg')}.heritage{background-image:url('/assets/tours/halong.jpg')}.central{background-image:url('/assets/tours/hoian.jpg')}.card-number{font-size:.75rem;letter-spacing:.12em}.destination-card>div{align-self:flex-end}.destination-card p{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;margin:0}.destination-card h3{font:500 clamp(1.8rem,3vw,3.2rem) 'Playfair Display',serif;margin:4px 0}.destination-card div span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.styles{background:#dfe9e7;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:center}.styles-copy>p:not(.section-kicker){max-width:500px}.style-list{border-top:1px solid rgba(22,50,52,.25)}.style-list a{display:grid;grid-template-columns:45px 1fr auto;align-items:center;padding:23px 4px;border-bottom:1px solid rgba(22,50,52,.25);transition:.25s}.style-list a:hover{padding-left:15px;color:#976f25}.style-list span{font-size:.72rem}.style-list strong{font:500 clamp(1.25rem,2.2vw,2rem) 'Playfair Display',serif}.styles .button{margin-top:25px}.journal{min-height:690px;padding:0;display:grid;grid-template-columns:1.1fr .9fr;background:var(--deep);color:#fff}.journal-image{background:url('/assets/tours/saigon.jpg') center/cover}.journal-copy{padding:100px 7vw;align-self:center}.journal-copy p:not(.section-kicker){max-width:500px;color:rgba(255,255,255,.75)}.light{margin-top:25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.about-copy{font-size:1.12rem}.contact{text-align:center;color:#fff;background:linear-gradient(rgba(4,48,51,.85),rgba(4,48,51,.9)),url('/assets/tours/sapa.jpg') center/cover fixed;padding:120px 20px}.contact h2{font-size:clamp(3.2rem,6vw,6.5rem)}footer{background:#082f32;color:rgba(255,255,255,.75);padding:70px 7vw 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}footer h4{color:var(--gold);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}footer a{display:block;margin:9px 0;font-size:.9rem}.footer-brand img{width:180px;filter:brightness(0) invert(1)}.footer-brand p{font-family:'Playfair Display',serif;font-size:1.1rem}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:.75rem}.footer-bottom a{margin:0}.whatsapp{position:fixed;z-index:30;right:24px;bottom:22px;background:#27b967;color:#fff;border-radius:40px;padding:11px 18px;box-shadow:0 8px 30px rgba(0,0,0,.2);font-size:.82rem;font-weight:600;letter-spacing:.05em}.menu-button{width:40px;height:40px;position:relative}.menu-button span{position:absolute;width:24px;height:1px;background:#fff;left:8px;top:15px}.menu-button span:last-child{top:24px}
@media(max-width:900px){.site-header{height:76px;padding:0 22px}.brand{width:120px}.header-cta{display:none}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;width:100%;background:#083e42;padding:24px;flex-direction:column;align-items:flex-start;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:13px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.15)}.hero{min-height:720px}.hero-content{margin-left:8vw;width:84vw}.hero h1{font-size:clamp(3.5rem,15vw,6rem)}.hero-note{display:none}.scroll-cue{display:none}.section{padding:80px 7vw}.intro-grid,.styles,.about{grid-template-columns:1fr;gap:35px}.trust-row{grid-template-columns:1fr;margin-top:60px}.destination-grid{grid-template-columns:1fr;grid-template-rows:440px 280px 280px}.north{grid-row:auto}.section-head{align-items:flex-start;gap:25px;flex-direction:column}.styles{padding-top:80px;padding-bottom:80px}.journal{grid-template-columns:1fr;min-height:0}.journal-image{height:420px}.journal-copy{padding:75px 7vw}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:560px){.hero{min-height:700px}.hero-content{padding-top:40px}.hero-copy{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.section{padding:65px 24px}.section h2{font-size:2.8rem}.trust-row strong{font-size:2.2rem}.destination-grid{grid-template-rows:360px 260px 260px}.destination-card{padding:23px}.journal-image{height:330px}.journal-copy{padding:60px 24px}.contact{padding:85px 20px}.contact h2{font-size:3rem}footer{grid-template-columns:1fr;padding:55px 24px 24px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px}.whatsapp span{display:none}}

/* Balanced homepage display typography */
.home .destinations h2,.home .styles h2,.home .about h2,.home .contact h2{font-family:'DM Sans',sans-serif;font-size:clamp(2.7rem,5vw,5.35rem);font-weight:600;line-height:1.06;letter-spacing:-.055em}
.home .destinations h2 em,.home .styles h2 em,.home .about h2 em,.home .contact h2 em{font-family:inherit;font-style:normal;font-weight:600;color:#ff641e}
.home .style-list strong{font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:-.025em}
.home .destination-card:before{background:linear-gradient(0deg,rgba(2,24,39,.58) 0%,rgba(2,24,39,.16) 44%,rgba(2,24,39,.02) 78%)}
.home .destination-card:hover:before{background:linear-gradient(0deg,rgba(2,24,39,.66) 0%,rgba(2,24,39,.12) 50%,transparent 82%)}
.home .destination-card>div{text-shadow:0 3px 15px rgba(0,0,0,.48)}
.home .hero-shade{background:linear-gradient(90deg,rgba(3,49,91,.42) 0%,rgba(3,49,91,.12) 43%,rgba(3,49,91,0) 72%),linear-gradient(0deg,rgba(2,27,48,.12),transparent 48%)}
@media(max-width:560px){.home .destinations h2,.home .styles h2,.home .about h2,.home .contact h2{font-size:2.45rem;line-height:1.1;letter-spacing:-.045em}}

/* Softer editorial card treatment */
.home .journal{
  margin:80px 6vw;
  width:auto;
  min-height:640px;
  background:#164554;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(18,54,91,.14);
}
.home .journal-image{
  border-radius:30px 0 0 30px;
}
.home .journal-copy p:not(.section-kicker){
  color:rgba(255,255,255,.82);
}
@media(max-width:900px){
  .home .journal{margin:60px 5vw;border-radius:24px}
  .home .journal-image{border-radius:24px 24px 0 0}
}
@media(max-width:560px){
  .home .journal{margin:42px 18px;border-radius:20px}
  .home .journal-image{border-radius:20px 20px 0 0}
}

/* Brighter, more open contact banner */
.contact{
  background:linear-gradient(90deg,rgba(7,82,154,.56),rgba(9,104,184,.34)),url('/assets/tours/sapa.jpg') center/cover fixed;
}

/* ECR Travel Sapa hero image */
.home .hero-image{
  background-image:url('/assets/tours/sapa-hero-golden.jpg');
  background-position:center center;
}

/* Cinematic homepage destination slideshow */
.home .hero-slides,.home .hero-slide{position:absolute;inset:0}
.home .hero-slide{background-image:var(--hero-image);background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.07);transition:opacity 1.25s ease,transform 7s ease;will-change:opacity,transform}
.home .hero-slide.is-active{opacity:1;transform:scale(1)}
.home .hero-shade,.home .hero-content,.home .hero-controls,.home .hero-note,.home .scroll-cue{z-index:2}
.home .hero{touch-action:pan-y;cursor:grab}
.home .hero.is-dragging{cursor:grabbing}
.home .hero-controls{position:absolute;left:50%;bottom:56px;transform:translateX(-50%);display:flex;align-items:center}
.home .hero-dots{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 14px;border-radius:999px;background:rgba(3,49,91,.2);backdrop-filter:blur(7px)}
.home .hero-dot{width:11px;height:11px;border:1.5px solid rgba(255,255,255,.88);border-radius:50%;padding:0;background:rgba(255,255,255,.28);cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.home .hero-dot:hover,.home .hero-dot:focus-visible{background:rgba(255,255,255,.72);transform:scale(1.12)}
.home .hero-dot.is-active{background:var(--gold);border-color:#fff;transform:scale(1.24);box-shadow:0 0 0 3px rgba(255,255,255,.18)}
@media(max-width:900px){.home .hero-controls{bottom:28px}}
@media(max-width:560px){.home .hero-controls{left:50%;transform:translateX(-50%)}.home .hero-dots{gap:10px;padding:9px 12px}.home .hero-dot{width:10px;height:10px}}
@media(prefers-reduced-motion:reduce){.home .hero-slide{transition:opacity .25s ease;transform:none}.home .hero-slide.is-active{transform:none}}

/* ECR introduction below the homepage hero */
.home .ecr-intro{display:grid;grid-template-columns:1.06fr .94fr;gap:7vw;align-items:center}
.home .ecr-intro-copy h2{font-family:'DM Sans',sans-serif;font-size:clamp(3rem,5.2vw,5.8rem);font-weight:700;line-height:1;letter-spacing:-.06em;margin:15px 0 26px}
.home .ecr-intro-copy h2 em{font-family:inherit;font-style:normal;color:var(--gold)}
.home .ecr-intro-lead{font:500 clamp(1.25rem,1.8vw,1.65rem)/1.5 'Playfair Display',serif;color:var(--deep);margin:0 0 20px}
.home .ecr-intro-copy>p:not(.section-kicker):not(.ecr-intro-lead){max-width:760px;margin:0 0 17px;color:#526b80;font-size:.98rem;line-height:1.78}
.home .ecr-intro-copy .arrow-link{margin-top:14px}
.home .ecr-intro-visual{position:relative;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border-radius:32px;background:radial-gradient(circle at 78% 18%,rgba(255,100,30,.20),transparent 28%),linear-gradient(145deg,#f7fbff 0%,#e2f0fb 52%,#fff3ec 100%);border:1px solid rgba(7,82,154,.1);box-shadow:0 25px 65px rgba(18,54,91,.14);isolation:isolate}
.home .ecr-intro-visual:before{content:'';position:absolute;z-index:-1;width:310px;height:310px;border-radius:50%;background:rgba(255,255,255,.78);box-shadow:0 20px 70px rgba(7,82,154,.12)}
.home .ecr-intro-visual img{position:relative;width:min(58%,330px);filter:drop-shadow(0 12px 24px rgba(18,54,91,.13))}
.home .ecr-intro-visual p{position:relative;margin:30px 0 2px;font:500 clamp(1.35rem,2vw,1.85rem) 'Playfair Display',serif;color:var(--deep)}
.home .ecr-intro-visual small{position:relative;color:#668096;font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.home .ecr-intro-visual.ecr-team-portrait{display:block;margin:0;min-height:520px;background:#edf5fb;border-radius:32px;overflow:hidden}
.home .ecr-intro-visual.ecr-team-portrait:before{content:none}
.home .ecr-intro-visual.ecr-team-portrait img{display:block;width:100%;height:520px;object-fit:cover;object-position:center;filter:none}
.home .ecr-intro-visual.ecr-brand-art{display:flex;margin:0;min-height:520px;padding:0;background:#f4f6f8;border-radius:32px;overflow:hidden}
.home .ecr-intro-visual.ecr-brand-art:before{content:none}
.home .ecr-intro-visual.ecr-brand-art img{display:block;width:100%;height:100%;min-height:520px;object-fit:contain;object-position:center;filter:none;border-radius:0}
.home .ecr-visual-orbit{position:absolute;border:1px solid rgba(7,82,154,.12);border-radius:50%}
.home .orbit-one{width:430px;height:430px;right:-150px;top:-150px}.home .orbit-two{width:260px;height:260px;left:-95px;bottom:-80px;border-color:rgba(255,100,30,.18)}
@media(max-width:900px){.home .ecr-intro{grid-template-columns:1fr;gap:48px}.home .ecr-intro-visual{min-height:420px}.home .ecr-intro-visual img{width:min(52%,300px)}}
@media(max-width:560px){.home .ecr-intro-visual{min-height:340px;border-radius:22px}.home .ecr-intro-visual:before{width:230px;height:230px}.home .ecr-intro-visual img{width:58%}.home .ecr-intro-copy h2{font-size:2.8rem}}
@media(max-width:900px){.home .ecr-intro-visual.ecr-team-portrait,.home .ecr-intro-visual.ecr-team-portrait img{height:460px;min-height:460px}}
@media(max-width:560px){.home .ecr-intro-visual.ecr-team-portrait,.home .ecr-intro-visual.ecr-team-portrait img{height:370px;min-height:370px}.home .ecr-intro-visual.ecr-team-portrait img{width:100%;object-position:center}}
@media(max-width:900px){.home .ecr-intro-visual.ecr-brand-art,.home .ecr-intro-visual.ecr-brand-art img{height:auto;min-height:460px}}
@media(max-width:560px){.home .ecr-intro-visual.ecr-brand-art,.home .ecr-intro-visual.ecr-brand-art img{height:auto;min-height:350px}}

/* Five ECR promises */
.home .trust-heading{margin-top:96px;padding-top:42px;border-top:1px solid var(--line);text-align:center}
.home .trust-heading h3{margin:10px auto 38px;font:500 clamp(1.7rem,2.8vw,2.6rem)/1.25 'Playfair Display',serif;color:var(--ink)}
.home .trust-heading h3 em{color:var(--gold);font-weight:500}
.home .trust-row{margin-top:0;padding-top:0;border-top:0;grid-template-columns:repeat(5,1fr);gap:28px;align-items:start}
.home .trust-row .trust-item{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.home .trust-row .trust-icon{width:76px;height:76px;display:grid;place-items:center;margin-bottom:8px;border:1.5px solid rgba(7,82,154,.32);border-radius:50%;font:500 1.7rem/1 'Playfair Display',serif;color:var(--deep);background:#f6fbff}
.home .trust-row .trust-item strong{font:600 .86rem/1.35 'DM Sans',sans-serif;color:var(--ink);text-transform:uppercase;letter-spacing:.09em}
.home .trust-row .trust-item>span:last-child{max-width:210px;font-size:.84rem;line-height:1.5;text-transform:none;letter-spacing:0;color:#60758a}
@media(max-width:900px){.home .trust-row{grid-template-columns:repeat(2,1fr);gap:34px 24px}.home .trust-row .trust-item:last-child{grid-column:1/-1}.home .trust-heading{margin-top:64px}}
@media(max-width:560px){.home .trust-row{grid-template-columns:1fr}.home .trust-row .trust-item:last-child{grid-column:auto}.home .trust-heading{margin-top:52px}.home .trust-icon{width:68px;height:68px}}

/* Horizontal best-selling tour collection */
.best-sellers{background:#fff;overflow:hidden}
.best-sellers-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}
.best-sellers h2{font-family:'DM Sans',sans-serif;font-size:clamp(2.2rem,4.2vw,4.5rem);font-weight:700;line-height:1.04;letter-spacing:-.055em;margin:12px 0 0}
.best-sellers h2 em{font-family:inherit;font-style:normal;color:var(--gold)}
.best-seller-nav{display:flex;gap:10px;padding-bottom:8px}
.best-seller-nav button{width:48px;height:48px;border:1px solid rgba(7,82,154,.24);border-radius:50%;background:#fff;color:var(--deep);font-size:1.1rem;cursor:pointer;transition:.25s}
.best-seller-nav button:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.best-seller-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 1px 28px;scrollbar-width:thin;scrollbar-color:rgba(7,82,154,.3) transparent}
.best-card{flex:0 0 clamp(300px,31vw,430px);scroll-snap-align:start;background:#f7fafc;border:1px solid rgba(7,82,154,.1);border-radius:18px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.best-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(18,54,91,.14)}
.best-card-image{display:block;position:relative;height:270px;background-image:linear-gradient(0deg,rgba(2,30,54,.28),transparent 52%),var(--tour-image);background-size:cover;background-position:center;overflow:hidden}
.best-card-image span{position:absolute;left:18px;top:18px;padding:7px 12px;border-radius:20px;background:var(--gold);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.best-card-body{padding:24px}
.best-card-body>p{margin:0 0 7px;color:#718397;font-size:.71rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.best-card h3{font:600 clamp(1.25rem,1.7vw,1.65rem)/1.3 'DM Sans',sans-serif;margin:0 0 24px;color:var(--ink)}
.best-card-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:17px;border-top:1px solid rgba(7,82,154,.12)}
.best-card-foot strong,.best-card-foot a{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}
.best-card-foot a{color:var(--deep);font-weight:700}
.best-all{margin-top:28px}
@media(max-width:900px){.best-card{flex-basis:min(72vw,390px)}.best-card-image{height:245px}}
@media(max-width:560px){.best-sellers-head{align-items:flex-start}.best-seller-nav{display:none}.best-card{flex-basis:86vw}.best-card-image{height:225px}.best-card-foot{align-items:flex-start;flex-direction:column}}

/* Victoria-inspired image motion for tour cards */
.best-card-image{isolation:isolate}
.best-card-image:before{content:'';position:absolute;z-index:0;inset:0;background-image:inherit;background-position:inherit;background-size:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease;will-change:transform}
.best-card:hover .best-card-image:before{transform:scale(1.12);filter:saturate(1.08) contrast(1.03)}
.best-card-image span{z-index:2}
@media(prefers-reduced-motion:reduce){.best-card-image:before,.country-tour-image:before,.tour-image:before,.laos-image:before,.style-feature-image:before,.style-tour-image:before,.related-tour-image:before{transition:none!important}.best-card:hover .best-card-image:before,.country-tour-card:hover .country-tour-image:before,.tour-card:hover .tour-image:before,.laos-card:hover .laos-image:before,.style-feature:hover .style-feature-image:before,.style-tour:hover .style-tour-image:before,.related-tour-card:hover .related-tour-image:before{transform:none!important}}

/* Compact three-column travel information */
.travel-help{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;background:#fff}
.travel-help-card{min-height:390px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:44px 38px 36px;background:#f5f7f9;border:1px solid rgba(7,82,154,.06);border-radius:20px 20px 0 0}
.travel-help-icon{min-height:32px;margin:0 0 22px;color:var(--gold);font-size:1.15rem;letter-spacing:.09em}
.travel-help-card h2{font:650 clamp(1.45rem,2vw,2rem)/1.18 'DM Sans',sans-serif;letter-spacing:-.025em;margin:0 0 20px;color:var(--ink)}
.travel-help-card h2 em{font:inherit;font-style:normal;color:var(--gold)}
.travel-help-card>p:not(.travel-help-icon){max-width:360px;margin:0;color:#587087;font-size:.98rem;line-height:1.7}
.compact-rating{display:flex;align-items:center;justify-content:center;gap:12px;margin:-2px 0 18px}
.compact-rating strong{font:600 2.3rem/1 'Playfair Display',serif;color:var(--deep)}
.compact-rating span{max-width:110px;color:#718397;font-size:.72rem;font-weight:700;line-height:1.35;text-align:left;text-transform:uppercase;letter-spacing:.06em}
.travel-help-card>a{display:inline-flex;align-items:center;gap:16px;margin-top:auto;padding:12px 20px;border:1px solid var(--deep);border-radius:30px;color:var(--deep);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:.25s}
.travel-help-card>a:hover{background:var(--deep);color:#fff}
@media(max-width:900px){.travel-help{grid-template-columns:1fr}.travel-help-card{min-height:330px}}
@media(max-width:560px){.travel-help-card{padding:38px 25px 30px}}

/* Consistent ECR image finish: soft upper corners, clean lower edge */
main img,.destination-card,.best-card-image,.journal-image,.ecr-intro-visual{border-radius:18px 18px 0 0}

/* A consistent way back to the homepage from every internal hero banner. */
.country-hero,.travel-styles-hero,.blog-hero,.about-hero,.season-hero,.tour-detail-hero{position:relative}
.hero-home-link{position:absolute;z-index:8;top:118px;left:8vw;display:inline-flex;align-items:center;gap:9px;padding:9px 14px 9px 11px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(5,42,66,.34);color:#fff;font-size:.72rem;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 8px 24px rgba(0,26,48,.16);backdrop-filter:blur(10px);transition:background .2s,border-color .2s,transform .2s}
.hero-home-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hero-home-link:hover,.hero-home-link:focus-visible{background:#ff641e;border-color:#ff641e;color:#fff;transform:translateY(-2px)}
@media(max-width:900px){.hero-home-link{top:92px;left:24px}}
.blog-card>div{border-radius:18px 18px 0 0!important}
.hero-slide,.country-hero,.blog-hero{border-radius:0}

/* Header proportions aligned with the original ECR Travel website */
@media(min-width:901px){
  .site-header #main-nav>a,.site-header #main-nav>.nav-group>a{color:#082f57;font-weight:700;text-shadow:none;transition:color .2s ease}
  .site-header #main-nav>a:hover,.site-header #main-nav>a:focus-visible,.site-header #main-nav>.nav-group>a:hover,.site-header #main-nav>.nav-group>a:focus-visible{color:#e95b1a;text-shadow:none}
  .site-header{height:116px;padding:0 2.8vw;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(8,47,87,.12);box-shadow:0 8px 28px rgba(8,47,87,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .site-header .brand{width:clamp(205px,14.5vw,255px);flex:0 0 auto;margin-right:clamp(34px,4.5vw,76px);filter:none}
  .site-header nav{flex:1;justify-content:flex-end;gap:clamp(24px,2.6vw,46px);font-size:clamp(.84rem,.95vw,1rem);letter-spacing:.055em}
  .site-header nav>a,.site-header nav>.nav-group>a{padding:43px 0}
  .site-header .header-cta{flex:0 0 auto;margin-left:clamp(24px,2.7vw,46px);padding:12px 22px;font-size:.82rem;white-space:nowrap;background:#ff641e;border-color:#ff641e;color:#fff}
}
@media(min-width:901px) and (max-width:1180px){
  .site-header .brand{width:185px;margin-right:26px}
  .site-header nav{gap:20px;font-size:.78rem}
  .site-header .header-cta{margin-left:20px;padding:10px 16px;font-size:.74rem}
}
@media(max-width:900px){
  .site-header{height:80px;padding:0 22px}
  .site-header .brand{width:145px;margin-right:auto}
  .site-header nav{top:80px}
}

/* Circular social and chat controls inspired by the Absolute Asia reference. */
.footer-social{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:15px;width:max-content}
.ecr-footer .footer-social a{position:relative;width:42px;height:42px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:0;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:#f5a623;color:#fff;box-shadow:0 5px 14px rgba(154,96,0,.2);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.ecr-footer .footer-social a::before{content:none!important;display:none!important}
.ecr-footer .footer-social a:hover,.ecr-footer .footer-social a:focus-visible{background:#e79000;box-shadow:0 8px 18px rgba(154,96,0,.28);transform:translateY(-2px)}
.footer-social svg{display:block;width:19px;height:19px;margin:0;flex:0 0 19px;fill:currentColor;stroke:none}
.footer-social svg rect,.footer-social svg circle{fill:none;stroke:currentColor;stroke-width:2}
.footer-social svg .play{fill:#f5a623;stroke:none}
.footer-social svg .whatsapp-mark{fill:#fff;stroke:none}
.ecr-footer .footer-social a:hover svg .play,.ecr-footer .footer-social a:focus-visible svg .play{fill:#e79000}
.whatsapp{width:60px!important;height:60px!important;right:24px!important;bottom:24px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#f5a623!important;color:#fff!important;box-shadow:0 10px 28px rgba(154,96,0,.3)!important;font-size:0!important;cursor:pointer!important;transition:transform .2s ease,background .2s ease!important}
.whatsapp:hover,.whatsapp:focus-visible{background:#e79000!important;transform:translateY(-3px)}
.whatsapp svg{width:32px;height:32px;fill:#fff;stroke:#f5a623;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ecr-chat-panel{position:fixed;z-index:31;right:24px;bottom:96px;width:min(390px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(18,54,91,.12);border-radius:18px;background:#fff;box-shadow:0 22px 65px rgba(13,42,70,.28);color:#12365b}
.ecr-chat-panel[hidden]{display:none}
.ecr-chat-header{min-height:88px;padding:17px 16px;display:grid;grid-template-columns:48px 1fr 34px;align-items:center;gap:12px;background:#f5a623;color:#fff}
.ecr-chat-symbol{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(125,74,0,.18)}
.ecr-chat-symbol svg{width:27px;height:27px;fill:#fff;stroke:#f5a623;stroke-width:2;stroke-linecap:round}
.ecr-chat-header strong{display:block;font-size:1.06rem;line-height:1.25}
.ecr-chat-header span{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:.75rem;line-height:1.3;color:rgba(255,255,255,.94)}
.ecr-chat-header i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#35c979;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.ecr-chat-close{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;font:300 2rem/1 sans-serif;cursor:pointer}
.ecr-chat-close:hover,.ecr-chat-close:focus-visible{background:rgba(255,255,255,.16)}
.ecr-chat-body{padding:20px;background:#f5f8fb}
.ecr-chat-body>p{margin:0 0 14px;font-size:.9rem;color:#5f7184}
.ecr-chat-body .ecr-chat-greeting{width:86%;padding:13px 15px;border-radius:4px 14px 14px 14px;background:#fff;box-shadow:0 4px 14px rgba(17,54,90,.08);color:#12365b;font-weight:600}
.ecr-chat-actions{display:grid;gap:10px;margin-top:16px}
.ecr-chat-actions a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid rgba(18,54,91,.1);border-radius:12px;background:#fff;box-shadow:0 3px 10px rgba(17,54,90,.05);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.ecr-chat-actions a:hover,.ecr-chat-actions a:focus-visible{transform:translateY(-2px);border-color:#f5a623;box-shadow:0 7px 18px rgba(17,54,90,.1)}
.ecr-chat-actions a>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:700}
.chat-whatsapp>span{background:#25b76a}.chat-facebook>span{background:#1877f2;font:700 1.5rem Georgia,serif}.chat-instagram>span{background:linear-gradient(135deg,#7042c1,#e1306c,#f5a623);font-size:1.5rem}
.ecr-chat-actions strong,.ecr-chat-actions small{display:block}.ecr-chat-actions strong{font-size:.9rem}.ecr-chat-actions small{margin-top:1px;color:#718397;font-size:.72rem}.ecr-chat-actions b{font-weight:500;color:#f5a623}
.ecr-chat-note{display:block;margin-top:15px;color:#7c8a98;font-size:.7rem;line-height:1.45}
@media(max-width:600px){.whatsapp{width:54px!important;height:54px!important;right:16px!important;bottom:16px!important}.footer-social{margin-top:10px}.ecr-chat-panel{right:16px;bottom:82px}.ecr-chat-header{min-height:80px;padding:14px}.ecr-chat-body{padding:16px}}

/* Unified, natural image finish: clean crops, gentle colour and smooth motion. */
img{image-rendering:auto}
.destination-card,.best-card-image,.blog-card>div,.country-tour-image,.style-tour-image,.style-feature-image{background-repeat:no-repeat;background-color:#dfe9ef}
.destination-card,.best-card-image,.blog-card>div{filter:saturate(1.035) contrast(1.01) brightness(1.02)}
.home .hero-slide{filter:saturate(1.025) contrast(1.01) brightness(1.02)}

/* Compact language control shared by every page. */
.ecr-language-switcher{display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;margin-left:22px;padding:7px 12px;border:1px solid rgba(8,47,87,.2);border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(7,36,61,.12);backdrop-filter:blur(9px);direction:ltr}
.ecr-language-switcher button{padding:4px 5px;border:0;background:transparent;color:#111;font:800 .9rem/1.2 'DM Sans',sans-serif;letter-spacing:.025em;cursor:pointer;opacity:1}
.ecr-language-switcher button[aria-current="true"]{color:#111;box-shadow:inset 0 -2px #ff641e}
.ecr-language-switcher span{color:#4c5560;font-size:.86rem}
.ecr-language-switcher button:hover,.ecr-language-switcher button:focus-visible{color:#e95b1a;opacity:1}
#ecr-google-translate,.goog-te-banner-frame,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,iframe.goog-te-banner-frame{display:none!important;visibility:hidden!important;height:0!important}
body>.skiptranslate:not(#ecr-google-translate){display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}
html,html.translated-ltr,html.translated-rtl{margin-top:0!important}
body,body.translated-ltr,body.translated-rtl{top:0!important}
body{top:0!important}

/* Arabic reading direction while preserving phone numbers, prices and controls. */
html[dir="rtl"] body{text-align:right;font-family:Tahoma,Arial,sans-serif}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4{font-family:Tahoma,Arial,sans-serif}
html[dir="rtl"] .site-header,html[dir="rtl"] #main-nav,html[dir="rtl"] .section-head,html[dir="rtl"] .best-sellers-head,html[dir="rtl"] .best-card-foot,html[dir="rtl"] .country-tour-meta,html[dir="rtl"] .tour-detail-meta{direction:rtl}
html[dir="rtl"] .brand,html[dir="rtl"] .hero-controls,html[dir="rtl"] .best-seller-nav,html[dir="rtl"] a[href^="tel:"],html[dir="rtl"] a[href^="mailto:"],html[dir="rtl"] .tour-price,html[dir="rtl"] .ecr-language-switcher{direction:ltr;unicode-bidi:isolate}
html[dir="rtl"] .arrow-link span,html[dir="rtl"] .best-card-foot a{display:inline-block;transform:scaleX(-1)}

@media(min-width:901px){
  .site-header .ecr-language-switcher+.header-cta{margin-left:12px}
}
@media(max-width:1180px) and (min-width:901px){
  .ecr-language-switcher{margin-left:12px;padding:5px 7px}
  .ecr-language-switcher button{font-size:.64rem}
}
@media(max-width:900px){
  .ecr-language-switcher{position:absolute;right:78px;margin:0;background:rgba(10,47,77,.36)}
  html[dir="rtl"] .ecr-language-switcher{right:auto;left:78px}
}

/* Shared bright footer across all pages. */
footer.ecr-footer{background:#f8fbfa;color:#425e60;border-top:5px solid #e2a62b;padding:70px 7vw 24px;display:grid;grid-template-columns:1.05fr 1.2fr 1fr 1.35fr;gap:55px}
footer.ecr-footer h4{margin:0 0 24px;color:#073f43;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase}
footer.ecr-footer a{display:flex;align-items:flex-start;gap:9px;margin:10px 0;color:#5c7071;font-size:.91rem;line-height:1.45}
footer.ecr-footer a:before{content:'›';color:#e2a62b;font-size:1.3rem;font-weight:700;line-height:1}
footer.ecr-footer a:hover{color:#073f43}
.ecr-footer .office-line{display:flex;gap:11px;margin:11px 0;font-size:.91rem;line-height:1.5}
.ecr-footer .office-line b{color:#e2a62b}
.ecr-footer .office-line a{margin:0}
.ecr-footer .office-line a:before{display:none}
.ecr-footer-bottom{grid-column:1/-1;border-top:1px solid rgba(7,82,154,.14);padding-top:24px;margin-top:26px;display:grid;grid-template-columns:auto 1fr auto;gap:35px;align-items:center;font-size:.78rem;color:#657b8e}
.ecr-footer-bottom img{width:125px;filter:none}
.ecr-footer .footer-review-badge{display:grid;grid-template-columns:auto auto;gap:1px 9px;align-items:center;margin:0;padding:12px 15px;border:1px solid rgba(7,82,154,.16);border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(18,57,95,.06)}
.ecr-footer .footer-review-badge:before{display:none}.footer-review-badge>span{grid-column:1/-1;color:#ff641e;letter-spacing:.08em}.footer-review-badge strong{font-size:1rem;color:#07529a}.footer-review-badge small{text-transform:uppercase;letter-spacing:.06em;color:#758a9c}
.footer-legal{display:flex;align-items:center;justify-content:center;gap:18px}.footer-payment{display:flex;align-items:center;gap:14px}.footer-payment>span{text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#07529a}.footer-payment>div{display:flex;gap:7px;flex-wrap:wrap}.footer-payment b{padding:6px 9px;border:1px solid #a9bac8;border-radius:4px;background:#fff;color:#395a74;font-size:.63rem;letter-spacing:.03em}
@media(max-width:950px){footer.ecr-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:950px){.ecr-footer-bottom{grid-template-columns:1fr 1fr}.footer-payment{grid-column:1/-1}.footer-legal{justify-content:flex-start}}
@media(max-width:600px){footer.ecr-footer{grid-template-columns:1fr;padding:55px 24px 22px;gap:35px}.ecr-footer-bottom{grid-template-columns:1fr;align-items:start;gap:20px}.footer-payment{grid-column:auto;align-items:flex-start;flex-direction:column}.footer-legal{flex-direction:column;align-items:flex-start}.ecr-footer .footer-review-badge{width:max-content}}
footer.ecr-footer{background:#f8fbfa!important;color:#425e60!important}
a[href^="tel:"],.ecr-phone{direction:ltr;unicode-bidi:isolate;white-space:nowrap}
