  /* ---------- Tokens ---------- */
  /* Paleta de marca (Flex Depósitos): #00AEED azul, #000000 negro, #DDE4DE gris salvia, #67615A taupe.
     Tema claro fijo: el negro de marca se reserva para header, hero y paneles destacados. */
  /* Tema claro: fondo blanco/salvia para las secciones; el negro de marca queda en
     header, hero y paneles destacados. */
  :root{
    --ink:#111311;
    --ink-soft:#5F5B54;
    --paper:#FFFFFF;
    --surface:#FFFFFF;
    --surface-2:#F1F4F1;
    --border:#DDE4DE;
    --accent:#00AEED;
    --accent-strong:#0098D1;
    --accent-soft:#E2F5FC;
    --accent-ink:#0087B8;
    --warm:#67615A;
    --warm-soft:#F3F0EC;
    --danger:#E38468;
    --on-accent:#000000;
    --shadow: 0 0 0;
    --font-display:'Big Shoulders Display', 'Arial Narrow', sans-serif;
    --font-body:'IBM Plex Sans', -apple-system, 'Segoe UI', sans-serif;
    --font-mono:'IBM Plex Mono', 'SFMono-Regular', monospace;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;overflow-x:clip;}
  body{overflow-x:clip;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{max-width:100%;display:block;}
  a{color:inherit;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  section{position:relative;scroll-margin-top:110px;}
  #clientes{padding-bottom:20px;}
  h1,h2,h3{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;margin:0;}
  .eyebrow{
    font-family:var(--font-mono);
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--accent-ink);
    font-weight:600;
  }
  .lede{color:var(--ink-soft);font-size:1.05rem;max-width:56ch;}
  .btn{
    font-family:var(--font-body);
    font-weight:600;
    font-size:.95rem;
    border-radius:8px;
    border:1px solid transparent;
    padding:13px 22px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:transform .15s ease, background-color .15s ease, border-color .15s ease;
    text-decoration:none;
  }
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:var(--accent);color:#FFFFFF;}
  .btn-primary:hover{background:var(--accent-strong);}
  .btn-ghost{background:transparent;border-color:var(--border);color:var(--ink);}
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink);}
  .btn-text{background:transparent;border-color:transparent;color:#FFFFFF;padding-left:8px;padding-right:8px;}
  .btn-text:hover{opacity:.7;}
  :focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

  /* ---------- Header ---------- */
  /* El grupo entero (promo bar + header) se mantiene fijo arriba como una sola unidad. */
  .site-top{position:sticky;top:0;z-index:45;}

  /* Mini banner de promociones */
  .promo-bar{background:var(--accent);color:var(--on-accent);}
  .promo-bar-inner{
    display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
    padding:8px 24px;font-size:.8rem;font-weight:600;text-align:center;
  }
  .promo-bar-inner b{font-family:var(--font-mono);}
  .promo-sep{opacity:.5;}
  /* En escritorio los grupos son transparentes: los ítems fluyen como hijos de .promo-bar-inner. */
  .promo-track,.promo-group{display:contents;}
  .promo-group--dup{display:none;}
  /* En mobile las tres promos no entran en una línea: marquesina de una sola línea. */
  @media (max-width:520px){
    .promo-bar-inner{display:block;overflow:hidden;font-size:.72rem;padding:7px 0;text-align:left;}
    .promo-track{display:flex;width:max-content;animation:promo-marquee 12s linear infinite;}
    .promo-group{display:flex;flex:none;align-items:center;gap:14px;padding-right:14px;white-space:nowrap;}
    .promo-group--dup{display:flex;}
  }
  @keyframes promo-marquee{to{transform:translateX(-50%);}}
  @media (max-width:520px) and (prefers-reduced-motion:reduce){
    .promo-bar-inner{text-align:center;padding:7px 16px;}
    .promo-track{animation:none;width:auto;justify-content:center;}
    .promo-group{flex-wrap:wrap;justify-content:center;white-space:normal;padding-right:0;gap:6px;}
    .promo-group--dup{display:none;}
  }

  /* Barra fija oscura (independiente del tema claro/oscuro de la página) para que
     el isologo reversado (flex celeste + depósitos blanco) quede siempre legible
     sin necesidad de una placa blanca detrás. */
  header.site{
    background:rgba(4,4,3,.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:20px;}
  .logo{display:flex;align-items:center;}
  .logo img{height:30px;width:auto;display:block;}
  @media (max-width:600px){ .logo img{height:27px;} }
  .nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:.92rem;font-weight:500;}
  .nav-links a{text-decoration:none;color:#C7CCC5;}
  .nav-links a:hover{color:#FFFFFF;}
  .nav-cta{display:flex;align-items:center;gap:12px;}
  .nav-cta .btn{padding:8px 16px;font-size:.85rem;border-radius:7px;}
  .nav-icon-link{
    width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
    display:flex;align-items:center;justify-content:center;color:#C7CCC5;flex-shrink:0;
    transition:border-color .15s ease,color .15s ease;
  }
  .nav-icon-link svg{width:16px;height:16px;}
  .nav-icon-link:hover{border-color:var(--accent);color:var(--accent);}
  .menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:8px 10px;color:#FFFFFF;}

  /* ---------- Hero ---------- */
  .hero{position:relative;padding:72px 0 56px;overflow:hidden;background:#000;
    --ink:#ECEFE9;--ink-soft:#C9CCC4;--paper:#000000;--surface:#121412;--surface-2:#1B1D18;
    --border:#2E312B;--accent-soft:#082636;--accent-ink:#00AEED;--accent-strong:#33C2F0;color:var(--ink);}
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.72;}
  .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.45) 50%, rgba(0,0,0,.72) 100%);}
  .hero .wrap{position:relative;z-index:1;max-width:1180px;}
  .hero-center{display:flex;flex-direction:column;align-items:center;text-align:center;}
  .hero h1{font-size:clamp(2.2rem, 4.4vw, 3.9rem);line-height:1.05;margin:0;}
  .hero .lede{margin:30px auto 0;max-width:60ch;color:#E4E7E0;text-shadow:0 1px 12px rgba(0,0,0,.7);}
  .hero-stats{text-shadow:0 1px 12px rgba(0,0,0,.7);}
  .hero h1 span{color:var(--accent-ink);}
  .hero-actions{display:flex;gap:14px;margin-top:22px;flex-wrap:wrap;}
  .hero-stats{display:flex;gap:36px;margin-top:22px;flex-wrap:wrap;justify-content:center;}
  .hero-stats div{font-family:var(--font-mono);}
  .hero-stats b{display:block;font-size:1.5rem;color:var(--ink);}
  .hero-stats span{font-size:.75rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;}

  /* ---------- Section shell ---------- */
  .section{padding:56px 0;}
  .section-alt{background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
  .section-head{max-width:640px;margin:0 0 28px;}
  .section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:0;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;max-width:780px;}
  .section-head.center .lede{margin-left:auto;margin-right:auto;}
  .section-head .lede{margin:12px 0 0;}

  /* ---------- Servicios ---------- */
  #servicios{position:relative;overflow:hidden;}
  .serv-glow{
    position:absolute;top:-120px;right:-160px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle, var(--accent) 0%, transparent 68%);opacity:.16;
    filter:blur(10px);pointer-events:none;z-index:0;
  }
  .section#servicios .wrap{position:relative;z-index:1;}

  /* Selector segmentado con indicador deslizante */
  .stab-nav{
    position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 auto 32px;padding:5px;
    background:var(--surface);border:1px solid var(--border);border-radius:999px;width:100%;max-width:660px;
    box-shadow:0 10px 30px -20px rgba(17,19,17,.25);
  }
  .stab-indicator{
    position:absolute;top:0;left:0;height:0;width:0;border-radius:999px;
    background:var(--ink);box-shadow:0 6px 16px -8px rgb(0 0 0 / .4);z-index:0;
    transition:transform .35s cubic-bezier(.65,0,.35,1),width .35s cubic-bezier(.65,0,.35,1);
  }
  @media (prefers-reduced-motion: reduce){ .stab-indicator{transition:none;} }
  .stab-pill{
    position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;
    padding:10px 12px;border-radius:999px;background:transparent;border:none;cursor:pointer;
    font-family:var(--font-body);font-weight:600;font-size:.94rem;color:var(--ink-soft);white-space:nowrap;
    transition:color .25s ease;
  }
  .stab-pill .ico{
    width:26px;height:26px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .25s ease,color .25s ease;
  }
  .stab-pill:hover{color:var(--ink);}
  .stab-pill.active{color:#fff;}
  .stab-pill.active .ico{background:var(--accent);color:#fff;}
  @media (max-width:600px){
    .stab-nav{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:22px;}
    .stab-indicator{border-radius:18px;}
  }

  .services-body{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:stretch;max-width:1080px;margin:0 auto;}
  .services-panel-card{
    background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:40px 42px;
    position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:400px;
    box-shadow:0 10px 30px -20px rgba(17,19,17,.2);
  }
  .panel-title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2rem;line-height:1;margin:0 0 10px;}
  .panel-sub{color:var(--ink-soft);font-size:.98rem;margin:0 0 22px;max-width:46ch;}
  .services-content{display:none;}
  .services-content.active{display:block;animation:panelIn .4s cubic-bezier(.2,.7,.3,1);}
  @keyframes panelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion: reduce){
    .services-content.active{animation:none;}
  }
  .bullet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
  .bullet-list li{
    display:flex;gap:12px;font-size:.96rem;align-items:flex-start;padding:10px 12px;margin:0 -12px;
    animation:liIn .4s cubic-bezier(.2,.7,.3,1) backwards;
  }
  .bullet-list li:nth-child(1){animation-delay:.02s;} .bullet-list li:nth-child(2){animation-delay:.06s;}
  .bullet-list li:nth-child(3){animation-delay:.1s;} .bullet-list li:nth-child(4){animation-delay:.14s;}
  .bullet-list li:nth-child(5){animation-delay:.18s;} .bullet-list li:nth-child(6){animation-delay:.22s;}
  @keyframes liIn{from{opacity:0;transform:translateX(-4px);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion: reduce){ .bullet-list li{animation:none;} }
  .bullet-list li .chk{
    width:20px;height:20px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;
  }
  .bullet-list li .chk svg{width:11px;height:11px;}
  .bullet-list b{color:var(--accent-ink);}

  .services-highlight{
    border-radius:16px;padding:30px;position:relative;overflow:hidden;isolation:isolate;
    background:var(--surface-2);color:#fff;display:flex;flex-direction:column;min-height:400px;border-radius:18px;
  }
  .services-highlight .hl-bg{
    position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;
    animation:hlFade .5s ease;
  }
  .services-highlight::before{
    content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:linear-gradient(180deg, rgba(0,0,0,.05) 25%, rgba(0,0,0,.55) 62%, rgba(0,0,0,.86) 100%);
  }
  .services-highlight .stat{font-family:var(--font-mono);font-weight:700;font-size:3.4rem;line-height:1;position:relative;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.55);margin-top:auto;}
  .services-highlight .stat-label{font-size:1rem;font-weight:600;margin-top:12px;max-width:24ch;position:relative;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6);}
  .services-highlight .hl-inner{animation:panelIn .4s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;flex:1;justify-content:flex-end;}
  .hl-kicker{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
  .hl-rot{position:relative;min-height:5.4em;}
  .hl-title{
    position:absolute;left:0;right:0;bottom:0;font-family:var(--font-display);font-weight:800;text-transform:uppercase;
    font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.05;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.5);
    opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;
  }
  .hl-title.on{opacity:1;transform:none;}
  .hl-dots{display:flex;gap:6px;margin-top:16px;}
  .hl-dots span{width:18px;height:3px;border-radius:3px;background:rgba(255,255,255,.35);transition:background .3s ease,width .3s ease;}
  .hl-dots span.on{background:var(--accent);width:30px;}
  @media (prefers-reduced-motion: reduce){ .hl-title,.hl-dots span{transition:none;} }
  @keyframes hlFade{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
  @media (prefers-reduced-motion: reduce){ .services-highlight .hl-inner,.services-highlight .hl-bg{animation:none;} }
  @media (max-width:960px){
    .services-body{grid-template-columns:1fr;}
    .services-panel-card{padding:26px;}
    .services-highlight{min-height:260px;}
  }

  /* ---------- Testimonios ---------- */
  .testi-marquee{position:relative;overflow:hidden;margin-top:8px;}
  .testi-marquee::before,.testi-marquee::after{
    content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
  }
  .testi-marquee::before{left:0;background:linear-gradient(90deg, var(--paper), transparent);}
  .testi-marquee::after{right:0;background:linear-gradient(270deg, var(--paper), transparent);}
  .testi-track{
    display:flex;gap:22px;width:max-content;padding:0 24px;
    animation:testiSlide 32s linear infinite;
  }
  .testi-marquee:hover .testi-track{animation-play-state:paused;}
  @keyframes testiSlide{from{transform:translateX(0%);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion: reduce){ .testi-track{animation:none;} }
  .testi-card{
    flex:0 0 340px;width:340px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px;
    display:flex;flex-direction:column;gap:16px;
  }
  .testi-stars{color:var(--accent-ink);font-size:.9rem;letter-spacing:.15em;}
  .testi-quote{color:var(--ink);font-size:.95rem;line-height:1.55;margin:0;flex:1;}
  .testi-author{display:flex;align-items:center;gap:12px;}
  .testi-avatar{
    width:42px;height:42px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);
    display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:600;
    font-size:.85rem;flex-shrink:0;
  }
  .testi-author strong{display:block;font-size:.92rem;}
  .testi-author span{font-size:.78rem;color:var(--ink-soft);}
  @media (max-width:600px){
    .testi-card{flex:0 0 280px;width:280px;padding:22px;}
  }

  /* ---------- Estimador ---------- */
  .card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 10px 30px -18px rgba(17,19,17,.18);}
  .calc{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:stretch;max-width:1080px;margin:0 auto;}
  .calc-main{padding:24px 26px;display:flex;flex-direction:column;}
  .calc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:var(--surface-2);border-radius:12px;margin-bottom:20px;}
  .tab-btn{
    display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 10px;border:none;border-radius:9px;background:transparent;
    font-family:var(--font-body);font-weight:600;font-size:.92rem;color:var(--ink-soft);cursor:pointer;transition:background .2s ease,color .2s ease;
  }
  .tab-btn:hover{color:var(--ink);}
  .tab-btn.active{background:var(--surface);color:var(--ink);box-shadow:0 4px 14px -8px rgba(17,19,17,.35);}
  .tab-btn.active svg{color:var(--accent);}
  .tab-panel{display:none;}
  .tab-panel.active{display:block;}

  .item-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
  .item-cat{grid-column:1/-1;font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:10px 0 0;}
  .item-cat:first-child{margin-top:0;}
  .item-row{
    display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 14px;
    border:1px solid var(--border);border-radius:11px;transition:border-color .15s ease,background .15s ease;
  }
  .item-row.on{border-color:var(--accent);background:var(--accent-soft);}
  .item-name{font-size:.9rem;font-weight:500;line-height:1.3;}
  .item-meta{display:block;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft);margin-top:2px;}
  .stepper{display:flex;align-items:center;gap:4px;flex-shrink:0;}
  .stepper button{
    width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);
    font-size:1.05rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  }
  .stepper button:hover{border-color:var(--accent);color:var(--accent-ink);}
  .qty{
    width:38px;height:30px;padding:0;border:none;background:transparent;text-align:center;
    font-family:var(--font-mono);font-weight:600;font-size:.95rem;color:var(--ink);-moz-appearance:textfield;
  }
  .qty::-webkit-outer-spin-button,.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
  .note{font-size:.8rem;color:var(--ink-soft);margin:12px 0 20px;}

  .calc-adv{margin-top:auto;border-top:1px solid var(--border);padding-top:14px;}
  .calc-adv summary{cursor:pointer;font-size:.86rem;font-weight:600;color:var(--ink-soft);list-style:none;display:flex;align-items:center;gap:8px;}
  .calc-adv summary::-webkit-details-marker{display:none;}
  .calc-adv summary::before{content:'+';display:inline-flex;width:20px;height:20px;border-radius:6px;background:var(--surface-2);align-items:center;justify-content:center;font-weight:700;}
  .calc-adv[open] summary::before{content:'−';}
  .config-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:14px;}
  .field label{display:block;font-size:.72rem;font-weight:600;color:var(--ink-soft);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
  .field input,.field select{
    width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;
    background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:.92rem;
  }

  .calc-result{display:flex;flex-direction:column;padding:26px;background:#000;border-color:#000;color:#fff;}
  .res-lbl{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#C9CCC4;}
  .res-big{font-family:var(--font-display);font-weight:800;font-size:3.6rem;line-height:1;margin-top:8px;color:var(--accent);}
  .res-rec{font-size:.95rem;margin-top:10px;color:#ECEFE9;min-height:1.5em;}
  .res-rec b{color:#fff;}
  .res-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);}
  .res-mini span{display:block;font-size:.72rem;color:#ACA79B;text-transform:uppercase;letter-spacing:.05em;}
  .res-mini b{font-family:var(--font-mono);font-size:1rem;}
  .res-items{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:#C9CCC4;max-height:150px;overflow-y:auto;}
  .res-items li{display:flex;justify-content:space-between;gap:10px;}
  .res-items li b{font-family:var(--font-mono);color:#fff;}
  .res-cta{justify-content:center;margin-top:auto;}
  .res-items{margin-bottom:20px !important;}
  .res-reset{margin-top:10px;background:none;border:none;color:#ACA79B;font-family:var(--font-body);font-size:.84rem;cursor:pointer;text-decoration:underline;}
  .res-reset:hover{color:#fff;}
  @media (max-width:900px){
    .calc{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    .item-list{grid-template-columns:1fr;}
    .calc-main{padding:18px;}
    .tab-btn{font-size:.82rem;}
  }

  .lbl-short{display:none;}
  .calc-bar{display:none;}
  @media (max-width:900px){
    .calc-bar{
      display:flex;position:fixed;left:12px;right:80px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:39;
      align-items:center;justify-content:space-between;gap:12px;height:52px;
      background:#000;color:#fff;border-radius:14px;padding:0 6px 0 16px;box-shadow:0 14px 30px -12px rgba(0,0,0,.55);
      opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;
    }
    .calc-bar.show{opacity:1;transform:none;pointer-events:auto;}
    .calc-bar span{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#ACA79B;}
    .calc-bar b{font-family:var(--font-display);font-size:1.3rem;line-height:1.1;color:var(--accent);}
    .calc-bar a{background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:.85rem;padding:9px 14px;border-radius:9px;white-space:nowrap;}
  }
  @media (max-width:560px){
    .lbl-full{display:none;}
    .lbl-short{display:inline;}
  }

  /* ---------- Botón flotante del asistente ---------- */
  .fab-assist{
    position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:40;
    display:flex;align-items:center;gap:8px;height:52px;padding:0 18px 0 15px;border:none;border-radius:999px;
    background:var(--accent);color:#fff;font-family:var(--font-body);font-weight:600;font-size:.92rem;cursor:pointer;
    box-shadow:0 14px 30px -10px rgba(0,120,170,.6);
    opacity:0;transform:translateY(16px) scale(.96);pointer-events:none;transition:opacity .25s ease,transform .25s ease;
  }
  .fab-assist.show{opacity:1;transform:none;pointer-events:auto;}
  @media (max-width:900px){
    .fab-assist{width:52px;padding:0;justify-content:center;}
    .fab-assist span{display:none;}
  }
  @media (prefers-reduced-motion: reduce){ .fab-assist{transition:none;} }

  /* ---------- Depósitos ---------- */
  #depositos{border-top:1px solid var(--border);}
  .dep-hint{display:none;text-align:center;font-size:.8rem;color:var(--ink-soft);margin:6px 0 0;}
  .dep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1080px;margin:0 auto;}
  .dep-card{
    background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;
    display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
    box-shadow:0 10px 30px -22px rgba(17,19,17,.3);
  }
  .dep-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 18px 36px -22px rgba(0,120,170,.35);}
  .dep-photo{position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;background-color:var(--surface-2);}
  .dep-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72) 100%);}
  .dep-size{
    position:absolute;left:18px;bottom:14px;z-index:1;color:#fff;font-family:var(--font-display);font-weight:800;
    font-size:2.3rem;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.6);
  }
  .dep-size small{font-size:1.1rem;margin-left:3px;}
  .dep-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .dep-body h3{font-size:1.35rem;}
  .dep-dim{font-family:var(--font-mono);font-size:.82rem;color:var(--accent-ink);}
  .dep-use{color:var(--ink-soft);font-size:.94rem;margin:0;flex:1;}
  .dep-body .btn{align-self:flex-start;margin-top:8px;padding:10px 18px;font-size:.88rem;}
  .dep-card.dep-cta{background:#000;border-color:#000;color:#fff;justify-content:center;padding:30px;gap:14px;}
  .dep-card.dep-cta h3{font-size:1.6rem;color:#fff;}
  .dep-card.dep-cta p{margin:0;color:#C9CCC4;}
  .dep-card.dep-cta .btn{align-self:flex-start;}
  @media (max-width:960px){ .dep-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (prefers-reduced-motion: reduce){ .dep-card{transition:none;} .dep-card:hover{transform:none;} }

  /* ---------- Empresas que confían ---------- */
  .logos-grid{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:46px;max-width:1100px;margin:0 auto;}
  .logo-slot{flex:0 0 114px;height:60px;display:flex;align-items:center;justify-content:center;}
  .logo-slot.dup{display:none;}
  .logo-slot img{max-width:100%;max-height:42px;width:auto;height:auto;opacity:.55;transition:opacity .2s ease;}
  .logo-slot:hover img{opacity:1;}
  @keyframes logosScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (max-width:1100px){
    .logos-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
    .logos-grid{justify-content:flex-start;width:max-content;max-width:none;animation:logosScroll 32s linear infinite;}
    .logo-slot{margin-right:46px;}
    .logos-grid{gap:0;}
    .logo-slot.dup{display:flex;}
  }
  @media (prefers-reduced-motion: reduce){ .logos-grid{animation:none;} }

  /* ---------- Asistente (protagonista del hero, abierto y claro) ---------- */
  .assistant{width:100%;max-width:780px;margin:30px auto 0;display:flex;flex-direction:column;align-items:center;}
  .assist-eyebrow{
    display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:6px 14px;border-radius:999px;
    font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  .assist-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:dotPulse 2s ease-in-out infinite;}
  @keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,174,237,.7);}50%{box-shadow:0 0 0 6px rgba(0,174,237,0);}}
  .hcc-log{display:none;width:100%;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;margin-bottom:16px;text-align:left;padding:2px;}
  .hcc-log.has-msgs{display:flex;}
  .hcc-msg{
    align-self:flex-start;max-width:86%;background:rgba(255,255,255,.95);color:#111311;
    border-radius:18px;border-bottom-left-radius:5px;padding:12px 16px;font-size:.93rem;line-height:1.5;
    box-shadow:0 12px 30px -16px rgba(0,0,0,.5);animation:msgIn .3s cubic-bezier(.2,.7,.3,1);
  }
  .hcc-msg b{font-weight:700;}
  .hcc-log.has-msgs{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28px);mask-image:linear-gradient(180deg,transparent 0,#000 28px);padding-top:24px;}
  .hcc-msg .msg-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
  .hcc-msg .msg-actions a{color:#0087B8;font-weight:600;text-decoration:none;font-size:.88rem;}
  .hcc-msg .msg-actions a:hover{text-decoration:underline;}
  .hcc-msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-left-radius:18px;border-bottom-right-radius:5px;}
  .hcc-msg .msg-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin-top:8px;}
  .hcc-msg .msg-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;}
  .hcc-typing{display:flex;gap:4px;padding:14px 16px;}
  .hcc-typing span{width:7px;height:7px;border-radius:50%;background:#7A766E;animation:typingDot 1.2s ease-in-out infinite;}
  .hcc-typing span:nth-child(2){animation-delay:.15s;} .hcc-typing span:nth-child(3){animation-delay:.3s;}
  @keyframes typingDot{0%,60%,100%{opacity:.3;transform:none;}30%{opacity:1;transform:translateY(-3px);}}
  @media (prefers-reduced-motion: reduce){ .hcc-typing span{animation:none;} }
  .header-chat-bar button:disabled{opacity:.6;cursor:progress;}
  @keyframes msgIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  .header-chat-bar{
    width:100%;display:flex;align-items:center;gap:10px;background:#fff;border:2px solid transparent;border-radius:16px;
    padding:7px 7px 7px 22px;box-shadow:0 0 0 7px rgba(255,255,255,.16),0 28px 60px -22px rgba(0,0,0,.7);
    transition:border-color .2s ease,box-shadow .2s ease;
  }
  .header-chat-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 7px rgba(0,174,237,.32),0 28px 60px -22px rgba(0,0,0,.7);}
  .header-chat-bar input{flex:1;min-width:0;border:none;background:transparent;color:#111311;font-family:var(--font-body);font-size:1.12rem;padding:14px 0;}
  .header-chat-bar input:focus{outline:none;}
  .header-chat-bar input::placeholder{color:#7A766E;}
  .header-chat-bar button{
    border:none;background:var(--accent);color:#fff;border-radius:11px;height:52px;padding:0 22px;flex-shrink:0;
    font-family:var(--font-body);font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;
    transition:background .2s ease,transform .15s ease;
  }
  .header-chat-bar button:hover{background:#0098D1;}
  .header-chat-bar button:active{transform:translateY(1px);}
  .assist-perks{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;}
  .assist-perks li{
    display:flex;align-items:center;gap:7px;color:#fff;font-size:.9rem;font-weight:500;
    text-shadow:0 1px 10px rgba(0,0,0,.7);
  }
  .assist-perks li::before{
    content:'';width:16px;height:16px;border-radius:50%;flex-shrink:0;
    background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4 10-10'/%3E%3C/svg%3E") center/10px no-repeat;
  }
  @media (prefers-reduced-motion: reduce){ .assist-eyebrow .dot,.hcc-msg{animation:none;} .header-chat-bar{transition:none;} }
  @media (max-width:560px){
    .header-chat-bar{padding-left:16px;border-radius:14px;box-shadow:0 0 0 5px rgba(255,255,255,.14),0 20px 40px -20px rgba(0,0,0,.7);}
    .header-chat-bar input{font-size:1rem;}
    .header-chat-bar button{height:46px;width:46px;padding:0;justify-content:center;border-radius:10px;}
    .header-chat-bar button .lbl{display:none;}
  }

  /* ---------- Ubicación (mapa esquemático, sección propia) ---------- */
  #ubicacion{background:#DDE4DE;}
  #ubicacion .lede{color:#4A463F;}
  .loc-tabs{display:flex;justify-content:center;gap:8px;margin:0 auto 22px;}
  .loc-tab{
    padding:10px 20px;border-radius:999px;border:1px solid rgba(17,19,17,.18);background:rgba(255,255,255,.55);
    font-family:var(--font-body);font-weight:600;font-size:.92rem;color:var(--ink);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;
  }
  .loc-tab:hover{border-color:var(--ink);}
  .loc-tab.active{background:var(--ink);border-color:var(--ink);color:#fff;}
  .loc-name{font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);}
  .loc-note{margin:0;color:var(--ink-soft);font-size:.92rem;}
  .location-shell{max-width:1080px;margin:0 auto;}
  .location-shell{
    display:grid;grid-template-columns:1.3fr 1fr;
    border:1px solid var(--border);border-radius:16px;overflow:hidden;
  }
  .map-visual{position:relative;aspect-ratio:16/11;background:var(--surface-2);}
  .map-visual iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;}
  .map-fallback{position:absolute;inset:0;display:none;}
  .map-fallback svg{width:100%;height:100%;display:block;}
  .no-embed .map-fallback{display:block;}
  .no-embed .map-visual iframe{display:none;}
  .map-pin{animation:pinPulse 2.6s ease-in-out infinite;transform-origin:200px 128px;}
  @keyframes pinPulse{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}
  .map-pin-glow{animation:glowPulse 2.6s ease-in-out infinite;transform-origin:200px 150px;}
  @keyframes glowPulse{0%,100%{opacity:.22;transform:scale(1);}50%{opacity:.4;transform:scale(1.18);}}
  @media (prefers-reduced-motion: reduce){
    .map-pin,.map-pin-glow{animation:none;}
  }
  .location-info{
    background:var(--surface);padding:36px;display:flex;flex-direction:column;
    justify-content:center;gap:18px;
  }
  .location-info .addr{font-size:1.15rem;font-weight:700;}
  .location-info .addr small{display:block;color:var(--ink-soft);font-weight:400;font-size:.85rem;margin-top:5px;}
  .location-info .btn{justify-content:center;}
  @media (max-width:760px){
    .location-shell{grid-template-columns:1fr;}
    .map-visual{aspect-ratio:16/10;}
  }

  /* ---------- Contacto / Footer ---------- */
  #contacto h2{font-size:clamp(1.6rem,3vw,2.2rem);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
  .contact-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:14px;font-size:.95rem;}
  .contact-list li{display:flex;gap:12px;align-items:flex-start;}
  .contact-list .ico{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .contact-list li > div{display:flex;align-items:center;min-height:30px;}
  .contact-list li > div a{color:var(--accent-ink);text-decoration:none;display:inline-block;transition:transform .18s ease,color .18s ease;}
  .contact-list li > div a:hover{color:var(--accent-strong);transform:translateX(3px);}
  @media (prefers-reduced-motion: reduce){ .contact-list li > div a{transition:none;} }

  form.contact-form{display:flex;flex-direction:column;gap:12px;}
  form.contact-form input, form.contact-form textarea{
    padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:.92rem;resize:vertical;
  }
  form.contact-form input::placeholder, form.contact-form textarea::placeholder{color:var(--ink-soft);opacity:.8;}
  .form-msg{font-size:.9rem;color:var(--ink-soft);}
  .form-msg:empty{display:none;}
  .form-msg p{margin:0;}
  .form-msg.ok{color:var(--accent-ink);font-weight:600;}
  .form-msg.err{color:#B4442A;}

  footer{background:var(--accent);padding:26px 0;}
  footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#fff;font-weight:600;}
  footer .social{display:flex;gap:10px;}
  footer .social a{
    width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.55);
    display:flex;align-items:center;justify-content:center;color:#fff;
    transition:border-color .15s ease,opacity .15s ease;
  }
  footer .social a:hover{border-color:#fff;background:rgba(255,255,255,.15);}
  footer .social svg{width:16px;height:16px;}

  @media (max-width:880px){
    .nav-links{display:none;}
    .contact-grid{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .btn-text{display:none;}
  }
  @media (max-width:520px){
    .hero-stats{gap:20px;}
  }
  /* ---------- Mobile ---------- */
  @media (max-width:600px){
    .dep-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -18px;padding:4px 18px 14px;scrollbar-width:none;}
    .dep-grid::-webkit-scrollbar{display:none;}
    .dep-card{flex:0 0 78%;scroll-snap-align:center;}
    .dep-card:hover{transform:none;}
    .dep-body{padding:16px 18px 18px;}
    .dep-size{font-size:2rem;}
    .dep-hint{display:block;}
    .nav.wrap{padding:14px 18px;}
    .nav-cta .btn.nav-calc{padding:9px 14px;font-size:.82rem;border-radius:8px;}
    .section{padding:44px 0;}
    .wrap{padding:0 18px;}
    .section-head{margin-bottom:22px;}
    .section-head h2{font-size:1.55rem;line-height:1.15;}
    .lede{font-size:.97rem;}
    .hero{padding:44px 0 40px;}
    .hero h1{font-size:clamp(1.85rem,8.6vw,2.15rem);}
    .assistant{margin-top:22px;}
    .assist-perks{display:grid;grid-template-columns:auto auto;justify-content:center;gap:8px 20px;margin-top:16px;}
    .assist-perks li{font-size:.86rem;}
    .hero .lede{margin-top:24px;font-size:.95rem;}
    .hero-stats{gap:24px;}
    .hcc-log{max-height:46vh;}
    .services-body{display:flex;flex-direction:column;gap:14px;}
    .services-highlight{order:-1;min-height:210px;padding:22px;}
    .hl-title{font-size:1.55rem;}
    .hl-rot{min-height:3.3em;}
    .services-panel-card{padding:24px 22px;min-height:0;}
    .panel-title{font-size:1.6rem;}
    .panel-sub{font-size:.93rem;margin-bottom:14px;}
    .bullet-list{gap:0;}
    .bullet-list li{padding:7px 12px;font-size:.93rem;}
    .stab-pill{font-size:.88rem;padding:9px 8px;}
    .calc-main{padding:16px;}
    .calc-tabs{margin-bottom:14px;}
    .item-row{padding:9px 9px 9px 12px;gap:8px;}
    .item-meta{font-size:.68rem;}
    .item-name{font-size:.88rem;}
    .stepper button{width:34px;height:34px;font-size:1.1rem;}
    .qty{width:30px;}
    .calc-result{padding:22px;}
    .res-big{font-size:3rem;}
    .logo-slot{flex-basis:104px;height:48px;margin-right:48px;}
    .logo-slot img{max-height:36px;}
    .testi-card{flex:0 0 270px;width:270px;}
    .location-info{padding:22px;}
    .map-visual{aspect-ratio:4/3;}
    footer .wrap{justify-content:center;flex-direction:column-reverse;gap:14px;}
    footer{padding-bottom:calc(26px + 60px);}
  }

