/* Sol · diseño web 03/10/2026 · recursos locales */
:root {
  --violet:#7639ef;
  --cyan:#20afd0;
  --green:#35cf64;
  --ink:#182035;
  --muted:#586176;
  --line:#dfe2ed;
  --soft:#f6f5fb;
  --soft2:#faf9fd;
  --shadow:0 14px 36px #2730500b
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  background:#fff;
  color:var(--ink);
  font:18px/1.55 Segoe UI,system-ui,-apple-system,sans-serif
}
img {
  max-width:100%;
  display:block
}
a {
  color:inherit;
  text-decoration:none
}
h1,h2,h3 {
  line-height:1.12;
  letter-spacing:-.035em
}
h1,h2,h3,p,figure {
  margin-top:0
}
button,input,select,textarea {
  font:inherit
}
button,a,input {
  touch-action:manipulation
}
button {
  cursor:pointer
}
[hidden] {
  display:none!important
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #6230cf;
  outline-offset:5px;
  border-radius:6px
}
.pie a:focus-visible {
  outline-color:#c9b6ff
}
.saltar {
  position:fixed;
  top:-100px;
  left:18px;
  z-index:30;
  padding:14px 22px;
  background:#6230cf;
  color:#fff;
  border-radius:8px
}
.saltar:focus {
  top:10px
}
.barra {
  position:sticky;
  top:0;
  z-index:20;
  background:#fffffffa;
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px)
}
.barra-in {
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px
}
.marca {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:27px;
  font-weight:750;
  letter-spacing:-.055em;
  flex-shrink:0
}
.marca img {
  width:40px;
  height:40px;
  border-radius:11px
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:14px 25px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--violet);
  color:#fff;
  font-size:17px;
  font-weight:650;
  line-height:1.3;
  box-shadow:0 7px 18px #7639ef20;
  transition:background .18s,transform .18s,box-shadow .18s
}
.btn:hover:not(:disabled) {
  background:#6230cf;
  box-shadow:0 9px 20px #7639ef30;
  transform:translateY(-2px)
}
.btn.secundario,.btn.wa,.btn.claro {
  background:#fff;
  border-color:#ccd0df;
  color:#393b51;
  box-shadow:none
}
.btn.secundario:hover,.btn.wa:hover,.btn.claro:hover {
  background:#f4f1fc;
  border-color:#ad93e7;
  color:#393b51
}
.btn.ancho {
  width:100%
}
.btn:disabled {
  cursor:not-allowed;
  background:#e0dbea;
  color:#555061;
  box-shadow:none
}
.kicker {
  font-size:14px;
  font-weight:700;
  letter-spacing:.085em;
  text-transform:uppercase;
  color:#6230cf
}
.muted {
  color:var(--muted)
}
.chico {
  font-size:14px;
  line-height:1.6
}
.panel-ejemplo {
  margin:0;
  min-width:0;
  background:#f4f1fc;
  border:1px solid #e5dff4;
  border-radius:22px;
  padding:10px;
  box-shadow:0 20px 60px #7639ef12;
  transform:rotate(-1deg)
}
.panel-ejemplo img {
  width:100%;
  height:auto;
  aspect-ratio:8/5;
  object-fit:contain;
  border-radius:15px
}
.panel-ejemplo figcaption {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  padding:15px 12px 10px;
  font-size:14px;
  font-weight:600;
  color:#454a61
}
.panel-ejemplo figcaption>span:last-child {
  margin-left:auto;
  font-weight:400;
  color:#606678;
  font-size:12px
}
.section-head {
  padding:24px 28px;
  background:#202538;
  color:#fff;
  border-radius:12px;
  font-size:clamp(26px,2.2vw,42px);
  font-weight:600;
  margin:0 0 22px;
  letter-spacing:-.025em
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    transform:none!important
  }
}
body.home-equipo .wrap {
  width:100%;
  max-width:1920px;
  margin-inline:auto;
  padding-inline:48px
}
.menu {
  display:flex;
  align-items:center;
  gap:30px
}
.menu>a:not(.btn),#btn-productos {
  font-size:17px;
  font-weight:600
}
.menu>a:not(.btn):hover {
  color:#6230cf
}
#btn-productos {
  border:0;
  background:transparent;
  color:var(--ink);
  padding:12px 0;
  display:flex;
  gap:8px;
  align-items:center
}
#btn-productos[aria-expanded=true] {
  color:#6230cf
}
.caret {
  font-size:13px;
  transition:transform .18s
}
#btn-productos[aria-expanded=true] .caret {
  transform:rotate(180deg)
}
.hamburguesa {
  display:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:10px;
  min-width:48px;
  min-height:48px;
  font-size:23px
}
.acciones {
  display:flex;
  flex-wrap:wrap;
  gap:12px
}
.kicker {
  display:flex;
  align-items:center;
  gap:10px
}
.punto {
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#228a43;
  flex-shrink:0
}
.mega {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  padding:26px 0 30px;
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 25px 35px #1b234a15;
  max-height:calc(100dvh - 90px);
  overflow-y:auto;
  overscroll-behavior:contain
}
.mega-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px
}
.cat {
  min-width:0
}
.cat h3 {
  margin:0 0 10px;
  padding:15px 18px;
  font-size:18px;
  font-weight:650;
  letter-spacing:-.01em;
  color:#fff;
  background:#202538;
  border-radius:10px
}
.cat ul {
  list-style:none;
  padding:0;
  margin:0
}
.cat a {
  display:flex;
  align-items:center;
  gap:16px;
  border-radius:12px;
  padding:10px 12px;
  min-height:83px;
  font-size:18px;
  font-weight:600;
  line-height:1.3;
  transition:background .16s,color .16s
}
.cat a:hover {
  background:#f0ecfb;
  color:#6230cf
}
.cat a>span:last-child {
  min-width:0
}
.cat small {
  display:block;
  font-size:14px;
  font-weight:400;
  color:var(--muted);
  line-height:1.4;
  margin-top:4px
}
.ico {
  display:block;
  flex:0 0 68px;
  width:68px;
  height:68px;
  border-radius:11px;
  background:var(--soft);
  overflow:hidden
}
.ico img {
  width:100%;
  height:100%;
  object-fit:cover
}
.mega .ico {
  flex-basis:56px;
  width:56px;
  height:56px
}
.mega .cat a {
  min-height:70px;
  font-size:16px;
  padding:6px 8px
}
.mega .cat small {
  font-size:13px
}
.portada {
  background:linear-gradient(110deg,#fff 10%,#faf8ff 100%);
  border-bottom:1px solid var(--line);
  padding:58px 0 62px
}
.portada-grid {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  align-items:center;
  gap:65px
}
.portada-copy {
  min-width:0
}
.portada h1 {
  font-size:clamp(46px,4.3vw,86px);
  letter-spacing:-.058em;
  font-weight:750;
  margin:20px 0 25px;
  line-height:1.04
}
.portada h1 span {
  color:#6230cf
}
.portada-copy>p:not(.kicker) {
  max-width:660px;
  font-size:22px;
  line-height:1.6;
  color:var(--muted)
}
.portada .acciones {
  margin:30px 0 22px
}
.portada-copy>.portada-plazo {
  font-size:15px!important;
  line-height:1.55!important;
  max-width:590px!important
}
.portada-plazo strong {
  color:var(--ink);
  font-weight:650
}
.portada-datos {
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  margin-top:25px;
  font-size:14px;
  font-weight:600;
  color:var(--muted)
}
.portada-datos span:before {
  content:'✓';
  color:#218342;
  margin-right:8px
}
.seccion {
  padding:62px 0
}
.section-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px
}
.section-head h2 {
  font-size:clamp(26px,2.2vw,42px);
  margin:0;
  font-weight:600;
  letter-spacing:-.025em
}
.section-head>span {
  color:#c7c8de;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.11em;
  white-space:nowrap
}
.sub {
  max-width:890px;
  color:var(--muted);
  font-size:19px!important;
  line-height:1.65;
  margin:0 0 28px
}
.productos .cat {
  background:#fcfbfe;
  border:1px solid var(--line);
  border-radius:15px;
  padding:12px
}
.productos .cat h3 {
  border-radius:9px
}
.rubros {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px
}
.rubro {
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  transition:box-shadow .2s,transform .2s
}
.rubro:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 32px #37246d14
}
.rubro .foto {
  aspect-ratio:8/5;
  background:#f4f2fb;
  overflow:hidden
}
.foto img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s
}
.rubro:hover img {
  transform:scale(1.025)
}
.rubro h3 {
  font-size:24px;
  letter-spacing:-.025em;
  margin:23px 24px 10px
}
.rubro h3:after {
  content:'↗';
  float:right;
  color:#6230cf;
  margin-left:10px
}
.rubro p {
  margin:0 24px 25px;
  color:var(--muted);
  font-size:17px;
  line-height:1.6
}
.empresa {
  background:#faf9fd;
  border-block:1px solid var(--line)
}
.empresa-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:70px;
  align-items:center
}
.empresa-titulo {
  color:#fff;
  background:#202538;
  border-radius:12px;
  padding:25px 28px;
  font-weight:600;
  font-size:clamp(26px,2.2vw,40px);
  margin-bottom:25px
}
.empresa ul {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:22px
}
.empresa li {
  border-bottom:1px solid var(--line);
  padding:0 0 22px 42px;
  position:relative;
  font-size:17px;
  color:var(--muted)
}
.empresa li:before {
  content:'✓';
  position:absolute;
  left:0;
  top:0;
  display:grid;
  place-items:center;
  background:#e9f7ed;
  color:#23763d;
  border-radius:9px;
  width:28px;
  height:28px;
  font-weight:700
}
.empresa strong {
  display:block;
  color:var(--ink);
  font-size:20px;
  margin-bottom:6px
}
.home-equipo .novedades {
  background:#fff;
  padding:62px 0
}
.home-equipo .novedades h2 {
  color:#fff;
  text-transform:none;
  letter-spacing:-.025em;
  font-size:clamp(26px,2.2vw,42px);
  margin:0
}
.home-equipo .novedades-grid {
  gap:24px
}
.home-equipo .nota-card {
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .2s
}
.home-equipo .nota-card:hover {
  transform:translateY(-3px)
}
.home-equipo .nota-card img {
  border-radius:0;
  height:auto;
  aspect-ratio:8/5;
  object-fit:cover
}
.home-equipo .nota-card h3 {
  font-size:19px;
  line-height:1.4;
  padding:20px;
  margin:0;
  letter-spacing:-.015em
}
.estado-notas {
  grid-column:1/-1;
  padding:24px;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--muted)
}
.novedades>div>p a {
  color:#6230cf;
  font-weight:600
}
.home-equipo .pie {
  background:#202538
}
.home-equipo .pie p,.home-equipo .pie .pie-dato,.home-equipo .pie li,.home-equipo .pie-legal {
  color:#d1d4e0
}
.wa-flota {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:15;
  display:grid;
  place-items:center;
  background:#1c8345;
  color:#fff;
  width:60px;
  height:60px;
  border:3px solid #fff;
  border-radius:50%;
  box-shadow:0 6px 20px #142b3226;
  transition:transform .18s
}
.wa-flota svg {
  width:31px;
  height:31px;
  fill:currentColor
}
.wa-flota:hover {
  transform:translateY(-3px);
  background:#176d39
}
@media(min-width:1800px) {
  .cat a {
    font-size:20px;
    min-height:89px
  }
  .cat small {
    font-size:15px
  }
  .ico {
    flex-basis:76px;
    width:76px;
    height:76px
  }
  .mega .cat a {
    font-size:18px
  }
  .mega .cat small {
    font-size:14px
  }
  .mega .ico {
    flex-basis:62px;
    width:62px;
    height:62px
  }
  .rubro h3 {
    font-size:28px
  }
  .rubro p {
    font-size:19px
  }
}
@media(max-width:1440px) {
  body.home-equipo .wrap {
    padding-inline:32px
  }
  .menu {
    gap:20px
  }
  .portada-grid {
    gap:35px
  }
  .portada-copy>p:not(.kicker) {
    font-size:20px
  }
  .cat a {
    gap:11px;
    font-size:16px;
    padding-inline:8px
  }
  .ico {
    flex-basis:56px;
    width:56px;
    height:56px
  }
  .cat small {
    font-size:13px
  }
  .mega .ico {
    flex-basis:46px;
    width:46px;
    height:46px
  }
  .mega .cat a {
    font-size:15px
  }
  .rubro h3 {
    font-size:22px
  }
}
@media(max-width:1100px) {
  html {
    scroll-padding-top:90px
  }
  .barra-in {
    min-height:76px;
    flex-wrap:wrap;
    gap:0;
    padding-block:12px
  }
  .hamburguesa {
    display:block
  }
  .menu {
    display:none;
    flex:1 0 100%;
    padding:18px 0 8px;
    align-items:stretch;
    gap:5px
  }
  .barra.abierta .menu {
    display:flex;
    flex-direction:column;
    max-height:calc(100dvh - 110px);
    overflow:auto
  }
  .menu>a:not(.btn),#btn-productos {
    padding:13px 12px
  }
  .menu>.btn {
    margin-top:8px
  }
  #btn-productos {
    justify-content:space-between
  }
  .mega {
    position:absolute;
    top:100%;
    max-height:calc(100dvh - 76px);
    padding-top:16px
  }
  .mega-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .portada-grid {
    gap:28px
  }
  .portada h1 {
    font-size:55px
  }
  .portada .btn {
    font-size:15px;
    padding:13px 17px
  }
  .portada-datos {
    font-size:13px
  }
  .rubros {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .empresa-grid {
    gap:35px
  }
  .home-equipo .novedades-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:800px) {
  body.home-equipo .wrap {
    padding-inline:24px
  }
  .portada {
    padding:38px 0
  }
  .portada-grid {
    grid-template-columns:1fr;
    gap:34px
  }
  .portada-copy>p:not(.kicker) {
    max-width:620px
  }
  .portada h1 {
    font-size:64px
  }
  .panel-ejemplo {
    transform:none;
    max-width:760px
  }
  .section-head {
    padding:20px
  }
  .section-head>span {
    display:none
  }
  .seccion,.home-equipo .novedades {
    padding:42px 0
  }
  .empresa-grid {
    grid-template-columns:1fr
  }
  .empresa .acciones {
    margin-top:22px
  }
  .mega .cat a {
    font-size:16px
  }
  .mega .ico {
    flex-basis:56px;
    width:56px;
    height:56px
  }
}
@media(max-width:540px) {
  body.home-equipo .wrap {
    padding-inline:18px
  }
  .marca {
    font-size:25px;
    gap:9px
  }
  .marca img {
    width:36px;
    height:36px
  }
  .portada h1 {
    font-size:47px;
    margin:17px 0 22px
  }
  .kicker {
    font-size:11px;
    letter-spacing:.065em
  }
  .portada-copy>p:not(.kicker) {
    font-size:18px;
    line-height:1.55
  }
  .acciones {
    flex-direction:column
  }
  .acciones .btn {
    width:100%;
    min-height:52px;
    font-size:16px
  }
  .portada .acciones {
    margin:24px 0 18px
  }
  .portada-copy>.portada-plazo {
    font-size:13px!important
  }
  .portada-datos {
    gap:8px;
    font-size:12px;
    flex-direction:column;
    margin-top:18px
  }
  .panel-ejemplo {
    padding:6px;
    border-radius:15px
  }
  .panel-ejemplo figcaption {
    font-size:12px;
    padding:11px 6px 8px;
    gap:6px
  }
  .panel-ejemplo figcaption>span:last-child {
    font-size:10px
  }
  .section-head {
    padding:20px 18px;
    margin-bottom:18px;
    border-radius:10px
  }
  .section-head h2 {
    font-size:26px
  }
  .sub {
    font-size:16px!important;
    margin-bottom:23px
  }
  .mega-grid,.rubros,.home-equipo .novedades-grid {
    grid-template-columns:1fr
  }
  .mega-grid {
    gap:18px
  }
  .cat h3 {
    font-size:18px
  }
  .cat a {
    font-size:17px
  }
  .cat small {
    font-size:13px
  }
  .ico {
    flex-basis:64px;
    width:64px;
    height:64px
  }
  .productos .cat {
    padding:9px
  }
  .mega .wrap {
    padding-inline:18px
  }
  .mega .cat a {
    padding-block:7px;
    min-height:74px
  }
  .rubros {
    gap:20px
  }
  .rubro h3 {
    font-size:22px;
    margin:20px 20px 10px
  }
  .rubro p {
    font-size:16px;
    margin:0 20px 22px
  }
  .empresa-titulo {
    padding:22px 18px;
    font-size:27px
  }
  .empresa strong {
    font-size:18px
  }
  .empresa li {
    font-size:16px
  }
  .wa-flota {
    width:52px;
    height:52px;
    right:15px;
    bottom:15px
  }
  .home-equipo .pie-legal {
    padding-bottom:52px
  }
}
@media(max-width:1100px) {
  .barra:has(#btn-productos[aria-expanded=true]) .menu>a {
    display:none
  }
  .mega {
    max-height:calc(100dvh - 166px)
  }
}
