:root{
	 --bg:#07111f;
	--bg2:#0f172a;
	--card:#ffffff;
	--ink:#132033;
	--muted:#64748b;
	--line:#e2e8f0;
	--primary:#0f766e;
	--primary2:#14b8a6;
	--accent:#f97316;
	--soft:#f8fafc;
	--dark:#07111f;
	--shadow:0 24px 80px rgba(15,23,42,.14);
	--radius:24px;
	--radius-lg:34px;
	--container:1180px;
}
 *{
	box-sizing:border-box
}
html{
	scroll-behavior:smooth
}
body{
	margin:0;
	font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
	color:var(--ink);
	background:#fff;
	line-height:1.6;
	overflow-x:hidden
}
a{
	color:inherit;
	text-decoration:none
}
img{
	max-width:100%;
	display:block
}
.container{
	width:min(var(--container),calc(100% - 40px));
	margin-inline:auto
}
.skip-link{
	position:absolute;
	left:-999px;
	top:8px;
	background:#fff;
	padding:10px 14px;
	z-index:1000
}
.skip-link:focus{
	left:8px
}
.section{
	padding:86px 0
}
.section-sm{
	padding:60px 0
}
.eyebrow{
	display:inline-flex;
	align-items:center;
	gap:9px;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(20,184,166,.12);
	color:#0f766e;
	font-weight:800;
	font-size:13px;
	letter-spacing:.04em;
	text-transform:uppercase
}
.eyebrow.dark{
	background:rgba(255,255,255,.12);
	color:#fff
}
.hero{
	position:relative;
	background:radial-gradient(circle at 20% 0%,rgba(20,184,166,.32),transparent 35%),linear-gradient(135deg,#07111f 0%,#0f2d3c 48%,#092f2b 100%);
	color:#fff;
	overflow:hidden
}
.hero:before{
	content:"";
	position:absolute;
	inset:auto -15% -35% -15%;
	height:380px;
	background:rgba(255,255,255,.06);
	filter:blur(80px);
	transform:rotate(-8deg)
}
.topbar{
	background:#06101e;
	color:#dbeafe;
	font-size:14px
}
.topbar .container{
	display:flex;
	justify-content:space-between;
	gap:18px;
	align-items:center;
	padding:8px 0
}
.topbar a{
	opacity:.92
}
.site-header{
	position:sticky;
	top:0;
	background:rgba(255,255,255,.94);
	backdrop-filter:blur(16px);
	z-index:40;
	border-bottom:1px solid rgba(226,232,240,.9)
}
.nav{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:14px 0
}
.brand{
	display:flex;
	align-items:center;
	gap:12px;
	font-weight:900
}
.brand-mark{
	width:44px;
	height:44px;
	border-radius:14px;
	background:linear-gradient(135deg,var(--primary),var(--accent));
	display:grid;
	place-items:center;
	box-shadow:0 12px 30px rgba(15,118,110,.22)
}
.brand-mark svg{
	width:28px;
	height:28px;
	color:#fff
}
.brand span{
	display:block
}
.brand small{
	display:block;
	color:var(--muted);
	font-weight:700;
	font-size:12px;
	margin-top:-3px
}
.nav-links{
	display:flex;
	align-items:center;
	gap:6px
}
.nav-links a{
	padding:10px 12px;
	border-radius:12px;
	color:#334155;
	font-weight:700;
	font-size:15px
}
.nav-links a:hover,.nav-links a.active{
	background:#ecfeff;
	color:#0f766e
}
.nav-cta{
	display:flex;
	align-items:center;
	gap:10px
}
.btn{
	border:0;
	border-radius:16px;
	padding:13px 18px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	font-weight:900;
	cursor:pointer;
	transition:.2s ease;
	box-shadow:none
}
.btn-primary{
	background:linear-gradient(135deg,var(--primary),var(--primary2));
	color:#fff;
	box-shadow:0 14px 30px rgba(15,118,110,.25)
}
.btn-primary:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 38px rgba(15,118,110,.31)
}
.btn-accent{
	background:linear-gradient(135deg,#f97316,#fb923c);
	color:#fff
}
.btn-outline{
	border:1px solid rgba(255,255,255,.3);
	color:#fff;
	background:rgba(255,255,255,.08)
}
.btn-soft{
	background:#ecfeff;
	color:#0f766e
}
.burger{
	display:none;
	border:0;
	background:#f1f5f9;
	border-radius:14px;
	width:46px;
	height:46px;
	align-items:center;
	justify-content:center;
	cursor:pointer
}
.burger span{
	width:22px;
	height:2px;
	background:#0f172a;
	position:relative;
	display:block
}
.burger span:before,.burger span:after{
	content:"";
	position:absolute;
	left:0;
	width:22px;
	height:2px;
	background:#0f172a
}
.burger span:before{
	top:-7px
}
.burger span:after{
	top:7px
}
.hero-grid{
	position:relative;
	display:grid;
	grid-template-columns:1.02fr .98fr;
	gap:40px;
	align-items:center;
	padding:72px 0
}
.hero h1{
	font-size:clamp(34px,4.6vw,44px);
	line-height:1.06;
	margin:16px 0 18px;
	letter-spacing:-.045em
}
.hero p.lead{
	font-size:17px;
	color:#dbeafe;
	max-width:660px
}
.hero-actions{
	display:flex;
	gap:14px;
	flex-wrap:wrap;
	margin:28px 0 20px
}
.hero-team{
	display:flex;
	align-items:center;
	gap:14px;
	margin:0 0 24px
}
.hero-avatars{
	display:flex;
	align-items:center
}
.hero-avatars img{
	width:52px;
	height:52px;
	border-radius:50%;
	object-fit:cover;
	border:3px solid rgba(255,255,255,.9);
	margin-left:-10px;
	box-shadow:0 10px 24px rgba(0,0,0,.18)
}
.hero-avatars img:first-child{
	margin-left:0
}
.hero-team-copy{
	display:grid;
	gap:4px
}
.hero-team-copy strong{
	font-size:15px
}
.hero-team-copy span{
	font-size:14px;
	color:#dbeafe
}
.hero-points{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
	margin-top:24px
}
.hero-point{
	padding:15px;
	border:1px solid rgba(255,255,255,.14);
	background:rgba(255,255,255,.08);
	border-radius:18px
}
.hero-point b{
	display:block;
	font-size:22px
}
.hero-visual{
	position:relative
}
.hero-card{
	background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.18);
	border-radius:34px;
	padding:14px;
	box-shadow:0 30px 100px rgba(0,0,0,.28);
	max-width:560px;
	margin-left:auto
}
.hero-card img{
	border-radius:24px;
	display:block;
	width:100%;
	max-height:430px;
	object-fit:cover
}
.floating-card{
	position:absolute;
	left:-26px;
	bottom:28px;
	background:#fff;
	color:#0f172a;
	border-radius:22px;
	padding:16px 18px;
	box-shadow:var(--shadow);
	max-width:240px
}
.floating-card strong{
	display:block
}
.page-hero{
	background:linear-gradient(135deg,#07111f,#0f2d3c);
	color:#fff;
	padding:76px 0 62px
}
.page-hero h1{
	font-size:clamp(36px,4.5vw,58px);
	line-height:1.05;
	margin:16px 0
}
.breadcrumbs{
	color:#bae6fd;
	font-weight:700;
	font-size:14px
}
.breadcrumbs a{
	text-decoration:underline;
	text-underline-offset:4px
}
.split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:42px;
	align-items:center
}
.section-title{
	font-size:clamp(32px,4vw,48px);
	line-height:1.08;
	letter-spacing:-.04em;
	margin:14px 0 18px
}
.section-intro{
	font-size:18px;
	color:var(--muted);
	max-width:780px
}
.center{
	text-align:center
}
.center .section-intro{
	margin-inline:auto
}
.grid-3{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px
}
.grid-2{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:24px
}
.grid-4{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px
}
.card{
	background:#fff;
	border:1px solid var(--line);
	border-radius:var(--radius);
	padding:28px;
	box-shadow:0 12px 40px rgba(15,23,42,.06)
}
.card:hover{
	box-shadow:var(--shadow);
	transform:translateY(-2px);
	transition:.22s ease
}
.dark-card{
	background:linear-gradient(145deg,#0f172a,#0f2d3c);
	color:#fff;
	border:1px solid rgba(255,255,255,.12)
}
.dark-card p{
	color:#dbeafe
}
.icon{
	width:54px;
	height:54px;
	border-radius:18px;
	background:#ecfeff;
	color:#0f766e;
	display:grid;
	place-items:center;
	font-size:26px;
	margin-bottom:18px
}
.icon.orange{
	background:#fff7ed;
	color:#ea580c
}
.icon.blue{
	background:#eff6ff;
	color:#2563eb
}
.feature-list{
	display:grid;
	gap:14px;
	margin:24px 0;
	padding:0;
	list-style:none
}
.feature-list li{
	display:flex;
	gap:12px;
	align-items:flex-start
}
.check{
	width:25px;
	height:25px;
	flex:0 0 25px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:#dcfce7;
	color:#15803d;
	font-weight:900
}
.soft-bg{
	background:linear-gradient(135deg,#f8fafc,#ecfeff)
}
.band{
	background:linear-gradient(135deg,#0f766e,#0f2d3c);
	color:#fff
}
.band .section-intro,.band p{
	color:#1d1d1d
}
.service-card{
	display:flex;
	flex-direction:column;
	overflow:hidden;
	padding:0
}
.service-card img{
	height:290px;
	object-fit:cover;
	width:100%
}
.service-card .body{
	padding:24px
}
.tag-row{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:16px
}
.tag{
	font-size:13px;
	font-weight:800;
	padding:6px 10px;
	background:#f1f5f9;
	border-radius:999px;
	color:#334155
}
.stat{
	padding:26px;
	border-radius:24px;
	background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.15);
	text-align:center
}
.stat b{
	display:block;
	font-size:42px;
	letter-spacing:-.04em
}
.case{
	position:relative;
	overflow:hidden
}
.case:before{
	content:"";
	position:absolute;
	inset:0 0 auto auto;
	width:160px;
	height:160px;
	background:rgba(20,184,166,.1);
	border-radius:50%;
	transform:translate(45px,-45px)
}
.price{
	display:flex;
	align-items:baseline;
	gap:8px;
	margin:16px 0
}
.price b{
	font-size:42px;
	letter-spacing:-.04em
}
.table-wrap{
	overflow-x:auto;
	border:1px solid var(--line);
	border-radius:24px;
	background:#fff
}
table{
	width:100%;
	border-collapse:collapse;
	min-width:760px
}
th,td{
	text-align:left;
	padding:17px 18px;
	border-bottom:1px solid var(--line)
}
th{
	background:#f8fafc;
	color:#334155;
	font-size:14px;
	text-transform:uppercase;
	letter-spacing:.04em
}
tr:last-child td{
	border-bottom:0
}
.fleet-card{
	overflow:hidden;
	padding:0
}
.fleet-card img{
	height:290px;
	object-fit:cover;
	width:100%
}
.fleet-card .body{
	padding:24px
}
.specs{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:10px;
	margin:18px 0
}
.spec{
	background:#f8fafc;
	border-radius:14px;
	padding:10px 12px;
	font-size:14px;
	color:#334155
}
.team-card{
	padding:0;
	overflow:hidden
}
.team-card img{
	height:450px;
	object-fit:cover;
	width:100%
}
.team-card .body{
	padding:22px
}
.reviews{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:24px;
	align-items:stretch
}
.quote{
	font-size:20px;
	font-weight:700
}
.stars{
	color:#f59e0b;
	letter-spacing:3px
}
.faq{
	display:grid;
	gap:14px
}
.faq details{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	padding:18px 20px
}
.faq summary{
	font-weight:900;
	cursor:pointer
}
.faq p{
	color:var(--muted);
	margin:12px 0 0
}
.contact-grid{
	display:grid;
	grid-template-columns:.9fr 1.1fr;
	gap:30px;
	align-items:start
}
.form{
	background:#fff;
	border-radius:28px;
	padding:30px;
	box-shadow:var(--shadow);
	border:1px solid var(--line)
}
.form-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px
}
.field{
	display:grid;
	gap:7px
}
.field label{
	font-weight:800;
	font-size:14px;
	color:#334155
}
.field input,.field select,.field textarea{
	width:100%;
	border:1px solid #cbd5e1;
	border-radius:14px;
	padding:13px 14px;
	font:inherit;
	outline:none;
	background:#fff
}
.field input:focus,.field select:focus,.field textarea:focus{
	border-color:#0f766e;
	box-shadow:0 0 0 4px rgba(20,184,166,.13)
}
.field.full{
	grid-column:1/-1
}
.consent{
	font-size:13px;
	color:#64748b
}
.contact-box{
	background: linear-gradient(145deg, #0f172a, #166b96);
	color:#fff;
	border-radius:28px;
	padding:30px
}
.contact-box a{
	text-decoration:underline;
	text-underline-offset:4px
}
.map-img{
	border-radius:28px;
	border:1px solid var(--line);
	box-shadow:var(--shadow)
}
.footer{
	background:#07111f;
	color:#dbeafe;
	padding:58px 0 28px
}
.footer-grid{
	display:grid;
	grid-template-columns:1.4fr .8fr .8fr .8fr;
	gap:30px
}
.footer h3,.footer h4{
	color:#fff
}
.footer a{
	display:block;
	color:#dbeafe;
	margin:9px 0
}
.footer-bottom{
	margin-top:34px;
	padding-top:24px;
	border-top:1px solid rgba(255,255,255,.12);
	display:flex;
	justify-content:space-between;
	gap:20px;
	flex-wrap:wrap;
	color:#94a3b8
}
.cookie-banner{
	position:fixed;
	left:20px;
	right:20px;
	bottom:20px;
	z-index:60;
	background:#fff;
	color:#0f172a;
	border:1px solid var(--line);
	border-radius:24px;
	box-shadow:0 30px 100px rgba(15,23,42,.28);
	padding:18px;
	display:none
}
.cookie-banner.show{
	display:block
}
.cookie-inner{
	display:flex;
	align-items:center;
	gap:18px;
	justify-content:space-between
}
.cookie-inner p{
	margin:0;
	color:#475569
}
.cookie-actions{
	display:flex;
	gap:10px;
	flex-wrap:wrap
}
.alert-overlay{
	position:fixed;
	inset:0;
	background:rgba(2,6,23,.68);
	display:none;
	z-index:80;
	align-items:center;
	justify-content:center;
	padding:20px
}
.alert-overlay.show{
	display:flex
}
.alert-box{
	position:relative;
	background:#fff;
	border-radius:30px;
	padding:34px;
	max-width:520px;
	text-align:center;
	box-shadow:0 30px 100px rgba(0,0,0,.32);
	animation:pop .32s ease
}
.alert-icon{
	width:76px;
	height:76px;
	border-radius:50%;
	display:grid;
	place-items:center;
	margin:0 auto 18px;
	background:#dcfce7;
	color:#15803d;
	font-size:42px
}
.alert-box:before,.alert-box:after{
	content:"";
	position:absolute;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#14b8a6;
	animation:float 1.4s ease-in-out infinite
}
.alert-box:before{
	left:42px;
	top:35px
}
.alert-box:after{
	right:54px;
	top:70px;
	background:#f97316;
	animation-delay:.2s
}
@keyframes pop{
	from{
		transform:scale(.88);
		opacity:0
	}
	to{
		transform:scale(1);
		opacity:1
	}
}
@keyframes float{
	50%{
		transform:translateY(-12px)
	}
}
.legal-content{
	max-width:920px
}
.legal-content h2{
	margin-top:38px
}
.legal-content p,.legal-content li{
	color:#475569
}
.notice{
	padding:18px 20px;
	border:1px solid #fed7aa;
	background:#fff7ed;
	border-radius:18px;
	color:#9a3412
}
.mobile-panel{
	display:none
}
.hidden-desktop{
	display:none
}
.mini-flags{
	display:flex;
	gap:6px;
	align-items:center
}
.mini-flag{
	width:22px;
	height:14px;
	border-radius:3px;
	box-shadow:0 0 0 1px rgba(15,23,42,.12);
	overflow:hidden;
	display:inline-block
}
.flag-pt{
	background:linear-gradient(90deg,#060 0 42%,#f00 42%)
}
.flag-eu{
	background:#039;
	position:relative
}
.flag-es{
	background:linear-gradient(#c60b1e 0 25%,#ffc400 25% 75%,#c60b1e 75%)
}
.flag-fr{
	background:linear-gradient(90deg,#002395 0 33%,#fff 33% 66%,#ed2939 66%)
}
.flag-it{
	background:linear-gradient(90deg,#009246 0 33%,#fff 33% 66%,#ce2b37 66%)
}
 @media (max-width: 980px){
	.topbar .container{
		display:none
	}
	.burger{
		display:flex
	}
	.nav-links,.nav-cta{
		display:none
	}
	.mobile-panel{
		display:none;
		position:absolute;
		left:0;
		right:0;
		top:74px;
		background:#fff;
		border-bottom:1px solid var(--line);
		padding:18px 20px;
		box-shadow:0 24px 60px rgba(15,23,42,.12)
	}
	.mobile-panel.open{
		display:block
	}
	.mobile-panel a{
		display:block;
		padding:13px 0;
		font-weight:900;
		border-bottom:1px solid #f1f5f9;
		color:#334155
	}
	.hero-grid,.split,.contact-grid,.reviews{
		grid-template-columns:1fr
	}
	.hero-grid{
		padding:58px 0
	}
	.hero-visual{
		order:-1
	}
	.grid-3,.grid-4{
		grid-template-columns:1fr 1fr
	}
	.footer-grid{
		grid-template-columns:1fr 1fr
	}
	.floating-card{
		position:static;
		margin-top:-18px
	}
	.hidden-desktop{
		display:block
	}
}
 @media (max-width: 640px){
	.container{
		width:min(100% - 28px,var(--container))
	}
	.section{
		padding:64px 0
	}
	.page-hero{
		padding:56px 0
	}
	.grid-2,.grid-3,.grid-4{
		grid-template-columns:1fr
	}
	.hero h1{
		font-size:34px
	}
	.hero-team{
		align-items:flex-start
	}
	.hero-team-copy strong{
		font-size:14px
	}
	.hero-team-copy span{
		font-size:13px
	}
	.hero-points{
		grid-template-columns:1fr
	}
	.hero-card img{
		max-height:320px
	}
	.form-grid{
		grid-template-columns:1fr
	}
	.cookie-inner{
		display:block
	}
	.cookie-actions{
		margin-top:14px
	}
	.footer-grid{
		grid-template-columns:1fr
	}
	.footer-bottom{
		display:block
	}
	.brand small{
		display:none
	}
	.topbar{
		display:none
	}
}
 
.brand-logo {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}