:root{
  /* CMYK base */
  --c:#00AEEF; /* Cyan */
  --m:#EC008C; /* Magenta */
  --y:#FFD100; /* Yellow (slightly darker for contrast) */
  --k:#0b0d10; /* Black (background) */
  /* UI tokens mapped to CMYK */
  --bg:var(--k);
  --card:#12161a;
  --muted:#7a8594;
  --text:#e9eef5;
  --primary:var(--c);
  --secondary:var(--m);
  --accent:var(--y);
  --scroll-color: var(--m);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
/* Minimal scrollbars */
*{scrollbar-width:thin;scrollbar-color:var(--scroll-color) var(--card)}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:var(--card)}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-color),var(--scroll-color));border-radius:20px;border:2px solid var(--card)}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--scroll-color),var(--scroll-color))}
img{max-width:100%;display:block}
.container{width:min(1100px,92%);margin-inline:auto}
.small{font-size:.9rem;color:var(--muted)}
.narrow{max-width:800px}

.site-header{position:sticky;top:0;background:rgba(11,13,16,.9);z-index:10;border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.brand{color:#fff;text-decoration:none;font-weight:700;letter-spacing:.3px;display:flex;align-items:center;gap:.4rem}
.brand .logo{width:26px;height:26px;object-fit:contain;display:block}
.site-nav{display:flex;align-items:center;gap:1rem}
.site-nav a{color:var(--text);text-decoration:none;padding:.4rem .6rem;border-radius:8px}
.site-nav a:hover{background:rgba(255,255,255,.06)}
.nav-toggle{display:none;background:none;border:0;color:var(--text);font-size:1.4rem}

/* CMYK accent stripe under header */
.site-header::after{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--c) 0 25%,var(--m) 25% 50%,var(--y) 50% 75%,#000 75% 100%)}

.btn{display:inline-block;background:var(--primary);color:#031318;text-decoration:none;padding:.75rem 1rem;border-radius:10px;font-weight:700;border:0;cursor:pointer;transition:transform .08s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 22px -8px color-mix(in oklab, var(--primary) 60%, transparent)}
.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text)}
.btn-secondary:hover{border-color:color-mix(in oklab, var(--secondary) 60%, rgba(255,255,255,.2));}
.btn-whatsapp{background:#25D366;color:#07120a}

.hero{padding:7rem 0;
  background:
    linear-gradient(rgba(0,0,0,.72), rgba(0,0,0,.72)),
    url('./assets/fondo.webp') center/cover no-repeat;
}
.hero-inner{display:grid;gap:1.25rem}
.hero h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin:0}
.rotator{display:inline-block;position:relative;min-width:8ch;height:1em;line-height:1em;vertical-align:baseline}
.rotator-word{position:absolute;left:0;top:0;opacity:0;transform:translateY(.35em);animation:rotatorSwap 7.2s linear infinite;}
.rotator-word:nth-child(1){animation-delay:0s;color:var(--c)}
.rotator-word:nth-child(2){animation-delay:2.4s;color:var(--m)}
.rotator-word:nth-child(3){animation-delay:4.8s;color:var(--y)}
@keyframes rotatorSwap{0%{opacity:0;transform:translateY(.35em)}4%,16%{opacity:1;transform:translateY(.05em)}24%{opacity:0;transform:translateY(.0em)}100%{opacity:0}}
.lead{font-size:1.1rem;color:var(--muted)}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap}

.section{padding:4rem 0}
.section.alt{background:linear-gradient(180deg,color-mix(in oklab, var(--y) 8%, transparent),transparent)}
.section h2{font-size:1.8rem;margin:0 0 .5rem}
.section-desc{color:var(--muted);margin:0 0 1.5rem}

.grid{display:grid;gap:1rem}
.cards{grid-template-columns:repeat(4,1fr)}
.card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;display:grid;gap:.5rem;padding:1rem}
.card h3{margin:.25rem 0 .25rem}
.card p{color:var(--muted);margin:0}
.card img{aspect-ratio:4/3;object-fit:cover;background:#0f1317;border-radius:10px}

/* Productos públicos */
.products-section .category-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem;overflow-x:auto;padding-bottom:.25rem}
.products-section h2, .products-section .section-desc{text-align:center}
.products-section .category-tabs{justify-content:center}
.products-section .category-tabs::-webkit-scrollbar{height:6px}
.products-section .category-tabs::-webkit-scrollbar-thumb{background:var(--primary);border-radius:40px}
.products-section .category-tabs .tab{background:var(--card);border:1px solid rgba(255,255,255,.08);color:var(--text);padding:.55rem .9rem;border-radius:999px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s}
.products-section .category-tabs .tab:hover{background:color-mix(in oklab, var(--primary) 22%, var(--card))}
.products-section .category-tabs .tab.active{background:var(--primary);color:#031318;border-color:var(--primary)}
.category-pane{display:none;animation:fade .35s ease}
.category-pane.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.category-title{margin:.25rem 0 1rem;font-size:1.2rem}
.product-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}
.product-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;position:relative}
.product-card .img-wrap{aspect-ratio:4/3;background:#10161b;display:flex;align-items:center;justify-content:center}
.product-card img{width:100%;height:100%;object-fit:cover}
.product-info{padding:.75rem .85rem;display:flex;flex-direction:column;gap:.35rem}
.product-info h4{margin:0;font-size:1rem;line-height:1.15}
.price{display:none}
.price.muted{display:none}
.product-info .desc{margin:.1rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.features-col{display:grid;gap:.25rem;margin-top:.4rem}
.feature-row{font-size:.8rem;color:#cfe5ff;background:#0f1317;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.25rem .5rem}
.product-card .actions{padding:.6rem .85rem .85rem;display:flex;gap:.5rem}
.btn.btn-sm{padding:.45rem .7rem;font-size:.85rem;border-radius:8px}

/* Load more */
.load-more-wrap{display:flex;justify-content:center;margin-top:1rem}
.load-more-btn{padding:.7rem 1.1rem}

/* Modal */
.modal[aria-hidden="true"][hidden]{display:none}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px)}
.modal-dialog{position:relative;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:14px;max-width:min(900px,92vw);width:100%;overflow:hidden}
.modal-close{position:absolute;top:.5rem;right:.5rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text);border-radius:10px;padding:.25rem .5rem;cursor:pointer}
.modal-body{display:grid;grid-template-columns:auto 1fr;gap:1rem}
.modal-media{background:#0f1317; width:clamp(220px, 26vw, 360px); aspect-ratio:2/3; overflow:hidden; border-radius:10px; justify-self:start}
.modal-media img{width:100%;height:100%;object-fit:cover;display:block}
.modal-content{padding:1rem}
.modal-content h3{margin:.25rem 0}
.modal-product-title{font-size:1.5rem;line-height:1.25}
.modal-content p{margin:.5rem 0;color:var(--muted)}
.desc-title{margin:.6rem 0 0;color:var(--text)}
.desc-title + #pmDesc{margin-top:.3rem;font-size:1rem;line-height:1.55}
.features-stack{display:grid;gap:.35rem;margin-top:.5rem}
.features-stack .feature-row{font-size:.9rem}
.features{margin-top:.75rem}
.features-title{margin:1rem 0 .4rem;color:var(--text)}
.features-title, .desc-title{font-size:1.05rem}
.features-list{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.35rem}
.feature-item{position:relative;padding-left:1rem;color:var(--text);font-size:1rem;transition:color .2s ease}
.feature-item::before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:.5rem;border-radius:50%;background:var(--m);transition:background-color .2s ease}
.feature-item:hover{color:var(--c)}
.modal-actions{display:flex;gap:.5rem;margin-top:1rem}
@media (max-width: 900px){
  .modal-body{grid-template-columns:1fr}
  .modal-media{width:min(92vw, 560px); aspect-ratio:19/9; margin-inline:auto}
  .modal-media img{width:100%; height:100%; object-fit:cover}
}
@media (max-width: 640px){
  .modal-media{width:92vw; aspect-ratio:19/9}
}

@media (min-width: 901px){
  .modal-product-title{font-size:2rem}
  .features-title, .desc-title{font-size:1.2rem}
  .desc-title + #pmDesc{font-size:1.1rem; line-height:1.65}
  .feature-item{font-size:1.1rem}
}

@media (max-width: 1100px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 960px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .product-grid{grid-template-columns:1fr}
  .category-title{font-size:1.05rem}
}

.contact-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem}
.contact-form label{display:grid;gap:.35rem}
.contact-form label.full{grid-column:1/-1}
.contact-form input,.contact-form textarea{width:100%;padding:.8rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0f1317;color:var(--text)}
.contact-form .actions{grid-column:1/-1;display:flex;gap:.75rem;flex-wrap:wrap}
.contact-info{align-self:start}
.contact-info ul{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.35rem}
.contact-info a{color:var(--secondary)}

/* Links and nav accents in CMYK */
.site-nav a:hover{background:color-mix(in oklab, var(--m) 16%, transparent)}
.footer-nav a:hover{color:var(--primary)}

.site-footer{border-top:1px solid rgba(255,255,255,.06);padding:1.25rem 0;color:var(--muted)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-nav a{color:var(--muted);text-decoration:none;margin-right:.75rem}
.footer-nav a:hover{color:var(--text)}
.ms-credit{color:var(--muted);text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.25)}
.ms-credit:hover{color:var(--text);border-bottom-color:transparent}

@media (max-width: 960px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .contact-wrap{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .site-nav{position:fixed;inset:56px 0 auto 0;background:rgba(11,13,16,.95);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06);padding:1rem;display:none;flex-direction:column;align-items:flex-start}
  .site-nav.open{display:flex}
  .nav-toggle{display:inline-flex}
  .cards{grid-template-columns:1fr}
}

/* Productos: animación de color del título (cian -> magenta -> amarillo) */
.products-section h2{color:var(--c);animation:products-cmy-steps 6s steps(1, end) infinite}
@keyframes products-cmy-steps{
  0%{color:var(--c)}
  33%{color:var(--m)}
  66%{color:var(--y)}
  100%{color:var(--c)}
}
@media (prefers-reduced-motion: reduce){
  .products-section h2{animation:none}
}
