@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{--ink:#0b1420;--ink-soft:#344b5c;--paper:#f7fbfe;--white:#ffffff;--line:#d9e5ec;--sky:#75d4ff;--sky-deep:#41b6e8;--muted:#6d7e8d;--heading:'Space Grotesk',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif;--page:1160px;--gutter:clamp(22px,5.2vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
::selection{background:var(--sky);color:var(--ink)}
.skip-link{position:absolute;z-index:20;top:8px;left:8px;transform:translateY(-150%);padding:10px 14px;background:var(--sky);color:var(--ink);font-weight:700}.skip-link:focus{transform:translateY(0)}
.site-header{width:min(100%,1440px);height:88px;margin:auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(11,20,32,.12)}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--sky)}.brand-mark svg{width:29px;height:29px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.brand-name{font-family:var(--heading);font-size:21px;font-weight:700;letter-spacing:-1.2px;line-height:.94}.brand-dot{color:#1ca2d5}.brand-name small{display:block;margin-top:6px;font:700 8px/1 var(--body);letter-spacing:1.15px;color:#5f7585}
.main-nav{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:42px}.main-nav a,.footer-links a{font-size:12px;font-weight:600;color:#566f80;transition:color .18s ease}.main-nav a:hover,.footer-links a:hover{color:#118ab9}.header-cta{padding:11px 16px;border:1px solid var(--ink);font-size:12px;font-weight:700;transition:background .18s,color .18s}.header-cta:hover{background:var(--ink);color:var(--white)}.header-cta span{margin-left:10px}
.section-wrap{width:min(100%,1440px);margin:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.hero{min-height:600px;display:grid;grid-template-columns:1.01fr .99fr;align-items:center;gap:32px;padding-top:74px;padding-bottom:70px}.hero-copy{max-width:585px}.eyebrow{margin:0 0 23px;font-size:10px;line-height:1.3;font-weight:700;letter-spacing:1.65px;color:#667c8d}.status-dot{display:inline-block;width:8px;height:8px;margin-right:7px;background:#34b5e8;border-radius:50%;box-shadow:0 0 0 4px rgba(91,190,235,.35);vertical-align:1px}.hero h1,.section-heading h2,.process h2,.contact h2{margin:0;font-family:var(--heading);font-weight:600;letter-spacing:-.065em;line-height:.98}.hero h1{max-width:610px;font-size:clamp(52px,7.2vw,89px)}.hero h1 em,.section-heading h2 em,.process h2 em,.contact h2 em{font-style:normal;color:#138dbf}.hero-lede{max-width:450px;margin:25px 0 0;color:#5d7382;font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 19px;border:0;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--sky);color:var(--ink)}.button-primary:hover{background:#4bbcf0}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#263d50}.button span{font-size:17px}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:7px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:50px}.note-rule{width:28px;height:1px;background:#8696a3}.hero-note p{margin:0;color:#72818d;font-size:11px;line-height:1.6}
.hero-art{height:430px;position:relative;display:grid;place-items:center;overflow:hidden;background:#eef7fb}.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(28,89,125,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(28,89,125,.065) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(120deg,transparent 8%,#000 65%)}.orbit{position:absolute;border:1px solid rgba(47,105,137,.16);border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:410px;height:210px;left:4%;top:26%}.orbit-two{width:480px;height:300px;left:-9%;top:16%;transform:rotate(25deg)}.device-card{z-index:1;width:min(66%,370px);min-width:270px;padding:17px 17px 0;background:#ffffff;box-shadow:0 24px 70px rgba(13,29,44,.17);transform:rotate(-3deg)}.device-top{height:27px;display:flex;justify-content:space-between;align-items:start;font:700 8px var(--body);letter-spacing:1px;color:#738493}.device-led{display:flex;align-items:center;gap:5px;color:#168bb5}.device-led i{width:6px;height:6px;border-radius:50%;background:#4fbce9}.screen-visual{height:194px;display:flex;overflow:hidden;background:#111f2d}.screen-sidebar{width:39px;padding:20px 11px;display:flex;flex-direction:column;gap:15px;background:#20394c}.screen-sidebar span{width:14px;height:3px;background:#637d8f}.screen-sidebar span:first-child{background:var(--sky)}.screen-main{flex:1;padding:22px 19px}.screen-title-line{width:51%;height:8px;background:#e7f6fc}.screen-sub-line{width:31%;height:4px;margin-top:8px;background:#8aa2b1}.screen-chart{height:68px;display:flex;align-items:end;gap:8px;margin-top:18px;border-bottom:1px solid #455e70}.screen-chart i{width:12%;background:#75d4ff;opacity:.8}.screen-chart i:nth-child(1){height:24%}.screen-chart i:nth-child(2){height:41%}.screen-chart i:nth-child(3){height:34%}.screen-chart i:nth-child(4){height:73%}.screen-chart i:nth-child(5){height:60%}.screen-chart i:nth-child(6){height:88%}.screen-chart i:nth-child(7){height:67%}.screen-chart i:nth-child(8){height:100%}.screen-bars{display:flex;gap:7px;margin-top:14px}.screen-bars span{width:21%;height:5px;background:#31495d}.screen-bars span:first-child{background:#3ab5e4}.device-base{height:9px;width:108%;margin:0 -4%;background:#bfd0da;clip-path:polygon(0 0,100% 0,96% 100%,4% 100%)}.device-caption{height:69px;display:flex;align-items:center;gap:12px}.device-caption>span:first-child{font-size:8px;font-weight:700;letter-spacing:1px;color:#7d8d9b}.device-caption b{font-family:var(--heading);font-size:13px}.caption-arrow{margin-left:auto;font-size:17px}.art-index{position:absolute;bottom:22px;left:24px;display:flex;gap:10px;font-size:9px;font-weight:700;letter-spacing:.8px;color:#6a8392}.art-index span:first-child{color:#335267}.art-sticker{position:absolute;top:37px;right:35px;width:62px;height:62px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:var(--sky);transform:rotate(9deg)}.art-sticker span{font:700 27px/.95 var(--heading)}.art-sticker small{font:700 6px var(--body);letter-spacing:.6px}
.ticker{height:67px;display:flex;align-items:center;overflow:hidden;background:var(--ink);color:#f7fbff}.ticker-track{width:100%;display:flex;align-items:center;justify-content:space-around;gap:20px;padding:0 var(--gutter);white-space:nowrap}.ticker-track span{font-size:9px;font-weight:700;letter-spacing:1.7px}.ticker-track b{color:var(--sky);font-size:14px}
.services{padding-top:112px;padding-bottom:104px}.section-heading{display:grid;grid-template-columns:1fr .52fr;gap:65px;align-items:end;margin-bottom:57px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2,.process h2,.contact h2{max-width:650px;font-size:clamp(39px,5vw,62px)}.section-intro{max-width:340px;margin:0 0 5px;color:#617788;font-size:14px;line-height:1.8}.service-list{border-top:1px solid #d0dde5}.service-row{min-height:117px;display:grid;grid-template-columns:52px 1.07fr 1fr 42px;align-items:center;gap:24px;border-bottom:1px solid #d0dde5;transition:background .2s,padding .2s}.service-row:hover{padding-left:8px;padding-right:8px;background:rgba(255,255,255,.45)}.service-number{align-self:start;padding-top:31px;font-size:10px;font-weight:700;color:#8192a0}.service-name h3{margin:0;font-family:var(--heading);font-size:21px;letter-spacing:-.7px}.service-name span{display:block;margin-top:4px;font-size:10px;color:#728695}.service-row>p{max-width:400px;margin:0;color:#657c8c;font-size:12px;line-height:1.75}.row-link{width:36px;height:36px;display:grid;place-items:center;border:1px solid #a7b8c5;border-radius:50%;font-size:16px;transition:background .2s,border .2s}.row-link:hover{border-color:var(--sky);background:var(--sky)}.service-footnote{margin:20px 0 0;color:#718796;font-size:11px}
.process{background:#ecf7fc}.process-inner{display:grid;grid-template-columns:.92fr 1.08fr;gap:10%;padding-top:100px;padding-bottom:103px}.process-title .eyebrow{margin-bottom:19px}.process-title h2{max-width:470px;font-size:clamp(42px,5vw,62px)}.process-title>p:not(.eyebrow){max-width:330px;margin:21px 0 25px;color:#647a89;font-size:14px;line-height:1.8}.steps{list-style:none;margin:0;padding:0;border-top:1px solid #c5d6e0}.steps li{display:grid;grid-template-columns:48px 1fr;gap:17px;padding:25px 0;border-bottom:1px solid #c5d6e0}.step-index{font-size:10px;font-weight:700;color:#748999}.steps h3{margin:0;font-family:var(--heading);font-size:17px;letter-spacing:-.3px}.steps p{max-width:395px;margin:7px 0 0;color:#637a8b;font-size:12px;line-height:1.7}
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:9%;padding-top:110px;padding-bottom:112px}.faq-heading .eyebrow{margin-bottom:17px}.faq-heading h2{margin:0;font:600 clamp(37px,4vw,49px)/1.05 var(--heading);letter-spacing:-.055em}.faq-heading>p:last-child{color:#718392;font-size:13px}.faq-list{border-top:1px solid #d0dde5}.faq-list details{border-bottom:1px solid #d0dde5}.faq-list summary{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;font-size:14px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:590px;margin:0;padding:0 35px 20px 0;color:#627a8a;font-size:12px;line-height:1.8}
.contact{display:grid;grid-template-columns:.92fr 1.08fr;gap:9%;padding-top:81px;padding-bottom:85px;background:var(--ink);color:var(--white)}.contact-copy .eyebrow{color:#a3b5c2}.contact h2{font-size:clamp(42px,5.2vw,67px)}.contact h2 em{color:var(--sky)}.contact-copy>p:not(.eyebrow){max-width:390px;margin:22px 0 25px;color:#acbcc9;font-size:14px;line-height:1.8}.contact .button-primary{color:var(--ink)}.phone-link{display:block;width:max-content;margin-top:16px;color:#bacad5;font-size:12px;font-weight:600}.contact-form{padding:26px;background:#f3f9fc;color:var(--ink)}.contact-form label{display:block;margin:0 0 8px;font-size:11px;font-weight:700}.contact-form label:not(:first-child){margin-top:17px}.contact-form label span{font-weight:400;color:#718694}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #d5e1e8;border-radius:0;background:#ffffff;color:var(--ink);font-size:12px}.contact-form textarea{resize:vertical;min-height:98px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#94a2ac}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #168ec0;outline-offset:2px}.form-submit{width:100%;margin-top:18px}.form-note{margin:11px 0 0;color:#768a98;font-size:10px;line-height:1.55}
.site-footer{max-width:1440px;margin:auto;padding:35px var(--gutter) 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center;background:#0b1420;color:#f4f9fc}.footer-brand .brand-mark{width:37px;height:37px}.footer-brand .brand-name{font-size:19px}.footer-brand .brand-name small{color:#a3b3c1}.site-footer>p{margin:0;color:#93a2ad;font-size:11px}.footer-links{display:flex;justify-content:flex-end;gap:18px}.footer-links a{color:#acbcc9;font-size:10px}.copyright{grid-column:1/-1;margin-top:11px;color:#758a99;font-size:9px}
:focus-visible{outline:2px solid #147da7;outline-offset:3px}
@media(min-width:1500px){.hero{min-height:660px}.hero-art{height:470px}}
@media(max-width:900px){.main-nav{gap:20px;margin-right:24px}.hero{min-height:520px;gap:18px;padding-top:55px;padding-bottom:55px}.hero h1{font-size:clamp(49px,7vw,70px)}.hero-art{height:355px}.device-card{width:72%}.section-heading{gap:35px}.service-row{grid-template-columns:36px .9fr 1fr 38px;gap:15px}.process-inner{gap:7%}.faq{gap:6%}.contact{gap:6%}}
@media(max-width:680px){:root{--gutter:22px}html{scroll-padding-top:66px}.site-header{height:auto;min-height:74px;flex-wrap:wrap;row-gap:0;padding-top:12px;padding-bottom:10px}.brand-mark{width:38px;height:38px}.main-nav{order:3;width:100%;justify-content:space-between;margin:10px 0 0;padding:10px 0 1px;border-top:1px solid rgba(11,20,32,.1)}.main-nav a{font-size:11px}.header-cta{padding:9px 12px}.hero{grid-template-columns:1fr;padding-top:55px;padding-bottom:48px}.hero h1{max-width:550px;font-size:clamp(52px,14vw,76px)}.hero-lede{font-size:14px}.hero-note{margin-top:32px}.hero-art{height:340px;margin-top:7px}.device-card{width:min(77%,350px)}.ticker{height:57px}.ticker-track{justify-content:flex-start;gap:17px;overflow:hidden}.ticker-track span{font-size:8px}.ticker-track span:nth-of-type(n+4),.ticker-track b:nth-of-type(n+4){display:none}.services{padding-top:75px;padding-bottom:74px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:32px}.section-heading h2,.process h2,.contact h2{font-size:clamp(40px,11vw,54px)}.section-intro{font-size:13px}.service-row{position:relative;min-height:unset;grid-template-columns:29px 1fr 38px;gap:10px;padding:20px 0}.service-row:hover{padding-left:4px;padding-right:4px}.service-number{grid-column:1;grid-row:1/3;padding-top:4px}.service-name{grid-column:2;grid-row:1}.service-name h3{font-size:19px}.service-name span{font-size:10px}.service-row>p{grid-column:2;grid-row:2;margin-top:5px}.row-link{grid-column:3;grid-row:1/3;width:33px;height:33px}.service-footnote{font-size:10px}.process-inner{grid-template-columns:1fr;gap:45px;padding-top:75px;padding-bottom:77px}.process-title h2{max-width:510px}.process-title>p:not(.eyebrow){font-size:13px}.steps li{padding:20px 0}.faq{grid-template-columns:1fr;gap:22px;padding-top:76px;padding-bottom:78px}.faq-heading h2{font-size:42px}.faq-list summary{min-height:64px;font-size:13px}.contact{grid-template-columns:1fr;gap:33px;padding-top:65px;padding-bottom:64px}.contact-copy>p:not(.eyebrow){font-size:13px}.contact-form{padding:20px}.site-footer{grid-template-columns:1fr 1fr;gap:16px;padding-top:28px;padding-bottom:22px}.site-footer>p{grid-column:1/-1;grid-row:2}.footer-links{grid-column:1/-1;grid-row:3;justify-content:flex-start}.copyright{grid-row:4;margin-top:0}.hero-actions{flex-wrap:wrap;gap:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Solicitud de horario: preferencia por WhatsApp, no reserva automática. */
.booking{background:#ebf7fc}.booking-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center;padding-top:90px;padding-bottom:94px}.booking-copy .eyebrow{margin-bottom:18px}.booking-copy h2{max-width:490px;margin:0;font:600 clamp(42px,5vw,62px)/.99 var(--heading);letter-spacing:-.06em}.booking-copy h2 em{font-style:normal;color:#138dbf}.booking-copy>p:not(.eyebrow){max-width:425px;margin:21px 0 0;color:#5d7485;font-size:14px;line-height:1.8}.booking-copy .booking-note{display:flex;gap:9px;align-items:center;font-size:11px!important;font-weight:700;color:#425c70!important}.booking-note span{font-size:18px}.booking-form{width:100%;max-width:540px;justify-self:end}
@media(max-width:900px){.booking-inner{gap:7%}}
@media(max-width:680px){.booking-inner{grid-template-columns:1fr;gap:29px;padding-top:70px;padding-bottom:70px}.booking-copy h2{font-size:clamp(40px,11vw,54px)}.booking-copy>p:not(.eyebrow){font-size:13px}.booking-form{max-width:none;padding:20px}}

/* Catálogo final: solo mantención y formateo, con precios y consulta directa. */
.priced-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.priced-service{min-width:0;background:#f0f8fb;border:1px solid #d4e4ed}.priced-service-photo{position:relative;overflow:hidden;margin:0;aspect-ratio:4/3;background:#111f2d}.priced-service-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.priced-service-photo figcaption{position:absolute;right:0;bottom:0;left:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(9,20,32,.78));color:#fff;font-size:8px;font-weight:700;letter-spacing:1.1px}.priced-service-content{padding:20px 20px 23px}.priced-service-content>.eyebrow{margin:0 0 9px;font-size:8px}.priced-service-content h3{margin:0;font:600 clamp(21px,2.2vw,27px)/1.08 var(--heading);letter-spacing:-.04em}.priced-service-intro{margin:9px 0 15px;color:#617889;font-size:11px;line-height:1.65}.price-list{border-top:1px solid #cadbe4}.price-option{padding:13px 0 12px;border-bottom:1px solid #cadbe4}.price-option-copy h4{margin:0;font:600 13px/1.3 var(--heading)}.price-option-copy p{margin:4px 0 8px;color:#657988;font-size:10px;line-height:1.6}.price-option-value{display:flex;align-items:baseline;gap:5px;margin:5px 0 8px;color:#126c92}.price-option-value strong{font:700 22px/1 var(--heading);letter-spacing:-.5px}.price-option-value span{font-size:8px;font-weight:700;letter-spacing:.9px}.price-whatsapp{display:inline-flex;gap:7px;align-items:center;padding:8px 10px;background:#92ddff;color:#0b1420;font-size:9px;font-weight:700;line-height:1.3;text-decoration:none;transition:background .18s ease,transform .18s ease}.price-whatsapp:hover{background:#56c4f2;transform:translateY(-1px)}.price-whatsapp:focus-visible{outline:2px solid #0b1420;outline-offset:2px}
@media(max-width:900px){.priced-services{gap:12px}.priced-service-content{padding:16px 15px 19px}.price-option-value strong{font-size:20px}}
@media(max-width:680px){.priced-services{grid-template-columns:1fr;gap:14px}.priced-service{display:grid;grid-template-columns:1fr}.priced-service-photo{aspect-ratio:16/9}.priced-service-content{padding:18px 17px 20px}.priced-service-content h3{font-size:24px}.price-option-copy p{font-size:11px}.price-whatsapp{font-size:10px}}

/* Dirección y mapa del servicio. */
.location{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:8%;padding-top:92px;padding-bottom:98px;background:var(--white)}.location-copy .eyebrow{margin-bottom:18px}.location-copy h2{max-width:470px;margin:0;font:600 clamp(42px,5vw,62px)/.99 var(--heading);letter-spacing:-.06em}.location-copy h2 em{font-style:normal;color:var(--sky-deep)}.location-lede{max-width:410px;margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.location-address{display:flex;flex-direction:column;gap:4px;margin:22px 0 0;font-style:normal}.location-address span:first-child{margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:1.4px}.location-address strong{font:600 20px/1.3 var(--heading);letter-spacing:-.3px}.location-address span:last-child{color:var(--muted);font-size:12px}.map-link{margin-top:23px}.location-map{min-height:350px;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);background:#eef7fb}.location-map iframe{display:block;width:100%;height:100%;min-height:350px;border:0;filter:grayscale(1) contrast(1.06)}
@media(max-width:900px){.location{grid-template-columns:.9fr 1.1fr;gap:6%}.location-map,.location-map iframe{min-height:300px}}
@media(max-width:680px){.location{grid-template-columns:1fr;gap:28px;padding-top:70px;padding-bottom:74px}.location-copy h2{font-size:clamp(40px,11vw,54px)}.location-lede{font-size:13px}.location-map,.location-map iframe{min-height:280px}.map-link{width:100%;justify-content:space-between}}
/* Mantener las fotografías dentro de la paleta celeste, negra y blanca. */
.hero-photo,.priced-service-photo img{filter:grayscale(1) contrast(1.04)}
