/* Capa de experiencia SaaS compartida: pública y administrador */
::selection { background: rgb(57 114 255 / 22%); color: var(--color-primary); }
body { overflow-x: clip; }
body::before {
    background-image: radial-gradient(circle at 1px 1px, rgb(47 103 223 / 9%) 1px, transparent 0);
    background-size: 28px 28px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(to bottom, #000, transparent 28rem);
    opacity: .45;
    pointer-events: none;
    position: fixed;
    z-index: -1;
}
.btn {
    box-shadow: 0 1px 2px rgb(7 20 38 / 8%);
    isolation: isolate;
    overflow: hidden;
    position: relative;
}
.btn::after {
    background: linear-gradient(110deg, transparent 20%, rgb(255 255 255 / 28%), transparent 80%);
    content: "";
    inset: 0;
    position: absolute;
    transform: translateX(-130%);
    transition: transform 450ms ease;
    z-index: -1;
}
.btn:hover::after { transform: translateX(130%); }
.btn-cz-primary {
    background: var(--gradient-brand);
    border-color: transparent;
    box-shadow: 0 10px 28px rgb(57 114 255 / 24%);
}
.btn-cz-primary:hover, .btn-cz-primary:focus-visible {
    background: linear-gradient(135deg, #245fef, #6848ee);
    border-color: transparent;
    box-shadow: 0 14px 36px rgb(57 114 255 / 32%);
}
.cz-card, .card {
    background: var(--gradient-surface);
    border: 1px solid rgb(132 151 184 / 22%);
    box-shadow: 0 1px 2px rgb(7 20 38 / 4%), 0 14px 40px rgb(20 43 78 / 7%);
}
.cz-card, .card, .form-control, .form-select, .btn { transition-duration: var(--transition-fast); }
.form-control, .form-select {
    background-clip: padding-box;
    box-shadow: inset 0 1px 1px rgb(7 20 38 / 3%);
}
.form-control:focus, .form-select:focus {
    box-shadow: 0 0 0 4px rgb(57 114 255 / 13%), 0 8px 24px rgb(57 114 255 / 8%);
}
.form-check-input { border-color: var(--color-border-strong); min-height: 1.15rem; min-width: 1.15rem; }
.form-check-input:checked { background-color: var(--color-electric); border-color: var(--color-electric); }
.nav-pills {
    background: rgb(232 237 246 / 78%);
    border: 1px solid rgb(132 151 184 / 18%);
    border-radius: .8rem;
    padding: .28rem;
    width: fit-content;
}
.nav-pills .nav-link {
    border-radius: .58rem;
    color: var(--color-text-muted);
    font-size: var(--text-sm);
    font-weight: 700;
    padding: .55rem .9rem;
    transition: background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}
.nav-pills .nav-link.active {
    background: #fff;
    box-shadow: 0 4px 14px rgb(16 36 62 / 10%);
    color: var(--color-primary);
}
.table-responsive {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: auto;
}
.table { margin-bottom: 0; vertical-align: middle; }
.table > :not(caption) > * > * { border-bottom-color: rgb(132 151 184 / 17%); padding: .9rem 1rem; }
.table thead th {
    background: #f4f7fb;
    color: var(--color-text-muted);
    font-size: .72rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.badge { border-radius: var(--radius-pill); font-weight: 750; letter-spacing: .01em; padding: .45em .7em; }
.alert, .cz-alert {
    backdrop-filter: blur(14px);
    box-shadow: 0 10px 32px rgb(16 36 62 / 8%);
}
.accordion-item { overflow: clip; }
.accordion-button { transition: color var(--transition-fast), background var(--transition-fast); }
.accordion-button::after { transition: transform var(--transition-panel); }
.breadcrumb { font-size: var(--text-sm); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--color-text-subtle); }
.cz-toast-region {
    bottom: 1.25rem;
    display: grid;
    gap: .75rem;
    max-width: min(24rem, calc(100vw - 2rem));
    position: fixed;
    right: 1.25rem;
    z-index: var(--layer-toast);
}
.cz-toast {
    animation: cz-toast-in var(--transition-major) both;
    backdrop-filter: blur(18px);
    background: rgb(9 21 38 / 92%);
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: .85rem;
    box-shadow: var(--shadow-lg);
    color: #fff;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: .75rem;
    padding: .9rem 1rem;
}
.cz-toast__dot { background: var(--color-electric-bright); border-radius: 50%; height: .65rem; margin-top: .35rem; width: .65rem; }
.cz-toast--success .cz-toast__dot { background: #5de0a5; }
.cz-toast--danger .cz-toast__dot { background: #ff7b82; }
.cz-toast button { background: transparent; border: 0; color: #cad5e6; }
@keyframes cz-toast-in { from { opacity: 0; transform: translateY(1rem) scale(.97); } }
.cz-confirm-dialog {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 1.15rem;
    box-shadow: var(--shadow-lg);
    color: var(--color-text);
    max-width: min(31rem, calc(100vw - 2rem));
    padding: 0;
}
.cz-confirm-dialog::backdrop { backdrop-filter: blur(8px); background: rgb(4 12 24 / 55%); }
.cz-confirm-dialog__body { padding: 1.5rem; }
.cz-confirm-dialog__icon {
    align-items: center; background: var(--color-danger-bg); border-radius: .75rem; color: var(--color-danger);
    display: inline-flex; font-weight: 900; height: 2.75rem; justify-content: center; width: 2.75rem;
}
.cz-confirm-dialog__actions { border-top: 1px solid var(--color-border); display: flex; gap: .75rem; justify-content: flex-end; padding: 1rem 1.5rem; }
[data-cz-reveal] {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity var(--transition-major), transform var(--transition-major);
}
[data-cz-reveal].is-visible { opacity: 1; transform: none; }
.cz-loading-overlay {
    align-items: center; background: rgb(7 20 38 / 72%); color: #fff; display: flex; inset: 0;
    justify-content: center; position: fixed; z-index: var(--layer-overlay);
}
.cz-loading-orbit { animation: cz-spin .8s linear infinite; border: 3px solid rgb(255 255 255 / 22%); border-radius: 50%; border-top-color: #fff; height: 2.5rem; width: 2.5rem; }
@keyframes cz-spin { to { transform: rotate(360deg); } }
@keyframes cz-toast-out { to { opacity: 0; transform: translateY(.5rem) scale(.98); } }
@media (max-width: 767.98px) {
    .cz-toast-region { bottom: .75rem; left: .75rem; max-width: none; right: .75rem; }
    .nav-pills { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; }
    .table-responsive .table { min-width: 680px; }
}
@media (prefers-reduced-motion: reduce) {
    [data-cz-reveal] { opacity: 1; transform: none; }
    .btn::after { display: none; }
}

/* Navegación y superficies públicas */
.cz-header {
    background: rgb(255 255 255 / 76%);
    border-bottom: 1px solid transparent;
    backdrop-filter: blur(18px) saturate(145%);
    transition: background var(--transition-panel), border-color var(--transition-panel), box-shadow var(--transition-panel);
    z-index: var(--layer-header);
}
.cz-header.is-scrolled {
    background: rgb(255 255 255 / 92%);
    border-bottom-color: rgb(132 151 184 / 22%);
    box-shadow: 0 10px 35px rgb(7 20 38 / 8%);
}
.cz-header .nav-link { border-radius: .55rem; font-weight: 680; padding: .55rem .75rem !important; }
.cz-header .nav-link:hover, .cz-header .nav-link[aria-current="page"] { background: rgb(57 114 255 / 8%); color: var(--color-electric); }
.cz-logo { transition: transform var(--transition-panel); }
.navbar-brand:hover .cz-logo { transform: scale(1.025); }
.navbar-toggler { border: 1px solid var(--color-border); border-radius: .65rem; min-height: 44px; }
.cz-home-hero {
    background: var(--gradient-dark) !important;
    isolation: isolate;
    overflow: hidden;
    position: relative;
}
.cz-home-hero::before {
    background: linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px);
    background-size: 64px 64px;
    content: "";
    inset: 0;
    mask-image: radial-gradient(circle at 65% 35%, #000, transparent 68%);
    position: absolute;
    z-index: -1;
}
.cz-home-hero h1 { font-size: var(--text-display); letter-spacing: -.055em; }
.cz-home-hero h1 span {
    background: linear-gradient(100deg, #79a8ff, #a68eff 72%);
    background-clip: text;
    color: transparent;
    -webkit-background-clip: text;
}
.cz-resource-stage { filter: drop-shadow(0 40px 60px rgb(0 0 0 / 28%)); }
.cz-guide-cover { backdrop-filter: blur(18px); transition: transform var(--transition-major), box-shadow var(--transition-major); }
.cz-resource-stage:hover .cz-guide-cover--main { transform: translateY(-8px) rotate(-1deg); }
.cz-needs__rail, .cz-confidence .cz-container { scrollbar-color: var(--color-electric) transparent; scrollbar-width: thin; }
.cz-need-link, .cz-category-tile, .cz-product-card {
    transition: border-color var(--transition-panel), box-shadow var(--transition-panel), transform var(--transition-panel);
}
.cz-need-link:hover, .cz-category-tile:hover, .cz-product-card:hover {
    box-shadow: var(--shadow-glow);
    transform: translateY(-5px);
}
.cz-product-card__visual, .cz-product-cover, .cz-order-summary__media { background: linear-gradient(145deg, #e7eeff, #f5f2ff); overflow: hidden; }
.cz-product-card__visual img, .cz-product-cover img, .cz-order-summary__media img {
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform var(--transition-major);
    width: 100%;
}
.cz-product-card:hover .cz-product-card__visual img { transform: scale(1.025); }
.cz-transformation, .cz-collection { background: var(--gradient-dark) !important; position: relative; }
.cz-accordion .accordion-item { border-color: rgb(132 151 184 / 25%); }
.cz-accordion .accordion-button:not(.collapsed) { background: rgb(57 114 255 / 7%); color: var(--color-primary); }
.cz-footer { background: var(--gradient-dark) !important; }

/* Biblioteca */
.cz-catalog-hero, .cz-product-hero, .cz-checkout-header {
    background: var(--gradient-dark) !important;
    isolation: isolate;
    overflow: hidden;
    position: relative;
}
.cz-catalog-hero::after, .cz-product-hero::after, .cz-checkout-header::after {
    background: radial-gradient(circle, rgb(117 87 255 / 34%), transparent 64%);
    content: "";
    height: 34rem;
    pointer-events: none;
    position: absolute;
    right: -12rem;
    top: -18rem;
    width: 34rem;
    z-index: -1;
}
.cz-catalog-card {
    background: var(--gradient-surface);
    border-color: rgb(132 151 184 / 22%) !important;
    box-shadow: 0 12px 38px rgb(16 36 62 / 8%);
    transition: transform var(--transition-panel), box-shadow var(--transition-panel), border-color var(--transition-panel);
}
.cz-catalog-card:hover { border-color: rgb(57 114 255 / 34%) !important; box-shadow: var(--shadow-glow); transform: translateY(-5px); }
.cz-catalog-card img { aspect-ratio: 4 / 5; object-fit: cover; }
.cz-product-buy { position: sticky; top: calc(var(--header-height) + 1.5rem); }
.cz-product-buy .cz-card { border-top: 3px solid transparent; border-image: var(--gradient-brand) 1; box-shadow: var(--shadow-lg); }
.cz-product-price strong {
    background: var(--gradient-brand);
    background-clip: text;
    color: transparent;
    -webkit-background-clip: text;
}
.cz-related-card { transition: transform var(--transition-panel), box-shadow var(--transition-panel); }
.cz-related-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }

/* Checkout y estados */
.cz-checkout-grid { align-items: start; }
.cz-checkout-progress {
    display: flex; gap: 0; list-style: none; margin: 2rem 0 0; max-width: 620px; padding: 0;
}
.cz-checkout-progress li { align-items: center; color: #9fb0c8; display: flex; flex: 1; font-size: var(--text-sm); gap: .55rem; position: relative; }
.cz-checkout-progress li:not(:last-child)::after { background: rgb(255 255 255 / 18%); content: ""; height: 1px; margin-inline: .75rem; flex: 1; }
.cz-checkout-progress span { align-items: center; border: 1px solid currentColor; border-radius: 50%; display: inline-flex; height: 1.8rem; justify-content: center; width: 1.8rem; }
.cz-checkout-progress .is-current, .cz-checkout-progress .is-complete { color: #fff; }
.cz-checkout-progress .is-current span { background: var(--color-electric); border-color: var(--color-electric); box-shadow: 0 0 0 5px rgb(57 114 255 / 20%); }
.cz-checkout-progress .is-complete span { background: var(--color-success); border-color: var(--color-success); }
.cz-checkout-progress--light { margin: 0 auto 2rem; }
.cz-checkout-progress--light li { color: var(--color-text-subtle); }
.cz-checkout-progress--light .is-current, .cz-checkout-progress--light .is-complete { color: var(--color-primary); }
.cz-offer-panel {
    backdrop-filter: blur(18px);
    background: rgb(255 255 255 / 88%);
    border: 1px solid rgb(132 151 184 / 22%);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}
.cz-offer-option { transition: border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast); }
.cz-offer-option:hover { background: #fff; border-color: rgb(57 114 255 / 34%); transform: translateY(-2px); }
.cz-secure-note { background: linear-gradient(135deg, rgb(49 112 90 / 9%), rgb(57 114 255 / 8%)); }
[aria-busy="true"] { cursor: wait !important; }
.btn.is-loading { color: transparent !important; pointer-events: none; }
.btn.is-loading::before {
    animation: cz-spin .7s linear infinite;
    border: 2px solid rgb(255 255 255 / 38%);
    border-radius: 50%;
    border-top-color: #fff;
    content: "";
    height: 1.1rem;
    left: calc(50% - .55rem);
    position: absolute;
    top: calc(50% - .55rem);
    width: 1.1rem;
}
.cz-confirmation-card { box-shadow: var(--shadow-lg); }
.cz-confirmation-icon { animation: cz-success-pop 520ms var(--ease-spring) both; }
@keyframes cz-success-pop { from { opacity: 0; transform: scale(.55) rotate(-12deg); } }

/* Administrador SaaS */
.cz-admin-body { background: #f3f6fb !important; }
.cz-admin-shell { grid-template-columns: 284px minmax(0, 1fr) !important; }
.cz-sidebar, .cz-sidebar.offcanvas, .cz-sidebar.offcanvas-lg {
    background: var(--gradient-dark) !important;
    border-right-color: rgb(110 160 255 / 16%) !important;
    box-shadow: 18px 0 60px rgb(7 20 38 / 12%);
}
.cz-sidebar-logo { box-shadow: 0 10px 28px rgb(0 0 0 / 18%); }
.cz-sidebar-mark { background: #fff; border-radius: .6rem; display: none; height: 2.7rem; object-fit: contain; padding: .35rem; width: 2.7rem; }
.cz-sidebar-toggle {
    align-items: center; background: rgb(255 255 255 / 8%); border: 1px solid rgb(255 255 255 / 13%);
    border-radius: .55rem; color: #fff; height: 2rem; justify-content: center; width: 2rem;
}
.cz-sidebar nav a {
    border: 1px solid transparent;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
.cz-sidebar nav a:hover { border-color: rgb(255 255 255 / 10%); transform: translateX(3px); }
.cz-sidebar nav a.active {
    background: linear-gradient(135deg, rgb(57 114 255 / 92%), rgb(117 87 255 / 88%)) !important;
    border-color: rgb(255 255 255 / 18%);
    box-shadow: 0 12px 28px rgb(0 0 0 / 24%);
}
.cz-admin-topbar {
    backdrop-filter: blur(18px);
    background: rgb(255 255 255 / 82%) !important;
    transition: box-shadow var(--transition-panel), background var(--transition-panel);
}
.cz-admin-topbar.is-scrolled { background: rgb(255 255 255 / 94%) !important; box-shadow: 0 12px 34px rgb(16 36 62 / 8%); }
.cz-admin-content { max-width: 1580px !important; }
.cz-admin-content h1 { font-size: clamp(2rem, 3vw, 3rem) !important; }
.cz-stat {
    background: var(--gradient-surface) !important;
    border-top: 0 !important;
    overflow: hidden;
    position: relative;
}
.cz-stat::before { background: var(--gradient-brand); content: ""; height: 3px; inset: 0 0 auto; position: absolute; }
.cz-stat:hover { box-shadow: var(--shadow-glow) !important; }
.cz-admin-content > .cz-card, .cz-admin-content > form.cz-card { border-radius: 1.1rem; box-shadow: 0 16px 45px rgb(16 36 62 / 7%); }
.cz-dashboard-shortcut {
    background: #f6f8fd; border: 1px solid var(--color-border); border-radius: .8rem; color: var(--color-text);
    display: grid; grid-template-columns: 1fr auto; min-height: 112px; padding: 1rem; text-decoration: none;
    transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}
.cz-dashboard-shortcut strong { color: var(--color-primary); }
.cz-dashboard-shortcut span { color: var(--color-text-muted); font-size: var(--text-sm); grid-column: 1 / -1; }
.cz-dashboard-shortcut b { color: var(--color-electric); }
.cz-dashboard-shortcut:hover { background: #fff; border-color: rgb(57 114 255 / 35%); box-shadow: var(--shadow-glow); color: inherit; transform: translateY(-3px); }
.cz-admin-content fieldset { background: rgb(248 250 255 / 72%); }
.cz-auth-brand { background: var(--gradient-dark) !important; }
.cz-auth-brand::after {
    background-image: radial-gradient(circle at 1px 1px, rgb(255 255 255 / 12%) 1px, transparent 0);
    background-size: 28px 28px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(135deg, #000, transparent 72%);
    position: absolute;
}
.cz-auth-brand > * { position: relative; z-index: 1; }
.cz-auth-form { background: radial-gradient(circle at 90% 10%, rgb(117 87 255 / 10%), transparent 32%), #f7f9fd; }
@media (min-width: 992px) {
    .cz-admin-shell { transition: grid-template-columns var(--transition-panel); }
    .is-sidebar-collapsed .cz-admin-shell { grid-template-columns: 86px minmax(0, 1fr) !important; }
    .is-sidebar-collapsed .cz-sidebar { padding-inline: .75rem; }
    .is-sidebar-collapsed .cz-sidebar-logo, .is-sidebar-collapsed .cz-nav-label, .is-sidebar-collapsed .cz-sidebar nav a:not(.active)::after,
    .is-sidebar-collapsed .cz-sidebar nav a { font-size: 0; }
    .is-sidebar-collapsed .cz-sidebar-mark { display: block; }
    .is-sidebar-collapsed .cz-sidebar__head { align-items: center; flex-direction: column; gap: .75rem; }
    .is-sidebar-collapsed .cz-sidebar nav a { justify-content: center; padding-inline: .5rem; }
    .is-sidebar-collapsed .cz-sidebar nav a > span { height: .85rem; width: .85rem; }
    .is-sidebar-collapsed .cz-sidebar__user span, .is-sidebar-collapsed .cz-sidebar__user small { display: none; }
}
@media (max-width: 991.98px) {
    .cz-admin-shell { display: block !important; }
    .cz-header .navbar-collapse { background: rgb(255 255 255 / 98%); border: 1px solid var(--color-border); border-radius: .9rem; box-shadow: var(--shadow-lg); margin-top: .75rem; padding: .75rem; }
    .cz-product-buy { position: static; }
}
@media (max-width: 575.98px) {
    .cz-home-hero h1 { font-size: clamp(2.55rem, 13vw, 4.2rem); }
    .cz-home-actions .btn { width: 100%; }
    .cz-product-page { padding-bottom: 4.5rem; }
}
/* Server-backed shopping cart */
.cz-cart-backdrop{position:fixed;inset:0;background:rgba(10,22,48,.55);z-index:1090}.cz-cart-drawer{position:fixed;z-index:1100;inset:0 0 0 auto;width:min(440px,100%);background:#fff;box-shadow:-24px 0 64px rgba(20,33,61,.22);transform:translateX(105%);transition:transform .24s ease;display:grid;grid-template-rows:auto 1fr auto;overflow:auto}.cz-cart-drawer.is-open{transform:none}.cz-cart-drawer>header,.cz-cart-drawer>footer{padding:1.25rem;border-bottom:1px solid #e5eaf3}.cz-cart-drawer>header{display:flex;justify-content:space-between}.cz-cart-drawer>footer{border:0;border-top:1px solid #e5eaf3}.cz-cart-items,.cz-cart-recommendations{padding:1.25rem}.cz-cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:.8rem;align-items:center;padding:.8rem 0;border-bottom:1px solid #e5eaf3}.cz-cart-item img{width:64px;height:64px;object-fit:cover;border-radius:.6rem}.cz-cart-item strong,.cz-cart-item a{display:block}.cz-cart-item button{border:0;background:none;font-size:1.5rem}.cz-cart-total,.cz-cart-rec{display:flex;justify-content:space-between;gap:1rem;align-items:center}.cz-cart-total{font-size:1.2rem;margin-bottom:1rem}.cz-cart-rec{padding:.65rem 0;border-bottom:1px solid #e5eaf3}.cz-cart-rec small{display:block}.cz-cart-open{overflow:hidden}@media(prefers-reduced-motion:reduce){.cz-cart-drawer{transition:none}}
/* --------------------------------------------------------------------------
   Cierzia 2026 — premium commerce presentation
   Hero and footer are intentionally locked to the official dark navy.
   -------------------------------------------------------------------------- */
html{scroll-behavior:smooth;background:#071426}
body{background:#f6f8fc;color:#172033;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.cz-scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:1200;pointer-events:none}.cz-scroll-progress span{display:block;height:100%;background:linear-gradient(90deg,#3972ff,#6ea0ff,#38c6e9);transform:scaleX(0);transform-origin:left;will-change:transform}
.cz-container{width:min(calc(100% - 2.5rem),1240px)!important}
.cz-header{background:rgba(255,255,255,.86)!important;border-bottom:1px solid rgba(20,33,61,.08)!important;backdrop-filter:blur(20px) saturate(150%);transition:box-shadow .25s ease,background .25s ease}
.cz-header.is-scrolled{background:rgba(255,255,255,.96)!important;box-shadow:0 12px 38px rgba(7,20,38,.09)}
.cz-header .navbar{min-height:78px}.cz-header .nav-link{position:relative;font-weight:650;color:#33415c!important;padding:.65rem .85rem!important}.cz-header .nav-link:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:2px;background:#3972ff;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.cz-header .nav-link:hover:after,.cz-header .nav-link[aria-current=page]:after{transform:scaleX(1)}
.cz-logo{height:31px!important;width:auto}.cz-cart-button{border-color:#d7dfec!important;background:#f7f9fd!important;color:#14213d!important;box-shadow:0 4px 14px rgba(20,33,61,.08)}

/* Dark hero rule: home, catalog, product, checkout and legal page introductions. */
.cz-home-hero,.cz-catalog-hero,.cz-product-hero,.cz-checkout-header{position:relative;isolation:isolate;overflow:hidden;background:#14213d!important;background-image:radial-gradient(circle at 78% 18%,rgba(57,114,255,.28),transparent 30%),radial-gradient(circle at 18% 82%,rgba(56,198,233,.10),transparent 25%),linear-gradient(135deg,#071426 0%,#14213d 52%,#172d55 100%)!important;color:#fff!important}
.cz-home-hero:before,.cz-catalog-hero:before,.cz-product-hero:before,.cz-checkout-header:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.cz-home-hero{min-height:min(810px,calc(100vh - 78px));display:grid;align-items:center;padding:clamp(5rem,9vw,8.5rem) 0!important}
.cz-home-hero__grid{grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr)!important;gap:clamp(3rem,7vw,7rem)!important;align-items:center}
.cz-home-hero h1{max-width:800px;font-size:clamp(3.2rem,6.4vw,6.5rem)!important;line-height:.94!important;letter-spacing:-.065em!important;text-wrap:balance}.cz-home-hero h1 span{display:block;background:linear-gradient(105deg,#6ea0ff 5%,#38c6e9 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cz-home-hero__lead{max-width:690px!important;font-size:clamp(1.05rem,1.5vw,1.28rem)!important;line-height:1.75!important;color:#c9d5e8!important}.cz-home-actions{margin-top:2rem!important}.cz-trust-line{margin-top:2rem!important;color:#aebdd3!important}.cz-trust-line span:before{content:"✓";color:#69dbba;margin-right:.45rem;font-weight:800}
.cz-hero-proof{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.15rem}.cz-hero-proof span{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .7rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.055);color:#b9c8dd;font-size:.78rem}.cz-hero-proof b{color:#fff;font-weight:800}
.cz-home-hero .btn{min-height:54px;padding-inline:1.5rem;border-radius:.8rem;font-weight:750}.cz-home-hero .btn-cz-primary{box-shadow:0 18px 45px rgba(57,114,255,.32)}
.cz-resource-stage{min-height:510px!important;perspective:1200px;filter:drop-shadow(0 35px 60px rgba(0,0,0,.3))}.cz-guide-cover{border:1px solid rgba(255,255,255,.17)!important;box-shadow:0 30px 80px rgba(0,0,0,.35)!important;backdrop-filter:blur(12px)}.cz-guide-cover--main{transform:rotateY(-8deg) rotateX(2deg)!important}.cz-stage-note{background:rgba(255,255,255,.92)!important;box-shadow:0 18px 40px rgba(0,0,0,.22)!important;border:1px solid rgba(255,255,255,.45)!important}

.cz-section{padding-block:clamp(5rem,8vw,8rem)!important}.cz-section-intro{margin-bottom:clamp(2.5rem,5vw,4.5rem)!important}.cz-section-intro h2,.cz-needs h2,.cz-real-work h2,.cz-faq h2{font-size:clamp(2.25rem,4.5vw,4.3rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance}.cz-eyebrow{font-size:.78rem!important;letter-spacing:.14em!important;font-weight:800!important}
.cz-needs{padding:2rem 0!important;background:#fff;border-bottom:1px solid #e7ebf2}.cz-needs__rail{gap:.65rem!important}.cz-need-link{background:#f7f9fd!important;border:1px solid #e2e8f2!important;border-radius:1rem!important;min-height:88px;padding:1rem 1.1rem!important;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.cz-need-link:hover{transform:translateY(-4px);border-color:#96b4ff!important;box-shadow:0 16px 34px rgba(20,33,61,.09)}

.cz-product-card,.cz-category-tile,.cz-catalog-card{position:relative;overflow:hidden;border:1px solid #e1e7f0!important;border-radius:1.35rem!important;background:#fff!important;box-shadow:0 12px 36px rgba(20,33,61,.07)!important;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease!important}
.cz-product-card:before,.cz-category-tile:before,.cz-catalog-card:before{content:"";position:absolute;z-index:0;width:260px;height:260px;left:calc(var(--pointer-x,50%) - 130px);top:calc(var(--pointer-y,50%) - 130px);background:radial-gradient(circle,rgba(57,114,255,.12),transparent 67%);opacity:0;pointer-events:none;transition:opacity .2s}.cz-product-card:hover:before,.cz-category-tile:hover:before,.cz-catalog-card:hover:before{opacity:1}.cz-product-card:hover,.cz-category-tile:hover,.cz-catalog-card:hover{transform:translateY(-8px)!important;border-color:#b8caff!important;box-shadow:0 28px 70px rgba(20,33,61,.14)!important}.cz-product-card>* ,.cz-category-tile>* ,.cz-catalog-card>*{position:relative;z-index:1}
.cz-product-card__content{padding:1.7rem!important}.cz-product-card h3,.cz-catalog-card h2{font-size:1.35rem!important;letter-spacing:-.025em}.cz-category-tile{min-height:230px!important;padding:1.6rem!important}.cz-category-tile h3{font-size:1.35rem!important}.cz-category-tile--lead{background:linear-gradient(145deg,#0d1d35,#172d55)!important;color:#fff!important;border-color:#2f4e78!important}

.cz-transformation,.cz-collection{background:#3972ff!important;background-image:radial-gradient(circle at 82% 20%,rgba(255,255,255,.17),transparent 28%),linear-gradient(125deg,#2454bd,#3972ff 58%,#526ff0)!important}.cz-transformation h2,.cz-collection h2{font-size:clamp(2.5rem,5.4vw,5rem)!important;line-height:1!important;letter-spacing:-.055em!important}.cz-process-line>div{border-top-color:rgba(255,255,255,.3)!important;padding-top:1.3rem!important}
.cz-how-line li{border-radius:1.2rem;padding:1.45rem!important;background:#fff;border:1px solid #e2e8f2;box-shadow:0 12px 30px rgba(20,33,61,.06)}.cz-how-line li>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eaf0ff;color:#2f67df;font-weight:850}
.cz-real-work{background:linear-gradient(180deg,#fff,#f1f5fc)!important}.cz-work-sheet{box-shadow:0 30px 70px rgba(20,33,61,.16)!important;border-radius:1.2rem!important}
.cz-confidence{background:#091a30!important;color:#fff!important;border:0!important}.cz-confidence .cz-container>div{border-color:rgba(255,255,255,.12)!important}.cz-confidence strong{color:#fff}.cz-confidence span{color:#6ea0ff!important}
.cz-faq__shell{border-radius:1.8rem!important;background:#fff!important;box-shadow:0 24px 70px rgba(20,33,61,.11)!important;border:1px solid #e2e8f2;overflow:hidden}.cz-faq aside{background:linear-gradient(145deg,#edf3ff,#f8faff)!important;padding:clamp(2rem,5vw,4rem)!important}.cz-accordion .accordion-item{border-color:#e6ebf3!important}.cz-accordion .accordion-button{font-size:1.02rem!important;padding:1.35rem!important}

.cz-catalog-hero{padding:clamp(4rem,7vw,7rem) 0!important}.cz-catalog-hero h1{color:#fff!important;font-size:clamp(2.7rem,5vw,5rem)!important;letter-spacing:-.05em!important}.cz-catalog-hero p{color:#becbe0!important;font-size:1.1rem}.cz-catalog-tools{background:rgba(255,255,255,.96)!important;border:1px solid #e0e7f1!important;border-radius:1.25rem!important;box-shadow:0 22px 60px rgba(20,33,61,.1)!important;padding:1.25rem!important;margin-top:-3.5rem!important;position:relative;z-index:3}.cz-catalog-grid{gap:1.5rem!important}.cz-catalog-card__media{aspect-ratio:4/3!important;background:#edf2fa}.cz-catalog-card__body{padding:1.35rem!important}

.cz-product-hero{padding:clamp(3rem,6vw,6rem) 0!important}.cz-product-hero h1{font-size:clamp(2.7rem,5.6vw,5.4rem)!important;line-height:.98!important;letter-spacing:-.055em!important;color:#fff!important}.cz-product-promise{font-size:1.16rem!important;color:#c4d1e5!important;line-height:1.7!important}.cz-product-cover{border-radius:1.4rem!important;padding:.65rem!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 35px 80px rgba(0,0,0,.36)!important}.cz-product-cover img{border-radius:1rem!important}.cz-product-price strong{font-size:2rem!important}.cz-product-buy .cz-card{position:sticky;top:110px;border:1px solid #dce4f0!important;border-radius:1.35rem!important;box-shadow:0 24px 65px rgba(20,33,61,.13)!important;padding:1.6rem!important}.cz-purchase-trust{gap:.65rem!important}.cz-purchase-trust li:before{content:"✓";color:#69dbba;font-weight:900;margin-right:.55rem}
.cz-secure-checkout-note{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.2rem;padding:.8rem 1rem;border:1px solid rgba(105,219,186,.25);border-radius:.9rem;background:rgba(105,219,186,.08)}.cz-secure-checkout-note>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#69dbba;color:#071426;font-weight:900}.cz-secure-checkout-note p,.cz-secure-checkout-note strong,.cz-secure-checkout-note small{display:block;margin:0}.cz-secure-checkout-note small{margin-top:.15rem;color:#b9c8dd;line-height:1.45}

.btn{position:relative;overflow:hidden;border-radius:.72rem!important;font-weight:750!important;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.985)}.btn-cz-primary,.btn-cz-accent{box-shadow:0 12px 28px rgba(47,103,223,.22)}.cz-button-ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.42);transform:translate(-50%,-50%) scale(0);animation:cz-ripple .55s ease-out;pointer-events:none}@keyframes cz-ripple{to{transform:translate(-50%,-50%) scale(18);opacity:0}}.btn.is-loading{color:transparent!important;pointer-events:none}.btn.is-loading:after{content:"";position:absolute;inset:50% auto auto 50%;width:18px;height:18px;margin:-9px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;color:#fff;animation:cz-spin .65s linear infinite}@keyframes cz-spin{to{transform:rotate(360deg)}}
.is-navigating body:after{content:"";position:fixed;inset:0;z-index:1190;background:rgba(255,255,255,.34);backdrop-filter:blur(2px);pointer-events:none}

/* Footer is always dark; no inherited light theme can override it. */
.cz-footer{background:#14213d!important;background-image:radial-gradient(circle at 15% 10%,rgba(57,114,255,.18),transparent 25%),linear-gradient(145deg,#071426,#14213d 62%,#172d55)!important;color:#c9d5e5!important;border:0!important;padding-top:clamp(4rem,7vw,6.5rem)!important}.cz-footer:before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(110,160,255,.55),transparent);position:relative;top:calc(clamp(4rem,7vw,6.5rem)*-1)}.cz-footer h2{color:#fff!important;font-size:.8rem!important;text-transform:uppercase;letter-spacing:.14em}.cz-footer a,.cz-footer button{color:#dce6f5!important}.cz-footer a:hover,.cz-footer button:hover{color:#fff!important}.cz-footer-grid{gap:clamp(2rem,6vw,6rem)!important}.cz-footer-brand p{max-width:380px;font-size:1rem!important;line-height:1.75!important}.cz-footer-brand>strong{display:block;margin-top:1.5rem;color:#6ea0ff;font-family:var(--font-display);font-size:1.05rem}.cz-footer-logo{display:inline-flex!important;align-items:center;gap:.8rem;margin-bottom:1.5rem;text-decoration:none}.cz-footer-logo img{width:42px;height:42px;object-fit:contain}.cz-footer-logo span{color:#fff;font:800 1.35rem/1 var(--font-display);letter-spacing:.12em}.cz-footer-bottom{border-color:rgba(255,255,255,.12)!important;color:#98a9c1!important;padding-block:1.4rem!important}

.cz-cart-backdrop{backdrop-filter:blur(5px)}.cz-cart-drawer{background:#f9fbff!important;box-shadow:-30px 0 100px rgba(0,0,0,.3)!important}.cz-cart-drawer>header{background:#14213d;color:#fff;border:0!important;padding:1.45rem!important}.cz-cart-drawer>header .btn-close{filter:invert(1)}.cz-cart-drawer>footer{background:#fff}.cz-cart-item{background:#fff;border:1px solid #e1e7f0!important;border-radius:1rem;padding:.8rem!important;margin-bottom:.7rem;box-shadow:0 8px 24px rgba(20,33,61,.06)}.cz-cart-item img{width:72px!important;height:72px!important}.cz-cart-rec{background:#fff;border:1px solid #e2e8f2!important;border-radius:.8rem;padding:.8rem!important;margin:.55rem 0}.cz-cart-total strong{font-size:1.5rem;color:#14213d}

@media(max-width:991px){.cz-container{width:min(calc(100% - 1.5rem),1240px)!important}.cz-home-hero{min-height:auto;padding:4.5rem 0 3rem!important}.cz-home-hero__grid{grid-template-columns:1fr!important}.cz-resource-stage{min-height:420px!important;transform:scale(.9);transform-origin:center top}.cz-catalog-tools{margin-top:-2rem!important}.cz-product-buy .cz-card{position:static}.cz-header .navbar-collapse{background:#fff;margin:1rem -.75rem -.5rem;padding:1rem;border-radius:1rem;box-shadow:0 18px 50px rgba(20,33,61,.12)}}@media(max-width:575px){.cz-home-hero h1{font-size:clamp(2.8rem,14vw,4rem)!important}.cz-resource-stage{min-height:340px!important;transform:scale(.72);width:138%;margin-left:-19%}.cz-home-actions{display:grid!important}.cz-home-actions .btn{width:100%}.cz-section{padding-block:4.5rem!important}.cz-product-card:hover,.cz-category-tile:hover,.cz-catalog-card:hover{transform:none!important}.cz-cart-drawer{width:100%;inset:0}.cz-footer-grid{grid-template-columns:1fr 1fr!important}.cz-footer-brand{grid-column:1/-1}.cz-footer-bottom{display:grid!important;gap:.6rem}}

/* Escala editorial equilibrada.
   Conserva la presencia visual sin convertir cada título en un bloque dominante. */
.cz-home-hero {
    min-height: min(700px, calc(100vh - 78px));
    padding: clamp(4rem, 7vw, 6.5rem) 0 !important;
}
.cz-home-hero h1 {
    font-size: clamp(2.75rem, 5vw, 4.85rem) !important;
    line-height: .98 !important;
    max-width: 760px;
}
.cz-home-hero__lead {
    font-size: clamp(1rem, 1.2vw, 1.15rem) !important;
    line-height: 1.65 !important;
}
.cz-section {
    padding-block: clamp(4.25rem, 6.5vw, 6.5rem) !important;
}
.cz-section-intro {
    margin-bottom: clamp(2rem, 3.5vw, 3.25rem) !important;
}
.cz-section-intro h2,
.cz-needs h2,
.cz-real-work h2,
.cz-faq h2 {
    font-size: clamp(1.9rem, 3.4vw, 3.25rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -.038em !important;
}
.cz-transformation h2,
.cz-collection h2 {
    font-size: clamp(2.1rem, 4vw, 3.75rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    max-width: 820px;
}
.cz-eyebrow {
    font-size: .72rem !important;
    letter-spacing: .12em !important;
}

/* El contenido nunca debe desaparecer en capturas largas, navegadores con
   observadores limitados o cuando JavaScript tarda en inicializar. */
[data-cz-reveal],
[data-cz-reveal].is-visible {
    opacity: 1 !important;
    transform: none !important;
}

@media (max-width: 991px) {
    .cz-home-hero {
        padding: 3.75rem 0 2.75rem !important;
    }
    .cz-home-hero h1 {
        font-size: clamp(2.5rem, 8vw, 3.75rem) !important;
        max-width: 680px;
    }
}

@media (max-width: 575px) {
    .cz-home-hero {
        padding: 3rem 0 2.25rem !important;
    }
    .cz-home-hero h1 {
        font-size: clamp(2.25rem, 10.5vw, 3.05rem) !important;
        letter-spacing: -.052em !important;
        line-height: 1 !important;
    }
    .cz-home-hero__lead {
        font-size: .97rem !important;
    }
    .cz-section {
        padding-block: 3.75rem !important;
    }
    .cz-section-intro h2,
    .cz-needs h2,
    .cz-real-work h2,
    .cz-faq h2 {
        font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
    }
    .cz-transformation h2,
    .cz-collection h2 {
        font-size: clamp(2rem, 9vw, 2.7rem) !important;
    }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cz-product-card,.cz-category-tile,.cz-catalog-card,.btn{transition:none!important}.cz-button-ripple{display:none}}
