/* =====================================================================
   InfinitySeed Group · capa V9 «Evolución de la versión oficial»
   Base: www.infinityseed.group (producción, capturada 2026-09-29, SHA cae0315b…).
   Esta hoja se carga DESPUÉS del CSS original y solo corrige/añade:
   no reescribe secciones, textos, imágenes ni el motor de idioma.
   Reutiliza (no reinventa):
   · Familia CTA  — Infinity ChatBox OWNER LOCK 2026-09-27
   · Iluminación de tarjetas — ChatBox PRICING CARD PREMIUM INTERACTION 2026-09-29
   · Asesor + launcher — ChatBox app/chatbox-sales-advisor.css (byte a byte)
   · Logo 3D (V8.3), medallones (V8.1), dron ATOM 2 fotográfico (V8.1)
   ===================================================================== */

/* ---------- 0 · Fuentes autoalojadas (OFL) — sin peticiones a terceros (RGPD) ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --v9-header-h:72px;
  --v8-header-h:var(--v9-header-h);
  --v8-sans:Inter,system-ui,sans-serif;
  /* Material de la sede: cristal oscuro + arista cromada + luz de estudio */
  --v9-glass:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,0) 22%),
             linear-gradient(155deg,rgba(18,42,82,.86) 0%,rgba(7,17,38,.93) 55%,rgba(3,8,20,.97) 100%);
  --v9-chrome:linear-gradient(145deg,rgba(236,246,255,.7) 0%,rgba(140,175,210,.22) 18%,rgba(26,52,92,.28) 46%,rgba(120,200,255,.5) 76%,rgba(255,255,255,.22) 100%);
  --v9-brush:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360'%3E%3Cfilter id='b'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .012' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .8 0 0 0 0 .88 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23b)'/%3E%3C/svg%3E");
  --v9-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -22px 44px rgba(0,30,80,.22),0 1px 0 rgba(0,0,0,.6),0 34px 64px -30px rgba(0,0,0,.9);
}
@media(min-width:1024px){:root{--v9-header-h:92px}}
[hidden]{display:none!important}
html{scroll-padding-top:calc(var(--v9-header-h) + 8px)}
section{scroll-margin-top:calc(var(--v9-header-h) + 4px)}

/* ---------- 1 · Cabecera siempre presente: transparente sobre el hero, cristal al avanzar ---------- */
body>header{transform:none!important;pointer-events:auto!important;background:transparent;border-bottom-color:transparent;backdrop-filter:none;
  transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease}
body>header::before{content:"";position:absolute;inset:0 0 -40px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(3,5,12,.82),rgba(3,5,12,.35) 60%,transparent);transition:opacity .4s}
body>header.show{background:rgba(5,7,15,.78);border-bottom-color:var(--line);backdrop-filter:blur(14px) saturate(1.2)}
body>header.show::before{opacity:0}
.hd{height:var(--v9-header-h)}
.brand{text-decoration:none;flex:0 0 auto}
.brand img{width:auto!important;max-width:none!important}
nav.desk{gap:clamp(16px,1.9vw,30px)}
nav.desk a{color:rgba(255,255,255,.72)}
@media(min-width:1024px) and (max-width:1199px){nav.desk a{font-size:11.5px;letter-spacing:.1em}}

/* ---------- 2 · Logo corporativo 3D (master aprobado; píxeles intactos) ---------- */
.v8-brand{--rx:0deg;--ry:0deg;--lift:0px;position:relative;display:inline-block;line-height:0;isolation:isolate;
  transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(var(--lift));transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.v8-brand picture{display:block;position:relative;z-index:1}
.v8-brand-img{display:block;height:clamp(44px,4.1vw,76px)!important;width:auto;filter:none!important}
.v8-brand-glow{position:absolute;inset:-28% -10%;z-index:0;pointer-events:none;border-radius:50%;
  background:radial-gradient(ellipse at 30% 55%,rgba(40,150,255,.42),rgba(0,90,220,.16) 45%,transparent 70%);opacity:.55;filter:blur(6px);animation:v8BrandBreath 5.2s ease-in-out infinite}
@keyframes v8BrandBreath{0%,100%{opacity:.45;transform:scale(.96)}50%{opacity:.75;transform:scale(1.04)}}
.v8-brand-sheen{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask:url("../brand/infinityseed-group-lockup-960.webp") center/100% 100% no-repeat;mask:url("../brand/infinityseed-group-lockup-960.webp") center/100% 100% no-repeat;
  background:linear-gradient(105deg,transparent 38%,rgba(190,230,255,.12) 44%,rgba(255,255,255,.85) 50%,rgba(150,215,255,.18) 56%,transparent 62%);
  background-size:260% 100%;background-position:130% 0;animation:v8BrandSheen 7s cubic-bezier(.45,.05,.2,1) infinite}
@keyframes v8BrandSheen{0%,62%{background-position:130% 0}86%,100%{background-position:-30% 0}}
.v8-brand::after{content:"";position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;z-index:0;border-radius:50%;pointer-events:none;opacity:0;
  transform:translate(-50%,-50%) scale(.4);border:2px solid rgba(140,225,255,.9);box-shadow:0 0 22px rgba(0,150,255,.8)}
.v8-brand:is(:hover,[data-lit="true"]){--lift:6px}
.v8-brand:is(:hover,[data-lit="true"]) .v8-brand-glow{opacity:1;transform:scale(1.1);animation-duration:2.2s}
.v8-brand:is(:hover,[data-lit="true"]) .v8-brand-sheen{animation:v8BrandSheenFast 1.1s cubic-bezier(.45,.05,.2,1) 1}
@keyframes v8BrandSheenFast{from{background-position:130% 0}to{background-position:-30% 0}}
.v8-brand[data-lit="true"]::after{animation:v8BrandPulse .8s ease-out}
@keyframes v8BrandPulse{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}
@media(max-width:700px){
  .v8-brand-sheen{-webkit-mask-image:url("../brand/infinityseed-group-emblem-240.webp");mask-image:url("../brand/infinityseed-group-emblem-240.webp")}
  .v8-brand-img{height:44px!important}
}

/* ---------- 3 · Medallones de idioma (masters 3D del Patrón) ---------- */
.v8-langwrap .langMenu.v8-medals{position:static;display:flex!important;flex-direction:row;min-width:0;border:0;background:none;box-shadow:none;backdrop-filter:none;overflow:visible;gap:6px;padding:0}
.v8-medal{all:unset;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;position:relative;isolation:isolate;display:grid;place-items:center;
  width:46px;height:46px;border-radius:50%;cursor:pointer;transform:perspective(600px) translateZ(0);transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .24s ease}
.v8-medal img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 6px rgba(0,0,0,.55)) drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.v8-medal::before{content:"";position:absolute;inset:-14%;z-index:0;border-radius:50%;pointer-events:none;opacity:0;transform:scale(.86);
  background:radial-gradient(circle,rgba(70,190,255,0) 46%,rgba(70,190,255,.55) 58%,rgba(0,120,255,.22) 66%,transparent 74%);transition:opacity .28s ease,transform .28s ease}
.v8-medal::after{content:"";position:absolute;inset:13%;z-index:2;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.55) 49%,rgba(190,236,255,.1) 57%,transparent 68%);
  background-size:260% 100%;background-position:120% 0;opacity:.55;animation:v8MedalSheen 8s ease-in-out infinite}
.v8-medal:nth-child(2)::after{animation-delay:1.2s}.v8-medal:nth-child(3)::after{animation-delay:2.4s}.v8-medal:nth-child(4)::after{animation-delay:3.6s}
@keyframes v8MedalSheen{0%,70%,100%{background-position:120% 0}84%{background-position:-20% 0}}
.v8-medal:hover{transform:perspective(600px) translateY(-3px) rotateX(8deg) scale(1.08);filter:brightness(1.1)}
.v8-medal:hover::before{opacity:.75;transform:scale(1)}
.v8-medal[aria-pressed="true"]::before{opacity:.95;transform:scale(1)}
.v8-medal[aria-pressed="true"] img{filter:drop-shadow(0 5px 6px rgba(0,0,0,.55)) drop-shadow(0 0 10px rgba(80,200,255,.75))}
.v8-medal[data-touching="true"],.v8-medal:active{transform:perspective(600px) translateY(2px) scale(.93);filter:brightness(1.35) saturate(1.1)}
.v8-medal[data-touching="true"]::before,.v8-medal:active::before{opacity:1;transform:scale(1.12);background:radial-gradient(circle,rgba(150,225,255,.18) 30%,rgba(70,190,255,.85) 58%,rgba(0,120,255,.4) 68%,transparent 78%)}
.v8-medal[data-touching="true"]::after,.v8-medal:active::after{animation:v8MedalTap .5s ease-out}
@keyframes v8MedalTap{from{background-position:120% 0;opacity:1}to{background-position:-20% 0;opacity:.55}}
.v8-medal:focus-visible{outline:3px solid #67d9ff;outline-offset:4px}
@media(min-width:1024px) and (max-width:1199px){.v8-medal{width:40px;height:40px}}
@media(max-width:580px){.v8-langwrap .langMenu.v8-medals{gap:3px}.v8-medal{width:38px;height:38px}}
@media(max-width:374px){.v8-medal{width:33px;height:33px}.hd{gap:8px}}

/* ---------- 4 · Tipografía de títulos y script = ChatBox (reutilización exacta, Patrón 2026-10-13) ----------
   Fuente: infinity-chatbox-platform app/approved-final-landing.css + app/landing.css
   · Títulos de sección: Impact,"Arial Narrow",sans-serif · 900 · MAYÚSCULAS · −0,045em · #eef8ff
   · Titular principal: Inter 950 · −0,055em · sombra 3D de ChatBox (.final-master-headline)
   · Script: "Snell Roundhand","Segoe Script",cursive · 600 · #63e5ff · halo (.final-ecosystem-lab)
   Las fuentes de título anteriores dejan de usarse (los archivos se conservan en el repositorio). */
.stone{font-family:Impact,"Arial Narrow",sans-serif!important;font-weight:900!important;text-transform:uppercase;
  letter-spacing:-.045em;line-height:.94;color:#eef8ff!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
  -webkit-text-fill-color:#eef8ff;filter:none!important;
  text-shadow:0 3px 0 rgba(13,39,68,.95),0 9px 24px rgba(0,0,0,.58),0 0 24px rgba(34,150,255,.12);text-wrap:balance;overflow-wrap:normal}
/* Titular principal: mismo trazo que todos los títulos (Impact 900 de ChatBox), solo más grande. */
.heroTitle.stone{font-size:clamp(46px,12.5vw,68px)!important;line-height:.92;max-width:14ch}
@media(min-width:761px){.heroTitle.stone{font-size:clamp(56px,6vw,96px)!important}}
/* V9.16: «CONSTRUYENDO» (≈7.96em) no cabe a 12.5vw en móvil; solo ES, resto intacto */
@media(max-width:760px){html[lang="es"] .heroTitle.stone{font-size:clamp(34px,11vw,60px)!important}}
.dept-head{padding-top:clamp(40px,6vw,84px);margin-bottom:clamp(26px,3.2vw,46px)}
.dept-head .idx{font-size:11px;font-weight:900;letter-spacing:.18em;color:#a6dfff}
.dept-head h2.stone{font-size:clamp(2.3rem,10vw,3.2rem)}
@media(min-width:761px){.dept-head h2.stone{font-size:clamp(3.15rem,5vw,4.55rem)}}
.dept-head h3.stone{font-size:clamp(2rem,8.4vw,2.6rem)}
@media(min-width:761px){.dept-head h3.stone{font-size:clamp(2.4rem,3.6vw,3.6rem)}}
.neon{font-family:"Snell Roundhand","Segoe Script",cursive!important;font-weight:600!important;color:#63e5ff!important;letter-spacing:.01em;
  -webkit-text-stroke:0!important;text-shadow:0 0 8px rgba(56,212,255,.82),0 0 20px rgba(0,122,255,.55)!important}
.neon::after{content:none!important}
.dept-head .neon{display:block;width:fit-content;margin:.12em auto 0;font-size:clamp(1.7rem,6.6vw,2.2rem)!important;line-height:1.1;padding:0 .12em}
@media(min-width:761px){.dept-head .neon{font-size:clamp(2.1rem,2.9vw,3.1rem)!important}}
.appblk .dept-head .neon{margin-left:0}
.heroScript{font-size:clamp(2.2rem,6vw,3.9rem)!important;margin-top:.06em!important;display:inline-block}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:#a6dfff}
.lead{font-size:clamp(15px,1.1vw,17px);color:rgba(226,238,250,.8)}
.lead.centered{max-width:72ch;font-size:clamp(15px,1.2vw,18px)}

/* ---------- 5 · Material hiperrealista: cristal, arista cromada, luz que sigue al dedo ---------- */
:is(.card,.ns,.prod,.tm,.role,.kpi>div,.app4,.v8-product,.heroKpi li){
  --mx:50%;--my:-20%;position:relative;isolation:isolate;
  border:1px solid transparent!important;
  background:var(--v9-brush) padding-box,var(--v9-glass) padding-box,var(--v9-chrome) border-box!important;
  box-shadow:var(--v9-shadow);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,filter .45s ease}
:is(.card,.ns,.prod,.tm,.role,.kpi>div,.app4,.v8-product)::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;
  background:radial-gradient(520px circle at var(--mx) var(--my),rgba(150,220,255,.17),rgba(0,140,255,.06) 32%,transparent 58%),
             linear-gradient(112deg,transparent 40%,rgba(255,255,255,.07) 48%,rgba(255,255,255,0) 56%);
  opacity:.45;transition:opacity .35s ease}
:is(.card,.ns,.prod,.tm,.role,.kpi>div,.app4,.v8-product):is(:hover,[data-lit="true"],:focus-within)::after{opacity:1}
:is(.ns,.prod,.tm,.app4,.v8-product):is(:hover,[data-lit="true"]){transform:translateY(-5px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -22px 44px rgba(0,40,110,.26),0 0 0 1px rgba(140,213,255,.18),0 0 34px -6px rgba(0,150,255,.42),0 40px 70px -30px rgba(0,0,0,.95)}
.heroKpi li{list-style:none;border-radius:16px;padding:14px 16px;backdrop-filter:blur(10px)}
.heroKpi{border-top:0;gap:12px}
/* Fotografía en vitrina: la imagen respira con la luz, nunca se recorta ni se deforma. */
.ns{border-radius:24px}
.ns img{transition:transform 1.4s cubic-bezier(.2,.8,.2,1),filter .6s ease;transform-origin:50% 40%}
.ns:hover img{transform:scale(1.035);filter:saturate(1.08) contrast(1.03)}
.ns figcaption{position:relative;z-index:4}
.ns figcaption::before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(140,213,255,.7),transparent);box-shadow:0 0 14px rgba(0,163,255,.6)}
.ns h4{font-size:clamp(19px,1.55vw,27px)!important;font-weight:750;letter-spacing:-.015em;line-height:1.15;color:#f2f8ff}
.ns p{font-size:clamp(14.5px,1.05vw,16.5px)!important;color:rgba(214,230,246,.74)!important}
.card{border-radius:24px}
.prod{border-radius:22px}
.price{font-family:Impact,"Arial Narrow",sans-serif;font-weight:900;font-size:clamp(30px,2.6vw,40px);letter-spacing:.01em;
  background:linear-gradient(176deg,#fbfdff 0%,#c9d4df 38%,#8592a2 58%,#eef3f8 72%,#9aa6b4 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #3c4653) drop-shadow(0 6px 10px rgba(0,0,0,.6))}

/* ---------- 6 · Composición sin espacios muertos ---------- */
@media(min-width:1000px){
  /* Una sola pieza: vitrina horizontal — imagen protagonista | relato (nunca media fila vacía). */
  .edcol:has(>:only-child){grid-template-columns:1fr}
  .edcol>.ns:only-child{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}
  .edcol>.ns:only-child>img{height:min(74vh,720px);width:auto;max-width:58vw}
  .edcol>.ns:only-child figcaption{padding:clamp(28px,3.4vw,60px)}
  .edcol>.ns:only-child h4{font-size:clamp(26px,2.3vw,40px)!important}
  .edcol>.ns:only-child p{font-size:clamp(16px,1.2vw,19px)!important}
  .edcol>.card:only-child{display:grid;grid-template-columns:minmax(220px,.45fr) 1fr;column-gap:clamp(28px,3vw,56px);align-items:center;padding:clamp(28px,3vw,48px)}
  .edcol>.card:only-child .plogo{grid-row:span 4;width:100%;max-width:320px;justify-self:center;margin:0}
}
@media(min-width:1100px){
  .edcol:has(>.ns:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Barra de control del departamento: estado, dominio y acciones en una sola línea. */
@media(min-width:900px){
  .card.edfoot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding:20px 28px}
  .card.edfoot>.legal{flex:1 1 360px;margin:0}
  .card.edfoot>.meta{margin:0;padding:0;border:0;flex:0 1 auto}
  .card.edfoot>.ctas{margin:0 0 0 auto}
}
.legal{color:rgba(205,222,240,.62)}
/* Pantallas panorámicas: la escena se presenta como pantalla de la sede (sin estirar más allá de su origen). */
@media(min-width:1024px){
  .scene{max-width:min(calc(100% - 80px),1680px);margin-inline:auto;border-radius:30px;
    box-shadow:0 0 0 1px rgba(140,213,255,.18),0 40px 90px -40px rgba(0,0,0,.95),0 0 60px -20px rgba(0,140,255,.35)}
  .scene::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 0 0 1px rgba(255,255,255,.06)}
  #appsPan{max-width:min(calc(100% - 80px),1680px);margin-inline:auto;border-radius:30px;overflow:hidden;
    box-shadow:0 0 0 1px rgba(140,213,255,.18),0 40px 90px -40px rgba(0,0,0,.95)}
}
.prods{gap:18px}
.wrap{max-width:1360px}

/* ---------- 7 · Emblemas mecanizados (sustituyen a las placas planas «WP · MD · AD») ---------- */
.srvLogo,.srvMono{position:relative;flex:0 0 64px;width:64px;height:64px;border-radius:50%;border:1px solid transparent;
  background:radial-gradient(circle at 50% 120%,rgba(0,163,255,.35),transparent 60%) padding-box,
             radial-gradient(circle at 32% 24%,#3b4a5e 0%,#121c2b 46%,#060b14 100%) padding-box,
             conic-gradient(from 210deg,#f4f9ff,#6f7d8f 18%,#e3ebf3 32%,#4b5868 50%,#f7fbff 66%,#7a8899 82%,#f4f9ff) border-box;
  box-shadow:inset 0 2px 3px rgba(255,255,255,.25),inset 0 -6px 12px rgba(0,0,0,.65),0 0 0 3px rgba(4,9,18,.9),0 0 0 4px rgba(140,213,255,.35),0 10px 22px -8px rgba(0,0,0,.9),0 0 22px -4px rgba(0,163,255,.55)}
.srvMono{font-family:Impact,"Arial Narrow",sans-serif;font-weight:900;font-size:19px;letter-spacing:.06em;color:#e6eef7;text-shadow:0 1px 0 #ffffff,0 -1px 0 #2a3646,0 2px 2px rgba(0,0,0,.85),0 0 14px rgba(0,163,255,.75)}
.srvLogo img{width:82%!important}
.prod.srv{padding:24px}
.prod.srv h4{font-size:clamp(17px,1.25vw,20px);font-weight:750;letter-spacing:-.01em}
.prod.srv>p{font-size:14px;color:rgba(214,230,246,.7)}

/* Equipo · iniciales grabadas en metal */
.tm .ini{font-size:46px;top:12px;right:16px;color:transparent;
  background:linear-gradient(176deg,#e9f1f9,#7b8898 55%,#2c3846);-webkit-background-clip:text;background-clip:text;opacity:.42}
.tm h4{font-size:clamp(18px,1.4vw,22px)}
/* Cifras como piezas de metal */
:is(.kpi,.heroKpi) b{font-family:Impact,"Arial Narrow",sans-serif;font-weight:900;letter-spacing:.02em;
  background:linear-gradient(176deg,#fbfdff 0%,#c9d4df 38%,#8592a2 58%,#eef3f8 72%,#9aa6b4 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 0 #3c4653) drop-shadow(0 5px 8px rgba(0,0,0,.6))}
.kpi b{font-size:clamp(28px,2.4vw,40px)}
.heroKpi b{font-size:clamp(26px,2.8vw,40px)}
/* Vitrinas del Club: luz de pedestal más física */
.vit{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 30px 50px -30px rgba(0,0,0,.95),0 0 0 1px rgba(140,213,255,.12)}
.stand:hover .vit{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 30px 60px -26px rgba(0,0,0,.95),0 0 40px -8px rgba(0,150,255,.55)}

/* ---------- 8 · Familia CTA (ChatBox OWNER LOCK 2026-09-27) ---------- */
:is(.b3d:not(.off),.v8-cta){
  position:relative;isolation:isolate;overflow:hidden;transform:translateZ(0);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:50px;padding:0 1.4rem;border-radius:14px;border:1px solid rgba(108,225,255,.92);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;color:#fff;font-weight:900;letter-spacing:.01em;text-shadow:0 1px 2px rgba(0,0,0,.55);text-decoration:none;cursor:pointer;
  background:radial-gradient(ellipse at 50% -12%,rgba(255,255,255,.72) 0%,rgba(179,245,255,.34) 16%,transparent 38%),
             linear-gradient(180deg,#35dcff 0%,#0d98ff 27%,#0868f5 55%,#153bd1 79%,#061a76 100%);
  box-shadow:inset 0 3px 2px rgba(255,255,255,.68),inset 0 -6px 10px rgba(0,11,84,.72),inset 0 -1px 0 rgba(0,0,0,.75),
    0 2px 0 #03215e,0 5px 0 #020d31,0 8px 15px rgba(0,0,0,.58),0 0 22px rgba(0,140,255,.48);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),filter .18s ease,box-shadow .18s ease,border-color .18s ease;
  animation:finalCtaCinematicBreath 3.4s ease-in-out infinite}
:is(.b3d:not(.off),.v8-cta)::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-80% -35%;opacity:.66;height:auto;left:-35%;right:-35%;top:-80%;
  background:linear-gradient(112deg,transparent 34%,rgba(255,255,255,.08) 42%,rgba(255,255,255,.82) 49%,rgba(137,235,255,.18) 56%,transparent 65%);
  transform:translateX(-62%) rotate(3deg);animation:finalCtaSpecularSweep 3.8s cubic-bezier(.22,.7,.2,1) infinite;transition:none}
:is(.b3d:not(.off),.v8-cta)::after{content:"";position:absolute;inset:2px 4px auto;height:38%;border-radius:11px;pointer-events:none;z-index:-1;transform:none;transition:none;
  background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.05));opacity:.74}
/* ChatBox OWNER LOCK «ALL LANDING CTA»: los secundarios reciben el mismo 3D cinematográfico que los primarios. */
:is(.b3d:not(.off),.v8-cta):is(:hover,:focus-visible,[data-lit="true"]){transform:translateY(-3px) scale(1.018);filter:brightness(1.18) saturate(1.16);border-color:#c9f8ff;
  box-shadow:inset 0 3px 2px rgba(255,255,255,.82),inset 0 -6px 10px rgba(0,13,100,.65),0 2px 0 #06429c,0 6px 0 #02194f,0 12px 22px rgba(0,0,0,.56),0 0 18px rgba(80,224,255,.95),0 0 42px rgba(0,122,255,.88),0 0 72px rgba(0,102,255,.48)}
:is(.b3d:not(.off),.v8-cta):active{transform:translateY(4px) scale(.982);filter:brightness(1.28) saturate(1.18);
  box-shadow:inset 0 5px 10px rgba(0,12,90,.62),inset 0 1px 2px rgba(255,255,255,.72),0 1px 0 #031b55,0 3px 8px rgba(0,0,0,.52),0 0 24px rgba(89,231,255,1),0 0 52px rgba(0,122,255,.95)}
@keyframes finalCtaSpecularSweep{0%,58%{transform:translateX(-68%) rotate(3deg);opacity:.16}72%{opacity:.78}88%,100%{transform:translateX(68%) rotate(3deg);opacity:.12}}
@keyframes finalCtaCinematicBreath{0%,100%{filter:brightness(1) saturate(1)}50%{filter:brightness(1.075) saturate(1.07)}}
.b3d.off{border-radius:14px;min-height:50px;padding:0 1.3rem;border-style:dashed}
.prod .b3d{align-self:flex-start;font-size:13px}
.prod:not(.srv) .b3d{align-self:stretch}
.ctmail{border-radius:14px}

/* ---------- 9 · Asesor comercial (ChatBox · un solo chat compartido) ---------- */
.v8-advisor .chatbox-sales-section{width:100%!important;margin:0!important;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)!important;gap:24px!important;padding:0!important}
.v8-advisor .chatbox-sales-copy{padding:clamp(24px,2.6vw,40px)!important;border-radius:26px!important;background:var(--v9-brush) padding-box,var(--v9-glass) padding-box,var(--v9-chrome) border-box!important;border:1px solid transparent!important;box-shadow:var(--v9-shadow)!important}
.v8-advisor .chatbox-sales-chat{border-radius:26px!important;border:1px solid transparent!important;background:linear-gradient(180deg,rgba(9,24,48,.96),rgba(3,10,24,.98)) padding-box,var(--v9-chrome) border-box!important;box-shadow:var(--v9-shadow),0 0 50px -16px rgba(0,140,255,.45)!important}
.v8-advisor .sales-chat-brand img{width:auto!important;height:46px!important;max-width:170px;object-fit:contain!important}
.v8-advisor .sales-chat-body{min-height:260px!important;max-height:400px!important}
.v8-products{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.v8-product{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;overflow:hidden}
.v8-product .v8-plogo{height:76px;display:flex;align-items:center}
.v8-product .v8-plogo img{max-height:76px;max-width:100%;width:auto;object-fit:contain}
.v8-product p{margin:0;color:#a8bdd2;font-size:.88rem;line-height:1.45}
.v8-product .v8-cta{min-height:44px;font-size:.8rem;align-self:flex-start;padding:0 1rem}
.v8-advisor-mode{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,199,121,.32);background:rgba(255,199,121,.07);color:#ffd9a3;font-size:.76rem;font-weight:700}
.v8-advisor-mode i{width:8px;height:8px;border-radius:50%;background:#ffc779;box-shadow:0 0 10px #ffc779}
.v8-advisor-mode.live{border-color:rgba(30,229,162,.32);background:rgba(30,229,162,.07);color:#a9f5d9}
.v8-advisor-mode.live i{background:#1ee5a2;box-shadow:0 0 10px #1ee5a2}
.v8-install{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.v8-install small{color:#8fa6bf;font-size:.78rem;max-width:42ch}
.v8-live-open{margin-top:18px}
.v8-advisor .chatbox-sales-section.v8-shared-live{grid-template-columns:1fr!important}
.sales-bubble a{color:#9fe0ff;text-decoration:underline;text-underline-offset:3px}
.chatbox-sales-launcher{font-family:var(--v8-sans);font-weight:800;
  background:radial-gradient(circle at 30% 0%,rgba(255,255,255,.22),transparent 40%),linear-gradient(135deg,rgba(10,46,86,.98),rgba(1,17,32,.98))!important;
  border-color:rgba(140,220,255,.6)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.35),0 14px 40px rgba(0,0,0,.45),0 0 30px rgba(0,122,255,.3)!important;z-index:1102!important}
.chatbox-sales-launcher>span{background:radial-gradient(ellipse at 50% -12%,rgba(255,255,255,.7),transparent 45%),linear-gradient(180deg,#35dcff,#0868f5 60%,#061a76)!important;box-shadow:inset 0 2px 1px rgba(255,255,255,.6),0 0 18px rgba(0,140,255,.6)!important}
.chatbox-sales-floating-panel{z-index:1101!important;max-height:calc(100dvh - var(--v9-header-h) - 104px)!important}
.chatbox-sales-floating-panel>.chatbox-sales-chat{max-height:calc(100dvh - var(--v9-header-h) - 104px)!important;grid-template-rows:auto minmax(150px,1fr) auto auto auto auto!important}
.chatbox-sales-floating-panel .chatbox-sales-chat>header{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:10px 12px!important}
.chatbox-sales-floating-panel .sales-chat-brand{flex-direction:row!important;align-items:center!important;gap:10px!important}
.chatbox-sales-floating-panel .sales-chat-brand img{width:auto!important;height:34px!important;max-width:120px}
.chatbox-sales-floating-panel .sales-chat-header-actions{flex-wrap:nowrap!important}
.chatbox-sales-floating-panel .sales-chat-body{min-height:150px!important;max-height:none!important}
.chatbox-sales-floating-panel .sales-chat-prompts{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px!important;padding:8px 10px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chatbox-sales-floating-panel .sales-chat-prompts::-webkit-scrollbar{display:none}
.chatbox-sales-floating-panel .sales-chat-prompts button{flex:0 0 auto!important;width:auto!important;min-height:40px!important;white-space:nowrap;border-radius:999px!important}
.chatbox-sales-floating-panel .chatbox-sales-chat>footer{padding:6px 12px 10px!important}
@media(max-height:520px) and (orientation:landscape){
  .chatbox-sales-floating-panel{top:calc(var(--v9-header-h) + 6px)!important;max-height:none!important}
  .chatbox-sales-floating-panel>.chatbox-sales-chat{max-height:calc(100dvh - var(--v9-header-h) - 14px)!important}
}
@media(max-width:1199px){.v8-advisor .chatbox-sales-section{grid-template-columns:1fr!important}}
@media(max-width:640px){
  .v8-products{grid-template-columns:1fr}
  .chatbox-sales-launcher .v8-launcher-label{max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body>footer{padding-bottom:104px}
}

/* ---------- 10 · Dron ATOM 2 · guía narrativa (fotografía del master + vida en CSS) ---------- */
#drone-cursor{display:none}
.v8-craft{--dw:120px;--bank:0deg;position:relative;width:var(--dw);aspect-ratio:1232/683;transform:rotate(var(--bank));transition:transform .2s linear}
.v8-craft-float{position:absolute;inset:0;animation:v8Hover 3.4s ease-in-out infinite}
@keyframes v8Hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.v8-craft img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35)) saturate(1.02) contrast(1.02)}
.v8-craft-shadow{position:absolute;left:14%;right:14%;top:96%;height:20%;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(0,0,0,.5),rgba(0,0,0,.2) 60%,transparent);filter:blur(4px);animation:v8Shadow 3.4s ease-in-out infinite}
@keyframes v8Shadow{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(.92);opacity:.6}}
.v8-prop{position:absolute;left:var(--x);top:var(--y);width:39%;aspect-ratio:1;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--r,3deg)) scaleY(.3)}
.v8-prop i{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle,transparent 15%,rgba(205,228,250,.06) 34%,rgba(205,228,250,.13) 70%,rgba(225,242,255,.32) 95%,transparent 100%),
             conic-gradient(from 0deg,transparent 0 18%,rgba(255,255,255,.34) 24%,transparent 31% 68%,rgba(255,255,255,.28) 74%,transparent 81%);
  animation:v8Spin .16s linear infinite}
.v8-prop.rev i{animation-direction:reverse}
@keyframes v8Spin{to{transform:rotate(360deg)}}
.v8-led{position:absolute;left:var(--x);top:var(--y);width:3.2%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;
  background:#bff0ff;box-shadow:0 0 4px 1px rgba(80,200,255,.95),0 0 10px 2px rgba(0,130,255,.55);animation:v8Led 2.6s ease-in-out infinite;mix-blend-mode:screen}
.v8-led.leg{width:2.2%;animation-duration:1.8s}
@keyframes v8Led{0%,100%{opacity:.95}50%{opacity:.45}}
.v8-lit .v8-led{animation-duration:.9s;box-shadow:0 0 6px 2px rgba(120,220,255,1),0 0 16px 4px rgba(0,140,255,.75)}
.v8-lit .v8-craft img{filter:drop-shadow(0 2px 2px rgba(0,0,0,.35)) drop-shadow(0 0 10px rgba(70,190,255,.35))}
.v8-waypoint{position:absolute;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .35s ease,transform .35s ease;
  padding:6px 11px;border-radius:999px;font:800 .7rem/1 var(--v8-sans);letter-spacing:.16em;text-transform:uppercase;color:#dff5ff;
  background:linear-gradient(180deg,rgba(14,48,92,.92),rgba(3,14,32,.92));border:1px solid rgba(140,220,255,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 8px 22px rgba(0,0,0,.45),0 0 18px rgba(0,140,255,.25);backdrop-filter:blur(10px)}
.v8-waypoint b{color:#7fdcff;margin-right:.5em}
.v8-waypoint.on{opacity:1;transform:none}
body.v8-drone-on #drone-cursor{display:block;position:fixed;left:0;top:0;z-index:9998;pointer-events:none;will-change:transform;width:auto;height:auto;opacity:1}
body.v8-drone-on #drone-cursor .v8-waypoint{left:50%;top:calc(100% + 16px);transform:translate(-50%,4px)}
body.v8-drone-on #drone-cursor .v8-waypoint.on{transform:translate(-50%,0)}
body.v8-drone-on,body.v8-drone-on :is(a,button,summary,label,[role="button"]){cursor:none}
body.v8-drone-on :is(input,textarea,select,[contenteditable]){cursor:auto}
.v8-reticle{position:fixed;left:0;top:0;z-index:9999;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;pointer-events:none;display:none;
  border:1.5px solid rgba(120,215,255,.85);box-shadow:0 0 8px rgba(0,150,255,.55),inset 0 0 6px rgba(0,150,255,.35);transition:width .2s,height .2s,margin .2s,border-color .2s,opacity .2s}
.v8-reticle::after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:#e9f9ff;box-shadow:0 0 6px #4fd0ff}
body.v8-drone-on .v8-reticle{display:block}
.v8-reticle.hover{width:38px;height:38px;margin:-19px 0 0 -19px;border-color:#c9f6ff}
.v8-reticle.press{animation:v8Press .45s ease-out}
@keyframes v8Press{0%{box-shadow:0 0 0 0 rgba(120,220,255,.9)}100%{box-shadow:0 0 0 18px rgba(120,220,255,0)}}
.v8-reticle.text{opacity:0}
.v8-guide{position:fixed;z-index:95;right:max(10px,env(safe-area-inset-right));top:calc(var(--v9-header-h) + 12px);padding:6px;border:0;background:none;cursor:pointer;
  -webkit-tap-highlight-color:transparent;transform:translateX(130%);opacity:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
.v8-guide .v8-craft{--dw:84px}
.v8-guide .v8-waypoint{font-size:.62rem;padding:5px 9px;right:calc(100% + 2px);top:42%;transform:translate(6px,-50%)}
.v8-guide .v8-waypoint.on{transform:translate(0,-50%)}
.v8-guide.active{transform:none;opacity:1}
.v8-guide.docked{transform:translateX(58%);opacity:.92}
.v8-guide:focus-visible{outline:3px solid #67d9ff;outline-offset:2px;border-radius:16px}
.v8-guide:active .v8-craft{transform:rotate(var(--bank)) scale(.94)}
body.v8-advisor-floating .v8-guide{opacity:0;pointer-events:none}
@media(min-width:821px){.v8-guide .v8-craft{--dw:112px}}
@media(max-width:380px){.v8-guide .v8-craft{--dw:76px}}

/* ---------- 11 · Movimiento reducido ---------- */
@media(prefers-reduced-motion:reduce){
  .v8-medal::after,.v8-craft-float,.v8-craft-shadow,.v8-prop i,.v8-led,.v8-brand-glow,.v8-brand-sheen,:is(.b3d,.v8-cta),:is(.b3d,.v8-cta)::before{animation:none!important}
  .v8-guide{display:none!important}
  .v8-brand{transform:none!important}
}

/* ---------- 12 · Aislamiento: la hoja oficial estiliza TODO <header>/<footer> (fixed, centrado).
   El chat de ChatBox recupera su propia cabecera y pie dentro de la tarjeta. ---------- */
.chatbox-sales-chat>header{position:relative!important;inset:auto!important;transform:none!important;z-index:auto!important;
  background:none!important;backdrop-filter:none!important;border:0;border-bottom:1px solid rgba(140,213,255,.14);pointer-events:auto!important;transition:none}
.chatbox-sales-chat>header::before{content:none!important}
.chatbox-sales-chat>footer{border-top:1px solid rgba(140,213,255,.12);padding:10px 16px 14px;font-size:12px;text-align:left;color:rgba(200,220,240,.6)}
/* La regla oficial «.langMenu button» (relleno 10×14 y fondo al pasar) no debe deformar los medallones. */
.langMenu.v8-medals button.v8-medal{position:relative!important;isolation:isolate;padding:0!important;background:none!important;gap:0!important;display:grid!important;place-items:center;border-radius:50%;cursor:pointer}
/* DEFECTO DE PRODUCCIÓN corregido: la regla móvil oficial «.ctas{opacity:var(--ui,0)}» (pensada para la
   animación del hero) ocultaba TODOS los botones de la web en móvil. Solo el hero conserva esa animación. */
@media(max-width:767px){
  section:not(#d01) .ctas{opacity:1!important;transform:none!important}
}
/* Vitrina panorámica (imagen horizontal): imagen a todo el ancho y relato debajo; nunca se recorta. */
@media(min-width:1000px){
  .edcol>.ns.ns-wide:only-child{display:block}
  .edcol>.ns.ns-wide:only-child>img{width:100%;height:auto;max-width:none}
  .edcol>.ns.ns-wide:only-child figcaption{padding:clamp(24px,2.6vw,40px) clamp(28px,3.4vw,56px)}
}
/* Coherencia del hero móvil: el lema acompaña el desplazamiento de cámara del titular (no se superponen). */
@media(max-width:767px){
  .heroInner>.eyebrow{transform:translateY(var(--ty,0px));transition:none}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.heroInner>.eyebrow{transform:none}}
/* ---------- 13 · Descarga tipo App (PWA) ---------- */
.v9-app-btn{font-family:inherit}
.v9-app-btn>span[aria-hidden]{font-size:1.15em;line-height:1}
.v9-app-row{display:flex;justify-content:center;margin-top:12px}
.v9-app-sheet{position:fixed;inset:0;z-index:1200;display:grid;place-items:end center;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));
  background:rgba(2,6,16,.55);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease}
.v9-app-sheet.on{opacity:1}
@media(min-width:700px){.v9-app-sheet{place-items:center}}
.v9-app-card{width:min(420px,100%);padding:26px 22px 22px;border-radius:26px;text-align:center;border:1px solid transparent;
  background:var(--v9-brush) padding-box,var(--v9-glass) padding-box,var(--v9-chrome) border-box;box-shadow:var(--v9-shadow),0 0 60px -10px rgba(0,140,255,.5);
  transform:translateY(24px);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.v9-app-sheet.on .v9-app-card{transform:none}
.v9-app-card img{width:64px;height:64px;border-radius:16px;margin:0 auto 12px;box-shadow:0 8px 24px rgba(0,0,0,.6),0 0 22px rgba(0,140,255,.45)}
.v9-app-card h3{margin:0 0 16px;font-family:Impact,"Arial Narrow",sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;font-size:24px;color:#eef8ff}
.v9-app-card ol{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px;text-align:left}
.v9-app-card li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:rgba(226,238,250,.9)}
.v9-step{flex:0 0 28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;color:#fff;
  background:linear-gradient(180deg,#35dcff,#0868f5 60%,#061a76);box-shadow:inset 0 2px 1px rgba(255,255,255,.6),0 0 14px rgba(0,140,255,.6)}
.v9-share{display:inline-block;width:14px;height:17px;vertical-align:-3px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18' fill='none' stroke='%237fd8ff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 1v10M3.5 4.5 7 1l3.5 3.5M3 7.5H1.5v9h11v-9H11'/%3E%3C/svg%3E") center/contain no-repeat}
.v9-app-card .b3d{width:100%}
body.v9-sheet-open .chatbox-sales-launcher,body.v9-sheet-open .v8-guide{opacity:0;pointer-events:none}

/* ---------- 14 · Mobile safe-area + responsive advisor (iPhone PWA) ---------- */
/* Local correction only: phones. Tablet and desktop keep their approved layout. */
@media(max-width:767px){
  :root{
    --v9-mobile-safe-top:max(env(safe-area-inset-top,0px),var(--v9-ios-standalone-safe-fallback,0px));
    --v9-mobile-header-gap:12px;
    --v9-mobile-safe-bottom:env(safe-area-inset-bottom,0px);
    --v9-mobile-header-bottom:calc(var(--v9-mobile-safe-top) + var(--v9-mobile-header-gap) + var(--v9-header-h));
    --v9-mobile-guide-height:64px;
    --v9-mobile-content-top:calc(var(--v9-mobile-header-bottom) + var(--v9-mobile-guide-height) + 28px);
  }
  /* iPhone PWA: keep the logo, medals and menu below Dynamic Island / status bar. */
  body>header{top:calc(var(--v9-mobile-safe-top) + var(--v9-mobile-header-gap))!important}
  body>header::before{top:calc(-1 * var(--v9-mobile-safe-top) - var(--v9-mobile-header-gap))}
  body>header .hd{
    padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));
    min-width:0;gap:8px;
  }
  body>header #menu{
    max-height:calc(100dvh - var(--v9-mobile-safe-top) - var(--v9-header-h) - var(--v9-mobile-safe-bottom) - 12px);
    overflow-y:auto;overscroll-behavior:contain;
  }
  /* One measured exclusion zone. Do not add scroll-margin to scroll-padding. */
  html{scroll-padding-top:var(--v9-mobile-content-top)}
  section{scroll-margin-top:0}
  #d01{scroll-margin-top:0}
  /* Start alignment prevents invisible lead/CTA/KPI rows from pushing the heading
     above its padding. Auto height also prevents flex shrink on short phones. */
  #d01 .heroWrap{height:max(210svh,calc(var(--v9-mobile-hero-height,100svh) + 110svh))}
  #d01 .hero{height:auto;min-height:100svh}
  #d01 .heroInner{
    height:auto;min-height:100svh;justify-content:flex-start;flex-shrink:0;
    padding-top:var(--v9-mobile-content-top);
    padding-bottom:calc(96px + var(--v9-mobile-safe-bottom));
  }
  #d01 .heroInner>*{flex-shrink:0}
  /* Preserve camera zoom and title scaling; upward translation was crossing
     the fixed navigation. Keep the heading's top edge stable while scaling. */
  #d01 .heroInner>.eyebrow{transform:none}
  #d01 .heroTitle,#d01 .heroScript{transform:scale(var(--ts,1));transform-origin:left top}
  .v8-guide{
    top:calc(var(--v9-mobile-header-bottom) + 12px);
    display:flex;align-items:center;justify-content:flex-end;gap:8px;
    max-width:calc(100vw - 40px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  }
  .v8-guide .v8-waypoint,.v8-guide .v8-waypoint.on{
    position:static;transform:none;white-space:normal;overflow-wrap:anywhere;
    min-width:0;max-width:calc(100vw - 150px);line-height:1.25;
  }
  .v8-guide .v8-craft{flex-shrink:0}
  @media(prefers-reduced-motion:reduce){
    :root{--v9-mobile-guide-height:0px}
    #d01 .heroWrap{height:auto}
  }
  /* Single existing chat surface: fit the usable visual viewport, not a fixed screenshot size. */
  body .chatbox-sales-floating-panel{
    top:calc(var(--v9-mobile-safe-top) + 8px)!important;
    right:max(8px,env(safe-area-inset-right,0px))!important;
    left:max(8px,env(safe-area-inset-left,0px))!important;
    bottom:calc(68px + var(--v9-mobile-safe-bottom))!important;
    width:auto!important;max-width:none!important;
    height:auto!important;min-height:0!important;max-height:none!important;
  }
  body .chatbox-sales-floating-panel>.chatbox-sales-chat{
    display:grid!important;width:100%!important;height:100%!important;
    min-width:0!important;min-height:0!important;max-height:100%!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;
    overflow:hidden!important;
  }
  body .chatbox-sales-floating-panel .sales-chat-body{
    height:auto!important;min-height:0!important;max-height:none!important;
    overflow-y:auto!important;overscroll-behavior:contain;
  }
  body .chatbox-sales-floating-panel :is(.sales-chat-brand,.sales-chat-header-actions,.sales-chat-form,.sales-lead-panel){
    min-width:0;max-width:100%;
  }
  body .chatbox-sales-floating-panel .sales-chat-form{
    grid-template-columns:minmax(0,1fr) 48px!important;
  }
  body .chatbox-sales-floating-panel .sales-chat-form input{min-width:0;width:100%;font-size:16px!important}
  body .chatbox-sales-floating-panel .sales-chat-prompts{
    min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;
  }
  body .chatbox-sales-floating-panel .sales-bubble{max-width:94%;overflow-wrap:anywhere}
  body .chatbox-sales-floating-panel .chatbox-sales-chat>footer{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow-wrap:anywhere;min-width:0;
  }
  body.v9-chat-keyboard-open .chatbox-sales-floating-panel{
    top:max(8px,var(--v9-mobile-safe-top))!important;
    bottom:calc(var(--v9-chat-keyboard-offset,0px) + 8px)!important;
  }
  body.v9-chat-keyboard-open .chatbox-sales-floating-panel :is(.sales-chat-prompts,.sales-lead-panel){
    display:none!important;
  }
  body.v9-chat-keyboard-open .chatbox-sales-floating-panel .chatbox-sales-chat>footer{display:none!important}
  body.v9-chat-keyboard-open .chatbox-sales-launcher{visibility:hidden!important;pointer-events:none!important}
}
/* iOS standalone portrait can report a zero inset despite translucent status bar.
   max() chooses the larger system-safe value, never adds two paddings. */
@supports (-webkit-touch-callout: none) {
  /* iOS Safari, in-app browsers AND installed PWAs may report env(safe-area-inset-top)=0.
     Keep the approved controls clear of the status bar / Dynamic Island in every mode. */
  @media (max-width:767px) and (orientation:portrait) and (pointer:coarse) {
    :root{--v9-ios-standalone-safe-fallback:64px}
  }
}
/* Tablet navigation: use the same six primary sections in the compact menu.
   Touch-first large tablets keep the hamburger even when their CSS viewport is wide. */
@media (min-width:768px) and (max-width:1199px), (min-width:1200px) and (hover:none) and (pointer:coarse){
  nav.desk{display:none!important}
  body>header .burger{display:flex!important}
}
/* Phone landscape: account for Dynamic Island at the side without changing tablets. */
@media(max-height:520px) and (orientation:landscape) and (pointer:coarse){
  :root{
    --v9-mobile-safe-top:max(env(safe-area-inset-top,0px),var(--v9-ios-standalone-safe-fallback,0px));
    --v9-mobile-header-gap:12px;
    --v9-mobile-header-bottom:calc(var(--v9-mobile-safe-top) + 12px + var(--v9-header-h));
    --v9-mobile-guide-height:76px;
    --v9-mobile-content-top:calc(var(--v9-mobile-header-bottom) + var(--v9-mobile-guide-height) + 28px);
  }
  body>header{top:calc(var(--v9-mobile-safe-top) + 12px)!important}
  html{scroll-padding-top:var(--v9-mobile-content-top)}
  section{scroll-margin-top:0}
  #d01 .heroInner{padding-top:var(--v9-mobile-content-top)}
  .v8-guide{top:calc(var(--v9-mobile-header-bottom) + 8px)}

  body>header .hd{
    padding-left:max(20px,env(safe-area-inset-left,0px));
    padding-right:max(20px,env(safe-area-inset-right,0px));
  }
  body .chatbox-sales-floating-panel{
    left:max(8px,env(safe-area-inset-left,0px))!important;
    right:max(8px,env(safe-area-inset-right,0px))!important;
    top:max(8px,env(safe-area-inset-top,0px))!important;
    bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    width:auto!important;max-width:none!important;max-height:none!important;height:auto!important;
  }
  body .chatbox-sales-floating-panel>.chatbox-sales-chat{
    height:100%!important;min-height:0!important;max-height:100%!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto auto!important;
  }
  body .chatbox-sales-floating-panel .sales-chat-body{
    height:auto!important;min-height:0!important;max-height:none!important;
  }
}


/* V9.13 — Shared advisor geometry, same two-column quick questions in inline and
   floating modes. Desktop remains comfortable without becoming a fullscreen app. */
@media (min-width:1200px) and (min-height:521px) {
  body .chatbox-sales-floating-panel {
    width:min(640px,calc(100vw - 56px));
    max-width:min(640px,calc(100vw - 56px));
    right:28px!important;
    bottom:28px!important;
  }
}
@media (min-width:768px) and (max-width:1199px) and (min-height:521px) {
  body .chatbox-sales-floating-panel {
    width:min(580px,calc(100vw - 36px));
    max-width:calc(100vw - 36px);
  }
}
@media (min-height:521px) {
  body .chatbox-sales-floating-panel .sales-chat-prompts {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    flex-wrap:wrap!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    gap:8px!important;
    padding:12px 14px!important;
  }
  body .chatbox-sales-floating-panel .sales-chat-prompts button {
    flex:initial!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    line-height:1.35!important;
  }
}
@media (max-width:767px) and (min-height:521px) {
  body .chatbox-sales-floating-panel .sales-chat-prompts {padding:10px 12px!important;}
  body .chatbox-sales-floating-panel .sales-chat-prompts button {
    font-size:clamp(.75rem,2.9vw,.875rem)!important;
  }
}
@media (max-height:520px) and (orientation:landscape) and (pointer:coarse) {
  body .chatbox-sales-floating-panel .sales-chat-prompts {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    flex-wrap:wrap!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    gap:6px!important;
  }
  body .chatbox-sales-floating-panel .sales-chat-prompts button {
    width:100%!important;min-width:0!important;max-width:none!important;
    flex:initial!important;white-space:normal!important;
    text-align:left!important;border-radius:12px!important;
    overflow-wrap:anywhere!important;
  }
}
/* Thermal Scan is not active: restrained neutral state, preserving other badges. */
#d04 .badge-pending {color:rgba(224,235,245,.9);border-color:rgba(172,194,210,.45);background:rgba(160,188,210,.08);}
#d04 .badge-pending i {background:#b3c4d1;box-shadow:0 0 7px rgba(169,197,215,.32);}

/* V9.14 — Owner-approved surgical fixes, 2026-10-18.
   A. Hero CTAs in portrait phones stay inside the visual viewport.
   B. Restore desktop spatial camera using the existing scene, not another hero. */
@media (max-width:767px) {
  #d01 .heroInner {box-sizing:border-box;min-width:0;max-width:100%;}
  #d01 .heroInner>.ctas {
    display:flex;flex-direction:column;align-items:flex-start;gap:10px;
    width:100%;max-width:100%;min-width:0;box-sizing:border-box;
  }
  #d01 .heroInner>.ctas>.b3d {
    display:inline-flex;box-sizing:border-box;flex:0 0 auto;
    width:max-content;min-width:0;max-width:100%;
    min-height:44px;padding:9px 17px;
    justify-content:center;align-items:center;gap:9px;
    text-align:center;font-size:clamp(.79rem,3.4vw,.87rem);
    line-height:1.25;white-space:normal;
  }
  #d01 .heroInner>.ctas>.b3d span[data-l] {min-width:0;overflow-wrap:anywhere;}
  #d01 .heroInner>.ctas>.b3d span[aria-hidden] {flex:0 0 auto;}
  #d01 .heroInner>.ctas>[hidden] {display:none!important;}
  #d01 .heroKpi {box-sizing:border-box;min-width:0;max-width:100%;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
  #d01 .heroKpi li {min-width:0;overflow-wrap:anywhere;}
}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference) {
  #d01 .heroWrap {position:relative;height:178svh;}
  #d01 .hero {position:sticky;top:0;height:100svh;min-height:100svh;align-items:center;}
  #d01 .heroPic img {
    transform:scale(var(--pz,1.12)) translate3d(0,var(--py,0px),0);
    transform-origin:center center;transition:none;will-change:transform;
  }
  #d01 .heroInner {
    transform:translate3d(0,var(--desk-shift,0px),0);
    will-change:transform;
  }
  #d01 .heroTitle,#d01 .heroScript {
    transform:translateY(var(--ty,0px)) scale(var(--ts,1.02));
    transform-origin:left top;will-change:transform;
  }
  /* Commercial CTA/lead content stays accessible throughout the desktop journey. */
  #d01 .heroLead,#d01 .heroInner>.ctas,#d01 .heroKpi {opacity:1;}
}
@media (prefers-reduced-motion:reduce) and (min-width:1024px) {
  #d01 .heroWrap {height:auto;}
  #d01 .hero {position:relative;min-height:100svh;height:auto;}
  #d01 .heroPic img,#d01 .heroTitle,#d01 .heroScript,#d01 .heroInner {transform:none!important;}
}

/* ==========================================================================
   V9.36 · OPTIMIZACIÓN EXCLUSIVA DE TABLET (html.isg-tablet)
   Alcance: tablets táctiles (lado corto de pantalla >= 600 px). El teléfono NO
   entra en este bloque (la clase no se añade) y su comportamiento V9.35 queda intacto.
   Causa medida: ~50 botones con animación infinita de `filter` + sombras grandes,
   brillos de cabecera con mix-blend-mode y backdrop-filter repintando en cada frame.
   Identidad visual conservada: mismos colores, relieves 3D y barrido especular en reposo.
   ========================================================================== */
html.isg-tablet body>header.show{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(5,7,15,.94)}
html.isg-tablet .heroKpi li{backdrop-filter:none;-webkit-backdrop-filter:none}
html.isg-tablet .v8-waypoint{backdrop-filter:none;-webkit-backdrop-filter:none}
/* La "respiración" por filter repintaba ~50 botones a la vez: se retira en tablet; el barrido especular se conserva en reposo. */
html.isg-tablet :is(.b3d:not(.off),.v8-cta){animation:none}
/* Mientras se desplaza, se congela todo lo decorativo para dejar el hilo principal libre. */
html.isg-tablet.isg-scrolling :is(.b3d,.v8-cta,.v8-medal,.v8-brand-sheen,.v8-brand-glow,.v8-craft-float,.v8-craft-shadow,.v8-led,.v8-prop i),
html.isg-tablet.isg-scrolling :is(.b3d,.v8-cta,.v8-medal,.v8-brand-sheen,.v8-brand-glow,.v8-craft-float,.v8-craft-shadow,.v8-led,.v8-prop i)::before,
html.isg-tablet.isg-scrolling :is(.b3d,.v8-cta,.v8-medal,.v8-brand-sheen,.v8-brand-glow,.v8-craft-float,.v8-craft-shadow,.v8-led,.v8-prop i)::after{animation-play-state:paused!important}
/* El brillo de cabecera usa mix-blend-mode: sin mezcla en tablet, mismo aspecto, menos coste de composición. */
html.isg-tablet .v8-brand-sheen{mix-blend-mode:normal}
html.isg-tablet .v8-medal::after{mix-blend-mode:normal}
html.isg-tablet .v8-craft{transition:none}

/* V9.36 · TABLET — chat escrito (panel flotante del asesor). Solo html.isg-tablet.
   Defecto visto en una Samsung real (foto del propietario, 21-oct): con poca altura útil las respuestas rápidas
   quedaban recortadas, «Enviar mi consulta al equipo» aplastado sobre el pie y el botón «Cerrar» flotaba sobre el
   texto de la página («texto sobre texto»). Reproducido en 1280×640 (QA local temporal). */
html.isg-tablet body .chatbox-sales-floating-panel{
  top:auto!important;left:auto!important;
  right:max(12px,env(safe-area-inset-right,0px))!important;
  bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;
  width:min(600px,calc(100vw - 24px))!important;max-width:none!important;
  height:auto!important;
  max-height:calc(100dvh - var(--v9-header-h,76px) - 108px)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#030b17!important;
}
html.isg-tablet body .chatbox-sales-floating-panel>.chatbox-sales-chat{
  height:auto!important;max-height:none!important;flex:0 0 auto!important;min-height:min-content!important;
  grid-template-rows:auto auto auto auto auto auto!important;
}
/* La zona de mensajes cede altura primero (mínimo 88 px, se desplaza por dentro); el resto de cajas conserva su tamaño natural,
   así nada se superpone. Si aun así no cabe, el panel entero se desplaza en vertical. */
html.isg-tablet body .chatbox-sales-floating-panel .sales-chat-body{min-height:88px!important;max-height:clamp(88px,calc(100dvh - var(--v9-header-h,76px) - 527px),34dvh)!important}
/* Respuestas rápidas: el chat de la tablet se ve EXACTAMENTE como el de la web (rejilla 2×2, todos los botones visibles).
   Orden del propietario 21-oct 19:37: nada de desplazamiento lateral. */
html.isg-tablet body .chatbox-sales-floating-panel .sales-chat-prompts{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;flex-wrap:wrap!important;
  overflow:visible!important;gap:8px!important;padding:12px 14px!important;min-height:0;max-height:none}
html.isg-tablet body .chatbox-sales-floating-panel .sales-chat-prompts button{
  flex:initial!important;display:block!important;width:100%!important;max-width:none!important;min-height:44px!important;
  white-space:normal!important;border-radius:12px!important;text-align:left}
/* Si la pantalla es muy baja, el panel entero se desplaza en VERTICAL (nunca en horizontal) y no recorta nada. */
html.isg-tablet body .chatbox-sales-floating-panel{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
html.isg-tablet body .chatbox-sales-floating-panel>.chatbox-sales-chat{overflow:visible!important}
/* «Enviar mi consulta al equipo»: caja con altura propia (antes 32 px con enlace de 42 px desbordando). */
html.isg-tablet body .chatbox-sales-floating-panel .sales-lead-panel{min-height:52px;padding:4px 10px;overflow:visible!important;display:flex;align-items:center}
html.isg-tablet body .chatbox-sales-floating-panel .sales-lead-toggle{display:inline-flex!important;align-items:center;min-height:44px;line-height:1.2}
html.isg-tablet body .chatbox-sales-floating-panel .chatbox-sales-chat>footer{display:flex!important;flex-wrap:wrap;gap:4px 14px;min-height:0}
/* Con el chat abierto, el fondo se atenúa: el botón «Cerrar» y el panel ya no se mezclan con el texto de la página. */
html.isg-tablet:has(.chatbox-sales-launcher.is-open) body::after{content:"";position:fixed;inset:0;z-index:1090;background:rgba(2,7,19,.62);pointer-events:none}
