:root{--navy:#05233a;--navy2:#0b3b5d;--blue:#087fd5;--ink:#0a2235;--light:#f4f7f9;--white:#fff;--muted:#607383;--line:#dce5eb;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.site-header{background:var(--navy);color:#fff;position:relative;z-index:20}.topbar{background:#031a2b;border-bottom:1px solid rgba(255,255,255,.09);font-size:12px}.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:7px 0}.topbar-inner b{opacity:.45;margin:0 8px}.topbar-right{display:flex;gap:22px}.nav-shell{background:rgba(5,35,58,.98)}.navrow{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:35px}.brand{width:205px;flex:0 0 205px}.brand img,.brand .custom-logo{width:100%;max-height:74px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.98}.primary-nav{margin-left:auto}.primary-nav ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}.primary-nav a{font-weight:650;font-size:14px;color:#eef6fb;white-space:nowrap}.primary-nav a:hover{color:#68baf0}.nav-contact{border:1px solid rgba(255,255,255,.42);padding:10px 15px;border-radius:4px}.nav-toggle{display:none;color:#fff;background:none;border:0;font-size:28px}.hero{background:radial-gradient(circle at 78% 45%,#174d70 0,#0a3453 31%,#041d30 72%);background-size:cover;background-position:center;color:#fff}.hero-inner{min-height:590px;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:70px;padding:76px 0}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-weight:800;font-size:11px;margin-bottom:15px}.eyebrow.dark{color:#47718c}.hero h1,.section h2,.split-copy h2,.coverage h2,.cta h2{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.035em;margin:0 0 20px}.hero p{font-size:18px;max-width:690px;color:#dce9f1}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.btn{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:4px;font-weight:750;font-size:14px}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#0b8fe9}.btn-ghost{border:1px solid rgba(255,255,255,.72);color:#fff}.hero-points{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.hero-points span{display:flex;align-items:center;gap:8px}.hero-points b{display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:12px}.authorized-card{justify-self:end;background:#fff;padding:17px;border-radius:4px;box-shadow:0 22px 55px rgba(0,0,0,.25);width:min(100%,300px)}.authorized-card img{width:100%}.section{padding:88px 0}.intro-grid{display:grid;grid-template-columns:.82fr 1.5fr;gap:65px;align-items:start}.section h2,.split-copy h2,.coverage h2,.cta h2{font-size:clamp(32px,4vw,48px)}.section p{color:var(--muted)}.intro-copy p{max-width:430px}.text-link{color:var(--blue);font-weight:750;font-size:14px}.cards{display:grid;gap:16px}.cards.four{grid-template-columns:repeat(4,1fr)}.service-card,.project-card{border:1px solid var(--line);border-radius:7px;background:#fff;overflow:hidden}.service-card{padding:27px 22px;min-height:245px;transition:.2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(8,38,61,.08)}.service-num{font-size:12px;color:var(--blue);font-weight:900;letter-spacing:.15em;border-bottom:2px solid var(--blue);display:inline-block;padding-bottom:6px}.service-card h3,.project-card h3{margin:24px 0 10px;font-size:17px;line-height:1.3}.service-card p,.project-card p{font-size:13px}.split-section{display:grid;grid-template-columns:1fr 1fr;background:#f4f7f9}.split-media{min-height:510px;background:linear-gradient(135deg,#b7cfde,#6e91aa);background-size:cover;background-position:center;display:grid;place-items:center}.media-placeholder{text-align:center;font-weight:900;letter-spacing:.28em;color:rgba(255,255,255,.55);font-size:28px}.media-placeholder small{font-size:10px}.split-media[style] .media-placeholder{display:none}.split-copy{padding:82px max(44px,calc((100vw - var(--max))/2)) 82px 72px}.split-copy p{max-width:580px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:38px}.mini-grid span{font-size:13px;font-weight:700}.mini-grid b{display:block;font-size:19px;color:var(--blue);margin-bottom:3px}.coverage{background:#0a3a5b;color:#fff;background-size:cover;background-position:center}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:78px 0;align-items:center}.coverage p{color:#d7e4ec;max-width:560px}.island-map{height:250px;position:relative}.island{position:absolute;padding-top:30px;font-size:11px;color:#cfe0ea;white-space:nowrap}.island:before{content:"";position:absolute;top:0;left:50%;width:19px;height:26px;border:2px solid #d9e8f1;border-radius:60% 40% 55% 45%;transform:rotate(22deg)}.island.active{color:#fff;font-weight:800}.island.active:before{background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.1)}.i1{left:7%;top:23%}.i2{left:15%;top:67%}.i3{left:28%;top:55%}.i4{left:39%;top:39%}.i5{left:56%;top:48%}.i6{left:75%;top:38%}.i7{left:88%;top:12%}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.project-card img,.project-image-placeholder{aspect-ratio:16/10;object-fit:cover;background:linear-gradient(135deg,#d7e5ee,#9bb7c9)}.project-body{padding:19px}.project-card h3{margin-top:0}.project-card a{color:var(--blue);font-weight:750;font-size:13px}.cta{background:#072c49;color:#fff}.cta-inner{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:58px 0}.cta h2{max-width:700px}.cta p{color:#d5e0e8}.site-footer{background:#041c2e;color:#d9e3ea;padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-grid strong{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;font-size:13px}.page-hero{background:#082b47;color:#fff;padding:70px 0}.page-hero h1{font-size:clamp(36px,5vw,58px);margin:0}.content-narrow{max-width:840px}.single-image{margin-bottom:28px;border-radius:8px}
@media(max-width:1080px){.primary-nav ul{gap:15px}.primary-nav a{font-size:12px}.brand{width:175px;flex-basis:175px}}
@media(max-width:900px){.topbar-right a:last-child{display:none}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#05233a;padding:22px 24px;box-shadow:0 18px 35px rgba(0,0,0,.2)}.primary-nav.open{display:block}.primary-nav ul{flex-direction:column;align-items:flex-start;gap:17px}.primary-nav a{font-size:15px}.hero-inner,.intro-grid,.coverage-grid,.split-section{grid-template-columns:1fr}.authorized-card{justify-self:start;width:250px}.hero-points,.cards.four{grid-template-columns:1fr 1fr}.split-copy{padding:58px 30px}.split-media{min-height:390px}.cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.wrap{width:min(calc(100% - 30px),var(--max))}.topbar-right{display:none}.topbar-inner{justify-content:center}.navrow{min-height:76px}.brand{width:155px;flex-basis:155px}.hero-inner{min-height:auto;padding:58px 0}.hero h1{font-size:43px}.hero-points,.cards.four,.footer-grid,.mini-grid{grid-template-columns:1fr}.authorized-card{width:220px}.hero-actions,.cta-actions{flex-direction:column;align-items:stretch}.btn{width:100%}.section{padding:60px 0}.coverage-grid{padding:60px 0}.island-map{height:220px}.section-head{align-items:flex-start;gap:15px;flex-direction:column}}

/* v0.4.1 - aerial Canary Islands coverage strip */
.coverage-v041{position:relative;overflow:hidden;background:#052b47;min-height:330px}
.coverage-v041 .coverage-boat{position:absolute;inset:0 auto 0 0;width:42%;background-size:cover;background-position:center left;z-index:0}
.coverage-v041:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,43,71,0) 27%,rgba(5,43,71,.72) 41%,rgba(5,43,71,.98) 54%);z-index:1;pointer-events:none}
.coverage-grid-v041{position:relative;z-index:2;display:grid;grid-template-columns:42% 30% 28%;gap:0;min-height:330px;padding:0;align-items:center}
.coverage-copy{grid-column:2;padding:54px 34px 54px 26px}
.coverage-copy h2{font-size:clamp(30px,3vw,46px);margin-bottom:15px}
.coverage-copy p{font-size:15px;line-height:1.6;margin:0;color:#e0ebf1}
.island-map-real{grid-column:3;position:relative;height:250px;margin-right:-8px}
.island-map-real>img{position:absolute;inset:20px 0 0 0;width:100%;height:205px;object-fit:contain;opacity:.96;filter:drop-shadow(0 2px 6px rgba(0,0,0,.14))}
.map-label{position:absolute;font-size:10px;color:#dceaf2;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.map-label.active{font-weight:800;color:#fff}
.map-label.lp{left:7%;top:22%}.map-label.eh{left:6%;top:78%}.map-label.lg{left:24%;top:63%}.map-label.tf{left:42%;top:36%}.map-label.gc{left:54%;top:72%}.map-label.fv{left:75%;top:55%}.map-label.lz{left:83%;top:15%}
.tf-marker{position:absolute;left:48.7%;top:42%;width:13px;height:13px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 6px rgba(8,127,213,.42),0 0 15px rgba(8,127,213,.9)}
@media(max-width:1000px){.coverage-v041 .coverage-boat{width:48%;opacity:.55}.coverage-v041:after{background:linear-gradient(90deg,rgba(5,43,71,.28),rgba(5,43,71,.97) 43%)}.coverage-grid-v041{grid-template-columns:38% 62%;grid-template-rows:auto auto}.coverage-copy{grid-column:2;padding:45px 28px 20px}.island-map-real{grid-column:2;height:220px;margin:0 18px 25px}.island-map-real>img{height:185px}}
@media(max-width:700px){.coverage-v041{min-height:620px}.coverage-v041 .coverage-boat{position:relative;width:100%;height:245px;opacity:1;background-position:center}.coverage-v041:after{background:linear-gradient(180deg,rgba(5,43,71,0) 22%,rgba(5,43,71,.98) 43%)}.coverage-grid-v041{display:block;min-height:0}.coverage-copy{padding:38px 0 10px}.island-map-real{height:220px;margin:10px 0 25px}.map-label{font-size:9px}}

/* v0.4.2 - seamless aerial image blend + corrected Tenerife marker */
.coverage-v041 .coverage-boat{
  width:48%;
  background-position:center center;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.55) 82%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.92) 68%,rgba(0,0,0,.55) 82%,transparent 100%);
}
.coverage-v041:after{background:linear-gradient(90deg,rgba(5,43,71,0) 20%,rgba(5,43,71,.10) 31%,rgba(5,43,71,.55) 42%,rgba(5,43,71,.96) 53%)}
.tf-marker{left:36.2%;top:52.5%}
.map-label.tf{left:34%;top:36%}
@media(max-width:1000px){.coverage-v041 .coverage-boat{width:55%;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,.75) 70%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 48%,rgba(0,0,0,.75) 70%,transparent 100%)}.tf-marker{left:36.2%;top:52.5%}}
@media(max-width:700px){.coverage-v041 .coverage-boat{width:100%;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.7) 80%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.7) 80%,transparent 100%)}}


/* v0.4.3 — Servicios Volvo Penta: tarjetas visuales compactas */
.services{gap:14px;align-items:stretch}
.services .service-card{padding:0;min-height:0;position:relative;overflow:hidden;border-color:#d8e2e8;background:#fff;box-shadow:0 1px 0 rgba(6,34,54,.03)}
.services .service-media{height:128px;overflow:hidden;background:#dfe8ee}
.services .service-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.services .service-card:hover .service-media img{transform:scale(1.035)}
.services .service-body{position:relative;padding:23px 18px 18px}
.services .service-icon{position:absolute;left:18px;top:-19px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #d7e4ec;color:#087fd5;font-size:19px;font-weight:800;box-shadow:0 4px 12px rgba(5,35,58,.08)}
.services .service-card h3{margin:4px 0 8px;font-size:16px;line-height:1.22}
.services .service-card p{margin:0;color:#607383;font-size:12px;line-height:1.45}

@media(max-width:900px){
  .intro-grid{gap:36px}
  .services.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services .service-media{height:120px}
}
@media(max-width:640px){
  .section .intro-grid{gap:26px}
  .intro-copy p{margin-bottom:12px}
  .services.cards.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .services .service-media{height:92px}
  .services .service-body{padding:20px 12px 13px}
  .services .service-icon{left:12px;top:-16px;width:32px;height:32px;font-size:16px}
  .services .service-card h3{font-size:14px;margin:2px 0 6px}
  .services .service-card p{font-size:11px;line-height:1.35}
}
@media(max-width:390px){
  .services.cards.four{grid-template-columns:1fr 1fr}
  .services .service-media{height:82px}
}
/* Volvo Penta Tenerife landing */
.vp-hero{background:linear-gradient(90deg,rgba(2,31,52,.94) 0%,rgba(2,31,52,.78) 42%,rgba(2,31,52,.25) 70%),var(--vp-bg) center/cover no-repeat;color:#fff}.vp-hero-grid{min-height:560px;display:grid;grid-template-columns:1.25fr .55fr;gap:60px;align-items:center}.vp-copy{max-width:720px}.vp-copy h1{font-size:clamp(3rem,6vw,5.7rem);line-height:.95;margin:.15em 0 .28em}.vp-copy p{font-size:1.18rem;line-height:1.6;max-width:680px}.vp-badge{background:rgba(2,32,54,.86);backdrop-filter:blur(8px);padding:28px;border:1px solid rgba(255,255,255,.16)}.vp-badge img{width:100%;max-width:270px;background:#fff;padding:8px;display:block;margin-bottom:24px}.vp-badge ul{list-style:none;padding:0;margin:0}.vp-badge li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12)}.vp-badge li:before{content:'✓';color:#1ea7ff;margin-right:10px}.vp-intro{display:grid;grid-template-columns:.8fr 1fr;gap:80px;align-items:end;margin-bottom:32px}.vp-intro h2,.vp-official h2,.vp-two h2,.vp-faq h2{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.05;margin:.25em 0}.vp-intro>p{font-size:1.05rem;line-height:1.7}.vp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vp-card{border:1px solid #dce5eb;background:#fff;border-radius:8px;overflow:hidden}.vp-card img{width:100%;height:160px;object-fit:cover}.vp-card div{padding:20px}.vp-card h3{margin:0 0 8px;font-size:1.15rem}.vp-card p{margin:0;color:#526779;line-height:1.5}.vp-official{display:grid;grid-template-columns:1.05fr .95fr;min-height:480px;background:#f3f7fa}.vp-photo{background-size:cover;background-position:center}.vp-official-copy{padding:70px max(6vw,50px);align-self:center}.vp-official-copy p{font-size:1.05rem;line-height:1.7}.vp-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;font-weight:700}.vp-two{display:grid;grid-template-columns:1fr 1fr}.vp-yard{min-height:430px;background-size:cover;background-position:center;color:#fff;padding:70px max(5vw,50px);display:flex;align-items:end}.vp-yard p{max-width:620px;line-height:1.6}.vp-coverage{padding:70px max(5vw,50px);background:#eaf6fd;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:30px}.vp-coverage img{width:100%;filter:drop-shadow(0 5px 10px rgba(0,45,75,.12))}.vp-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.vp-faq details{border:1px solid #dce5eb;border-radius:7px;padding:18px 20px;background:#fff}.vp-faq summary{font-weight:800;cursor:pointer}.vp-faq details p{color:#526779;line-height:1.55;margin-bottom:0}.vp-cta{background:#062f4d;color:#fff;padding:46px 0}.vp-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.vp-cta h2{font-size:2.2rem;margin:0 0 8px}.vp-cta p{margin:0;color:#d9e7f0}.volvo-page .eyebrow{letter-spacing:.22em;font-weight:800;font-size:.78rem;color:#087cc7}.vp-hero .eyebrow,.vp-yard .eyebrow{color:#fff}
@media(max-width:900px){.vp-hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:70px;padding-bottom:70px}.vp-badge{max-width:420px}.vp-intro,.vp-official,.vp-two{grid-template-columns:1fr}.vp-cards{grid-template-columns:1fr 1fr}.vp-photo{min-height:340px}.vp-coverage{grid-template-columns:1fr}.vp-faq-grid{grid-template-columns:1fr}.vp-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.vp-hero{background-position:62% center}.vp-hero-grid{padding-top:48px;padding-bottom:48px}.vp-copy h1{font-size:2.8rem}.vp-copy p{font-size:1rem}.vp-badge{padding:18px}.vp-intro{gap:16px}.vp-cards{grid-template-columns:1fr 1fr;gap:10px}.vp-card img{height:105px}.vp-card div{padding:13px}.vp-card h3{font-size:.95rem}.vp-card p{font-size:.82rem}.vp-official-copy,.vp-yard,.vp-coverage{padding:45px 24px}.vp-checks{grid-template-columns:1fr}.vp-cta{padding:34px 0}}

/* v0.6.1 - Volvo Penta page polish */
.vp-photo{position:relative;background-color:#dce7ed;background-position:center;background-size:cover;min-height:480px}
.vp-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 65%,#f3f7fa 100%);pointer-events:none}
.vp-checks span{position:relative;padding-left:27px}.vp-checks span::before{content:"";position:absolute;left:0;top:.15em;width:17px;height:17px;border-radius:50%;background:#087fd5}.vp-checks span::after{content:"✓";position:absolute;left:4px;top:-.04em;color:#fff;font-size:11px;font-weight:900}
.vp-coverage{position:relative;overflow:hidden}.vp-coverage img{opacity:.72;transform:scale(1.08);transform-origin:center;filter:drop-shadow(0 8px 16px rgba(0,45,75,.14))}.vp-coverage:after{content:"TENERIFE";position:absolute;right:24%;top:51%;font-size:10px;letter-spacing:.14em;font-weight:900;color:#087fd5;pointer-events:none}
.vp-faq details{padding:0;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.vp-faq details:hover,.vp-faq details[open]{border-color:#b8d8eb;box-shadow:0 8px 24px rgba(8,50,77,.06)}.vp-faq summary{position:relative;list-style:none;padding:20px 52px 20px 20px}.vp-faq summary::-webkit-details-marker{display:none}.vp-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#eaf6fd;color:#087fd5;font-size:20px;line-height:1;font-weight:500}.vp-faq details[open] summary::after{content:"−"}.vp-faq details p{margin:0;padding:0 20px 20px;border-top:1px solid #edf2f5;padding-top:15px}.vp-card img{background:#e8eef2}.vp-card img[src=""],.vp-card img:not([src]){visibility:hidden}
@media(max-width:900px){.vp-photo{min-height:380px}.vp-photo:after{background:linear-gradient(180deg,rgba(255,255,255,0) 72%,#f3f7fa 100%)}.vp-coverage:after{right:34%;top:68%}}
@media(max-width:560px){.vp-photo{min-height:280px}.vp-coverage img{max-width:420px;margin:10px auto 0}.vp-coverage:after{display:none}.vp-faq summary{padding:17px 48px 17px 16px}.vp-faq details p{padding:14px 16px 17px}}
