/* Gyalux · Domótica y hogar inteligente · 27/09/2026 15:10 Europe/Madrid
   Contrato exterior: Electricidad y mantenimiento validada. Contenido propio. */
html.gx-dom-root { scroll-behavior: smooth; overflow-y: scroll; max-width: 100%; overflow-x: hidden; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html.gx-dom-root *, html.gx-dom-root *::before, html.gx-dom-root *::after { box-sizing: border-box; }
body.gx-dom-page { margin: 0; max-width: 100%; overflow-x: hidden; background: #f3f5f8; position: relative; color: #001a3a; font-family: "Inter",sans-serif; font-size: 16px; line-height: 1.65; }
body.gx-dom-page .bg-master-container { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: -1; overflow: hidden; background-color: #f3f5f8; }
body.gx-dom-page .bg-architectural {
    position: absolute; top: 0; right: 0; width: 100%; height: 100%;
    background: url('../img/fondo-circuito.jpg') no-repeat center center;
    background-image: image-set(url('../img/fondo-circuito.webp') type('image/webp'), url('../img/fondo-circuito.jpg') type('image/jpeg'));
    background-size: cover; opacity: .10;
    mask-image: linear-gradient(to bottom,black 0%,transparent 95%),linear-gradient(to left,black 50%,transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom,black 0%,transparent 95%),linear-gradient(to left,black 50%,transparent 100%);
    mask-composite: intersect; -webkit-mask-composite: source-in; pointer-events: none;
}
body.gx-dom-page .main-wrapper { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0; }
body.gx-dom-page img, body.gx-dom-page svg, body.gx-dom-page iframe { max-width: 100%; }
body.gx-dom-page .footer-texts { margin-top: auto; padding-top: 0; text-align: center; }

/* Barra de contexto y tipografía: contrato canónico sin cambios. */
body.gx-dom-page .gx-context-bar { width: 100%; margin: 30px 0; border-top: 1px solid rgba(0,26,58,.06); border-bottom: 1px solid rgba(0,26,58,.08); background: rgba(255,255,255,.74); }
body.gx-dom-page .gx-context-bar-inner { width: 100%; max-width: 1200px; min-height: 46px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: center; }
body.gx-dom-page .gx-context-item { min-width: 0; display: flex; justify-content: center; align-items: center; gap: 8px; padding: 9px 18px; color: #536174; font-size: .77rem; line-height: 1.3; text-align: center; }
body.gx-dom-page .gx-context-item + .gx-context-item { border-left: 1px solid rgba(0,26,58,.08); }
body.gx-dom-page .gx-context-item i { width: 13px; min-width: 13px; flex: 0 0 13px; color: #cba358; font-size: .9rem; text-align: center; }
body.gx-dom-page .gx-dom-main { width: 100%; background: #fff; border: 1px solid rgba(0,26,58,.07); border-radius: 7px; overflow: hidden; box-shadow: 0 14px 45px rgba(0,26,58,.035); }
body.gx-dom-page .gx-dom-main h1, body.gx-dom-page .gx-dom-main h2 { color: #001a3a; font-family: "Plus Jakarta Sans",sans-serif; font-weight: 700; letter-spacing: -.45px; }
body.gx-dom-page .gx-dom-main h1 { margin: 0 0 18px; font-size: 35px; line-height: 41.3px; }
body.gx-dom-page .gx-dom-main h2 { margin: 0 0 14px; font-size: 24px; line-height: 28.32px; }
body.gx-dom-page .gx-dom-main p { margin: 0 0 16px; color: #4a5568; line-height: 1.65; }
body.gx-dom-page .gx-dom-main p:last-child { margin-bottom: 0; }
body.gx-dom-page .gx-dom-intro { max-width: 980px; padding: 38px 42px 44px; }
body.gx-dom-page .gx-dom-intro .eyebrow { display: block; margin: 0 0 20px; color: #cba358; font-family: "Inter",sans-serif; font-size: 12px; font-weight: 100; line-height: normal; letter-spacing: 2px; text-transform: uppercase; }
body.gx-dom-page .gx-dom-intro .gx-dom-lead { color: #24374e; font-size: 18px; font-weight: 500; line-height: 1.55; }

/* Composición editorial propia: llegadas, cuidado a distancia y rutinas. */
body.gx-dom-page .gx-dom-arrivals,
body.gx-dom-page .gx-dom-care { padding: 40px 42px; display: grid; align-items: start; gap: clamp(30px,4vw,58px); border-top: 1px solid #e4e8ec; }
body.gx-dom-page .gx-dom-arrivals { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }
body.gx-dom-page .gx-dom-care { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
body.gx-dom-page .gx-dom-copy { min-width: 0; }
body.gx-dom-page .gx-dom-image { margin: 0; width: 100%; max-width: 370px; justify-self: center; aspect-ratio: 4/3; border-radius: 4px; overflow: hidden; background: #eee9df; }
body.gx-dom-page .gx-dom-care .gx-dom-image { max-width: 320px; }
body.gx-dom-page .gx-dom-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.gx-dom-page .gx-dom-routines { padding: 36px 42px; border-top: 1px solid #e4e8ec; }
body.gx-dom-page .gx-dom-routines p { max-width: 960px; }
body.gx-dom-page .gx-dom-link { display: inline-flex; align-items: center; gap: 9px; color: #001a3a; font-size: .82rem; font-weight: 700; text-decoration: none; }
body.gx-dom-page .gx-dom-link i { color: #cba358; transition: transform 180ms ease; }
body.gx-dom-page .gx-dom-link:hover, body.gx-dom-page .gx-dom-link:focus-visible { color: #9a742f; }
body.gx-dom-page .gx-dom-link:hover i, body.gx-dom-page .gx-dom-link:focus-visible i { transform: translateX(4px); }
body.gx-dom-page .gx-dom-power { margin: 0 42px 40px; padding: 24px 26px; display: flex; align-items: flex-start; gap: 20px; border-left: 3px solid #cba358; background: #f5f7f8; }
body.gx-dom-page .gx-dom-power > i { color: #001a3a; font-size: 27px; margin-top: 2px; }
body.gx-dom-page .gx-dom-power p { font-size: .94rem; }

/* Cierre de servicio: formato validado, contenido contextual. */
body.gx-dom-page .gx-dom-final { margin: 30px 0 80px; padding: 34px 36px; display: flex; align-items: center; justify-content: space-between; gap: 45px; border-top: 2px solid #cba358; border-bottom: 1px solid rgba(0,26,58,.12); background: rgba(255,255,255,.66); }
body.gx-dom-page .gx-dom-final > div:first-child { max-width: 760px; }
body.gx-dom-page .gx-dom-final h2 { margin: 0 0 14px; font-family: "Plus Jakarta Sans",sans-serif; font-size: 24px; font-weight: 700; line-height: 28.32px; letter-spacing: -.45px; }
body.gx-dom-page .gx-dom-final p { max-width: 670px; margin: 0; color: #4a5568; font-size: .94rem; line-height: 1.65; }
body.gx-dom-page .gx-dom-final-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
body.gx-dom-page .gx-dom-button { min-height: 44px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cba358; border-radius: 8px; background: linear-gradient(135deg,#dfb96e 0%,#b88e45 100%); color: #fff; box-shadow: inset 0 0 0 1px #cba358,0 8px 20px rgba(203,163,88,.30); text-shadow: 1px 1px 3px rgba(0,26,58,.60); font-size: .76rem; font-weight: 700; line-height: 1; letter-spacing: .035em; text-transform: uppercase; text-decoration: none; transition: transform .3s ease; }
body.gx-dom-page .gx-dom-button:hover { transform: translateY(-2px); }
body.gx-dom-page .gx-dom-contact-icon { width: 44px; min-width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(0,26,58,.13); border-radius: 8px; background: #fff; color: #001a3a; text-decoration: none; transition: color .18s ease,border-color .18s ease; }
body.gx-dom-page .gx-dom-contact-icon:hover { border-color: #cba358; color: #9a742f; }
body.gx-dom-page .gx-dom-contact-icon i { margin: 0; padding: 0; font-size: 1rem; line-height: 1; }
body.gx-dom-page .gx-dom-link:focus-visible, body.gx-dom-page .gx-dom-final a:focus-visible { outline: 3px solid rgba(203,163,88,.48); outline-offset: 3px; }

@media (max-width:1180px) {
    body.gx-dom-page .main-wrapper { width: calc(100% - 44px); max-width: none; }
    body.gx-dom-page .gx-context-bar-inner { width: calc(100% - 44px); }
}
@media (max-width:992px) { body.gx-dom-page .bg-architectural { width: 100vw; opacity: .05; } }
@media (max-width:991px) {
    body.gx-dom-page .bg-architectural { opacity: .075 !important; background-position: center top !important; }
    body.gx-dom-page .main-wrapper { width: calc(100% - 36px); max-width: none; }
    body.gx-dom-page .gx-context-bar-inner { width: 100%; grid-template-columns: 1fr; }
    body.gx-dom-page .gx-context-item { min-height: 39px; justify-content: flex-start; padding-left: 22px; padding-right: 22px; text-align: left; }
    body.gx-dom-page .gx-context-item + .gx-context-item { border-left: 0; border-top: 1px solid rgba(0,26,58,.07); }
    body.gx-dom-page .gx-dom-intro, body.gx-dom-page .gx-dom-arrivals, body.gx-dom-page .gx-dom-care, body.gx-dom-page .gx-dom-routines { padding-inline: 28px; }
    body.gx-dom-page .gx-dom-intro .eyebrow { font-size: 11.52px; line-height: 14.976px; letter-spacing: 1.5px; }
    body.gx-dom-page .gx-dom-arrivals, body.gx-dom-page .gx-dom-care { gap: 30px; }
    body.gx-dom-page .gx-dom-power { margin-inline: 28px; }
    body.gx-dom-page .gx-dom-final { padding: 30px 28px; align-items: flex-start; flex-direction: column; gap: 28px; }
}
@media (max-width:700px) {
    body.gx-dom-page .gx-dom-arrivals, body.gx-dom-page .gx-dom-care { grid-template-columns: 1fr; gap: 24px; }
    body.gx-dom-page .gx-dom-care .gx-dom-image { order: 2; max-width: 370px; }
    body.gx-dom-page .gx-dom-care .gx-dom-copy { order: 1; }
}
@media (max-width:650px) {
    body.gx-dom-page .gx-dom-final { margin-bottom: 50px; padding: 28px 20px; }
    body.gx-dom-page .gx-dom-final-actions { width: 100%; flex-wrap: wrap; }
    body.gx-dom-page .gx-dom-button { flex: 1 1 180px; }
}
@media (max-width:640px) {
    body.gx-dom-page .main-wrapper { width: calc(100% - 32px); }
    body.gx-dom-page .gx-context-bar { margin-top: 24px; margin-bottom: 24px; }
    body.gx-dom-page .gx-context-item { font-size: .72rem; }
    body.gx-dom-page .gx-dom-main h1, body.gx-dom-page .gx-dom-main h2, body.gx-dom-page .gx-dom-final h2 { font-size: 23.2px; line-height: 27.376px; }
    body.gx-dom-page .gx-dom-main h1 { margin-bottom: 16px; }
    body.gx-dom-page .gx-dom-intro .eyebrow { margin-bottom: 11px; }
    body.gx-dom-page .gx-dom-intro { padding: 27px 20px 32px; }
    body.gx-dom-page .gx-dom-intro .gx-dom-lead { font-size: 16px; }
    body.gx-dom-page .gx-dom-arrivals, body.gx-dom-page .gx-dom-care, body.gx-dom-page .gx-dom-routines { padding: 32px 20px; }
    body.gx-dom-page .gx-dom-power { margin: 0 20px 30px; padding: 20px 18px; gap: 14px; }
}
@media (max-width:360px) {
    body.gx-dom-page .gx-dom-intro, body.gx-dom-page .gx-dom-arrivals, body.gx-dom-page .gx-dom-care, body.gx-dom-page .gx-dom-routines { padding-inline: 14px; }
    body.gx-dom-page .gx-dom-main h1 { font-size: 22.72px; line-height: 26.3552px; }
    body.gx-dom-page .gx-dom-main h2, body.gx-dom-page .gx-dom-final h2 { font-size: 20.48px; line-height: 24.576px; }
    body.gx-dom-page .gx-dom-power { margin-inline: 14px; }
}
@media (prefers-reduced-motion:reduce) {
    body.gx-dom-page .gx-dom-link i, body.gx-dom-page .gx-dom-button { transition: none; transform: none; }
}
