.brand { background-image:url("assets/logo-original.png") !important; background-size:54px 54px !important; }
.brand::before { display:none !important; content:none !important; }
#menu-lateral > a.brand::before,#menu-lateral > a.brand::after { display:none !important; content:none !important; width:0 !important; height:0 !important; min-width:0 !important; min-height:0 !important; max-width:0 !important; max-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
#menu-lateral > a.brand { padding-left:0 !important; background:none !important; }
.brand-logo { display:block !important; width:46px !important; height:46px !important; min-width:46px !important; max-width:46px !important; object-fit:contain !important; margin-right:10px !important; }
@media (max-width:1250px) and (min-width:1051px) {
  .sidebar-contacto > span:not(.contacto-flecha) { display:none !important; }
  .sidebar-contacto { gap:0 !important; padding-inline:7px !important; }
  .sidebar-contacto svg { width:19px !important; height:19px !important; flex-basis:19px !important; }
  .sidebar-bottom { gap:8px !important; }
}
@media (max-width:1250px) and (min-width:761px) {
  .sidebar-contacto > span:not(.contacto-flecha) { display:none !important; }
  #proyectos .caso-marca-fondo { font-family:"Arial Narrow",Arial,sans-serif !important; font-size:20vw !important; letter-spacing:-0.06em !important; transform:translateX(110px) scaleX(.72) !important; transform-origin:left center !important; margin-left:24px !important; }
  .sidebar-contacto { gap:0 !important; padding-inline:3px !important; min-width:0 !important; }
  .sidebar-contacto svg { width:18px !important; height:18px !important; flex-basis:18px !important; }
  .sidebar-bottom { gap:3px !important; }
  .nav-principal { gap:12px !important; }
  .nav-principal a { font-size:12px !important; }
}
@media (max-width:1050px) {
  .sidebar { position:relative !important; top:auto !important; left:auto !important; right:auto !important; bottom:auto !important; width:100% !important; height:78px !important; min-height:78px !important; display:block !important; padding:10px 72px 10px 16px !important; transform:none !important; overflow:hidden !important; background:#ffffff !important; border-bottom:1px solid rgba(7,22,51,.10) !important; z-index:60 !important; transition:height .35s ease,padding-bottom .35s ease !important; }
  .brand { display:flex !important; position:relative !important; width:230px !important; height:58px !important; margin:0 !important; padding-left:66px !important; align-items:center !important; background-image:url("assets/logo-original.png") !important; background-repeat:no-repeat !important; background-position:left center !important; background-size:54px 54px !important; }
  .brand-logo { display:block !important; width:42px !important; height:42px !important; object-fit:contain !important; flex:0 0 42px !important; margin-right:10px !important; }
  .brand-fallback { display:flex !important; }
  .menu-toggle { background:#ffffff !important; border:1px solid rgba(7,22,51,.15) !important; box-shadow:0 4px 14px rgba(7,22,51,.10) !important; position:absolute !important; z-index:80 !important; cursor:pointer !important; }
  .nav-principal { display:none !important; }
  .sidebar-bottom { display:none !important; }
  .sidebar.abierto { min-height:100vh !important; padding-bottom:28px !important; overflow:visible !important; }
  .sidebar.abierto .nav-principal { display:flex !important; margin-top:22px !important; flex-direction:column !important; align-items:flex-start !important; gap:4px !important; }
  .sidebar.abierto .nav-principal a { display:flex !important; height:auto !important; padding:13px 2px !important; font-size:15px !important; border-bottom:1px solid rgba(7,22,51,.08) !important; }
  .sidebar.abierto .nav-principal a::after { display:none !important; }
  .sidebar.abierto .sidebar-bottom { display:flex !important; margin-top:20px !important; padding-top:18px !important; flex-direction:column !important; align-items:flex-start !important; gap:13px !important; border-top:1px solid rgba(7,22,51,.10) !important; }
  .sidebar.abierto .sidebar-estado { display:flex !important; align-items:center !important; gap:12px !important; padding:0 !important; }
  .sidebar.abierto .estado-hora,.sidebar.abierto .estado-agenda,.sidebar.abierto .sidebar-contacto { display:flex !important; }
  .sidebar.abierto .sidebar-contacto { gap:8px !important; font-size:13px !important; }
  .sidebar.abierto .sidebar-contacto > span { display:inline !important; }
  .sidebar.abierto .sidebar-contacto svg { width:19px !important; height:19px !important; }
  #inicio.hero.hero-ref { padding-top:0 !important; width:100% !important; overflow:hidden !important; }
  #inicio.hero.hero-ref h1 { max-width:100% !important; font-size:clamp(46px,8vw,70px) !important; line-height:.98 !important; overflow-wrap:normal !important; }
  #inicio.hero.hero-ref p { max-width:100% !important; overflow-wrap:break-word !important; }
  .sonido-toggle { top:92px !important; right:14px !important; left:auto !important; }
  #proyectos .caso-marca-fondo { position:relative !important; left:0 !important; right:auto !important; width:auto !important; max-width:100% !important; margin-left:18px !important; transform:none !important; transform-origin:left center !important; white-space:nowrap !important; overflow:visible !important; }
  .v11-ecommerce-imagen-aprobada { display:block !important; width:100% !important; max-width:1672px !important; height:auto !important; margin:0 auto !important; object-fit:contain !important; transform:none !important; filter:none !important; image-rendering:auto !important; }
  .v11-sobre-imagen-aprobada { display:block !important; width:100% !important; max-width:1672px !important; height:auto !important; margin:0 auto !important; object-fit:contain !important; transform:none !important; filter:none !important; image-rendering:auto !important; }
  .v12-presencia { width:100% !important; height:auto !important; aspect-ratio:auto !important; opacity:1 !important; transform:none !important; }
  .v12-presencia-imagen { display:block !important; width:100% !important; max-width:1672px !important; height:auto !important; margin:0 auto !important; object-fit:contain !important; transform:none !important; filter:none !important; animation:none !important; image-rendering:auto !important; will-change:auto !important; }
  .v12-presencia-luz { display:none !important; }
}
@media (max-width:600px) {
  .brand-logo { width:50px !important; height:50px !important; flex-basis:50px !important; }
  .sidebar { height:78px !important; padding-left:14px !important; }
  .brand { width:215px !important; padding-left:62px !important; background-size:50px 50px !important; }
  #inicio.hero.hero-ref h1 { font-size:clamp(45px,13vw,58px) !important; line-height:.96 !important; letter-spacing:-.045em !important; }
  #inicio.hero.hero-ref p { width:auto !important; max-width:100% !important; margin-right:0 !important; font-size:16px !important; line-height:1.55 !important; overflow-wrap:anywhere !important; word-break:normal !important; }
  #inicio.hero.hero-ref .hero-contenido,#inicio.hero.hero-ref .hero-copy,#inicio.hero.hero-ref .contenedor { max-width:100% !important; overflow:hidden !important; }
  #inicio.hero.hero-ref .btn,#inicio.hero.hero-ref .boton { max-width:100% !important; }
  #proyectos .caso-marca-fondo { margin-left:20px !important; padding-left:0 !important; font-size:22vw !important; line-height:.9 !important; transform:none !important; white-space:nowrap !important; overflow:visible !important; }
  .v11-ecommerce-imagen-aprobada,.v11-sobre-imagen-aprobada,.v12-presencia-imagen { width:100% !important; max-width:none !important; height:auto !important; transform:none !important; filter:none !important; }
}
:root { --navy-950:#030b14; --navy-900:#06111d; --navy-850:#091827; --navy-800:#0d2033; --blue:#1687ff; --blue-soft:#62b3ff; --cream:#f3eee5; --cream-2:#e8dcc9; --wood:#9b6237; --amber:#d79a58; --text:#f7f8fa; --muted:#aab5c2; --line:rgba(123,180,235,.17); --sidebar:276px; --ease:cubic-bezier(.22,1,.36,1); }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; background:var(--navy-950); }
body { min-width:320px; overflow-x:hidden; color:var(--text); background:var(--navy-950); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
.svg-defs { position:absolute; width:0; height:0; overflow:hidden; }
::selection { color:#fff; background:#146ed1; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:40; width:var(--sidebar); padding:34px 30px 30px; display:flex; flex-direction:column; color:#0b2138; background:rgba(241,234,222,.97); border-right:1px solid rgba(7,22,37,.15); }
.brand { display:flex; justify-content:center; width:100%; }
.brand img { width:184px; height:184px; display:block; object-fit:cover; border-radius:50%; background:#02070e; box-shadow:0 16px 34px rgba(10,35,58,.18); }
.sidebar-servicios { margin:16px 0 0; color:#0877df; font-size:11.5px; font-weight:800; line-height:1.25; letter-spacing:.015em; white-space:nowrap; text-align:center; }
.sidebar-copy { margin:13px 0 15px; color:#405164; font-size:12.5px; line-height:1.7; }
.nav-principal { display:grid; gap:4px; }
.nav-principal a { position:relative; min-height:43px; padding:0 14px; display:flex; align-items:center; gap:15px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:650; letter-spacing:.01em; transition:border-color .3s ease,color .3s ease,transform .3s ease; }
.nav-principal a span { width:18px; color:#0877df; font-size:10px; font-weight:800; }
.nav-principal a:hover { color:#006bd0; transform:translateX(4px); }
.nav-principal a.activo { color:#071e35; border-color:#173652; }
.nav-principal a.activo::after { right:14px; width:5px; height:5px; border-radius:50%; background:var(--blue); box-shadow:0 0 12px var(--blue); }
.sidebar-bottom { margin-top:auto; display:grid; gap:8px; font-size:11px; }
.sidebar-bottom > a { width:max-content; color:#2f465c; transition:color .2s ease; }
.sidebar-bottom > a:hover { color:#0078e8; }
.sidebar-estado { width:min(205px,100%); margin-bottom:7px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:13px; color:#18334c; border-bottom:1px solid rgba(8,26,42,.22); font-size:9.5px; font-weight:700; }
.estado-hora { flex:0 0 auto; white-space:nowrap; letter-spacing:.02em; }
.estado-agenda { width:auto !important; flex:0 0 auto; padding:5px 8px; display:inline-flex; align-items:center; gap:7px; color:#087a43 !important; border:1px solid rgba(16,160,85,.28); border-radius:999px; background:rgba(20,181,99,.10); font-size:9.5px; font-weight:800; white-space:nowrap; }
.estado-agenda i { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#16b866; box-shadow:0 0 0 0 rgba(22,184,102,.45); animation:pulso-agenda 1.8s ease-out infinite; }
@keyframes pulso-agenda {
  0% { box-shadow:0 0 0 0 rgba(22,184,102,.48); }
  70%,100% { box-shadow:0 0 0 8px rgba(22,184,102,0); }
}
.menu-toggle { display:none; }
.pagina { margin-left:var(--sidebar); }
.hero { width:100%; height:auto; min-height:850px; isolation:isolate; display:grid; align-items:center; background:#030b14; }
.hero-imagen { position:absolute; inset:0; z-index:-2; width:100%; height:100%; display:block; object-fit:cover; object-position:52% 45%; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(2,9,16,.14) 62%,rgba(3,11,20,.82) 100%); }
.hero-veladura { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(2,9,16,.93) 0%,rgba(3,12,21,.79) 29%,rgba(3,12,21,.18) 60%,rgba(3,12,21,.05) 100%),radial-gradient(circle at 43% 47%,rgba(15,119,226,.12),transparent 34%); }
.hero-contenido { width:min(1180px,calc(100% - 10vw)); padding:122px 0 130px clamp(50px,7vw,128px); }
.eyebrow { color:var(--blue-soft); font-size:15px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.hero h1 { max-width:780px; margin-top:20px; font-size:clamp(48px,5.2vw,76px); line-height:.94; letter-spacing:-.062em; text-wrap:balance; }
.hero h1 em { color:#1687ff; font-style:normal; }
.hero-texto { max-width:550px; margin-top:30px; color:#d7dde3; font-size:clamp(16px,1.2vw,19px); line-height:1.7; }
.hero-acciones { margin-top:34px; display:flex; flex-wrap:wrap; gap:12px; }
.boton { min-width:196px; min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; border:1px solid rgba(255,255,255,.22); border-radius:8px; font-size:13px; font-weight:750; transition:transform .3s var(--ease),background-color .3s ease,border-color .3s ease; }
.boton span { font-size:19px; font-weight:400; }
.boton:hover { transform:translateY(-3px); }
.boton-primario { border-color:var(--blue); background:var(--blue); box-shadow:0 14px 38px rgba(0,108,229,.3); }
.boton-primario:hover { background:#0077ed; }
.boton-fantasma { background:rgba(3,13,23,.52); backdrop-filter:blur(12px); }
.boton-fantasma:hover { border-color:rgba(99,181,255,.7); }
.hero-ventajas { margin-top:35px; display:flex; flex-wrap:wrap; gap:27px; color:#e2e6e9; font-size:11px; list-style:none; }
.hero-ventajas li { display:flex; align-items:center; gap:9px; }
.hero-ventajas li::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--blue); box-shadow:0 0 10px rgba(22,135,255,.8); }
.scroll-indicator { position:absolute; right:40px; bottom:32px; z-index:3; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.63); font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.scroll-indicator span { position:relative; width:42px; height:1px; overflow:hidden; background:rgba(255,255,255,.25); }
.scroll-indicator span::after { content:""; position:absolute; inset:0; background:#fff; animation:desliza 2.1s ease-in-out infinite; }
@keyframes desliza {
  0% { transform:translateX(-105%); }
  55%,100% { transform:translateX(105%); }
}
.sonido-toggle { position:fixed; top:22px; right:22px; z-index:75; min-height:42px; padding:0 14px; display:flex; align-items:center; gap:9px; color:#eef7ff; border:1px solid rgba(109,190,255,.42); border-radius:999px; background:rgba(3,15,27,.76); box-shadow:0 10px 30px rgba(0,0,0,.28); backdrop-filter:blur(12px); cursor:pointer; font-size:11px; font-weight:750; }
.sonido-toggle strong { color:#76c5ff; font-size:9px; text-transform:uppercase; }
.sonido-ondas { height:16px; display:flex; align-items:center; gap:2px; }
.sonido-ondas i { width:2px; height:5px; border-radius:2px; background:#63bdff; animation:onda-sonido .9s ease-in-out infinite alternate; }
.sonido-ondas i:nth-child(2) { height:12px; animation-delay:.16s; }
.sonido-ondas i:nth-child(3) { height:8px; animation-delay:.32s; }
@keyframes onda-sonido {
  to { height:15px; filter:drop-shadow(0 0 4px #1687ff); }
}
.rumbo-experiencia { position:relative; min-height:clamp(600px,68vw,790px); overflow:hidden; display:grid; place-items:center; background:#020a12; }
.rumbo-video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.rumbo-video-velo { position:absolute; inset:0; background:linear-gradient(180deg,rgba(1,7,13,.02) 38%,rgba(2,10,18,.60) 100%); }
.rumbo-resplandor { position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 50%,rgba(27,128,224,.10),transparent 40%); }
.rumbo-contenido { position:relative; width:min(1240px,calc(100% - 9vw)); margin:0 auto; padding:0; display:flex; align-items:center; justify-content:center; }
.rumbo-copy { width:min(800px,100%); max-width:800px; margin:0 auto; padding:0; color:#fff; text-align:left; }
.rumbo-copy h2 { max-width:760px; margin-top:12px; font-size:clamp(34px,4vw,60px); line-height:1.03; letter-spacing:-.045em; text-shadow:0 2px 16px rgba(0,0,0,.50); }
.rumbo-copy h2 em { color:#70beff; font-style:normal; }
.rumbo-copy > p:not(.eyebrow) { max-width:760px; margin-top:18px; color:#c8d3dd; line-height:1.75; text-shadow:0 2px 12px rgba(0,0,0,.75); }
.rumbo-indicacion { margin-top:18px; display:flex; align-items:center; gap:11px; color:#8fcfff; font-size:11px; font-weight:700; }
.rumbo-indicacion i { position:relative; width:42px; height:1px; flex:0 0 42px; overflow:hidden; background:rgba(112,190,255,.26); }
.rumbo-indicacion i::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,#70beff 38%,#fff 50%,#1687ff 62%,transparent); filter:drop-shadow(0 0 5px #1687ff); animation:rumbo-linea-dinamica 2.1s ease-in-out infinite; }
@keyframes rumbo-linea-dinamica {
  0% { transform:translateX(-115%); }
  55%,100% { transform:translateX(115%); }
}
.seccion { position:relative; overflow:hidden; }
.contenedor { position:relative; z-index:2; width:min(1240px,calc(100% - 9vw)); margin-inline:auto; }
.seccion-cabecera h2,.proyecto-intro h2,.sobre-copy h2,.contacto h2 { margin-top:12px; font-size:clamp(37px,4.2vw,65px); line-height:1.02; letter-spacing:-.05em; }
.servicios { padding:118px 0 126px; background:linear-gradient(120deg,rgba(17,48,79,.28),transparent 38%),var(--navy-900); border-top:1px solid rgba(79,155,226,.16); }
.centrada { max-width:700px; margin-inline:auto; text-align:center; }
.centrada > p:last-child { max-width:590px; margin:20px auto 0; color:var(--muted); font-size:15px; line-height:1.7; }
.servicios-grid { margin-top:48px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.servicio-card { position:relative; min-height:245px; padding:27px 26px; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid rgba(83,158,230,.21); border-radius:14px; box-shadow:inset 0 1px rgba(255,255,255,.08); transition:transform .4s var(--ease),border-color .4s ease,box-shadow .4s ease; }
.servicio-card::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.18; background:linear-gradient(150deg,rgba(255,255,255,.20),transparent 42%); transition:opacity .4s ease; }
.servicio-card::after { position:absolute; right:22px; bottom:5px; z-index:-1; color:currentColor; font-size:126px; line-height:1; opacity:.07; transform:rotate(-8deg); pointer-events:none; }
.servicio-card:nth-child(1)::after { content:"✦"; }
.servicio-card:nth-child(2)::after { content:"▱"; }
.servicio-card:nth-child(3)::after { content:"⌕"; }
.servicio-card:nth-child(4)::after { content:"◌"; }
.servicio-card:nth-child(1) { color:#dff2ff; border-color:rgba(31,146,255,.58); background:radial-gradient(circle at 12% 6%,rgba(38,166,255,.37),transparent 45%),linear-gradient(145deg,#07518c 0%,#063a68 56%,#052c50 100%); box-shadow:inset 0 1px rgba(255,255,255,.10),0 18px 45px rgba(0,82,152,.20); }
.servicio-card:nth-child(2) { color:#dcffff; border-color:rgba(51,205,217,.58); background:radial-gradient(circle at 12% 6%,rgba(57,219,226,.34),transparent 45%),linear-gradient(145deg,#087e88 0%,#08636d 56%,#064851 100%); box-shadow:inset 0 1px rgba(255,255,255,.10),0 18px 45px rgba(0,104,113,.20); }
.servicio-card:nth-child(3) { color:#f0e9ff; border-color:rgba(151,112,255,.58); background:radial-gradient(circle at 12% 6%,rgba(155,118,255,.34),transparent 45%),linear-gradient(145deg,#553c8e 0%,#3e306f 56%,#2c285d 100%); box-shadow:inset 0 1px rgba(255,255,255,.10),0 18px 45px rgba(47,34,105,.22); }
.servicio-card:nth-child(4) { color:#e2fff1; border-color:rgba(64,207,145,.58); background:radial-gradient(circle at 12% 6%,rgba(77,223,158,.34),transparent 45%),linear-gradient(145deg,#14775b 0%,#105b49 56%,#0b4038 100%); box-shadow:inset 0 1px rgba(255,255,255,.10),0 18px 45px rgba(6,91,67,.22); }
.servicio-card:hover { transform:translateY(-8px); }
.servicio-card:hover::before { opacity:.32; }
.servicio-card:nth-child(1):hover { border-color:#4db8ff; }
.servicio-card:nth-child(2):hover { border-color:#58dce1; }
.servicio-card:nth-child(3):hover { border-color:#b098ff; }
.servicio-card:nth-child(4):hover { border-color:#5bdd9f; }
.icono-servicio { font-size:38px; }
.servicio-card .numero { top:30px; right:28px; color:rgba(235,247,255,.72); font-size:10px; letter-spacing:.13em; }
.servicio-card h3 { position:relative; margin-bottom:12px; color:#fff; font-size:15px; text-transform:uppercase; }
.servicio-card > p:last-child { position:relative; color:rgba(241,247,252,.84); font-size:12.5px; line-height:1.7; }
.servicios-widget { margin-top:18px; padding:24px 20px; display:grid; grid-template-columns:repeat(4,1fr); color:#10253a; border:1px solid rgba(255,255,255,.5); border-radius:14px; background:rgba(247,243,236,.97); box-shadow:0 24px 58px rgba(0,0,0,.22); }
.widget-item { min-height:105px; padding:4px 22px; display:grid; grid-template-columns:42px 1fr; gap:13px; align-items:center; border-left:1px solid rgba(22,56,87,.16); }
.widget-item:first-child { border-left:0; }
.widget-item h3 { margin-bottom:6px; color:#0a1c2e; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.widget-item p { color:#58697a; font-size:10px; line-height:1.55; }
.widget-icon { width:36px; height:36px; display:grid; place-items:center; color:#fff; border-radius:12px 12px 16px 16px; background:linear-gradient(145deg,#0b4ca3,#177ce4); box-shadow:0 8px 18px rgba(11,91,180,.2); font-size:18px; font-weight:800; }
.widget-icon.velocidad { border-radius:50%; font-size:22px; transform:rotate(-12deg); }
.widget-icon.estrategia { color:#0b5daf; border:2px solid #176cc5; border-radius:50%; background:#e8f2fc; box-shadow:none; }
.google-g { width:36px; height:36px; display:block; }
.widget-icon.estrategia svg { width:27px; height:27px; display:block; }
.proyectos { padding:112px 0 72px; background:#030c16; }
.ondas { position:absolute; inset:0; opacity:.35; background:repeating-radial-gradient(ellipse at 64% 49%,transparent 0 18px,rgba(53,126,195,.17) 19px 20px,transparent 21px 30px); transform:scale(1.35); }
.proyecto-layout { display:grid; grid-template-columns:.72fr 1.55fr; gap:clamp(48px,7vw,105px); align-items:start; }
.proyecto-intro { align-self:start; padding-top:20px; }
.proyecto-intro > p:last-child { max-width:390px; margin-top:25px; color:var(--muted); font-size:14px; line-height:1.8; }
.proyecto-destacado { padding:22px; display:grid; grid-template-columns:1.55fr .72fr; align-items:center; gap:28px; border:1px solid rgba(68,139,207,.18); border-radius:18px; background:rgba(4,15,26,.78); box-shadow:0 35px 90px rgba(0,0,0,.34); backdrop-filter:blur(10px); }
.mockup-navegador { border:1px solid rgba(255,255,255,.25); border-radius:8px; transform:perspective(1200px) rotateY(2deg); box-shadow:0 25px 70px rgba(0,0,0,.5); }
.mockup-barra { position:relative; height:29px; padding:0 12px; display:flex; align-items:center; gap:5px; color:#856e60; background:#f8f2e9; }
.mockup-barra i { width:5px; height:5px; border-radius:50%; background:#c8a990; }
.mockup-barra span { position:absolute; left:50%; font-size:6px; transform:translateX(-50%); }
.mockup-pagina { position:relative; aspect-ratio:16 / 10; background:#f7efe7; }
.mares-captura { width:100%; height:100%; display:block; object-fit:cover; object-position:top center; }
.proyecto-info h3 { margin:10px 0 18px; font-size:clamp(26px,2.6vw,40px); letter-spacing:-.04em; }
.proyecto-info > p:not(.eyebrow) { color:var(--muted); font-size:13px; line-height:1.7; }
.proyecto-info ul { margin:24px 0; display:grid; gap:10px; color:#d4dce4; font-size:12px; list-style:none; }
.proyecto-info li::before { content:"✓"; margin-right:10px; color:var(--blue); }
.proyecto-info > a { color:#42a0f9; font-size:12px; font-weight:800; }
.sobre-mi { padding:142px 0; color:#142a3e; background:var(--cream); }
.listones { position:absolute; top:0; right:0; width:43%; height:100%; opacity:.67; background:repeating-linear-gradient(90deg,#bc8254 0 10px,#a96d42 10px 13px,#e2c39f 13px 18px); clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); }
.listones::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--cream),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.28),rgba(56,29,13,.13)); }
.sobre-grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; }
.sobre-copy .eyebrow { color:#0d70cf; }
.sobre-copy h2 { max-width:650px; }
.sobre-detalle { position:relative; z-index:2; padding:45px; border:1px solid rgba(255,255,255,.38); border-radius:14px; background:rgba(247,240,229,.86); box-shadow:0 28px 60px rgba(74,42,20,.15); backdrop-filter:blur(12px); }
.sobre-detalle > p { color:#405366; font-size:15px; line-height:1.8; }
.sobre-detalle > p + p { margin-top:18px; }
.sobre-nombre { margin-bottom:9px; display:block; color:#173650; font-size:20px; line-height:1.25; letter-spacing:-.02em; }
.seo-local { padding:112px 0; color:#142a3e; background:#e8dcc9; border-top:1px solid rgba(25,60,91,.12); }
.seo-local-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(45px,8vw,110px); align-items:start; }
.seo-local .eyebrow { color:#0d70cf; }
.seo-local h2 { margin-top:12px; font-size:clamp(34px,3.8vw,58px); line-height:1.04; letter-spacing:-.05em; }
.seo-local-contenido > p { color:#405366; font-size:15px; line-height:1.85; }
.seo-local details { margin-top:28px; border-top:1px solid rgba(25,60,91,.25); border-bottom:1px solid rgba(25,60,91,.25); }
.seo-local summary { padding:20px 0; display:flex; justify-content:space-between; gap:20px; color:#173650; font-size:13px; font-weight:800; cursor:pointer; list-style:none; }
.seo-local summary::-webkit-details-marker { display:none; }
.seo-local summary span { color:#0877df; font-size:21px; line-height:.8; transition:transform .25s ease; }
.seo-local details[open] summary span { transform:rotate(45deg); }
.seo-local-desplegable { padding:0 0 24px; display:grid; gap:14px; }
.seo-local-desplegable p { color:#506276; font-size:13px; line-height:1.8; }
/* CONTACTO */
.contacto {
  padding: 72px 0 76px;
  color: #fff;
  background:
    radial-gradient(circle at 68% 32%, rgba(26, 73, 145, .12), transparent 36%),
    linear-gradient(180deg, #071426 0%, #061221 100%);
  border-top: 1px solid rgba(78, 151, 220, .10);
}

.contacto-v2-layout {
  display: grid;
  grid-template-columns: .82fr 1.58fr;
  gap: clamp(48px, 5vw, 72px);
  align-items: center;
}

.contacto-v2-info {
  min-width: 0;
}

.contacto-v2-eyebrow {
  margin: 0 0 27px;
  color: #3295ff;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.contacto-v2-info h2 {
  max-width: 430px;
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 4vw, 61px);
  line-height: 1;
  letter-spacing: -.045em;
}

.contacto-v2-intro {
  max-width: 455px;
  margin: 27px 0 34px;
  color: #b8c3d2;
  font-size: 15px;
  line-height: 1.8;
}

.contacto-v2-canales {
  display: grid;
  gap: 13px;
  max-width: 465px;
}

.contacto-v2-canal {
  min-height: 96px;
  padding: 16px 21px;
  display: flex;
  align-items: center;
  gap: 19px;
  color: inherit;
  text-decoration: none;
  border: 1px solid rgba(105, 151, 210, .17);
  border-radius: 15px;
  background: rgba(15, 35, 62, .55);
}

.contacto-v2-canal:hover {
  border-color: rgba(49, 143, 255, .42);
}

.contacto-v2-canal strong,
.contacto-v2-canal small {
  display: block;
}

.contacto-v2-canal strong {
  margin-bottom: 5px;
  color: #fff;
  font-size: 16px;
}

.contacto-v2-canal small {
  color: #b6c0d0;
  font-size: 13px;
}

.contacto-v2-icono {
  flex: 0 0 61px;
  width: 61px;
  height: 61px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}

.contacto-v2-icono svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.contacto-v2-icono-correo {
  color: #2190ff;
  background: rgba(19, 103, 220, .18);
  border: 1px solid rgba(33, 144, 255, .18);
}

.contacto-v2-icono-whatsapp {
  color: #16df71;
  background: rgba(0, 174, 86, .16);
}

.contacto-v2-icono-whatsapp svg {
  width: 35px;
  height: 35px;
  stroke-width: 1.6;
}

.contacto-v2-icono-instagram {
  color: #fff;
  background:
    radial-gradient(circle at 67% 72%, #f5ad38 0 18%, transparent 39%),
    radial-gradient(circle at 34% 73%, #eb5848 0 27%, transparent 51%),
    radial-gradient(circle at 69% 24%, #a442ec 0 29%, transparent 53%),
    #26378e;
}

.contacto-v2-separador {
  max-width: 465px;
  margin-top: 43px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 17px;
}

.contacto-v2-separador span {
  height: 1px;
  background: rgba(105, 145, 196, .22);
}

.contacto-v2-separador p {
  margin: 0;
  color: #7894c0;
  font-size: 14px;
  white-space: nowrap;
}

.contacto-v2-form {
  margin: 0;
  padding: 40px 36px 26px;
  border: 1px solid rgba(106, 151, 210, .22);
  border-radius: 22px;
  background: rgba(10, 28, 52, .76);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .12);
}

.contacto-v2-disponible {
  margin-bottom: 29px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #c4ccda;
  font-size: 13px;
}

.contacto-v2-disponible span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ed17a;
}

.contacto-v2-campos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 27px;
}

.contacto-v2-form label,
.contacto-v2-form legend {
  color: #f1f4f8;
  font-size: 14px;
  font-weight: 650;
}

.contacto-v2-form label {
  display: grid;
  gap: 9px;
}

.contacto-v2-form input[type="text"],
.contacto-v2-form input[type="email"],
.contacto-v2-form input[type="tel"],
.contacto-v2-form select,
.contacto-v2-form textarea {
  width: 100%;
  box-sizing: border-box;
  color: #fff;
  font: inherit;
  font-size: 14px;
  outline: 0;
  border: 1px solid rgba(107, 150, 210, .30);
  background: rgba(3, 16, 33, .40);
}

.contacto-v2-form input[type="text"],
.contacto-v2-form input[type="email"],
.contacto-v2-form input[type="tel"],
.contacto-v2-form select {
  height: 48px;
  padding: 0 14px;
  border-radius: 9px;
}

.contacto-v2-form textarea {
  min-height: 101px;
  padding: 14px;
  border-radius: 9px;
  resize: vertical;
}

.contacto-v2-form input::placeholder,
.contacto-v2-form textarea::placeholder {
  color: #909bad;
}

.contacto-v2-form input:focus,
.contacto-v2-form select:focus,
.contacto-v2-form textarea:focus {
  border-color: #268fff;
  box-shadow: 0 0 0 3px rgba(38, 143, 255, .08);
}

.contacto-v2-form select {
  color: #aeb9c9;
}

.contacto-v2-form select option {
  color: #fff;
  background: #091a30;
}

.contacto-v2-servicios {
  margin: 29px 0 26px;
  padding: 0;
  border: 0;
}

.contacto-v2-servicios legend {
  margin-bottom: 14px;
}

.contacto-v2-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contacto-v2-chips input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contacto-v2-chips label {
  min-height: 41px;
  padding: 0 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #bdc7d7;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid rgba(111, 151, 207, .28);
  border-radius: 13px;
  background: rgba(5, 19, 39, .34);
}

.contacto-v2-chips input:checked + label {
  color: #63b5ff;
  border-color: #258fff;
  background: rgba(16, 99, 194, .13);
}

.contacto-v2-completo {
  margin-top: 25px;
}

.contacto-v2-privacidad {
  margin-top: 24px;
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 11px !important;
  color: #c4ccda !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.contacto-v2-privacidad input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #258fff;
}

.contacto-v2-privacidad a {
  color: #2995ff;
}

.contacto-v2-enviar {
  width: 100%;
  min-height: 58px;
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  background: linear-gradient(100deg, #287ef3, #2057ce);
}

.contacto-v2-enviar:hover {
  filter: brightness(1.06);
}

.contacto-v2-nota {
  margin: 15px 0 0;
  color: #8995a8;
  font-size: 12px;
  text-align: center;
}

.form-estado {
  min-height: 0;
  margin: 8px 0 0;
  color: #9cadc2;
  font-size: 12px;
  text-align: center;
}

.form-estado.exito {
  color: #8ce0b1;
}

.form-estado.error {
  color: #ffb0a8;
}

.campo-trampa {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.faq { padding:110px 0; color:#0a2034; background:#f7f5f0; border-top:1px solid #d8e2ea; }
.faq .eyebrow { color:#0877df; }
.faq .seccion-cabecera h2 { color:#07192a; }
.faq .seccion-cabecera > p:last-child { color:#526579; }
.faq-lista { max-width:980px; margin:48px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.faq-columna { display:grid; gap:14px; align-content:start; }
.faq details { overflow:hidden; border:1px solid #d5e0e9; border-radius:12px; background:#fff; box-shadow:0 9px 24px rgba(10,38,61,.06); }
.faq summary { min-height:66px; padding:18px 20px; display:grid; grid-template-columns:34px 1fr 18px; align-items:center; gap:10px; color:#102c45; font-size:13px; font-weight:800; list-style:none; cursor:pointer; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:#1687ff; font-size:11px; }
.faq summary i { position:relative; width:16px; height:16px; }
.faq summary i::before,.faq summary i::after { content:""; position:absolute; top:7px; left:2px; width:12px; height:2px; background:#1687ff; }
.faq summary i::after { transform:rotate(90deg); transition:transform .2s ease; }
.faq details[open] summary i::after { transform:rotate(0); }
.faq details p { padding:0 20px 20px 64px; color:#50657a; font-size:13px; line-height:1.75; }
.footer { min-height:104px; padding:27px clamp(28px,4vw,70px); display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:30px; align-items:center; color:#748392; background:#020811; font-size:11.5px; }
.footer-logo { width:72px; height:72px; justify-self:start; object-fit:cover; border-radius:50%; }
.footer-legal { line-height:1.7; white-space:nowrap; }
.footer-separador { margin:0 9px; color:#1687ff; }
.footer-autor { color:#a8b5c1; font-size:10.5px; letter-spacing:.035em; }
.footer nav { display:flex; justify-content:flex-end; gap:23px; }
.footer a:hover,.footer-boton:hover { color:#fff; }
.footer-boton { padding:0; color:inherit; border:0; outline:0; background:transparent; cursor:pointer; }
.cookie-preferencias,.cookie-preferencias[hidden] { position:fixed; right:18px; bottom:var(--cookie-separacion,18px); left:auto; z-index:64; min-height:36px; padding:0 13px; display:inline-flex !important; align-items:center; justify-content:center; color:#dceeff; border:1px solid rgba(102,184,255,.42); border-radius:999px; background:rgba(4,20,35,.82); box-shadow:0 10px 28px rgba(0,0,0,.28); backdrop-filter:blur(10px); font-size:10px; font-weight:800; cursor:pointer; transition:bottom .3s ease,background .2s ease; }
.cookie-preferencias:hover { background:#0b528e; }
.cursor-luz { position:fixed; top:0; left:0; z-index:80; width:420px; height:420px; pointer-events:none; opacity:0; border-radius:50%; background:radial-gradient(circle,rgba(44,148,255,.14) 0,rgba(25,95,200,.055) 38%,transparent 70%); mix-blend-mode:screen; transform:translate(-50%,-50%); transition:opacity .18s ease; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .85s var(--ease),transform .85s var(--ease); }
.reveal.visible { opacity:1; transform:none; }
@media (max-width:1180px) {
  :root { --sidebar:228px; }
  .sidebar { padding-inline:22px; }
  .brand img { width:155px; height:155px; }
  .sidebar-estado { width:100%; gap:8px; font-size:8.8px; }
  .estado-agenda { padding-inline:7px; gap:6px; font-size:8.8px; }
  .hero-contenido { padding-left:6vw; }
  .servicios-grid { grid-template-columns:repeat(2,1fr); }
  .servicios-widget { grid-template-columns:repeat(2,1fr); }
  .widget-item:nth-child(3) { padding-top:20px; border-top:1px solid rgba(22,56,87,.16); border-left:0; }
  .widget-item:nth-child(4) { padding-top:20px; border-top:1px solid rgba(22,56,87,.16); }
  .proyecto-layout { grid-template-columns:1fr; }
  .proyecto-intro { max-width:650px; }
  .proyecto-destacado { grid-template-columns:1.35fr .75fr; }
  .form-grid { grid-template-columns:1fr; }
  .campo-completo { grid-column:auto; }
}
@media (max-width:840px) {
  :root { --sidebar:0px; }
  .menu-toggle { position:fixed; top:19px; right:18px; z-index:70; width:45px; height:45px; display:grid; place-content:center; gap:7px; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(5,17,29,.72); backdrop-filter:blur(12px); }
  .menu-toggle span { width:18px; height:1px; background:#fff; transition:transform .3s ease; }
  .menu-toggle.abierto span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle.abierto span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .sidebar { width:min(340px,88vw); transform:translateX(-105%); transition:transform .48s var(--ease); box-shadow:30px 0 80px rgba(0,0,0,.34); }
  .sidebar.abierto { transform:translateX(0); }
  .sidebar-servicios { white-space:normal; }
  .sidebar-estado { width:min(230px,100%); gap:13px; font-size:9.5px; }
  .estado-agenda { font-size:9.5px; }
  .pagina { margin-left:0; }
  .sonido-toggle { top:20px; right:auto; left:18px; }
  .hero { height:auto; min-height:850px; }
  .hero-imagen { object-position:63% 45%; }
  .hero-veladura { background:linear-gradient(90deg,rgba(2,9,16,.93),rgba(3,12,21,.44)),linear-gradient(0deg,rgba(3,12,21,.77),transparent 55%); }
  .hero-contenido { width:calc(100% - 44px); padding:130px 0 120px; }
  .hero h1 { font-size:clamp(44px,10.8vw,66px); }
  .scroll-indicator { right:22px; bottom:25px; }
  .contenedor { width:calc(100% - 44px); }
  .rumbo-experiencia { min-height:620px; place-items:center; }
  .rumbo-contenido { width:calc(100% - 36px); padding:0; }
  .rumbo-copy { margin:0 auto; }
  .servicios,.sobre-mi { padding-block:100px; }
  .proyectos { padding:92px 0 62px; }
  .proyecto-destacado { grid-template-columns:1fr; }
  .sobre-grid,.seo-local-grid { grid-template-columns:1fr; gap:55px; }
  .listones { width:72%; opacity:.45; }
  .sobre-detalle { padding:32px; }
  .faq { padding:82px 0; }
  .faq-lista { margin-top:34px; grid-template-columns:1fr; }
  .footer { grid-template-columns:1fr; text-align:center; }
  .footer-logo { justify-self:center; }
  .footer-legal { white-space:normal; }
  .footer nav { justify-content:center; flex-wrap:wrap; }
  .cookie-preferencias,.cookie-preferencias[hidden] { right:16px; left:auto; }
}
@media (max-width:560px) {
  .hero h1 { font-size:clamp(40px,11.7vw,56px); }
  .hero-texto { font-size:15px; }
  .hero-acciones { display:grid; }
  .boton { width:100%; }
  .hero-ventajas { gap:14px 20px; }
  .rumbo-copy h2 { font-size:clamp(32px,9vw,46px); }
  .rumbo-copy > p:not(.eyebrow) { font-size:14px; }
  .rumbo-indicacion { align-items:flex-start; font-size:10px; line-height:1.5; }
  .rumbo-indicacion i { margin-top:7px; }
  .servicios-grid { grid-template-columns:1fr; }
  .servicio-card { min-height:235px; }
  .servicios-widget { padding:10px 20px; grid-template-columns:1fr; }
  .widget-item,.widget-item:nth-child(3),.widget-item:nth-child(4) { padding:18px 4px; border-top:1px solid rgba(22,56,87,.16); border-left:0; }
  .widget-item:first-child { border-top:0; }
  .proyecto-destacado { padding:18px; }
  .mockup-pagina { min-height:0; padding:0; }
  .sobre-detalle { padding:26px 22px; }
  .contacto-acciones { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:9px !important; }
  .contacto-acciones .boton { width:100% !important; min-width:0 !important; padding:0 6px !important; justify-content:center !important; font-size:11px !important; }
  .sidebar-estado { gap:10px; font-size:9px; }
  .estado-agenda { padding-inline:6px; font-size:9px; }
}
@media (min-width:1500px) and (min-aspect-ratio:2 / 1) {
  .hero { min-height:100svh; height:100svh; }
  .hero-imagen { object-position:center 45%; }
}
@media (pointer:coarse),(prefers-reduced-motion:reduce) {
  .cursor-luz { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
  .rumbo-indicacion i::after,.sonido-ondas i,.estado-agenda i { animation:none; transform:none; }
}
.proyectos { min-height:0; padding:88px 0 72px; }
.rumbo-video { filter:saturate(.97) contrast(1.015); }
.rumbo-experiencia::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='ruido'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ruido)' opacity='.55'/%3E%3C/svg%3E"); background-size:180px 180px; mix-blend-mode:soft-light; }
.rumbo-contenido { z-index:2; }
.sidebar-estado { position:relative; width:100%; gap:14px; padding-bottom:12px; border-bottom:0; font-size:10.5px; }
.sidebar-estado::after { content:""; position:absolute; bottom:0; left:0; width:165px; height:1px; background:rgba(8,26,42,.22); }
.estado-hora { font-size:10.5px; }
.estado-agenda { padding:5px 9px; font-size:10.5px; }
@media (min-width:1500px) and (min-aspect-ratio:2 / 1) {
  .hero { width:100%; height:auto; min-height:0; aspect-ratio:1840 / 856; }
  .hero-imagen { width:100%; height:100%; object-fit:cover; object-position:center; }
}
@media (max-width:1180px) and (min-width:841px) {
  .sidebar-estado { gap:7px; font-size:8.9px; }
  .estado-hora,.estado-agenda { font-size:8.9px; }
  .estado-agenda { padding-inline:6px; }
  .sidebar-estado::after { width:145px; }
}
@media (max-width:840px) {
  .proyectos { padding:82px 0 62px; }
  .sidebar-estado { gap:14px; font-size:10.5px; }
  .estado-hora,.estado-agenda { font-size:10.5px; }
  .sidebar-estado::after { width:165px; }
}
.sidebar-estado::after { width:183px; }
.icono-servicio { position:absolute; top:27px; left:28px; width:68px; height:68px; display:grid; place-items:center; border:2px solid currentColor; border-radius:20px; background:rgba(3,17,30,.24); font-size:34px; font-weight:200; line-height:1; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); transition:transform .35s var(--ease),background-color .35s ease,box-shadow .35s ease; }
.servicio-card:nth-child(1) .icono-servicio { color:#4fc0ff; background:rgba(14,116,196,.22); box-shadow:inset 0 0 18px rgba(79,192,255,.14),0 0 18px rgba(79,192,255,.34); }
.servicio-card:nth-child(2) .icono-servicio { color:#55e2e5; background:rgba(20,147,154,.22); box-shadow:inset 0 0 18px rgba(85,226,229,.14),0 0 18px rgba(85,226,229,.34); }
.servicio-card:nth-child(3) .icono-servicio { color:#c1a5ff; background:rgba(104,73,171,.22); box-shadow:inset 0 0 18px rgba(193,165,255,.14),0 0 18px rgba(193,165,255,.34); }
.servicio-card:nth-child(4) .icono-servicio { color:#63e1a9; background:rgba(30,139,101,.22); box-shadow:inset 0 0 18px rgba(99,225,169,.14),0 0 18px rgba(99,225,169,.34); }
.servicio-card:hover .icono-servicio { transform:translateY(-3px) scale(1.04); background:rgba(3,17,30,.38); }

.servicios::after { top:54%; right:-115px; transform:translateY(-50%); }
.contacto::before { top:51%; left:-130px; transform:translateY(-50%); }
.servicios > .contenedor,.contacto > .contenedor { position:relative; z-index:2; }
@media (max-width:1180px) {
  .servicios::after,.contacto::before { width:550px; height:326px; background-size:550px auto; opacity:.065; }
  .servicios::after { right:-175px; top:59%; }
  .contacto::before { left:-185px; top:45%; }
}
@media (max-width:840px) {
  .servicios::after,.contacto::before { width:470px; height:278px; background-size:470px auto; opacity:.052; }
  .servicios::after { top:66%; right:-205px; }
  .contacto::before { top:35%; left:-210px; }
  .icono-servicio { width:64px; height:64px; border-radius:18px; font-size:32px; }
}
@media (max-width:560px) {
  .servicios::after,.contacto::before { width:390px; height:231px; background-size:390px auto; opacity:.045; }
  .servicios::after { top:71%; right:-185px; }
  .contacto::before { top:31%; left:-190px; }
  .icono-servicio { top:24px; left:24px; width:62px; height:62px; border-radius:18px; font-size:31px; }
}
.servicios::after,.contacto::before { top:auto !important; bottom:0 !important; transform:none !important; background-position:center top !important; }
.sidebar-bottom { display:flex; align-items:center; gap:10px; margin-left:auto; }
.agenda-estado { display:inline-flex; align-items:center; gap:7px; width:max-content; padding:7px 12px; border:1px solid rgba(34,197,94,0.32); border-radius:999px; background:rgba(34,197,94,0.08); color:#15803d; font-size:12px; font-weight:600; line-height:1; white-space:nowrap; }
.agenda-punto { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#22c55e; animation:agenda-pulso 2.6s ease-out infinite; }
@keyframes agenda-pulso {
  0%,65%,100% { box-shadow:0 0 0 0 rgba(34,197,94,0); }
  75% { box-shadow:0 0 0 5px rgba(34,197,94,0.18); }
  90% { box-shadow:0 0 0 8px rgba(34,197,94,0); }
}
.sidebar-bottom > .sidebar-contacto { width:40px; height:40px; flex:0 0 40px; display:inline-flex; align-items:center; justify-content:center; padding:0; border:1px solid rgba(7,25,48,0.22); border-radius:50%; background:rgba(255,255,255,0.7); color:#27465c; text-decoration:none; transition:transform 0.2s ease,border-color 0.2s ease,background 0.2s ease; }
.sidebar-bottom > .sidebar-contacto:hover { transform:translateY(-2px); border-color:rgba(0,102,255,0.45); background:#fff; }
.sidebar-bottom > .sidebar-contacto > span { display:none; }
.sidebar-contacto svg { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.sidebar-contacto svg .contacto-punto { fill:currentColor; stroke:none; }
.sidebar-contacto .contacto-flecha { width:auto; margin-left:1px; color:inherit; font-size:9px; transition:transform .2s ease; }
.sidebar-bottom > .sidebar-contacto:hover { color:#0078e8; transform:translateX(2px); }
.sidebar-contacto:hover .contacto-flecha { transform:translate(2px,-2px); }
.sidebar-contacto:focus-visible { border-radius:2px; outline:2px solid #0078e8; outline-offset:5px; }
@media (max-width:1180px) and (min-width:841px) {
  .sidebar-bottom > .sidebar-contacto { gap:7px; font-size:10px; }
  .sidebar-contacto svg { width:16px; height:16px; flex-basis:16px; }
}
.seo-editorial { position:relative; isolation:isolate; min-height:760px; padding:clamp(90px,9vw,145px) 0; overflow:hidden; color:#102b45; background:radial-gradient(circle at 45% 48%,rgba(255,255,255,.78),transparent 42%),linear-gradient(112deg,#f4eee4 0%,#f8f4ed 54%,#efe5d7 100%); border-top:1px solid rgba(25,60,91,.12); border-bottom:1px solid rgba(25,60,91,.12); }
.seo-editorial-fondo { position:absolute; z-index:-1; right:clamp(-75px,-3vw,-30px); pointer-events:none; user-select:none; }
.seo-editorial-fondo span { display:block; writing-mode:vertical-rl; transform:rotate(180deg); color:rgba(20,42,62,.055); font-size:clamp(145px,16vw,285px); font-weight:900; letter-spacing:-.08em; text-transform:uppercase; }
.seo-editorial-grid { position:relative; display:grid; grid-template-columns:minmax(390px,1.15fr) minmax(130px,.4fr) minmax(300px,.82fr); gap:clamp(30px,4vw,72px); align-items:center; }
.seo-editorial .eyebrow { width:max-content; margin-bottom:32px; color:#0877df; }
.seo-editorial .eyebrow::after { content:""; display:block; width:54px; height:2px; margin-top:18px; background:var(--blue); }
.seo-editorial .seo-editorial-titulo { display:flex; flex-direction:column; align-items:flex-start; margin:0; color:#102b45; font-size:inherit; line-height:1; letter-spacing:normal; }
.seo-editorial-una { margin-bottom:2px; color:#173650; font-size:clamp(25px,2.1vw,38px); font-weight:750; line-height:1; }
.seo-editorial-presencia { display:block; margin-left:-3px; color:#092947; font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif; font-size:clamp(72px,8.2vw,150px); font-stretch:condensed; font-weight:900; line-height:.82; letter-spacing:-.045em; text-transform:uppercase; }
.seo-editorial-linea { display:flex; flex-wrap:wrap; align-items:baseline; gap:.3em; margin-top:clamp(8px,1.15vw,18px); color:#112d47; font-size:clamp(31px,3.25vw,58px); font-weight:780; line-height:1.03; letter-spacing:-.055em; }
.seo-editorial-digital { color:var(--blue); font-size:1.18em; font-weight:850; }
.seo-editorial-final::after { width:.13em; height:.13em; margin-left:-.22em; }
.seo-editorial-una,.seo-editorial-presencia,.seo-editorial-linea { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease),transform .85s var(--ease); }
.seo-editorial-titular.visible .seo-editorial-una { opacity:1; transform:none; transition-delay:.08s; }
.seo-editorial-titular.visible .seo-editorial-presencia { transition-delay:.16s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(3) { transition-delay:.27s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(4) { transition-delay:.36s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(5) { transition-delay:.45s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(6) { opacity:1; transform:none; transition-delay:.54s; }
.seo-editorial-ruta { position:relative; max-width:250px; height:610px; justify-self:center; pointer-events:none; }
.seo-editorial-ruta svg { width:100%; height:100%; overflow:visible; }
.seo-ruta-trazo { fill:none; stroke:rgba(39,83,119,.26); stroke-width:1.5; stroke-linecap:round; stroke-dasharray:8 9; stroke-dashoffset:620; }
.seo-ruta-eco { fill:#f7f2e9; stroke:rgba(39,83,119,.25); stroke-width:1.5; opacity:0; }
.seo-ruta-punto { fill:var(--blue); opacity:0; filter:drop-shadow(0 5px 12px rgba(22,135,255,.25)); transform-box:fill-box; transform-origin:center; }
.seo-editorial-titular.visible + .seo-editorial-ruta .seo-ruta-trazo { animation:seoDibujarRuta 1.7s var(--ease) .25s forwards; }
.seo-editorial-titular.visible + .seo-editorial-ruta .eco-uno { animation:seoMostrarEco .5s ease .72s forwards; }
.seo-editorial-titular.visible + .seo-editorial-ruta .eco-dos { animation:seoMostrarEco .5s ease 1.18s forwards; }
.seo-editorial-titular.visible + .seo-editorial-ruta .seo-ruta-punto { animation:seoLlegarPunto .7s var(--ease) 1.55s forwards; }
@keyframes seoDibujarRuta {
  from { stroke-dashoffset:620; }
  to { stroke-dashoffset:0; }
}
@keyframes seoMostrarEco {
  from { opacity:0; transform:scale(.55); }
  to { opacity:.8; transform:scale(1); }
}
@keyframes seoLlegarPunto {
  0% { opacity:0; transform:scale(.25); }
  65% { opacity:1; transform:scale(1.35); }
  100% { opacity:1; transform:scale(1); }
}
.seo-editorial-contenido { position:relative; z-index:2; align-self:center; max-width:490px; padding-right:clamp(20px,3vw,55px); }
.seo-editorial-contenido > p { color:#405366; font-size:clamp(14px,1.05vw,16px); line-height:1.85; }
.seo-editorial-contenido > p + p { margin-top:24px; }
.seo-editorial-boton { width:max-content; max-width:100%; min-height:58px; margin-top:34px; padding:0 24px; display:inline-flex; align-items:center; justify-content:space-between; gap:32px; color:#096fcf; background:rgba(255,255,255,.22); border:1px solid rgba(13,112,207,.72); border-radius:12px; font-size:12px; font-weight:850; letter-spacing:.035em; text-transform:uppercase; transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s var(--ease),box-shadow .25s ease; }
.seo-editorial-boton span:last-child { font-size:20px; font-weight:500; transition:transform .25s var(--ease); }
.seo-editorial-boton:hover { color:#fff; background:#0877df; border-color:#0877df; box-shadow:0 14px 28px rgba(8,119,223,.18); transform:translateY(-2px); }
.seo-editorial-boton:hover span:last-child { transform:translateX(5px); }
.seo-editorial-boton:focus-visible { outline:3px solid rgba(22,135,255,.28); outline-offset:4px; }
.seo-editorial .seo-editorial-detalles { margin-top:28px; border-top:1px solid rgba(25,60,91,.22); border-bottom:1px solid rgba(25,60,91,.22); }
.seo-editorial .seo-editorial-detalles summary { padding:18px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; color:#173650; font-size:12px; font-weight:850; cursor:pointer; list-style:none; }
.seo-editorial .seo-editorial-detalles summary::-webkit-details-marker { display:none; }
.seo-editorial .seo-editorial-detalles summary span { color:#0877df; font-size:22px; line-height:.8; transition:transform .25s ease; }
.seo-editorial .seo-editorial-detalles[open] summary span { transform:rotate(45deg); }
.seo-editorial-desplegable { padding:0 0 24px; display:grid; gap:14px; }
.seo-editorial-desplegable p { color:#506276; font-size:13px; line-height:1.8; }
@media (max-width:1180px) {
  .seo-editorial-grid { grid-template-columns:minmax(330px,1.08fr) minmax(90px,.3fr) minmax(270px,.82fr); gap:28px; }
  .seo-editorial-presencia { font-size:clamp(68px,7.6vw,105px); }
  .seo-editorial-linea { font-size:clamp(30px,3vw,45px); }
  .seo-editorial-ruta { max-width:175px; }
  .seo-editorial-contenido { padding-right:30px; }
}
@media (max-width:960px) {
  .seo-editorial { min-height:auto; }
  .seo-editorial-grid { grid-template-columns:minmax(320px,.95fr) minmax(280px,.8fr); gap:55px; }
  .seo-editorial-ruta { display:none; }
  .seo-editorial-presencia { font-size:clamp(70px,10vw,105px); }
  .seo-editorial-linea { font-size:clamp(31px,4.5vw,47px); }
  .seo-editorial-contenido { padding-right:20px; }
  .seo-editorial-fondo span { opacity:.75; }
}
@media (max-width:700px) {
  .seo-editorial { padding:82px 0 76px; }
  .seo-editorial-grid { grid-template-columns:1fr; gap:55px; }
  .seo-editorial-fondo { top:48%; right:-58px; }
  .seo-editorial-fondo span { font-size:clamp(125px,38vw,190px); opacity:.55; }
  .seo-editorial .eyebrow { margin-bottom:27px; }
  .seo-editorial-presencia { font-size:clamp(63px,19vw,100px); }
  .seo-editorial-linea { font-size:clamp(31px,9vw,48px); letter-spacing:-.045em; }
  .seo-editorial-contenido { max-width:100%; padding-right:0; }
  .seo-editorial-contenido > p { font-size:14px; line-height:1.8; }
  .seo-editorial-boton { width:100%; padding-inline:19px; gap:18px; }

  .contacto-v2-layout {
    grid-template-columns: 1fr;
    gap: 36px;
    align-items: stretch;
  }

  .contacto-v2-info,
  .contacto-v2-form {
    position: static;
    width: 100%;
    max-width: none;
  }
}

@media (max-width:420px) {
  .seo-editorial-presencia { font-size:clamp(56px,18vw,76px); }
  .seo-editorial-linea { font-size:clamp(28px,8.3vw,38px); }
  .seo-editorial-boton { font-size:10.5px; }
}
@media (prefers-reduced-motion:reduce) {
  .seo-editorial-una,.seo-editorial-presencia,.seo-editorial-linea,.seo-ruta-trazo,.seo-ruta-eco,.seo-ruta-punto { opacity:1 !important; transform:none !important; animation:none !important; transition:none !important; stroke-dashoffset:0 !important; }
}
.seo-editorial-grid { grid-template-columns:minmax(360px,.95fr) minmax(175px,.34fr) minmax(350px,.84fr); gap:clamp(34px,4.2vw,78px); }
.seo-editorial-presencia { max-width:100%; font-size:clamp(65px,5vw,102px); white-space:nowrap; }
.seo-editorial-final::after { content:""; flex:0 0 auto; width:.14em; height:.14em; margin-left:-.24em; border-radius:50%; background:var(--blue); }
.seo-editorial-fondo { top:50%; right:clamp(24px,2.5vw,52px); transform:translateY(-50%); }
.seo-editorial-fondo span { font-size:clamp(95px,7.6vw,138px); line-height:.78; letter-spacing:-.06em; }
.seo-editorial-titular.visible .seo-editorial-presencia { opacity:1; transform:none; transition-delay:.1s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(2) { opacity:1; transform:none; transition-delay:.22s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(3) { opacity:1; transform:none; transition-delay:.32s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(4) { opacity:1; transform:none; transition-delay:.42s; }
.seo-editorial-titular.visible .seo-editorial-linea:nth-of-type(5) { opacity:1; transform:none; transition-delay:.52s; }
.seo-editorial-titular.visible + .seo-editorial-ruta .seo-ruta-trazo { stroke-dashoffset:0; animation:seoRutaFluyendo 9s linear infinite; }
.seo-editorial-titular.visible + .seo-editorial-ruta .seo-ruta-punto { opacity:1; animation:seoPuntoRespira 3.4s ease-in-out infinite; }
.seo-editorial-titular.visible + .seo-editorial-ruta .seo-ruta-eco { opacity:.72; animation:seoEcoSuave 4.2s ease-in-out infinite; }
.seo-editorial-titular.visible + .seo-editorial-ruta .eco-dos { animation-delay:1.15s; }
@keyframes seoRutaFluyendo {
  from { stroke-dashoffset:0; }
  to { stroke-dashoffset:-136; }
}
@keyframes seoPuntoRespira {
  0%,100% { opacity:.82; transform:scale(.88); filter:drop-shadow(0 3px 8px rgba(22,135,255,.16)); }
  50% { opacity:1; transform:scale(1.18); filter:drop-shadow(0 5px 15px rgba(22,135,255,.34)); }
}
@keyframes seoEcoSuave {
  0%,100% { opacity:.32; transform:scale(.88); }
  50% { opacity:.78; transform:scale(1.08); }
}
@media (max-width:1180px) {
  .seo-editorial-grid { grid-template-columns:minmax(320px,.92fr) minmax(115px,.28fr) minmax(285px,.8fr); gap:32px; }
  .seo-editorial-presencia { font-size:clamp(60px,6.4vw,84px); }
  .seo-editorial-fondo { right:18px; }
  .seo-editorial-fondo span { font-size:clamp(90px,9vw,118px); }
}
@media (max-width:700px) {
  .seo-editorial-fondo { top:52%; right:12px; }
  .seo-editorial-fondo span { font-size:clamp(72px,22vw,104px); opacity:.42; }
  .seo-editorial-presencia { white-space:normal; font-size:clamp(58px,17vw,86px); }
  .seo-editorial { min-height:auto !important; padding:130px 0 80px !important; overflow:hidden !important; }
  .seo-editorial .contenedor { width:100% !important; max-width:none !important; padding-left:28px !important; padding-right:28px !important; }
  .seo-editorial-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:48px !important; align-items:start !important; }
  .seo-editorial-titular,.seo-editorial-contenido { width:100% !important; min-width:0 !important; max-width:100% !important; }
  .seo-editorial-titulo { width:100% !important; max-width:100% !important; }
  .seo-editorial-presencia { display:block !important; font-size:clamp(49px,14.2vw,68px) !important; line-height:.92 !important; letter-spacing:-.065em !important; white-space:nowrap !important; }
  .seo-editorial-linea { display:flex !important; flex-wrap:wrap !important; gap:0 .18em !important; font-size:clamp(38px,10.5vw,52px) !important; line-height:1.15 !important; }
  .seo-editorial-ruta { display:none !important; }
  .seo-editorial-contenido { position:relative !important; z-index:2 !important; font-size:17px !important; line-height:1.7 !important; }
  .seo-editorial-fondo { right:-18px !important; top:54% !important; transform:translateY(-50%) !important; opacity:.7 !important; pointer-events:none !important; }
  .seo-editorial-fondo span { font-size:105px !important; }
}
.seo-editorial-fondo { right:clamp(25px,2.2vw,48px); }
.seo-editorial-fondo span { font-size:clamp(145px,10vw,190px); color:rgba(20,42,62,.052); line-height:.72; letter-spacing:-.075em; }
.seo-editorial-grid { grid-template-columns:minmax(360px,.92fr) minmax(210px,.42fr) minmax(350px,.84fr); gap:clamp(34px,3.5vw,65px); }
.seo-editorial-ruta { width:100%; max-width:290px; height:650px; }
.seo-ruta-trazo { stroke:rgba(39,83,119,.34); stroke-width:2; }
.seo-ruta-viajero { fill:var(--blue); stroke:rgba(255,255,255,.95); stroke-width:3; opacity:1 !important; animation:none !important; filter:drop-shadow(0 4px 7px rgba(22,135,255,.32)) drop-shadow(0 0 8px rgba(22,135,255,.2)); }
.seo-ruta-eco { stroke:rgba(39,83,119,.34); stroke-width:1.7; }
@media (max-width:1180px) {
  .seo-editorial-grid { grid-template-columns:minmax(320px,.9fr) minmax(155px,.34fr) minmax(285px,.8fr); gap:30px; }
  .seo-editorial-ruta { max-width:225px; height:610px; }
  .seo-editorial-fondo span { font-size:clamp(120px,12vw,150px); }
}
@media (max-width:700px) {
  .seo-editorial-fondo { right:8px; }
  .seo-editorial-fondo span { font-size:clamp(82px,26vw,118px); }
}
.ecommerce-showcase { position:relative; min-height:0 !important; padding:0 !important; margin:0; overflow:hidden; background:#f4eee5; }
.ecommerce-showcase-picture { display:block; width:100%; max-width:1500px; margin:0 auto; }
.ecommerce-showcase-imagen { display:block; width:100%; max-width:none; height:auto; margin:0; }
.sobre-mi.sobre-editorial { min-height:900px; padding:0; isolation:isolate; color:#102e4f; background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.5),transparent 38%),linear-gradient(118deg,rgba(255,255,255,.18),transparent 42%),var(--cream); }
.sobre-editorial-interior { position:relative; z-index:2; width:min(1600px,100%); min-height:900px; margin-inline:auto; }
.sobre-editorial-cabecera { position:absolute; z-index:5; top:64px; right:3.5%; left:3.5%; text-align:center; }
.sobre-editorial-cabecera .eyebrow { color:#086fd7; }
.sobre-editorial-cabecera .eyebrow::after { width:58px; height:1px; margin:17px auto 0; display:block; content:""; background:#1687ff; }
.sobre-editorial-cabecera h2 { width:111%; margin:20px 0 0 -5.5%; color:#062653; font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif; font-size:clamp(78px,7vw,104px); font-weight:600; line-height:.86; letter-spacing:-.06em; transform:scaleX(.9); transform-origin:center top; text-wrap:balance; }
.sobre-editorial-cabecera h2 span { display:block; white-space:nowrap; }
.sobre-editorial-cabecera h2 span + span { margin-top:9px; }
.sobre-editorial-cabecera h2 em { color:#0a75f5; font-style:normal; }
.sobre-editorial-norte { position:absolute; z-index:0; right:-10vw; bottom:-5px; left:-10vw; overflow:hidden; color:rgba(23,54,80,.045); font-size:clamp(340px,36vw,600px); font-weight:800; line-height:.78; letter-spacing:-.065em; text-align:center; white-space:nowrap; pointer-events:none; user-select:none; }
.sobre-topografia { position:absolute; z-index:1; inset:0; width:100%; height:100%; pointer-events:none; }
.sobre-topografia-trazos { fill:none; stroke:rgba(34,75,105,.09); stroke-width:1.2; }
.sobre-ruta { position:absolute; z-index:2; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.sobre-ruta-movil { display:none; }
.sobre-ruta-trazo,.sobre-ruta-nodo,.sobre-brujula { fill:none; stroke:#1687ff; stroke-width:2; vector-effect:non-scaling-stroke; }
.sobre-ruta-trazo { stroke-linecap:round; stroke-linejoin:round; }
.sobre-ruta-nodo circle:first-child { fill:var(--cream); }
.sobre-ruta-nodo .sobre-ruta-punto { fill:#1687ff; stroke:none; }
.sobre-brujula { transform-box:fill-box; transform-origin:center; }
.sobre-brujula > circle:first-child { fill:rgba(243,238,229,.94); }
.sobre-brujula-interior { stroke:rgba(16,46,79,.25); stroke-width:1; }
.sobre-brujula path { vector-effect:non-scaling-stroke; }
.sobre-brujula .sobre-brujula-red,.sobre-brujula .sobre-brujula-diagonales { fill:none; stroke:rgba(16,46,79,.3); stroke-width:.8; }
.sobre-brujula .sobre-brujula-estrella-secundaria { fill:rgba(22,135,255,.16); stroke:#102e4f; stroke-width:.8; }
.sobre-brujula .sobre-brujula-punta { stroke:#102e4f; stroke-width:.75; }
.sobre-brujula .sobre-brujula-punta-oscura { fill:#102e4f; }
.sobre-brujula .sobre-brujula-punta-clara { fill:#f7f2e9; }
.sobre-brujula .sobre-brujula-centro { fill:var(--cream); stroke:#102e4f; stroke-width:1; }
.sobre-brujula .sobre-brujula-ejes { fill:none; stroke:#1687ff; stroke-width:1.5; }
.sobre-coordenadas { position:absolute; z-index:4; top:51.5%; left:57.4%; color:#0a75f5; font-size:14px; font-weight:600; letter-spacing:.14em; white-space:nowrap; }
.sobre-relato { position:absolute; z-index:4; width:min(310px,24vw); color:#193a59; }
.sobre-relato h3 { margin-bottom:12px; color:#102e4f; font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif; font-size:25px; font-weight:600; line-height:1.05; letter-spacing:-.025em; }
.sobre-relato p { color:#284761; font-size:14px; line-height:1.75; }
.sobre-relato-uno { top:52%; left:16.5%; }
.sobre-relato-dos { top:73.5%; left:50%; width:min(260px,22vw); }
.sobre-firma { position:absolute; z-index:5; right:1%; bottom:1%; width:clamp(245px,20vw,300px); height:auto; display:block; filter:saturate(.95); }
.sobre-editorial.sobre-editorial-preparada .sobre-ruta-trazo { stroke-dasharray:1900; stroke-dashoffset:1900; transition:stroke-dashoffset 2s var(--ease); }
.sobre-editorial.sobre-editorial-preparada .sobre-ruta-nodo,.sobre-editorial.sobre-editorial-preparada .sobre-brujula,.sobre-editorial.sobre-editorial-preparada .sobre-relato,.sobre-editorial.sobre-editorial-preparada .sobre-coordenadas,.sobre-editorial.sobre-editorial-preparada .sobre-firma { opacity:0; }
.sobre-editorial.sobre-editorial-preparada .sobre-ruta-nodo,.sobre-editorial.sobre-editorial-preparada .sobre-brujula { transition:opacity .55s ease; }
.sobre-editorial.sobre-editorial-preparada .sobre-relato,.sobre-editorial.sobre-editorial-preparada .sobre-coordenadas { transform:translateY(18px); transition:opacity .7s ease,transform .8s var(--ease); }
.sobre-editorial.sobre-editorial-preparada .sobre-firma { transform:translate(16px,10px) rotate(1deg); transition:opacity .9s ease 1.45s,transform 1.1s var(--ease) 1.45s; }
.sobre-editorial.sobre-editorial-activa .sobre-ruta-trazo { stroke-dashoffset:0; }
.sobre-editorial.sobre-editorial-activa .sobre-relato,.sobre-editorial.sobre-editorial-activa .sobre-coordenadas,.sobre-editorial.sobre-editorial-activa .sobre-firma { opacity:1; transform:none; }
.sobre-editorial.sobre-editorial-activa .sobre-ruta-nodo,.sobre-editorial.sobre-editorial-activa .sobre-brujula { opacity:1; }
.sobre-editorial.sobre-editorial-activa .sobre-ruta-nodo-uno { transition-delay:.35s; }
.sobre-editorial.sobre-editorial-activa .sobre-brujula { transition-delay:.8s; }
.sobre-editorial.sobre-editorial-activa .sobre-ruta-nodo-dos,.sobre-editorial.sobre-editorial-activa .sobre-coordenadas { transition-delay:1.05s; }
.sobre-editorial.sobre-editorial-activa .sobre-relato-uno { transition-delay:.55s; }
.sobre-editorial.sobre-editorial-activa .sobre-relato-dos { transition-delay:1.15s; }
@media (max-width:1180px) {
  .sobre-mi.sobre-editorial,.sobre-editorial-interior { min-height:820px; }
  .sobre-editorial-cabecera { top:58px; }
  .sobre-editorial-cabecera h2 { font-size:clamp(72px,7.4vw,92px); }
  .sobre-relato { width:min(290px,29vw); }
  .sobre-relato-uno { left:11%; }
  .sobre-relato-dos { left:49%; }
  .sobre-firma { right:0; width:clamp(225px,23vw,270px); }
}
@media (max-width:840px) {
  .sobre-mi.sobre-editorial,.sobre-editorial-interior { min-height:760px; }
  .sobre-editorial-cabecera h2 { font-size:clamp(52px,8vw,68px); }
  .sobre-relato { width:31vw; }
  .sobre-relato-uno { left:7%; }
  .sobre-relato-dos { left:54%; }
  .sobre-relato h3 { font-size:21px; }
  .sobre-relato p { font-size:12px; }
}
@media (max-width:700px) {
  .sobre-mi.sobre-editorial { min-height:0; padding:72px 22px 64px; }
  .sobre-editorial-interior { min-height:0; display:flex; flex-direction:column; }
  .sobre-editorial-cabecera,.sobre-relato,.sobre-coordenadas,.sobre-firma { position:relative; top:auto; right:auto; bottom:auto; left:auto; }
  .sobre-editorial-cabecera { order:1; }
  .sobre-editorial-cabecera h2 { width:auto; margin-top:22px; margin-right:auto; margin-left:auto; font-size:clamp(46px,14.1vw,64px); line-height:.91; letter-spacing:-.045em; transform:none; }
  .sobre-editorial-cabecera h2 span:first-child { max-width:560px; margin-inline:auto; }
  .sobre-editorial-cabecera h2 span { white-space:normal; }
  .sobre-ruta-escritorio { display:none; }
  .sobre-ruta-movil { z-index:1; top:248px; right:-40px; bottom:auto; left:auto; width:240px; height:42%; display:block; opacity:.52; }
  .sobre-relato { z-index:3; width:min(82%,430px); }
  .sobre-relato-uno { order:3; margin:78px 0 0; }
  .sobre-relato-dos { order:5; margin:126px 0 0; }
  .sobre-relato h3 { font-size:25px; }
  .sobre-relato p { font-size:14px; line-height:1.72; }
  .sobre-coordenadas { z-index:3; order:2; align-self:flex-end; margin-top:48px; font-size:9px; }
  .sobre-firma { z-index:4; order:6; width:min(300px,78vw); margin:64px -10px 0 auto; }
  .sobre-editorial-norte { right:-44px; bottom:7%; left:auto; font-size:46vw; line-height:.8; opacity:.8; writing-mode:vertical-rl; }
  .sobre-topografia { width:190%; transform:translateX(-24%); }
}
@media (max-width:420px) {
  .sobre-mi.sobre-editorial { padding-inline:18px; }
  .sobre-editorial-cabecera h2 { font-size:clamp(42px,13.8vw,58px); }
  .sobre-relato { width:82%; }
}
@media (prefers-reduced-motion:reduce) {
  .sobre-editorial.sobre-editorial-preparada .sobre-ruta-trazo { stroke-dashoffset:0; }
  .sobre-editorial.sobre-editorial-preparada .sobre-relato,.sobre-editorial.sobre-editorial-preparada .sobre-coordenadas,.sobre-editorial.sobre-editorial-preparada .sobre-firma { opacity:1; transform:none; }
  .sobre-editorial.sobre-editorial-preparada .sobre-ruta-nodo,.sobre-editorial.sobre-editorial-preparada .sobre-brujula { opacity:1; }
}
.icono-servicio img { width:48px; height:48px; display:block; object-fit:contain; }
.widget-icon-imagen { width:48px; height:48px; display:block; object-fit:contain; justify-self:center; }
.hero { position:relative; overflow:hidden; }
.hero-cristal-prueba { position:absolute; top:52%; right:-10%; width:min(68vw,940px); transform:translateY(-50%); z-index:1; opacity:0.95; pointer-events:none; isolation:isolate; }
.hero-cristal-prueba img { display:block; width:100%; height:auto; filter:drop-shadow(0 18px 34px rgba(87,133,255,0.20)); animation:cristal-flota 18s ease-in-out infinite; }
.hero-cristal-prueba::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,rgba(255,255,255,0) 30%,rgba(255,255,255,0.10) 50%,rgba(255,255,255,0) 70%); background-size:250% 250%; background-position:-150% -150%; -webkit-mask-image:url("figura-cristal.png"); mask-image:url("figura-cristal.png"); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-size:100% 100%; mask-size:100% 100%; -webkit-mask-position:center; mask-position:center; mix-blend-mode:screen; animation:cristal-brillo 12s linear infinite; }
.hero-copy,.hero-acciones,.hero-ventajas,.scroll-indicator { position:relative; z-index:2; }
@keyframes cristal-flota {
  0%,100% { transform:translateY(0) scale(1) rotate(0deg); }
  50% { transform:translateY(-10px) scale(1.02) rotate(-0.5deg); }
}
@keyframes cristal-brillo {
  from { background-position:-150% -150%; }
  to { background-position:150% 150%; }
}
@media (max-width:900px) {
  .hero-cristal-prueba { width:120%; right:-42%; opacity:0.45; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-cristal-prueba img,.hero-cristal-prueba::after { animation:none; }
}
.hero-cristal-prueba { width:min(75vw,1080px); right:-4%; }
@media (min-width:2200px) {
  .hero-cristal-prueba { top:50%; left:clamp(900px,38vw,1380px); right:auto; width:clamp(1000px,38vw,1180px); }
}
.hero h1 { position:relative; z-index:3; }
@keyframes cristal-flota {
  0%,100% { transform:translate3d(0,0,0) rotate(0deg); }
  50% { transform:translate3d(-12px,-14px,0) rotate(-0.25deg); }
}
.sobre-editorial-cabecera h2 { font-family:inherit !important; font-weight:700 !important; }
.icono-servicio img { width:48px !important; height:48px !important; max-width:48px !important; max-height:48px !important; display:block !important; object-fit:contain !important; }
.widget-icon-imagen { width:52px !important; height:52px !important; max-width:52px !important; max-height:52px !important; display:block !important; object-fit:contain !important; filter:none !important; }
.widget-item h3 { font-size:12px !important; }
.widget-item p { font-size:11.5px !important; line-height:1.55 !important; }
:root { --ref-text:#5d697b; --ref-line:rgba(17,33,57,.09); --ref-gold:#c28a53; }
html,body { background:#fff !important; }
.pagina,main.pagina { margin-left:0 !important; width:100% !important; max-width:none !important; }
.menu-toggle { display:none !important; }
.sidebar { position:fixed !important; inset:0 0 auto 0 !important; width:100% !important; height:90px !important; min-height:90px !important; padding:0 28px !important; display:grid !important; grid-template-columns:245px minmax(480px,1fr) auto !important; align-items:center !important; column-gap:26px !important; border:0 !important; box-shadow:none !important; z-index:1000 !important; overflow:visible !important; backdrop-filter:blur(10px) !important; }
.sidebar-servicios,.sidebar-copy { display:none !important; }
.brand { margin:0 !important; padding:0 !important 0 !important 68px !important; justify-content:flex-start !important; text-decoration:none !important; gap:0 !important; }
.brand::before { content:""; position:absolute; left:0; top:50%; width:54px; height:54px; transform:translateY(-50%); border-radius:50%; background-image:url("logo-original.png"); background-repeat:no-repeat; background-position:center; background-size:contain; box-shadow:0 0 0 1px rgba(12,24,49,.05); }
.brand-fallback strong { color:var(--ref-dark); font-family:inherit; font-size:18px; font-weight:800; letter-spacing:-.02em; white-space:nowrap; }
.brand-fallback strong span { color:var(--ref-blue); }
.brand-fallback small { margin-top:5px; color:#5c6678; font-size:9px; font-weight:700; letter-spacing:.08em; white-space:nowrap; }
.nav-principal { display:flex !important; align-items:center !important; justify-content:center !important; gap:clamp(20px,1.7vw,32px) !important; padding:0 !important; }
.nav-principal a,.nav-principal a.activo { position:relative !important; width:auto !important; min-width:0 !important; height:90px !important; margin:0 !important; display:inline-flex !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; color:#1c2436 !important; font-family:inherit !important; font-size:13px !important; white-space:nowrap !important; }
.nav-principal a span { display:none !important; }
.nav-principal a.activo { color:var(--ref-blue) !important; }
.nav-principal a.activo::after { content:""; position:absolute; left:0; right:0; bottom:19px; height:2px; border-radius:999px; background:var(--ref-blue); }
.sidebar-bottom { display:flex !important; justify-content:flex-end !important; gap:16px !important; margin:0 !important; padding:0 !important; white-space:nowrap !important; }
.sidebar-estado { display:flex !important; align-items:center !important; margin:0 2px 0 0 !important; flex-wrap:nowrap !important; }
.estado-hora { font-size:11px !important; color:#657083 !important; }
.estado-agenda { min-height:30px !important; padding:0 12px !important; border-radius:999px !important; display:inline-flex !important; align-items:center !important; gap:7px !important; background:#eaf7e7 !important; color:#2e8045 !important; font-weight:600 !important; text-decoration:none !important; }
.estado-agenda i { width:6px !important; height:6px !important; display:block !important; border-radius:50% !important; background:#2ac95d !important; }
.sidebar-contacto { display:inline-flex !important; align-items:center !important; justify-content:center !important; width:40px !important; min-width:40px !important; height:40px !important; border:1px solid rgba(7,25,48,.22) !important; background:rgba(255,255,255,.7) !important; border-radius:50% !important; color:#1a2437 !important; text-decoration:none !important; }
.sidebar-contacto svg { flex:0 0 auto !important; stroke:#1a2437 !important; fill:none !important; }
.sidebar-contacto > span { display:none !important; }
.sonido-toggle { top:102px !important; }
#inicio.hero.hero-ref { position:relative !important; padding-top:90px !important; overflow:hidden !important; isolation:isolate !important; display:block !important; background:#ffffff !important; box-shadow:none !important; }
#inicio.hero.hero-ref .hero-ref-fondo { object-position:60% center !important; z-index:-3 !important; pointer-events:none !important; user-select:none !important; }
#inicio.hero.hero-ref .hero-ref-velo { position:absolute !important; inset:90px 0 0 0 !important; z-index:-2 !important; pointer-events:none !important; background:linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.99) 31%,rgba(255,255,255,.92) 41%,rgba(255,255,255,.36) 52%,rgba(255,255,255,0) 64%) !important; }
#inicio.hero.hero-ref .hero-contenido { position:relative !important; z-index:2 !important; width:600px !important; max-width:calc(100% - 100px) !important; margin-left:82px !important; padding:122px 0 128px !important; }
#inicio.hero.hero-ref .eyebrow { margin:0 0 30px !important; padding:0 !important; color:var(--ref-blue) !important; font-family:inherit !important; line-height:1.2 !important; font-weight:800 !important; text-transform:uppercase !important; }
#inicio.hero.hero-ref #hero-title { max-width:600px !important; margin:0 !important; padding:0 !important; font-family:inherit !important; }
#inicio.hero.hero-ref #hero-title em { display:inline !important; font-family:inherit !important; font-weight:800 !important; letter-spacing:inherit !important; }
#inicio.hero.hero-ref .hero-texto { width:520px !important; margin:32px 0 0 !important; padding:0 !important; font-family:inherit !important; }
#inicio.hero.hero-ref .hero-acciones { display:flex !important; align-items:center !important; margin:34px 0 0 !important; }
#inicio.hero.hero-ref .hero-acciones .boton { padding:0 24px !important; border-radius:6px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:16px !important; font-family:inherit !important; text-decoration:none !important; box-shadow:none !important; }
#inicio.hero.hero-ref .boton-primario { min-width:240px !important; background:var(--ref-blue) !important; border:1px solid var(--ref-blue) !important; color:#fff !important; box-shadow:0 10px 20px rgba(11,108,255,.16) !important; }
#inicio.hero.hero-ref .boton-secundario-ref { min-width:162px !important; color:#1c2436 !important; background:rgba(255,255,255,.9) !important; border:1px solid rgba(28,36,54,.16) !important; }
#inicio.hero.hero-ref .hero-ventajas { display:flex !important; align-items:center !important; margin:34px 0 0 !important; color:#536071 !important; font-family:inherit !important; font-weight:500 !important; }
#inicio.hero.hero-ref .hero-ventajas li { gap:8px !important; border-right:1px solid rgba(28,36,54,.12) !important; }
#inicio.hero.hero-ref .hero-ventajas li span { width:14px !important; height:14px !important; border:1.5px solid var(--ref-blue) !important; border-radius:50% !important; display:grid !important; place-items:center !important; color:var(--ref-blue) !important; font-size:8px !important; line-height:1 !important; font-weight:800 !important; }
#inicio.hero.hero-ref .scroll-ref { position:absolute !important; left:82px !important; bottom:46px !important; z-index:2 !important; gap:18px !important; color:#2d4058 !important; text-decoration:none !important; font-family:inherit !important; font-weight:700 !important; letter-spacing:.28em !important; text-transform:uppercase !important; }
#inicio.hero.hero-ref .scroll-ref::before { width:68px; height:1px; background:linear-gradient(90deg,rgba(194,138,83,.18) 0%,var(--ref-gold) 35%,rgba(194,138,83,.18) 100%); animation:explorePulse 2.4s ease-in-out infinite; }
@keyframes explorePulse {
  0%,100% { opacity:.55; transform:scaleX(.78); }
  50% { opacity:1; transform:scaleX(1); }
}
@media (max-width:1260px) {
  .sidebar { grid-template-columns:230px minmax(430px,1fr) auto !important; }
  .nav-principal { gap:18px !important; }
  .sidebar-bottom { gap:12px !important; }
  #inicio.hero.hero-ref .hero-contenido { width:560px !important; }

}
@media (max-width:1100px) {
  .sidebar { grid-template-columns:220px 1fr auto !important; }
  .nav-principal a:nth-child(n+6) { display:none !important; }
  .sidebar-contacto span { display:none !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { object-position:64% center !important; }
}
@media (max-width:760px) {
  .sidebar { height:74px !important; min-height:74px !important; grid-template-columns:1fr auto !important; padding:0 16px !important; }
  .brand { width:220px !important; min-width:220px !important; height:54px !important; }
  .brand::before { width:46px !important; height:46px !important; }
  .brand-fallback strong { font-size:16px !important; }
  .brand-fallback small { font-size:8px !important; }
  .nav-principal { display:none !important; }
  .estado-hora { display:none !important; }
  .estado-agenda { display:none !important; }
  .sidebar-contacto { display:none !important; }
  #inicio.hero.hero-ref { padding-top:74px !important; min-height:860px !important; height:auto !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { inset:74px 0 0 0 !important; height:calc(100% - 74px) !important; object-position:68% center !important; }
  #inicio.hero.hero-ref .hero-ref-velo { inset:74px 0 0 0 !important; background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 43%,rgba(255,255,255,.80) 57%,rgba(255,255,255,.14) 77%) !important; }
  #inicio.hero.hero-ref .hero-contenido { width:calc(100% - 36px) !important; max-width:none !important; margin-left:18px !important; padding:84px 0 300px !important; }
  #inicio.hero.hero-ref #hero-title { font-size:clamp(42px,12vw,56px) !important; }
  #inicio.hero.hero-ref .hero-texto { font-size:16px !important; }
  #inicio.hero.hero-ref .hero-acciones { flex-wrap:wrap !important; }
  #inicio.hero.hero-ref .hero-ventajas { flex-wrap:wrap !important; row-gap:12px !important; }
  #inicio.hero.hero-ref .hero-ventajas li { padding:0 16px 0 0 !important; border-right:0 !important; }
  #inicio.hero.hero-ref .scroll-ref { left:18px !important; bottom:18px !important; }
}
:root { --ref-dark:#0e1831; }
html,body,#inicio.hero.hero-ref { background:#ffffff !important; }
#inicio.hero.hero-ref .hero-ref-fondo { inset:90px 0 0 0 !important; width:100% !important; height:calc(100% - 90px) !important; object-fit:contain !important; }
#inicio.hero.hero-ref .hero-contenido { width:690px !important; max-width:calc(100% - 120px) !important; margin-left:clamp(72px,6.3vw,100px) !important; padding:132px 0 112px !important; }
#inicio.hero.hero-ref #hero-title { max-width:690px !important; font-size:58px !important; line-height:.98 !important; }
#inicio.hero.hero-ref .hero-texto { width:525px !important; margin-top:28px !important; line-height:1.58 !important; }
#inicio.hero.hero-ref .scroll-ref { left:clamp(72px,6.3vw,100px) !important; bottom:42px !important; gap:13px !important; }
#inicio.hero.hero-ref .scroll-ref::before { content:""; background:linear-gradient(90deg,rgba(194,138,83,.15) 0%,rgba(194,138,83,.95) 58%,rgba(194,138,83,.10) 100%) !important; animation:exploreGlow 2.6s ease-in-out infinite !important; transform-origin:left center; }
@keyframes exploreGlow {
  0%,100% { opacity:.35; transform:scaleX(.72); }
  50% { opacity:1; transform:scaleX(1); }
}
.sidebar { grid-template-columns:245px minmax(500px,1fr) auto auto !important; column-gap:30px !important; padding:0 32px !important; }
.brand { width:245px !important; min-width:245px !important; padding-left:0 !important; background-image:url("logo-original.png") !important; background-repeat:no-repeat !important; background-position:left center !important; background-size:205px auto !important; }
.brand::before,.brand::after,.brand-fallback { display:none !important; content:none !important; }
.sidebar-estado { padding:0 !important; margin:0 8px 0 0 !important; text-decoration:none !important; }
.sidebar-estado::before,.sidebar-estado::after,.estado-hora::before,.estado-hora::after { content:none !important; display:none !important; }
.estado-hora #hora { display:inline !important; }
.sidebar-bottom { gap:24px !important; }
.sidebar-contacto { line-height:1 !important; }
.sidebar-contacto > span:not(.contacto-flecha) { display:inline-block !important; margin:0 !important; padding:0 !important; }
@media (max-width:1260px) {
  .sidebar { grid-template-columns:220px minmax(430px,1fr) auto auto !important; column-gap:18px !important; padding:0 22px !important; }
  .brand { width:220px !important; min-width:220px !important; background-size:185px auto !important; }
  .sidebar-bottom { gap:16px !important; }
  #inicio.hero.hero-ref .hero-contenido { width:630px !important; margin-left:68px !important; }
  #inicio.hero.hero-ref #hero-title { font-size:54px !important; }
  #inicio.hero.hero-ref .scroll-ref { left:68px !important; }
}
@media (max-width:1100px) {
  #inicio.hero.hero-ref #hero-title em { white-space:normal !important; }
  .sidebar-contacto > span:not(.contacto-flecha) { display:none !important; }
}
:root { --ref-blue:#0b6cff; --ref-dark:#0f1830; --ref-text:#667085; --ref-line:rgba(17,33,57,.10); --ref-gold:#c58a4f; }
.sidebar { grid-template-columns:290px minmax(540px,1fr) auto !important; padding:0 30px !important; height:92px !important; min-height:92px !important; background:rgba(255,255,255,.98) !important; border-bottom:1px solid var(--ref-line) !important; }
.brand { position:relative !important; width:290px !important; min-width:290px !important; height:60px !important; display:flex !important; align-items:center !important; padding-left:74px !important; overflow:visible !important; }
.brand::before { position:absolute !important; left:0 !important; top:50% !important; transform:translateY(-50%) !important; width:56px !important; height:56px !important; border-radius:50% !important; box-shadow:0 0 0 1px rgba(12,24,49,.05) !important; }
.brand::after { content:none !important; display:none !important; }
.brand-fallback strong { color:var(--ref-dark) !important; font-size:17px !important; font-weight:800 !important; letter-spacing:-.015em !important; white-space:nowrap !important; }
.brand-fallback strong span { color:var(--ref-blue) !important; }
.brand-fallback small { margin-top:5px !important; color:#5f6879 !important; font-size:8.5px !important; font-weight:700 !important; letter-spacing:.08em !important; white-space:nowrap !important; }
.nav-principal { gap:28px !important; margin:0 !important; }
.nav-principal a,.nav-principal a.activo { height:92px !important; font-size:14px !important; font-weight:600 !important; padding:0 1px !important; align-items:center !important; }
.nav-principal a.activo::after { bottom:19px !important; width:auto !important; border-radius:999px !important; background:var(--ref-blue) !important; }
.sidebar-bottom { gap:26px !important; align-items:center !important; }
.sidebar-estado { position:relative !important; gap:10px !important; padding-right:22px !important; margin-right:0 !important; border:0 !important; white-space:nowrap !important; }
.sidebar-estado::after { right:0 !important; height:26px !important; background:var(--ref-line) !important; }
.estado-hora { font-size:12px !important; color:#5f6879 !important; text-decoration:none !important; box-shadow:none !important; padding:0 !important; margin:0 !important; }
.estado-hora::before,.estado-hora::after { content:none !important; display:none !important; }
.estado-agenda { min-height:31px !important; padding:0 13px !important; font-size:11px !important; }
.sidebar-contacto { gap:9px !important; font-size:12px !important; white-space:nowrap !important; margin:0 !important; padding:0 !important; }
.sidebar-contacto + .sidebar-contacto { margin-left:4px !important; }
.sidebar-contacto svg { width:18px !important; height:18px !important; flex:0 0 18px !important; margin:0 !important; }
.sidebar-contacto::before,.sidebar-contacto::after { content:none !important; display:none !important; }
.sidebar-contacto .contacto-flecha { display:none !important; }
#inicio.hero.hero-ref,html,body { background:#ffffff !important; }
#inicio.hero.hero-ref { padding-top:92px !important; }
#inicio.hero.hero-ref .hero-ref-fondo { position:absolute !important; top:92px !important; left:auto !important; width:66% !important; height:calc(100% - 92px) !important; background:#ffffff !important; filter:none !important; opacity:1 !important; }
#inicio.hero.hero-ref::before,#inicio.hero.hero-ref::after { background:none !important; }
#inicio.hero.hero-ref .hero-contenido { width:740px !important; max-width:calc(100% - 140px) !important; margin-left:clamp(82px,7vw,120px) !important; padding:126px 0 110px !important; }
#inicio.hero.hero-ref .eyebrow { margin:0 0 28px !important; font-size:13px !important; }
#inicio.hero.hero-ref #hero-title { max-width:740px !important; font-size:64px !important; letter-spacing:-.045em !important; font-weight:800 !important; color:var(--ref-dark) !important; }
#inicio.hero.hero-ref #hero-title em { color:var(--ref-blue) !important; font-style:normal !important; font-weight:700 !important; letter-spacing:-.038em !important; }
#inicio.hero.hero-ref .hero-texto { width:560px !important; max-width:100% !important; margin-top:30px !important; color:var(--ref-text) !important; font-size:18px !important; line-height:1.60 !important; font-weight:400 !important; }
#inicio.hero.hero-ref .hero-acciones { margin-top:34px !important; gap:18px !important; }
#inicio.hero.hero-ref .hero-acciones .boton { min-height:58px !important; font-size:14px !important; font-weight:700 !important; }
#inicio.hero.hero-ref .boton-primario { min-width:242px !important; }
#inicio.hero.hero-ref .boton-secundario-ref { min-width:166px !important; }
#inicio.hero.hero-ref .hero-ventajas { margin-top:31px !important; font-size:12px !important; list-style:none !important; padding:0 !important; }
#inicio.hero.hero-ref .hero-ventajas li { padding:0 20px !important; list-style:none !important; }
#inicio.hero.hero-ref .hero-ventajas li::before,#inicio.hero.hero-ref .hero-ventajas li::after { content:none !important; display:none !important; }
#inicio.hero.hero-ref .hero-ventajas li span { margin:0 !important; flex:0 0 auto !important; }
#inicio.hero.hero-ref .scroll-ref { left:clamp(82px,7vw,120px) !important; bottom:40px !important; font-size:9px !important; color:#2e4058 !important; }
#inicio.hero.hero-ref .scroll-ref::before { width:62px !important; background:linear-gradient(90deg,rgba(197,138,79,.14) 0%,rgba(197,138,79,.98) 56%,rgba(197,138,79,.12) 100%) !important; animation:exploreGlowV6 2.6s ease-in-out infinite !important; transform-origin:left center !important; }
@keyframes exploreGlowV6 {
  0%,100% { opacity:.38; transform:scaleX(.72); }
  50% { opacity:1; transform:scaleX(1); }
}
.sonido-toggle { top:108px !important; right:18px !important; z-index:8 !important; }
@media (max-width:1380px) {
  .sidebar { grid-template-columns:270px minmax(470px,1fr) auto !important; column-gap:24px !important; }


  .sidebar-bottom { gap:20px !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { width:69% !important; }
  #inicio.hero.hero-ref .hero-contenido { margin-left:72px !important; }

  #inicio.hero.hero-ref .scroll-ref { left:72px !important; }
}
@media (max-width:1220px) {
  .sidebar { grid-template-columns:248px minmax(420px,1fr) auto !important; column-gap:18px !important; padding:0 18px !important; }
  .brand { width:248px !important; min-width:248px !important; padding-left:70px !important; }
  .brand::before { width:52px !important; height:52px !important; }
  .nav-principal { gap:18px !important; }
  .nav-principal a,.nav-principal a.activo { font-size:13px !important; }
  .sidebar-bottom { gap:14px !important; }
  .sidebar-contacto > span:not(.contacto-flecha) { display:none !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { width:72% !important; }
  #inicio.hero.hero-ref .hero-contenido { width:630px !important; max-width:calc(100% - 90px) !important; margin-left:56px !important; }
  #inicio.hero.hero-ref #hero-title { font-size:56px !important; }
  #inicio.hero.hero-ref #hero-title em { white-space:normal !important; }
  #inicio.hero.hero-ref .hero-texto { width:520px !important; font-size:17px !important; }
  #inicio.hero.hero-ref .scroll-ref { left:56px !important; }
}
@media (max-width:920px) {
  .sidebar { grid-template-columns:1fr auto !important; height:78px !important; min-height:78px !important; }
  .nav-principal { display:none !important; }
  .estado-hora,.estado-agenda,.sidebar-contacto { display:none !important; }
  #inicio.hero.hero-ref { padding-top:78px !important; min-height:860px !important; height:auto !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { top:78px !important; width:100% !important; height:calc(100% - 78px) !important; object-fit:contain !important; object-position:right center !important; }
  #inicio.hero.hero-ref .hero-contenido { width:calc(100% - 40px) !important; max-width:none !important; margin-left:20px !important; padding:92px 0 300px !important; }
  #inicio.hero.hero-ref #hero-title { font-size:clamp(44px,10vw,56px) !important; }
  #inicio.hero.hero-ref .hero-texto { width:100% !important; max-width:540px !important; }
  #inicio.hero.hero-ref .hero-acciones { flex-wrap:wrap !important; }
  #inicio.hero.hero-ref .hero-ventajas { flex-wrap:wrap !important; row-gap:12px !important; }
  #inicio.hero.hero-ref .hero-ventajas li { padding:0 16px 0 0 !important; border-right:0 !important; }
  #inicio.hero.hero-ref .scroll-ref { left:20px !important; bottom:22px !important; }
}
:root { --v7-blue:#0b6cff; --v7-dark:#101a32; --v7-text:#5f6b7d; --v7-line:rgba(16,32,54,.10); }
.sidebar { grid-template-columns:300px minmax(560px,1fr) auto auto !important; column-gap:34px !important; padding:0 34px !important; height:94px !important; min-height:94px !important; border-bottom:1px solid var(--v7-line) !important; background:#fff !important; }
.brand { width:300px !important; min-width:300px !important; height:64px !important; padding-left:78px !important; background:none !important; }
.brand::before { width:60px !important; height:60px !important; background:url("logo-original.png") center/contain no-repeat !important; display:block !important; content:"" !important; }
.brand-fallback { display:flex !important; flex-direction:column !important; line-height:1 !important; }
.brand-fallback strong { font-size:19px !important; font-weight:700 !important; letter-spacing:.005em !important; transform:scaleX(1.04); }
.brand-fallback small { margin-top:6px !important; font-size:9.2px !important; letter-spacing:.075em !important; color:#4f5a6a !important; }
.nav-principal { gap:30px !important; justify-content:flex-start !important; }
.nav-principal a,.nav-principal a.activo { height:94px !important; font-size:14.5px !important; font-weight:500 !important; padding:0 !important; }
.sidebar::before,.sidebar::after { content:none !important; display:none !important; }
.sidebar-estado::before { content:none !important; display:none !important; }
.sidebar-estado::after { right:-10px !important; background:var(--v7-line) !important; }
.estado-hora { font-size:12.5px !important; }
.estado-agenda { font-size:11.5px !important; min-height:32px !important; padding:0 14px !important; }
.sidebar-bottom { gap:30px !important; flex-wrap:nowrap !important; }
.sidebar-contacto { gap:10px !important; font-size:13px !important; font-weight:500 !important; margin:0 0 0 4px !important; min-width:max-content !important; }
.sidebar-contacto + .sidebar-contacto { margin-left:10px !important; }
.sidebar-contacto svg { width:19px !important; height:19px !important; flex:0 0 19px !important; }
#inicio.hero.hero-ref { padding-top:94px !important; background:#fff !important; min-height:100vh !important; height:100vh !important; }
#inicio.hero.hero-ref .hero-ref-fondo { top:94px !important; right:0 !important; width:68% !important; height:calc(100% - 94px) !important; object-fit:cover !important; object-position:right center !important; background:#fff !important; }
#inicio.hero.hero-ref .hero-ref-velo { display:none !important; }
#inicio.hero.hero-ref::before,#inicio.hero.hero-ref::after { content:none !important; display:none !important; }
#inicio.hero.hero-ref .hero-contenido { width:760px !important; max-width:calc(100% - 150px) !important; margin-left:clamp(96px,7.4vw,132px) !important; padding:132px 0 110px !important; }
#inicio.hero.hero-ref .eyebrow { font-size:13.5px !important; letter-spacing:.17em !important; margin-bottom:29px !important; }
#inicio.hero.hero-ref #hero-title { max-width:760px !important; font-size:66px !important; line-height:.96 !important; letter-spacing:-.043em !important; font-weight:760 !important; }
#inicio.hero.hero-ref #hero-title em { font-size:1em !important; font-weight:650 !important; letter-spacing:-.034em !important; white-space:nowrap !important; }
#inicio.hero.hero-ref .hero-texto { width:585px !important; margin-top:31px !important; font-size:19px !important; line-height:1.62 !important; color:var(--v7-text) !important; }
#inicio.hero.hero-ref .hero-acciones { margin-top:35px !important; }
#inicio.hero.hero-ref .hero-acciones .boton { font-size:14.5px !important; min-height:59px !important; }
#inicio.hero.hero-ref .hero-ventajas { margin-top:32px !important; font-size:13px !important; }
#inicio.hero.hero-ref .hero-ventajas li { padding:0 22px !important; }
#inicio.hero.hero-ref .scroll-ref { left:clamp(96px,7.4vw,132px) !important; bottom:36px !important; color:#314158 !important; font-size:9.5px !important; letter-spacing:.29em !important; overflow:visible !important; z-index:4 !important; }
#inicio.hero.hero-ref .scroll-ref span { display:inline !important; color:#314158 !important; }
#inicio.hero.hero-ref .scroll-ref::before { width:58px !important; }
.sonido-toggle { top:112px !important; right:22px !important; z-index:9 !important; }
#ecommerce.ecommerce-showcase { display:block !important; width:100% !important; min-height:auto !important; margin:0 !important; padding:0 !important; background:#f7f1e9 !important; overflow:hidden !important; }
#ecommerce .ecommerce-showcase-picture { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; }
#ecommerce .ecommerce-showcase-imagen { display:block !important; width:100% !important; height:auto !important; max-width:none !important; object-fit:cover !important; margin:0 !important; }
@media (min-width:1600px) {
  #inicio.hero.hero-ref .hero-ref-fondo { width:72% !important; max-width:1200px !important; object-position:right center !important; }
  #inicio.hero.hero-ref .hero-contenido { width:800px !important; margin-left:clamp(110px,7vw,150px) !important; }
  #inicio.hero.hero-ref #hero-title { font-size:70px !important; }
  #inicio.hero.hero-ref .hero-texto { font-size:20px !important; width:610px !important; }
  #inicio.hero.hero-ref .hero-ventajas { font-size:13.5px !important; }
}
@media (max-width:1380px) {
  .sidebar { grid-template-columns:270px minmax(470px,1fr) auto auto !important; column-gap:22px !important; padding:0 24px !important; }
  .brand { width:270px !important; min-width:270px !important; padding-left:72px !important; }
  .brand::before { width:55px !important; height:55px !important; }
  .nav-principal { gap:22px !important; }
  .nav-principal a,.nav-principal a.activo { font-size:13.5px !important; }
  .sidebar-bottom { gap:22px !important; }
  .sidebar-contacto { font-size:12.5px !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { width:71% !important; }
  #inicio.hero.hero-ref .hero-contenido { width:690px !important; max-width:calc(100% - 105px) !important; margin-left:74px !important; }
  #inicio.hero.hero-ref #hero-title { font-size:60px !important; }
  #inicio.hero.hero-ref .hero-texto { font-size:18px !important; width:545px !important; }
  #inicio.hero.hero-ref .hero-ventajas { font-size:12.5px !important; }
  #inicio.hero.hero-ref .scroll-ref { left:74px !important; }
}
@media (max-width:1180px) {
  .sidebar { grid-template-columns:250px minmax(410px,1fr) auto auto !important; padding:0 18px !important; column-gap:17px !important; }
  .nav-principal { gap:17px !important; }
  .nav-principal a,.nav-principal a.activo { font-size:13px !important; }
  .sidebar-contacto > span:not(.contacto-flecha) { display:none !important; }
  #inicio.hero.hero-ref .hero-ref-fondo { width:73% !important; }
  #inicio.hero.hero-ref .hero-contenido { width:630px !important; max-width:calc(100% - 90px) !important; margin-left:58px !important; }
  #inicio.hero.hero-ref #hero-title { font-size:56px !important; }
  #inicio.hero.hero-ref #hero-title em { white-space:normal !important; }
  #inicio.hero.hero-ref .hero-texto { width:510px !important; font-size:17px !important; }
  #inicio.hero.hero-ref .scroll-ref { left:58px !important; }
}
:root { --v8-blue:#0b6cff; --v8-dark:#101a32; --v8-text:#5f6b7d; --v8-line:rgba(16,32,54,.10); --v8-gold:#c58a4f; }
.sidebar { height:96px !important; min-height:96px !important; }
.brand { height:68px !important; padding-left:82px !important; }
.brand::before { width:64px !important; height:64px !important; }
.brand-fallback strong { font-size:19.5px !important; font-weight:680 !important; transform:scaleX(1.045); transform-origin:left center; }
.brand-fallback small { font-size:9.5px !important; font-weight:500 !important; }
.nav-principal a,.nav-principal a.activo { height:96px !important; font-size:15px !important; }
.nav-principal a.activo::after { left:0 !important; right:0 !important; width:100% !important; bottom:20px !important; background:linear-gradient(90deg,#0b6cff 0%,#0b6cff 38%,#8fc1ff 50%,#0b6cff 62%,#0b6cff 100%) !important; background-size:230% 100% !important; animation:navKitt 2.9s ease-in-out infinite !important; box-shadow:0 0 7px rgba(11,108,255,.18); }
@keyframes navKitt {
  0%,100% { background-position:100% 0; }
  50% { background-position:0% 0; }
}
.sidebar-estado { border-left:0 !important; padding-left:0 !important; margin-left:0 !important; }
.sidebar-estado::before,.estado-hora::before,.estado-hora::after { content:none !important; display:none !important; }
.estado-hora { border:0 !important; border-left:0 !important; font-size:13.5px !important; font-weight:500 !important; }
.estado-agenda { min-height:34px !important; font-size:12.5px !important; padding:0 15px !important; }
.sidebar-contacto svg { width:22px !important; height:22px !important; flex:0 0 22px !important; }
#inicio.hero.hero-ref { padding-top:96px !important; }
#inicio.hero.hero-ref .hero-ref-fondo { top:96px !important; height:calc(100% - 96px) !important; }
#inicio.hero.hero-ref #hero-title em { font-weight:620 !important; letter-spacing:-.032em !important; }
#inicio.hero.hero-ref .hero-texto { width:605px !important; font-size:20px !important; line-height:1.68 !important; color:var(--v8-text) !important; }
#inicio.hero.hero-ref .hero-ventajas { gap:0 !important; font-size:13.5px !important; margin-top:33px !important; }
#inicio.hero.hero-ref .hero-ventajas li { display:inline-flex !important; align-items:center !important; gap:9px !important; padding:0 18px !important; border-right:1px solid rgba(16,32,54,.11) !important; white-space:nowrap !important; }
#inicio.hero.hero-ref .hero-ventajas li:first-child { padding-left:0 !important; }
#inicio.hero.hero-ref .hero-ventajas li:last-child { border-right:0 !important; }
#inicio.hero.hero-ref .hero-ventajas .ventaja-icono { width:22px !important; height:22px !important; border:0 !important; border-radius:0 !important; display:grid !important; place-items:center !important; color:var(--v8-blue) !important; background:transparent !important; flex:0 0 22px !important; }
#inicio.hero.hero-ref .hero-ventajas .ventaja-icono svg { width:20px !important; height:20px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.7 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
#inicio.hero.hero-ref .scroll-ref { align-items:center !important; gap:14px !important; font-size:10px !important; color:#26364d !important; letter-spacing:.30em !important; }
#inicio.hero.hero-ref .scroll-ref::before { width:64px !important; background:linear-gradient(90deg,rgba(197,138,79,.18) 0%,rgba(197,138,79,.95) 44%,#fff5e8 51%,rgba(197,138,79,.95) 58%,rgba(197,138,79,.16) 100%) !important; background-size:220% 100% !important; animation:exploreActual 2.7s ease-in-out infinite !important; transform:none !important; }
@keyframes exploreActual {
  0%,100% { background-position:100% 0; opacity:.58; }
  50% { background-position:0% 0; opacity:1; }
}
.rumbo-experiencia.rumbo-neon { height:clamp(480px,52vw,620px) !important; background:#081328 !important; }
.rumbo-neon-fondo { position:absolute; inset:0; z-index:-3; overflow:hidden; background:radial-gradient(circle at 72% 42%,rgba(115,31,197,.18),transparent 34%),linear-gradient(180deg,#0d1834 0%,#07101f 100%); }
.rumbo-neon-svg { width:110%; height:115%; position:absolute; left:-5%; top:-8%; overflow:visible; }
.onda-neon-grupo { transform-origin:center; will-change:transform,opacity; }
.onda-neon-grupo-a { animation:ondaFluyeA 7s ease-in-out infinite alternate; }
.onda-neon-grupo-b { animation:ondaFluyeB 8.5s ease-in-out infinite alternate; }
@keyframes ondaFluyeA {
  0% { transform:translate3d(-30px,8px,0) scaleY(.98); opacity:.58; }
  50% { transform:translate3d(24px,-12px,0) scaleY(1.04); opacity:.82; }
  100% { transform:translate3d(58px,6px,0) scaleY(1); opacity:.66; }
}
@keyframes ondaFluyeB {
  0% { transform:translate3d(24px,-8px,0) scaleY(1.02); opacity:.52; }
  50% { transform:translate3d(-28px,12px,0) scaleY(.96); opacity:.78; }
  100% { transform:translate3d(-55px,-4px,0) scaleY(1.03); opacity:.58; }
}
.rumbo-neon-overlay { position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(90deg,rgba(4,12,25,.72) 0%,rgba(4,12,25,.46) 38%,rgba(4,12,25,.10) 70%,rgba(4,12,25,.32) 100%); }
.rumbo-neon .rumbo-contenido { width:min(1160px,calc(100% - 100px)) !important; height:100% !important; margin:0 auto !important; display:flex !important; align-items:center !important; }
.rumbo-neon .rumbo-copy { max-width:830px !important; padding:24px 0 !important; }
.rumbo-neon .eyebrow { color:#6ec5ff !important; font-size:12px !important; letter-spacing:.18em !important; font-weight:800 !important; text-transform:uppercase !important; margin-bottom:18px !important; }
.rumbo-neon h2 { margin:0 !important; color:#fff !important; font-size:clamp(42px,4.6vw,68px) !important; line-height:.98 !important; letter-spacing:-.04em !important; font-weight:760 !important; }
.rumbo-neon h2 em { color:#6bc3ff !important; font-style:normal !important; font-weight:650 !important; }
.rumbo-neon .rumbo-copy > p:not(.eyebrow) { max-width:760px !important; margin:25px 0 0 !important; color:rgba(255,255,255,.82) !important; font-size:17px !important; line-height:1.62 !important; }
.rumbo-neon .rumbo-indicacion { display:inline-flex !important; align-items:center !important; gap:14px !important; margin-top:25px !important; color:#d9efff !important; font-size:12px !important; font-weight:600 !important; }
.rumbo-neon .rumbo-indicacion i { width:58px !important; height:1px !important; display:block !important; background:linear-gradient(90deg,rgba(107,195,255,.15),#6bc3ff) !important; animation:rumboLinea 2.8s ease-in-out infinite !important; transform-origin:left center; }
@keyframes rumboLinea {
  0%,100% { opacity:.45; transform:scaleX(.72); }
  50% { opacity:1; transform:scaleX(1); }
}
@media (max-width:1200px) {
  #inicio.hero.hero-ref .hero-texto { width:560px !important; }
  #inicio.hero.hero-ref .hero-ventajas { font-size:12.5px !important; }
  #inicio.hero.hero-ref .hero-ventajas li { padding:0 12px !important; gap:7px !important; }
  #inicio.hero.hero-ref .hero-ventajas .ventaja-icono { width:19px !important; height:19px !important; flex-basis:19px !important; }
  #inicio.hero.hero-ref .hero-ventajas .ventaja-icono svg { width:18px !important; height:18px !important; }
}
@media (max-width:800px) {
  .rumbo-experiencia.rumbo-neon { min-height:560px !important; height:auto !important; }
  .rumbo-neon .rumbo-contenido { width:calc(100% - 36px) !important; min-height:560px !important; }
  .rumbo-neon h2 { font-size:clamp(38px,11vw,52px) !important; }
  .rumbo-neon .rumbo-copy > p:not(.eyebrow) { font-size:16px !important; }
}
#inicio.hero.hero-ref #hero-title { font-size:67px !important; font-weight:740 !important; letter-spacing:-.041em !important; }
#inicio.hero.hero-ref #hero-title em { font-weight:590 !important; letter-spacing:-.028em !important; }
#inicio.hero.hero-ref .hero-texto { font-size:20.5px !important; line-height:1.70 !important; }
#inicio.hero.hero-ref .hero-ventajas .ventaja-icono { width:24px !important; height:24px !important; flex-basis:24px !important; }
#inicio.hero.hero-ref .hero-ventajas .ventaja-icono svg { width:22px !important; height:22px !important; stroke-width:1.65 !important; }
.sidebar-contacto svg { width:23px !important; height:23px !important; flex-basis:23px !important; }
.sidebar-bottom,.sidebar-estado,.estado-hora { border-left:0 !important; box-shadow:none !important; background-image:none !important; }
.sidebar-bottom::before,.sidebar-bottom::after,.sidebar-estado::before,.estado-hora::before,.estado-hora::after { content:none !important; display:none !important; }
.estado-hora { padding-left:0 !important; margin-left:0 !important; }
.sidebar-estado::after { content:"" !important; display:block !important; position:absolute !important; right:-11px !important; top:50% !important; width:1px !important; height:28px !important; transform:translateY(-50%) !important; background:rgba(16,32,54,.10) !important; }
.nav-principal a.activo::after { height:2px !important; background:linear-gradient(90deg,#0b6cff 0%,#0b6cff 28%,#d8eaff 48%,#6fb1ff 53%,#0b6cff 72%,#0b6cff 100%) !important; background-size:260% 100% !important; animation:navKittV9 2.2s linear infinite !important; box-shadow:0 0 8px rgba(11,108,255,.28) !important; }
@keyframes navKittV9 {
  from { background-position:120% 0; }
  to { background-position:-120% 0; }
}
#inicio.hero.hero-ref .scroll-ref { display:inline-flex !important; visibility:visible !important; opacity:1 !important; color:#202f45 !important; z-index:20 !important; bottom:34px !important; }
#inicio.hero.hero-ref .scroll-ref span { display:inline-block !important; visibility:visible !important; opacity:1 !important; color:#202f45 !important; font-size:10px !important; font-weight:650 !important; }
#inicio.hero.hero-ref .scroll-ref::before { content:"" !important; display:block !important; width:66px !important; height:1px !important; background:linear-gradient(90deg,rgba(197,138,79,.18) 0%,rgba(197,138,79,.55) 30%,#fff9ee 48%,rgba(197,138,79,.98) 52%,rgba(197,138,79,.35) 70%,rgba(197,138,79,.12) 100%) !important; background-size:260% 100% !important; animation:exploreV9 2.4s linear infinite !important; }
@keyframes exploreV9 {
  from { background-position:120% 0; }
  to { background-position:-120% 0; }
}
.rumbo-experiencia.rumbo-neon { min-height:520px !important; height:clamp(500px,52vw,620px) !important; background:#0d1024 !important; }
.rumbo-mesh-fondo { position:absolute !important; inset:0 !important; z-index:-3 !important; overflow:hidden !important; background:radial-gradient(circle at 72% 40%,rgba(111,45,255,.20),transparent 40%),#0d1024 !important; }
#gradient-canvas { position:absolute !important; inset:-8% -4% -8% -4% !important; width:108% !important; height:116% !important; display:block !important; --gradient-color-1:#171032; --gradient-color-2:#ef3ca8; --gradient-color-3:#6c43ff; --gradient-color-4:#2e8fff; }
.rumbo-neon-overlay { background:linear-gradient(90deg,rgba(4,10,24,.72) 0%,rgba(4,10,24,.52) 34%,rgba(4,10,24,.16) 66%,rgba(4,10,24,.28) 100%) !important; }
.rumbo-neon h2 { font-size:clamp(44px,4.7vw,70px) !important; font-weight:700 !important; letter-spacing:-.035em !important; }
.rumbo-neon h2 em { font-weight:590 !important; }
@media (max-width:1200px) {
  #inicio.hero.hero-ref #hero-title { font-size:58px !important; }
  #inicio.hero.hero-ref .hero-texto { font-size:18.5px !important; }
}
.rumbo-experiencia.rumbo-neon { position:relative !important; min-height:560px !important; height:clamp(540px,54vw,650px) !important; overflow:hidden !important; background:radial-gradient(circle at 22% 55%,rgba(60,84,170,.16),transparent 28%),linear-gradient(180deg,#08142f 0%,#0a1231 100%) !important; isolation:isolate !important; }
.rumbo-lineas-fondo { position:absolute !important; inset:0 !important; z-index:-3 !important; overflow:hidden !important; }
.rumbo-lineas-svg { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; display:block !important; }
.line-group-top { animation:lineFloatTop 8.8s ease-in-out infinite alternate; transform-origin:center; }
.line-group-bottom { animation:lineFloatBottom 11.5s ease-in-out infinite alternate; transform-origin:center; }
.line-path { fill:none; stroke-linecap:round; }
.line-path.a { stroke:url(#lineaGradA); stroke-width:2.2; }
.line-path.b { stroke:url(#lineaGradB); stroke-width:1.8; opacity:.92; }
@keyframes lineFloatTop {
  0% { transform:translate3d(0px,6px,0) scaleY(1); }
  50% { transform:translate3d(-12px,-5px,0) scaleY(1.01); }
  100% { transform:translate3d(10px,8px,0) scaleY(0.992); }
}
@keyframes lineFloatBottom {
  0% { transform:translate3d(0px,-6px,0) scaleY(1); }
  50% { transform:translate3d(9px,5px,0) scaleY(1.012); }
  100% { transform:translate3d(-10px,-3px,0) scaleY(0.995); }
}
.rumbo-neon-overlay { position:absolute !important; inset:0 !important; z-index:-2 !important; pointer-events:none !important; background:linear-gradient(90deg,rgba(6,14,35,.48) 0%,rgba(6,14,35,.34) 24%,rgba(6,14,35,.20) 40%,rgba(6,14,35,.10) 58%,rgba(6,14,35,.18) 100%) !important; }
.rumbo-neon .rumbo-contenido { max-width:1320px !important; padding-left:clamp(64px,7vw,120px) !important; padding-right:clamp(40px,5vw,80px) !important; }
.rumbo-neon h2 { font-size:clamp(50px,4.9vw,76px) !important; line-height:.97 !important; font-weight:730 !important; letter-spacing:-.038em !important; text-shadow:0 3px 10px rgba(0,0,0,.24) !important; }
.rumbo-neon h2 em { font-weight:640 !important; }
.rumbo-neon p { max-width:820px !important; }
.rumbo-neon .rumbo-sublinea { display:inline-flex !important; align-items:center !important; gap:16px !important; color:#f2f7ff !important; }
.rumbo-neon .rumbo-sublinea::before { width:44px !important; }
@media (max-width:980px) {
  .rumbo-neon h2 { font-size:clamp(42px,8.5vw,60px) !important; }
  .rumbo-neon .rumbo-contenido { padding-left:36px !important; padding-right:28px !important; }
}
#inicio.hero.hero-ref .hero-contenido { padding-top:150px !important; }
#inicio.hero.hero-ref .eyebrow { font-size:14.5px !important; }
.sidebar-estado::after { content:none !important; display:none !important; }
.sidebar-bottom > .sidebar-contacto:first-of-type { position:relative !important; margin-left:2px !important; padding-left:0px !important; }
.sidebar-bottom > .sidebar-contacto:first-of-type svg {
  transform:translateX(3px) !important;
}
.sidebar-bottom > .sidebar-contacto:first-of-type::before { content:"" !important; position:absolute !important; left:-3px !important; top:50% !important; width:1px !important; height:27px !important; display:block !important; background:rgba(14,24,49,.18) !important; transform:translateY(-50%) !important; }
.rumbo-experiencia.rumbo-neon { background:#030712 !important; }
.rumbo-lineas-fondo { display:none !important; }
#canvas-container { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
#canvas-container canvas { width:100% !important; height:100% !important; display:block !important; }
#webgl-fallback { position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 24% 56%,rgba(255,87,138,.16),transparent 38%),radial-gradient(circle at 78% 42%,rgba(0,102,255,.18),transparent 42%),#030712; }
#webgl-fallback.hidden { display:none; }
.rumbo-neon-overlay { z-index:1 !important; background:linear-gradient(90deg,rgba(3,7,18,.73) 0%,rgba(3,7,18,.28) 47%,rgba(3,7,18,.08) 100%) !important; }
.rumbo-neon .rumbo-contenido { position:relative !important; z-index:2 !important; }
@media (min-width:1600px) {
  #inicio.hero.hero-ref .hero-contenido { padding-top:154px !important; }
}
@media (max-width:1380px) {
  #inicio.hero.hero-ref .hero-contenido { padding-top:142px !important; }
}
@media (max-width:800px) {
  #inicio.hero.hero-ref .hero-contenido { padding-top:102px !important; }
  .sidebar-bottom > .sidebar-contacto:first-of-type { margin-left:0 !important; padding-left:0 !important; }
  .sidebar-bottom > .sidebar-contacto:first-of-type::before { content:none !important; display:none !important; }
}
:root { --v11-ink:#071633; --v11-blue:#1268ff; --v11-coral:#ef6848; --v11-paper:#f6f1e8; --v11-night:#020d1a; }
.v11-legacy-hidden { display:none!important; }
.v11-construccion,.servicios,.v11-carril,.proyectos,.v11-ecommerce,.v11-sobre,.v11-presencia { scroll-margin-top:88px; }
.v11-construccion { position:relative; overflow:hidden; background:#f5f0e7; min-height:clamp(520px,58vw,900px); display:grid; place-items:center; }
.v11-construccion-figura { margin:0; width:100%; height:100%; position:relative; }
.v11-construccion-figura img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; }
.v11-construccion-figura figcaption { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip:rect(0 0 0 0); }
.v11-construccion-figura:not(.visible) img { clip-path:inset(0 100% 0 0); filter:contrast(.82); }
.v11-construccion-figura.visible img { animation:v11Tinta 2.1s cubic-bezier(.2,.72,.15,1) both; }
@keyframes v11Tinta {
  0% { clip-path:inset(0 100% 0 0); filter:contrast(.82); }
  18% { clip-path:inset(0 82% 0 0); }
  100% { clip-path:inset(0); filter:contrast(1); }
}
.servicios-widget .widget-item { opacity:0; transform:translateY(12px); }
.servicios-widget.visible .widget-item { animation:v11Widget .55s ease forwards; }
.servicios-widget.visible .widget-item:nth-child(2) { animation-delay:.09s; }
.servicios-widget.visible .widget-item:nth-child(3) { animation-delay:.18s; }
.servicios-widget.visible .widget-item:nth-child(4) { animation-delay:.27s; }
.servicios-widget .widget-icon-imagen { width:46px; height:46px; object-fit:contain; filter:grayscale(1) saturate(0) contrast(1.05); transition:none!important; transform:none!important; }
@keyframes v11Widget {
  to { opacity:1; transform:none; }
}
.v11-carril { background:#020b16; overflow:hidden; padding:clamp(64px,7vw,112px) 0; cursor:grab; user-select:none; touch-action:pan-y; }
.v11-carril:active { cursor:grabbing; }
.v11-carril-track { display:flex; width:max-content; will-change:transform; transform:translate3d(var(--rail-x,0px),0,0); }
.v11-carril-set { display:flex; gap:12px; padding-right:12px; }
.v11-pieza { position:relative; flex:0 0 clamp(250px,24vw,420px); height:clamp(360px,44vw,650px); margin:0; border-radius:12px; overflow:hidden; background:#07111f; box-shadow:0 18px 45px rgba(0,0,0,.3); }
.v11-pieza:nth-child(3n+2) { flex-basis:clamp(280px,27vw,460px); }
.v11-pieza-ancha { flex-basis:clamp(420px,39vw,680px); }
.v11-pieza img { width:100%; height:100%; object-fit:cover; pointer-events:none; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.v11-pieza:hover img { transform:scale(1.025); }
.v11-pieza-japon { display:flex; flex-direction:column; justify-content:center; padding:clamp(26px,3vw,52px); color:#f4f0e9; background:linear-gradient(145deg,#101926,#050910); }
.v11-pieza-japon span { font-size:clamp(64px,7vw,118px); font-weight:700; line-height:.92; letter-spacing:-.08em; }
.v11-pieza-japon small { margin:10px 0 38px; font-size:10px; letter-spacing:.28em; color:#7ea0ff; }
.v11-pieza-japon-clara { color:#07111f; background:#e9e5dd; }
.v11-pieza-japon-clara small { color:#ff563d; }
.v11-pieza-textura img { transform:scale(5); }
.v11-pieza-textura:hover img { transform:scale(5.08); }
.proyectos .ondas { opacity:.28!important; background-size:140% 140%!important; }
.proyecto-destacado { border-color:transparent!important; background:rgba(2,14,27,.34)!important; box-shadow:0 22px 50px rgba(0,0,0,.16)!important; grid-template-columns:minmax(0,1.55fr) minmax(220px,.7fr)!important; }
.mockup-navegador { display:block; overflow:hidden; text-decoration:none; }
.mockup-pagina { overflow:hidden; }
.mares-captura { transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.mockup-navegador:hover .mares-captura { transform:scale(1.025); }
.proyecto-info { padding-inline:clamp(10px,2vw,28px)!important; }
.v11-ecommerce { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(760px,66vw,1040px); padding:clamp(70px,7vw,125px) clamp(28px,5.5vw,105px); display:grid; grid-template-columns:minmax(300px,.72fr) minmax(540px,1.28fr); align-items:center; gap:clamp(30px,5vw,90px); color:#f8f6f0; background:radial-gradient(circle at 72% 28%,rgba(58,76,218,.42),transparent 25%),radial-gradient(circle at 88% 74%,rgba(31,87,255,.18),transparent 30%),linear-gradient(118deg,#020a14 0%,#06111f 48%,#030914 100%); }
.v11-ecommerce:after { content:""; position:absolute; inset:0; z-index:-1; opacity:.2; background-image:radial-gradient(rgba(255,255,255,.28) .55px,transparent .7px); background-size:4px 4px; mix-blend-mode:soft-light; }
.v11-ecommerce-card { position:absolute; right:-9%; top:-18%; width:68%; height:108%; z-index:-1; border-radius:70px; background:linear-gradient(145deg,rgba(98,121,255,.52),rgba(2,10,20,.35) 26%,rgba(4,13,27,.88) 68%),repeating-radial-gradient(circle at 45% 38%,rgba(255,255,255,.12) 0 1px,transparent 1px 4px); box-shadow:inset 2px 0 0 rgba(131,154,255,.8),-28px 38px 70px rgba(0,0,0,.52); transform:rotate(-16deg); }
.v11-chip { position:absolute; left:17%; top:39%; width:145px; height:110px; border-radius:18px; background:linear-gradient(130deg,#d7d9df,#7e8490 42%,#e5e7eb 55%,#777e89); box-shadow:inset 0 0 0 2px rgba(10,15,24,.25); }
.v11-contactless { position:absolute; right:11%; top:15%; font-size:64px; letter-spacing:-.25em; transform:rotate(90deg); color:#dae1ff; text-shadow:0 0 16px #6380ff; }
.v11-ecommerce-copy { position:relative; z-index:2; max-width:590px; }
.v11-ecommerce-copy .eyebrow { color:#b6c4ff; font-size:clamp(13px,1.2vw,19px); letter-spacing:.22em; }
.v11-ecommerce-copy .eyebrow:after { content:""; display:block; width:54px; height:3px; margin-top:14px; background:#385cff; }
.v11-ecommerce-copy h2 { margin:38px 0 22px; text-transform:uppercase; font-family:Arial,Helvetica,sans-serif; line-height:.92; letter-spacing:-.045em; }
.v11-ecommerce-copy h2 span { display:block; font-size:clamp(42px,5vw,82px); font-weight:300; color:#f5f2ea; }
.v11-ecommerce-copy h2 strong { display:block; margin-top:12px; font-size:clamp(52px,6.5vw,112px); font-weight:700; color:#3158ff; }
.v11-ecommerce-copy>p { max-width:540px; font-size:clamp(17px,1.5vw,24px); line-height:1.55; color:#e5e7ec; }
.v11-solo-lectores { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.v11-ecommerce.v11-ecommerce-aprobado { display:block; min-height:0; padding:0; background:#020914; }
.v11-ecommerce.v11-ecommerce-aprobado:after { display:none; }
.v11-ecommerce-imagen-aprobada { display:block; width:100%; height:auto; margin:0; object-fit:contain; background:#020914; }
.v11-beneficios { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:35px; text-transform:uppercase; font-size:13px; letter-spacing:.17em; }
.v11-beneficios i { color:#3158ff; font-style:normal; font-weight:800; }
.v11-pago-escena { position:relative; min-height:590px; z-index:3; }
.v11-resumen,.v11-form-pago { position:absolute; border-radius:18px; box-shadow:0 25px 60px rgba(0,0,0,.42); }
.v11-resumen { left:2%; top:3%; width:min(330px,42%); padding:28px; color:#111827; background:rgba(248,247,244,.94); backdrop-filter:blur(12px); }
.v11-panel-kicker { font-weight:800; margin:0 0 20px; }
.v11-producto { display:grid; grid-template-columns:72px 1fr auto; align-items:center; gap:12px; padding-bottom:20px; border-bottom:1px solid #d7d7d7; }
.v11-silla { height:64px; border-radius:8px; background:linear-gradient(145deg,#171b26,#4b5262); clip-path:polygon(16% 12%,84% 12%,78% 65%,68% 72%,66% 95%,60% 95%,57% 74%,33% 74%,26% 95%,20% 95%,23% 70%); }
.v11-producto small { display:block; margin-top:4px; color:#5c6270; }
.v11-producto strong { font-size:13px; }
.v11-resumen dl { margin:18px 0; }
.v11-resumen dl div { display:flex; justify-content:space-between; padding:8px 0; }
.v11-resumen dl div:last-child { font-weight:800; border-top:1px solid #ddd; margin-top:8px; padding-top:15px; }
.v11-form-pago { right:12%; top:19%; width:min(420px,58%); padding:30px; color:#f8fafc; background:rgba(4,16,32,.95); border:1px solid rgba(153,174,218,.35); backdrop-filter:blur(18px); }
.v11-form-title { display:flex; justify-content:space-between; align-items:center; font-size:20px; margin-bottom:22px; }
.v11-form-title span { color:#91a4d0; }
.v11-form-pago label { display:block; margin:14px 0 7px; font-size:13px; }
.v11-form-pago input { box-sizing:border-box; width:100%; margin-top:7px; padding:13px 14px; border:1px solid #33445f; border-radius:7px; background:#142239; color:#dce4f2; font:inherit; }
.v11-form-row { display:grid; grid-template-columns:1fr .72fr; gap:10px; }
.v11-form-row input { margin-top:0; }
.v11-form-pago button { width:100%; margin-top:20px; padding:16px; border:0; border-radius:7px; background:linear-gradient(90deg,#2049ed,#4e55f5); color:#fff; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.v11-metodos { position:absolute; right:0; top:30%; display:grid; gap:10px; list-style:none; margin:0; padding:0; transform:translateX(28%); }
.v11-metodos li { min-width:115px; padding:13px 16px; border:1px solid #273958; border-radius:8px; background:rgba(5,18,35,.92); box-shadow:0 12px 28px rgba(0,0,0,.25); }
.v11-sobre { padding:clamp(36px,4vw,72px); background-color:#08294a; background-image:repeating-linear-gradient(92deg,rgba(255,255,255,.09) 0 3px,rgba(0,0,0,.12) 5px 13px,rgba(53,116,160,.1) 14px 18px),linear-gradient(145deg,#06213d,#0b3b64 42%,#041b32); box-shadow:inset 0 18px 38px rgba(0,0,0,.25); }
.v11-sobre-papel { position:relative; display:grid; grid-template-columns:minmax(280px,.7fr) minmax(520px,1.3fr); grid-template-rows:auto 1fr; gap:clamp(36px,4vw,75px); min-height:clamp(680px,54vw,850px); padding:clamp(45px,5.2vw,95px); border-radius:12px; background-color:#f6f1e8; background-image:radial-gradient(rgba(20,37,55,.08) .5px,transparent .6px); background-size:4px 4px; color:var(--v11-ink); box-shadow:0 24px 45px rgba(0,0,0,.34); }
.v11-sobre-papel>.eyebrow { position:absolute; left:clamp(45px,5.2vw,95px); top:clamp(34px,4vw,70px); color:var(--v11-ink); }
.v11-sobre-papel>.eyebrow:after { content:""; display:block; width:78px; height:2px; background:var(--v11-coral); margin-top:14px; }
.v11-sobre-relato { grid-column:1; grid-row:1/3; align-self:start; margin-top:90px; max-width:500px; }
.v11-sobre-relato h3 { font:600 clamp(23px,2vw,34px)/1.25 Georgia,serif; margin:0 0 24px; }
.v11-sobre-relato h3 em { font-weight:400; }
.v11-sobre-relato p { font-size:clamp(15px,1.25vw,20px); line-height:1.58; margin:0 0 24px; }
.v11-sobre h2 { grid-column:2; grid-row:1; margin:100px 0 0; font-family:Arial,Helvetica,sans-serif; font-size:clamp(40px,4.2vw,64px); line-height:1.03; letter-spacing:-.055em; color:var(--v11-ink); }
.v11-sobre h2 span { color:#154eae; }
.v11-sobre h2 em { display:block; color:var(--v11-coral); font:italic 400 1.08em/.95 Georgia,serif; letter-spacing:-.04em; margin-top:8px; }
.v11-sobre-micro,.v11-ficha,.v11-sistema { color:rgba(9,27,52,.45); font:11px/1.75 'Courier New',monospace; letter-spacing:.08em; }
.v11-micro-a { position:absolute; top:45px; left:39%; }
.v11-micro-b { position:absolute; top:40px; right:5%; text-align:right; }
.v11-ficha { position:absolute; left:5.2%; bottom:7%; display:grid; gap:5px; }
.v11-ficha b { font-size:14px; letter-spacing:.16em; }
.v11-sistema { position:absolute; left:38%; bottom:8%; }
.v11-sobre-firma { position:absolute; right:5%; bottom:6%; margin:0; color:#105dff; font:italic 400 clamp(34px,4.2vw,68px)/1.05 "Segoe Script","Brush Script MT",cursive; letter-spacing:-.05em; transform:rotate(-4deg); white-space:nowrap; }
.v11-sobre-firma:after { content:""; display:block; width:96%; height:2px; margin-top:5px; background:#105dff; transform:rotate(-2deg); }
.v11-sobre.v11-sobre-aprobado { display:block; padding:0; background:#031a30; }
.v11-sobre-imagen-aprobada { display:block; width:100%; height:auto; margin:0; object-fit:contain; background:#031a30; }
.v11-presencia { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(760px,67vw,1060px); padding:clamp(75px,8vw,140px) clamp(42px,7vw,130px); color:#062650; background-color:#edf0ef; background-image:radial-gradient(ellipse at 17% 28%,rgba(255,255,255,.96) 0 1px,transparent 1.8px),repeating-linear-gradient(112deg,rgba(255,255,255,.7) 0 2px,rgba(150,160,162,.11) 3px 5px,rgba(255,255,255,.45) 6px 8px); background-size:7px 9px,13px 11px; box-shadow:inset 0 0 120px rgba(99,111,119,.13); }
.v11-presencia:after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.58),transparent 44%),linear-gradient(90deg,rgba(255,255,255,.25),transparent 34%,rgba(255,255,255,.35) 70%,transparent); }
.v11-presencia-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(450px,1.1fr) minmax(360px,.7fr); gap:clamp(80px,10vw,190px); align-items:center; max-width:1500px; margin:auto; }
.v11-presencia .eyebrow { color:#0875df; }
.v11-presencia .eyebrow:after { content:""; display:block; width:62px; height:2px; margin-top:17px; background:#0875df; }
.v11-presencia h2 { display:grid; gap:7px; margin:35px 0 0; font-family:Arial,Helvetica,sans-serif; font-size:clamp(44px,5.2vw,88px); line-height:1.02; letter-spacing:-.055em; text-transform:none; }
.v11-presencia h2 strong { text-transform:uppercase; font-size:1.24em; color:#052850; }
.v11-presencia h2 span { display:block; }
.v11-presencia h2 em { font-style:normal; color:#1282ff; }
.v11-presencia-copy { padding:35px; background:rgba(245,247,245,.36); backdrop-filter:blur(2px); }
.v11-presencia-copy p { font-size:clamp(16px,1.35vw,21px); line-height:1.65; margin:0 0 28px; }
.v11-presencia details { border-block:1px solid rgba(6,38,80,.22); }
.v11-presencia summary { display:flex; justify-content:space-between; padding:20px 0; font-weight:800; cursor:pointer; }
.v11-presencia summary span { color:#0780ff; font-size:23px; }
.v11-presencia details p { padding-bottom:20px; font-size:15px; }
.v11-presencia-relieve { position:absolute; right:-1.5%; top:12%; font:900 clamp(110px,18vw,310px)/.66 Arial,sans-serif; writing-mode:vertical-rl; transform:rotate(180deg); letter-spacing:-.08em; color:rgba(197,204,202,.35); text-shadow:-1px -1px 1px rgba(255,255,255,.95),1px 1px 2px rgba(84,94,96,.24); mix-blend-mode:multiply; }

@media (max-width:1050px) {
  .v11-ecommerce { grid-template-columns:1fr; min-height:auto; }
  .v11-ecommerce-copy { max-width:750px; }
  .v11-pago-escena { min-height:620px; }
  .v11-ecommerce-card { width:110%; right:-45%; top:28%; height:65%; }
  .v11-sobre-papel { grid-template-columns:1fr; grid-template-rows:auto auto auto; min-height:900px; }
  .v11-sobre-relato { grid-row:2; grid-column:1; margin-top:0; max-width:650px; }
  .v11-sobre h2 { grid-row:1; grid-column:1; margin-top:90px; max-width:820px; }
  .v11-micro-a { left:auto; right:6%; top:38px; }
  .v11-micro-b { display:none; }
  .v11-ficha { bottom:5%; }
  .v11-sistema { left:43%; bottom:6%; }
  .v11-sobre-firma { bottom:4%; }
  .v11-presencia-grid { grid-template-columns:1fr; gap:60px; }
  .v11-presencia-copy { max-width:720px; }
  .v11-presencia-relieve { opacity:.45; }
}
@media (max-width:700px) {
  .sonido-toggle { left:auto!important; right:12px!important; top:125px!important; width:max-content!important; min-width:0!important; padding-inline:12px!important; }
  .v11-construccion { min-height:430px; }
  .v11-construccion-figura img { object-position:center; }
  .v11-carril { padding:60px 0; }
  .v11-pieza { flex-basis:75vw; height:105vw; max-height:570px; }
  .v11-carril-set { gap:9px; padding-right:9px; }
  .v11-pieza-ancha { flex-basis:88vw; }
  .proyecto-destacado { grid-template-columns:1fr!important; }
  .proyecto-info { padding:24px 4px!important; }
  .v11-ecommerce { padding:70px 22px; }
  .v11-ecommerce-copy h2 span { font-size:42px; }
  .v11-ecommerce-copy h2 strong { font-size:54px; }
  .v11-pago-escena { min-height:720px; }
  .v11-ecommerce.v11-ecommerce-aprobado { padding:0; }
  .v11-resumen { left:0; top:0; width:72%; padding:20px; }
  .v11-form-pago { right:0; top:245px; width:88%; padding:22px; }
  .v11-metodos { top:auto; bottom:0; left:0; right:auto; grid-template-columns:repeat(2,1fr); transform:none; width:100%; }
  .v11-metodos li { min-width:0; text-align:center; padding:10px; }
  .v11-chip { width:90px; height:68px; }
  .v11-contactless { font-size:42px; }
  .v11-sobre { padding:18px; }
  .v11-sobre-papel { padding:72px 24px 250px; min-height:auto; gap:35px; }
  .v11-sobre-papel>.eyebrow { left:24px; top:28px; }
  .v11-sobre h2 { margin-top:30px; font-size:43px; }
  .v11-sobre-relato p { font-size:16px; }
  .v11-sobre-micro { display:none; }
  .v11-ficha { left:24px; bottom:118px; }
  .v11-sistema { display:none; }
  .v11-sobre-firma { left:18px; right:auto; bottom:32px; font-size:27px; letter-spacing:-.09em; }
  .v11-sobre.v11-sobre-aprobado { padding:0; }
  .v11-presencia { padding:70px 24px; }
  .v11-presencia h2 { font-size:43px; }
  .v11-presencia-copy { padding:0; background:transparent; }
  .v11-presencia-relieve { font-size:135px; right:-12%; top:26%; }
}
@media (prefers-reduced-motion:reduce) {
  .v11-construccion-figura img,.servicios-widget .widget-item { animation:none!important; clip-path:none!important; opacity:1!important; transform:none!important; }
  .v11-carril-track { transform:none!important; }
  .v11-pieza img { transition:none!important; }
  .v12-presencia { opacity:1!important; transform:none!important; animation:none!important; }
  .v12-presencia-imagen { transform:scale(1.018)!important; filter:none!important; animation:none!important; }
  .v12-presencia-luz { display:none!important; }
}

.v11-carril { display:none !important; }
#proyectos.proyectos-caso { --caso-navy:#031426; --caso-navy-soft:#122a43; --caso-cream:#f6f0e7; --caso-blue:#0878ff; --caso-gold:#c99421; position:relative; min-height:1040px; padding:0 !important; isolation:isolate; color:#fff; }
#proyectos.proyectos-caso::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(48% 72% at -2% 84%,rgba(101,94,192,.74) 0%,rgba(64,62,142,.48) 30%,rgba(20,31,70,.13) 66%,transparent 82%),radial-gradient(50% 62% at 102% 8%,rgba(111,108,202,.68) 0%,rgba(69,72,161,.42) 34%,rgba(18,31,74,.12) 68%,transparent 84%),radial-gradient(42% 68% at 50% 48%,rgba(8,13,28,.96) 0%,rgba(6,15,31,.78) 55%,transparent 100%),linear-gradient(180deg,#020814 0%,#071027 50%,#091426 78%,#07111e 100%); background-size:118% 132%,120% 126%,110% 112%,100% 100%; background-position:-8% 52%,108% -8%,center,center; animation:casoAmbiente 14s ease-in-out infinite alternate; }
#proyectos.proyectos-caso::after { content:""; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:180px; background:linear-gradient(180deg,rgba(7,17,30,0),#07111e 92%); pointer-events:none; }
@keyframes casoAmbiente {
  0% { background-position:-10% 55%,110% -10%,48% 47%,center; filter:saturate(.96) brightness(.98); }
  100% { background-position:-2% 45%,98% 2%,54% 53%,center; filter:saturate(1.12) brightness(1.06); }
}
@media (prefers-reduced-motion:reduce) {
  #proyectos.proyectos-caso::before { animation:none; }
}
.caso-marca-fondo { z-index:-1; top:-18px; left:2.4%; margin:0; color:var(--caso-navy-soft); font-family:"Playfair Display","Bodoni Moda",Georgia,serif; font-size:clamp(190px,24vw,410px); font-weight:600; line-height:.84; letter-spacing:-.075em; white-space:nowrap; opacity:.78; user-select:none; pointer-events:none; }
.caso-contenido { width:calc(100% - 96px); max-width:none; min-height:1040px; margin:0 auto; position:relative; padding:50px 0 38px; }
.caso-numero { margin:0; color:#e0ad3c; font-weight:800; letter-spacing:.08em; text-transform:uppercase; text-shadow:0 1px 16px rgba(224,173,60,.18); }
.caso-navegador { position:absolute; z-index:2; top:72px; left:58%; width:min(1060px,68vw); transform:perspective(1650px) translateX(-47%) rotateY(-1.45deg) rotateX(.7deg) rotateZ(.28deg); transform-origin:50% 48%; transform-style:preserve-3d; display:block; overflow:hidden; border-radius:20px; background:#fff; box-shadow:inset 1px 1px 0 rgba(255,255,255,.92),inset -1px -1px 0 rgba(3,10,20,.28),-4px 5px 0 #0b1018,-7px 9px 12px rgba(0,8,19,.34),10px 30px 64px rgba(0,7,20,.46),0 8px 20px rgba(0,10,25,.24); filter:drop-shadow(18px 24px 28px rgba(0,7,19,.18)); text-decoration:none; backface-visibility:hidden; }
.caso-navegador-barra { position:relative; height:42px; display:flex; align-items:center; padding:0 16px; color:#e8edf4; background:#161719; }
.caso-navegador-barra i { width:10px; height:10px; flex:0 0 10px; border-radius:50%; background:#d5d5d5; }
.caso-navegador-barra span { position:absolute; left:50%; transform:translateX(-50%); min-width:230px; padding:7px 18px; border-radius:999px; background:rgba(255,255,255,.045); text-align:center; letter-spacing:.01em; }
.caso-navegador-pagina { aspect-ratio:1600 / 1188; overflow:hidden; background:#fff; }
.caso-navegador-pagina img { width:100%; height:100%; display:block; }
.caso-ficha { position:absolute; z-index:3; bottom:52px; width:min(500px,33vw); color:#fff; }
.caso-ficha h2 { margin:0; color:#f7f2ea !important; font-family:"Playfair Display","Bodoni Moda",Georgia,serif; font-size:clamp(38px,3vw,48px); font-weight:600; line-height:1.05; letter-spacing:-.035em; white-space:nowrap; }
.caso-tipo { margin:15px 0 0; color:var(--caso-blue); font-size:18px; font-weight:750; }
.caso-tipo::after { content:""; display:block; width:48px; height:2px; margin-top:18px; background:var(--caso-gold); }
.caso-resumen { max-width:440px; margin:20px 0 0; color:rgba(246,242,235,.90); font-family:"Cormorant Garamond",Georgia,serif; font-size:20px; line-height:1.36; }
.caso-meta { margin:25px 0 0; color:rgba(238,243,250,.82); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; white-space:nowrap; }
.caso-meta b { color:var(--caso-blue); font-weight:800; padding:0 9px; }
.caso-enlace { position:absolute; z-index:4; right:0; bottom:52px; color:#f7f2ea !important; font-size:20px; font-weight:800; text-decoration:none; }
.caso-enlace::after { content:""; position:absolute; left:0; right:24px; bottom:-7px; height:1px; background:var(--caso-blue); transform:scaleX(.34); transform-origin:left; transition:transform .25s ease; }
.caso-enlace:hover::after,.caso-enlace:focus-visible::after { transform:scaleX(1); }
@media (max-width:1050px) {
  #proyectos.proyectos-caso,.caso-contenido { min-height:820px; }
  .caso-contenido { width:min(100% - 42px,980px); }
  .caso-navegador { top:138px; width:min(850px,88vw); transform:perspective(1400px) translateX(-50%) rotateY(-1deg) rotateX(.5deg) rotateZ(.18deg); }
  .caso-ficha { width:52%; max-width:390px; }
}
@media (max-width:720px) {
  #proyectos.proyectos-caso { min-height:790px; }
  .caso-marca-fondo { top:20px; left:-5%; font-size:38vw; }
  .caso-contenido { min-height:790px; width:calc(100% - 30px); padding-top:28px; }
  .caso-numero { font-size:12px; }
  .caso-navegador { top:118px; width:96%; border-radius:10px; transform:translateX(-50%); filter:none; }
  .caso-navegador-barra { height:30px; padding:0 10px; }
  .caso-navegador-barra i { width:7px; height:7px; flex-basis:7px; }
  .caso-navegador-barra span { min-width:150px; padding:4px 10px; font-size:8px; }
  .caso-ficha { left:3px; bottom:64px; width:78%; }
  .caso-ficha h2 { font-size:40px; }

  .caso-resumen { font-size:17px; }
  .caso-meta { display:none; }
  .caso-enlace { right:3px; bottom:25px; }
}
#proyectos.proyectos-caso { --caso-navy:#071321; min-height:min(940px,100svh); background:var(--caso-navy) !important; }
#proyectos.proyectos-caso::before,#proyectos.proyectos-caso::after { content:none !important; display:none !important; }
.caso-contenido { width:min(calc(100% - 80px),1500px); min-height:min(940px,100svh); padding:clamp(34px,5svh,54px) 0 clamp(28px,4svh,44px); }
.caso-marca-fondo { position:absolute; z-index:0; top:155px; left:0; color:#f5efe6; font-family:"Arial Narrow","Aptos Narrow","Roboto Condensed",sans-serif; font-size:clamp(180px,20vw,320px); font-weight:400; line-height:.78; letter-spacing:-.015em; opacity:1; transform:scaleX(.72); transform-origin:left top; }
.caso-numero { position:absolute; z-index:4; top:62px; left:0; color:#d7a12b; font-size:17px; font-weight:400; letter-spacing:.025em; }
.caso-numero::after { content:""; display:inline-block; width:88px; height:1px; margin:0 0 5px 15px; background:#d7a12b; opacity:.9; box-shadow:5px 0 0 2px #d7a12b; }
.caso-localizacion { position:absolute; z-index:4; top:62px; left:36%; margin:0; color:#d7a12b; font-size:17px; font-weight:400; line-height:1.18; letter-spacing:.025em; text-transform:uppercase; }
.caso-navegador { top:125px; left:auto; right:0; width:min(900px,61vw,calc((100svh - 185px) * 1.46)); transform:perspective(1650px) rotateY(-1.2deg) rotateX(.55deg) rotateZ(.15deg); transform-origin:50% 50%; border:2px solid rgba(224,230,239,.82); border-radius:22px; box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),inset -1px -1px 0 rgba(3,10,20,.28),-4px 5px 0 #0b1018,-7px 10px 14px rgba(0,8,19,.32),14px 32px 70px rgba(0,7,20,.48); filter:none; }
.caso-navegador-barra { height:44px; gap:7px; padding:0 18px; color:#34373a; background:#f7f7f6; border-bottom:1px solid #e2e2df; }
.caso-navegador-barra i:nth-of-type(1) { background:#ee6a5f; }
.caso-navegador-barra i:nth-of-type(2) { background:#f2bd4e; }
.caso-navegador-barra i:nth-of-type(3) { background:#61c554; }
.caso-navegador-barra i:nth-of-type(3)::after { content:"▱   ‹   ›"; position:absolute; left:100px; top:50%; transform:translateY(-52%); color:#5b6065; font-size:17px; font-style:normal; font-weight:400; letter-spacing:.15em; white-space:nowrap; }
.caso-navegador-barra span { min-width:250px; padding:7px 22px; color:#25282b; background:#f1f1ef; font-size:11px; font-weight:500; }
.caso-navegador-barra span::before { content:"▣"; margin-right:8px; color:#64686c; font-size:9px; }
.caso-navegador-barra::after { content:"⇧   ◷   ＋"; position:absolute; right:18px; top:50%; transform:translateY(-52%); color:#4e5358; font-size:16px; font-weight:400; letter-spacing:.22em; white-space:nowrap; }
.caso-navegador-pagina { aspect-ratio:1829 / 1157; }
.caso-navegador-pagina img { object-fit:contain; object-position:top center; }
.caso-ficha { left:0; bottom:clamp(238px,25svh,258px); width:min(430px,30vw); }
.caso-ficha h2 { font-size:clamp(46px,4.1vw,68px); white-space:normal; }
.caso-ficha h2 span { display:block; }
.caso-ficha h2 span:last-child { color:#d7a12b; }
.caso-tipo { margin-top:14px; font-size:19px; }
.caso-tipo::after,.caso-resumen,.caso-meta { display:none; }
.caso-enlace { right:auto; left:0; bottom:clamp(164px,18svh,186px); padding-left:66px; color:#d7a12b !important; font-size:18px; }
.caso-enlace::before { content:"→"; position:absolute; left:0; top:50%; width:48px; height:48px; display:grid; place-items:center; border:1px solid #d7a12b; border-radius:50%; box-shadow:0 0 0 4px var(--caso-navy),0 0 0 5px #d7a12b; transform:translateY(-50%); font-size:22px; font-weight:400; }
.caso-enlace::after { content:none; }
@media (max-width:1050px) {
  #proyectos.proyectos-caso,.caso-contenido { min-height:0; }
  .caso-contenido { width:min(calc(100% - 42px),980px); padding:34px 0 58px; display:grid; grid-template-columns:1fr auto; grid-template-areas:"numero localizacion" "marca marca" "navegador navegador" "ficha ficha" "enlace enlace"; align-items:start; }
  .caso-marca-fondo { position:relative; grid-area:marca; top:auto; left:auto; width:100%; margin:64px 0 0; font-size:clamp(116px,25vw,245px); line-height:.8; letter-spacing:-.07em; white-space:nowrap; }
  .caso-numero { position:relative; grid-area:numero; top:auto; left:auto; }
  .caso-localizacion { position:relative; grid-area:localizacion; top:auto; left:auto; right:auto; justify-self:end; }
  .caso-navegador { position:relative; grid-area:navegador; top:auto; left:auto; right:auto; width:100%; margin:46px auto 0; transform:perspective(1400px) rotateY(-.45deg) rotateX(.25deg); }
  .caso-ficha { position:relative; grid-area:ficha; left:auto; bottom:auto; width:min(100%,560px); margin:52px 0 0; }
  .caso-enlace { position:relative; grid-area:enlace; left:auto; right:auto; bottom:auto; width:max-content; margin:42px 0 0; }
}
@media (max-width:720px) {
  #proyectos.proyectos-caso,.caso-contenido { min-height:0; }
  .caso-contenido { width:calc(100% - 28px); padding:26px 0 48px; }
  .caso-numero { top:auto; }
  .caso-numero::after { width:48px; }
  .caso-localizacion { top:auto; font-size:11px; }
  .caso-marca-fondo { top:auto; left:auto; margin-top:52px; font-size:25vw; }
  .caso-navegador { top:auto; width:100%; margin-top:34px; border-radius:12px; transform:none; }
  .caso-ficha { left:auto; bottom:auto; width:92%; margin-top:38px; }
  .caso-ficha h2 { font-size:39px; }
  .caso-tipo { font-size:14px; }
  .caso-enlace { left:auto; bottom:auto; margin-top:38px; font-size:14px; }
}
#proyectos.proyectos-caso { min-height:940px; background:#061522 !important; overflow:hidden; }
#proyectos .caso-contenido { position:relative; width:min(calc(100% - 92px),1440px); min-height:940px; margin:0 auto; padding:0; }
#proyectos .caso-numero,#proyectos .caso-localizacion { top:126px; color:#d8a12a; font-family:"Aptos","Segoe UI",Arial,sans-serif; font-size:18px; font-weight:400; line-height:1.22; letter-spacing:.01em; text-transform:uppercase; }
#proyectos .caso-numero { left:0; }
#proyectos .caso-numero::after { width:92px; height:1px; margin:0 0 5px 14px; background:#d8a12a; box-shadow:5px 0 0 2px #d8a12a; }
#proyectos .caso-localizacion { left:37.5%; }
#proyectos .caso-marca-fondo { top:239px; left:calc(50% - 720px); width:500px; color:#f5efe6; font-family:"Arial Narrow","Aptos Narrow","Roboto Condensed",sans-serif; font-size:282px; font-weight:300; font-stretch:condensed; line-height:.82; letter-spacing:-.045em; white-space:nowrap; opacity:1; transform:scaleX(.67); transform-origin:left top; }
#proyectos .caso-navegador { top:216px; right:0; left:auto; transform:none; border:2px solid rgba(222,226,229,.72); border-radius:22px; background:#fff; box-shadow:0 24px 46px rgba(0,5,13,.34); filter:none; }
#proyectos .caso-navegador-barra { position:relative; padding:0 18px; gap:7px; color:#3c4145; }
#proyectos .caso-navegador-barra i { width:10px; height:10px; }
#proyectos .caso-navegador-barra i:nth-of-type(1) { background:#ee6a5f; }
#proyectos .caso-navegador-barra i:nth-of-type(2) { background:#f2bd4e; }
#proyectos .caso-navegador-barra i:nth-of-type(3) { background:#61c554; }
#proyectos .caso-navegador-barra i:nth-of-type(3)::after { content:"▱   ‹   ›"; left:92px; color:#5b6065; font-size:16px; font-weight:400; }
#proyectos .caso-navegador-barra span { min-width:350px; padding:7px 24px; color:#25282b; background:#f1f1ef; font-size:11px; font-weight:400; }
#proyectos .caso-navegador-barra::after { content:"⇧   ◷   ＋"; right:18px; color:#4e5358; font-size:16px; font-weight:400; }
#proyectos .caso-ficha { left:0; top:545px; bottom:auto; width:440px; }
#proyectos .caso-ficha h2 { margin:0; color:#f5efe6; font-family:Georgia,"Times New Roman",serif; font-size:62px; font-weight:400; line-height:.9; letter-spacing:-.04em; }
#proyectos .caso-ficha h2 span { display:block; }
#proyectos .caso-ficha h2 span:last-child { color:#d8a12a; }
#proyectos .caso-tipo { margin-top:22px; color:#1489ff; font-family:"Aptos","Segoe UI",Arial,sans-serif; font-size:20px; font-weight:400; letter-spacing:0; }
#proyectos .caso-enlace { left:0; right:auto; top:792px; bottom:auto; color:#d8a12a !important; font-family:"Aptos","Segoe UI",Arial,sans-serif; font-size:21px; line-height:1; }
#proyectos .caso-enlace::before { left:0; width:68px; height:68px; border:1px solid #d8a12a; box-shadow:0 0 0 6px #061522,0 0 0 7px #d8a12a; font-size:30px; }
#proyectos .caso-enlace::after { content:"→"; position:static; display:inline; margin-left:12px; color:#d8a12a; background:none; opacity:1; transform:none; }
@media (max-width:1100px) {
  #proyectos.proyectos-caso { min-height:0; }
  #proyectos .caso-contenido { width:min(calc(100% - 34px),920px); min-height:0; padding:32px 0 58px; display:grid; grid-template-columns:1fr auto; grid-template-areas:"numero localizacion" "marca marca" "navegador navegador" "ficha ficha" "enlace enlace"; }
  #proyectos .caso-numero,#proyectos .caso-localizacion,#proyectos .caso-marca-fondo,#proyectos .caso-navegador,#proyectos .caso-ficha,#proyectos .caso-enlace { position:relative; top:auto; right:auto; bottom:auto; left:auto; }
  #proyectos .caso-numero { grid-area:numero; }
  #proyectos .caso-localizacion { grid-area:localizacion; justify-self:end; }
  #proyectos .caso-marca-fondo { grid-area:marca; width:100%; margin:60px 0 0; font-size:clamp(132px,28vw,260px); }
  #proyectos .caso-navegador { grid-area:navegador; margin:40px 0 0; }
  #proyectos .caso-ficha { grid-area:ficha; width:100%; margin:45px 0 0; }
  #proyectos .caso-enlace { grid-area:enlace; width:max-content; margin:46px 0 8px; }
}
@media (max-width:620px) {
  #proyectos .caso-numero,#proyectos .caso-localizacion { font-size:13px; }
  #proyectos .caso-numero::after { width:48px; }
  #proyectos .caso-marca-fondo { margin-top:50px; font-size:28vw; }
  #proyectos .caso-navegador { margin-top:30px; border-radius:12px; }
  #proyectos .caso-navegador-barra { height:32px; padding:0 10px; }
  #proyectos .caso-navegador-barra span { min-width:150px; font-size:8px; }
  #proyectos .caso-navegador-barra::after,#proyectos .caso-navegador-barra i:nth-of-type(3)::after { display:none; }
  #proyectos .caso-ficha h2 { font-size:48px; }
  #proyectos .caso-tipo { font-size:16px; }
  #proyectos .caso-enlace { padding-left:78px; font-size:17px; }
  #proyectos .caso-enlace::before { width:54px; height:54px; }
}
#proyectos .caso-navegador { box-sizing:border-box; width:850px; max-width:59%; padding:18px; overflow:hidden; border:3px solid #737a7d; border-radius:36px; background:linear-gradient(145deg,#2b3033 0%,#11171b 48%,#252b2e 100%); box-shadow:inset 1px 1px 0 rgba(255,255,255,.35),inset -2px -2px 0 rgba(0,0,0,.45),0 3px 0 #05090c,0 26px 48px rgba(0,4,12,.38); }
#proyectos .caso-navegador-barra { height:45px; margin:0; border-radius:18px 18px 0 0; background:#f7f7f6; border-bottom:1px solid #e1e1de; }
#proyectos .caso-navegador-pagina { width:100%; aspect-ratio:1829 / 1157; overflow:hidden; border-radius:0 0 17px 17px; background:#fff; }
#proyectos .caso-navegador-pagina img { display:block; width:100%; height:100%; object-fit:contain; object-position:top center; }
@media (max-width:1100px) {
  #proyectos .caso-navegador { width:100%; max-width:100%; padding:12px; border-radius:24px; }
}
@media (max-width:620px) {
  #proyectos .caso-navegador { padding:7px; border-width:2px; border-radius:15px; }
  #proyectos .caso-navegador-barra { border-radius:8px 8px 0 0; }
  #proyectos .caso-navegador-pagina { border-radius:0 0 7px 7px; }
}
#proyectos .caso-numero::after { width:100px; height:7px; margin:0 0 2px 14px; background:radial-gradient(circle at right center,#d8a12a 0 3px,transparent 3.2px),linear-gradient(#d8a12a,#d8a12a) left center / 92px 1px no-repeat; }
#proyectos .caso-enlace { padding-left:102px; font-weight:400; }
#proyectos .caso-enlace::before { content:"→"; font-family:Arial,sans-serif; font-size:28px; font-weight:300; line-height:1; }
#proyectos .caso-enlace::after { content:none; display:none; }
@media (min-width:1101px) {
  #proyectos .caso-localizacion { left:auto; right:min(850px,59%); }
}
#proyectos .caso-numero::after { width:106px; height:8px; margin:0 0 1px 14px; background:radial-gradient(circle at 102px 4px,#d8a12a 0 3px,transparent 3.2px),linear-gradient(#d8a12a,#d8a12a) left 4px / 99px 1px no-repeat; box-shadow:none; }
@media (min-width:1101px) {
  #proyectos .caso-localizacion { left:calc(100% - min(850px,59%)); right:auto; }
}
@media (min-width:841px) {
  .servicios-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .servicio-card:nth-child(-n + 3) { grid-column:span 2; }
  .servicio-card:nth-child(n + 4) { grid-column:span 3; }
  .servicio-card { height:245px; min-height:245px; }
}
.servicio-card { box-sizing:border-box; display:grid; grid-template-columns:68px minmax(0,1fr); grid-template-rows:68px minmax(0,1fr) auto; column-gap:18px; row-gap:12px; align-content:start; }
.servicio-card .icono-servicio { position:relative; top:auto; left:auto; grid-column:1; grid-row:1; }
.servicio-card h3 { grid-column:2; grid-row:1; align-self:center; margin:0; font-size:16px; line-height:1.15; }
.servicio-card > p:last-of-type { grid-column:1 / -1; grid-row:2; width:auto; max-width:none; margin:0; align-self:start; font-size:14px; line-height:1.55; }
.servicio-card .numero { position:absolute; top:27px; right:26px; margin:0; }
.servicio-card .servicio-tags { grid-column:1 / -1; grid-row:3; align-self:end; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.servicio-card .servicio-tags li { padding:7px 14px; border:1px solid rgba(255,255,255,.45); border-radius:8px; font-size:12px; }
.servicio-card--identidad { background:linear-gradient(135deg,rgba(58,72,205,.94),rgba(38,31,145,.94)); border-color:rgba(143,154,255,.72); }
@media (max-width:840px) {
  .servicios-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .servicio-card:nth-child(n) { grid-column:auto; }
  .servicio-card { height:auto; min-height:245px; }
}
@media (max-width:700px) {
  .servicios-grid { grid-template-columns:1fr; }
}
@media (max-width:1050px) {
    .agenda-estado {
    display:none !important;
  }

  .sidebar.abierto .agenda-estado {
    display:inline-flex !important;
    margin-top:12px !important;
    align-self:flex-start !important;
  }
  .menu-toggle { display:grid !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; position:fixed !important; top:17px !important; right:16px !important; width:46px !important; height:46px !important; z-index:9999 !important; place-items:center !important; border:1px solid rgba(7,30,53,.22) !important; border-radius:50% !important; background:#fff !important; box-shadow:0 4px 14px rgba(7,30,53,.12) !important; }
  .menu-toggle span { display:block !important; position:absolute !important; width:21px !important; height:2px !important; margin:0 !important; border:0 !important; border-radius:999px !important; background:#071e35 !important; opacity:1 !important; transform-origin:center !important; transition:transform .25s ease !important; }
  .menu-toggle span:first-child { transform:translateY(-4px) !important; }
  .menu-toggle span:last-child { transform:translateY(4px) !important; }
  .menu-toggle.abierto span:first-child { transform:rotate(45deg) !important; }
  .menu-toggle.abierto span:last-child { transform:rotate(-45deg) !important; }
  .sidebar.abierto { display:flex !important; flex-direction:column !important; align-items:stretch !important; width:100% !important; height:auto !important; min-height:100svh !important; max-height:none !important; padding:10px 72px 28px 16px !important; overflow-x:hidden !important; overflow-y:auto !important; }
  .sidebar.abierto .brand { flex:0 0 auto !important; width:100% !important; max-width:calc(100% - 4px) !important; }
  .sidebar.abierto .nav-principal { flex:0 0 auto !important; width:100% !important; max-width:none !important; margin:22px 0 0 !important; padding:0 !important; align-items:stretch !important; }
  .sidebar.abierto .nav-principal a { width:100% !important; max-width:none !important; min-width:0 !important; white-space:normal !important; overflow:visible !important; }
  .sidebar.abierto .sidebar-bottom { flex:0 0 auto !important; width:100% !important; max-width:none !important; }
  .sidebar.abierto .nav-principal a:last-child { border-bottom:0 !important; }
.sidebar.abierto .sidebar-contacto {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  padding:4px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.sidebar.abierto .sidebar-contacto svg {
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  padding:10px !important;
  box-sizing:border-box !important;
  border:1px solid rgba(7,25,48,.22) !important;
  border-radius:50% !important;
  background:#fff !important;
}

.sidebar.abierto .sidebar-contacto > span:not(.contacto-flecha) {
  display:inline !important;
  margin:0 !important;
  font-size:13px !important;
}

.sidebar.abierto .sidebar-contacto .contacto-flecha {
  display:none !important;
}
}
@media (min-width:761px) and (max-width:1400px) {
  #proyectos .caso-marca-fondo { left:0 !important; right:auto !important; width:calc(100% - 36px) !important; max-width:calc(100% - 36px) !important; margin-left:18px !important; padding-left:0 !important; font-family:"Arial Narrow",Arial,sans-serif !important; font-size:16vw !important; line-height:.9 !important; letter-spacing:-.06em !important; white-space:nowrap !important; overflow:visible !important; transform:scaleX(.68) !important; transform-origin:left center !important; }
}
#inicio .hero-ventajas { margin-top:34px !important; display:grid !important; grid-template-columns:repeat(4,1fr) !important; width:min(620px,100%) !important; gap:0 !important; align-items:start !important; }
#inicio .hero-ventajas li { min-width:0 !important; padding:0 18px !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:9px !important; border-left:1px solid rgba(7,22,51,.12) !important; }
#inicio .hero-ventajas li:first-child { padding-left:0 !important; border-left:0 !important; }
#inicio .hero-ventajas li::before { display:none !important; content:none !important; }
#inicio .ventaja-icono { width:34px !important; height:34px !important; display:block !important; color:#0877ff !important; }
#inicio .ventaja-icono svg { width:34px !important; height:34px !important; display:block !important; fill:none !important; stroke:currentColor !important; stroke-width:2.2 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
#inicio .ventaja-copy { display:flex !important; flex-direction:column !important; gap:4px !important; }
#inicio .ventaja-copy strong { color:#071633 !important; font-size:11px !important; font-weight:750 !important; line-height:1.25 !important; }
#inicio .ventaja-copy small { max-width:125px !important; color:#5b6575 !important; font-size:9.5px !important; line-height:1.45 !important; }
.proceso-web { position:relative; isolation:isolate; overflow:hidden; padding:clamp(90px,9vw,145px) 0 clamp(100px,10vw,155px); color:#0b1730; background:radial-gradient(circle at 96% 4%,rgba(22,135,255,.10) 0,rgba(22,135,255,.055) 18%,transparent 36%),radial-gradient(circle at 0% 100%,rgba(240,126,105,.10) 0,rgba(240,126,105,.045) 18%,transparent 38%),#f7f4ee; }
.proceso-web__fondo { position:absolute; z-index:-1; pointer-events:none; border-radius:50%; filter:blur(8px); }
.proceso-web__fondo--azul { width:420px; height:420px; top:-180px; right:-170px; background:rgba(41,141,255,.075); }
.proceso-web__fondo--coral { width:380px; height:380px; bottom:-190px; left:-185px; background:rgba(238,129,107,.065); }
.proceso-web__contenedor { width:min(1180px,calc(100% - 10vw)); margin:0 auto; }
.proceso-web__cabecera { max-width:860px; margin-bottom:68px; }
.proceso-web__eyebrow { position:relative; width:max-content; margin:0 0 26px; padding-bottom:12px; color:#1687ff; font-size:11px; font-weight:800; line-height:1; letter-spacing:.18em; text-transform:uppercase; }
.proceso-web__eyebrow::after { content:""; position:absolute; left:0; bottom:0; width:28px; height:2px; border-radius:99px; background:#1687ff; }
.proceso-web__cabecera h2 { max-width:820px; margin:0; color:#10234f; font-family:"Playfair Display","Cormorant Garamond",Georgia,serif; font-size:clamp(48px,5.6vw,78px); font-weight:600; line-height:.98; letter-spacing:-.045em; }
.proceso-web__intro { max-width:670px; margin-top:30px; color:#465263; font-size:15px; line-height:1.75; }
.proceso-web__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.proceso-card { position:relative; min-height:265px; overflow:hidden; border:1px solid rgba(24,43,72,.10); border-radius:13px; background:rgba(255,255,255,.76); box-shadow:0 18px 45px rgba(15,35,60,.055),inset 0 1px 0 rgba(255,255,255,.7); }
.proceso-card::after { content:""; position:absolute; top:0; bottom:0; width:3px; opacity:.9; }
.proceso-card:nth-child(odd)::after { left:0; }
.proceso-card:nth-child(even)::after { right:0; }
.proceso-card--azul::after { background:#1687ff; }
.proceso-card--coral::after { background:#ef826e; }
.proceso-card__numero { position:absolute; left:30px; top:50%; transform:translateY(-50%); color:#e3e5e5; font-family:"Playfair Display","Cormorant Garamond",Georgia,serif; font-size:clamp(105px,9vw,150px); font-weight:600; line-height:.8; letter-spacing:-.08em; user-select:none; }
.proceso-card__contenido { position:relative; z-index:2; width:55%; min-height:265px; margin-left:auto; padding:38px 34px 34px 20px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.proceso-card__icono { width:50px; height:50px; margin-bottom:10px; display:grid; place-items:center; }
.proceso-card--azul .proceso-card__icono { color:#157de5; background:#edf6ff; }
.proceso-card--coral .proceso-card__icono { color:#e56f5e; background:#fff0ec; }
.proceso-card__icono svg { width:30px; height:30px; display:block; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.proceso-card__icono svg circle { fill:currentColor; stroke:none; }
.proceso-card__acento { width:24px; height:2px; margin:0 0 16px; border-radius:999px; }
.proceso-card--azul .proceso-card__acento { background:#1687ff; }
.proceso-card--coral .proceso-card__acento { background:#ef826e; }
.proceso-card h3 { margin:0; color:#10234f; font-family:"Playfair Display","Cormorant Garamond",Georgia,serif; font-size:clamp(27px,2.1vw,34px); font-weight:600; line-height:1.05; letter-spacing:-.025em; }
.proceso-card p { max-width:320px; margin-top:14px; color:#525e6d; font-size:13.5px; line-height:1.65; }
.proceso-card--final { grid-column:1 / -1; min-height:245px; }
.proceso-card__contenido--final { width:49%; min-height:245px; margin-left:43%; padding-left:28px; padding-right:45px; }
.proceso-card--final .proceso-card__numero { left:68px; font-size:clamp(120px,10vw,166px); }
.proceso-card--final p { max-width:520px; }
@media (hover:hover) and (pointer:fine) {
  .proceso-card { transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .45s ease; }
  .proceso-card:hover { transform:translateY(-5px); border-color:rgba(22,135,255,.17); box-shadow:0 24px 55px rgba(15,35,60,.085),inset 0 1px 0 rgba(255,255,255,.75); }
}
@media (max-width:1100px) {
  .proceso-web { padding:95px 0 110px; }
  .proceso-web__contenedor { width:min(900px,calc(100% - 64px)); }
  .proceso-web__cabecera { max-width:760px; margin-bottom:55px; }
  .proceso-web__cabecera h2 { font-size:clamp(50px,7vw,68px); }
  .proceso-web__grid { gap:20px; }
  .proceso-card { min-height:250px; }
  .proceso-card__numero { left:22px; font-size:105px; }
  .proceso-card__contenido { width:60%; min-height:250px; padding:32px 24px 30px 14px; }
  .proceso-card h3 { font-size:27px; }
  .proceso-card p { font-size:13px; }
  .proceso-card--final { min-height:235px; }
  .proceso-card__contenido--final { width:53%; min-height:235px; margin-left:40%; padding-left:20px; }
  .proceso-card--final .proceso-card__numero { left:46px; }
}
@media (max-width:700px) {
  .proceso-web { padding:78px 0 88px; }
  .proceso-web__contenedor { width:calc(100% - 38px); }
  .proceso-web__cabecera { margin-bottom:42px; }
  .proceso-web__eyebrow { margin-bottom:22px; font-size:10px; }
  .proceso-web__cabecera h2 { font-size:clamp(42px,12vw,58px); line-height:.98; }
  .proceso-web__cabecera h2 br { display:none; }
  .proceso-web__intro { margin-top:24px; font-size:14px; line-height:1.7; }
  .proceso-web__grid { grid-template-columns:1fr; gap:16px; }
  .proceso-card,.proceso-card--final { grid-column:auto; min-height:245px; }
  .proceso-card__numero,.proceso-card--final .proceso-card__numero { left:22px; top:31px; transform:none; font-size:94px; opacity:.72; }
  .proceso-card__contenido,.proceso-card__contenido--final { width:100%; min-height:245px; margin:0; padding:105px 26px 30px; }
  .proceso-card__icono { width:44px; height:44px; margin-left:auto; margin-bottom:10px; }
  .proceso-card__icono svg { width:27px; height:27px; }
  .proceso-card h3 { font-size:29px; }
  .proceso-card p,.proceso-card--final p { max-width:none; margin-top:12px; font-size:13.5px; }
}
@media (max-width:420px) {
  .proceso-web__contenedor { width:calc(100% - 28px); }
  .proceso-web__cabecera h2 { font-size:42px; }
  .proceso-card__contenido,.proceso-card__contenido--final { padding-left:22px; padding-right:22px; }
}
@media (min-width:701px) {
  .proceso-web__eyebrow { font-size:13px !important; letter-spacing:.20em !important; padding-bottom:14px !important; margin-bottom:30px !important; }
  .proceso-web__eyebrow::after { width:36px !important; height:2px !important; }
  .proceso-card__icono { width:56px !important; height:56px !important; }
  .proceso-card__icono svg { width:34px !important; height:34px !important; stroke-width:1.45 !important; }
  .proceso-web__cabecera { margin-bottom:74px !important; }
  .proceso-card--final { min-height:226px !important; }
  .proceso-card--final .proceso-card__numero { left:66px !important; top:50% !important; transform:translateY(-50%) !important; font-size:clamp(124px,10vw,166px) !important; }
  .proceso-card__contenido--final { width:auto !important; min-height:226px !important; margin-left:43% !important; padding:52px 54px 46px 116px !important; }
  .proceso-card--final .proceso-card__icono { position:absolute !important; left:255px !important; top:50% !important; transform:translateY(-42px) !important; margin:0 !important; }
  .proceso-card--final .proceso-card__acento { position:absolute !important; left:calc(24% + 4px) !important; top:calc(50% + 42px) !important; width:32px !important; margin:0 !important; transform:none !important; }
  .proceso-card--final h3 { margin-top:0 !important; }
  .proceso-card--final p { max-width:640px !important; margin-top:12px !important; }
}
.proceso-card__icono { width:64px !important; height:64px !important; flex:0 0 64px; display:block !important; margin-bottom:12px !important; border-radius:50%; color:inherit; background:transparent !important; }
.proceso-card__icono img { display:block; width:100%; height:100%; object-fit:contain; }
.proceso-card--final { position:relative; min-height:226px !important; }
.proceso-card--final .proceso-card__numero { left:6% !important; top:50% !important; transform:translateY(-50%) !important; font-size:clamp(124px,10vw,166px) !important; }
.proceso-card--final .proceso-card__icono--final { position:absolute !important; z-index:3; left:24% !important; top:50% !important; transform:translateY(-50%) !important; margin:0 !important; }
.proceso-card__contenido--final { width:auto !important; min-height:226px !important; margin-left:36% !important; padding:44px 54px 42px 22px !important; }
.proceso-card--final .proceso-card__acento { margin:0 0 16px !important; }
.proceso-card--final h3 { margin-top:0 !important; }
.proceso-card--final p { max-width:640px !important; margin-top:12px !important; }
@media (max-width:1100px) and (min-width:701px) {
  .proceso-card__icono { width:58px !important; height:58px !important; flex-basis:58px; }
  .proceso-card--final > .proceso-card__icono--final { left:25% !important; top:43% !important; transform:translateY(-50%) !important; }
  .proceso-card.proceso-card--final>.proceso-card__acento { display:block !important; position:absolute !important; left:calc(25% + 3px) !important; top:calc(43% + 40px) !important; width:32px !important; height:2px !important; margin:0 !important; background:#ef826e !important; }
  .proceso-card.proceso-card--final>.proceso-card__contenido--final { width:auto !important; min-height:226px !important; margin-left:38% !important; padding:92px 36px 42px 22px !important; }
}
@media (max-width:700px) {
  .proceso-card__icono { width:54px !important; height:54px !important; flex-basis:54px; }
  .proceso-card--final .proceso-card__numero { left:22px !important; top:31px !important; transform:none !important; font-size:94px !important; }
  .proceso-card--final .proceso-card__icono--final { left:auto !important; right:26px !important; top:108px !important; transform:none !important; }
  .proceso-card__contenido--final { width:100% !important; min-height:245px !important; margin:0 !important; padding:190px 26px 30px !important; }
  .proceso-card--final .proceso-card__acento { display:block !important; position:absolute !important; left:26px !important; top:166px !important; width:32px !important; height:2px !important; margin:0 !important; background:#ef826e !important; }
}
@media (max-width:380px) {
  .proceso-card--final .proceso-card__icono--final { left:auto !important; right:22px !important; }
}
/* ==========================================================
   SOPORTE WEB · sección aislada Dominio / Hosting / Mantenimiento
   ========================================================== */
.wcn-soporte-seccion {
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:clamp(820px,66.6667vw,1024px);
  overflow:hidden;
  color:#07172f;
  background:#fff;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

.wcn-soporte-interior {
  position:relative;
  z-index:2;
  width:100%;
  min-height:inherit;
  margin:0 auto;
  padding:clamp(48px,5.1vw,78px) clamp(34px,4.4vw,68px) clamp(34px,4.4vw,56px);
}

.wcn-soporte-sombras {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.wcn-soporte-sombras::before,
.wcn-soporte-sombras::after {
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
}

.wcn-soporte-sombras::before {
  top:-145px;
  left:-125px;
  width:610px;
  height:760px;
  opacity:.62;
  filter:blur(17px);
  transform:rotate(-8deg);
  background:
    radial-gradient(ellipse 92px 235px at 13% 9%,rgba(29,57,14,.76) 0 33%,transparent 46%),
    radial-gradient(ellipse 112px 260px at 35% 3%,rgba(44,73,26,.62) 0 34%,transparent 47%),
    radial-gradient(ellipse 92px 215px at 58% 15%,rgba(34,62,18,.50) 0 32%,transparent 46%),
    radial-gradient(ellipse 120px 245px at 2% 55%,rgba(38,66,19,.72) 0 35%,transparent 49%),
    linear-gradient(69deg,transparent 0 31%,rgba(45,68,28,.35) 32% 34%,transparent 35% 100%);
}

.wcn-soporte-sombras::after {
  left:-90px;
  bottom:-150px;
  width:980px;
  height:610px;
  opacity:.30;
  filter:blur(22px);
  transform:rotate(5deg);
  background:
    radial-gradient(ellipse 150px 330px at 8% 32%,rgba(37,64,20,.72) 0 31%,transparent 45%),
    radial-gradient(ellipse 120px 290px at 27% 72%,rgba(42,66,24,.54) 0 31%,transparent 46%),
    radial-gradient(ellipse 105px 255px at 55% 78%,rgba(45,70,28,.36) 0 30%,transparent 46%),
    radial-gradient(ellipse 90px 230px at 78% 75%,rgba(50,72,31,.25) 0 28%,transparent 45%);
}

.wcn-soporte-sombra-hoja {
  position:absolute;
  width:clamp(150px,15vw,295px);
  height:clamp(62px,6.8vw,135px);
  border-radius:100% 0 100% 0;
  background:rgba(45,72,27,.38);
  filter:blur(20px);
  transform-origin:100% 50%;
}

.wcn-soporte-sombra-hoja-uno { top:-66px; left:-72px; transform:rotate(35deg) scale(1.72); opacity:.78; }
.wcn-soporte-sombra-hoja-dos { top:92px; left:12px; transform:rotate(65deg) scale(1.38); opacity:.48; }
.wcn-soporte-sombra-hoja-tres { top:330px; left:-118px; transform:rotate(-20deg) scale(1.95); opacity:.72; }
.wcn-soporte-sombra-hoja-cuatro { bottom:86px; left:-92px; transform:rotate(42deg) scale(1.7); opacity:.40; }
.wcn-soporte-sombra-hoja-cinco { top:370px; left:41%; transform:rotate(55deg) scale(1.08); opacity:.23; }

.wcn-soporte-cabecera {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin:0 12px clamp(30px,4vw,62px);
  color:#19335c;
  font-size:clamp(9px,.72vw,11px);
  font-weight:600;
  letter-spacing:.38em;
  line-height:1.25;
}

.wcn-soporte-kicker,
.wcn-soporte-etiquetas { margin:0; }

.wcn-soporte-etiquetas {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(12px,1.55vw,24px);
}

.wcn-soporte-etiquetas b { font-weight:400; }

.wcn-soporte-principal {
  display:grid;
  grid-template-columns:minmax(0,1.82fr) minmax(360px,.96fr);
  align-items:center;
  gap:clamp(38px,5vw,78px);
}

.wcn-soporte-composicion {
  position:relative;
  min-width:0;
  width:calc(100% + clamp(28px,2.8vw,54px));
  height:clamp(410px,33.5vw,620px);
  transform:translateX(clamp(-54px,-2.8vw,-28px));
}

.wcn-soporte-composicion::before {
  content:"";
  position:absolute;
  left:-10%;
  top:39%;
  z-index:6;
  width:47%;
  height:58%;
  opacity:.78;
  pointer-events:none;
  background:url("assets/camaleon-rama-recorte.png") 0 61% / 265% auto no-repeat;
  filter:blur(9px) saturate(.76) brightness(.82);
  transform:rotate(-2deg) scale(1.06);
  transform-origin:left center;
  -webkit-mask-image:linear-gradient(90deg,#000 0 54%,rgba(0,0,0,.72) 72%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0 54%,rgba(0,0,0,.72) 72%,transparent 100%);
}

.wcn-soporte-tu {
  position:absolute;
  top:clamp(40px,5.2vw,80px);
  left:clamp(22px,3.1vw,48px);
  z-index:1;
  margin:0;
  color:#07172f;
  font-family:"Arial Narrow","Aptos Narrow",Arial,sans-serif;
  font-size:clamp(42px,4.2vw,65px);
  font-weight:300;
  letter-spacing:.04em;
  line-height:1;
}

.wcn-soporte-web {
  position:absolute;
  top:clamp(102px,9.7vw,190px);
  left:0;
  z-index:1;
  display:flex;
  align-items:flex-start;
  width:100%;
  height:clamp(225px,22vw,430px);
  color:#061a35;
  font-family:"Bodoni Moda",Didot,"Playfair Display",Georgia,"Times New Roman",serif;
  font-size:clamp(196px,21.7vw,430px);
  font-weight:600;
  line-height:.82;
  letter-spacing:-.105em;
  white-space:nowrap;
}

.wcn-soporte-web > span {
  position:relative;
  z-index:1;
  display:block;
}

.wcn-soporte-camaleon {
  position:absolute;
  top:-61%;
  left:5%;
  z-index:4;
  display:block;
  width:105%;
  max-width:none;
  height:auto;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  -webkit-mask-image:radial-gradient(ellipse 38% 43% at 3% 70%,transparent 0 48%,rgba(0,0,0,.18) 66%,#000 92%);
  mask-image:radial-gradient(ellipse 38% 43% at 3% 70%,transparent 0 48%,rgba(0,0,0,.18) 66%,#000 92%);
}

.wcn-soporte-manos {
  position:absolute;
  left:clamp(28px,3vw,46px);
  bottom:clamp(44px,2.9vw,58px);
  z-index:7;
  margin:0;
  color:#152849;
  font-size:clamp(13px,1.22vw,19px);
  font-weight:500;
  letter-spacing:.55em;
  line-height:1;
  white-space:nowrap;
}

.wcn-soporte-copy {
  position:relative;
  z-index:7;
  align-self:center;
  padding:0 0 clamp(5px,2vw,30px);
}

.wcn-soporte-raya {
  display:block;
  width:clamp(42px,3.25vw,50px);
  height:3px;
  margin:0 0 clamp(26px,2.4vw,37px);
  background:#126dff;
}

.wcn-soporte-copy h2 {
  margin:0;
  color:#07172f;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:clamp(38px,3.15vw,50px);
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.055em;
}

.wcn-soporte-copy h2 strong {
  display:inline-block;
  color:#126dff;
  font:inherit;
}

.wcn-soporte-copy > p {
  max-width:445px;
  margin:clamp(26px,2.35vw,36px) 0 0;
  color:#405678;
  font-size:clamp(17px,1.35vw,21px);
  font-weight:400;
  line-height:1.48;
  letter-spacing:-.025em;
}

.wcn-soporte-servicios {
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:clamp(34px,3.4vw,52px) 0 clamp(58px,5.6vw,86px);
}

.wcn-soporte-servicio {
  display:grid;
  grid-template-columns:clamp(66px,5.25vw,81px) minmax(0,1fr);
  gap:clamp(20px,2vw,31px);
  min-width:0;
  padding:0 clamp(27px,3vw,47px);
  color:#07172f;
}

.wcn-soporte-servicio:first-child { padding-left:30px; }
.wcn-soporte-servicio + .wcn-soporte-servicio { border-left:1px solid #d5dae1; }

.wcn-soporte-icono {
  display:grid;
  place-items:center;
  width:clamp(66px,5.25vw,81px);
  height:clamp(66px,5.25vw,81px);
  border:1px solid #cbd2dc;
  border-radius:50%;
  color:#07172f;
}

.wcn-soporte-icono svg {
  width:52%;
  height:52%;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.wcn-soporte-servicio-copy { padding-top:10px; }

.wcn-soporte-servicio h3 {
  margin:0 0 9px;
  color:#07172f;
  font-size:clamp(19px,1.55vw,24px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.035em;
}

.wcn-soporte-servicio p {
  margin:0;
  color:#405678;
  font-size:clamp(14px,1.12vw,17px);
  line-height:1.5;
  letter-spacing:-.018em;
}

.wcn-soporte-pie {
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:auto minmax(90px,1fr) auto;
  align-items:center;
  gap:clamp(24px,3.2vw,50px);
  padding:0 0 0 2px;
  color:#365071;
  font-size:clamp(9px,.75vw,11.5px);
  font-weight:500;
  letter-spacing:.25em;
  line-height:1.35;
}

.wcn-soporte-pie p { margin:0; }
.wcn-soporte-pie > span { display:block; height:1px; background:#aab6c5; }

@media (max-width:1180px) {
  .wcn-soporte-interior { padding-inline:32px; }
  .wcn-soporte-principal { grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr); gap:34px; }
  .wcn-soporte-composicion { width:calc(100% + 30px); height:410px; transform:translateX(-30px); }
  .wcn-soporte-web { top:118px; height:250px; font-size:clamp(185px,22vw,242px); }
  .wcn-soporte-camaleon { left:4%; width:108%; }
  .wcn-soporte-manos { bottom:46px; }
  .wcn-soporte-copy h2 { font-size:clamp(35px,4vw,44px); }
  .wcn-soporte-servicio { grid-template-columns:62px minmax(0,1fr); gap:18px; padding-inline:24px; }
  .wcn-soporte-servicio:first-child { padding-left:12px; }
  .wcn-soporte-icono { width:62px; height:62px; }
  .wcn-soporte-servicio-copy { padding-top:5px; }
}

@media (max-width:860px) {
  .wcn-soporte-seccion { min-height:0; }
  .wcn-soporte-interior { padding:48px 28px 40px; }
  .wcn-soporte-cabecera { margin-inline:0; margin-bottom:34px; }
  .wcn-soporte-principal { grid-template-columns:1fr; gap:38px; }
  .wcn-soporte-composicion { width:min(calc(100% + 12px),732px); height:clamp(350px,58vw,495px); margin:0 auto; transform:translateX(-12px); }
  .wcn-soporte-composicion::before { left:-8%; top:42%; width:45%; height:54%; opacity:.66; filter:blur(8px) saturate(.72) brightness(.84); }
  .wcn-soporte-tu { top:34px; left:5%; font-size:clamp(42px,8vw,62px); }
  .wcn-soporte-web { top:clamp(100px,16vw,138px); height:auto; font-size:clamp(190px,36vw,310px); }
  .wcn-soporte-camaleon { top:-54%; left:4%; width:108%; }
  .wcn-soporte-manos { left:5%; bottom:9%; font-size:clamp(13px,2vw,17px); }
  .wcn-soporte-copy { width:min(100%,600px); padding:0; }
  .wcn-soporte-copy h2 { font-size:clamp(40px,6.3vw,54px); }
  .wcn-soporte-copy > p { max-width:540px; font-size:18px; }
  .wcn-soporte-servicios { margin-top:66px; margin-bottom:66px; }
  .wcn-soporte-servicio { grid-template-columns:58px minmax(0,1fr); gap:16px; padding-inline:18px; }
  .wcn-soporte-servicio:first-child { padding-left:0; }
  .wcn-soporte-icono { width:58px; height:58px; }
  .wcn-soporte-servicio h3 { font-size:19px; }
  .wcn-soporte-servicio p { font-size:14px; }
}

@media (max-width:640px) {
  .wcn-soporte-interior { padding:38px 20px 32px; }
  .wcn-soporte-cabecera { align-items:flex-start; gap:20px; margin-bottom:22px; font-size:8.5px; letter-spacing:.27em; }
  .wcn-soporte-etiquetas { max-width:170px; flex-wrap:wrap; gap:5px 9px; line-height:1.45; }
  .wcn-soporte-etiquetas b { display:none; }
  .wcn-soporte-composicion { height:clamp(292px,83vw,390px); margin-left:-8px; width:calc(100% + 16px); transform:translateX(-6px); }
  .wcn-soporte-composicion::before { left:-12%; top:43%; width:47%; height:52%; opacity:.52; filter:blur(7px) saturate(.72) brightness(.86); }
  .wcn-soporte-tu { top:28px; left:6%; font-size:clamp(35px,11vw,48px); }
  .wcn-soporte-web { top:clamp(84px,24vw,112px); font-size:clamp(132px,43vw,206px); letter-spacing:-.11em; }
  .wcn-soporte-camaleon { top:-50%; left:1%; width:112%; }
  .wcn-soporte-manos { left:6%; bottom:10%; max-width:94%; font-size:clamp(10px,3vw,13px); letter-spacing:.45em; }
  .wcn-soporte-principal { gap:34px; }
  .wcn-soporte-copy h2 { font-size:clamp(36px,11.2vw,49px); line-height:1.01; }
  .wcn-soporte-copy > p { margin-top:24px; font-size:17px; line-height:1.5; }
  .wcn-soporte-salto-escritorio { display:none; }
  .wcn-soporte-servicios { grid-template-columns:1fr; gap:0; margin:52px 0 58px; }
  .wcn-soporte-servicio,
  .wcn-soporte-servicio:first-child { grid-template-columns:62px minmax(0,1fr); gap:20px; padding:26px 0; border-left:0; }
  .wcn-soporte-servicio + .wcn-soporte-servicio { border-top:1px solid #d5dae1; border-left:0; }
  .wcn-soporte-icono { width:62px; height:62px; }
  .wcn-soporte-servicio h3 { font-size:21px; }
  .wcn-soporte-servicio p { font-size:15px; }
  .wcn-soporte-pie { grid-template-columns:auto 1fr; gap:20px; font-size:9px; letter-spacing:.19em; }
  .wcn-soporte-pie > span { grid-column:2; grid-row:1; }
  .wcn-soporte-pie p:last-child { grid-column:1 / -1; justify-self:end; }
  .wcn-soporte-sombra-hoja-cinco { display:none; }
}

/* Ajuste final de profundidad y separación de la composición. */
.wcn-soporte-sombras {
  background:url("assets/sombra-hojas-soporte.png") left top / 100% 100% no-repeat;
}

.wcn-soporte-sombras::before,
.wcn-soporte-sombras::after,
.wcn-soporte-composicion::before {
  content:none;
}

.wcn-soporte-sombra-hoja { display:none; }

.wcn-soporte-copy {
  transform:translateX(clamp(32px,3.5vw,58px));
}

@media (max-width:860px) {
  .wcn-soporte-copy { transform:none; }
}

/* Fondo de hojas reducido: tres grupos de sombra, siempre detrás de WEB. */
.wcn-soporte-sombras {
  background:none;
}

.wcn-soporte-sombras::before {
  content:"";
  top:-94px;
  left:-108px;
  width:500px;
  height:390px;
  opacity:.32;
  filter:blur(25px);
  transform:rotate(-10deg);
  background:
    radial-gradient(ellipse 76px 210px at 12% 18%,rgba(35,65,22,.78) 0 35%,transparent 52%),
    radial-gradient(ellipse 92px 230px at 48% 5%,rgba(44,70,27,.56) 0 33%,transparent 52%),
    radial-gradient(ellipse 74px 180px at 83% 26%,rgba(60,78,46,.34) 0 30%,transparent 52%);
}

.wcn-soporte-sombras::after {
  content:"";
  left:3%;
  bottom:24%;
  width:680px;
  height:260px;
  opacity:.20;
  filter:blur(30px);
  transform:rotate(-7deg);
  background:
    radial-gradient(ellipse 130px 52px at 15% 63%,rgba(45,73,25,.65) 0 35%,transparent 60%),
    radial-gradient(ellipse 150px 55px at 47% 44%,rgba(65,79,60,.44) 0 32%,transparent 62%),
    radial-gradient(ellipse 115px 46px at 79% 62%,rgba(66,79,70,.30) 0 30%,transparent 62%);
}

.wcn-soporte-composicion::before { content:none; }

.wcn-soporte-sombra-hoja {
  display:block;
  width:clamp(130px,12vw,190px);
  height:clamp(52px,4.8vw,76px);
  background:rgba(47,75,29,.22);
  filter:blur(21px);
}

.wcn-soporte-sombra-hoja-uno { top:30%; left:-8%; transform:rotate(44deg) scale(1.22); opacity:.72; }
.wcn-soporte-sombra-hoja-dos { top:53%; left:-12%; transform:rotate(-18deg) scale(1.06); opacity:.52; }
.wcn-soporte-sombra-hoja-tres { bottom:18%; left:-7%; transform:rotate(28deg) scale(.92); opacity:.34; }
.wcn-soporte-sombra-hoja-cuatro,
.wcn-soporte-sombra-hoja-cinco { display:none; }

@media (max-width:640px) {
  .wcn-soporte-sombras::before { opacity:.23; transform:scale(.78) rotate(-10deg); transform-origin:top left; }
  .wcn-soporte-sombras::after { opacity:.14; transform:scale(.68) rotate(-7deg); transform-origin:left bottom; }
  .wcn-soporte-sombra-hoja-uno { left:-17%; }
  .wcn-soporte-sombra-hoja-dos { left:-22%; }
}

/* La composición aprobada se usa intacta en escritorio: letras, cola, rama y sombras. */
.wcn-soporte-camaleon {
  -webkit-mask-image:none;
  mask-image:none;
}

@media (min-width:1181px) {
  .wcn-soporte-principal {
    position:relative;
    display:block;
    min-height:500px;
  }

  .wcn-soporte-composicion {
    position:absolute;
    top:0;
    left:0;
    width:1040px;
    max-width:none;
    height:700px;
    margin:0;
    transform:none;
  }

  .wcn-soporte-maqueta-ventana {
    position:absolute;
    top:-154px;
    left:calc(-1 * clamp(34px,4.4vw,68px));
    z-index:20;
    width:1040px;
    height:700px;
    overflow:hidden;
    pointer-events:none;
  }

  .wcn-soporte-maqueta-izquierda {
    display:block;
    width:1536px;
    max-width:none;
    height:auto;
  }

  .wcn-soporte-tu,
  .wcn-soporte-web,
  .wcn-soporte-manos {
    display:none;
  }

  .wcn-soporte-kicker { visibility:hidden; }

  .wcn-soporte-copy {
    position:absolute;
    top:90px;
    left:clamp(800px,63.8vw,1060px);
    z-index:25;
    width:min(440px,calc(100vw - clamp(800px,63.8vw,1060px) - 90px));
    padding:0;
    transform:none;
  }

  .wcn-soporte-servicios {
    margin-top:52px;
  }
}

/* En escritorio se muestra la maqueta original completa, sin reinterpretaciones. */
.wcn-soporte-maqueta-completa { display:none; }

@media (min-width:1181px) {
  .wcn-soporte-seccion {
    min-height:0;
    background:#fff;
  }

  .wcn-soporte-maqueta-completa {
    display:block;
    width:100%;
    height:auto;
    margin:0;
  }

  .wcn-soporte-sombras,
  .wcn-soporte-interior {
    display:none;
  }
}

/*
 * Corrección responsive de la sección de soporte.
 * La maqueta completa queda reservada al escritorio aprobado (>= 1181 px).
 * En tablet y móvil se oculta su copia interna y se conserva únicamente la
 * composición adaptable de TU / WEB / camaleón, sin anchos ni offsets laterales.
 */
@media (max-width:1180px) {
  .wcn-soporte-maqueta-ventana {
    display:none !important;
  }

  .wcn-soporte-composicion {
    width:100%;
    max-width:732px;
    margin-inline:auto;
  }
}

/* Ajuste visual final: solo tablet vertical y móvil (tablet horizontal queda intacta). */
@media (max-width:1180px) {
  .wcn-soporte-sombras {
    background:url("assets/sombra-hojas-soporte.png") left top / 100% auto no-repeat;
  }

  .wcn-soporte-sombras::before,
  .wcn-soporte-sombras::after {
    content:none;
  }

  .wcn-soporte-sombra-hoja {
    display:none;
  }



  .wcn-soporte-camaleon {
    top:-50%;
    left:-1%;
    width:104%;
  }
}

@media (max-width:860px) {


  .wcn-soporte-camaleon {
    top:-52%;
    left:-1%;
    width:106%;
  }
}

@media (max-width:640px) {


  .wcn-soporte-camaleon {
    top:-48%;
    left:-2.5%;
    width:106%;
  }
}

/*
 * Composición exacta de PC en pantallas estrechas.
 * El camaleón, WEB, hojas, desenfoques y sombras escalan como una sola imagen,
 * mientras el titular y los servicios conservan el layout responsive existente.
 */
.wcn-soporte-composicion-responsive {
  display:none;
}

@media (max-width:1180px) {
  .wcn-soporte-sombras {
    display:none;
  }

  .wcn-soporte-principal {
    grid-template-columns:1fr;
    gap:clamp(34px,5vw,48px);
  }

  .wcn-soporte-composicion {
    width:calc(100% + 64px);
    max-width:none;
    height:auto;
    margin-inline:-32px;
    transform:none;
  }

  .wcn-soporte-composicion-responsive {
    display:block;
    width:100%;
    max-width:none;
    height:auto;
    margin:0;
    object-fit:contain;
  }

  .wcn-soporte-maqueta-ventana,
  .wcn-soporte-tu,
  .wcn-soporte-web,
  .wcn-soporte-manos {
    display:none !important;
  }

  .wcn-soporte-copy {
    width:min(100%,600px);
    padding:0;
    transform:none;
  }
}

@media (max-width:860px) {
  .wcn-soporte-composicion {
    width:calc(100% + 56px);
    margin-inline:-28px;
  }
}

@media (max-width:640px) {
  .wcn-soporte-composicion {
    width:calc(100% + 40px);
    margin-inline:-20px;
  }
}

/*
 * Cierre responsive: la cabecera editorial se superpone sobre la imagen.
 * La composición gráfica permanece intacta y comienza junto a la sección anterior.
 */
@media (max-width:1180px) {
  .wcn-soporte-interior {
    padding-top:0;
  }

  .wcn-soporte-cabecera {
    position:absolute;
    top:clamp(18px,2.7vw,30px);
    left:32px;
    right:32px;
    z-index:10;
    margin:0;
    pointer-events:none;
  }
}

@media (max-width:860px) {
  .wcn-soporte-cabecera {
    left:28px;
    right:28px;
  }
}

@media (max-width:640px) {
  .wcn-soporte-cabecera {
    top:16px;
    left:20px;
    right:20px;
  }
}

/* ==========================================================
   CIERRE RESPONSIVE CONSOLIDADO · HERO + SOPORTE
   Las reglas antiguas del <style> del HTML quedan neutralizadas.
   ========================================================== */

/* Conserva el aspecto aprobado del encabezado lateral. */
.sidebar-contacto span:not(.contacto-flecha) {
  display:none !important;
}

.sidebar-contacto {
  gap:0 !important;
  padding-inline:8px !important;
}

/* PC: se mantiene la colocación aprobada del camaleón del hero. */
@media (min-width:1181px) and (max-width:1700px) and (orientation:landscape) {
  #inicio.hero.hero-ref .hero-ref-fondo {
    transform:translateX(15%) !important;
  }
}

/* Tablet: altura real, aire bajo los botones e imagen completa más abajo. */

@media (min-width:768px) and (max-width:1180px) and (orientation:portrait) {

  #inicio.hero.hero-ref {
    min-height:1180px !important;
    overflow:hidden !important;
  }

  #inicio.hero.hero-ref .hero-contenido {
    width:calc(100% - 48px) !important;
    max-width:800px !important;
    margin:0 auto !important;
    padding:30px 0 455px !important;
    position:relative !important;
    z-index:5 !important;
  }

  #inicio.hero.hero-ref .hero-ref-fondo {
    position:absolute !important;
    top:635px !important;
    left:44% !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:820px !important;
    height:auto !important;
    transform:translateX(-50%) !important;
    object-fit:contain !important;
    object-position:center top !important;
    z-index:1 !important;
  }

}
/* Móvil: conserva el apilado actual y desplaza el conjunto visual lo justo. */
@media (max-width:767px) {
  #inicio.hero.hero-ref {
    height:950px !important;
    min-height:950px !important;
    padding-top:0 !important;
    overflow:hidden !important;
  }

  #inicio.hero.hero-ref .hero-contenido {
    position:relative !important;
    z-index:4 !important;
    width:calc(100% - 48px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:105px 0 0 !important;
  }

  #inicio.hero.hero-ref .eyebrow {
    max-width:100% !important;
    font-size:11px !important;
    line-height:1.35 !important;
    letter-spacing:.16em !important;
  }

  #inicio.hero.hero-ref #hero-title {
    max-width:100% !important;
    margin-top:26px !important;
    font-size:42px !important;
    line-height:1.03 !important;
  }

  #inicio.hero.hero-ref .hero-texto {
    width:auto !important;
    max-width:100% !important;
    margin-top:28px !important;
    font-size:15px !important;
    line-height:1.65 !important;
  }

  #inicio.hero.hero-ref .hero-acciones {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    margin-top:28px !important;
  }

  #inicio.hero.hero-ref .hero-acciones .boton {
    width:100% !important;
    justify-content:center !important;
  }

  #inicio.hero.hero-ref .hero-ref-fondo {
    position:absolute !important;
    inset:640px 4% auto auto !important;
    width:115% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:right top !important;
    transform:none !important;
    z-index:1 !important;
  }

  #inicio.hero.hero-ref .hero-ventajas {
    display:none !important;
  }

  .wcn-soporte-interior {
    padding:38px 20px 32px !important;
  }

  .wcn-soporte-cabecera {
    position:static !important;
    margin:0 0 22px !important;
  }
}

@media (max-height:600px) and (orientation:landscape) {
  #inicio.hero.hero-ref .hero-ref-fondo {
    top:600px !important;
  }
}

/* =========================================================
   AVISO DE COOKIES
   ========================================================= */

.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 9999;

  width: min(720px, calc(100% - 40px));
  padding: 22px 24px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;

  color: #f7fbff;
  background: rgba(4, 20, 35, 0.94);
  border: 1px solid rgba(102, 184, 255, 0.28);
  border-radius: 20px;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.cookie-banner[hidden] {
  display: none !important;
}

.cookie-banner > div:first-child {
  flex: 1;
}

.cookie-banner strong {
  display: block;
  margin-bottom: 7px;

  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
}

.cookie-banner p {
  margin: 0;

  color: rgba(235, 245, 255, 0.78);
  font-size: 13px;
  line-height: 1.55;
}

.cookie-banner p a {
  color: #8fcaff;
  text-decoration: none;
  font-weight: 700;
}

.cookie-banner p a:hover {
  text-decoration: underline;
}

.cookie-acciones {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.cookie-acciones button {
  min-height: 42px;
  padding: 0 17px;

  border-radius: 999px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;

  cursor: pointer;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}

#cookie-rechazar {
  color: #dcecff;
  background: transparent;
  border: 1px solid rgba(220, 236, 255, 0.3);
}

#cookie-aceptar {
  color: #041423;
  background: #8fcaff;
  border: 1px solid #8fcaff;
}

.cookie-acciones button:hover {
  transform: translateY(-1px);
}

#cookie-rechazar:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(220, 236, 255, 0.5);
}

#cookie-aceptar:hover {
  background: #b4dcff;
  border-color: #b4dcff;
}


/* TABLET Y MÓVIL */

@media (max-width: 700px) {
  .cookie-banner {
    bottom: 14px;
    width: calc(100% - 24px);
    padding: 18px;

    flex-direction: column;
    align-items: stretch;
    gap: 16px;

    border-radius: 18px;
  }

  .cookie-banner strong {
    font-size: 15px;
  }

  .cookie-banner p {
    font-size: 12.5px;
  }

  .cookie-acciones {
    width: 100%;
  }

  .cookie-acciones button {
    flex: 1;
    padding: 0 12px;
  }
}
.cookie-icono {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.cookie-svg {
  display: block;
  width: 64px;
  height: 56px;
  overflow: visible;
}

@media (max-width: 700px) {
  .cookie-icono {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }

  .cookie-svg {
    width: 56px;
    height: 48px;
  }
}