:root{--navy:#082b48;--blue:#0878d4;--orange:#fa751e;--ink:#14283a;--muted:#526376;--soft:#f1f6fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:white}a{text-decoration:none;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 14px #09243b14}.nav{display:flex;align-items:center;gap:28px;min-height:90px}.brand img{width:185px;height:75px;object-fit:contain;object-position:left center}.menu{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:700}.menu a:hover,.text-link{color:var(--blue)}.call{background:var(--navy);color:white;border-radius:7px;padding:13px 18px;font-weight:750;white-space:nowrap}.menu-toggle{display:none}.hero{background:var(--navy);color:white}.hero-inner{min-height:520px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.hero-copy{padding:68px 34px 55px 0;align-self:center}.eyebrow,.kicker{font-size:12px;letter-spacing:2.3px;font-weight:850}.eyebrow:before,.kicker:before{content:'';display:inline-block;background:var(--orange);height:3px;width:32px;vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(40px,4.7vw,66px);line-height:1.09;letter-spacing:-2px;margin:20px 0}.hero h1 span{color:#27a4ff}.hero p{font-size:18px;max-width:550px}.hero-photo{background:linear-gradient(90deg,var(--navy) 0%,transparent 22%),url('assets/portada.webp') center 25%/cover no-repeat;min-height:480px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:7px;font-weight:800;text-align:center}.primary{background:var(--orange);color:white}.primary:hover{background:#e65f0c}.outline{border:1px solid #c5d8e6;color:white}.outline:hover{background:#ffffff22}.qualities{display:flex;flex-wrap:wrap;gap:18px;color:#d9e8f2;font-size:13px}.section{padding:76px 0}.section-intro{margin-bottom:28px}.kicker{color:var(--blue)}h2{font-size:clamp(28px,3.1vw,40px);line-height:1.17;letter-spacing:-.9px;margin:13px 0}h3{margin:10px 0 5px;font-size:20px}p{margin:8px 0 15px}.section-intro p,.service p,.steps p,.about p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{border-radius:12px;overflow:hidden;box-shadow:0 6px 22px #183c5919;background:white;border:1px solid #e4eaf0}.service img{width:100%;height:158px;object-fit:cover;display:block}.service-body{padding:0 18px 20px}.symbol{display:grid;place-items:center;font-size:23px;color:white;background:var(--blue);width:46px;height:46px;border-radius:50%;margin-top:-24px;position:relative;border:3px solid white}.service:nth-child(2) .symbol{background:#e84036}.service:nth-child(3) .symbol{background:var(--orange)}.service:nth-child(4) .symbol{background:var(--navy)}.service p{font-size:14px}.soft{background:var(--soft)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps>div{background:white;padding:28px;border-radius:12px}.steps b{font-size:30px;color:var(--orange)}.about{display:grid;grid-template-columns:0.8fr 1.2fr;gap:55px;align-items:center}.about>img{width:100%;border-radius:14px;aspect-ratio:1.45;object-fit:cover}.text-link{font-weight:800}.contact{background:var(--navy);color:white;padding:60px 0}.contact-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact p{color:#dce8f2;max-width:620px}.contact .kicker{color:#66b9f5}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}footer{background:#061f34;color:#c8d7e3;font-size:12px;padding:22px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:1000px){.menu{gap:12px}.nav{gap:12px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.nav{min-height:70px;flex-wrap:wrap}.brand img{width:145px;height:60px}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:28px;color:var(--navy);cursor:pointer}.menu{display:none;order:4;flex-basis:100%;flex-direction:column;padding:10px 0 22px}.menu.open{display:flex}.top-call{font-size:12px;padding:9px}.hero-inner{display:flex;flex-direction:column-reverse}.hero-photo{min-height:300px;background:linear-gradient(0deg,var(--navy),transparent 32%),url('assets/portada.webp') center 22%/cover no-repeat}.hero-copy{padding:12px 0 45px}.hero h1{font-size:42px}.hero p{font-size:16px}.section{padding:55px 0}.steps,.about{grid-template-columns:1fr}.about{gap:25px}.contact-inner{display:block}.contact-actions{margin-top:20px}}@media(max-width:440px){.wrap{width:calc(100% - 28px)}.cards{grid-template-columns:1fr}.hero h1{font-size:37px}.top-call{display:none}.hero-photo{min-height:255px}.actions .btn{width:100%}}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.header, .hero-inner { display: none; }
.hero-art { position: relative; }
.hero-art > img { display: block; width: 100%; height: auto; }
.hotspot { position: absolute; display: block; border-radius: 5px; }
.hotspot:hover { background: #ffffff22; }
.hotspot-logo { left: 9.5%; top: 1%; width: 16%; height: 11.5%; }
.hotspot-inicio { left: 41.7%; top: 3.6%; width: 3.6%; height: 6%; }
.hotspot-servicios { left: 45.8%; top: 3.6%; width: 4.9%; height: 6%; }
.hotspot-como { left: 51.2%; top: 3.6%; width: 8.2%; height: 6%; }
.hotspot-sobre { left: 60.4%; top: 3.6%; width: 4.8%; height: 6%; }
.hotspot-contacto { left: 65.7%; top: 3.6%; width: 5.1%; height: 6%; }
.hotspot-telefono { left: 72.9%; top: 2.3%; width: 11.9%; height: 8.6%; }
.hotspot-llamar { left: 6%; top: 59.3%; width: 17.4%; height: 9.8%; }
.hotspot-presupuesto { left: 24.4%; top: 59.3%; width: 15.3%; height: 9.8%; }
.contact-actions { max-width: 420px; }
.contact-actions .email-button { max-width: 100%; overflow-wrap: anywhere; font-size: 14px; }
@media (max-width: 1500px) {
  .header { display: block; }
  .hero-art { display: none; }
  .hero .hero-inner { display: grid; }
  .hero-photo { position: relative; overflow: hidden; background: var(--navy); }
  .hero-photo img { position: absolute; top: -14.92%; right: 0; width: auto; max-width: none; height: 114.92%; transform: translateX(8%); }
}
@media (max-width: 750px) {
  .hero .hero-inner { display: flex; flex-direction: column-reverse; }
  .hero-photo { min-height: 0; height: clamp(265px, 65vw, 390px); }
  .contact-actions .btn { flex: 1 1 180px; }
}

/* Version 2: tarifas, presupuesto y paginas legales. */
.subpage .header{display:block}
.hero-tarifas{position:absolute;left:86.1%;top:3.8%;width:11%;height:6.4%;display:grid;place-items:center;color:var(--navy);font-size:clamp(11px,1vw,19px);font-weight:800;text-transform:uppercase;letter-spacing:.01em;border-radius:5px}
.hero-tarifas:hover,.hero-tarifas:focus-visible{color:var(--blue);background:#edf6ff}
.menu a[aria-current="page"]{color:var(--blue)}
.btn.dark{background:var(--navy);color:white}
.btn.dark:hover{background:#0d416a}
.btn.whatsapp{background:#158754;color:white}
.btn.whatsapp:hover{background:#0f7045}
.pricing-highlight{background:linear-gradient(160deg,#eef6fd 0%,#fff 66%)}
.price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.price-card{background:#fff;border:1px solid #dce9f4;border-top:4px solid var(--blue);border-radius:14px;padding:28px;box-shadow:0 12px 30px #123c5912}
.price-card.featured{border-top-color:var(--orange)}
.price-card h3{margin:16px 0 9px}
.price-card p{color:var(--muted);margin:0}
.price-card .price-number{font-size:clamp(25px,2.5vw,36px);font-weight:850;line-height:1.2;color:var(--navy);margin:11px 0}
.price-icon{width:48px;height:48px;border-radius:12px;background:#e7f3ff;color:var(--blue);display:grid;place-items:center;font-size:27px;font-weight:850}
.featured .price-icon{background:#fff0e5;color:var(--orange)}
.highlight-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.page-hero{background:linear-gradient(110deg,#082b48,#0c4e7c);color:#fff;padding:72px 0 66px}
.page-hero.compact{padding:58px 0}
.page-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.1;letter-spacing:-2px;margin:18px 0 15px}
.page-hero p{max-width:650px;color:#dcebf5;font-size:18px}
.page-hero .actions{margin:25px 0 0}
.tariff-table-wrap{overflow-x:auto;border:1px solid #dce7f0;border-radius:14px;box-shadow:0 10px 28px #123c5911}
.tariff-table{width:100%;border-collapse:collapse;text-align:left;background:white}
.tariff-table th,.tariff-table td{padding:17px 22px;border-bottom:1px solid #e4ebf1}
.tariff-table thead{background:var(--navy);color:white}
.tariff-table thead th{font-size:14px;letter-spacing:.3px}
.tariff-table tbody th{font-weight:650}
.tariff-table tbody td{font-weight:850;color:var(--blue);white-space:nowrap}
.tariff-table tbody tr:last-child th,.tariff-table tbody tr:last-child td{border-bottom:0}
.tariff-table tbody tr:nth-child(even){background:#f7fbfe}
.tariff-notes{margin-top:22px;border-left:4px solid var(--orange);padding:5px 20px;color:var(--muted);background:#fbfdff}
.tariff-notes strong{color:var(--ink)}
.conditions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.condition-card{background:white;padding:30px;border-radius:14px;border:1px solid #e1eaf2}
.condition-card p{color:var(--muted)}
.condition-tag{font-size:11px;letter-spacing:1.6px;font-weight:850;color:var(--blue)}
.advance-note{display:flex;gap:17px;align-items:flex-start;margin-top:22px;padding:23px 27px;background:#e5f1fb;border-radius:13px}
.advance-note h3{margin:0 0 4px}
.advance-note p{margin:0;color:var(--muted)}
.advance-mark{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900}
.request-section{scroll-margin-top:100px}
.request-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.request-intro p{color:var(--muted);max-width:400px}
.request-alternatives{display:grid;justify-items:start;gap:18px;margin-top:28px}
.request-panel{padding:30px;background:#fff;border:1px solid #dce7f0;border-radius:16px;box-shadow:0 12px 35px #16395517}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.form-grid label{display:grid;gap:6px;font-size:14px;font-weight:750}
.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid #b8c9d8;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-weight:400;padding:12px 13px}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
.form-grid textarea{resize:vertical}
.form-grid small{font-size:12px;font-weight:400;color:var(--muted)}
.form-grid label>span{color:#b8431b}
.photo-fields{min-width:0;margin:0;padding:18px;border:1px solid #d3e0ea;border-radius:9px}
.photo-fields legend{padding:0 6px;font-size:14px;font-weight:750}
.photo-fields p{margin:0 0 12px;font-size:12px;color:var(--muted)}
.photo-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.photo-inputs label:last-child{grid-column:1/-1}
.photo-inputs input{padding:8px;font-size:12px}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.privacy-summary{margin-top:24px;padding:16px 18px;background:#f0f6fc;border-radius:10px;font-size:13px;line-height:1.55}
.privacy-summary p{margin:7px 0 0;color:#3d5061}
.privacy-summary a,.check-label a,.legal-content a{color:#075fa7;text-decoration:underline;text-underline-offset:2px}
.check-label{display:flex;align-items:flex-start;gap:10px;margin-top:19px;font-size:13px;line-height:1.5}
.check-label input{flex:0 0 auto;margin:3px 0 0;width:18px;height:18px;accent-color:var(--blue)}
.turnstile-box{min-height:0;margin:18px 0 0}
.form-status{margin:15px 0 0;padding:11px 13px;border-radius:7px;background:#eef4fa;color:#334b60;font-size:14px}
.form-status.error{background:#fff0ec;color:#a33a1c}
.form-status.success{background:#e8f7ef;color:#136c3a}
.submit-button{border:0;cursor:pointer;margin-top:14px;font:inherit}
.submit-button:disabled{opacity:.6;cursor:not-allowed}
.legal-content{max-width:800px}
.legal-content h2{font-size:26px;margin-top:32px}
.legal-content h2:first-child{margin-top:0}
.legal-content p{color:#3d5061}
.legal-back{margin-top:30px}
.sent-card{max-width:650px;margin:45px auto;padding:45px;border:1px solid #dce7f0;border-radius:16px;text-align:center;box-shadow:0 12px 35px #16395517}
.sent-card h1{font-size:clamp(32px,4vw,46px);margin:12px 0}
.sent-card p{color:var(--muted)}
.sent-card .actions{justify-content:center}
.sent-mark{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e8f7ef;color:#136c3a;font-size:34px;font-weight:900}
.footer-inner nav{display:flex;flex-wrap:wrap;gap:20px}
.footer-inner nav a:hover{text-decoration:underline}
html{scroll-padding-top:90px}
@media(max-width:1120px){
  .nav{flex-wrap:wrap;gap:12px;min-height:72px}
  .brand img{width:150px;height:62px}
  .menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:28px;color:var(--navy);cursor:pointer}
  .menu{display:none;order:4;flex-basis:100%;flex-direction:column;gap:0;padding:0 0 16px;margin-left:0}
  .menu.open{display:flex}
  .menu a{padding:9px 0}
  .top-call{font-size:13px;padding:10px}
}
@media(max-width:850px){
  .price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-card:last-child{grid-column:1/-1}
  .request-grid{grid-template-columns:1fr;gap:25px}
  .request-intro p{max-width:650px}
}
@media(max-width:650px){
  .price-cards,.conditions-grid,.form-grid{grid-template-columns:1fr}
  .price-card:last-child{grid-column:auto}
  .form-grid .full{grid-column:auto}
  .photo-inputs{grid-template-columns:1fr}
  .photo-inputs label:last-child{grid-column:auto}
  .request-panel{padding:20px}
  .sent-card{margin:15px auto;padding:25px}
  .page-hero{padding:54px 0}
  .page-hero p{font-size:16px}
  .tariff-table thead{display:none}
  .tariff-table tbody tr{display:block;padding:14px 18px;border-bottom:1px solid #e4ebf1}
  .tariff-table tbody tr:last-child{border-bottom:0}
  .tariff-table tbody th,.tariff-table tbody td{display:block;padding:0;border:0;white-space:normal}
  .tariff-table tbody td{margin-top:5px}
  .highlight-actions .btn,.page-hero .actions .btn{flex:1 1 100%}
}
