*{box-sizing:border-box}
:root{--navy:#102f55;--navy-deep:#09294b;--green:#158126;--green-dark:#075b43;--green-bright:#72c82e;--soft:#f4f8fa;--text:#24384d;--muted:#617184}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.48}
a{color:inherit}
.site-header{height:58px;background:#f7fbff;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px #153b5412}
.header-inner{height:100%;max-width:1380px;width:92%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--navy);font-size:30px;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}
.brand img{width:74px;height:48px;object-fit:contain}
.brand-green{color:#16823a}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2.7vw,42px);height:100%}
.main-nav>a{height:100%;display:flex;align-items:center;text-decoration:none;font-size:14px;font-weight:700;color:#0f294d;white-space:nowrap;position:relative}
.main-nav>a:not(.header-cta):hover,.main-nav>a.active{color:#147b2c}
.main-nav>a.active:after{content:"";height:2px;background:var(--green);position:absolute;left:0;right:0;bottom:10px}
.header-cta{height:auto!important;padding:9px 19px;border-radius:28px;background:#16821c;color:white!important;font-size:14px!important;box-shadow:0 3px 10px #16821c24}
.phone-icon{font-size:16px;margin-right:9px}
.menu-toggle{display:none;border:0;background:transparent;padding:8px}
.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}
.hero{width:100%;line-height:0;background:#e8f1f7}
.hero-desktop{width:100%;height:auto;display:block}
.hero-cta-hotspot{position:absolute;left:12.5%;top:74%;width:16.5%;height:15%;z-index:2}
.hero-mobile{display:none}
.benefits{min-height:112px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;max-width:1100px;width:92%;margin:auto;padding:12px 0;background:white}
.benefit{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #d5e0e9;gap:2px}
.benefit:last-child{border:0}
.benefit svg{width:37px;height:37px;fill:none;stroke:#16832d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.benefit h2{font-size:14px;color:#102e51;line-height:1.2;margin:1px 0 3px}
.benefit p{font-size:12px;color:#35495c;line-height:1.2;margin:0}
.app-strip{min-height:86px;background:linear-gradient(100deg,#07583f,#006044);display:flex;align-items:center;justify-content:center;gap:clamp(20px,3.3vw,52px);padding:10px 4.5%;color:white}
.app-download{display:flex;flex-direction:column;line-height:1.05;padding-right:clamp(16px,3vw,45px);border-right:1px solid #a9c9ba;min-width:215px}
.app-download span{font-size:25px;font-weight:800}
.app-download strong{font-size:36px;color:#85d53c;letter-spacing:-1px}
.store-placeholder{height:48px;min-width:170px;border:1px solid #aabeb5;border-radius:8px;background:#0c1c22;display:flex;align-items:center;gap:9px;padding:5px 12px;box-shadow:0 2px 3px #001a14}
.store-placeholder .store-icon{font-size:25px;color:white}
.store-placeholder .play-icon{font-size:28px;color:#40c5a5}
.store-placeholder span:last-child{display:flex;flex-direction:column;line-height:1.05}
.store-placeholder small{font-size:8px;color:#e9efeb;font-weight:700}
.store-placeholder b{font-size:17px;color:#fff}
.app-area{border-left:1px solid #a9c9ba;padding-left:clamp(18px,3vw,44px);display:flex;align-items:center;gap:16px}
.app-area p{font-size:15px;line-height:1.25;margin:0;color:#fff}
.app-area strong{font-size:16px}
.map-pin,.coverage-pin{width:36px;height:45px;flex:0 0 auto;background:#54bb2f;clip-path:path("M18 0 C8 0 0 8 0 18 C0 31 18 45 18 45 C18 45 36 31 36 18 C36 8 28 0 18 0 Z");display:grid;place-items:center;color:#fff;font-size:12px;padding-bottom:15px}
.section{max-width:1180px;width:90%;margin:0 auto}
.services{padding:13px 0 18px}
.section-title{display:flex;justify-content:center;align-items:center;gap:25px;margin:0 auto 9px}
.section-title span,.compact-title>span{display:block;width:84px;height:2px;background:#16832d}
.section-title h2{font-size:27px;line-height:1.2;margin:0;color:var(--navy);letter-spacing:-.5px}
.section-title em{color:#18822f;font-style:normal}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.service-card{position:relative;border:1px solid #d5e1e8;border-radius:16px;overflow:hidden;background:#fbfcfd;box-shadow:0 2px 5px #122f5010}
.service-card>img{display:block;width:100%;height:74px;object-fit:cover}
.service-icon{position:absolute;top:24px;left:20px;width:42px;height:42px;border:3px solid white;border-radius:50%;background:#16832d;color:white;display:grid;place-items:center;font-size:24px;box-shadow:0 1px 4px #102d4455}
.service-copy{min-height:76px;padding:5px 20px 10px}
.service-copy h3{font-size:16px;line-height:1.15;color:#102e51;margin:0 0 3px}
.service-copy p{font-size:13px;line-height:1.25;margin:0;color:#192b3a}
.process-pricing{max-width:1180px;width:90%;margin:0 auto;padding:8px 0 17px;display:grid;grid-template-columns:1.2fr 1fr;gap:35px}
.process{padding-right:26px;border-right:1px solid #dce6e9}
.compact-title{display:flex;align-items:center;gap:18px;margin-bottom:8px}
.compact-title>span{width:74px}
.compact-title h2{font-size:23px;line-height:1.1;margin:0;color:var(--navy);white-space:nowrap}
.steps{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr;gap:8px;align-items:center}
.steps article{text-align:center}
.steps article>b{width:26px;height:26px;border-radius:50%;background:#16831b;color:#fff;display:inline-grid;place-items:center;font-size:15px;margin-bottom:3px}
.steps h3{font-size:13px;line-height:1.15;color:#102e51;margin:0 0 4px}
.steps p{font-size:12px;line-height:1.2;margin:0;color:#273b4b}
.step-arrow{color:#17852b;font-size:25px;text-align:center}
.pricing{min-width:0}
.price-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.price-box{background:linear-gradient(130deg,#e8f3df,#dceccf);border-radius:13px;padding:10px 14px;text-align:center;min-height:85px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.price-box h3{font-size:14px;line-height:1.1;color:#102e51;margin:0 0 4px}
.price-box p{font-size:11px;line-height:1.2;color:#354b43;margin:0 0 4px}
.price-box strong{font-size:23px;line-height:1;color:#16802a}
.pricing-note{text-align:center;font-size:10px;color:#64776a;margin:5px 0 0}
.bottom-panels{display:grid;grid-template-columns:1fr 1fr;min-height:82px}
.coverage-panel{background:linear-gradient(90deg,#e3f0f6dd,#ffffffcc),url("assets/paisaje-asturias.jpg") center 48%/cover;display:flex;align-items:center;justify-content:center;gap:15px;padding:10px 20px}
.coverage-panel h2,.contact-panel h2{font-size:24px;line-height:1.1;color:var(--navy);margin:0 0 2px}
.coverage-panel p,.contact-panel p{font-size:12px;line-height:1.25;color:#152d48;margin:0}
.coverage-panel .coverage-pin{width:32px;height:40px}
.contact-panel{background:linear-gradient(100deg,#153c62,#0b2e55);display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 22px}
.contact-panel h2,.contact-panel p{color:white}
.contact-panel h2{font-size:24px}
.contact-panel p{font-size:12px}
.envelope{font-size:34px;color:white}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:#1a9224;color:#fff;text-decoration:none;border:0;border-radius:28px;padding:11px 23px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px #001e1420}
.button:hover{background:#0b741b;transform:translateY(-1px)}
.contact-button{white-space:nowrap;margin-left:14px;padding:10px 21px}
.contact-form-section{max-width:1060px;width:90%;margin:0 auto;padding:58px 0 65px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:#16832d;margin:0 0 10px}
.form-intro h2{font-size:30px;line-height:1.12;color:var(--navy);margin:0 0 12px}
.form-intro>p:last-child{font-size:14px;color:#627386;margin:0}
.contact-form{display:grid;gap:13px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#18334c}
.contact-form input,.contact-form textarea{width:100%;padding:10px 12px;border:1px solid #d2dee5;border-radius:7px;font:14px Arial,sans-serif;color:#152f45;background:#fff}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #85c78b;outline-offset:1px}
.contact-form textarea{resize:vertical}
.contact-form .consent{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:11px;color:#617184}
.consent input{width:auto;margin-top:2px}
.contact-form .button{justify-self:start}
.form-feedback{min-height:18px;margin:0;font-size:12px;color:#1b6930}
.site-footer{background:#082844;color:#e5eff4;padding:24px 5% 12px}
.footer-main{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-brand{color:white;font-size:25px}
.footer-brand img{width:58px}
.footer-main>p{font-size:13px;margin:0;color:#cfdae3}
.footer-main nav{display:flex;gap:18px}
.footer-main nav a{font-size:12px;color:#e5eff4;text-decoration:none}
.footer-main nav a:hover{text-decoration:underline}
.footer-bottom{max-width:1180px;margin:17px auto 0;padding-top:10px;border-top:1px solid #ffffff26;font-size:10px;color:#a9bdcb;text-align:center}

/* Legal pages */
.legal-page{max-width:900px;width:90%;margin:65px auto 90px}
.legal-page h1{color:var(--navy);font-size:36px}
.legal-page h2{color:var(--navy);font-size:20px;margin-top:28px}
.legal-page p,.legal-page li{color:#526578;font-size:15px}
.legal-page .placeholder{padding:14px 18px;border-left:4px solid #dba53b;background:#fff8e9;color:#74501a}

/* Responsive */
@media(max-width:1100px){
 .header-inner{width:95%}.brand{font-size:25px}.brand img{width:62px}
 .main-nav{gap:17px}.main-nav>a{font-size:12px}
 .app-strip{gap:18px;padding-inline:2%}.app-download{min-width:175px}.app-download span{font-size:20px}.app-download strong{font-size:30px}
 .store-placeholder{min-width:145px}.app-area{padding-left:17px}.app-area p{font-size:13px}
 .service-copy{padding-inline:13px}.service-copy h3{font-size:14px}
 .process-pricing{gap:20px}
}
@media(max-width:760px){
 html{scroll-padding-top:65px}
 .site-header{height:64px}
 .header-inner{width:92%}
 .brand{font-size:25px}.brand img{width:60px}
 .menu-toggle{display:block;cursor:pointer}
 .main-nav{display:none;position:absolute;top:64px;left:0;right:0;height:auto;background:#f8fbff;box-shadow:0 12px 22px #09294b20;padding:10px 5% 18px;flex-direction:column;align-items:stretch;gap:0}
 .main-nav.open{display:flex}
 .main-nav>a{height:auto;padding:11px 5px;font-size:15px;border-bottom:1px solid #e7edf1}
 .main-nav>a.active:after{display:none}
 .main-nav .header-cta{justify-content:center;margin-top:10px;border:0}
 .hero-desktop{display:none}
 .hero-cta-hotspot{display:none}
 .hero-mobile{display:flex;min-height:520px;background:linear-gradient(90deg,#f4f8f6e8 0%,#f4f8f6c9 58%,#f4f8f600 100%),url("assets/paisaje-asturias.jpg") 51% center/cover;position:relative;align-items:flex-start;padding:48px 6% 28px}
 .mobile-hero-copy{position:relative;z-index:1;max-width:400px}
 .mobile-hero-copy h1{font-size:39px;line-height:1.03;color:#112e4d;margin:4px 0 12px;letter-spacing:-1px}
 .mobile-hero-copy h1 span{color:#187e2a}
 .mobile-hero-copy p:not(.eyebrow){font-size:16px;line-height:1.35;color:#183650;max-width:340px;margin:0 0 20px}
 .mobile-app-preview{position:absolute;right:5%;bottom:18px;background:#f7fafc;border:1px solid white;border-radius:20px;padding:10px;width:170px;box-shadow:0 12px 25px #0b263e55;transform:rotate(5deg)}
 .mobile-app-preview>div:not(.mini-logo){font-size:10px;background:white;border:1px solid #e2e9ed;border-radius:8px;padding:7px;margin-top:5px;color:#16802c}
 .mobile-app-preview strong{color:#17354b;margin-left:5px}
 .mini-logo{display:flex;align-items:center;justify-content:center;color:#17354b;font-size:17px;margin-bottom:5px}
 .mini-logo img{width:33px}
 .benefits{width:100%;grid-template-columns:1fr 1fr;padding:8px 4%}
 .benefit{min-height:98px}
 .benefit:nth-child(2){border-right:0}
 .benefit:nth-child(1),.benefit:nth-child(2){border-bottom:1px solid #d5e0e9}
 .benefit h2{font-size:13px}.benefit p{font-size:11px}
 .app-strip{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:18px 6%}
 .app-download{min-width:0;border:0;padding:0}
 .app-download span{font-size:18px}.app-download strong{font-size:27px}
 .store-placeholder{min-width:0;width:100%;height:43px;justify-content:center;padding:4px 7px}
 .store-placeholder b{font-size:14px}.store-placeholder small{font-size:7px}
 .app-area{grid-column:1/-1;border-left:0;border-top:1px solid #a9c9ba;padding:12px 0 0;justify-content:center}
 .app-area p{font-size:13px}
 .section{width:90%}.services{padding:25px 0}
 .section-title{gap:12px}.section-title span{width:35px}.section-title h2{font-size:23px}
 .service-grid{grid-template-columns:1fr 1fr;gap:12px}
 .service-card>img{height:85px}.service-icon{width:34px;height:34px;top:15px;left:12px;font-size:19px}
 .service-copy{min-height:100px;padding:8px 11px}
 .service-copy h3{font-size:14px}.service-copy p{font-size:12px}
 .process-pricing{width:90%;grid-template-columns:1fr;gap:25px;padding:10px 0 28px}
 .process{border-right:0;border-bottom:1px solid #dce6e9;padding:0 0 22px}
 .compact-title h2{font-size:21px}.compact-title>span{width:42px}
 .steps{gap:4px;grid-template-columns:1fr 16px 1fr 16px 1fr}
 .steps h3{font-size:11px}.steps p{font-size:10px}.steps article>b{width:23px;height:23px;font-size:13px}.step-arrow{font-size:17px}
 .price-boxes{gap:10px}.price-box{padding:10px 7px}.price-box h3{font-size:12px}.price-box p{font-size:10px}.price-box strong{font-size:19px}
 .bottom-panels{grid-template-columns:1fr}
 .coverage-panel,.contact-panel{min-height:100px;justify-content:flex-start;padding:15px 6%}
 .coverage-panel h2,.contact-panel h2{font-size:21px}
 .contact-panel{gap:12px;flex-wrap:wrap}.contact-panel p{font-size:11px}.envelope{font-size:27px}.contact-button{margin-left:auto;padding:9px 13px;font-size:12px}
 .contact-form-section{grid-template-columns:1fr;gap:24px;padding:42px 0}
 .form-intro h2{font-size:27px}
 .footer-main{justify-content:center;text-align:center;flex-direction:column;gap:10px}
 .footer-main nav{flex-wrap:wrap;justify-content:center}
}
@media(max-width:430px){
 .hero-mobile{min-height:560px;padding-top:38px}
 .mobile-hero-copy h1{font-size:35px;max-width:300px}
 .mobile-app-preview{width:145px;right:5%;bottom:16px}
 .service-grid{grid-template-columns:1fr}
 .service-card{display:grid;grid-template-columns:34% 1fr;min-height:104px}
 .service-card>img{height:100%;min-height:104px;grid-row:1;grid-column:1}
 .service-icon{top:12px;left:10px}
 .service-copy{grid-column:2;grid-row:1;align-self:center}
 .service-copy h3{font-size:14px}
 .service-copy p{font-size:11px}
 .steps{grid-template-columns:1fr;gap:10px}
 .step-arrow{transform:rotate(90deg);line-height:1}
 .steps article{max-width:260px;margin:auto}
 .form-row{grid-template-columns:1fr}
 .contact-panel{align-items:center}
 .contact-button{margin:8px 0 0 38px}
}
