:root{
	--teal:#033735;
	--teal2:#0a4a46;
	--orange:#f4820f;
	--orange2:#ff9a38;
	--bg:#f4f7f6;
	--bg2:#fff;
	--card:#fff;
	--line:#d5e3e0;
	--text:#122826;
	--muted:#5a6e6b;
	--red:var(--orange);
	--red2:var(--orange2);
	--blue:var(--teal2);
	--blue2:#1a6b5e;
	--gold:var(--orange);
	--gold2:var(--orange2);
	--wa:#25d366;
	--kart:var(--teal);
	--kart-acc:var(--orange);
	--serif:"Outfit",system-ui,sans-serif;
	--sans:"Outfit",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
	font-family:var(--sans);
	background:var(--bg);
	color:var(--text);
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
::selection{background:rgba(244,130,15,.28);color:var(--teal)}
a{color:var(--teal2);text-decoration:none}
a:hover{color:var(--orange)}
h1,h2,h3{font-family:var(--sans);font-weight:650;letter-spacing:-.03em;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(2rem,4.6vw,3.2rem)}
h2{font-size:clamp(1.45rem,2.6vw,1.95rem)}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.muted{color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--red);margin:0 0 .6rem;font-weight:600}
.lead{font-size:1.12rem;color:#3a4f4c;max-width:36rem}
.lead-sm{color:var(--muted);max-width:40rem}

.site-header{
	position:sticky;top:0;z-index:40;
	background:rgba(3,55,53,.97);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(244,130,15,.32);
}
.header-inner{display:flex;align-items:center;gap:22px;min-height:88px}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand img{width:auto;height:72px;border-radius:0;object-fit:contain}
.brand small{display:block;color:rgba(255,255,255,.62);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.nav{display:flex;gap:18px;margin-left:auto}
.nav a{color:rgba(255,255,255,.86);font-size:.95rem;font-weight:500}
.nav a.is-on,.nav a:hover{color:var(--orange)}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.4rem}
.header-wa{flex-shrink:0}

.btn{
	display:inline-flex;align-items:center;justify-content:center;
	padding:.85rem 1.2rem;border-radius:999px;border:1px solid transparent;
	font-weight:600;cursor:pointer;font-family:var(--sans);
}
.btn-gold{background:var(--orange);color:var(--teal)}
.btn-gold:hover{color:var(--teal);background:var(--orange2)}
.btn-ghost{border-color:#c5d4d1;color:var(--text);background:#fff}
.btn-ghost:hover{color:var(--teal);border-color:var(--orange);background:#fff8f0}
.btn-wa{background:#128c7e;color:#fff}
.btn-wa:hover{color:#fff;background:#0e7a6e}
.btn-lg{width:100%;margin-top:1rem}
.btn-danger{background:#5c1f24;color:#fff}

.hero{
	position:relative;min-height:min(76vh,640px);padding:6.2rem 0 5rem;
	display:flex;align-items:center;
	background:
		linear-gradient(180deg,rgba(3,55,53,.28) 0%,rgba(3,55,53,.58) 48%,rgba(3,55,53,.9) 100%),
		url(../img/hero.png) center 45%/cover no-repeat;
	border-bottom:1px solid var(--line);
	color:#fff;
}
.hero .eyebrow{color:var(--orange)}
.hero h1{color:#fff;max-width:16ch}
.hero .lead{color:rgba(255,255,255,.88)}
.hero-inner{position:relative;z-index:1;width:min(1180px,calc(100% - 96px));padding-bottom:0}

.finder{
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr auto;
	gap:10px;
	align-items:end;
	margin:1.2rem 0 1.6rem;
}
.finder-hero{
	margin-top:1.4rem;
	background:rgba(255,255,255,.96);
	color:var(--text);
	padding:1rem;
	border-radius:16px;
	box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.finder label{display:flex;flex-direction:column;gap:6px;font-size:.75rem;color:var(--muted);font-weight:600}
.finder select{
	background:#fff;border:1px solid var(--line);color:var(--text);
	border-radius:10px;padding:.7rem .75rem;font-family:var(--sans);font-size:.95rem;width:100%;
}
.finder .btn{height:46px;padding:.7rem 1.3rem}

.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.6rem}

.block{padding:4.2rem 0}
.block-alt{background:var(--bg2);border-block:1px solid var(--line)}
.block-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:1.8rem}
.link-more{color:var(--muted)}

.grid-cars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-cars-3{grid-template-columns:repeat(3,1fr)}
.card-car{
	background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;
	transition:transform .2s,border-color .2s,box-shadow .2s;
}
.card-car:hover{transform:translateY(-3px);border-color:rgba(244,130,15,.42);box-shadow:0 14px 32px rgba(3,55,53,.12)}
.card-car-media{position:relative;display:block;aspect-ratio:16/10;background:#eceff3}
.card-car-media img{width:100%;height:100%;object-fit:cover}
.ph-car,.ph-car-lg{
	width:100%;height:100%;min-height:180px;
	background:linear-gradient(135deg,#e7eeec,#d5e0dc 40%,#f8e4cc);
}
.ph-car-lg{min-height:360px;border-radius:16px}
.card-car-body{padding:1rem 1.1rem 1.2rem}
.card-meta,.card-specs{margin:0;color:var(--muted);font-size:.85rem}
.card-car-body h3{font-size:1.2rem;margin:.25rem 0}
.card-car-body h3 a{color:var(--text)}
.card-price{margin:.55rem 0 0;color:var(--red);font-weight:700;font-size:1.15rem}
.badge{position:absolute;top:12px;left:12px;padding:.25rem .55rem;border-radius:999px;font-size:.72rem;background:#0009;color:#fff}
.badge-res{background:var(--blue)}
.badge-ven{background:#5c1f24}

.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust article{
	padding:1.35rem 1.2rem 1.4rem;
	border-radius:4px 16px 16px 16px;
	background:#fff;
	border:1px solid var(--line);
	border-top:2px solid var(--orange);
	min-height:0;
	color:var(--text);
}
.trust article span{
	display:block;font-size:.72rem;letter-spacing:.16em;color:var(--red);font-weight:700;margin-bottom:.55rem;
}
.trust article h3{color:var(--text);font-size:1.12rem}
.trust article p{margin:0;font-size:.92rem;color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.karting-strip{
	background:linear-gradient(180deg,#033735,#022726);
	border-top:1px solid rgba(244,130,15,.28);
	color:#f3efe6;
}
.karting-strip h2,.karting-strip .eyebrow{color:var(--orange)}
.karting-strip .muted{color:#c9b8ae}
.grid-kart{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-kart-page img{width:100%;border-radius:14px;object-fit:cover;aspect-ratio:4/3}
.card-kart{
	display:block;background:#123330;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;color:#fff;
}
.card-kart strong{display:block;color:#fff}
.card-kart small{color:#c9b8ae}
.card-kart img,.ph-kart{width:100%;aspect-ratio:16/10;object-fit:cover;background:linear-gradient(135deg,#1a4d4a,#ff6a2233)}
.card-kart div{padding:.85rem 1rem 1.1rem}
.page-karting .site-header{border-bottom-color:rgba(255,106,34,.2)}

.page{padding:3rem 0 5rem}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:1.4rem 0 2rem}
.filters label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--muted)}
.filters select,.form input,.form textarea,select,input,textarea{
	background:#fff;border:1px solid var(--line);color:var(--text);
	border-radius:10px;padding:.7rem .8rem;font-family:var(--sans);font-size:1rem;
}
.filters select:focus,.form input:focus,.form textarea:focus,select:focus,input:focus,textarea:focus{
	outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,130,15,.16);
}
.ficha-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;margin-bottom:2rem}
.gallery img#foto-main{width:100%;border-radius:16px;aspect-ratio:16/10;object-fit:cover;background:#eceff3}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.thumbs button{border:0;padding:0;background:none;cursor:pointer;width:76px}
.thumbs img{width:76px;height:52px;object-fit:cover;border-radius:8px;opacity:.8}
.ficha-price{font-size:2rem;color:var(--red);margin:.4rem 0 1rem}
.specs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.specs li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem}
.specs span{display:block;color:var(--muted);font-size:.75rem}
.prose{max-width:42rem}
.prose-wide{max-width:52rem}
.legal-doc h2{margin-top:1.8rem;font-size:1.2rem}
.legal-doc h3{margin-top:1.2rem;font-size:1.05rem}
.legal-doc ul{padding-left:1.2rem}
.legal-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1rem 0 1.4rem}
.legal-table th,.legal-table td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}
.legal-table th{background:#e8f0ee}
html.en-lock,html.en-lock body{overflow:hidden;background:#033735}
html.en-lock body > :not(#en-boot){visibility:hidden}

.en-boot{
	position:fixed;inset:0;z-index:90;
	display:grid;place-items:center;
	padding:24px;
	background:
		radial-gradient(ellipse at 50% 42%,rgba(244,130,15,.16),transparent 52%),
		#033735;
	color:#fff;
	transition:opacity .38s ease;
}
.en-boot[hidden]{display:none !important}
.en-boot.is-out{opacity:0}
.en-boot-stage{text-align:center}
.en-boot-logo{
	height:clamp(72px,12vw,108px);width:auto;margin:0 auto;
	opacity:0;transform:translateY(10px) scale(.94);
	animation:en-logo-in 1.2s .15s ease forwards;
	filter:drop-shadow(0 18px 40px rgba(0,0,0,.28));
}
.en-boot-line{
	display:block;height:1px;width:0;margin:1.35rem auto 0;max-width:220px;
	background:linear-gradient(90deg,transparent,#f4820f,transparent);
	animation:en-line .9s .55s ease forwards;
}
.en-boot.is-gate .en-boot-stage{display:none}
.en-boot-gate{
	width:min(380px,100%);
	background:rgba(255,255,255,.97);
	color:var(--text);
	border-radius:20px;
	padding:1.55rem 1.4rem 1.35rem;
	border-top:3px solid var(--orange);
	box-shadow:0 28px 70px rgba(0,0,0,.28);
	animation:en-gate-in .45s ease;
}
.en-boot-gate[hidden]{display:none !important}
.en-boot-gate h2{margin:.1rem 0 .45rem}
.en-boot-gate p{margin:0 0 .85rem;font-size:.95rem}
.en-boot-gate label{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem}
.en-boot-gate input{
	background:#fff;border:1px solid var(--line);border-radius:10px;
	padding:.75rem .85rem;font:inherit;
}
.en-boot-gate .btn{width:100%}
@keyframes en-logo-in{
	to{opacity:1;transform:none}
}
@keyframes en-line{
	to{width:100%}
}
@keyframes en-gate-in{
	from{opacity:0;transform:translateY(12px)}
	to{opacity:1;transform:none}
}
.cookie-overlay{
	position:fixed;inset:0;z-index:70;
	display:grid;place-items:center;
	padding:22px;
	background:rgba(3,55,53,.58);
	backdrop-filter:blur(8px);
}
.cookie-overlay[hidden]{display:none !important}
.cookie-modal{
	width:min(440px,100%);
	background:#fff;
	color:var(--text);
	border-radius:20px;
	padding:1.55rem 1.45rem 1.3rem;
	box-shadow:0 28px 70px rgba(3,55,53,.28);
	border-top:3px solid var(--orange);
}
.cookie-modal h2{margin:.1rem 0 .55rem}
.cookie-modal p{margin:0 0 .7rem;font-size:.95rem}
.cookie-prefs{list-style:none;padding:0;margin:1rem 0 1.15rem}
.cookie-prefs li{
	display:flex;justify-content:space-between;align-items:center;gap:14px;
	padding:.7rem 0;border-top:1px solid var(--line);
}
.cookie-prefs li:last-child{border-bottom:1px solid var(--line)}
.cookie-prefs strong{display:block;font-size:.92rem}
.cookie-prefs span{display:block;color:var(--muted);font-size:.8rem}
.cookie-switch{position:relative;flex-shrink:0}
.cookie-switch input{position:absolute;opacity:0;pointer-events:none}
.cookie-switch i{
	display:block;width:40px;height:22px;border-radius:999px;
	background:#d5e3e0;position:relative;transition:background .2s;
}
.cookie-switch i:after{
	content:"";position:absolute;top:3px;left:3px;
	width:16px;height:16px;border-radius:50%;background:#fff;
	box-shadow:0 1px 4px rgba(3,55,53,.2);transition:transform .2s;
}
.cookie-switch.is-on i{background:var(--orange)}
.cookie-switch.is-on i:after{transform:translateX(18px)}
.cookie-switch.is-locked{cursor:default}
.cookie-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.cookie-fab{
	position:fixed;left:16px;bottom:16px;z-index:55;
	width:46px;height:46px;border-radius:50%;
	border:1px solid rgba(244,130,15,.45);
	background:var(--teal);color:#fff;font-size:1.2rem;
	cursor:pointer;line-height:1;
	box-shadow:0 10px 24px rgba(3,55,53,.28);
}
.cookie-fab:hover{border-color:var(--orange)}
.cookie-fab[hidden]{display:none !important}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.form{display:flex;flex-direction:column;gap:12px;background:#fff;padding:1.4rem;border-radius:16px;border:1px solid var(--line)}
.form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}
.form-error{color:#b4232c}
.hp{position:absolute;left:-9999px}
.contact-list{padding-left:1.1rem;color:var(--muted)}
.maps iframe{width:100%;min-height:220px;border:0;border-radius:14px;margin-top:1rem}

.site-footer{border-top:1px solid rgba(244,130,15,.28);padding:3rem 0 1.4rem;background:var(--teal);color:rgba(255,255,255,.86)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.foot-logo{height:56px;width:auto;margin-bottom:.8rem}
.site-footer a{color:var(--orange)}
.site-footer a:hover{color:#fff}
.site-footer h3{color:#fff}
.site-footer .muted{color:rgba(255,255,255,.62)}
.foot-brand{font-size:1.2rem;color:#fff;letter-spacing:.04em}
.foot-copy{display:flex;justify-content:space-between;gap:12px;margin-top:2rem;color:rgba(255,255,255,.5);font-size:.82rem;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}
.wa-float{
	position:fixed;right:18px;bottom:18px;z-index:50;
	background:#25d366;color:#062;padding:.8rem 1.05rem;border-radius:999px;font-weight:600;
	box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.wa-float:hover{color:#062}
.wa-float[hidden]{display:none !important}

@media (max-width:900px){
	.grid-cars,.grid-cars-3,.trust,.grid-3,.grid-kart,.ficha-grid,.contacto-grid,.footer-grid,.finder,.finder-hero{grid-template-columns:1fr}
	.hero{min-height:auto;align-items:flex-end;padding:3rem 0 1.6rem}
	.hero-inner{width:min(1180px,calc(100% - 48px))}
	.brand img{height:56px}
	.header-inner{min-height:76px;position:relative}
	.nav-toggle{display:block;margin-left:auto}
	.nav,.header-wa{display:none}
	.nav-open .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:76px;background:var(--teal);padding:16px 20px 22px;border-bottom:1px solid rgba(244,130,15,.28)}
	.nav-open .header-wa{display:inline-flex;position:absolute;right:20px;top:84px}
}
