:root{
	--blue:#0B4F8A;
	--blue-dark:#082E52;
	--navy:#071D35;
	--gold:#F4B942;
	--gold-dark:#D99719;
	--sky:#E8F3FF;
	--paper:#FFFFFF;
	--muted:#627089;
	--text:#152033;
	--line:#DCE5F2;
	--soft:#F5F8FC;
	--green:#169B62;
	--danger:#B42318;
	--radius:20px;
	--shadow:0 18px 48px rgba(6,29,53,.14);
	--shadow-sm:0 8px 22px rgba(6,29,53,.08);
	--max:1180px
}
*{
	box-sizing:border-box
}
html{
	scroll-behavior:smooth
}
body{
	margin:0;
	font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	color:var(--text);
	background:#fff;
	line-height:1.6
}
img{
	max-width:100%;
	display:block
}
a{
	color:inherit;
	text-decoration:none
}
button,input,textarea,select{
	font:inherit
}
.container{
	width:min(var(--max),calc(100% - 32px));
	margin-inline:auto
}
.skip-link{
	position:absolute;
	top:-60px;
	left:10px;
	background:#fff;
	color:#000;
	padding:10px;
	z-index:999
}
.skip-link:focus{
	top:10px
}
.top-strip{
	background:var(--navy);
	color:#fff;
	font-size:.9rem
}
.top-strip-inner{
	display:flex;
	justify-content:space-between;
	gap:18px;
	padding:8px 0
}
.top-strip a{
	color:#fff;
	font-weight:700;
	margin-left:14px
}
.site-header{
	position:sticky;
	top:0;
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(16px);
	border-bottom:1px solid var(--line);
	z-index:50
}
.nav-shell{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	min-height:78px
}
.brand img{
	height:52px;
	width:auto
}
.nav{
	display:flex;
	align-items:center;
	gap:4px
}
.nav a{
	padding:10px 12px;
	border-radius:999px;
	color:#24324A;
	font-weight:700;
	font-size:1rem
}
.nav a:hover,.nav a.active{
	background:var(--sky);
	color:var(--blue)
}
.nav-actions{
	display:flex;
	align-items:center;
	gap:10px
}
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border:0;
	border-radius:999px;
	padding:12px 20px;
	font-weight:800;
	cursor:pointer;
	transition:.22s ease;
	gap:8px
}
.btn:hover{
	transform:translateY(-1px)
}
.btn-primary{
	background:linear-gradient(135deg,var(--gold),var(--gold-dark));
	color:#14120A;
	box-shadow:0 10px 22px rgba(244,185,66,.28)
}
.btn-soft{
	background:var(--sky);
	color:var(--blue)
}
.btn-light{
	background:#fff;
	color:var(--blue-dark)
}
.btn-whatsapp{
	background:#1DB954;
	color:#fff
}
.btn-outline{
	border:1px solid var(--line);
	background:#fff;
	color:var(--blue)
}
.menu-toggle{
	display:none;
	width:46px;
	height:46px;
	border:1px solid var(--line);
	background:#fff;
	border-radius:14px;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:5px
}
.menu-toggle span{
	width:21px;
	height:2px;
	background:var(--blue-dark);
	display:block
}
.mobile-nav{
	display:none;
	border-top:1px solid var(--line);
	padding:12px 16px;
	background:#fff
}
.mobile-nav a{
	display:block;
	padding:13px 0;
	font-weight:800;
	border-bottom:1px solid var(--line)
}
.hero{
	position:relative;
	background:linear-gradient(135deg,rgba(8,46,82,.96),rgba(11,79,138,.88)),url('../img/hero-flights.jpg') center/cover;
	min-height:640px;
	color:#fff;
	overflow:hidden
}
.hero:after{
	content:"";
	position:absolute;
	inset:auto -5% -80px -5%;
	height:170px;
	background:#fff;
	border-radius:50% 50% 0 0/100% 100% 0 0
}
.hero-grid{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:50px;
	align-items:center;
	padding:82px 0 130px
}
.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	text-transform:uppercase;
	letter-spacing:.14em;
	font-size:.78rem;
	font-weight:900;
	color:var(--gold)
}
h1,h2,h3{
	line-height:1.12;
	margin:0 0 14px
}
h1{
	font-size:clamp(2.5rem,6vw,5.2rem);
	letter-spacing:-.06em
}
h1 em{
	color:var(--gold);
	font-style:normal
}
h2{
	font-size:clamp(2rem,4vw,3.25rem);
	letter-spacing:-.045em
}
h3{
	font-size:1.3rem
}
.lead{
	font-size:1.18rem;
	color:rgba(255,255,255,.86);
	max-width:680px
}
.hero-ctas{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	margin:28px 0
}
.hero-proof{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:12px;
	margin-top:30px
}
.hero-proof div{
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.18);
	padding:18px;
	border-radius:18px
}
.hero-proof strong{
	display:block;
	font-size:1.5rem;
	color:#fff
}
.hero-proof span{
	font-size:.88rem;
	color:rgba(255,255,255,.75)
}
.quote-panel{
	background:#fff;
	color:var(--text);
	border-radius:28px;
	padding:26px;
	box-shadow:var(--shadow)
}
.quote-panel h2{
	font-size:1.8rem
}
.quick-tabs{
	display:flex;
	gap:8px;
	background:var(--soft);
	padding:6px;
	border-radius:999px;
	margin:18px 0
}
.quick-tabs button{
	flex:1;
	border:0;
	background:transparent;
	border-radius:999px;
	padding:10px;
	font-weight:900;
	color:var(--muted);
	cursor:pointer
}
.quick-tabs button.active{
	background:var(--blue);
	color:#fff
}
.quote-form{
	display:grid;
	gap:14px
}
.form-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:14px
}
.quote-form label{
	font-weight:800;
	font-size:.9rem;
	color:#2D3A52
}
.quote-form input,.quote-form textarea,.quote-form select{
	width:100%;
	margin-top:6px;
	border:1px solid var(--line);
	border-radius:14px;
	padding:12px 13px;
	background:#fff;
	color:var(--text)
}
.quote-form textarea{
	resize:vertical
}
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{
	outline:3px solid rgba(11,79,138,.14);
	border-color:var(--blue)
}
.hp-field{
	position:absolute!important;
	left:-9999px!important
}
.form-note{
	font-size:.84rem;
	color:var(--muted);
	margin:0
}
.section{
	padding:82px 0
}
.section-soft{
	background:var(--soft)
}
.section-dark{
	background:var(--navy);
	color:#fff
}
.section-dark p,.section-dark .section-intro{
	color:rgba(255,255,255,.78)
}
.section-head{
	display:flex;
	justify-content:space-between;
	gap:30px;
	align-items:end;
	margin-bottom:34px
}
.section-intro{
	max-width:720px;
	color:var(--muted);
	font-size:1.08rem
}
.trust-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:14px
}
.trust-card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	padding:18px;
	box-shadow:var(--shadow-sm)
}
.trust-card strong{
	display:block;
	color:var(--blue);
	font-size:1.05rem
}
.grid-3{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px
}
.grid-2{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:24px
}
.card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:24px;
	box-shadow:var(--shadow-sm)
}
.service-card{
	min-height:250px
}
.service-icon{
	width:58px;
	height:58px;
	border-radius:17px;
	background:var(--sky);
	display:grid;
	place-items:center;
	font-size:1.7rem;
	margin-bottom:18px
}
.card p{
	color:var(--muted)
}
.text-link{
	display:inline-block;
	font-weight:900;
	color:var(--blue);
	margin-top:8px
}
.text-link:hover{
	color:var(--gold-dark)
}
.destination-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px
}
.destination-card{
	position:relative;
	overflow:hidden;
	border-radius:24px;
	min-height:310px;
	background:var(--blue-dark);
	box-shadow:var(--shadow-sm)
}
.destination-card img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;
	inset:0;
	opacity:.76;
	transition:.3s ease
}
.destination-card:hover img{
	transform:scale(1.06);
	opacity:.62
}
.destination-card div{
	position:absolute;
	z-index:3;
	inset:auto 0 0;
	padding:22px;
	color:#fff;
	background:linear-gradient(to top,rgba(4,16,30,.92),transparent)
}
.destination-card span{
	font-size:.75rem;
	text-transform:uppercase;
	letter-spacing:.14em;
	color:var(--gold);
	font-weight:900
}
.destination-card p{
	margin:0 0 12px;
	color:rgba(255,255,255,.86);
	font-size:.95rem
}
.destination-card a{
	position:relative;
	z-index:5;
	font-weight:900;
	color:#fff;
	border-bottom:2px solid var(--gold);
	display:inline-flex;
	align-items:center;
	gap:7px
}
.destination-card a:after{
	content:"›";
	font-size:1.1em;
	transition:transform .22s var(--ease-smooth)
}
.destination-card a:hover:after{
	transform:translateX(4px)
}
.route-table{
	border:1px solid var(--line);
	border-radius:22px;
	overflow:hidden;
	background:#fff
}
.route-head,.route-row{
	display:grid;
	grid-template-columns:2fr 1.4fr .8fr;
	gap:12px;
	padding:15px 18px;
	align-items:center
}
.route-head{
	background:var(--blue-dark);
	color:#fff;
	font-weight:900
}
.route-row:nth-child(odd){
	background:var(--soft)
}
.route-row small{
	display:block;
	color:var(--muted);
	font-size:.84rem
}
.route-row a{
	font-weight:900;
	color:var(--blue)
}
.steps{
	counter-reset:step;
	display:grid;
	gap:16px
}
.step{
	position:relative;
	background:#fff;
	border:1px solid var(--line);
	border-radius:20px;
	padding:22px 22px 22px 72px;
	box-shadow:var(--shadow-sm)
}
.step:before{
	counter-increment:step;
	content:counter(step);
	position:absolute;
	left:22px;
	top:22px;
	width:34px;
	height:34px;
	border-radius:50%;
	background:var(--gold);
	display:grid;
	place-items:center;
	font-weight:900
}
.hero-small{
	background:linear-gradient(135deg,rgba(8,46,82,.95),rgba(11,79,138,.86)),url('../img/hero-services.jpg') center/cover;
	color:#fff;
	padding:70px 0
}
.hero-small.hotels{
	background-image:linear-gradient(135deg,rgba(8,46,82,.95),rgba(11,79,138,.86)),url('../img/hero-hotels.jpg')
}
.hero-small.destinations{
	background-image:linear-gradient(135deg,rgba(8,46,82,.95),rgba(11,79,138,.86)),url('../img/hero-destinations.jpg')
}
.hero-small h1{
	font-size:clamp(2.2rem,5vw,4.2rem)
}
.breadcrumb{
	font-size:.9rem;
	margin-bottom:18px;
	color:rgba(255,255,255,.8)
}
.two-col{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:38px;
	align-items:start
}
.sticky-box{
	position:sticky;
	top:110px
}
.feature-list{
	display:grid;
	gap:12px;
	margin:22px 0;
	padding:0;
	list-style:none
}
.feature-list li{
	display:flex;
	gap:10px;
	align-items:flex-start
}
.feature-list li:before{
	content:'✓';
	width:24px;
	height:24px;
	border-radius:50%;
	background:var(--green);
	color:#fff;
	display:inline-grid;
	place-items:center;
	font-weight:900;
	flex:0 0 auto
}
.faq-list{
	display:grid;
	gap:14px
}
.faq-item{
	border:1px solid var(--line);
	border-radius:18px;
	background:#fff;
	overflow:hidden
}
.faq-question{
	width:100%;
	display:flex;
	justify-content:space-between;
	gap:18px;
	background:#fff;
	border:0;
	text-align:left;
	padding:18px 20px;
	font-weight:900;
	color:var(--blue-dark);
	cursor:pointer
}
.faq-answer{
	padding:0 20px 20px;
	color:var(--muted);
	display:none
}
.faq-item.open .faq-answer{
	display:block
}
.contact-card{
	display:grid;
	gap:16px
}
.contact-row{
	display:flex;
	gap:14px;
	padding:16px;
	border:1px solid var(--line);
	border-radius:18px;
	background:#fff
}
.contact-row b{
	display:block
}
.contact-row span{
	color:var(--muted)
}
.map-box{
	border-radius:22px;
	overflow:hidden;
	border:1px solid var(--line);
	background:var(--sky);
	min-height:320px;
	display:grid;
	place-items:center;
	text-align:center;
	padding:30px
}
.notice{
	border-left:5px solid var(--gold);
	background:#FFF8E7;
	padding:18px;
	border-radius:16px;
	margin:22px 0
}
.cta-band{
	background:linear-gradient(135deg,var(--blue),var(--blue-dark));
	color:#fff;
	padding:54px 0
}
.cta-inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:28px
}
.cta-inner p{
	color:rgba(255,255,255,.78);
	margin:0;
	max-width:700px
}
.cta-actions{
	display:flex;
	gap:12px;
	flex-wrap:wrap
}
.footer{
	background:var(--navy);
	color:#fff;
	padding:54px 0 22px
}
.footer-grid{
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1.2fr;
	gap:32px
}
.footer-logo{
	margin-bottom:16px
}
.footer p,.footer .small{
	color:rgba(255,255,255,.72)
}
.footer h3{
	font-size:1rem;
	color:#fff;
	margin-bottom:14px
}
.footer a{
	display:block;
	color:rgba(255,255,255,.76);
	padding:5px 0
}
.footer a:hover{
	color:var(--gold)
}
.footer-bottom{
	border-top:1px solid rgba(255,255,255,.14);
	margin-top:34px;
	padding-top:18px;
	display:flex;
	justify-content:space-between;
	gap:16px;
	color:rgba(255,255,255,.7);
	font-size:.9rem
}
.legal{
	max-width:900px
}
.legal h2{
	font-size:1.7rem;
	margin-top:32px
}
.success-box{
	max-width:760px;
	margin:70px auto;
	text-align:center
}
.badge-row{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	margin:22px 0
}
.badge{
	display:inline-flex;
	align-items:center;
	border:1px solid var(--line);
	background:#fff;
	border-radius:999px;
	padding:8px 12px;
	font-weight:800;
	color:var(--blue)
}
.deal-strip{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:14px
}
.deal{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	padding:18px;
	box-shadow:var(--shadow-sm)
}
.deal b{
	color:var(--blue)
}
.deal small{
	display:block;
	color:var(--muted)
}
@media(max-width:1040px){
	.nav{
		display:none
}
	.menu-toggle{
		display:flex
}
	.mobile-nav.open{
		display:block
}
	.hero-grid,.two-col{
		grid-template-columns:1fr
}
	.quote-panel{
		max-width:760px
}
	.hero-proof,.trust-grid,.destination-grid,.deal-strip{
		grid-template-columns:repeat(2,1fr)
}
	.footer-grid{
		grid-template-columns:1fr 1fr
}
	.sticky-box{
		position:static
}
}
@media(max-width:720px){
	.top-strip-inner{
		display:block;
		text-align:center
}
	.top-strip a{
		display:inline-block;
		margin:4px 8px
}
	.nav-actions .btn-soft,.nav-actions .btn-primary{
		display:none
}
	.hero{
		min-height:auto
}
	.hero-grid{
		padding:54px 0 105px
}
	.hero-proof,.trust-grid,.grid-3,.grid-2,.destination-grid,.form-grid,.deal-strip{
		grid-template-columns:1fr
}
	.section-head{
		display:block
}
	.route-head{
		display:none
}
	.route-row{
		grid-template-columns:1fr
}
	.cta-inner,.footer-bottom{
		display:block
}
	.footer-grid{
		grid-template-columns:1fr
}
	.quote-panel{
		padding:18px
}
	.hero-small{
		padding:48px 0
}
	.site-header{
		top:0
}
}
/* V3 additions */
.sticky-contact{
	position:fixed;
	left:12px;
	right:12px;
	bottom:12px;
	z-index:80;
	display:none;
	gap:10px;
	background:rgba(7,29,53,.94);
	backdrop-filter:blur(16px);
	border:1px solid rgba(255,255,255,.14);
	padding:10px;
	border-radius:20px;
	box-shadow:0 18px 48px rgba(0,0,0,.28)
}
.sticky-contact a{
	flex:1;
	text-align:center;
	border-radius:14px;
	padding:11px 8px;
	font-weight:900;
	color:#fff
}
.sticky-contact .call{
	background:var(--blue)
}
.sticky-contact .wa{
	background:#1DB954
}
.sticky-contact .quote{
	background:linear-gradient(135deg,var(--gold),var(--gold-dark));
	color:#15120a
}
.offer-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px
}
.offer-card{
	position:relative;
	background:#fff;
	border:1px solid var(--line);
	border-radius:22px;
	padding:24px;
	box-shadow:var(--shadow-sm);
	overflow:hidden
}
.offer-card:before{
	content:"";
	position:absolute;
	inset:0 0 auto;
	height:6px;
	background:linear-gradient(90deg,var(--blue),var(--gold))
}
.offer-card .route{
	font-size:1.25rem;
	font-weight:900;
	color:var(--blue-dark)
}
.offer-card .price{
	font-size:2rem;
	font-weight:950;
	color:var(--blue);
	margin:10px 0
}
.offer-card small{
	display:block;
	color:var(--muted)
}
.mini-nav{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:24px 0
}
.mini-nav a{
	border:1px solid var(--line);
	background:#fff;
	border-radius:999px;
	padding:9px 13px;
	font-weight:900;
	color:var(--blue)
}
.admin-body{
	background:var(--soft);
	min-height:100vh
}
.admin-shell{
	max-width:1200px;
	margin:0 auto;
	padding:32px 18px
}
.admin-card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:22px;
	padding:22px;
	box-shadow:var(--shadow-sm);
	margin-bottom:18px
}
.admin-table{
	width:100%;
	border-collapse:collapse;
	background:#fff
}
.admin-table th,.admin-table td{
	border-bottom:1px solid var(--line);
	padding:10px;
	text-align:left;
	vertical-align:top;
	font-size:.9rem
}
.admin-table th{
	background:var(--blue-dark);
	color:#fff
}
.admin-actions{
	display:flex;
	gap:10px;
	flex-wrap:wrap
}
.status-new{
	color:#B42318;
	font-weight:900
}
.status-contacted{
	color:#B54708;
	font-weight:900
}
.status-quoted{
	color:#0B4F8A;
	font-weight:900
}
.status-booked{
	color:#067647;
	font-weight:900
}
.status-closed{
	color:#667085;
	font-weight:900
}
.payment-box{
	background:linear-gradient(135deg,#E8F3FF,#FFF8E7);
	border:1px solid var(--line);
	border-radius:24px;
	padding:24px
}
.content-columns{
	columns:2 320px;
	column-gap:34px
}
.content-columns p{
	break-inside:avoid
}
.check-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:14px
}
.check-item{
	background:#fff;
	border:1px solid var(--line);
	border-radius:16px;
	padding:15px
}
@media(max-width:900px){
	.offer-grid,.check-grid{
		grid-template-columns:1fr
}
	.admin-table{
		display:block;
		overflow-x:auto
}
	.sticky-contact{
		display:flex
}
	body{
		padding-bottom:82px
}
}
/* =========================================================Motion and interface enhancementsLightweight: no external JS library needed, works on GoDaddy PHP hosting========================================================= */
:root{
	--ease-out:cubic-bezier(.19,1,.22,1);
	--ease-smooth:cubic-bezier(.4,0,.2,1)
}
body{
	overflow-x:hidden;
	background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)
}
body.loader-active{
	overflow:hidden
}
.site-loader{
	position:fixed;
	inset:0;
	z-index:9999;
	background:radial-gradient(circle at 50% 35%,#fff 0%,#eef6ff 48%,#dfeeff 100%);
	display:grid;
	place-items:center;
	text-align:center;
	transition:opacity .45s var(--ease-smooth),visibility .45s var(--ease-smooth)
}
.site-loader.hidden{
	opacity:0;
	visibility:hidden
}
.loader-card{
	background:rgba(255,255,255,.78);
	border:1px solid rgba(11,79,138,.12);
	border-radius:28px;
	padding:30px 36px;
	box-shadow:0 25px 70px rgba(11,79,138,.18);
	backdrop-filter:blur(18px)
}
.loader-plane{
	width:68px;
	height:68px;
	margin:0 auto 14px;
	border-radius:999px;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,var(--blue),var(--blue-dark));
	color:#fff;
	font-size:30px;
	box-shadow:0 18px 36px rgba(11,79,138,.25);
	animation:loaderFloat 1.5s ease-in-out infinite
}
.loader-card p{
	margin:0;
	color:var(--blue-dark);
	font-weight:900
}
.loader-line{
	width:150px;
	height:4px;
	border-radius:99px;
	background:#dbe8f6;
	overflow:hidden;
	margin:15px auto 0
}
.loader-line:before{
	content:"";
	display:block;
	width:42%;
	height:100%;
	border-radius:inherit;
	background:linear-gradient(90deg,var(--blue),var(--gold));
	animation:loaderLine 1.15s ease-in-out infinite
}
.page-progress{
	position:fixed;
	top:0;
	left:0;
	height:3px;
	width:0;
	background:linear-gradient(90deg,var(--gold),var(--blue));
	z-index:9998;
	box-shadow:0 0 18px rgba(244,185,66,.55);
	transition:width .08s linear
}
.site-header{
	transition:transform .35s var(--ease-smooth),box-shadow .35s var(--ease-smooth),background .35s var(--ease-smooth)
}
.site-header.scrolled{
	background:rgba(255,255,255,.97);
	box-shadow:0 18px 45px rgba(7,29,53,.12)
}
.top-strip{
	transition:.35s var(--ease-smooth)
}
.nav a,.footer a{
	position:relative
}
.nav a:after{
	content:"";
	position:absolute;
	left:16px;
	right:16px;
	bottom:5px;
	height:2px;
	background:var(--gold);
	border-radius:99px;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform .25s var(--ease-smooth)
}
.nav a:hover:after,.nav a.active:after{
	transform:scaleX(1)
}
.hero{
	isolation:isolate;
	background-attachment:fixed
}
.hero:before{
	content:"";
	position:absolute;
	inset:-18%;
	z-index:0;
	pointer-events:none;
	background:radial-gradient(circle at calc(22% + var(--mx,0px)) calc(25% + var(--my,0px)),rgba(244,185,66,.35),transparent 26%),radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 24%),radial-gradient(circle at 75% 88%,rgba(11,79,138,.55),transparent 35%);
	filter:blur(4px);
	animation:ambientShift 12s ease-in-out infinite alternate
}
.hero-grid:before{
	content:"✈";
	position:absolute;
	right:43%;
	top:42px;
	color:rgba(255,255,255,.18);
	font-size:78px;
	transform:rotate(18deg);
	animation:flyingPlane 10s ease-in-out infinite
}
.hero-grid>div:first-child{
	animation:heroCopyIn .85s var(--ease-out) both
}
.quote-panel{
	position:relative;
	overflow:hidden;
	animation:panelIn .9s var(--ease-out) .12s both
}
.quote-panel:before,.card:before,.offer-card:after,.deal:after,.check-item:after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.52) 46%,transparent 60%);
	transform:translateX(-130%);
	transition:transform .7s var(--ease-smooth)
}
.quote-panel:hover:before,.card:hover:before,.offer-card:hover:after,.deal:hover:after,.check-item:hover:after{
	transform:translateX(130%)
}
.quote-panel,.card,.trust-card,.destination-card,.offer-card,.deal,.check-item,.contact-row,.step,.route-table,.payment-box{
	will-change:transform;
	transition:transform .32s var(--ease-smooth),box-shadow .32s var(--ease-smooth),border-color .32s var(--ease-smooth),filter .32s var(--ease-smooth)
}
.card:hover,.trust-card:hover,.offer-card:hover,.deal:hover,.check-item:hover,.contact-row:hover,.step:hover,.payment-box:hover{
	transform:translateY(-7px);
	box-shadow:0 24px 60px rgba(6,29,53,.16);
	border-color:rgba(11,79,138,.22)
}
.route-row{
	transition:transform .24s var(--ease-smooth),background .24s var(--ease-smooth),box-shadow .24s var(--ease-smooth)
}
.route-row:hover{
	background:#fff;
	transform:translateX(6px);
	box-shadow:inset 4px 0 0 var(--gold)
}
.btn{
	position:relative;
	overflow:hidden
}
.btn:before{
	content:"";
	position:absolute;
	inset:-40% -20%;
	background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.36),transparent 70%);
	transform:translateX(-120%);
	transition:transform .65s var(--ease-smooth)
}
.btn:hover:before{
	transform:translateX(120%)
}
.btn-primary{
	animation:softPulse 3.4s ease-in-out infinite
}
.btn .ripple{
	position:absolute;
	border-radius:999px;
	transform:translate(-50%,-50%);
	background:rgba(255,255,255,.45);
	pointer-events:none;
	animation:ripple .65s linear forwards
}
.hero-proof div{
	position:relative;
	overflow:hidden;
	transition:.3s var(--ease-smooth)
}
.hero-proof div:hover{
	transform:translateY(-5px);
	background:rgba(255,255,255,.18)
}
.hero-proof strong{
	display:inline-block
}
.trust-card{
	position:relative;
	overflow:hidden
}
.trust-card:before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:5px;
	background:linear-gradient(var(--blue),var(--gold));
	transform:scaleY(0);
	transform-origin:top;
	transition:transform .32s var(--ease-smooth)
}
.trust-card:hover:before{
	transform:scaleY(1)
}
.destination-card{
	transform-style:preserve-3d
}
.destination-card:before{
	content:"";
	position:absolute;
	z-index:2;
	inset:0;
	background:radial-gradient(circle at var(--card-x,50%) var(--card-y,50%),rgba(255,255,255,.18),transparent 26%);
	opacity:0;
	transition:opacity .25s;
	pointer-events:none
}
.destination-card:hover:before{
	opacity:1
}
.destination-card div{
	transform:translateY(10px);
	transition:transform .32s var(--ease-smooth),background .32s
}
.destination-card:hover div{
	transform:translateY(0)
}
.service-icon,.feature-list li:before,.contact-row:before{
	transition:transform .35s var(--ease-smooth),filter .35s var(--ease-smooth)
}
.service-card:hover .service-icon,.card:hover .service-icon{
	transform:scale(1.12) rotate(5deg);
	filter:drop-shadow(0 10px 16px rgba(11,79,138,.18))
}
.quick-tabs button{
	position:relative;
	overflow:hidden
}
.quick-tabs button:after{
	content:"";
	position:absolute;
	left:50%;
	bottom:4px;
	width:0;
	height:3px;
	border-radius:99px;
	background:var(--gold);
	transition:.25s var(--ease-smooth)
}
.quick-tabs button.active:after{
	left:24%;
	width:52%
}
.quote-form input,.quote-form textarea,.quote-form select{
	transition:border-color .22s var(--ease-smooth),box-shadow .22s var(--ease-smooth),transform .22s var(--ease-smooth),background .22s
}
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{
	outline:none;
	border-color:var(--blue);
	box-shadow:0 0 0 4px rgba(11,79,138,.11);
	transform:translateY(-1px);
	background:#fff
}
.faq-item{
	transition:box-shadow .25s var(--ease-smooth),transform .25s var(--ease-smooth)
}
.faq-item:hover{
	transform:translateY(-2px);
	box-shadow:var(--shadow-sm)
}
.faq-answer{
	display:block!important;
	max-height:0;
	overflow:hidden;
	padding:0 20px;
	color:var(--muted);
	transition:max-height .35s var(--ease-smooth),padding .35s var(--ease-smooth)
}
.faq-item.open .faq-answer{
	max-height:340px;
	padding:0 20px 20px
}
.faq-question span{
	transition:transform .25s var(--ease-smooth)
}
.faq-item.open .faq-question span{
	transform:rotate(45deg)
}
.reveal{
	opacity:0;
	transform:translateY(36px);
	transition:opacity .75s var(--ease-out),transform .75s var(--ease-out)
}
.reveal.in-view{
	opacity:1;
	transform:none
}
.reveal.reveal-left{
	transform:translateX(-42px)
}
.reveal.reveal-right{
	transform:translateX(42px)
}
.reveal.reveal-left.in-view,.reveal.reveal-right.in-view{
	transform:none
}
.reveal.delay-1{
	transition-delay:.08s
}
.reveal.delay-2{
	transition-delay:.16s
}
.reveal.delay-3{
	transition-delay:.24s
}
.reveal.delay-4{
	transition-delay:.32s
}
.mobile-nav{
	transform-origin:top;
	animation:mobileDrop .24s var(--ease-smooth) both
}
.sticky-contact{
	animation:stickyIn .45s var(--ease-out) both
}
.back-to-top{
	position:fixed;
	right:20px;
	bottom:96px;
	z-index:90;
	width:46px;
	height:46px;
	border:0;
	border-radius:50%;
	background:var(--blue);
	color:#fff;
	font-size:20px;
	font-weight:900;
	display:grid;
	place-items:center;
	box-shadow:0 16px 36px rgba(7,29,53,.22);
	cursor:pointer;
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	transition:.28s var(--ease-smooth)
}
.back-to-top.show{
	opacity:1;
	visibility:visible;
	transform:none
}
.back-to-top:hover{
	background:var(--gold);
	color:#111;
	transform:translateY(-3px)
}
.section-dark{
	position:relative;
	overflow:hidden
}
.section-dark:before{
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 10% 20%,rgba(244,185,66,.13),transparent 24%),radial-gradient(circle at 85% 80%,rgba(255,255,255,.08),transparent 28%);
	pointer-events:none
}
.section-dark>.container{
	position:relative
}
.cta-band{
	position:relative;
	overflow:hidden
}
.cta-band:before{
	content:"";
	position:absolute;
	inset:-100px;
	background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.13),transparent 42%);
	animation:bandShine 7s linear infinite
}
.footer-social a,.footer a{
	transition:color .2s var(--ease-smooth),transform .2s var(--ease-smooth)
}
.footer a:hover{
	transform:translateX(4px)
}
@keyframes loaderFloat{
	0%,100%{
		transform:translateY(0) rotate(-8deg)
}
	50%{
		transform:translateY(-10px) rotate(8deg)
}
}
@keyframes loaderLine{
	0%{
		transform:translateX(-120%)
}
	100%{
		transform:translateX(260%)
}
}
@keyframes ambientShift{
	from{
		transform:translate3d(-1.5%,0,0) scale(1)
}
	to{
		transform:translate3d(1.5%,1%,0) scale(1.05)
}
}
@keyframes flyingPlane{
	0%,100%{
		transform:translate(0,0) rotate(18deg);
		opacity:.16
}
	50%{
		transform:translate(30px,-18px) rotate(26deg);
		opacity:.28
}
}
@keyframes heroCopyIn{
	from{
		opacity:0;
		transform:translateY(30px)
}
	to{
		opacity:1;
		transform:none
}
}
@keyframes panelIn{
	from{
		opacity:0;
		transform:translateY(34px) scale(.98)
}
	to{
		opacity:1;
		transform:none
}
}
@keyframes softPulse{
	0%,100%{
		box-shadow:0 10px 22px rgba(244,185,66,.28)
}
	50%{
		box-shadow:0 14px 34px rgba(244,185,66,.44)
}
}
@keyframes ripple{
	from{
		width:0;
		height:0;
		opacity:.8
}
	to{
		width:360px;
		height:360px;
		opacity:0
}
}
@keyframes mobileDrop{
	from{
		opacity:0;
		transform:scaleY(.94)
}
	to{
		opacity:1;
		transform:scaleY(1)
}
}
@keyframes stickyIn{
	from{
		opacity:0;
		transform:translateY(20px)
}
	to{
		opacity:1;
		transform:none
}
}
@keyframes bandShine{
	from{
		transform:translateX(-80%)
}
	to{
		transform:translateX(80%)
}
}
@media(max-width:900px){
	.hero{
		background-attachment:scroll
}
	.back-to-top{
		bottom:92px
}
	.hero-grid:before{
		display:none
}
	.site-loader .loader-card{
		padding:24px 26px
}
	.card:hover,.trust-card:hover,.offer-card:hover,.deal:hover,.check-item:hover,.contact-row:hover,.step:hover,.payment-box:hover{
		transform:translateY(-3px)
}
}
@media(prefers-reduced-motion:reduce){
	*,*:before,*:after{
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		scroll-behavior:auto!important;
		transition-duration:.01ms!important
}
	.reveal{
		opacity:1!important;
		transform:none!important
}
	.site-loader{
		display:none!important
}
	.btn-primary{
		animation:none!important
}
	.hero{
		background-attachment:scroll!important
}
}
/* Terms page readability */
.legal .card{
	padding:clamp(22px,4vw,42px)
}
.legal p{
	color:var(--text);
	margin:0 0 18px
}
.legal ul{
	margin:0 0 22px 24px;
	color:var(--text);
	display:grid;
	gap:8px
}
.legal li{
	padding-left:4px
}
.legal strong{
	color:var(--blue-dark)
}
/* V4.2 targeted fixes */
.offer-card .price{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:.95rem;
	font-weight:950;
	color:var(--blue-dark);
	margin:12px 0 8px;
	padding:10px 14px;
	border-radius:999px;
	background:linear-gradient(135deg,#E8F3FF,#FFF8E7);
	border:1px solid var(--line)
}
.offer-card .price:before{
	content:"✓";
	width:22px;
	height:22px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--green);
	color:#fff;
	font-size:.78rem
}
.offer-card .price strong{
	font-size:1rem;
	color:var(--blue)
}
.visa-hero-cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
	margin-top:30px;
	max-width:900px
}
.visa-hero-cards span{
	display:flex;
	align-items:center;
	gap:10px;
	background:rgba(255,255,255,.12);
	border:1px solid rgba(255,255,255,.18);
	border-radius:18px;
	padding:14px 16px;
	color:#fff;
	font-weight:850
}
.visa-hero-cards span:before{
	content:"✓";
	width:25px;
	height:25px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--gold);
	color:#111;
	font-weight:950;
	flex:0 0 auto
}
.visa-page-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:24px
}
.visa-page-tabs a{
	border:1px solid var(--line);
	background:#fff;
	border-radius:999px;
	padding:10px 16px;
	font-weight:900;
	color:var(--blue);
	box-shadow:var(--shadow-sm)
}
.visa-page-tabs a:hover{
	transform:translateY(-2px);
	background:var(--sky)
}
.premium-check{
	position:relative;
	overflow:hidden
}
.premium-check strong{
	display:flex;
	align-items:center;
	gap:10px;
	color:var(--blue-dark)
}
.premium-check strong:before{
	content:"✓";
	width:26px;
	height:26px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--green);
	color:#fff;
	font-size:.8rem;
	flex:0 0 auto
}
.mini-process{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px
}
.mini-process .card{
	position:relative;
	padding-top:34px
}
.mini-process .card:before{
	content:attr(data-step);
	position:absolute;
	top:-14px;
	left:20px;
	width:40px;
	height:40px;
	border-radius:50%;
	background:linear-gradient(135deg,var(--gold),var(--gold-dark));
	display:grid;
	place-items:center;
	font-weight:950;
	color:#111;
	box-shadow:0 10px 24px rgba(244,185,66,.25)
}
@media(max-width:900px){
	.visa-hero-cards,.mini-process{
		grid-template-columns:1fr
}
	.visa-hero-cards{
		margin-top:22px
}
	.destination-card:before{
		pointer-events:none
}
}
/* Terms page must be readable: disable premium tilt/reveal/shine effects on long legal content. */
.terms-section{
	padding-top:54px;
	background:linear-gradient(180deg,#F5F8FC,#FFFFFF)
}
.legal-readable{
	max-width:1040px
}
.legal-readable .notice{
	margin:0 0 22px;
	position:relative;
	z-index:1
}
.legal-readable .legal-card{
	position:relative;
	transform:none!important;
	transition:none!important;
	box-shadow:0 10px 28px rgba(6,29,53,.08)!important;
	border:1px solid var(--line);
	border-radius:22px;
	padding:clamp(24px,4vw,46px);
	overflow:visible
}
.legal-readable .legal-card:before,.legal-readable .legal-card:after{
	display:none!important
}
.legal-readable .legal-card:hover{
	transform:none!important;
	box-shadow:0 10px 28px rgba(6,29,53,.08)!important;
	border-color:var(--line)!important
}
.legal-readable .reveal,.legal-readable h2,.legal-readable p,.legal-readable li{
	opacity:1!important;
	transform:none!important;
	transition:none!important
}
.legal-readable h2{
	font-size:clamp(1.35rem,2.4vw,1.9rem);
	letter-spacing:-.025em;
	margin:30px 0 10px;
	color:var(--blue-dark)
}
.legal-readable h2:first-child{
	margin-top:0
}
.legal-readable p{
	font-size:1rem;
	line-height:1.78;
	color:#26344D;
	margin:0 0 16px
}
.legal-readable ul{
	margin:0 0 22px 22px;
	color:#26344D;
	display:grid;
	gap:8px
}
.legal-readable li{
	line-height:1.7
}
@media(max-width:700px){
	.terms-section{
		padding-top:34px
}
	.legal-readable{
		width:min(100% - 24px,var(--max))
}
	.legal-readable .legal-card{
		padding:22px 18px;
		border-radius:18px
}
	.legal-readable p{
		font-size:.96rem;
		line-height:1.72
}
}
/* =========================================================V4.4 client fixes: readable header/footer and remove hero stats block========================================================= */
.hero-proof{
	display:none!important
}
.site-header{
	background:rgba(255,255,255,.98)!important;
	backdrop-filter:blur(14px);
	box-shadow:0 4px 22px rgba(7,29,53,.06)
}
.nav-shell{
	min-height:72px!important;
	gap:12px!important
}
.brand{
	display:flex;
	align-items:center;
	flex:0 0 190px;
	max-width:190px
}
.brand img{
	width:190px!important;
	height:48px!important;
	object-fit:contain!important
}
.nav{
	flex:1;
	justify-content:center;
	gap:2px;
	min-width:0
}
.nav a{
	white-space:nowrap;
	font-size:1rem!important;
	padding:8px 8px!important;
	line-height:1.05
}
.nav-actions{
	flex:0 0 auto;
	gap:8px!important
}
.nav-actions .btn{
	font-size:.88rem!important;
	padding:10px 15px!important;
	min-width:auto
}
.nav-actions .btn-soft{
	background:#EAF4FF;
	color:#0B4F8A
}
.nav-actions .btn-primary{
	box-shadow:0 8px 18px rgba(244,185,66,.22)
}
@media(max-width:1220px){
	.brand{
		flex-basis:170px;
		max-width:170px
}
	.brand img{
		width:170px!important
}
	.nav a{
		font-size:1rem!important;
		padding:8px 6px!important
}
	.nav-actions .btn-soft{
		display:none!important
}
}
@media(max-width:1080px){
	.nav{
		display:none!important
}
	.menu-toggle{
		display:flex!important
}
	.mobile-nav.open{
		display:block
}
	.brand{
		flex-basis:190px;
		max-width:190px
}
	.brand img{
		width:190px!important
}
}
@media(max-width:720px){
	.nav-shell{
		min-height:68px!important
}
	.brand{
		flex-basis:165px;
		max-width:165px
}
	.brand img{
		width:165px!important;
		height:42px!important
}
	.top-strip{
		font-size:.78rem
}
	.top-strip-inner{
		padding:7px 0
}
	.nav-actions .btn-soft,.nav-actions .btn-primary{
		display:none!important
}
}
.footer-clean{
	background:linear-gradient(180deg,#071D35 0%,#06172B 100%);
	color:#fff;
	padding:48px 0 22px
}
.footer-main{
	display:grid;
	grid-template-columns:1.65fr .85fr .9fr 1.1fr;
	gap:34px;
	align-items:start
}
.footer-clean .footer-logo{
	width:190px;
	height:48px;
	object-fit:contain;
	background:#fff;
	border-radius:10px;
	padding:4px;
	margin:0 0 16px
}
.footer-clean p{
	color:rgba(255,255,255,.74);
	margin:0 0 14px;
	max-width:420px
}
.footer-small,.footer-clean .footer-small{
	font-size:.86rem;
	color:rgba(255,255,255,.62)!important
}
.footer-col h3{
	font-size:.98rem;
	letter-spacing:.02em;
	margin:0 0 14px;
	color:#fff
}
.footer-col a{
	display:block!important;
	color:rgba(255,255,255,.76);
	padding:5px 0!important;
	line-height:1.35
}
.footer-col a:hover{
	color:var(--gold);
	transform:translateX(3px)
}
.footer-contact-col p{
	font-size:.92rem
}
.footer-contact-buttons{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	margin:16px 0
}
.footer-contact-buttons a{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	border-radius:999px;
	background:rgba(255,255,255,.10);
	border:1px solid rgba(255,255,255,.16);
	padding:9px 14px!important;
	color:#fff!important;
	font-weight:800
}
.footer-contact-buttons a:hover{
	background:var(--gold);
	color:#101010!important;
	transform:translateY(-2px)!important
}
.footer-bottom-clean{
	border-top:1px solid rgba(255,255,255,.14);
	margin-top:32px;
	padding-top:18px;
	display:flex!important;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	color:rgba(255,255,255,.70);
	font-size:.9rem
}
.footer-bottom-clean p{
	margin:0;
	color:rgba(255,255,255,.70)
}
.footer-legal{
	display:flex;
	gap:18px;
	align-items:center;
	flex-wrap:wrap
}
.footer-legal a{
	display:inline-flex!important;
	padding:0!important;
	color:rgba(255,255,255,.78)!important;
	line-height:1!important
}
.footer-legal a:hover{
	color:var(--gold)!important;
	transform:none!important
}
.footer a:after,.footer-legal a:after{
	display:none!important;
	content:none!important
}
@media(max-width:900px){
	.footer-main{
		grid-template-columns:1fr 1fr
}
	.footer-bottom-clean{
		display:block!important
}
	.footer-legal{
		margin-top:12px
}
	.footer-clean{
		padding-bottom:95px
}
}
@media(max-width:640px){
	.footer-main{
		grid-template-columns:1fr
}
	.footer-clean .footer-logo{
		width:178px;
		height:45px
}
	.footer-contact-buttons a{
		flex:1
}
	.footer-legal{
		gap:14px
}
}
/* =========================================================V4.5 fix: homepage quote form alignmentThe quote form must stay inside the hero container, not full browser width.========================================================= */
.hero .hero-grid{
	grid-template-columns:minmax(0,1fr) minmax(360px,460px)!important;
	gap:44px!important;
	align-items:center!important;
}
.hero-quote-panel{
	width:100%!important;
	max-width:460px!important;
	justify-self:end!important;
	align-self:center!important;
	margin:0!important;
	border:1px solid rgba(255,255,255,.22);
}
.hero-quote-panel .quote-form-compact{
	grid-template-columns:1fr!important;
}
.hero-quote-panel .quote-form-compact label,.hero-quote-panel .quote-form-compact button,.hero-quote-panel .quote-form-compact .form-note{
	min-width:0!important;
}
.hero-quote-panel textarea{
	min-height:88px;
}
@media(max-width:1040px){
	.hero .hero-grid{
		grid-template-columns:1fr!important;
		max-width:760px!important;
		padding-top:48px!important
}
	.hero-quote-panel{
		justify-self:start!important;
		max-width:760px!important
}
}
@media(max-width:720px){
	.hero .hero-grid{
		width:min(100% - 24px,var(--max))!important;
		padding-bottom:88px!important
}
	.hero-quote-panel{
		border-radius:22px!important;
		padding:18px!important
}
	.quick-tabs{
		border-radius:18px!important;
		gap:6px!important
}
	.quick-tabs button{
		font-size:.86rem!important;
		padding:9px 6px!important
}
}
/* V4.7 header navigation sizing fix requested */
nav a {
	white-space: nowrap;
	font-size: 1rem !important;
}
