 :root{
	--bg:#050505;
	--panel:#0b1120;
	--panel2:#14142a;
	--text:#edf4ff;
	--muted:#c4d2e3;
	--muted2:#95a7bf;
	--cyan:#00E5FF;
	--pink:#FF2DAA;
	--blue:#0066FF;
	--grad:linear-gradient(115deg,#050505 0%, #00E5FF 38%, #FF2DAA 70%, #0066FF 100%);
	--shadow:0 24px 70px rgba(0,0,0,.38);
	--radius:28px;
	--container:1180px
}
 *{
	box-sizing:border-box
}
html{
	scroll-behavior:smooth
}
body{
	margin:0;
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
	background:radial-gradient(circle at 10% 0%, rgba(0,102,255,.14), transparent 26%),radial-gradient(circle at 90% 20%, rgba(255,45,170,.18), transparent 25%),linear-gradient(180deg,#050505 0%,#0a1022 100%);
	color:var(--text);
	line-height:1.65
}
body.menu-open{
	overflow:hidden
}
img{
	max-width:100%;
	display:block
}
a{
	text-decoration:none;
	color:inherit
}
p{
	margin:0 0 1rem;
	color:var(--muted)
}
ul{
	padding-left:1.25rem;
	color:var(--muted)
}
ol{
	padding-left:1.25rem;
	color:var(--muted)
}
h1,h2,h3,h4{
	line-height:1.08;
	margin:0 0 1rem;
	letter-spacing:-.03em
}
section{
	scroll-margin-top:90px
}
.container{
	width:min(var(--container),calc(100% - 40px));
	margin:0 auto
}
.skip-link{
	position:absolute;
	left:-9999px;
	top:0
}
.skip-link:focus{
	left:14px;
	top:14px;
	padding:12px 16px;
	background:#fff;
	color:#111;
	border-radius:12px;
	z-index:999
}
 .site-header{
	position:sticky;
	top:0;
	z-index:120;
	background:rgba(5,5,5,.82);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(255,255,255,.08)
}
.nav{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:14px 0
}
.brand{
	display:flex;
	align-items:center;
	gap:12px;
	font-weight:800;
	font-size:1rem
}
.brand img{
	width:44px;
	height:44px;
	border-radius:14px;
	box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 34px rgba(0,229,255,.14)
}
.brand .sub{
	display:block;
	font-size:.78rem;
	font-weight:600;
	color:var(--muted2)
}
.nav-links{
	display:flex;
	align-items:center;
	gap:6px;
	flex-wrap:wrap
}
.nav-links a{
	padding:10px 13px;
	border-radius:12px;
	color:#dde7f4;
	font-weight:600;
	font-size:.95rem
}
.nav-links a:hover,.nav-links a.active{
	background:rgba(255,255,255,.07)
}
.nav-cta{
	display:flex;
	align-items:center;
	gap:12px
}
.burger{
	display:none;
	width:48px;
	height:48px;
	border-radius:14px;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.04);
	padding:0;
	cursor:pointer
}
.burger span{
	display:block;
	width:22px;
	height:2px;
	background:#fff;
	margin:5px auto;
	border-radius:3px
}
 .btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:14px 20px;
	border-radius:16px;
	background:linear-gradient(135deg,var(--cyan),var(--blue));
	color:#02131c;
	font-weight:800;
	border:0;
	box-shadow:0 10px 30px rgba(0,229,255,.18);
	cursor:pointer
}
.btn:hover{
	transform:translateY(-1px)
}
.btn.secondary{
	background:rgba(255,255,255,.08);
	color:#fff;
	border:1px solid rgba(255,255,255,.14);
	box-shadow:none
}
.btn.ghost{
	background:transparent;
	color:#fff;
	border:1px solid rgba(255,255,255,.16);
	box-shadow:none
}
.btn.pink{
	background:linear-gradient(135deg,var(--pink),var(--blue));
	color:#fff
}
.eyebrow{
	display:inline-flex;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.07);
	border:1px solid rgba(255,255,255,.12);
	font-size:.82rem;
	text-transform:uppercase;
	letter-spacing:.12em;
	color:#d6e2f0;
	margin-bottom:18px
}
.gradient-text{
	background:var(--grad);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent
}
 .hero,.page-hero{
	padding:64px 0 78px
}
.hero .container,.page-hero .container,.split,.contact-wrap,.service-grid,.gallery-grid,.route-grid,.info-grid,.article-grid,.fleet-hero-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:36px;
	align-items:center
}
.hero h1,.page-hero h1{
	font-size:clamp(2.7rem,6vw,4.2rem)
}
.hero p.lead,.page-hero p.lead{
	font-size:1.08rem
}
.hero-actions{
	display:flex;
	gap:14px;
	flex-wrap:wrap;
	margin:24px 0 28px
}
.trust-row,.stats-row,.grid-3,.grid-2,.fleet-cards,.metrics-row,.steps,.route-mini,.faq-grid,.footer-grid,.cookie-options.show{
	display:grid;
	gap:18px
}
.trust-row{
	grid-template-columns:repeat(3,1fr)
}
.trust-card,.card,.info-card,.metric,.step,.faq-item,.route-card,.gallery-card,.table-card,.contact-line,.city-card{
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	backdrop-filter:blur(8px);
	border-radius:24px;
	box-shadow:var(--shadow)
}
.trust-card{
	padding:18px 16px
}
.trust-card b{
	display:block;
	font-size:1.35rem
}
.trust-card span{
	color:var(--muted2);
	font-size:.92rem
}
 .hero-visual,.page-visual{
	position:relative
}
.visual-card,.image-frame,.gallery-card img,.map-box img{
	overflow:hidden;
	border-radius:28px;
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow)
}
.visual-card img,.image-frame img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover
}
.hero .visual-card img{
	aspect-ratio:16/10
}
.floating-badge{
	position:absolute;
	right:10px;
	top:10px;
	width:72px;
	height:72px;
	border-radius:22px;
	background:linear-gradient(135deg,var(--cyan),var(--pink),var(--blue));
	display:grid;
	place-items:center;
	box-shadow:0 0 40px rgba(0,229,255,.28);
	color:#06121e
}
.floating-badge svg{
	width:34px;
	height:34px
}
.stat-bubble{
	position:absolute;
	left:16px;
	bottom:16px;
	border-radius:20px;
	background:rgba(7,11,21,.94);
	border:1px solid rgba(255,255,255,.13);
	padding:14px 16px;
	max-width:220px
}
.stat-bubble b{
	display:block;
	font-size:1.2rem
}
.stat-bubble span{
	color:var(--muted2);
	font-size:.9rem
}
 .section{
	padding:82px 0
}
.section.alt{
	background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,0))
}
.section.deep{
	background:linear-gradient(135deg,rgba(0,102,255,.1),rgba(255,45,170,.08))
}
.section-head{
	max-width:860px;
	margin:0 auto 34px;
	text-align:center
}
.section-head.left{
	text-align:left;
	margin:0 0 28px
}
.section-head h2{
	font-size:clamp(2rem,4vw,3rem)
}
.grid-3{
	grid-template-columns:repeat(3,1fr)
}
.grid-2{
	grid-template-columns:repeat(2,1fr)
}
.card,.info-card,.metric,.step,.route-card,.gallery-card,.table-card,.city-card{
	padding:24px
}
.card h3,.info-card h3,.route-card h3,.city-card h3{
	margin-bottom:10px
}
.icon{
	width:58px;
	height:58px;
	border-radius:18px;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,rgba(0,229,255,.18),rgba(255,45,170,.18));
	color:var(--cyan);
	margin-bottom:18px
}
.icon svg{
	width:28px;
	height:28px
}
.check-list{
	display:grid;
	gap:14px
}
.check-item{
	display:flex;
	gap:12px;
	align-items:flex-start
}
.check{
	width:30px;
	height:30px;
	flex:0 0 30px;
	border-radius:999px;
	background:rgba(0,229,255,.12);
	display:grid;
	place-items:center;
	border:1px solid rgba(0,229,255,.2);
	color:var(--cyan)
}
.check svg{
	width:18px;
	height:18px
}
 .fleet-cards{
	grid-template-columns:repeat(3,1fr)
}
.price-line{
	font-size:1.9rem;
	font-weight:800;
	background:var(--grad);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	margin:14px 0
}
.tag{
	display:inline-flex;
	padding:6px 10px;
	border-radius:999px;
	background:rgba(255,255,255,.08);
	font-size:.78rem;
	text-transform:uppercase;
	letter-spacing:.1em;
	color:#d4deec;
	margin-bottom:12px
}
.tag-row{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	margin-top:12px
}
.stats-row{
	grid-template-columns:repeat(4,1fr)
}
.metric{
	padding:28px 18px;
	text-align:center
}
.metric b{
	display:block;
	font-size:2.1rem;
	background:var(--grad);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	margin-bottom:6px
}
.steps{
	grid-template-columns:repeat(4,1fr)
}
.step-num{
	width:42px;
	height:42px;
	border-radius:14px;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,var(--cyan),var(--pink));
	color:#04121c;
	font-weight:900;
	margin-bottom:14px
}
 .gallery-grid{
	grid-template-columns:repeat(3,1fr)
}
.gallery-card{
	padding:0
}
.gallery-card img{
	aspect-ratio:4/3;
	object-fit:cover;
	border:0;
	border-radius:24px 24px 0 0
}
.gallery-card .copy{
	padding:18px 20px
}
.comparison{
	overflow:auto
}
.comparison table{
	width:100%;
	border-collapse:collapse;
	color:#e4eefb
}
.comparison th,.comparison td{
	padding:16px;
	border:1px solid rgba(255,255,255,.12);
	text-align:left;
	vertical-align:top
}
.comparison th{
	background:rgba(0,229,255,.08)
}
 .route-grid{
	grid-template-columns:repeat(2,1fr)
}
.city-badges{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	margin-top:16px
}
.city-badges span{
	padding:10px 12px;
	border-radius:999px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.1);
	color:#dce8f8;
	font-size:.9rem
}
.map-box img{
	width:100%;
	aspect-ratio:16/10;
	object-fit:cover
}
 .contact-wrap{
	grid-template-columns:1.05fr .95fr;
	align-items:start
}
.contact-box{
	padding:28px;
	border-radius:28px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow)
}
.form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px
}
.field{
	display:flex;
	flex-direction:column;
	gap:8px
}
.field.full{
	grid-column:1/-1
}
label{
	font-weight:700;
	font-size:.95rem
}
input,select,textarea{
	width:100%;
	padding:14px 15px;
	border-radius:15px;
	border:1px solid rgba(255,255,255,.12);
	background:rgba(255,255,255,.06);
	color:#fff;
	outline:0;
	font:inherit
}
textarea{
	min-height:120px;
	resize:vertical
}
input:focus,select:focus,textarea:focus{
	border-color:var(--cyan);
	box-shadow:0 0 0 4px rgba(0,229,255,.12)
}
.consent{
	display:flex;
	gap:10px;
	align-items:flex-start;
	font-size:.9rem;
	color:var(--muted)
}
.consent input{
	width:auto;
	margin-top:5px
}
.contact-lines{
	display:grid;
	gap:16px
}
.contact-line{
	display:flex;
	gap:14px;
	align-items:flex-start;
	padding:18px
}
.contact-line svg{
	width:22px;
	height:22px;
	color:var(--cyan);
	flex:0 0 22px
}
.small{
	font-size:.9rem;
	color:var(--muted2)
}
 .faq-list{
	display:grid;
	gap:16px
}
.faq-item button{
	width:100%;
	background:none;
	border:0;
	color:#fff;
	font:inherit;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	text-align:left;
	padding:0;
	cursor:pointer
}
.faq-item .answer{
	display:none;
	padding-top:14px
}
.faq-item.open .answer{
	display:block
}
.faq-item{
    padding: 15px;
}

.faq-item .plus{
	width:34px;
	height:34px;
	border-radius:10px;
	background:rgba(255,255,255,.08);
	display:grid;
	place-items:center;
	font-size:1.2rem;
	flex:0 0 34px
}
 .legal-hero{
	padding:70px 0 40px;
	background:linear-gradient(135deg,rgba(5,5,5,.7),rgba(100,20,168,.38),rgba(0,102,255,.18))
}
.legal-layout{
	display:grid;
	grid-template-columns:260px 1fr;
	gap:28px
}
.toc{
	position:sticky;
	top:92px;
	border-radius:22px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	padding:18px;
	height:max-content
}
.toc a{
	display:block;
	padding:10px 8px;
	color:#cfdbeb
}
.toc a:hover{
	color:#fff
}
.legal-content{
	padding:30px;
	border-radius:28px;
	background:rgba(255,255,255,.06);
	border:1px solid rgba(255,255,255,.12);
	box-shadow:var(--shadow)
}
.legal-content h2{
	margin-top:34px;
	font-size:1.65rem
}
.legal-content h2:first-child{
	margin-top:0
}
.legal-content table{
	width:100%;
	border-collapse:collapse;
	margin:18px 0
}
.legal-content th,.legal-content td{
	border:1px solid rgba(255,255,255,.12);
	padding:14px;
	text-align:left;
	vertical-align:top
}
.legal-content th{
	background:rgba(0,229,255,.08)
}
 .site-footer{
	padding:52px 0 36px;
	background:#070b15;
	border-top:1px solid rgba(255,255,255,.1)
}
.footer-grid{
	grid-template-columns:1.4fr .8fr .8fr .8fr
}
.footer-grid a{
	display:block;
	color:#c0cee1;
	margin:10px 0
}
.footer-grid a:hover{
	color:#fff
}
.footer-bottom{
	margin-top:26px;
	padding-top:20px;
	border-top:1px solid rgba(255,255,255,.12);
	display:grid;
	grid-template-columns:1fr 1.4fr;
	gap:20px;
	color:var(--muted2);
	font-size:.88rem
}
 .cookie-banner{
	position:fixed;
	left:20px;
	right:20px;
	bottom:20px;
	z-index:300;
	display:none
}
.cookie-banner.show{
	display:block
}
.cookie-panel{
	max-width:1020px;
	margin:0 auto;
	border-radius:24px;
	background:rgba(8,13,24,.96);
	border:1px solid rgba(255,255,255,.15);
	box-shadow:0 24px 90px rgba(0,0,0,.55);
	padding:22px;
	display:grid;
	grid-template-columns:1fr auto;
	gap:18px;
	align-items:center
}
.cookie-actions{
	display:flex;
	gap:10px;
	flex-wrap:wrap
}
.cookie-options{
	display:none;
	grid-column:1/-1;
	border-top:1px solid rgba(255,255,255,.12);
	padding-top:15px
}
.toggle-row{
	padding:13px;
	border-radius:16px;
	background:rgba(255,255,255,.06);
	display:flex;
	justify-content:space-between;
	gap:12px;
	align-items:center
}
.switch{
	appearance:none;
	width:48px;
	height:26px;
	border-radius:999px;
	background:rgba(255,255,255,.2);
	position:relative;
	cursor:pointer;
	flex:0 0 48px
}
.switch::after{
	content:"";
	position:absolute;
	width:20px;
	height:20px;
	border-radius:50%;
	left:3px;
	top:3px;
	background:#fff;
	transition:.2s
}
.switch:checked{
	background:linear-gradient(90deg,var(--cyan),var(--pink))
}
.switch:checked::after{
	left:25px
}
 .alert-modal{
	position:fixed;
	inset:0;
	z-index:400;
	display:none;
	place-items:center;
	padding:24px;
	background:rgba(0,0,0,.6)
}
.alert-modal.show{
	display:grid
}
.alert-card{
	width:min(520px,100%);
	border-radius:30px;
	background:linear-gradient(145deg,rgba(8,13,24,.98),rgba(35,9,64,.98));
	border:1px solid rgba(255,255,255,.16);
	box-shadow:0 24px 90px rgba(0,0,0,.66);
	padding:30px;
	text-align:center;
	animation:popIn .34s ease-out
}
.alert-icon{
	width:82px;
	height:82px;
	margin:0 auto 18px;
	border-radius:28px;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,var(--cyan),var(--pink),var(--blue));
	box-shadow:0 0 44px rgba(0,229,255,.28)
}
.alert-icon svg{
	width:42px;
	height:42px
}
 @keyframes popIn{
	from{
		opacity:0;
		transform:translateY(20px) scale(.96)
	}
	to{
		opacity:1;
		transform:translateY(0) scale(1)
	}
}
 @media (max-width:1020px){
	.hero .container,.page-hero .container,.split,.contact-wrap,.article-grid{
		grid-template-columns:1fr
	}
	.stats-row{
		grid-template-columns:repeat(2,1fr)
	}
	.fleet-cards,.grid-3,.gallery-grid,.steps,.footer-grid{
		grid-template-columns:repeat(2,1fr)
	}
	.route-grid{
		grid-template-columns:1fr
	}
	.footer-bottom,.legal-layout{
		grid-template-columns:1fr
	}
	.toc{
		position:static
	}
}
 @media (max-width:780px){
	.nav-links{
		position:fixed;
		top:74px;
		left:14px;
		right:14px;
		padding:16px;
		border-radius:22px;
		background:rgba(8,13,24,.98);
		border:1px solid rgba(255,255,255,.14);
		box-shadow:var(--shadow);
		display:none;
		flex-direction:column;
		align-items:stretch
	}
	.nav-links.open{
		display:flex
	}
	.nav-links a{
		padding:14px
	}
	.burger{
		display:block
	}
	.nav-cta .btn.secondary{
		display:none
	}
	.trust-row,.stats-row,.grid-3,.grid-2,.fleet-cards,.metrics-row,.steps,.gallery-grid,.footer-grid,.form-grid,.cookie-panel,.cookie-options.show{
		grid-template-columns:1fr
	}
	.container{
		width:min(100% - 28px,var(--container))
	}
	.hero,.page-hero,.section,.legal-hero{
		padding-top:56px;
		padding-bottom:56px
	}
	.cookie-panel{
		align-items:stretch
	}
	.cookie-actions .btn{
		width:100%
	}
	.brand .sub{
		display:none
	}
	.hero-actions .btn{
		width:100%
	}
	.legal-content{
		padding:22px
	}
	.stat-bubble{
		left:10px;
		right:10px;
		max-width:none
	}
	.floating-badge{
		width:64px;
		height:64px
	}
}
 
/* Added production micro-animations */
.hero h1,.page-hero h1,.hero .lead,.page-hero .lead,.hero-actions,.trust-row{opacity:0;transform:translateY(18px)}
body.loaded .hero h1,body.loaded .page-hero h1{animation:fadeLift .78s ease-out .05s forwards}
body.loaded .hero .lead,body.loaded .page-hero .lead{animation:fadeLift .78s ease-out .16s forwards}
body.loaded .hero-actions{animation:fadeLift .78s ease-out .26s forwards}
body.loaded .trust-row{animation:fadeLift .78s ease-out .34s forwards}
.visual-card,.image-frame,.gallery-card,.card{transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease}
.visual-card:hover,.image-frame:hover,.gallery-card:hover,.card:hover{border-color:rgba(0,229,255,.32);box-shadow:0 28px 80px rgba(0,0,0,.46),0 0 34px rgba(0,229,255,.08)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .72s ease, transform .72s ease;transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn-ripple{position:absolute;width:14px;height:14px;border-radius:999px;background:rgba(255,255,255,.55);transform:translate(-50%,-50%) scale(1);animation:ripple .62s ease-out forwards;pointer-events:none;z-index:-1}
.floating-badge{animation:floatBadge 4.8s ease-in-out infinite}
@keyframes fadeLift{to{opacity:1;transform:translateY(0)}}
@keyframes ripple{to{opacity:0;transform:translate(-50%,-50%) scale(24)}}
@keyframes floatBadge{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(3deg)}}

@media (prefers-reduced-motion:reduce){
	*{
		animation:none!important;
		transition:none!important;
		scroll-behavior:auto!important
	}
}
 