
:root{
  --bg:#0f151c;--bg2:#141c25;--ink:#18212a;--muted:#65717d;--line:#dce2e7;
  --light:#f5f7f9;--white:#fff;--blue:#0878e8;--blue2:#0f5fc5;--red:#ff2d20;
  --steel:#9aa6af;--max:1180px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.cursor-glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(8,120,232,.10),rgba(8,120,232,0) 70%);pointer-events:none;transform:translate(-50%,-50%);z-index:2}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(24,33,42,.08)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:195px;height:58px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;gap:28px;font-size:14px;font-weight:700;color:#39434d}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--blue);transition:.3s}
.desktop-nav a:hover:after{right:0}
.nav-actions{display:flex;align-items:center;gap:14px}.text-link{font-size:13px;font-weight:800}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 18px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.25s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)} .btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 12px 30px rgba(8,120,232,.22)}
.btn-ghost{border-color:#ced7df;background:rgba(255,255,255,.72)} .btn-light{background:#fff;color:#111a22}.btn-lg{padding:16px 22px;font-size:15px}
.menu-btn{display:none;background:none;border:0;font-size:25px}.mobile-panel{display:none}

.hero{min-height:820px;padding:150px 0 40px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,252,.98));position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,120,232,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(8,120,232,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px}
.hero-copy{padding-top:35px;position:relative;z-index:3}
.eyebrow,.section-kicker{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--blue)}
.eyebrow span{width:34px;height:2px;background:var(--red)}
h1,h2,h3{font-family:"Space Grotesk",Manrope,sans-serif}
h1{font-size:clamp(52px,6vw,82px);line-height:.98;letter-spacing:-.045em;margin:22px 0 24px}
h1 em{font-style:normal;color:var(--blue)} .lead{font-size:18px;line-height:1.7;color:#56626e;max-width:700px}
.hero-actions{display:flex;gap:12px;margin:30px 0 44px;flex-wrap:wrap}
.proof-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.proof strong{display:block;font-size:18px}.proof span{display:block;font-size:12px;color:#77838e;margin-top:4px}.divider{width:1px;height:42px;background:#d9e0e5}

.hero-visual{height:520px;position:relative}
.machine-orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(8,120,232,.22);transform:translate(-50%,-50%);animation:spin 18s linear infinite}
.orbit-a{width:430px;height:430px;border-top:4px solid var(--blue);border-right-color:transparent}
.orbit-b{width:340px;height:340px;border-bottom:3px solid #2f3a45;border-left-color:transparent;animation-direction:reverse;animation-duration:12s}
.machine-core{position:absolute;left:50%;top:50%;width:250px;height:250px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#27323d 0 16%,#d8e0e6 17% 25%,#151d25 26% 50%,#2d3944 51% 55%,#121920 56%);box-shadow:0 50px 80px rgba(16,29,41,.25),inset 0 0 35px rgba(255,255,255,.1)}
.core-ring{position:absolute;inset:25px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.core-ring.inner{inset:68px}.core-center{position:absolute;inset:102px;border-radius:50%;background:var(--blue);box-shadow:0 0 30px rgba(8,120,232,.75)}
.laser-line{position:absolute;left:5%;right:5%;top:50%;height:2px;background:linear-gradient(90deg,transparent,var(--red) 12%,var(--red) 88%,transparent);box-shadow:0 0 12px rgba(255,45,32,.5)}
.laser-dot{position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:var(--red);transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(255,45,32,.12),0 0 22px rgba(255,45,32,.45)}
.measure-card{position:absolute;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border:1px solid rgba(18,31,43,.08);border-radius:15px;padding:16px 18px;box-shadow:0 18px 50px rgba(30,49,66,.15)}
.measure-card span{display:block;font-size:10px;letter-spacing:.15em;color:var(--blue);font-weight:800}.measure-card strong{display:block;font-size:24px;margin:4px 0}.measure-card small{color:#7d8791}.card-a{left:0;top:90px}.card-b{right:0;bottom:85px}
.hero-bottom{position:relative;z-index:3;display:flex;align-items:center;gap:18px;padding-top:38px;font-size:10px;letter-spacing:.14em;font-weight:800;color:#697581}.hero-bottom i{width:4px;height:4px;background:var(--blue);border-radius:50%}

.section{padding:110px 0}.section h2{font-size:clamp(36px,4.5vw,60px);line-height:1.02;letter-spacing:-.04em;margin:18px 0 0}.split{background:#fff}.split-grid{display:grid;grid-template-columns:1fr .9fr;gap:90px}.split-copy{font-size:17px;line-height:1.8;color:#5c6772}.split-copy p:first-child{margin-top:0}
.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:42px}.section-head>div{max-width:720px}.section-head>p{max-width:370px;line-height:1.7;color:#6a7580;margin:0 0 8px}

.services{background:var(--light)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{position:relative;background:#fff;border:1px solid #dfe5ea;border-radius:18px;padding:28px;min-height:330px;overflow:hidden;transition:.3s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 22px 60px rgba(22,35,47,.10);border-color:#cbd7e0}
.service-card.featured{background:linear-gradient(145deg,#111a22,#17232e);color:#fff;border-color:transparent}
.service-index{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--blue)}.featured .service-index{color:#74b8ff}.service-icon{font-size:38px;margin:38px 0 18px;color:var(--blue)}
.service-card h3{font-size:23px;margin:0 0 12px}.service-card p{line-height:1.65;color:#6a7580}.featured p{color:#bdc8d1}
.service-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.service-tags span{font-size:10px;font-weight:800;padding:7px 9px;border-radius:999px;background:#edf4fb;color:#40617d}.featured .service-tags span{background:rgba(255,255,255,.08);color:#dce7f0}

.capability{background:linear-gradient(135deg,#0f171f,#172532);color:#fff;position:relative;overflow:hidden}.capability:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:70px solid rgba(8,120,232,.08);right:-120px;top:-190px}
.capability-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.section-kicker.light{color:#80bdff}.cap-copy p{color:#b9c5cf;max-width:620px;line-height:1.7;font-size:17px}.cap-copy .btn{margin-top:18px}
.cap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cap-stats div{padding:34px 18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}.cap-stats strong{display:block;font-size:42px}.cap-stats span{font-size:12px;color:#b9c5cf}

.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.process-step{padding:24px 0;border-top:2px solid #dfe5e9}.process-step span{font-size:12px;color:var(--blue);font-weight:800}.process-step h3{font-size:20px}.process-step p{font-size:14px;line-height:1.65;color:#6d7883}

.trust{background:#f7f9fb}.trust-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.trust-panel{border-left:1px solid #d9e0e5}.trust-item{display:grid;grid-template-columns:50px 1fr;gap:16px;padding:18px 0 18px 28px;border-bottom:1px solid #dfe5ea}.trust-item span{color:var(--blue);font-size:11px;font-weight:800}.trust-item p{margin:0;line-height:1.6}

.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-copy p{font-size:17px;line-height:1.7;color:#66727e}.contact-data{display:grid;gap:14px;margin-top:34px}.contact-data>*{display:block;padding:16px 0;border-bottom:1px solid #e2e7eb}.contact-data small{display:block;color:#7a8792;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.contact-data strong{display:block;margin-top:5px;font-size:15px}
.lead-form{background:#f6f8fa;border:1px solid #e0e6eb;border-radius:20px;padding:28px}.form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.form-head span{font-weight:800}.form-head small{color:#72808c}
.lead-form label{display:block;font-size:12px;font-weight:700;color:#4a5560;margin:14px 0}.lead-form input,.lead-form textarea{width:100%;margin-top:7px;padding:14px 15px;border:1px solid #d8e0e6;background:#fff;border-radius:11px;font:inherit;outline:none}.lead-form input:focus,.lead-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,120,232,.08)}.lead-form .btn{width:100%;margin-top:8px}.form-note{font-size:11px!important;color:#8a949d!important}.success-msg{margin-top:12px;font-weight:700;color:#167249}

footer{background:#101820;color:#d9e2e9;padding:55px 0 22px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:60px}.footer-brand img{width:210px;filter:brightness(0) invert(1);opacity:.94}.footer-brand p{color:#9facb7;max-width:400px}.footer-grid small{display:block;color:#6f8394;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.footer-grid a{display:block;margin:8px 0;font-size:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;color:#718392;font-size:12px}

.assistant-launch{position:fixed;right:24px;bottom:24px;z-index:60;border:0;border-radius:16px;background:#111a22;color:#fff;padding:12px 16px 12px 14px;box-shadow:0 18px 55px rgba(0,0,0,.28);display:grid;grid-template-columns:12px auto;column-gap:9px;text-align:left;cursor:pointer}.assistant-launch .pulse{width:9px;height:9px;border-radius:50%;background:#27d17f;grid-row:1/3;align-self:center;box-shadow:0 0 0 5px rgba(39,209,127,.12)}.assistant-launch b{font-size:13px}.assistant-launch small{font-size:10px;color:#9eb0bf}
.assistant{position:fixed;right:24px;bottom:90px;width:360px;max-width:calc(100vw - 32px);height:500px;background:#fff;border:1px solid #dfe5e9;border-radius:18px;box-shadow:0 25px 80px rgba(12,25,36,.28);z-index:61;display:none;overflow:hidden}.assistant.open{display:flex;flex-direction:column}
.assistant-head{background:#111a22;color:#fff;padding:16px 18px;display:flex;justify-content:space-between}.assistant-head>div{display:grid;grid-template-columns:10px 1fr;column-gap:8px}.assistant-head strong{font-size:13px}.assistant-head small{font-size:10px;color:#9fb1bf}.online-dot{width:8px;height:8px;border-radius:50%;background:#27d17f;grid-row:1/3;align-self:center}.assistant-head button{border:0;background:none;color:#fff;font-size:25px;cursor:pointer}
.assistant-body{flex:1;padding:18px;background:#f7f9fb;overflow-y:auto}.bubble{max-width:84%;padding:12px 14px;border-radius:14px;margin-bottom:10px;font-size:13px;line-height:1.5}.bubble.bot{background:#fff;border:1px solid #e1e7eb}.bubble.user{background:var(--blue);color:#fff;margin-left:auto}
.quick-replies{display:flex;flex-wrap:wrap;gap:8px}.quick-replies button{border:1px solid #cfd9e1;background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;cursor:pointer}.assistant-input{display:flex;border-top:1px solid #e1e7eb;padding:10px;background:#fff}.assistant-input input{flex:1;border:0;outline:none;padding:9px}.assistant-input button{border:0;background:var(--blue);color:#fff;width:38px;border-radius:10px;cursor:pointer}

@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(max-width:980px){
  .desktop-nav,.text-link{display:none}.menu-btn{display:block}.mobile-panel.open{display:grid;padding:10px 20px 20px;gap:12px;background:#fff}
  .hero-grid,.split-grid,.capability-grid,.trust-grid,.contact-grid{grid-template-columns:1fr}
  .hero{padding-top:115px}.hero-visual{height:420px}.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}
  .section-head{align-items:start;flex-direction:column;gap:20px}.cap-stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .wrap{width:min(var(--max),calc(100% - 28px))}.nav{height:70px}.brand img{width:160px;height:48px}.nav-actions>.btn{display:none}
  .hero{min-height:auto;padding-bottom:20px}.hero-copy{padding-top:12px}h1{font-size:48px}.lead{font-size:16px}.hero-visual{height:340px}
  .orbit-a{width:290px;height:290px}.orbit-b{width:235px;height:235px}.machine-core{width:170px;height:170px}.core-center{inset:68px}
  .card-a{left:0;top:40px}.card-b{right:0;bottom:45px}.measure-card{padding:12px}.measure-card strong{font-size:18px}.hero-bottom{overflow:auto;white-space:nowrap;padding-bottom:12px}
  .section{padding:78px 0}.section h2{font-size:39px}.service-grid,.process-grid,.cap-stats,.footer-grid{grid-template-columns:1fr}.service-card{min-height:300px}
  .footer-bottom{flex-direction:column;gap:7px}.assistant{right:16px;bottom:84px}.assistant-launch{right:16px;bottom:16px}
}


/* ===== V3: Integración de mascota ABI ===== */
.mascot-stage{
  height:560px;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  isolation:isolate;
}
.mascot-stage:before{
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,120,232,.14),rgba(8,120,232,.03) 48%,transparent 70%);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:-4;
}
.mascot-halo{
  position:absolute;
  width:390px;height:390px;border-radius:50%;
  border:1px solid rgba(8,120,232,.18);
  left:50%;top:49%;transform:translate(-50%,-50%);
  box-shadow:inset 0 0 80px rgba(8,120,232,.06);
  z-index:-3;
}
.tech-ring{
  position:absolute;left:50%;top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  z-index:-2;
}
.ring-one{
  width:475px;height:475px;
  border:1px solid rgba(8,120,232,.24);
  border-top:4px solid var(--blue);
  border-right-color:transparent;
  animation:spin 18s linear infinite;
}
.ring-two{
  width:330px;height:330px;
  border:1px solid rgba(24,33,42,.16);
  border-bottom:3px solid #2f3a45;
  border-left-color:transparent;
  animation:spin 12s linear infinite reverse;
}
.scan-line{
  position:absolute;left:3%;right:3%;top:54%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--red) 14%,var(--red) 86%,transparent);
  box-shadow:0 0 16px rgba(255,45,32,.35);
  z-index:-1;
}
.hero-mascot{
  position:relative;
  z-index:2;
  width:min(390px,78%);
  max-height:555px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 30px 34px rgba(12,29,43,.22));
  transform:translateY(10px);
}
.mascot-caption{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  min-width:260px;
  padding:12px 16px;
  border-radius:13px;
  background:rgba(17,26,34,.92);
  color:#fff;
  z-index:4;
  box-shadow:0 18px 40px rgba(14,28,40,.2);
  text-align:center;
}
.mascot-caption b{display:block;font-size:12px;letter-spacing:.08em}
.mascot-caption span{display:block;font-size:10px;color:#99bfe7;margin-top:3px}

.assistant-launch{
  min-width:158px;
  grid-template-columns:44px 1fr 10px;
  align-items:center;
  padding:7px 12px 7px 8px;
}
.launcher-avatar{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(145deg,#eef5fb,#dfeaf3);
  overflow:hidden;
  display:grid;place-items:center;
}
.launcher-avatar img{
  width:54px;height:54px;
  object-fit:contain;
  object-position:center 18%;
  transform:translateY(7px) scale(1.35);
}
.launch-copy{display:flex;flex-direction:column;text-align:left}
.assistant-launch .pulse{
  width:8px;height:8px;grid-row:auto;align-self:center;
}
.assistant-id{
  display:grid!important;
  grid-template-columns:44px 1fr 10px!important;
  align-items:center;
  gap:10px!important;
}
.assistant-avatar{
  width:42px;height:42px;border-radius:12px;overflow:hidden;
  background:linear-gradient(145deg,#edf5fb,#dfeaf3);
  display:grid;place-items:center;
}
.assistant-avatar img{
  width:54px;height:54px;object-fit:contain;
  transform:translateY(7px) scale(1.35);
}
.assistant-id>div:nth-child(2){display:flex;flex-direction:column}
.assistant-head .online-dot{grid-row:auto!important;align-self:center}

@media(max-width:980px){
  .mascot-stage{height:500px}
}
@media(max-width:640px){
  .mascot-stage{height:390px}
  .ring-one{width:320px;height:320px}
  .ring-two{width:235px;height:235px}
  .hero-mascot{width:min(290px,78%);max-height:390px}
  .mascot-caption{min-width:220px;bottom:-6px}
  .assistant-launch{min-width:148px}
}


/* ===== V4 HOTFIX: mascot containment ===== */
.hero-grid{overflow:visible!important}
.mascot-stage{
  position:relative!important;
  height:520px!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  background:transparent!important;
  border-radius:28px;
}
.mascot-stage .hero-mascot{
  position:absolute!important;
  right:6%!important;
  bottom:0!important;
  left:auto!important;
  top:auto!important;
  width:auto!important;
  height:500px!important;
  max-width:78%!important;
  max-height:500px!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  transform:none!important;
  z-index:2!important;
}
.mascot-stage .tech-ring,
.mascot-stage .mascot-halo{
  pointer-events:none!important;
}
.mascot-stage .card-a{left:4%!important;top:16%!important}
.mascot-stage .card-b{right:2%!important;bottom:12%!important}
.mascot-stage .measure-card{z-index:4!important}
.mascot-caption,.scan-line{display:none!important}

/* Ensure the virtual assistant never expands over the page */
.assistant-launch{
  width:auto!important;
  height:58px!important;
  min-width:158px!important;
  max-width:190px!important;
  overflow:hidden!important;
}
.assistant-launch .launcher-avatar{
  flex:0 0 42px!important;
}
.assistant-launch .launcher-avatar img{
  width:52px!important;
  height:52px!important;
  max-width:none!important;
}
.assistant{
  width:360px!important;
  height:500px!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 130px)!important;
}
.assistant-avatar img{
  width:52px!important;
  height:52px!important;
  max-width:none!important;
}

@media(max-width:980px){
  .mascot-stage{height:460px!important}
  .mascot-stage .hero-mascot{height:440px!important;max-height:440px!important;right:10%!important}
}
@media(max-width:640px){
  .mascot-stage{height:360px!important}
  .mascot-stage .hero-mascot{height:345px!important;max-height:345px!important;max-width:86%!important;right:6%!important}
  .mascot-stage .card-a{left:2%!important;top:12%!important}
  .mascot-stage .card-b{right:1%!important;bottom:8%!important}
}


/* ===== V5 cache-busted mascot layout ===== */
.hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
}
.mascot-stage{
  height:500px!important;
  overflow:visible!important;
  background:none!important;
  border-radius:0!important;
}
.mascot-stage .hero-mascot{
  height:455px!important;
  max-height:455px!important;
  max-width:68%!important;
  right:8%!important;
  bottom:0!important;
  filter:drop-shadow(0 24px 26px rgba(11,27,40,.20))!important;
}
.mascot-stage:before{
  width:390px!important;
  height:390px!important;
}
.mascot-stage .mascot-halo{width:350px!important;height:350px!important}
.mascot-stage .ring-one{width:410px!important;height:410px!important}
.mascot-stage .ring-two{width:300px!important;height:300px!important}
.mascot-stage .card-a{
  left:0!important;
  top:22%!important;
  transform:scale(.9);
  transform-origin:left top;
}
.mascot-stage .card-b{
  right:0!important;
  bottom:16%!important;
  transform:scale(.9);
  transform-origin:right bottom;
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr!important}
  .mascot-stage{height:440px!important;overflow:hidden!important}
  .mascot-stage .hero-mascot{height:425px!important;max-height:425px!important;max-width:72%!important;right:14%!important}
}
@media(max-width:640px){
  .mascot-stage{height:340px!important}
  .mascot-stage .hero-mascot{height:325px!important;max-height:325px!important;max-width:80%!important;right:9%!important}
  .mascot-stage .card-a,.mascot-stage .card-b{display:none!important}
}

/* Keep assistant compact regardless of inherited browser cache/rules */
#assistantLaunch{
  position:fixed!important;
  right:24px!important;
  bottom:24px!important;
  width:172px!important;
  height:58px!important;
  min-width:172px!important;
  max-width:172px!important;
  min-height:58px!important;
  max-height:58px!important;
  overflow:hidden!important;
  z-index:1000!important;
}
#assistant{
  position:fixed!important;
  right:24px!important;
  bottom:94px!important;
  left:auto!important;
  top:auto!important;
  width:360px!important;
  height:500px!important;
  min-width:0!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 130px)!important;
  z-index:1001!important;
}
#assistant:not(.open){display:none!important}
#assistant.open{display:flex!important;flex-direction:column!important}


/* ===== V6: mascot moved out of hero ===== */
.precision-visual{height:520px;position:relative}
.mascot-feature{
  background:linear-gradient(135deg,#f7f9fb 0%,#eef5fb 100%);
  overflow:hidden;
}
.mascot-feature-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
}
.mascot-feature-copy p{
  max-width:660px;
  font-size:17px;
  line-height:1.75;
  color:#64717c;
}
.mascot-points{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:26px 0 28px;
}
.mascot-points span{
  padding:9px 12px;
  border:1px solid #d7e3ec;
  background:#fff;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  color:#476274;
}
.mascot-feature-visual{
  position:relative;
  min-height:470px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}
.mascot-feature-visual:before{
  content:"";
  position:absolute;
  width:390px;
  height:390px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,120,232,.12),rgba(8,120,232,0) 68%);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.mascot-orbit{
  position:absolute;
  width:370px;
  height:370px;
  border-radius:50%;
  border:1px solid rgba(8,120,232,.24);
  border-top:4px solid var(--blue);
  border-right-color:transparent;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  animation:spin 18s linear infinite;
}
.mascot-feature-visual img{
  position:relative;
  z-index:2;
  height:440px;
  width:auto;
  max-width:80%;
  object-fit:contain;
  filter:drop-shadow(0 26px 30px rgba(12,29,43,.20));
}
.footer-brand img{
  width:220px!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
  background:transparent!important;
}

@media(max-width:980px){
  .mascot-feature-grid{grid-template-columns:1fr;gap:20px}
  .mascot-feature-visual{min-height:420px}
  .mascot-feature-visual img{height:400px}
}
@media(max-width:640px){
  .mascot-feature-visual{min-height:340px}
  .mascot-feature-visual img{height:325px;max-width:88%}
  .mascot-orbit{width:285px;height:285px}
}

/* ===== V7: únicamente logo superior más grande ===== */
.site-header .brand img{
  width:245px!important;
  height:64px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:640px){
  .site-header .brand img{
    width:205px!important;
    height:56px!important;
  }
}
