/* =========================================================
   Quattro Travel Services — Corporate Edition
   Primary: Navy Blue · Secondary: Orange · Off-white · Light grey
   Fonts: Poppins (headings) · Manrope (body)
========================================================= */

:root{
	--navy: #0B2A4A;
	--navy-dark: #071D33;
	--navy-light: #123A63;
	--navy-rgb: 11,42,74;
	--orange: #E8722C;
	--orange-dark: #C85A1A;
	--orange-rgb: 232,114,44;
	--white: #FFFFFF;
	--offwhite: #FAFAFA;
	--grey: #EDEFF3;
	--ink: #16233A;
	--muted: #64748B;
	--border: #E4E8F0;
	--whatsapp: #25D366;
	--radius: 20px;
	--radius-sm: 14px;
	--shadow-sm: 0 4px 14px rgba(11,42,74,0.06);
	--shadow: 0 10px 34px rgba(11,42,74,0.10);
	--shadow-lg: 0 30px 70px rgba(11,42,74,0.20);
	--container: 1200px;
	--ff-heading: 'Poppins', sans-serif;
	--ff-body: 'Manrope', sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; }
body{
	margin:0; font-family:var(--ff-body); color:var(--ink);
	background:var(--white); line-height:1.7; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:var(--ff-heading); font-weight:800; line-height:1.2; margin:0 0 .6em; color:var(--navy); letter-spacing:-.01em; }
p{ margin:0 0 1em; color:var(--muted); }
a{ color:var(--navy); text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ list-style:none; margin:0; padding:0; }
.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
code{ background:var(--grey); padding:2px 6px; border-radius:4px; font-size:.85em; }

/* ---------- Buttons ---------- */
.btn{
	position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px;
	padding:13px 28px; border-radius:50px; font-weight:700; font-family:var(--ff-heading);
	font-size:.94rem; border:2px solid transparent; cursor:pointer;
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn-lg{ padding:16px 34px; font-size:1rem; }
.btn-primary{ background:var(--orange); color:var(--white); }
.btn-primary:hover{ background:var(--orange-dark); transform:translateY(-2px); box-shadow:var(--shadow); }
.btn-outline{ border-color:var(--navy); color:var(--navy); background:transparent; }
.btn-outline:hover{ background:var(--navy); color:var(--white); transform:translateY(-2px); }
.btn-ghost{ color:var(--navy); font-weight:600; padding:10px 6px; }
.btn-ghost:hover{ color:var(--orange); }
.btn-whatsapp{ background:var(--whatsapp); color:var(--white); }
.btn-whatsapp:hover{ background:#1ebe5a; transform:translateY(-2px); }
.full-width{ width:100%; justify-content:center; }

/* button ripple */
.btn::after{
	content:''; position:absolute; width:10px; height:10px; border-radius:50%;
	background:rgba(255,255,255,.5); opacity:0; top:50%; left:50%;
	transform:translate(-50%,-50%) scale(1); pointer-events:none;
}
.btn.rippling::after{ animation:ripple .55s ease-out; }
@keyframes ripple{
	0%{ opacity:.6; transform:translate(-50%,-50%) scale(1); }
	100%{ opacity:0; transform:translate(-50%,-50%) scale(22); }
}

/* ---------- Header / Nav ---------- */
#site-header{
	position:sticky; top:0; z-index:500;
	background:rgba(255,255,255,.7);
	backdrop-filter:blur(0px);
	border-bottom:1px solid transparent;
	transition:background .3s ease, backdrop-filter .3s ease, border-color .3s ease, box-shadow .3s ease;
}
#site-header.scrolled{
	background:rgba(255,255,255,.92); backdrop-filter:blur(14px);
	border-color:var(--border); box-shadow:0 6px 24px rgba(11,42,74,0.06);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:14px 24px; gap:24px; }
.site-logo img{ height:52px; width:auto; }
.primary-nav .nav-menu{ display:flex; gap:26px; }
.primary-nav .nav-menu a{ font-weight:600; font-size:.93rem; color:var(--ink); position:relative; padding:4px 0; }
.primary-nav .nav-menu a::after{
	content:''; position:absolute; left:0; bottom:-4px; width:0; height:2px;
	background:var(--orange); transition:width .25s ease;
}
.primary-nav .nav-menu a:hover::after,
.primary-nav .nav-menu a.active::after{ width:100%; }
.primary-nav .nav-menu a.active{ color:var(--orange); }
.header-cta{ display:flex; align-items:center; gap:18px; }
#mobile-menu-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
#mobile-menu-toggle span{ width:26px; height:3px; background:var(--navy); border-radius:2px; }
#mobile-menu{ display:none; flex-direction:column; gap:14px; padding:20px 24px 26px; background:var(--white); border-top:1px solid var(--border); }
#mobile-menu.open{ display:flex; }
.nav-menu-mobile{ display:flex; flex-direction:column; gap:14px; }
.nav-menu-mobile a{ font-weight:600; font-size:1.02rem; color:var(--ink); }

/* ---------- Sections ---------- */
.section{ padding:140px 0; }
.section-alt{ background:var(--offwhite); }
.section-dark{ background:var(--navy); color:var(--white); }
.section-dark h2,.section-dark h3{ color:var(--white); }
.section-dark p{ color:rgba(255,255,255,.75); }
.section-head{ text-align:center; max-width:700px; margin:0 auto 72px; }
.section-tag{
	display:inline-flex; align-items:center; gap:8px; font-family:var(--ff-heading); font-weight:700; font-size:.78rem;
	letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dark); margin-bottom:18px;
}
.section-tag::before{ content:''; width:22px; height:2px; background:var(--orange); display:inline-block; border-radius:2px; }
.section-dark .section-tag{ color:var(--orange); }
.section-head h2{ font-size:clamp(2.1rem,3.8vw,3rem); }
.section-note{ font-size:.9rem; }

/* ---------- Hero ---------- */
.hero{
	position:relative; padding:172px 0 110px;
	background:
		radial-gradient(ellipse 900px 500px at 88% -10%, rgba(var(--orange-rgb),.10), transparent 60%),
		radial-gradient(ellipse 700px 500px at -10% 90%, rgba(var(--navy-rgb),.08), transparent 60%),
		linear-gradient(180deg, var(--offwhite) 0%, var(--white) 100%);
	overflow:hidden;
}
.hero::before{
	content:''; position:absolute; inset:0; opacity:.5; pointer-events:none;
	background-image:radial-gradient(circle, rgba(var(--navy-rgb),.14) 1.4px, transparent 1.4px);
	background-size:26px 26px;
	-webkit-mask-image:radial-gradient(ellipse 60% 60% at 78% 30%, #000 0%, transparent 72%);
	mask-image:radial-gradient(ellipse 60% 60% at 78% 30%, #000 0%, transparent 72%);
}
.hero-flightpath{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.hero-flightpath path{
	fill:none; stroke:rgba(var(--orange-rgb),.35); stroke-width:2; stroke-dasharray:2 10; stroke-linecap:round;
}
.hero-flightpath .fp-plane{ animation:fp-move 9s linear infinite; }
@keyframes fp-move{ 0%{ offset-distance:0%; opacity:0; } 6%{ opacity:1; } 94%{ opacity:1; } 100%{ offset-distance:100%; opacity:0; } }
.hero-inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.eyebrow{
	display:inline-flex; align-items:center; gap:8px; padding:7px 16px 7px 8px; background:var(--white); box-shadow:var(--shadow-sm); border:1px solid rgba(232,114,44,.25);
	border-radius:50px; font-size:.8rem; font-weight:700; letter-spacing:.04em; color:var(--orange-dark); margin-bottom:24px;
}
.eyebrow img{ height:20px; width:20px; border-radius:50%; object-fit:cover; }
.hero h1{ font-size:clamp(2.5rem,5vw,3.75rem); margin-bottom:.35em; }
.hero h1 em{ font-style:normal; color:var(--orange); position:relative; }
.hero-sub{ font-size:1.1rem; max-width:530px; margin-bottom:1.8em; }

.hero-destinations{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:34px; }
.hero-destinations span.hd-label{ font-family:var(--ff-heading); font-size:.78rem; font-weight:700; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; margin-right:4px; }
.dest-tag{
	display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:50px; background:var(--white);
	border:1px solid var(--border); font-size:.83rem; font-weight:600; color:var(--navy); box-shadow:var(--shadow-sm);
	transition:transform .2s ease, border-color .2s ease, color .2s ease;
}
.dest-tag:hover{ transform:translateY(-3px); border-color:var(--orange); color:var(--orange-dark); }

.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:30px; }
.hero-badges{ display:flex; gap:22px; flex-wrap:wrap; margin-bottom:38px; }
.hero-badge{ display:flex; align-items:center; gap:8px; font-size:.83rem; font-weight:600; color:var(--muted); }
.hero-badge svg{ width:18px; height:18px; flex:none; color:var(--orange); }
.hero-trust{ display:flex; gap:36px; flex-wrap:wrap; padding-top:28px; border-top:1px solid var(--border); }
.trust-item{ display:flex; flex-direction:column; }
.trust-item strong{ font-family:var(--ff-heading); font-size:1.6rem; color:var(--navy); font-weight:800; }
.trust-item span{ font-size:.82rem; color:var(--muted); }

.hero-visual{ position:relative; display:flex; align-items:center; justify-content:center; min-height:480px; }
.hero-collage{ position:relative; width:100%; max-width:440px; height:440px; }
.collage-main{
	position:absolute; top:0; right:0; width:82%; height:78%; border-radius:var(--radius); overflow:hidden;
	box-shadow:var(--shadow-lg); border:6px solid var(--white);
}
.collage-main img{ width:100%; height:100%; object-fit:cover; }
.collage-main::after{
	content:''; position:absolute; inset:0; background:linear-gradient(200deg, rgba(11,42,74,.05), rgba(11,42,74,.55) 100%);
}
.collage-secondary{
	position:absolute; left:0; bottom:0; width:52%; height:46%; border-radius:var(--radius-sm); overflow:hidden;
	box-shadow:var(--shadow-lg); border:5px solid var(--white); z-index:2;
}
.collage-secondary img{ width:100%; height:100%; object-fit:cover; }

.boarding-card{
	position:absolute; top:8%; left:-8%; z-index:3;
	background:var(--white); border-radius:var(--radius-sm); box-shadow:var(--shadow-lg);
	width:230px; padding:18px 20px; border:1px solid var(--border);
	transform:rotate(-6deg);
}
.boarding-card-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.bc-label{ font-family:var(--ff-heading); font-weight:700; font-size:.62rem; letter-spacing:.09em; color:var(--muted); }
.bc-plane{ font-size:1rem; }
.boarding-card-route{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.boarding-card-route strong{ display:block; font-family:var(--ff-heading); font-size:1.15rem; color:var(--navy); }
.boarding-card-route span{ font-size:.62rem; color:var(--muted); }
.bc-dots{ color:var(--orange); letter-spacing:2px; font-weight:700; font-size:.8rem; }
.boarding-card-details{ display:flex; justify-content:space-between; border-top:1px dashed var(--border); padding-top:12px; margin-bottom:12px; }
.boarding-card-details span{ display:block; font-size:.56rem; color:var(--muted); letter-spacing:.05em; margin-bottom:3px; }
.boarding-card-details strong{ font-family:var(--ff-heading); font-size:.76rem; color:var(--navy); }
.boarding-card-barcode{
	height:24px; border-radius:4px;
	background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 5px);
	opacity:.75;
}
.float-chip{
	position:absolute; display:flex; align-items:center; gap:8px; background:var(--white); border-radius:50px; padding:10px 18px 10px 12px;
	box-shadow:var(--shadow-lg); font-size:.8rem; font-weight:700; font-family:var(--ff-heading); color:var(--navy);
	border:1px solid var(--border); animation:float 4.5s ease-in-out infinite; z-index:4;
}
.float-chip .fc-icon{
	width:26px; height:26px; border-radius:50%; background:rgba(var(--orange-rgb),.14); color:var(--orange-dark);
	display:flex; align-items:center; justify-content:center; flex:none;
}
.float-chip .fc-icon svg{ width:14px; height:14px; }
.chip-passport{ top:2%; right:6%; animation-delay:0s; }
.chip-luggage{ bottom:6%; left:4%; animation-delay:1.3s; }
.chip-map{
	position:absolute; top:44%; left:-14%; width:70px; height:70px; border-radius:50%;
	background:var(--white); box-shadow:var(--shadow-lg); border:1px solid var(--border);
	display:flex; align-items:center; justify-content:center; z-index:4; animation:float 5.5s ease-in-out infinite; animation-delay:.6s;
}
.chip-map svg{ width:32px; height:32px; color:var(--orange); }
@keyframes float{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }

/* ---------- About ---------- */
.about-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.about-media{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/5; }
.about-media img.about-photo{ width:100%; height:100%; object-fit:cover; display:block; }
.about-logo-badge{
	position:absolute; left:24px; bottom:24px; background:var(--white); border-radius:var(--radius-sm);
	box-shadow:var(--shadow-lg); padding:14px 18px; display:flex; align-items:center; gap:10px;
}
.about-logo-badge img{ height:34px; width:auto; display:block; }

/* ---------- Services ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.service-card{
	position:relative; display:block; background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
	padding:44px 34px 38px; transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
	overflow:hidden; cursor:pointer;
}
.service-card::before{
	content:''; position:absolute; top:0; left:0; right:0; height:4px; transform:scaleX(0); transform-origin:left;
	background:linear-gradient(90deg, var(--orange), var(--navy)); transition:transform .4s ease;
}
.service-card:hover{ transform:translateY(-10px); box-shadow:var(--shadow-lg); border-color:transparent; }
.service-card:hover::before{ transform:scaleX(1); }
.service-icon{
	width:60px; height:60px; border-radius:16px; margin-bottom:22px; display:flex; align-items:center; justify-content:center;
	background:linear-gradient(150deg, rgba(var(--orange-rgb),.14), rgba(var(--navy-rgb),.08));
	color:var(--orange-dark); transition:transform .35s ease, background .35s ease, color .35s ease;
}
.service-icon svg{ width:28px; height:28px; }
.service-card:hover .service-icon{ background:var(--navy); color:var(--white); transform:scale(1.08) rotate(-4deg); }
.service-card h3{ font-size:1.18rem; margin-bottom:.55em; }
.service-card p{ font-size:.92rem; margin:0 0 1.4em; min-height:2.8em; }
.card-link{ display:inline-flex; align-items:center; gap:7px; font-family:var(--ff-heading); font-weight:700; font-size:.86rem; color:var(--orange); }
.card-link svg{ width:15px; height:15px; transition:transform .3s ease; }
.service-card:hover .card-link{ color:var(--orange-dark); }
.service-card:hover .card-link svg{ transform:translateX(5px); }

/* ---------- Imagery strip ---------- */
.imagery-strip{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; grid-template-rows:repeat(2,180px); gap:18px; }
.imagery-item{ position:relative; border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow); }
.imagery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.imagery-item:hover img{ transform:scale(1.06); }
.imagery-item::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(7,29,51,.82) 0%, rgba(7,29,51,0) 55%); }
.imagery-item span{ position:absolute; left:16px; bottom:14px; z-index:2; color:var(--white); font-family:var(--ff-heading); font-weight:700; font-size:.86rem; }
.imagery-item.i-tall{ grid-row:span 2; }

/* ---------- Why us ---------- */
.why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.why-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:28px; transition:box-shadow .25s ease, transform .25s ease; }
.why-card:hover{ box-shadow:var(--shadow); transform:translateY(-4px); }
.why-icon{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(232,114,44,.12); color:var(--orange); font-weight:800; margin-bottom:14px; }
.why-card h3{ font-size:1.04rem; margin-bottom:.3em; }
.why-card p{ font-size:.88rem; margin:0; }

/* ---------- Stats ---------- */
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center; }
.stat-number{ display:block; font-family:var(--ff-heading); font-weight:800; font-size:clamp(2rem,4vw,2.8rem); color:var(--orange); }
.stat-label{ display:block; margin-top:8px; font-size:.9rem; color:rgba(255,255,255,.75); }

/* ---------- Destinations ---------- */
.destinations-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.destination-card{
	position:relative; display:block; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:3/4;
	transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.destination-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lg); }
.destination-img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s ease; }
.destination-card:hover .destination-img{ transform:scale(1.08); }
.destination-card::after{
	content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(7,29,51,.92) 0%, rgba(7,29,51,.15) 55%, rgba(7,29,51,0) 75%);
}
.destination-card h3{
	position:absolute; left:0; right:0; bottom:0; z-index:2; padding:20px 18px; margin:0; font-size:1.05rem; color:var(--white);
}
.destination-card span.dest-tagline{ position:absolute; left:18px; bottom:48px; z-index:2; color:rgba(255,255,255,.78); font-size:.74rem; font-weight:600; letter-spacing:.03em; }
.dest-1{ background-image:url('https://images.unsplash.com/photo-1762269152343-b28e02b36022?w=700&q=80&auto=format&fit=crop'); }
.dest-2{ background-image:url('https://images.unsplash.com/photo-1758509444769-95567facc5b0?w=700&q=80&auto=format&fit=crop'); }
.dest-3{ background-image:url('https://images.unsplash.com/photo-1683606095922-cda452e83878?w=700&q=80&auto=format&fit=crop'); }
.dest-4{ background-image:url('https://images.unsplash.com/photo-1454537468202-b7ff71d51c2e?w=700&q=80&auto=format&fit=crop'); }
.dest-5{ background-image:url('https://images.unsplash.com/photo-1748373448914-1d7f882700e2?w=700&q=80&auto=format&fit=crop'); }

/* ---------- Timeline / Process ---------- */
.timeline{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; position:relative; }
.timeline::before{
	content:''; position:absolute; top:22px; left:12%; right:12%; height:2px;
	background:repeating-linear-gradient(90deg, var(--orange) 0 10px, transparent 10px 18px);
}
.timeline-item{ position:relative; text-align:center; }
.timeline-marker{
	width:46px; height:46px; border-radius:50%; background:var(--navy); color:var(--white);
	display:flex; align-items:center; justify-content:center; font-family:var(--ff-heading);
	font-weight:800; margin:0 auto 18px; position:relative; z-index:2; box-shadow:0 0 0 6px var(--offwhite);
}
.timeline-content h3{ font-size:1.02rem; }
.timeline-content p{ font-size:.86rem; }

/* ---------- Testimonial carousel ---------- */
.testimonial-carousel{ max-width:640px; margin:0 auto; }
.testimonial-track{ position:relative; min-height:230px; }
.testimonial-slide{
	display:none; background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
	padding:36px; text-align:center; box-shadow:var(--shadow);
}
.testimonial-slide.active{ display:block; animation:fadein .5s ease; }
@keyframes fadein{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);} }
.stars{ font-size:.95rem; margin-bottom:14px; }
.testimonial-slide p{ font-style:italic; color:var(--ink); font-size:1.02rem; }
.testimonial-author{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:18px; }
.avatar{ width:42px; height:42px; border-radius:50%; background:var(--navy); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:var(--ff-heading); font-weight:700; font-size:.85rem; }
.testimonial-author div{ text-align:left; }
.testimonial-author strong{ display:block; font-family:var(--ff-heading); font-size:.92rem; color:var(--navy); }
.testimonial-author span{ font-size:.78rem; color:var(--muted); }
.carousel-dots{ display:flex; justify-content:center; gap:10px; margin-top:24px; }
.dot{ width:9px; height:9px; border-radius:50%; border:none; background:var(--border); cursor:pointer; transition:background .25s ease, transform .25s ease; }
.dot.active{ background:var(--orange); transform:scale(1.25); }

/* ---------- FAQ ---------- */
.faq-list{ max-width:800px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.faq-item{ border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:var(--white); }
.faq-question{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:16px; background:none; border:none; padding:20px 24px; text-align:left; font-family:var(--ff-heading); font-weight:600; font-size:1rem; color:var(--navy); cursor:pointer; }
.faq-toggle{ font-size:1.3rem; color:var(--orange); transition:transform .25s ease; }
.faq-item.open .faq-toggle{ transform:rotate(45deg); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 24px; }
.faq-item.open .faq-answer{ max-height:300px; padding:0 24px 22px; }
.faq-answer p{ margin:0; font-size:.93rem; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:stretch; }
.contact-info ul{ display:flex; flex-direction:column; gap:20px; margin-bottom:20px; }
.contact-info li{ font-size:.95rem; color:rgba(255,255,255,.85); }
.contact-info li strong{ display:block; color:var(--white); margin-bottom:4px; font-family:var(--ff-heading); }
.contact-info a{ color:var(--orange); }
.contact-social{ display:flex; gap:16px; margin-bottom:24px; }
.contact-social a{ color:var(--orange); font-weight:600; font-size:.9rem; }
.contact-map{ min-height:320px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-lg); }

/* ---------- Footer ---------- */
#site-footer{ background:var(--navy-dark); color:rgba(255,255,255,.75); }
.footer-inner{
	display:flex; align-items:center; justify-content:space-between; gap:24px;
	padding:22px 24px; flex-wrap:wrap;
}
.footer-brand{ display:flex; align-items:center; flex:none; }
.footer-logo{ height:26px; width:auto; }
.footer-links{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.footer-links a{ color:rgba(255,255,255,.68); font-size:.85rem; }
.footer-links a:hover{ color:var(--orange); }
.footer-social{ display:flex; gap:8px; flex:none; }
.footer-social a{
	width:32px; height:32px; border-radius:50%;
	border:1px solid rgba(255,255,255,.16);
	display:flex; align-items:center; justify-content:center;
	color:var(--white); transition:background .15s ease, border-color .15s ease;
}
.footer-social a:hover{ background:var(--orange); border-color:var(--orange); }
.footer-social a.wa:hover{ background:var(--whatsapp); border-color:var(--whatsapp); }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding:12px 24px; }
.footer-bottom-inner{
	display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.footer-bottom p{ margin:0; font-size:.76rem; color:rgba(255,255,255,.5); }
.footer-mini-contact a{ color:rgba(255,255,255,.5); }
.footer-mini-contact a:hover{ color:var(--orange); }

/* ---------- Floating buttons ---------- */
#whatsapp-float,#call-float{
	position:fixed; right:22px; z-index:600; width:56px; height:56px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; font-size:1.5rem;
	box-shadow:var(--shadow-lg); transition:transform .2s ease;
}
#whatsapp-float{ bottom:22px; background:var(--whatsapp); }
#call-float{ bottom:90px; background:var(--navy); }
#whatsapp-float:hover,#call-float:hover{ transform:scale(1.08); }

/* ---------- Reveal animation ---------- */
.reveal,.reveal-left,.reveal-right{ opacity:0; transition:opacity .7s ease, transform .7s ease; }
.reveal{ transform:translateY(28px); }
.reveal-left{ transform:translateX(-32px); }
.reveal-right{ transform:translateX(32px); }
.reveal.in-view,.reveal-left.in-view,.reveal-right.in-view{ opacity:1; transform:translate(0,0); }
.service-card.reveal,.why-card.reveal,.destination-card.reveal,.timeline-item.reveal{ transition-delay:var(--d,0s); }
@media (prefers-reduced-motion: reduce){
	.reveal,.reveal-left,.reveal-right{ opacity:1; transform:none; transition:none; }
	.float-chip,.chip-map{ animation:none; }
	.fp-plane{ animation:none; opacity:0; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px){
	.services-grid{ grid-template-columns:repeat(2,1fr); }
	.destinations-grid{ grid-template-columns:repeat(3,1fr); }
	.imagery-strip{ grid-template-columns:1fr 1fr 1fr; grid-template-rows:160px 160px; }
	.imagery-item.i-four{ display:none; }
}
@media (max-width: 980px){
	.hero-inner,.about-grid,.contact-grid{ grid-template-columns:1fr; }
	.hero-visual{ margin-top:44px; min-height:400px; }
	.why-grid{ grid-template-columns:repeat(2,1fr); }
	.stats-grid{ grid-template-columns:repeat(2,1fr); }
	.timeline{ grid-template-columns:1fr; gap:36px; }
	.timeline::before{ display:none; }
	.footer-inner{ justify-content:center; text-align:center; }
	.section{ padding:100px 0; }
}
@media (max-width: 820px){
	.primary-nav,.header-cta{ display:none; }
	#mobile-menu-toggle{ display:flex; }
	.hero{ padding:120px 0 70px; }
	.destinations-grid{ grid-template-columns:repeat(2,1fr); }
	.imagery-strip{ grid-template-columns:1fr 1fr; grid-template-rows:150px 150px 150px; }
	.imagery-item.i-tall{ grid-row:span 1; }
}
@media (max-width: 640px){
	.section{ padding:72px 0; }
	.services-grid,.why-grid,.stats-grid{ grid-template-columns:1fr; }
	.destinations-grid{ grid-template-columns:repeat(2,1fr); }
	.footer-inner{ flex-direction:column; padding:22px 24px; }
	.footer-bottom-inner{ flex-direction:column; text-align:center; gap:6px; }
	.float-chip,.chip-map{ display:none; }
	.boarding-card{ position:static; transform:none; width:100%; max-width:280px; margin:0 auto 16px; }
	.hero-collage{ height:auto; }
	.collage-main{ position:static; width:100%; height:280px; margin-bottom:16px; }
	.collage-secondary{ display:none; }
}
