:root{--blue:#4169aa;--light:#3e95e6;--ink:#172434;--paper:#f5f4f0;--muted:#606b76}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--light);outline-offset:5px}p{line-height:1.8}h1,h2,h3{font-weight:400}header{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;height:100px;padding:0 4vw;color:white;border-bottom:1px solid #ffffff38;transition:transform .3s,background .3s}header.solid{background:#111e2cef}header.hidden{transform:translateY(-100%)}.brand{display:flex;align-items:center;gap:15px}.brand img{width:55px;height:55px;object-fit:contain}.brand span{font-size:10px;letter-spacing:3px}.icon{color:inherit;background:none;border:0;display:flex;gap:12px;align-items:center;font-size:30px}.button-label{font-size:10px;letter-spacing:2px}.hamburger{font-size:22px}.hero{height:100svh;min-height:650px;position:relative;color:white}.hero-img,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,#06111de0 0%,#06111d75 55%,#06111d20),linear-gradient(0deg,#07132170,transparent 50%)}.hero-copy{position:absolute;left:8vw;top:34%;max-width:800px}.eyebrow{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;line-height:1.5;margin:0 0 30px}h1{font-size:clamp(42px,5.3vw,80px);line-height:1.05;letter-spacing:-2.5px;margin:0 0 25px}.hero-copy>p:not(.eyebrow){font-size:16px;color:#e1e5e9}.line-link{display:inline-flex;gap:50px;padding:16px 0 12px;border-bottom:1px solid #ffffffa0;font-size:10px;letter-spacing:1.7px;margin-top:20px}.line-link span{font-size:20px;line-height:12px}.dark{border-color:var(--ink)}.hero-bottom{position:absolute;bottom:35px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px}.section{padding:100px 8vw}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.intro p{font-size:15px;margin-top:0}h2{font-size:clamp(31px,3.2vw,49px);line-height:1.2;letter-spacing:-1px;margin:0 0 28px}.section-head{max-width:950px}.section-head>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:15px}.sectors{background:#e9e9e5}.sector-layout{display:grid;grid-template-columns:1fr 1fr}.sector-image{position:relative;min-height:800px}.sector-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:72%;filter:brightness(.8)}.sector-image>span{position:absolute;bottom:35px;left:35px;color:white;font-size:9px;letter-spacing:2px}.sector-list{padding:20px 7vw 30px 5vw}.sector-list article{padding:34px 0;border-bottom:1px solid #bdc1c3}.sector-list article:last-child{border:0}.sector-list span,.steps span{font-size:10px;color:var(--blue);letter-spacing:2px}.sector-list h3{font-size:25px;line-height:1.2;margin:18px 0 12px}.sector-list p{font-size:14px;color:var(--muted);margin:0}.solution-grid{margin-top:50px;max-width:1000px}details{border-top:1px solid #c4c8cc;padding:25px 0}details:last-child{border-bottom:1px solid #c4c8cc}summary{cursor:pointer;list-style:none;font-size:24px;display:flex;align-items:center;gap:25px}summary::-webkit-details-marker{display:none}summary span{font-size:10px;color:var(--blue)}summary b{margin-left:auto;font-size:25px;font-weight:400}details[open] summary b{transform:rotate(45deg)}details p{margin:20px 45px 0;max-width:650px;color:var(--muted);font-size:15px}.services{background:#142334;color:white}.services .eyebrow{color:#9cb7da}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;margin-top:65px}.steps article{border-top:1px solid #526173;padding-top:25px}.steps span{color:#9cb7da}.steps h3{font-size:19px;margin-top:27px}.steps p{font-size:13px;color:#c3cdd8}.statement{position:relative;background:url('assets/page-12-681.jpeg') center/cover;color:white;padding:110px 8vw}.statement>div:last-child{position:relative}.statement h2{font-size:clamp(30px,3.5vw,51px)}.statement em{font-style:normal;color:#a8c9ed}.statement p:last-child{font-size:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact p{font-size:14px;color:var(--muted)}.contacts article{border-top:1px solid #c4c8cc;padding:25px 0}.contacts h3{font-size:20px;margin:0}.contacts p{margin:10px 0 20px}.contacts a{display:block;width:fit-content;margin:12px 0;font-size:15px;overflow-wrap:anywhere}footer{border-top:1px solid #c4c8cc;padding:30px 4vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px}dialog{border:0;color:var(--ink);background:var(--paper);padding:40px;max-height:100svh}dialog::backdrop{background:#081320ba}#menu{margin:0;width:min(600px,100%);height:100svh;max-width:100vw}#search{width:min(750px,92vw)}.dialog-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:2px;margin-bottom:60px}.close{background:none;border:0;font-size:30px;color:var(--ink)}nav a{display:block;padding:22px 0;font-size:26px;border-bottom:1px solid #c4c8cc}dialog p{font-size:13px;color:var(--muted);margin-top:40px}dialog label{font-size:26px;display:block}input{width:100%;border:0;border-bottom:1px solid var(--ink);padding:18px 0;background:transparent;font-size:18px;margin:20px 0}#results a{display:block;padding:15px 0;border-bottom:1px solid #ccc}#results small{display:block;line-height:1.6;margin-top:7px;color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;background:white;color:#111;z-index:100;padding:15px}.skip:focus{top:15px}body.modal-open{overflow:hidden}@media(max-width:760px){header{height:80px;padding:0 6vw}.brand span,.button-label{display:none}.brand img{width:45px;height:45px}.hero{min-height:650px}.hero-copy{left:7vw;right:7vw;top:32%}h1{letter-spacing:-1px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-img{object-position:65%}.hero-bottom{left:7vw;right:7vw;font-size:8px}.hero-bottom>span{max-width:180px;line-height:1.8}.section{padding:65px 7vw}.intro,.contact,.sector-layout{grid-template-columns:1fr;gap:25px}.sector-image{min-height:400px}.sector-list{padding:20px 7vw}.sector-list h3{font-size:24px}.steps{grid-template-columns:1fr 1fr;gap:25px}.steps article:last-child{grid-column:1/-1}summary{font-size:19px;gap:15px}details p{margin-left:28px}.statement{padding:70px 7vw}footer{gap:30px;font-size:8px}dialog{padding:30px}.dialog-top{margin-bottom:35px}nav a{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Selector de sectores: una imagen por espacio, control manual. */
.interactive-sectors{align-items:stretch;min-height:750px}.interactive-sectors .sector-image{min-height:750px;overflow:hidden;background:#172434}.interactive-sectors .sector-visual{opacity:0;filter:none;object-position:center;transition:opacity .55s ease}.interactive-sectors .sector-visual[data-sector="lujo"]{object-position:72%}.interactive-sectors .sector-visual.is-active{opacity:1}.sector-image-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 35px 32px;background:linear-gradient(transparent,#071321bb);color:white;display:flex;flex-direction:column;gap:12px;pointer-events:none}.sector-image-caption span{font-size:9px;letter-spacing:2px}.interactive-sectors .sector-list{display:flex;flex-direction:column;justify-content:center;padding:45px 6vw 45px 5vw}.sector-hint{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin:0 0 20px;line-height:1.5}.interactive-sectors .sector-item{padding:0;border-bottom:1px solid #bdc1c3;position:relative}.sector-trigger{position:relative;display:block;text-align:left;color:var(--ink);width:100%;padding:26px 26px 26px 0;background:transparent;border:0}.sector-trigger .sector-title{display:block;font:inherit;font-size:25px;line-height:1.25;margin:14px 0 0;font-weight:400}.sector-trigger .sector-label{font-size:9px;letter-spacing:2px;color:var(--muted)}.sector-trigger .sector-arrow{position:absolute;right:0;top:30px;color:var(--blue);font-size:22px;opacity:0;transition:opacity .2s}.sector-item.is-active .sector-label{color:var(--blue)}.sector-item.is-active .sector-arrow,.sector-trigger:hover .sector-arrow,.sector-trigger:focus-visible .sector-arrow{opacity:1}.sector-panel{padding:0 0 28px;animation:sector-text .3s ease}.sector-panel[hidden]{display:none}.sector-panel .sector-contact{font-size:9px;gap:22px;margin-top:12px;padding:14px 0 10px}.sector-panel .sector-contact span{font-size:18px;letter-spacing:0;color:var(--ink)}@keyframes sector-text{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.interactive-sectors{min-height:0;gap:0}.interactive-sectors .sector-image{min-height:0;height:370px}.interactive-sectors .sector-list{padding:30px 7vw}.sector-trigger .sector-title{font-size:23px}.sector-trigger{padding-top:23px;padding-bottom:23px}.sector-image-caption{padding:50px 7vw 25px}.sector-hint{font-size:8px}}@media(prefers-reduced-motion:reduce){.sector-panel{animation:none}}
/* Lexend local y refinamientos de identidad. */
@font-face{font-family:Lexend;font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/lexend-300.ttf') format('truetype')}
@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/lexend-400.ttf') format('truetype')}
@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/lexend-500.ttf') format('truetype')}
h1,h2,h3,.sector-title,.solution-title,nav a,dialog label{font-family:Lexend,Arial,sans-serif;font-weight:300}h1{letter-spacing:-1.8px}header{height:112px}.brand{position:absolute;left:50%;transform:translateX(-50%);gap:18px;max-width:calc(100% - 240px)}.brand img{width:78px;height:78px;flex-shrink:0}.brand span{display:block;font-size:12px;letter-spacing:2px;line-height:1.8;text-transform:uppercase;white-space:nowrap}.interactive-sectors .sector-image{min-height:870px}.interactive-sectors{min-height:870px}.sector-trigger .sector-title{font-family:Lexend,Arial,sans-serif;font-weight:300;font-size:23px}.interactive-sectors .sector-visual[data-sector="lujo"]{object-position:center}
.solution-layout{display:grid;grid-template-columns:1fr 1fr;min-height:850px;background:#e9e9e5}.solution-list{padding:45px 5vw 45px 8vw;display:flex;flex-direction:column;justify-content:center}.solution-image{position:relative;min-height:850px;overflow:hidden;background:#172434}.solution-visual{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .55s ease}.solution-visual.is-active{opacity:1}.solution-item{border-bottom:1px solid #bdc1c3}.solution-item:last-child{border-bottom:0}.solution-trigger{position:relative;display:block;text-align:left;color:var(--ink);width:100%;padding:26px 26px 26px 0;background:transparent;border:0}.solution-label{font-size:9px;letter-spacing:2px;color:var(--muted);line-height:1.6;display:block}.solution-title{display:block;font-size:23px;line-height:1.3;margin:14px 0 0}.solution-trigger .sector-arrow{position:absolute;right:0;top:30px;font-size:22px;color:var(--blue);opacity:0;transition:opacity .2s}.solution-item.is-active .solution-label{color:var(--blue)}.solution-item.is-active .sector-arrow,.solution-trigger:hover .sector-arrow,.solution-trigger:focus-visible .sector-arrow{opacity:1}.solution-panel{padding:0 0 28px;animation:sector-text .3s ease}.solution-panel[hidden]{display:none}.solution-panel p{font-size:14px;color:var(--muted);margin:0}.solution-panel .line-link{font-size:9px;gap:22px;margin-top:12px}.contact-message{font-size:clamp(27px,2.6vw,38px);line-height:1.4;letter-spacing:-.7px;margin-bottom:0}.contact-message>span{display:block;margin-bottom:25px}.contact-message>span:last-child{margin-bottom:0}.contacts h3{font-weight:400;font-size:18px}.services h3{font-size:17px}
@media(max-width:760px){header{height:96px}.brand{max-width:calc(100% - 105px);gap:10px}.brand img{width:60px;height:60px}.brand span{display:block;font-size:8px;letter-spacing:1px;line-height:1.8;white-space:normal;max-width:140px}.interactive-sectors{min-height:0}.interactive-sectors .sector-image{min-height:0;height:370px}.solution-layout{grid-template-columns:1fr;min-height:0}.solution-image{min-height:0;height:370px;grid-row:1}.solution-list{padding:30px 7vw}.solution-title,.sector-trigger .sector-title{font-size:21px}.contact-message{font-size:28px}.hero-copy{top:30%}.hero-copy h1{font-size:clamp(38px,7vw,52px)}}@media(prefers-reduced-motion:reduce){.solution-panel{animation:none}}
.solution-visual[data-solution="incendios"]{object-position:66% center}.solution-visual[data-solution="accesos"]{object-position:65% center}

/* Logo completo: conserva la altura y el espacio del bloque de marca. */
.brand{width:244px;height:78px;display:block}.brand img{display:block;width:100%;height:100%;object-fit:contain}.contacts address{font-style:normal;font-size:15px;line-height:1.8;margin:0 0 24px;max-width:350px}@media(max-width:760px){.brand{width:188px;height:60px}.brand img{width:100%;height:100%}}

/* Ajustes adicionales para pantallas compactas y navegación táctil. */
@media(max-width:480px){
 header{height:78px;padding-inline:4vw;gap:6px}
 .brand{width:min(48vw,180px);height:58px;flex-shrink:1}
 .icon{font-size:25px;gap:4px;padding:10px 5px;min-width:38px;min-height:44px;justify-content:center}
 .hero{min-height:580px;min-height:max(580px,100svh)}
 .hero-copy{top:29%;left:6vw;right:6vw}
 .hero-copy h1{font-size:clamp(32px,9vw,42px);letter-spacing:-.7px}
 .hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.6}
 .hero-bottom{bottom:20px;left:6vw;right:6vw;gap:12px}
 .section{padding:56px 6vw}
 .steps{grid-template-columns:1fr;gap:14px}
 .steps article:last-child{grid-column:auto}
 .interactive-sectors .sector-image,.solution-image{height:290px}
 .sector-image-caption{padding:40px 6vw 20px}
 .contact-message{font-size:clamp(24px,7vw,30px)}
 footer{flex-wrap:wrap;line-height:1.6}
 dialog{padding:22px}
 #search{width:calc(100vw - 24px);max-width:none}
 dialog label{font-size:22px}
}
@media(max-width:360px){.brand{width:44vw}.hero-copy h1{font-size:31px}.eyebrow{letter-spacing:1.5px}}


/* GEA · Tarjetas editoriales móviles · versión de desarrollo.
   El diseño de escritorio permanece sin cambios. */
@media (max-width:760px) {
  .interactive-sectors .sector-image,
  .solution-layout > .solution-image { display:none; }
  .interactive-sectors .sector-list,
  .solution-layout .solution-list { padding:22px 6vw 48px; display:block; }
  .interactive-sectors .sector-hint,
  .solution-list .sector-hint { margin:0 0 22px; }
  .interactive-sectors .sector-item,
  .solution-list .solution-item {
    position:relative; isolation:isolate; overflow:hidden;
    margin:0 0 18px; padding:0; border:0;
    border-radius:3px; background:#172434;
    color:white; box-shadow:0 8px 24px #07132116;
  }
  .interactive-sectors .sector-item::before,
  .solution-list .solution-item::before {
    content:""; position:absolute; inset:0; z-index:-2;
    background-image:var(--card-image); background-size:cover;
    background-position:var(--card-position,center); transition:transform .45s ease;
  }
  .interactive-sectors .sector-item::after,
  .solution-list .solution-item::after {
    content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(180deg,#07132115 0%,#07132138 28%,#071321c9 76%,#071321ee 100%);
    pointer-events:none;
  }
  .interactive-sectors .sector-trigger,
  .solution-list .solution-trigger {
    display:flex; flex-direction:column; justify-content:flex-end;
    min-height:clamp(360px,67svh,580px); width:100%;
    padding:34px 26px 28px; color:#fff; text-align:left;
  }
  .solution-list .solution-trigger { min-height:clamp(245px,43svh,370px); }
  .interactive-sectors .sector-trigger .sector-label,
  .solution-list .solution-label,
  .sector-item.is-active .sector-label,
  .solution-item.is-active .solution-label { color:#e0e9f6; font-size:10px; letter-spacing:2px; }
  .interactive-sectors .sector-trigger .sector-title,
  .solution-list .solution-title {
    color:white; font-size:clamp(23px,6.1vw,32px); line-height:1.25;
    letter-spacing:-.5px; max-width:95%; margin-top:16px;
  }
  .interactive-sectors .sector-trigger .sector-arrow,
  .solution-list .solution-trigger .sector-arrow {
    color:white; opacity:1; top:auto; bottom:29px; right:22px;
  }
  .interactive-sectors .sector-panel,
  .solution-list .solution-panel { padding:0 26px 30px; color:white; }
  .interactive-sectors .sector-panel p,
  .solution-list .solution-panel p { color:#e6edf5; font-size:14px; line-height:1.7; }
  .interactive-sectors .sector-panel .line-link,
  .solution-list .solution-panel .line-link { color:white; border-color:#ffffffb5; }
  .interactive-sectors .sector-panel .line-link span,
  .solution-list .solution-panel .line-link span { color:white; }
  .sector-item[data-sector="lujo"] { --card-image:url('assets/lujo.jpg'); }
  .sector-item[data-sector="gourmet"] { --card-image:url('assets/gourmet.jpg'); }
  .sector-item[data-sector="corporativos"] { --card-image:url('assets/corporativos.jpg'); }
  .sector-item[data-sector="centros-comerciales"] { --card-image:url('assets/centros-comerciales.jpg'); }
  .sector-item[data-sector="salud"] { --card-image:url('assets/salud.jpg'); }
  .solution-item[data-solution="videovigilancia"] { --card-image:url('assets/videovigilancia.jpg'); }
  .solution-item[data-solution="incendios"] { --card-image:url('assets/incendios.jpg'); --card-position:66% center; }
  .solution-item[data-solution="cocinas"] { --card-image:url('assets/cocinas.jpg'); }
  .solution-item[data-solution="accesos"] { --card-image:url('assets/accesos.jpg'); --card-position:65% center; }
  .solution-item[data-solution="intrusion"] { --card-image:url('assets/intrusion.jpg'); }
}
@media (max-width:480px) {
  .interactive-sectors .sector-list,
  .solution-layout .solution-list { padding-inline:5vw; }
  .interactive-sectors .sector-trigger,
  .solution-list .solution-trigger { padding-inline:22px; }
  .interactive-sectors .sector-panel,
  .solution-list .solution-panel { padding-inline:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .interactive-sectors .sector-item::before,
  .solution-list .solution-item::before { transition:none; }
}
