﻿@import url("./premis.tokens.css");

/* Fallbacks criticos cuando Bootstrap tarda o no carga */
.d-none {
    display: none !important;
}

@media (min-width: 992px) {
    .d-lg-flex {
        display: flex !important;
    }
}

.carousel {
    position: relative;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    backface-visibility: hidden;
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    display: block;
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020;
}

.offcanvas {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    visibility: hidden;
    pointer-events: none;
}

.offcanvas.show,
.offcanvas.showing {
    visibility: visible;
    pointer-events: auto;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

html, body {
    font-family: var(--premis-body-font);
    background: var(--premis-bg);
    color: var(--premis-text);
    width: 100%;
    overflow-x: clip; /* mejor que hidden (cuando estÃ¡ disponible) */
}






/* Links */
a {
    color: var(--premis-link);
    text-decoration: none;
}

    a:hover {
        color: var(--premis-link-hover);
    }


    /* Evita que el hover global de <a> vuelva azul las cards de categorÃ­as */
    a.premis-cat,
    a.premis-cat:hover,
    a.premis-cat:focus,
    a.premis-cat:active,
    a.premis-cat:visited {
        color: var(--premis-text) !important;
        text-decoration: none !important;
    }


/* Helpers */
.premis-muted {
    color: var(--premis-muted) !important;
}

/* Focus ring */
:focus-visible {
    outline: none !important;
    box-shadow: var(--premis-focus) !important;
    border-radius: 10px;
}

/* Buttons (Bootstrap friendly) */
.btn-premis {
    --bs-btn-bg: var(--premis-brand);
    --bs-btn-border-color: var(--premis-brand);
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: var(--premis-brand-600);
    --bs-btn-hover-border-color: var(--premis-brand-600);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: var(--premis-brand-700);
    --bs-btn-active-border-color: var(--premis-brand-700);
    --bs-btn-active-color: #fff;
    --bs-btn-focus-shadow-rgb: 245, 139, 9;
    font-weight: 600;
    border-radius: 999px;
    padding: .58rem 1.05rem;
}

.btn-premis-outline {
    --bs-btn-color: rgba(45,34,24,.82);
    --bs-btn-bg: rgba(255,255,255,.96);
    --bs-btn-border-color: var(--premis-border-strong);
    --bs-btn-hover-color: rgba(45,34,24,.86);
    --bs-btn-hover-bg: rgba(255,255,255,.96);
    --bs-btn-hover-border-color: rgba(244,139,15,.42);
    --bs-btn-active-color: rgba(45,34,24,.9);
    --bs-btn-active-bg: rgba(255,255,255,.96);
    --bs-btn-active-border-color: rgba(244,139,15,.56);
    --bs-btn-focus-shadow-rgb: 245, 139, 9;
    border: 1px solid var(--premis-border-strong);
    background: rgba(255,255,255,.96);
    color: rgba(45,34,24,.82);
    border-radius: 999px;
    padding: .58rem 1.05rem;
    font-weight: 600;
    box-shadow: 0 10px 24px rgba(16,24,40,.06);
}

.btn-premis-outline:hover {
        color: rgba(45,34,24,.86);
        background: rgba(255,255,255,.96);
        border-color: rgba(244,139,15,.42);
        box-shadow: 0 14px 30px rgba(16,24,40,.10);
    }

    .btn-premis-outline:active,
    .btn-premis-outline:focus,
    .btn-premis-outline:focus-visible,
    .btn-premis-outline.show {
        color: rgba(45,34,24,.9);
        background: rgba(255,255,255,.96);
        border-color: rgba(244,139,15,.56);
    }

.btn-premis-sm {
    padding: .44rem .88rem;
    min-height: 40px;
    font-size: .92rem;
}

/* Forms */
.form-label {
    color: #402a1b;
    font-weight: 600;
    margin-bottom: 8px;
}

.form-control,
.form-select {
    border-radius: 16px;
    border-color: rgba(39, 25, 16, .12);
    min-height: 52px;
    padding-inline: 14px;
    background: rgba(255,255,255,.96);
    color: var(--premis-text);
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

    .form-control::placeholder {
        color: rgba(29, 23, 18, .42);
    }

textarea.form-control {
    min-height: 124px;
    padding-top: 14px;
    resize: vertical;
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(244,139,15,.5);
    background: #fff;
    box-shadow: 0 0 0 .22rem rgba(244,139,15,.12);
}

/* Cards */
.premis-card {
    background: var(--premis-surface);
    border: 1px solid var(--premis-border);
    border-radius: var(--premis-radius-lg);
    /*box-shadow: var(--premis-shadow-sm);*/
}

    .premis-card:hover {
        /*box-shadow: var(--premis-shadow);*/
        transform: translateY(-2px);
        transition: .25s ease;
    }

/* Topbar */
.premis-topbar {
    height: var(--premis-topbar-h);
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--premis-border);
    background: rgba(247, 243, 238, .88);
    backdrop-filter: blur(10px);
}

    .premis-topbar a {
        color: var(--premis-muted);
        font-size: .8rem;
    }

        .premis-topbar a:hover {
            color: var(--premis-text);
        }

    .premis-topbar .premis-ico {
        color: var(--premis-brand);
    }

/* Navbar */
.premis-navbar {
    height: var(--premis-nav-h);
    background: rgba(255,255,255,.90);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--premis-border);
}

.premis-brand {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-weight: 900;
    letter-spacing: .2px;
    color: var(--premis-text);
}

    .premis-brand .premis-brand-logo {
        height: 45px;
        width: auto;
    }

.premis-mobile-inline-photo {
    display: none;
}

@media (max-width: 991.98px) {
    .premis-brand .premis-brand-logo {
        height: 32px;
    }
}

.premis-navlink {
    position: relative;
    font-size: .95rem;
    font-weight: 500;
    color: var(--premis-text);
    opacity: .86;
    letter-spacing: -0.035em !important;
}

    .premis-navlink::before {
        content: "";
        position: absolute;
        left: 50%;
        bottom: .22rem;
        width: calc(100% - 1rem);
        max-width: 30px;
        height: 4px;
        border-radius: 999px;
        background: var(--premis-brand);
        transform: translateX(-50%) scaleX(0);
        transform-origin: center;
        transition: transform .35s ease;
        pointer-events: none;
    }

    .premis-navlink:hover,
    .premis-navlink.is-current {
        opacity: 1;
        color: var(--premis-text);
    }

        .premis-navlink:hover::before,
        .premis-navlink.is-current::before,
        .premis-navlink:focus-visible::before,
        .premis-navlink[aria-expanded="true"]::before {
            transform: translateX(-50%) scaleX(1);
        }

/* Hero */
.premis-hero {
    /*background: radial-gradient(900px 420px at 10% 10%, rgba(245,139,9,.18), transparent 60%), radial-gradient(700px 380px at 90% 10%, rgba(255,177,74,.18), transparent 60%), linear-gradient(#fff, #fff);*/
    background: linear-gradient(135deg, rgba(245,139,9,.20), rgba(255,255,255,0) 55%), url("https://source.unsplash.com/1600x900/?food,packaging,factory") center/cover no-repeat;
    padding: clamp(3.2rem, 6vw, 5.6rem) 0;
    overflow-x: clip;
}

.premis-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: var(--premis-brand-50);
    border: 1px solid rgba(245,139,9,.22);
    color: var(--premis-text);
    padding: .4rem .75rem;
    border-radius: 999px;
    /*font-weight: 600;*/
    font-size: .95rem;
}

    .premis-kicker i {
        color: var(--premis-brand);
    }

.premis-h1 {
    font-weight: lighter;
    letter-spacing: -0.8px;
    line-height: 1.02;
}

.premis-lead {
    color: var(--premis-muted);
    font-size: 1.08rem;
}

/* Hero visual placeholder */
.premis-hero-visual {
    border-radius: 26px;
    border: 1px solid var(--premis-border);
    background: linear-gradient(180deg, rgba(245,139,9,.08), rgba(245,139,9,0)), radial-gradient(700px 280px at 60% 30%, rgba(17,17,17,.06), transparent 60%), #fff;
    box-shadow: var(--premis-shadow);
    min-height: 360px;
    position: relative;
    overflow: hidden;
}

    .premis-hero-visual .chip {
        position: absolute;
        inset: auto auto 18px 18px;
        background: rgba(255,255,255,.86);
        border: 1px solid var(--premis-border);
        border-radius: 999px;
        padding: .55rem .8rem;
        font-weight: 800;
        color: var(--premis-text);
        box-shadow: var(--premis-shadow-sm);
    }

        .premis-hero-visual .chip i {
            color: var(--premis-brand);
        }

/* Section spacing */
.premis-section {
    padding: clamp(2.6rem, 4.5vw, 4rem) 0;
}

.premis-section-title {
    font-weight: 650;
    letter-spacing: -0.4px;
}


/* Evita que los botones del navbar se partan o bajen de lÃ­nea */
.premis-nav-nowrap {
    flex-wrap: nowrap;
}

.premis-btn-nowrap {
    white-space: nowrap;
}

/* Offcanvas siempre full height */
.premis-offcanvas {
    height: 100vh !important;
}










/* ============================
   OFFCANVAS PREMIUM (PREMIS)
   ============================ */

/* Panel: borde + blur sutil + sombra pro */
.premis-offcanvas {
    height: 100vh !important;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(12px);
    border-left: 1px solid var(--premis-border);
    box-shadow: -24px 0 70px rgba(16,24,40,.18);
}

    /* Header: lÃ­nea naranja + mejor spacing */
    .premis-offcanvas .offcanvas-header {
        position: sticky;
        top: 0;
        z-index: 2;
        background: rgba(255,255,255,.88);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid var(--premis-border);
        padding: 1rem 1rem;
    }

        /* LÃ­nea superior tipo â€œmarcaâ€ */
        .premis-offcanvas .offcanvas-header::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            height: 4px;
            width: 100%;
            background: var(--premis-gradient);
        }

    /* TÃ­tulo/brand */
    .premis-offcanvas strong {
        letter-spacing: .3px;
    }

    /* Cuerpo con padding consistente */
    .premis-offcanvas .offcanvas-body {
        padding: 1rem;
    }

    /* Items: botÃ³n light mejorado */
    .premis-offcanvas .btn.btn-light {
        border: 1px solid var(--premis-border);
        background: #fff;
        border-radius: 14px;
        padding: .85rem .95rem;
        font-weight: 600;
        color: var(--premis-text);
        box-shadow: 0 2px 5px rgba(16,24,40,.06);
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }

        /* Hover: borde naranja + lift */
        .premis-offcanvas .btn.btn-light:hover {
            transform: translateY(-1px);
            border-color: rgba(245,139,9,.45);
            box-shadow: 0 14px 36px rgba(16,24,40,.10);
        }

        /* Iconos del menÃº: circulito sutil */
    .premis-offcanvas .btn.btn-light i {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: var(--premis-brand-50);
            border: 1px solid rgba(245,139,9,.22);
        }

    .premis-offcanvas .premis-offcanvas-accordion {
        display: block;
    }

        .premis-offcanvas .premis-offcanvas-accordion .accordion-item {
            border: 1px solid var(--premis-border);
            border-radius: 14px;
            overflow: hidden;
            background: #fff;
            box-shadow: 0 2px 5px rgba(16,24,40,.06);
        }

    .premis-offcanvas .premis-offcanvas-accordion-toggle {
        gap: .7rem;
        padding: .85rem .95rem;
        font-weight: 600;
        color: var(--premis-text);
        background: #fff;
        box-shadow: none;
        border: 0;
    }

        .premis-offcanvas .premis-offcanvas-accordion-toggle:not(.collapsed) {
            color: var(--premis-text);
            background: #fff;
            box-shadow: none;
        }

        .premis-offcanvas .premis-offcanvas-accordion-toggle:focus {
            box-shadow: none;
        }

        .premis-offcanvas .premis-offcanvas-accordion-toggle::after {
            margin-left: auto;
        }

    .premis-offcanvas .premis-offcanvas-accordion-icon {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: var(--premis-brand-50);
        border: 1px solid rgba(245,139,9,.22);
        color: var(--premis-brand);
        flex: 0 0 auto;
    }

    .premis-offcanvas .premis-offcanvas-accordion .accordion-body {
        padding: .6rem;
        background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,250,244,1) 100%);
        border-top: 1px solid var(--premis-border);
    }

    .premis-offcanvas .premis-offcanvas-subitem {
        padding-left: 1rem;
    }

    /* Separador */
    .premis-offcanvas hr {
        border-color: var(--premis-border);
        opacity: 1;
    }

    /* CTA: Acceso + Cotizar apilados con look â€œpillâ€ */
    .premis-offcanvas .btn.btn-premis-outline,
    .premis-offcanvas .btn.btn-premis {
        border-radius: 16px;
        padding: .9rem 1rem;
    }

    /* BotÃ³n cerrar: mÃ¡s â€œpremiumâ€ */
    .premis-offcanvas .btn-close {
        border-radius: 12px;
        padding: .75rem;
        opacity: .9;
    }

        .premis-offcanvas .btn-close:hover {
            opacity: 1;
            box-shadow: 0 10px 30px rgba(16,24,40,.10);
        }

    /* Footer info (tel/correo) con cajita */
    .premis-offcanvas .premis-muted.small {
        margin-top: 1rem;
        padding: .9rem 1rem;
        border-radius: 16px;
        background: var(--premis-bg-soft);
        border: 1px solid var(--premis-border);
    }

    /* ============================
   MICRO-ANIMACIÃ“N opcional:
   animar entrada de botones
   ============================ */
    .premis-offcanvas .offcanvas-body .btn {
        transform: translateY(6px);
        opacity: 0;
        animation: premisItemIn .32s ease forwards;
    }

        .premis-offcanvas .offcanvas-body .btn:nth-child(1) {
            animation-delay: .02s;
        }

        .premis-offcanvas .offcanvas-body .btn:nth-child(2) {
            animation-delay: .05s;
        }

        .premis-offcanvas .offcanvas-body .btn:nth-child(3) {
            animation-delay: .08s;
        }

        .premis-offcanvas .offcanvas-body .btn:nth-child(4) {
            animation-delay: .11s;
        }

        .premis-offcanvas .offcanvas-body .btn:nth-child(5) {
            animation-delay: .14s;
        }

@keyframes premisItemIn {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Si el usuario prefiere menos animaciÃ³n */
@media (prefers-reduced-motion: reduce) {
    .premis-offcanvas .offcanvas-body .btn {
        animation: none;
        transform: none;
        opacity: 1;
    }
}


.premis-oc-cta {
    display: flex;
    flex-wrap: wrap;
    position: sticky;
    bottom: 0;
    margin-top: 1rem;
    padding-top: .8rem;
    background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.92) 30%, rgba(255,255,255,.98));
    gap: 10px;
}

    .premis-oc-cta .btn {
        width: 100%;
    }



@supports not (overflow-x: clip) {
    html, body {
        overflow-x: hidden;
    }

    .premis-hero {
        overflow-x: hidden;
    }
}





/* ===== HERO PHOTO (industria alimentaria) ===== */
.premis-hero-photo {
    position: relative;
    overflow: hidden;
    min-height: 380px;
    border-radius: 26px;
    border: 1px solid var(--premis-border);
    box-shadow: var(--premis-shadow);
    background: linear-gradient(135deg, rgba(245,139,9,.20), rgba(255,255,255,0) 55%), url("/img/hero/hero-banner-01.jpg") center/cover no-repeat;
}

    .premis-hero-photo::after {
        content: "";
        position: absolute;
        inset: 0;
        background: radial-gradient(800px 320px at 70% 30%, rgba(0,0,0,.18), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.22));
        pointer-events: none;
    }

.premis-hero-badges {
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    z-index: 2;
}

.premis-chip {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem .75rem;
    border-radius: 999px;
    /*font-weight: 600;*/
    font-size: 0.95rem;
    background: rgba(255,255,255,.88);
    border: 1px solid var(--premis-border);
    box-shadow: var(--premis-shadow-sm);
    color: var(--premis-text);
    backdrop-filter: blur(10px);
}

    .premis-chip i {
        color: var(--premis-brand);
    }

.premis-hero-metric {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 2;
    padding: .85rem 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    border: 1px solid var(--premis-border);
    box-shadow: var(--premis-shadow-sm);
    backdrop-filter: blur(10px);
}

.premis-metric-num {
    font-weight: 950;
    font-size: 1.35rem;
    line-height: 1;
}

.premis-metric-txt {
    color: var(--premis-muted);
    font-weight: 600;
    font-size: .85rem;
    margin-top: .25rem;
}

/* Trust bar */
.premis-trust {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem .8rem;
    color: var(--premis-muted);
}

.premis-trust-item {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem .65rem;
    border-radius: 999px;
    background: var(--premis-brand-50);
    border: 1px solid rgba(245,139,9,.18);
    font-weight: 600;
    font-size: 0.85rem;
}

    .premis-trust-item i {
        color: var(--premis-brand);
    }







/* ===== CategorÃ­as pro ===== */
.premis-cat {
    color: inherit;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

    /*.premis-cat:hover {
        transform: translateY(-3px);
        border-color: rgba(245,139,9,.38);
        box-shadow: var(--premis-shadow);
    }*/

    .premis-cat:hover h5 {
        color: var(--premis-text);
    }

    .premis-cat:hover .premis-cat-more {
        color: var(--premis-text);
    }

/* ===== TÃ­tulo CategorÃ­as ===== */
.premis-cat-title {
    font-weight: 600;
    font-size: 1.05rem;
    letter-spacing: -0.2px;
    line-height: 1.2;
    color: var(--premis-text);
    margin-bottom: .35rem;
    transition: color .2s ease;
}

/* Hover sutil */
.premis-cat:hover .premis-cat-title {
    color: var(--premis-text); /* puedes cambiar a brand si quieres */
}

.premis-cat-ico {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: .85rem;
    background: var(--premis-brand-50);
    border: 1px solid rgba(245,139,9,.22);
}

    .premis-cat-ico i {
        color: var(--premis-brand);
        font-size: 1.15rem;
    }

.premis-cat-more {
    font-weight: 600;
    color: var(--premis-text);
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

    .premis-cat-more i {
        color: var(--premis-brand);
        transition: transform .2s ease;
    }

.premis-cat:hover .premis-cat-more i {
    transform: translateX(4px);
}








/* ===== Mega menu ===== */
/* ===== Evitar azul en mega menÃº ===== */
.premis-mega-menu a,
.premis-mega-menu a:hover,
.premis-mega-menu a:focus,
.premis-mega-menu a:active,
.premis-mega-menu a:visited {
    color: var(--premis-text) !important;
    text-decoration: none !important;
}

.premis-mega .dropdown-toggle::after {
    margin-left: .45rem;
    vertical-align: .12rem;
}

.premis-mega-menu {
    width: min(980px, calc(100vw - 2rem));
    border: 1px solid var(--premis-border);
    border-radius: 22px;
    box-shadow: var(--premis-shadow-lg);
    overflow: hidden;
}

.premis-mega-inner {
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}

.premis-mega-head {
    padding: 1rem 1rem .75rem 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--premis-border);
    background: radial-gradient(900px 220px at 20% 10%, rgba(245,139,9,.14), transparent 60%), linear-gradient(#fff, #fff);
}

.premis-mega-title {
    font-weight: 950;
    letter-spacing: -0.2px;
    font-size: 1.05rem;
    margin-bottom: .1rem;
}

.premis-mega-item {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .85rem .9rem;
    border-radius: 18px;
    border: 1px solid var(--premis-border);
    background: #fff;
    text-decoration: none;
    color: var(--premis-text);
    box-shadow: 0 10px 26px rgba(16,24,40,.06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

    .premis-mega-item:hover {
        transform: translateY(-2px);
        border-color: rgba(245,139,9,.38);
        box-shadow: 0 16px 40px rgba(16,24,40,.10);
    }

    .premis-mega-item i {
        width: 38px;
        height: 38px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--premis-brand-50);
        border: 1px solid rgba(245,139,9,.22);
        color: var(--premis-brand);
        flex: 0 0 auto;
    }

.premis-mega-item-title {
    font-weight: 950;
    margin-bottom: .1rem;
}

.premis-mega-foot {
    padding: .9rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid var(--premis-border);
    background: var(--premis-bg-soft);
}

/* Desktop placement: centrado bajo navbar */
@media (min-width: 992px) {
    .premis-mega-menu {
        left: 50%;
        transform: translateX(-50%);
        /*margin-top: 10px;*/
        margin-top: 10px; /* antes 10px */
    }
}







/* ===== Slider horizontal (sin librerÃ­as) ===== */
.premis-slider {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(250px, 1fr);
    gap: 14px;
    overflow-x: auto;
    padding: 6px 2px 14px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

    .premis-slider > * {
        scroll-snap-align: start;
    }

    .premis-slider::-webkit-scrollbar {
        height: 10px;
    }

    .premis-slider::-webkit-scrollbar-thumb {
        background: rgba(17,17,17,.18);
        border-radius: 999px;
    }

.premis-pcard {
    overflow: hidden;
}

.premis-pimg {
    height: 170px;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid var(--premis-border);
}





/* ===== Marquee marcas ===== */
.premis-marquee {
    padding: 14px 10px;
    overflow: hidden;
}

.premis-marquee-track {
    display: flex;
    width: max-content;
    animation: premisMarquee 22s linear infinite;
}

.premis-marquee-row {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 4px 14px;
}

.premis-marquee img {
    height: 52px;
    width: auto;
    border-radius: 14px;
    border: 1px solid var(--premis-border);
    background: #fff;
    box-shadow: var(--premis-shadow-sm);
}

@keyframes premisMarquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .premis-marquee-track {
        animation: none;
    }
}






/* ===== WhatsApp floating ===== */
.premis-wa {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1050;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .85rem 1rem;
    border-radius: 999px;
    background: #25D366;
    color: #0b1b10;
    font-weight: 950;
    border: 1px solid rgba(0,0,0,.10);
    box-shadow: var(--premis-shadow-lg);
    text-decoration: none;
}

    .premis-wa i {
        font-size: 1.25rem;
    }

    .premis-wa:hover {
        filter: brightness(.98);
        color: #0b1b10;
    }

:root {
    --wa: #25D366; /* color principal */
    --pulse-duration: 3.0s; /* velocidad de cada pulso */
    --delay-step: 1s; /* separaciÃ³n entre pulsos */
    --max-scale: 2.5; /* alcance mÃ¡ximo del pulso */
    --base-opacity: .25; /* opacidad inicial del pulso */
}

/* --------- Layout demo --------- */
/*body {
    min-height: 100vh;
    background: #0f0f12;
    color: #e6e6e6;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px 120px;
    font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;
}
*/
/*.demo-card {
    max-width: 920px;
    width: 100%;
    background: #14161b;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
    padding: 28px;
}

    .demo-card h1 {
        font-size: 1.6rem;
        margin-bottom: 8px;
    }

    .demo-card p {
        color: #c9c9c9;
    }*/

/* --------- BotÃ³n WhatsApp con AURA SÃ“LIDA + mÃºltiples pulsos --------- */
.whatsapp-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--wa);
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(0,0,0,.18), 0 6px 12px rgba(0,0,0,.10);
    z-index: 9999;
    isolation: isolate; /* separa los efectos del fondo */
    overflow: visible;
}

    .whatsapp-float i {
        font-size: 30px;
        line-height: 1;
        position: relative;
        z-index: 5;
    }

    /* Aura base continua que nace al borde (sin hueco) */
    .whatsapp-float::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        background: var(--wa);
        opacity: .20;
        transform: scale(1);
        filter: blur(.0px);
        z-index: 1;
        animation: ambient 4.5s ease-in-out infinite alternate;
        box-shadow: 0 0 24px rgba(37,211,102,.45), 0 0 64px rgba(37,211,102,.25), 0 0 120px rgba(37,211,102,.15);
    }

@keyframes ambient {
    0% {
        opacity: .18;
        filter: blur(0px);
    }

    100% {
        opacity: .30;
        filter: blur(.2px);
    }
}

/* Contenedor de pulsos */
.pulses {
    position: absolute;
    inset: 0;
    z-index: 2; /* sobre el aura base y bajo el Ã­cono */
}

/* Cada pulso nace exactamente en el borde (scale:1) y se expande */
.pulse {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--wa);
    transform: scale(1);
    opacity: var(--base-opacity);
    box-shadow: 0 0 24px rgba(37,211,102,.45), 0 0 60px rgba(37,211,102,.25), 0 0 120px rgba(37,211,102,.18);
    animation: pulseExpand var(--pulse-duration) ease-out infinite;
    animation-delay: calc(var(--i) * var(--delay-step));
    will-change: transform, opacity;
    pointer-events: none;
}

@keyframes pulseExpand {
    0% {
        transform: scale(1);
        opacity: var(--base-opacity);
    }

    70% {
        transform: scale(calc(var(--max-scale) - .5));
        opacity: .14;
    }

    100% {
        transform: scale(var(--max-scale));
        opacity: 0;
    }
}

/* Borde mÃ¡s blando para cada pulso (gradiente radial superpuesto) */
.pulse::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37,211,102,.32) 0%, rgba(37,211,102,.22) 55%, rgba(37,211,102,.10) 75%, rgba(37,211,102,0) 100%);
    mix-blend-mode: screen;
}

/* Hover: acelera levemente todos los pulsos */
.whatsapp-float:hover .pulse {
    animation-duration: calc(var(--pulse-duration) * .8);
}

/* Tooltip lateral (desktop) */
.whatsapp-float .label {
    position: absolute;
    right: 75px;
    background: var(--wa);
    color: #fff;
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 6px 14px rgba(0,0,0,.2);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid rgba(255,255,255,.2);
    user-select: none;
    pointer-events: none;
    z-index: 6;
}

    .whatsapp-float .label::after {
        content: "";
        position: absolute;
        right: -6px;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        width: 12px;
        height: 12px;
        background: var(--wa);
        border-right: 2px solid rgba(255,255,255,.2);
        border-bottom: 2px solid rgba(255,255,255,.2);
        border-radius: 2px;
    }

@media (max-width: 767.98px) {
    .whatsapp-float .label {
        display: none;
    }
}

/* --------- Responsivo --------- */
@media (max-width: 480px) {
    .whatsapp-float {
        right: 16px;
        bottom: 16px;
        width: 56px;
        height: 56px;
    }

        .whatsapp-float i {
            font-size: 26px;
        }
}

.premis-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity .24s ease;
}

    .premis-cookie-modal.is-visible {
        opacity: 1;
    }

    .premis-cookie-modal.is-managing {
        align-items: center;
    }

.premis-cookie-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 17, 13, .34);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.premis-cookie-modal-sheet {
    position: relative;
    z-index: 1;
    width: min(780px, calc(100vw - 32px));
    display: grid;
    grid-template-columns: minmax(0, 1fr) 236px;
    grid-template-areas:
        "copy actions"
        "links actions";
    column-gap: 16px;
    row-gap: 8px;
    align-items: start;
    padding: 18px 20px 16px;
    border: 1px solid rgba(244,139,15,.18);
    border-radius: 24px;
    background:
        radial-gradient(520px 220px at 0% 0%, rgba(244,139,15,.14), transparent 62%),
        rgba(255,255,255,.98);
    box-shadow: 0 28px 72px rgba(16,24,40,.22);
    transform: translateY(22px);
    transition: transform .24s ease;
}

    .premis-cookie-modal.is-visible .premis-cookie-modal-sheet {
        transform: translateY(0);
    }

.premis-cookie-modal-copy {
    grid-area: copy;
    max-width: none;
}

.premis-cookie-modal-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    /*margin-bottom: .55rem;*/
    color: var(--premis-brand);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.premis-cookie-modal-copy h3 {
    margin-bottom: .55rem;
    color: #2d221a;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.08;
}

.premis-cookie-modal-copy p {
    margin-bottom: 0;
    color: rgba(45,34,24,.80);
    font-size: .85rem;
    line-height: 1.62;
}

.premis-cookie-modal-actions {
    grid-area: actions;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    justify-content: stretch;
    align-self: center;
    gap: 10px;
    margin-top: 0;
    width: 236px;
}

.premis-cookie-manage-btn {
    width: 100%;
    grid-column: 1 / -1;
}

.premis-cookie-modal-links {
    grid-area: links;
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 0;
    padding-top: 10px;
    border-top: 1px solid rgba(27, 31, 35, .08);
}

    .premis-cookie-modal-links a {
        color: rgba(45,34,24,.72);
        text-decoration: none;
        font-size: .82rem;
        transition: color .2s ease;
    }

        .premis-cookie-modal-links a + a::before {
            content: "Â·";
            display: inline-block;
            margin-inline: 8px;
            color: inherit;
        }

        .premis-cookie-modal-links a:hover {
            color: var(--premis-brand);
        }

.premis-cookie-pref-sheet {
    position: relative;
    z-index: 2;
    align-self: center;
    width: min(720px, calc(100vw - 32px));
    max-height: min(80vh, 760px);
    overflow: auto;
    padding: 18px 18px 16px;
    border: 1px solid rgba(244,139,15,.18);
    border-radius: 26px;
    background:
        radial-gradient(520px 240px at 0% 0%, rgba(244,139,15,.12), transparent 62%),
        rgba(255,255,255,.985);
    box-shadow: 0 32px 84px rgba(16,24,40,.26);
    transform: translateY(16px) scale(.98);
    transition: transform .24s ease;
}

.premis-cookie-modal.is-visible .premis-cookie-pref-sheet:not([hidden]) {
    transform: translateY(0) scale(1);
}

.premis-cookie-pref-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(39, 25, 16, .08);
}

.premis-cookie-pref-topcopy span {
    display: block;
    margin-bottom: 6px;
    color: var(--premis-brand);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.premis-cookie-pref-topcopy strong {
    display: block;
    color: #2d221a;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.1;
    margin: 0;
}

.premis-cookie-pref-close {
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    border: 0;
    border-radius: 12px;
    background: rgba(244,139,15,.14);
    color: rgba(75, 58, 46, .92);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.premis-cookie-pref-close:hover,
.premis-cookie-pref-close:focus-visible {
    color: var(--premis-brand);
    background: rgba(244,139,15,.24);
    box-shadow: 0 10px 24px rgba(244,139,15,.14);
    transform: translateY(-1px);
}

.premis-cookie-pref-head strong {
    display: block;
    margin-bottom: 6px;
    color: #2d221a;
    font-size: 1rem;
    font-weight: 700;
}

.premis-cookie-pref-head p {
    margin-bottom: 0;
    color: rgba(45,34,24,.74);
    font-size: .86rem;
    line-height: 1.55;
}

.premis-cookie-pref-list {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.premis-cookie-pref-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 13px;
    border: 1px solid rgba(39, 25, 16, .08);
    border-radius: 16px;
    background: rgba(255,255,255,.9);
}

.premis-cookie-pref-item.is-required {
    background: rgba(255,248,238,.94);
}

.premis-cookie-pref-copy {
    min-width: 0;
}

.premis-cookie-pref-copy span {
    display: block;
    margin-bottom: 2px;
    color: #2d221a;
    font-size: .84rem;
    font-weight: 700;
}

.premis-cookie-pref-copy small {
    display: block;
    color: rgba(45,34,24,.68);
    font-size: .84rem;
    line-height: 1.45;
}

.premis-cookie-switch {
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.premis-cookie-switch input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: inherit;
}

.premis-cookie-switch-ui {
    position: relative;
    display: inline-flex;
    width: 44px;
    height: 24px;
    border-radius: 999px;
    background: rgba(39, 25, 16, .16);
    transition: background-color .22s ease, box-shadow .22s ease;
}

.premis-cookie-switch-ui::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(16,24,40,.18);
    transition: transform .22s ease;
}

.premis-cookie-switch input:checked + .premis-cookie-switch-ui {
    background: rgba(244,139,15,.34);
    box-shadow: inset 0 0 0 1px rgba(244,139,15,.12);
}

.premis-cookie-switch input:checked + .premis-cookie-switch-ui::after {
    transform: translateX(20px);
}

.premis-cookie-switch input:disabled + .premis-cookie-switch-ui {
    background: rgba(244,139,15,.20);
    opacity: .9;
}

.premis-cookie-pref-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

body.premis-cookie-modal-open {
    overflow: hidden;
}

    body.premis-cookie-modal-open .whatsapp-float {
        opacity: 0;
        pointer-events: none;
    }

@media (max-width: 767.98px) {
    .premis-cookie-modal {
        padding: 12px;
    }

    .premis-cookie-modal-sheet {
        width: min(100%, 100%);
        display: block;
        padding: 16px;
        border-radius: 20px;
    }


    .premis-cookie-modal-copy h3 {
        font-size: 1.26rem;
    }
    .premis-cookie-modal-copy p {
        font-size: .85rem;
    }
    .premis-cookie-pref-head p {
        font-size: .75rem;
    }
    .premis-cookie-pref-copy small {
        font-size: .75rem;
    }
    .premis-cookie-pref-copy span {
        font-size: .75rem;
    }
    .premis-cookie-modal-actions {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: stretch;
        justify-content: stretch;
        width: auto;
        margin-top: 16px;
    }

    .premis-cookie-modal-links {
        /*flex-direction: column;
        align-items: stretch;*/
        justify-content: center;
        gap: 15px;
        margin-top: 12px;
    }

    .premis-cookie-pref-sheet {
        width: min(100%, 100%);
        max-height: min(84vh, 760px);
        padding: 14px 14px 14px;
        border-radius: 20px;
    }

    .premis-cookie-pref-item {
        align-items: flex-start;
        gap: 14px;
    }

    .premis-cookie-pref-actions .btn,
    .premis-cookie-manage-btn {
        width: 100%;
    }

        .premis-cookie-modal-links a + a::before {
            content: none;
        }

        .premis-cookie-modal-actions .btn {
            flex: 1 1 0;
            min-width: 0;
        }

        .premis-cookie-modal-actions .premis-cookie-manage-btn {
            flex: 1 0 100%;
        }

        .premis-cookie-modal-actions .btn,
        .premis-cookie-modal-links a {
            justify-content: center;
            text-align: center;
        }

        .premis-cookie-pref-actions {
            justify-content: stretch;
        }

        .premis-cookie-pref-topbar {
            min-height: 34px;
            margin-bottom: 8px;
            padding-bottom: 8px;
        }

        .premis-cookie-pref-topcopy strong {
            font-size: 1rem;
        }

        .premis-cookie-pref-close {
            width: 30px;
            height: 30px;
            border-radius: 10px;
        }

        .premis-cookie-pref-item {
            padding: 10px 12px;
        }
}








/* ===== CotizaciÃ³n rÃ¡pida ===== */
.premis-quick-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.premis-pill {
    border: 1px solid var(--premis-border);
    background: #fff;
    color: var(--premis-text);
    border-radius: 999px;
    padding: .55rem .8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    box-shadow: var(--premis-shadow-sm);
}

    .premis-pill i {
        color: var(--premis-brand);
    }

    .premis-pill:hover {
        border-color: rgba(245,139,9,.35);
    }

    .premis-pill.is-active {
        border-color: rgba(245,139,9,.55);
        background: var(--premis-brand-50);
    }

.premis-quote-panel {
    background: radial-gradient(900px 380px at 20% 10%, rgba(245,139,9,.16), transparent 60%), linear-gradient(#fff, #fff);
}

.premis-mini {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    border-radius: 18px;
    border: 1px solid var(--premis-border);
    background: rgba(255,255,255,.88);
}

    .premis-mini i {
        width: 38px;
        height: 38px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--premis-brand-50);
        border: 1px solid rgba(245,139,9,.22);
        color: var(--premis-brand);
        flex: 0 0 auto;
    }

.premis-quote-img {
    height: 220px;
    border-radius: 22px;
    border: 1px solid var(--premis-border);
    box-shadow: var(--premis-shadow);
    background: linear-gradient(135deg, rgba(245,139,9,.18), rgba(255,255,255,0) 55%), url("https://source.unsplash.com/1600x900/?food,packaging,conveyor") center/cover no-repeat;
}














/* ===== MegaMenu estilo "grupo + item" ===== */
.premis-mega-menu {
    width: min(980px, calc(100vw - 2rem));
    border: 1px solid var(--premis-border);
    border-radius: 22px;
    box-shadow: var(--premis-shadow-lg);
    overflow: hidden;
}

    /* Evitar azul por reglas globales */
    .premis-mega-menu a,
    .premis-mega-menu a:hover,
    .premis-mega-menu a:focus,
    .premis-mega-menu a:active,
    .premis-mega-menu a:visited {
        color: var(--premis-text) !important;
        text-decoration: none !important;
    }

.premis-mega2 {
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}

.premis-mega2-head {
    padding: 1rem 1rem .9rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid var(--premis-border);
    background: radial-gradient(900px 220px at 20% 10%, rgba(245,139,9,.14), transparent 60%), linear-gradient(#fff, #fff);
}

.premis-mega2-title {
    font-weight: 950;
    letter-spacing: -0.2px;
    font-size: 1.05rem;
}

.premis-mega2-body {
    padding: .8rem .8rem 0;
}

.premis-mega2-col {
    padding: .4rem .6rem 1rem;
}

.premis-mega2-group {
    font-size: .78rem;
    font-weight: 950;
    color: var(--premis-muted);
    text-transform: uppercase;
    letter-spacing: .8px;
    margin: .4rem .2rem .55rem;
}

.premis-mega2-group-link {
    display: inline-flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
    transition: color .18s ease;
}

    .premis-mega2-group-link:hover,
    .premis-mega2-group-link:focus-visible {
        color: var(--premis-brand);
    }

.premis-mega2-divider {
    height: 1px;
    background: var(--premis-border);
    margin: .8rem .2rem;
}

/* Item */
.premis-mega2-item {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .85rem .85rem;
    border-radius: 10px;
    border: 1px solid transparent; /* para que el hover no mueva layout */
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
    position: relative;
}

    /* Hover: fondo suave naranja + borde suave */
    .premis-mega2-item:hover {
        background: var(--premis-brand-50);
        border-color: rgba(245,139,9,.12);
        transform: translateY(-1px);
    }

/* Icono (circle) */
.premis-mega2-ico {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid rgba(245,139,9,.22);
    box-shadow: 0 10px 24px rgba(16,24,40,.06);
    flex: 0 0 auto;
}

    .premis-mega2-ico i {
        color: var(--premis-brand);
        font-size: 1.05rem;
    }

/* Text */
.premis-mega2-txt {
    min-width: 0;
}

.premis-mega2-h {
    font-weight: 600;
    margin-bottom: .1rem;
    letter-spacing: -.2px;
}

.premis-mega2-s {
    color: var(--premis-muted);
    font-weight: 400;
    font-size: .92rem;
    line-height: 1.2;
}

/* Arrow animated */
.premis-mega2-arrow {
    margin-left: auto;
    color: var(--premis-brand);
    opacity: .0;
    transform: translateX(-6px);
    transition: transform .18s ease, opacity .18s ease;
    padding-top: .15rem;
}

.premis-mega2-item:hover .premis-mega2-arrow {
    opacity: 1;
    transform: translateX(0);
}

/* Footer */
.premis-mega2-foot {
    padding: .9rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-top: 1px solid var(--premis-border);
    background: var(--premis-bg-soft);
}

/* Desktop placement centrado */
@media (min-width: 992px) {
    .premis-mega-menu {
        left: 50%;
        transform: translateX(-50%);
        margin-top: 10px;
    }

    .premis-mega2-body .row > .premis-mega2-col:first-child {
        border-right: 1px solid var(--premis-border);
    }
}








/* ===== CategorÃ­as con imagen (vertical, 4 por fila) ===== */
.premis-cat {
    overflow: hidden; /* para que la imagen respete bordes redondeados */
    border-radius: 22px; /* puedes usar el tuyo si ya lo tienes */
}

/* Contenedor imagen */
.premis-cat-img {
    position: relative;
    height: 210px;
    background-size: cover;
    background-position: center;
    border-bottom: 1px solid var(--premis-border);
    overflow: hidden; /* importante para que el zoom no se salga */
}

    /* Capa naranja */
    .premis-cat-img::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(245,139,9,.22);
        transition: opacity .22s ease;
    }

/* TransiciÃ³n suave para el zoom */
.premis-cat-img {
    transition: transform .35s ease;
}

/* Hover: zoom + quitar overlay */
.premis-cat:hover .premis-cat-img {
    transform: scale(1.02);
}

    .premis-cat:hover .premis-cat-img::after {
        opacity: 0;
    }

/* Un poquito mÃ¡s â€œtall cardâ€ */
.premis-cat .p-4 {
    padding: 1.1rem 1.15rem !important;
}

/* Ajustes para mÃ³vil: imagen un poco mÃ¡s alta si quieres */
@media (max-width: 575.98px) {
    .premis-cat-img {
        height: 180px;
    }
}

/* ===== Footer ===== */
.premis-footer {
    position: relative;
    z-index: 2;
    overflow: visible;
    background: linear-gradient(180deg, var(--premis-bg-soft), #fff);
    border-color: var(--premis-border) !important;
}

    .premis-footer::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 8px;
        background: var(--premis-brand);
        z-index: 1;
    }

.premis-footer-shell {
    position: relative;
    z-index: 2;
    padding-block: clamp(3rem, 6vw, 4.75rem);
}

.premis-footer-brand {
    display: inline-flex;
    align-items: center;
}

.premis-footer-logo {
    height: 46px;
    width: auto;
}

.premis-footer-copy {
    max-width: 340px;
    color: var(--premis-muted);
    font-size: 1.15rem;
    line-height: 1.7;
}

.premis-footer-contact-card {
    position: relative;
    z-index: 3;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(28, 18, 10, .16);
    transition: box-shadow .25s ease, border-color .25s ease, background-color .25s ease;
}

.premis-footer-contact-card-head {
    padding: 1.6rem 1.6rem 1.35rem;
    background: rgba(17, 20, 23, .055);
    border-bottom: 1px solid rgba(17, 20, 23, .08);
}

    .premis-footer-contact-card-head h4 {
        margin: 0;
        color: var(--premis-text);
        font-family: var(--premis-font);
        font-size: clamp(1.85rem, 2.35vw, 2.6rem);
        font-weight: 300;
        line-height: 1.08;
        letter-spacing: 0;
    }

.premis-footer-contact-card-head p {
    /*margin: .65rem 0 0;*/
    color: var(--premis-muted);
    line-height: 1.65;
}

.premis-footer-contact-card-body {
    padding: 1.5rem;
}

.premis-footer-contact-card:hover,
.premis-footer-contact-card:focus-within {
    border-color: rgba(244, 139, 15, .28);
    box-shadow: 0 34px 92px rgba(28, 18, 10, .28);
    transform: none;
}

@media (max-width: 575.98px) {
    .premis-footer-contact-card-head,
    .premis-footer-contact-card-body {
        padding-inline: 1.25rem;
    }

    .premis-footer-contact-card-head {
        padding-top: 1.35rem;
        padding-bottom: 1.15rem;
    }
}

@media (min-width: 992px) {
    .premis-footer-shell {
        padding-top: clamp(1.6rem, 2.8vw, 2.8rem);
    }

    .premis-footer-contact-card {
        max-width: 520px;
        margin-top: clamp(-7rem, -7vw, -4.75rem);
    }
}

.premis-footer-title {
    margin-bottom: 1rem;
    color: var(--premis-text);
    font-size: .95rem;
    font-weight: 800;
    letter-spacing: .01em;
}

.premis-footer-list,
.premis-footer-contact {
    display: grid;
    gap: .72rem;
}

.premis-footer-list a,
.premis-footer-list-item,
.premis-footer-contact-item {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    color: var(--premis-muted);
    line-height: 1.45;
}

.premis-footer-list a,
.premis-footer-bottom a {
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.premis-footer-list i,
.premis-footer-contact i {
    color: var(--premis-brand);
    font-size: .86rem;
    line-height: 1;
}

.premis-footer-list a:hover,
.premis-footer-bottom a:hover {
    color: var(--premis-text);
}

.premis-footer-list a:hover {
    transform: translateX(3px);
}

.premis-footer-divider {
    margin: clamp(2rem, 4vw, 3rem) 0 1.35rem;
    border-color: var(--premis-border);
    opacity: 1;
}

.premis-footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .85rem 1.5rem;
    color: var(--premis-muted);
    font-size: inherit;
}

.premis-footer-bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.35rem;
}

.premis-footer-bottom a {
    color: var(--premis-muted);
}

.footer-social a {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid var(--premis-border);
    background: var(--premis-surface);
    color: var(--premis-muted);
    font-size: 1.05rem;
    transition: color .2s ease, transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

    .footer-social a:hover {
        color: var(--premis-brand);
        border-color: rgba(245,139,9,.28);
        box-shadow: var(--premis-shadow-sm);
        transform: translateY(-2px);
    }

@media (max-width: 575.98px) {
    .premis-footer {
        font-size: .85rem;
    }

    .premis-footer::before {
        height: 3px;
    }

    .premis-footer-shell {
        padding: 2.6rem 1.25rem 2.25rem;
    }

    .premis-footer-logo {
        height: 38px;
    }

    .premis-footer-bottom {
        align-items: flex-start;
    }
}






/* =========================================================
   HERO 2 - Carousel full width (Bootstrap)
========================================================= */
.premis-hero2 {
    width: 100%;
    margin: 0;
}

.premis-hero2-carousel {
    border-radius: 0;
}

/* Alturas responsive */
.premis-hero2-slide {
    position: relative;
    width: 100%;
    min-height: 520px;
    display: grid;
    align-items: center;
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .premis-hero2-slide {
        min-height: 520px;
    }
}

@media (max-width: 575.98px) {
    .premis-hero2-slide {
        min-height: 560px;
    }
}

/* Fondo (imagen) */
.premis-hero2-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.02); /* look premium */
}

/* Overlay negro opcional (controlado por HTML) */
.premis-hero2-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.30); /* ajusta 0.22â€“0.40 */
}

/* Contenido */
.premis-hero2-content {
    position: relative;
    z-index: 2;
}

.premis-hero2-box {
    max-width: 720px;
    padding: 18px 0;
}

/* Kicker */
.premis-hero2-kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .45rem .75rem;
    border-radius: 999px;
    font-weight: 950;
    letter-spacing: .2px;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(245,139,9,.22);
    backdrop-filter: blur(10px);
}

/* Texto */
.premis-hero2-title {
    margin-top: 14px;
    font-weight: 650;
    letter-spacing: -0.8px;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.02;
    color: #fff;
    text-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.premis-hero2-sub {
    margin-top: 12px;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 1.05rem;
    max-width: 56ch;
    color: rgba(255,255,255,.90);
    text-shadow: 0 10px 26px rgba(0,0,0,.35);
}

.premis-hero2-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

/* BotÃ³n outline sobre fondo oscuro (para no â€œperderseâ€) */
.btn-premis-outline-on-dark {
    border: 1px solid rgba(255,255,255,.55);
    color: #fff;
    background: rgba(255,255,255,.10);
    border-radius: 999px;
    font-weight: 950;
    padding: .75rem 1.05rem;
    box-shadow: var(--premis-shadow-sm);
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

    .btn-premis-outline-on-dark:hover {
        color: #fff;
        background: rgba(255,255,255,.16);
        border-color: rgba(245,139,9,.55);
        transform: translateY(-1px);
    }

/* Flechas */
.premis-hero2-arrow {
    width: 56px;
    opacity: 1;
}

.premis-hero2-arrowbox {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.20);
    border: 1px solid rgba(255,255,255,.35);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 40px rgba(0,0,0,.18);
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

    .premis-hero2-arrowbox i {
        color: #fff;
        font-size: 1.05rem;
    }

.premis-hero2-arrow:hover .premis-hero2-arrowbox {
    transform: translateY(-1px);
    background: rgba(255,255,255,.26);
    border-color: rgba(245,139,9,.55);
}

/* Dots */
.premis-hero2-dots [data-bs-target] {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 0;
    opacity: .55;
}

.premis-hero2-dots .active {
    opacity: 1;
}

/* --- FIX: flechas del carousel no responden en mÃ³vil --- */

/* Que el fondo/overlay NO capture taps */
.premis-hero2-bg,
.premis-hero2-overlay {
    pointer-events: none;
}

/* Asegura que los controles estÃ©n encima y sÃ­ reciban taps */
#premisHeroCarousel .carousel-control-prev,
#premisHeroCarousel .carousel-control-next {
    z-index: 10;
    pointer-events: auto;
}

/* (Opcional) aumenta el Ã¡rea clickeable sin agrandar el cÃ­rculo */
#premisHeroCarousel .carousel-control-prev,
#premisHeroCarousel .carousel-control-next {
    width: 64px;
}













/* ===== Owl - CategorÃ­as ===== */
.premis-cat-owl-wrap {
    position: relative;
    padding-inline: 14px;
    margin-inline: -14px;
}

.premis-cat-owl .owl-stage-outer {
    overflow: visible;
    padding: 8px 4px 14px;
    margin: -8px -4px -14px;
}

.premis-cat-owl .premis-cat-item {
    height: 100%;
}

.premis-cat-owl .owl-stage {
    display: flex;
}

.premis-cat-owl .owl-item {
    display: flex;
}

    .premis-cat-owl .owl-item > .premis-cat-item {
        /*padding: 20px;*/
        padding-top: 20px;
        padding-bottom: 20px;
        /*margin-left: 20px;*/
        /*margin-right: 20px;*/
        width: 100%;
        display: flex;
    }

/* Dots abajo */
.premis-cat-owl .owl-dots {
    margin-top: 14px !important;
}

.premis-cat-owl .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.18) !important;
}

.premis-cat-owl .owl-dot.active span {
    background: rgba(245,139,9,.85) !important;
}

/* Nav flechas */
.premis-cat-owl .owl-nav {
    margin: 0 !important;
}

    .premis-cat-owl .owl-nav button {
        position: absolute;
        top: 45%;
        transform: translateY(-50%);
        width: 44px;
        height: 44px;
        border-radius: 999px !important;
        border: 1px solid var(--premis-border) !important;
        background: rgba(255,255,255,1) !important;
        box-shadow: var(--premis-shadow);
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        transition: transform .18s ease, border-color .18s ease;
    }

        .premis-cat-owl .owl-nav button:hover {
            border-color: rgba(245,139,9,.45) !important;
            transform: translateY(-50%) scale(1.02);
        }

/* extremos */
.premis-cat-owl .owl-prev {
    left: -18px;
}

.premis-cat-owl .owl-next {
    right: -18px;
}

/* Iconos dentro */
.premis-cat-owl .owl-nav button span {
    font-size: 22px;
    line-height: 1;
    color: var(--premis-text);
}

/* En mÃ³vil, que no se salgan fuera */
@media (max-width: 575.98px) {
    .premis-cat-owl .owl-prev {
        left: 6px;
    }

    .premis-cat-owl .owl-next {
        right: 6px;
    }
}


/* ===== Soluciones por industria ===== */
.premis-home-solutions {
    position: relative;
    isolation: isolate;
    padding-block: clamp(3.75rem, 5.5vw, 5.75rem);
    overflow: hidden;
    background: var(--premis-about-deep);
}

    .premis-home-solutions::before {
        content: "";
        position: absolute;
        inset: -22px;
        z-index: -2;
        background: url("../img/section/soluciones/hero-soluciones01.avif") center center / cover no-repeat;
        filter: blur(4.2px) saturate(.96) contrast(1.02);
        transform: scale(1.025);
        pointer-events: none;
    }

    .premis-home-solutions::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background:
            linear-gradient(180deg, rgba(3, 3, 3, .58) 0%, rgba(14, 10, 7, .46) 45%, rgba(34, 22, 14, .62) 100%),
            linear-gradient(135deg, rgba(34, 22, 14, .56) 0%, rgba(34, 22, 14, .34) 45%, rgba(3, 3, 3, .48) 100%),
            linear-gradient(90deg, rgba(3, 3, 3, .32) 0%, transparent 18%, transparent 82%, rgba(3, 3, 3, .3) 100%),
            radial-gradient(720px 420px at 18% 18%, rgba(244,139,15,.12), transparent 68%);
        box-shadow: inset 32px 0 48px rgba(3, 3, 3, .14), inset -32px 0 48px rgba(3, 3, 3, .12);
        backdrop-filter: blur(.4px);
        -webkit-backdrop-filter: blur(.4px);
        pointer-events: none;
    }

    .premis-home-solutions > .container {
        position: relative;
        z-index: 1;
    }

.premis-home-solutions-head {
    max-width: 840px;
}

    .premis-home-solutions-head .premis-about-kicker {
        color: var(--premis-brand);
    }

    .premis-home-solutions-head .premis-section-title {
        font-size: clamp(2.4rem, 5vw, 4.4rem);
        color: #fff;
    }

.premis-home-solutions-tabs-wrap {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 4;
    margin: 1.7rem 0 0;
    transform: translateY(26px);
}

.premis-home-solutions-tabs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .42rem;
    border: 1px solid var(--premis-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 18px 42px rgba(28,18,10,.10);
}

.premis-home-solutions-tab {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .7rem 1.18rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--premis-muted);
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

    .premis-home-solutions-tab i {
        font-size: .98rem;
    }

    .premis-home-solutions-tab:hover,
    .premis-home-solutions-tab:focus-visible {
        color: var(--premis-text);
    }

    .premis-home-solutions-tab.is-active {
        background: var(--premis-brand);
        color: #fff;
        /*box-shadow: 0 12px 28px rgba(244, 139, 15, .22);*/
    }

.premis-home-solutions-panels {
    position: relative;
    margin-top: -38px;
}

.premis-home-solutions-hero-banner {
    position: relative;
    overflow: hidden;
    min-height: 236px;
    /*margin-bottom: 1.45rem;*/
    border: 1px solid rgba(244,139,15,.14);
    border-radius: 22px;
    box-shadow: 0 24px 58px rgba(28,18,10,.08);
}

.premis-home-solutions-hero-image {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    transform: scale(1.02);
}

.premis-home-solutions-hero-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(25,17,12,.82) 0%, rgba(33,22,15,.68) 48%, rgba(44,29,19,.46) 100%),
        radial-gradient(560px 260px at 50% 50%, rgba(244,139,15,.18), transparent 64%);
    z-index: 1;
}

.premis-home-solutions-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 236px;
    padding: 28px 30px;
    text-align: center;
}

.premis-home-solutions-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 48px;
    padding: .7rem 1.18rem;
    border-radius: 999px;
    background: var(--premis-brand);
    color: #fff;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 18px 42px rgba(244,139,15,.22);
}

.premis-home-solutions-hero-pill i {
    font-size: .98rem;
}

.premis-home-solutions-hero-content p {
    max-width: 520px;
    margin: 14px 0 0;
    color: #fff6ee;
    font-family: var(--premis-font);
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.premis-solutions-panel-cta {
    display: flex;
    gap:10px;
    justify-content: center;
    margin-top: 1.4rem;
}

.premis-home-tabs-mobile-grid {
    display: none;
}

.premis-home-solutions-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: clamp(2.45rem, 4vw, 3.25rem);
}

.premis-home-solution-card {
    position: relative;
    display: flex;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 30px;
    background: #fff;
    color: var(--premis-text);
    text-decoration: none;
    box-shadow: 0 14px 34px rgba(16, 24, 40, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

    .premis-home-solution-card:hover,
    .premis-home-solution-card:focus-within {
        transform: translateY(-3px);
        box-shadow: 0 24px 52px rgba(0, 0, 0, .18);
    }

    .premis-home-solution-card > * {
        position: relative;
        z-index: 1;
    }

.premis-home-solution-card-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 100%;
    min-height: clamp(145px, 12vw, 178px);
    padding: 1.3rem;
    overflow: hidden;
    border-radius: 30px 30px 0 0;
    background: #24160f;
    text-align: center;
    isolation: isolate;
}

.premis-home-solution-card-header-link {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 30px 30px 0 0;
    flex: 0 0 auto;
    background: transparent;
    color: inherit;
    text-decoration: none;
}

    .premis-home-solution-card-header-link:focus-visible {
        outline: none;
    }

    .premis-home-solution-card-header::after {
        content: "";
        position: absolute;
        inset: -1px;
        z-index: 1;
        opacity: 1;
        transition: opacity .48s cubic-bezier(.22, 1, .36, 1);
        pointer-events: none;
    }

    .premis-home-solution-card-header::after {
        background:
            linear-gradient(180deg, rgba(72, 42, 16, .42), rgba(31, 20, 12, .46)),
            radial-gradient(360px 190px at 50% 48%, rgba(244,139,15,.14), transparent 72%);
    }

    .premis-home-solution-card-header > div {
        position: relative;
        z-index: 2;
        width: 100%;
    }

.premis-home-solution-card-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    flex: none;
    overflow: hidden;
    margin: 0;
    border: 0;
    border-radius: 30px 30px 0 0;
    background: #24160f;
    transform: translateZ(0);
    backface-visibility: hidden;
}

    .premis-home-solution-card-media img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        filter: saturate(.86) contrast(.97);
        transform: scale(1);
        transition: transform .48s cubic-bezier(.22, 1, .36, 1), filter .42s ease;
        backface-visibility: hidden;
    }

    .premis-home-solution-card:hover .premis-home-solution-card-header::after,
    .premis-home-solution-card:focus-within .premis-home-solution-card-header::after {
        opacity: 0;
    }

    .premis-home-solution-card:hover .premis-home-solution-card-media img,
    .premis-home-solution-card:focus-within .premis-home-solution-card-media img {
        filter: saturate(.98) contrast(1);
        transform: scale(1.025);
    }

.premis-home-solution-card-eyebrow {
    display: none;
    margin-bottom: .25rem;
    color: var(--premis-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.premis-home-solution-card h3 {
    margin: 0;
    color: #fff;
    font-family: var(--premis-accent-font);
    font-size: clamp(1.7rem, 2.4vw, 2.25rem);
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.05;
    text-transform: uppercase;
    text-shadow:
        0 2px 3px rgba(0, 0, 0, .72),
        0 10px 24px rgba(0, 0, 0, .58),
        0 0 18px rgba(34, 22, 14, .46);
}

.premis-home-solution-card p {
    margin: 1.15rem 1.15rem 0;
    color: var(--premis-muted);
    font-size: .95rem;
    line-height: 1.5;
}

.premis-home-solution-checks {
    display: grid;
    gap: .72rem;
    margin: 1.1rem 1.15rem 1.25rem;
    padding: 1.05rem 0 0;
    border-top: 1px dashed var(--premis-border-strong);
    list-style: none;
}

    .premis-home-solution-checks li {
        display: flex;
        align-items: flex-start;
        gap: .55rem;
        color: var(--premis-text-2);
        font-size: .92rem;
        line-height: 1.38;
    }

    .premis-home-solution-checks i {
        margin-top: .16rem;
        color: var(--premis-brand);
        font-size: .86rem;
    }

.premis-home-solution-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 44px;
    margin: auto 1.15rem 1.15rem;
    padding: .62rem .95rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--premis-brand);
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, font-weight .18s ease;
}

    .premis-home-solution-card-btn:hover,
    .premis-home-solution-card-btn:focus-visible,
    .premis-home-solution-card-btn:active {
        transform: translateY(-1px);
        background: var(--premis-brand-rgba-300);
        color: var(--premis-brand);
        font-weight: 600;
        box-shadow: none;
    }

    .premis-home-solution-card-btn i {
        font-size: .85rem;
        transition: transform .18s ease;
    }

    .premis-home-solution-card-btn:hover i,
    .premis-home-solution-card-btn:focus-visible i,
    .premis-home-solution-card-btn:active i {
        transform: translateX(2px);
    }

.premis-home-solutions-more {
    display: flex;
    justify-content: center;
    margin-top: clamp(1.35rem, 3vw, 2rem);
}

@media (max-width: 1199.98px) {
    .premis-home-solutions-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.premis-home-solutions-panel {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(16px);
    transition: opacity .55s ease, transform .55s ease, visibility 0s linear .55s;
}

.premis-home-solutions-panel.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}

.premis-solutions-owl-wrap {
    position: relative;
    padding-inline: 14px;
    margin-inline: -14px;
}

.premis-solutions-owl .owl-stage-outer {
    overflow: visible;
    padding: 8px 4px 14px;
    margin: -8px -4px -14px;
}

.premis-solutions-owl .owl-stage {
    display: flex;
}

.premis-solutions-owl .owl-item {
    display: flex;
}

    .premis-solutions-owl .owl-item > .premis-cat-item {
        width: 100%;
        display: flex;
        padding-top: 20px;
        padding-bottom: 20px;
    }

.premis-home-solutions .premis-cat-img {
    --premis-solutions-image-ratio: 4 / 3;
    height: auto;
    aspect-ratio: var(--premis-solutions-image-ratio);
    background-size: cover;
    background-position: center;
}

.premis-home-solutions .premis-cat {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.premis-home-solutions .premis-cat .p-4 {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.premis-home-solutions .premis-cat-title {
    min-height: 1.3em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.premis-home-solutions .premis-cat .premis-muted {
    display: -webkit-box;
    min-height: calc(1.55em * 3);
    margin-top: .35rem;
    overflow: hidden;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.premis-solutions-quote-btn {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: .45rem;
    margin-top: auto;
    padding: .42rem .78rem;
    border: 1px solid rgba(244,139,15,.18);
    border-radius: 999px;
    background: rgba(244,139,15,.12);
    color: var(--premis-brand-700);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(244,139,15,.08);
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

    .premis-solutions-quote-btn:hover,
    .premis-solutions-quote-btn:focus-visible {
        transform: translateY(-1px);
        border-color: rgba(244,139,15,.55);
        background: var(--premis-brand);
        color: #fff;
        box-shadow: 0 14px 30px rgba(244,139,15,.22);
    }

    .premis-solutions-quote-btn i {
        font-size: .82rem;
        transition: transform .2s ease;
    }

    .premis-solutions-quote-btn:hover i,
    .premis-solutions-quote-btn:focus-visible i {
        transform: translateX(2px);
    }

.premis-solutions-owl .owl-dots {
    /*margin-top: 14px !important;*/
}

.premis-solutions-owl .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.18) !important;
}

.premis-solutions-owl .owl-dot.active span {
    background: rgba(245,139,9,.85) !important;
}

.premis-solutions-owl .owl-nav {
    margin: 0 !important;
}

    .premis-solutions-owl .owl-nav button {
        position: absolute;
        top: 45%;
        transform: translateY(-50%);
        width: 46px;
        height: 46px;
        border-radius: 999px !important;
        border: 1px solid var(--premis-border) !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: var(--premis-shadow);
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }

        .premis-solutions-owl .owl-nav button:hover,
        .premis-solutions-owl .owl-nav button:focus-visible {
            border-color: rgba(245,139,9,.45) !important;
            box-shadow: 0 18px 44px rgba(16,24,40,.16);
            transform: translateY(-50%) scale(1.03);
        }

        .premis-solutions-owl .owl-nav button.disabled {
            opacity: 1;
            cursor: not-allowed;
            border-color: rgba(17, 17, 17, .08) !important;
            background: rgba(246, 247, 249, .92) !important;
            box-shadow: none;
            color: var(--premis-placeholder) !important;
            transform: translateY(-50%);
        }

            .premis-solutions-owl .owl-nav button.disabled span,
            .premis-solutions-owl .owl-nav button.disabled i {
                color: var(--premis-placeholder) !important;
            }

            .premis-solutions-owl .owl-nav button.disabled:hover,
            .premis-solutions-owl .owl-nav button.disabled:focus-visible {
                border-color: rgba(17, 17, 17, .08) !important;
                box-shadow: none;
                transform: translateY(-50%);
        }

.premis-solutions-owl .owl-prev {
    left: -22px;
}

.premis-solutions-owl .owl-next {
    right: -22px;
}

.premis-solutions-owl .owl-nav button span {
    font-size: 22px;
    line-height: 1;
    color: var(--premis-text);
}

@media (max-width: 767.98px) {
    .premis-home-solutions {
        background: var(--premis-brown-soft);
        padding-block: 2.65rem 2.85rem;
    }

    .premis-home-solutions::before {
        inset: -14px;
        background:
            radial-gradient(520px 320px at 18% 12%, rgba(244, 139, 15, .18), transparent 68%),
            linear-gradient(145deg, var(--premis-brown-soft) 0%, #5A3824 58%, #3E281A 100%);
        filter: none;
        opacity: 1;
        transform: none;
    }

    .premis-home-solutions::after {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .premis-home-solutions-head.premis-reveal {
        opacity: 1;
        transform: none;
        transition: none;
        will-change: auto;
    }

    .premis-home-solutions-head .premis-about-kicker {
        display: none;
    }

    .premis-home-solutions-tabs-wrap {
        margin: 1.4rem 0 1.55rem;
        transform: none;
    }

    .premis-home-solutions-cards {
        display: flex;
        gap: .9rem;
        margin-top: 1.4rem;
        margin-right: calc(var(--bs-gutter-x) * -.5);
        padding: .25rem 16vw .95rem 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scroll-padding-left: 0;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

        .premis-home-solutions-cards::-webkit-scrollbar {
            display: none;
        }

    .premis-home-solution-card {
        flex: 0 0 min(90%, 360px);
        scroll-snap-align: start;
        scroll-snap-stop: normal;
        contain: paint;
    }

        .premis-home-solution-card:hover {
            transform: none;
        }

        .premis-home-solution-card:hover .premis-home-solution-card-header::after {
            opacity: 1;
        }

        .premis-home-solution-card:hover .premis-home-solution-card-media img {
            filter: saturate(.86) contrast(.97);
            transform: scale(1);
        }

        .premis-home-solution-card-header {
            background: #24160f;
        }

        .premis-home-solution-card-header::after {
            display: none;
        }

        .premis-home-solution-card-media {
            background: #24160f;
        }

        .premis-home-solution-card-media img {
            filter: none;
            transform: none;
            transition: none;
        }

        .premis-home-solutions-cards.is-scrolling .premis-home-solution-card,
        .premis-home-solutions-cards.is-scrolling .premis-home-solution-card-header::after,
        .premis-home-solutions-cards.is-scrolling .premis-home-solution-card-media img,
        .premis-home-solutions-cards.is-scrolling .premis-home-solution-card-btn,
        .premis-home-solutions-cards.is-scrolling .premis-home-solution-card-btn i {
            transition: none !important;
        }

        .premis-home-solution-card.is-mobile-active .premis-home-solution-card-header::after {
            opacity: 0;
        }

        .premis-home-solution-card.is-mobile-active {
            box-shadow: 0 22px 48px rgba(0, 0, 0, .18);
        }

        .premis-home-solution-card.is-mobile-active .premis-home-solution-card-media img {
            filter: none;
            transform: none;
        }

        .premis-home-solution-card .premis-home-solution-card-btn {
            transform: none;
            background: var(--premis-brand-rgba-300);
            color: var(--premis-brand);
            font-weight: 600;
            transition: none;
        }

        .premis-home-solution-card .premis-home-solution-card-btn i {
            transform: translateX(2px);
            transition: none;
        }

    .premis-home-solutions-more {
        justify-content: flex-start;
        margin-top: 1rem;
    }

        .premis-home-solutions-more .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 38px;
            padding: .42rem .82rem;
            font-size: .86rem;
            margin-inline: 0;
        }

    .premis-home-solutions-hero-banner {
        display: none;
    }
}

@media (max-width: 575.98px) {

    .premis-solutions-panel-cta {
        flex-direction: column;
        align-items: center;
        margin-top: 1.1rem;
    }

        .premis-solutions-panel-cta .btn {
            width: auto;
            min-height: 38px;
            padding: .42rem .82rem;
            font-size: .86rem;
            justify-content: center;
        }

    .premis-home-solution-card {
        flex-basis: 90%;
        padding: 0;
    }

    .premis-home-solution-card-header {
        min-height: 136px;
        padding: 1rem;
    }

    .premis-home-solution-card-media {
        width: 100%;
        height: 100%;
        flex-basis: auto;
    }

    .premis-home-solution-card p {
        margin-right: .95rem;
        margin-left: .95rem;
        font-size: .88rem;
    }

    .premis-home-solution-checks {
        gap: .62rem;
        margin-right: .95rem;
        margin-bottom: 1rem;
        margin-left: .95rem;
        padding-top: .85rem;
    }

        .premis-home-solution-checks li {
            font-size: .85rem;
        }

    .premis-home-solution-card-btn {
        min-height: 36px;
        margin-right: .95rem;
        margin-bottom: .95rem;
        margin-left: .95rem;
        padding: .45rem .72rem;
        font-size: .82rem;
    }

    .premis-home-solutions-tabs-wrap {
        display: none;
        justify-content: flex-start;
        width: 100%;
        margin: 1.4rem 0 1.55rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

        .premis-home-solutions-tabs-wrap::-webkit-scrollbar {
            display: none;
        }

    .premis-home-solutions-tabs {
        min-width: 100%;
        justify-content: flex-start;
    }

    .premis-home-solutions-tab {
        flex: 0 0 auto;
        min-height: 46px;
        padding-inline: 1rem;
    }

    .premis-home-tabs-mobile-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
        margin: 1.35rem 0 1.65rem;
        padding: .55rem;
        border: 1px solid var(--premis-border);
        border-radius: 26px;
        background: rgba(255,255,255,.9);
        box-shadow: 0 18px 44px rgba(16,24,40,.08);
    }

    .premis-home-tabs-mobile-item {
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .55rem;
        padding: .75rem .7rem;
        border: 1px solid rgba(17,17,17,.06);
        border-radius: 18px;
        background: rgba(255,255,255,.72);
        color: var(--premis-muted);
        font-weight: 700;
        line-height: 1;
        box-shadow: 0 8px 20px rgba(16,24,40,.04);
    }

        .premis-home-tabs-mobile-item.is-active {
            border-color: rgba(244,139,15,.34);
            background: var(--premis-brand);
            color: #fff;
            box-shadow: 0 16px 32px rgba(244,139,15,.22);
        }

    .premis-solutions-owl-wrap {
        padding-inline: 0;
        margin-inline: 0;
    }

    .premis-solutions-owl .owl-stage-outer {
        overflow: hidden;
        padding-inline: 0;
        margin-inline: 0;
    }

    .premis-solutions-owl .owl-nav button {
        top: 42%;
        width: 42px;
        height: 42px;
        background: rgba(255,255,255,.94) !important;
    }

    .premis-solutions-owl .owl-prev {
        left: 8px;
    }

    .premis-solutions-owl .owl-next {
        right: 8px;
    }
}





/* =========================================================
   TESTIMONIOS - fondo blur + overlay naranja + cards glass
========================================================= */
.premis-test {
    position: relative;
    padding: 104px 0;
    overflow: hidden;
    isolation: isolate;
    background: #1f130c;
}

/* Fondo imagen (blur real) */
.premis-test-bg {
    position: absolute;
    background-color: #1f130c;
    background-image: url("../img/section/testimonios/hero-testimonios01.png");
    inset: -18px; /* para que el blur no â€œcorteâ€ bordes */
    background-size: cover;
    background-position: center;
    /*filter: blur(5px);*/
    transform: scale(1.06);
    z-index: 0;
}

/* Overlay naranja PREMIS */
.premis-test-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(900px 380px at 20% 25%, rgba(245,139,9,.38), transparent 60%), linear-gradient(180deg, rgba(245,139,9,.20), rgba(0,0,0,.45));
    z-index: 1;
}

.premis-test-container {
    z-index: 2;
}

.premis-test-owl,
.premis-test-owl .owl-stage-outer,
.premis-test-owl .owl-stage,
.premis-test-owl .owl-item,
.premis-test-item {
    background: transparent !important;
}

.premis-test-sub {
    color: rgba(255,255,255,.88);
    font-weight: 700;
}

.premis-test-carousel-wrap {
    position: relative;
    max-width: 1080px;
    margin: 18px auto 0;
    padding: 18px 0 26px;
    --premis-test-card-height: 260px;
}

.premis-test-carousel-mobile {
    display: none;
}

.premis-test-carousel-desktop {
    display: block;
}

@media (max-width: 767.98px) {
    .premis-test-carousel-wrap {
        --premis-test-card-height: 280px;
    }

    .premis-test-carousel-mobile {
        display: block;
    }

    .premis-test-carousel-desktop {
        display: none;
    }
}

.premis-test-carousel .carousel-inner {
    overflow: hidden;
    padding: 12px 0 16px;
    margin: -12px 0 -16px;
}

.premis-test-carousel .carousel-item {
    transition: transform .48s ease-in-out;
}

.premis-test-slide,
.premis-test-slide-card {
    display: flex;
    min-height: var(--premis-test-card-height, 260px);
}

    .premis-test-slide .premis-test-card,
    .premis-test-slide-card .premis-test-card {
        height: var(--premis-test-card-height, 260px);
    }

.premis-test-carousel-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}

.premis-test-carousel-control {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.72);
    background: rgba(34,22,14,.44);
    color: #fff;
    box-shadow: 0 18px 42px rgba(0,0,0,.28);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

    .premis-test-carousel-control:hover,
    .premis-test-carousel-control:focus-visible {
        transform: translateY(-1px);
        background: rgba(34,22,14,.64);
        border-color: rgba(245,139,9,.75);
    }

    .premis-test-carousel-control i {
        font-size: 20px;
        line-height: 1;
    }

.premis-test-carousel-indicators {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

    .premis-test-carousel-indicators [data-bs-target] {
        width: 10px;
        height: 10px;
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 999px;
        background: rgba(255,255,255,.42);
        opacity: 1;
        transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }

    .premis-test-carousel-indicators [data-bs-target].active {
        background: rgba(245,139,9,.92);
        box-shadow: 0 0 0 3px rgba(255,255,255,.28);
        transform: scale(1.04);
    }

/* Owl wrapper */
.premis-test-owl-wrap {
    position: relative;
    margin-top: 18px;
    padding: 10px 0 16px;
    margin-inline: 72px;
}

/* Cards glass */
.premis-test-card {
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    border-radius: 24px;
    padding: 26px 26px 22px;
    background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(255,255,255,.68));
    border: 1px solid rgba(255,255,255,.52);
    backdrop-filter: blur(16px) saturate(1.08);
    -webkit-backdrop-filter: blur(16px) saturate(1.08);
    overflow: hidden;
    isolation: isolate;
    background-clip: padding-box;
    /*box-shadow: 0 22px 54px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.62);*/
    justify-content: center;
    min-height: var(--premis-test-card-height, 260px);
}

    .premis-test-card::before {
        content: "";
        position: absolute;
        inset: 1px;
        z-index: -1;
        border-radius: inherit;
        background: radial-gradient(circle at 18% 0%, rgba(255,255,255,.56), transparent 38%);
        pointer-events: none;
    }

.premis-test-stars {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
}

    .premis-test-stars i {
        color: var(--premis-brand); /* dorado */
        font-size: 1.05rem;
    }

.premis-test-quote {
    max-width: 58ch; /* controla el â€œancho de lecturaâ€ */
    margin-left: auto;
    margin-right: auto;
    font-weight: 600;
    letter-spacing: -0.2px;
    font-size: 1.2rem;
    line-height: 1.45;
    color: #0f172a;
}

.premis-test-person {
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    margin-top: 18px;
}

.premis-test-name {
    font-weight: 650;
    color: #0f172a;
}

.premis-test-role {
    font-weight: 400;
    color: rgba(15,23,42,.70);
    font-size: .92rem;
}

/* Owl layout */
.premis-test-owl .owl-stage {
    display: flex;
    padding-block: 8px;
}

.premis-test-owl .owl-item {
    display: flex;
}

    .premis-test-owl .owl-stage-outer {
        overflow: visible;
        padding: 10px 0 14px;
        margin: -10px 0 -14px;
    }

    .premis-test-owl .owl-item > .premis-test-item {
        width: 100%;
        display: flex;
    }

/* Dots */
.premis-test-owl .owl-dots {
    margin-top: 18px !important;
}

.premis-test-owl .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.40) !important;
}

.premis-test-owl .owl-dot.active span {
    background: rgba(245,139,9,.92) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.28);
}

/* Flechas extremos */
.premis-test-nav .owl-nav {
    margin: 0 !important;
}

    .premis-test-nav .owl-nav button {
        position: absolute;
        top: 42%;
        transform: translateY(-50%);
        width: 56px;
        height: 56px;
        border-radius: 999px !important;
        border: 1px solid rgba(255,255,255,.72) !important;
        background: rgba(34,22,14,.44) !important;
        backdrop-filter: blur(12px);
        box-shadow: 0 18px 42px rgba(0,0,0,.28);
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        transition: transform .18s ease, background .18s ease, border-color .18s ease;
        opacity: 1 !important;
    }

        .premis-test-nav .owl-nav button:hover {
            transform: translateY(-50%) scale(1.03);
            background: rgba(34,22,14,.64) !important;
            border-color: rgba(245,139,9,.75) !important;
        }

.premis-test-nav .owl-prev {
    left: -72px;
}

.premis-test-nav .owl-next {
    right: -72px;
}

@media (max-width: 991.98px) {
    .premis-test-owl-wrap {
        margin-inline: 56px;
    }

    .premis-test-owl .owl-prev {
        left: -56px;
    }

    .premis-test-owl .owl-next {
        right: -56px;
    }
}

.premis-test-nav .owl-nav button span,
.premis-test-nav .owl-nav button i {
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: 1;
}

/* ===== Encabezado secciÃ³n Testimonios ===== */
.premis-test-head {
    position: relative;
    z-index: 3;
    text-align: center;
    padding: 0 0 40px;
}

.premis-test-head-title {
    font-weight: 600;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    letter-spacing: -0.5px;
    margin-bottom: 12px;
    color: #ffffff;
    text-shadow: 0 2px 6px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.25);
}

.premis-test-head-sub {
    max-width: 720px;
    margin: 0 auto;
    font-weight: 400;
    font-size: 1.15rem;
    color: rgba(255,255,255,1);
    text-shadow: 0 2px 6px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.25);
}

/* Mobile: flechas dentro */
@media (max-width: 575.98px) {
    .premis-test {
        padding: 58px 0;
    }

    .premis-test-carousel-wrap {
        margin-inline: 0;
        padding: 14px 0 22px;
        --premis-test-card-height: 260px;
    }

    .premis-test-carousel .carousel-inner {
        padding: 10px 0 14px;
        margin: -10px 0 -14px;
    }

    .premis-test-carousel-mobile {
        display: block;
    }

    .premis-test-carousel-desktop {
        display: none;
    }

    .premis-test-carousel-actions {
        gap: 10px;
        margin-top: 18px;
    }

    .premis-test-carousel-control {
        width: 44px;
        height: 44px;
        background: rgba(34,22,14,.58);
        box-shadow: 0 14px 34px rgba(0,0,0,.24);
    }

    .premis-test-bg {
        inset: 0;
        filter: none;
        transform: none;
    }

    .premis-test-card {
        background: rgba(255,255,255,.9);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: 0 16px 38px rgba(0,0,0,.16);
    }

    .premis-test-nav .owl-nav button {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .premis-test-owl-wrap {
        margin-inline: 0;
        overflow: visible;
        padding: 8px 0 18px;
    }

    .premis-test-owl {
        position: relative;
    }

    .premis-test-owl .owl-stage-outer {
        overflow: hidden;
        padding: 8px 0 12px;
        margin: -8px 0 -12px;
    }

    .premis-test-owl .owl-stage {
        padding-block: 0;
        margin-left: 0 !important;
    }

    .premis-test-owl .owl-item,
    .premis-test-owl .owl-item > .premis-test-item,
    .premis-test-card {
        width: 100%;
    }

    .premis-test-nav .owl-nav {
        display: block !important;
        position: absolute;
        inset: 8px 0 12px;
        z-index: 7;
        pointer-events: none;
        margin: 0 !important;
    }

    .premis-test-nav .owl-nav button {
        pointer-events: auto;
        top: 50%;
        width: 44px;
        height: 44px;
        margin: 0 !important;
        transform: translateY(-50%);
        background: rgba(34,22,14,.58) !important;
        box-shadow: 0 14px 34px rgba(0,0,0,.24);
    }

    .premis-test-nav .owl-prev {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        left: auto !important;
        right: auto !important;
        transform: translate(-9999px, -9999px) !important;
    }

    .premis-test-nav .owl-next {
        top: 50%;
        right: -7px;
        transform: translateY(-50%);
    }

    .premis-test-card {
        min-height: var(--premis-test-card-height, 280px);
        padding: 24px 22px;
    }

    .premis-test-quote {
        font-size: 1.08rem;
        font-weight: 400;
    }
}










/* =========================================================
   CONTACTO full width con fondo imagen (desktop)
   Mobile: sin imagen, fondo naranja degradado
========================================================= */
/*.premis-contact {
    position: relative;
    overflow: hidden;
    padding: 72px 0;
}*/

/* Fondo imagen full width (desktop/tablet) */
/*.premis-contact-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center right;
    z-index: 0;
    transform: scale(1.03);
}*/

/* Overlay para legibilidad (tinte PREMIS + sombra) */
/*.premis-contact::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: radial-gradient(900px 420px at 15% 30%, rgba(245,139,9,.25), transparent 60%), linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,.05) 100%);
}*/

/* Contenedor */
/*.premis-contact-container {
    position: relative;
    z-index: 2;
}*/

/* Bloque izquierdo fijo */
/*.premis-contact-left {
    max-width: 520px;*/ /* controla ancho del form en desktop */
/*}*/

/* Card un poquito glass para que se vea premium sobre foto */
/*.premis-contact .premis-card {
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: 0 24px 60px rgba(0,0,0,.20);
    border-radius: 24px;
}*/

/* ===== Mobile: ocultar imagen y usar degradado naranja ===== */
/*@media (max-width: 575.98px) {*/
/*.premis-contact {
        padding: 56px 0;
    }*/

/*.premis-contact-bg {
        display: none;
    }*/

/*.premis-contact::before {
        background: radial-gradient(800px 420px at 20% 20%, rgba(255,255,255,.18), transparent 60%), linear-gradient(180deg, rgba(245,139,9,.95) 0%, rgba(245,139,9,.70) 55%, rgba(245,139,9,.45) 100%);
    }*/

/*.premis-contact-left {
        max-width: 100%;
    }*/

/*.premis-contact .premis-card {
        background: rgba(255,255,255,.95);
    }*/
/*}*/








/* =========================================================
   Featured banners dentro de Productos
========================================================= */

.premis-featured-banners {
    width: 100%;
}

.premis-banner {
    position: relative;
    height: 340px;
    border-radius: 18px;
    overflow: hidden;
}

    .premis-banner img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

/* Overlay oscuro suave */
/*.premis-banner::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.10) 100% );
    }*/

/* Variante naranja */
/*.premis-banner-orange::after {
    background: linear-gradient( 90deg, rgba(245,139,9,.85) 0%, rgba(245,139,9,.65) 50%, rgba(245,139,9,.35) 100% );
}
*/
/* Contenido interno */
.premis-banner-content {
    position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    z-index: 2;
    max-width: 60%;
}

    .premis-banner-content h3 {
        font-weight: 900;
        margin-bottom: 8px;
    }

    .premis-banner-content p {
        font-weight: 600;
        margin-bottom: 16px;
    }

/* Mobile ajustes */
@media (max-width: 991.98px) {
    .premis-banner {
        height: 240px;
    }

    .premis-banner-content {
        left: 24px;
        max-width: 80%;
    }
}






/* ===== Hero Owl (lado derecho) ===== */
.premis-hero-owl-wrap {
    position: relative;
}

/* Asegura que el slider respete tu visual */
.premis-hero-owl .premis-hero-slide {
    width: 100%;
}

/* Owl: dots abajo con activo naranja */
.premis-hero-owl .owl-dots {
    margin-top: 14px !important;
    text-align: center;
}

.premis-hero-owl .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.18) !important;
}

.premis-hero-owl .owl-dot.active span {
    background: rgba(245,139,9,.90) !important;
}

/* ===== Nav centrado exacto sobre la imagen ===== */
.premis-hero-owl {
    position: relative;
}

    .premis-hero-owl .owl-nav {
        position: absolute;
        inset: 0; /* ocupa todo el alto del slide */
        display: flex;
        align-items: center; /* centra vertical */
        justify-content: space-between;
        pointer-events: none; /* no bloquea clicks en el slide */
        margin: 0 !important;
        z-index: 5;
    }

        .premis-hero-owl .owl-nav button {
            pointer-events: auto;
            width: 44px;
            height: 44px;
            border-radius: 999px !important;
            border: 1px solid rgba(255,255,255,.55) !important;
            background: rgba(255,255,255,.35) !important;
            backdrop-filter: blur(10px);
            box-shadow: var(--premis-shadow);
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            transition: background .18s ease, border-color .18s ease, transform .18s ease, backdrop-filter .18s ease;
        }

    /* SeparaciÃ³n extremos (desktop) */
    .premis-hero-owl .owl-prev {
        margin-left: 12px;
    }

    .premis-hero-owl .owl-next {
        margin-right: 12px;
    }

    .premis-hero-owl .owl-nav button i {
        font-size: 20px;
        color: #fff;
    }

/* En mÃ³vil, que no se salgan */
@media (max-width: 575.98px) {
    .premis-hero-owl .owl-prev {
        left: 8px;
    }

    .premis-hero-owl .owl-next {
        right: 8px;
    }
}

/* Forzar que el slide cubra todo el contenedor */
.premis-hero-owl .premis-hero-photo {
    width: 100%;
    height: 100%;
    min-height: 360px; /* ajusta si tu hero es mÃ¡s alto */
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    /* â€œSellaâ€ el pixel gap */
    transform: translateZ(0);
}

/* Asegura que Owl no deje gaps por layout */
.premis-hero-owl .owl-item {
    transform: translateZ(0);
}

/* Evita desalineo: no escalar el botÃ³n */
.premis-hero-owl .owl-nav button {
    box-sizing: border-box;
    line-height: 1;
    transform: none !important; /* anula cualquier transform previo */
}

    /* Hover: cambia borde/fondo/blur sin mover posiciÃ³n */
    .premis-hero-owl .owl-nav button:hover {
        border-color: rgba(245,139,9,.85) !important;
        /*background: rgba(255,255,255,.82) !important;*/
        backdrop-filter: blur(6px);
    }

    /* Si quieres â€œfeedbackâ€, escala solo el icono */
    .premis-hero-owl .owl-nav button i {
        transition: transform .18s ease;
    }

    .premis-hero-owl .owl-nav button:hover i {
        transform: scale(1.05);
    }

/* ===== Dots PREMIS ===== */
.premis-hero-owl .owl-dots {
    margin-top: 12px !important;
    text-align: center;
}

.premis-hero-owl .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.16) !important;
}

.premis-hero-owl .owl-dot.active span {
    background: rgba(245,139,9,.95) !important;
}

/* ===== HERO OWL: limpiar fondo y sellar bordes ===== */
.premis-hero-owl-wrap,
.premis-hero-owl,
.premis-hero-owl .owl-stage-outer,
.premis-hero-owl .owl-stage,
.premis-hero-owl .owl-item,
.premis-hero-owl .premis-hero-slide {
    background: transparent !important;
}

    /* El stage-outer debe heredar el radio para que NO se vean esquinas oscuras */
    .premis-hero-owl .owl-stage-outer {
        border-radius: 22px; /* mismo radio que tu visual */
        overflow: hidden; /* clave */
    }











/* =========================================================
   SecciÃ³n corporativa: Experiencia
========================================================= */
.premis-exp {
    /*background: var(--premis-bg-soft);*/
    background: var(--premis-brand-50);
    padding-block: clamp(3.4rem, 5.8vw, 5.1rem);
}

/* Kicker */
.premis-exp-kicker {
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(15,23,42,.65);
    margin-bottom: 10px;
}

/* TÃ­tulo */
.premis-exp-title {
    font-weight: 600;
    letter-spacing: -0.8px;
    line-height: 1.05;
    margin-bottom: 20px;
    font-size: clamp(2rem, 3.2vw, 3rem);
    color: var(--premis-text);
}

/* Texto */
.premis-exp-lead {
    color: rgba(15,23,42,.70);
    /*font-weight: 500;*/
    max-width: 68ch;
    margin-bottom: 40px;
}

/* Cards (lado izquierdo) */
.premis-exp-list {
    display: grid;
    gap: 16px;
}

.premis-exp-card {
    display: flex;
    gap: 14px;
    max-width: 600px;
    padding: 18px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: var(--premis-shadow-sm);
}

.premis-exp-ico {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(245,139,9,.12);
    border: 1px solid rgba(245,139,9,.22);
    flex: 0 0 auto;
}

    .premis-exp-ico i {
        color: var(--premis-brand);
        font-size: 1.1rem;
    }

.premis-exp-card-title {
    font-weight: 650;
    color: var(--premis-text);
    margin-bottom: 4px;
}

.premis-exp-card-text {
    color: rgba(15,23,42,.68);
    /*font-weight: 650;*/
}

/* Collage: experiencia */
.premis-desktop-photo-slot {
    display: flex;
    align-items: stretch;
}

.premis-exp-collage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    max-width: 520px;
    margin-left: auto;
    align-self: stretch;
    align-content: start;
}

.premis-exp-collage-card {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    box-shadow: 0 24px 64px rgba(62, 42, 28, .12);
    isolation: isolate;
}

    .premis-exp-collage-card a,
    .premis-exp-collage-card button {
        display: block;
        width: 100%;
        height: 100%;
        color: inherit;
        cursor: zoom-in;
        border: 0;
        padding: 0;
        background: transparent;
    }

    .premis-exp-collage-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: var(--premis-gallery-overlay);
        mix-blend-mode: multiply;
        opacity: .74;
        pointer-events: none;
        transition: opacity .28s ease, background-color .28s ease;
    }

    .premis-exp-collage-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
        transition: transform 1.8s cubic-bezier(.22, 1, .36, 1);
    }

    .premis-exp-collage-card:hover::before {
        opacity: .46;
    }

    .premis-exp-collage-card:hover img {
        transform: scale(1.06);
    }

.premis-exp-collage-card-top {
    min-height: 0;
    aspect-ratio: 1 / 1;
}

.premis-exp-collage-card-wide {
    grid-column: span 2;
    aspect-ratio: 4 / 3;
}

/* En tablet/móvil: collage inline más compacto */
@media (max-width: 991.98px) {
    .premis-exp-collage {
        max-width: 100%;
        margin-left: 0;
    }

    .premis-exp-collage-card-wide {
        aspect-ratio: 4 / 3;
    }
}
/* ===== Experiencia cards responsive ajuste ===== */
@media (max-width: 767.98px) {

    .premis-exp-card {
        flex-direction: column;
        align-items: center; /* centra horizontalmente */
        text-align: center; /* centra texto */
    }


    .premis-exp-ico {
        width: 52px;
        height: 52px;
        margin-bottom: 5px; /* separaciÃ³n del tÃ­tulo */
    }

        .premis-exp-ico i {
            font-size: 1.25rem;
        }


    .premis-exp-card-title {
        font-size: .85rem;
        margin-bottom: 6px;
    }

    .premis-exp-card-text {
        font-size: .85rem;
        max-width: 42ch; /* evita que el texto se vea muy ancho */
    }
}










/* =========================================================
   Certificaciones (foto izquierda + texto derecha)
========================================================= */
.premis-cert {
    margin: 50px 0px;
    background: #fff;
}

/* Foto con borde naranja y esquinas tipo referencia */
.premis-cert-photo {
    max-width: 550px;
    border: 10px solid var(--premis-brand);
    border-radius: 100px 0px 100px 0px; /* esquina inferior derecha mÃ¡s redondeada */
    overflow: hidden;
    background: rgba(245,139,9,.08);
}

    .premis-cert-photo img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

/* Texto */
.premis-cert-content {
    padding-left: 8px; /* micro aire */
}

.premis-cert-kicker {
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(15,23,42,.65);
    margin-bottom: 10px;
}

.premis-cert-title {
    font-weight: 650;
    letter-spacing: 1.2px;
    line-height: 1.05;
    margin-bottom: 20px;
    font-size: clamp(2rem, 3.2vw, 3rem);
    color: var(--premis-brand);
}

.premis-cert-text {
    color: rgba(15,23,42,.72);
    /*font-weight: 650;*/
    font-size: 1.25rem;
    line-height: 1.65;
    padding-bottom: 20px;
    max-width: 72ch;
    margin: 0;
}

.premis-cert-glass-btn {
    border-color: rgba(255,255,255,.24) !important;
    background: rgba(34,22,14,.46) !important;
    color: rgba(255,247,239,.96) !important;
    /*backdrop-filter: blur(10px);*/
    /*-webkit-backdrop-filter: blur(10px);*/
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

    .premis-cert-glass-btn:hover,
    .premis-cert-glass-btn:focus,
    .premis-cert-glass-btn:focus-visible,
    .premis-cert-glass-btn:active {
        border-color: rgba(245,139,9,.75) !important;
        background: rgba(34,22,14,.62) !important;
        color: #fff !important;
        box-shadow: 0 18px 44px rgba(0,0,0,.24);
    }

    .premis-cert-glass-btn i,
    .premis-cert-glass-btn span {
        color: inherit;
    }

/* Responsive: en mÃ³vil, foto arriba y centrado */
@media (max-width: 991.98px) {
    .premis-cert-content {
        padding-left: 0;
        text-align: left;
    }

    .premis-cert-photo {
        border-radius: 22px 22px 80px 22px;
    }
}

@media (max-width: 767.98px) {
    .premis-mobile-inline-photo {
        display: block;
        margin: 18px 0 22px;
    }

    .premis-mobile-inline-photo .premis-exp-collage,
    .premis-mobile-inline-photo .premis-cert-photo {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }

    .premis-desktop-photo-slot,
    #calidad > .container > .row > .col-lg-6:first-child {
        display: none;
    }

    .premis-exp-left > .btn,
    .premis-cert-content > .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: .42rem .82rem;
        font-size: .86rem;
        margin-inline: auto;
    }

    .premis-exp-left,
    .premis-cert-content {
        text-align: center;
    }

    .premis-exp-left .premis-about-kicker,
    .premis-cert-content .premis-about-kicker {
        display: inline-flex;
        justify-content: flex-start;
        width: 100%;
        text-align: left;
    }

    .premis-exp-left .premis-exp-title,
    .premis-cert-content .premis-cert-title {
        text-align: left;
    }

    .premis-home-values-cta .btn,
    .premis-footer-request-form .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: .42rem .82rem;
        font-size: .86rem;
        margin-inline: 0;
    }

    .premis-footer-request-form .d-grid {
        justify-content: stretch;
    }
}










/* =========================================================
   Owl Productos Destacados
========================================================= */
.premis-prod-owl {
    position: relative;
}

    /* SeparaciÃ³n/altura consistente */
    .premis-prod-owl .owl-stage {
        display: flex;
    }

    .premis-prod-owl .owl-item {
        display: flex;
    }

        .premis-prod-owl .owl-item > article {
            width: 100%;
        }

    /* Dots PREMIS */
    .premis-prod-owl .owl-dots {
        margin-top: 14px !important;
        text-align: center;
    }

    .premis-prod-owl .owl-dot span {
        width: 10px !important;
        height: 10px !important;
        border-radius: 999px !important;
        background: rgba(0,0,0,.18) !important;
    }

    .premis-prod-owl .owl-dot.active span {
        background: rgba(245,139,9,.92) !important;
    }

    /* Nav overlay centrado vertical */
    .premis-prod-owl .owl-nav {
        position: absolute;
        inset: 0;
        display: flex;
        /*align-items: center;*/
        top: 35%;
        justify-content: space-between;
        pointer-events: none;
        margin: 0 !important;
        z-index: 5;
    }

        .premis-prod-owl .owl-nav button {
            pointer-events: auto;
            width: 44px;
            height: 44px;
            border-radius: 999px !important;
            border: 1px solid rgba(0,0,0,.10) !important;
            background: rgba(255,255,255,.78) !important;
            backdrop-filter: blur(10px);
            box-shadow: var(--premis-shadow);
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            transition: background .18s ease, border-color .18s ease, backdrop-filter .18s ease;
        }

    /* Botones extremos */
    .premis-prod-owl .owl-prev {
        margin-left: -18px;
    }

    .premis-prod-owl .owl-next {
        margin-right: -18px;
    }

    .premis-prod-owl .owl-nav button i {
        font-size: 18px;
        color: var(--premis-text);
        line-height: 1;
        transition: transform .18s ease;
    }

    /* Hover premium: borde naranja + mÃ¡s blanco + menos blur + micro feedback del icono */
    .premis-prod-owl .owl-nav button:hover {
        border-color: rgba(245,139,9,.85) !important;
        background: rgba(255,255,255,.92) !important;
        backdrop-filter: blur(6px);
    }

        .premis-prod-owl .owl-nav button:hover i {
            transform: scale(1.08);
        }

/* MÃ³vil: ocultar flechas para no tapar cards */
@media (max-width: 767.98px) {
    .premis-prod-owl .owl-nav {
        display: none !important;
    }

    .premis-prod-owl .owl-prev,
    .premis-prod-owl .owl-next {
        margin: 0;
    }
}

/* Tablet: que no se salgan demasiado */
@media (max-width: 1199.98px) {
    .premis-prod-owl .owl-prev {
        margin-left: 6px;
    }

    .premis-prod-owl .owl-next {
        margin-right: 6px;
    }
}





/* =========================================================
   CONTACTO con MAPA gris + formulario flotante
========================================================= */
.premis-contact {
    position: relative;
    overflow: hidden;
    padding: 72px 0;
}

/* Mapa fondo full */
.premis-contact-map {
    position: absolute;
    inset: 0;
    z-index: 0;
}

    .premis-contact-map iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
        /* Gris corporativo */
        filter: grayscale(1) contrast(1.05) brightness(.95);
        transform: scale(1.02); /* evita lÃ­neas/pixel gap */
        transform-origin: center;
    }

/* Overlay: un toque PREMIS + oscurecido para que el card destaque */
.premis-contact-map-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: radial-gradient(900px 420px at 15% 30%, rgba(245,139,9,.18), transparent 60%), linear-gradient(90deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.18) 52%, rgba(0,0,0,.06) 100%);
}

/* Contenido */
.premis-contact-container {
    position: relative;
    z-index: 2;
}

.premis-contact-left {
    max-width: 520px;
}

/* Card sobre el mapa (glass leve) */
.premis-contact .premis-card {
    /*background: rgba(255,255,255,1);*/
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: 0 24px 60px rgba(0,0,0,.20);
    border-radius: 24px;
}

/* Mobile: si quieres que el mapa NO aparezca y sea degradado naranja */
@media (max-width: 575.98px) {
    .premis-contact {
        padding: 56px 0;
    }

    .premis-contact-map {
        display: none;
    }

    .premis-contact-map-overlay {
        background: radial-gradient(800px 420px at 20% 20%, rgba(255,255,255,.18), transparent 60%), linear-gradient(180deg, rgba(245,139,9,.95) 0%, rgba(245,139,9,.70) 55%, rgba(245,139,9,.45) 100%);
    }

    .premis-contact-left {
        max-width: 100%;
    }

    .premis-contact .premis-card {
        /*background: rgba(255,255,255,.95);*/
    }
}

/* =========================================================
   PREMIS landing refinado
========================================================= */
html {
    scroll-padding-top: calc(var(--premis-nav-h) + 20px);
}

body {
    position: relative;
}

    body::before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        background: radial-gradient(900px 520px at 10% -10%, rgba(244,139,15,.08), transparent 60%), radial-gradient(820px 420px at 100% 4%, rgba(17,20,23,.05), transparent 58%);
        z-index: -1;
    }

.premis-h1,
.premis-section-title,
.premis-exp-title,
.premis-cert-title,
.premis-test-head-title,
.premis-solutions-title,
.premis-banner h3 {
    font-family: var(--premis-font);
    font-weight: 500;
}

.premis-brand,
.btn-premis,
.btn-premis-outline,
.btn-premis-outline-on-dark,
.premis-mega2-h,
.premis-kicker {
    font-family: var(--premis-body-font);
}

.premis-kicker,
.premis-chip,
.premis-solutions-tab,
.premis-exp-kicker,
.premis-cert-kicker {
    font-family: var(--premis-accent-font);
}

.premis-brand,
.premis-navlink,
.btn-premis,
.btn-premis-outline,
.btn-premis-outline-on-dark,
.premis-mega2-h,
.premis-kicker,
.premis-cat-title,
.premis-exp-card-title,
.premis-test-name {
    letter-spacing: -.01em;
}

.btn-premis,
.btn-premis-outline,
.btn-premis-outline-on-dark {
    letter-spacing: .01em;
    transition: transform .24s ease, box-shadow .24s ease, background-color .24s ease, border-color .24s ease;
}

    .btn-premis:hover,
    .btn-premis-outline:hover,
    .btn-premis-outline-on-dark:hover {
        transform: translateY(-2px);
    }

.premis-card,
.premis-banner,
.premis-exp-card,
.premis-test-card,
.premis-contact .premis-card {
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background-color .35s ease;
}

.premis-navbar {
    top: 0;
    transition: height .28s ease, background-color .28s ease, box-shadow .28s ease, border-color .28s ease;
}

    .premis-navbar.is-scrolled {
        background: rgba(255,255,255,.95);
        box-shadow: 0 18px 44px rgba(16,24,40,.08);
        border-bottom-color: rgba(17,17,17,.06);
    }

.premis-hero {
    position: relative;
    isolation: isolate;
    background: linear-gradient(120deg, rgba(244,139,15,.18), rgba(255,255,255,.02) 52%), linear-gradient(180deg, #fef4e8 0%, #ffffff 52%, #fffaf5 100%);
    padding: clamp(4.4rem, 7vw, 6.4rem) 0;
}

    .premis-hero::before,
    .premis-hero::after {
        content: "";
        position: absolute;
        inset: auto;
        border-radius: 999px;
        pointer-events: none;
        z-index: 0;
        transition: transform .2s linear;
    }

    .premis-hero::before {
        top: -120px;
        left: -80px;
        width: min(42vw, 520px);
        height: min(42vw, 520px);
        background: radial-gradient(circle, rgba(244,139,15,.20) 0%, rgba(244,139,15,0) 68%);
        transform: translate3d(0, calc(var(--premis-hero-shift, 0px) * .45), 0);
    }

    .premis-hero::after {
        right: -140px;
        bottom: -180px;
        width: min(50vw, 720px);
        height: min(50vw, 720px);
        background: radial-gradient(circle, rgba(17,20,23,.10) 0%, rgba(17,20,23,0) 64%);
        transform: translate3d(0, calc(var(--premis-hero-shift, 0px) * -.32), 0);
    }

    .premis-hero .container {
        position: relative;
        z-index: 1;
    }

.premis-hero-copy > * {
    opacity: 0;
    transform: translateY(22px);
    animation: premisIntroFade .8s cubic-bezier(.22, 1, .36, 1) forwards;
}

    .premis-hero-copy > *:nth-child(1) {
        animation-delay: .06s;
    }

    .premis-hero-copy > *:nth-child(2) {
        animation-delay: .14s;
    }

    .premis-hero-copy > *:nth-child(3) {
        animation-delay: .22s;
    }

    .premis-hero-copy > *:nth-child(4) {
        animation-delay: .30s;
    }

    .premis-hero-copy > *:nth-child(5) {
        animation-delay: .38s;
    }

.premis-hero-stage {
    opacity: 0;
    transform: translateY(26px);
    animation: premisIntroFade .9s cubic-bezier(.22, 1, .36, 1) .24s forwards;
}

.premis-kicker {
    background: rgba(255,248,240,.78);
    border-color: rgba(244,139,15,.24);
    backdrop-filter: blur(12px);
    box-shadow: 0 16px 34px rgba(244,139,15,.10);
}

.premis-h1 {
    max-width: 11ch;
    font-size: clamp(3rem, 3vw, 5.2rem);
    line-height: .97;
    letter-spacing: -.045em;
    font-weight: 500;
}

.premis-lead {
    max-width: 56ch;
    font-size: 1.08rem;
    line-height: 1.72;
}

.premis-trust-item {
    background: rgba(255,255,255,.72);
    border-color: rgba(244,139,15,.18);
    backdrop-filter: blur(12px);
}

.premis-hero-owl-wrap {
    position: relative;
    padding: 20px 0 8px;
}

    .premis-hero-owl-wrap::before {
        content: "";
        position: absolute;
        inset: 28px -24px -8px auto;
        width: 42%;
        border-radius: 36px;
        background: linear-gradient(180deg, rgba(244,139,15,.18), rgba(244,139,15,.02));
        filter: blur(24px);
        z-index: 0;
    }

.premis-hero-photo {
    min-height: 440px;
    border-color: rgba(255,255,255,.48);
    box-shadow: 0 34px 84px rgba(16,24,40,.16);
}

    .premis-hero-photo::after {
        background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(17,20,23,.18)), radial-gradient(820px 340px at 68% 22%, rgba(17,20,23,.18), transparent 58%);
    }

.premis-hero-owl .active .premis-hero-photo {
    animation: premisHeroFloat 13s ease-in-out infinite alternate;
}

.premis-chip,
.premis-hero-metric {
    background: rgba(255,255,255,.82);
    border-color: rgba(255,255,255,.6);
    box-shadow: 0 20px 46px rgba(16,24,40,.10);
}

    .premis-chip:nth-child(2) {
        animation: premisBadgeDrift 4.8s ease-in-out infinite;
    }

    .premis-chip:nth-child(3) {
        animation: premisBadgeDrift 5.6s ease-in-out infinite .4s;
    }

.premis-hero-metric {
    animation: premisBadgeDrift 5.2s ease-in-out infinite .2s;
}

.premis-section {
    position: relative;
    overflow: clip;
}

.premis-section-title {
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.02;
    letter-spacing: -.03em;
    font-weight: 500;
}

.premis-cat {
    border-color: rgba(17,17,17,.08);
}

    .premis-cat:hover,
    .premis-banner:hover,
    .premis-exp-card:hover,
    .premis-test-card:hover,
    .premis-contact .premis-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 6px 8px rgba(16,24,40,.12);
    }

.premis-cat-img::before,
.premis-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17,20,23,.04), rgba(17,20,23,.22));
    z-index: 1;
    pointer-events: none;
}

.premis-cat-img {
    transform-origin: center;
}

.premis-cat:hover .premis-cat-img,
.premis-banner:hover img {
    transform: scale(1.045);
}

.premis-banner img {
    transition: transform .5s ease;
}

.premis-exp {
    background: radial-gradient(860px 420px at 10% 10%, rgba(255,255,255,.60), transparent 58%), linear-gradient(180deg, #fff7ed 0%, #fffaf4 100%);
    padding-top: clamp(4rem, 6.2vw, 5rem);
    padding-bottom: clamp(4rem, 6.2vw, 5rem);
}

.premis-exp-card {
    background: rgba(255,255,255,.92);
}

.premis-exp-photo,
.premis-cert-photo {
    box-shadow: 0 28px 72px rgba(16,24,40,.14);
}

.premis-cert {
    margin: 0;
    padding-top: clamp(4rem, 7vw, 6rem);
    padding-bottom: clamp(4rem, 7vw, 6rem);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: radial-gradient(840px 360px at 100% 0%, rgba(244,139,15,.10), transparent 55%), linear-gradient(180deg, #ffffff 0%, #fffaf3 100%);
}

.premis-cert::before {
    content: "";
    position: absolute;
    top: clamp(26px, 3.2vw, 54px);
    right: clamp(42px, 4.6vw, 96px);
    z-index: 0;
    width: min(31vw, 470px);
    aspect-ratio: 530 / 151;
    background: url("../img/section/float-certified.png") right center / contain no-repeat;
    opacity: .72;
    filter: saturate(.94) contrast(.98);
    pointer-events: none;
}

.premis-cert > .container {
    position: relative;
    z-index: 1;
}

.premis-cert-title {
    color: var(--premis-text);
}

.premis-cert-text {
    font-size: 1rem;
}

@media (max-width: 991.98px) {
    .premis-cert::before {
        display: none;
    }
}

#destacados {
    background: linear-gradient(180deg, rgba(255,248,240,.92) 0%, rgba(250,250,251,.98) 100%) !important;
}

.premis-test {
    position: relative;
}

.premis-test-overlay {
    background: radial-gradient(900px 360px at 20% 22%, rgba(244,139,15,.34), rgba(244,139,15,.10) 40%, transparent 66%), linear-gradient(180deg, rgba(37,23,11,.60), rgba(14,10,8,.74));
}

/*.premis-test-card {
    box-shadow: 0 24px 64px rgba(0,0,0,.16);
}*/

.premis-contact-map-overlay {
    background: radial-gradient(900px 420px at 16% 28%, rgba(244,139,15,.22), transparent 58%), linear-gradient(90deg, rgba(17,20,23,.58) 0%, rgba(17,20,23,.20) 52%, rgba(17,20,23,.08) 100%);
}

/*.premis-contact .premis-card {
    background: rgba(255,255,255,.86);
    border-color: rgba(255,255,255,.58);
    backdrop-filter: blur(18px);
}*/

.premis-pill {
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}

    .premis-pill:hover,
    .premis-pill.is-active {
        transform: translateY(-1px);
    }

#soluciones-premium {
    background: radial-gradient(920px 420px at 50% 0%, rgba(244,139,15,.12), transparent 62%), linear-gradient(180deg, #fff8ef 0%, #ffffff 100%);
}

.premis-solutions-head {
    max-width: 860px;
    margin-inline: auto;
}

.premis-solutions-head-text {
    max-width: 68ch;
    margin-inline: auto;
    font-size: 1.05rem;
    line-height: 1.7;
}

.premis-solutions-shell {
    padding: 22px;
    border-radius: 30px;
    border-color: rgba(17,17,17,.08);
    box-shadow: 0 28px 74px rgba(16,24,40,.12);
}

    .premis-solutions-shell:hover {
        transform: none;
    }

.premis-solutions-tabs {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 22px;
    padding-bottom: 8px;
}

.premis-solutions-tab {
    border: 1px solid rgba(17,17,17,.10);
    background: rgba(255,255,255,.82);
    color: var(--premis-text);
    border-radius: 999px;
    padding: .9rem 1.2rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(16,24,40,.06);
    transition: transform .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, color .22s ease;
}

    .premis-solutions-tab:hover {
        transform: translateY(-2px);
        border-color: rgba(244,139,15,.34);
    }

    .premis-solutions-tab.is-active {
        background: linear-gradient(135deg, rgba(244,139,15,.18), rgba(255,177,74,.24));
        border-color: rgba(244,139,15,.55);
        box-shadow: 0 16px 32px rgba(244,139,15,.14);
    }

.premis-solutions-panel {
    animation: premisSolutionsFade .45s cubic-bezier(.22, 1, .36, 1);
}

.premis-solutions-copy {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 10px 8px 10px 4px;
}

.premis-solutions-label {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: fit-content;
    padding: .42rem .7rem;
    border-radius: 999px;
    background: var(--premis-brand-50);
    color: rgba(15,23,42,.72);
    border: 1px solid rgba(244,139,15,.20);
    font-size: .84rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.premis-solutions-title {
    margin: 16px 0 14px;
    font-size: clamp(1.85rem, 3vw, 2.7rem);
    line-height: 1.02;
    letter-spacing: -.04em;
    color: var(--premis-text);
    font-weight: 500;
}

.premis-solutions-lead {
    color: rgba(15,23,42,.72);
    font-size: 1rem;
    line-height: 1.72;
    max-width: 56ch;
    margin-bottom: 24px;
}

.premis-solutions-accordion {
    display: grid;
    gap: 14px;
    margin-top: auto;
}

.premis-solutions-acc-item {
    border: 1px solid rgba(17,17,17,.08);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,250,251,.96));
    box-shadow: 0 14px 32px rgba(16,24,40,.06);
    overflow: hidden;
}

.premis-solutions-acc-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    border: 0;
    background: transparent;
    color: var(--premis-text);
    padding: 1rem 1.15rem;
    font-weight: 700;
}

    .premis-solutions-acc-trigger i {
        width: 34px;
        height: 34px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: rgba(244,139,15,.10);
        color: var(--premis-brand);
        transition: transform .22s ease, background-color .22s ease;
        flex: 0 0 auto;
    }

.premis-solutions-acc-item.is-open .premis-solutions-acc-trigger i {
    transform: rotate(45deg);
    background: rgba(244,139,15,.18);
}

.premis-solutions-acc-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .28s ease;
}

    .premis-solutions-acc-panel > p {
        overflow: hidden;
        margin: 0;
        padding: 0 1.15rem 0;
        color: rgba(15,23,42,.72);
        line-height: 1.72;
    }

.premis-solutions-acc-item.is-open .premis-solutions-acc-panel {
    grid-template-rows: 1fr;
}

    .premis-solutions-acc-item.is-open .premis-solutions-acc-panel > p {
        padding-bottom: 1.05rem;
    }

.premis-solutions-visual {
    position: relative;
    min-height: 100%;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.42);
    background-size: cover;
    background-position: center;
    box-shadow: 0 30px 64px rgba(16,24,40,.16);
}

    .premis-solutions-visual::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(17,20,23,.12), rgba(17,20,23,.54)), radial-gradient(720px 260px at 75% 22%, rgba(244,139,15,.16), transparent 58%);
    }

.premis-solutions-visual-top,
.premis-solutions-metric {
    position: relative;
    z-index: 1;
}

.premis-solutions-visual-top {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 20px;
}

.premis-solutions-chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .8rem;
    border-radius: 999px;
    background: rgba(255,255,255,.84);
    color: var(--premis-text);
    border: 1px solid rgba(255,255,255,.55);
    backdrop-filter: blur(10px);
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(16,24,40,.10);
}

    .premis-solutions-chip i {
        color: var(--premis-brand);
    }

.premis-solutions-metric {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    padding: 1.1rem 1.15rem;
    border-radius: 22px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(255,255,255,.58);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 44px rgba(16,24,40,.14);
}

.premis-solutions-metric-value {
    font-size: clamp(1.5rem, 2.5vw, 2.1rem);
    line-height: 1;
    font-weight: 800;
    color: var(--premis-text);
}

.premis-solutions-metric-text {
    margin-top: 8px;
    color: rgba(15,23,42,.70);
    line-height: 1.55;
}

.premis-reveal {
    opacity: 0;
    transform: translate3d(0, 36px, 0);
    transition: opacity 1.08s cubic-bezier(.22, 1, .36, 1), transform 1.08s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--premis-reveal-delay, 0ms);
    will-change: transform, opacity;
}

.premis-reveal-left {
    transform: translate3d(-42px, 20px, 0);
}

.premis-reveal-right {
    transform: translate3d(42px, 20px, 0);
}

.premis-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@keyframes premisIntroFade {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes premisHeroFloat {
    0% {
        transform: scale(1.015) translateY(-2px);
    }

    100% {
        transform: scale(1.045) translateY(10px);
    }
}

@keyframes premisBadgeDrift {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

@keyframes premisSolutionsFade {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991.98px) {
    .premis-h1 {
        max-width: 13ch;
        font-size: clamp(2.6rem, 9vw, 4rem);
    }

    .premis-hero {
        padding-top: clamp(3.4rem, 8vw, 4.4rem);
    }

    .premis-hero-photo {
        min-height: 380px;
    }

    .premis-solutions-shell {
        padding: 18px;
    }

    .premis-solutions-visual {
        min-height: 420px;
    }

    .premis-hero-owl-wrap::before {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .premis-hero {
        padding-bottom: 3.4rem;
    }

    .premis-h1 {
        max-width: 100%;
    }

    .premis-hero-photo {
        min-height: 320px;
    }

    .premis-section-title {
        font-size: clamp(1.8rem, 8vw, 2.5rem);
    }

    .premis-solutions-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 10px;
        margin-inline: -4px;
    }

    .premis-solutions-tab {
        white-space: nowrap;
        flex: 0 0 auto;
    }

    .premis-solutions-title {
        font-size: clamp(1.55rem, 8vw, 2rem);
    }

    .premis-solutions-lead {
        font-size: .96rem;
    }

    .premis-solutions-shell {
        padding: 14px;
        border-radius: 24px;
    }

    .premis-solutions-visual {
        min-height: 340px;
        border-radius: 24px;
    }

    .premis-solutions-metric {
        left: 14px;
        right: 14px;
        bottom: 14px;
    }

    .premis-contact .premis-card {
        background: rgba(255,255,255,.94);
    }

    .premis-cert-text {
        font-size: .85rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premis-hero-copy > *,
    .premis-hero-stage,
    .premis-reveal,
    .premis-about-cover-media img,
    .premis-about-cover-overlay,
    .premis-about-cover-copy > *,
    .premis-impact-hero-media,
    .premis-impact-hero-overlay,
    .premis-impact-hero-copy,
    .premis-impact-hero-copy > *,
    .premis-hero-owl .active .premis-hero-photo,
    .premis-chip,
    .premis-hero-metric,
    .premis-solutions-panel {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .premis-hero::before,
    .premis-hero::after {
        transform: none !important;
    }
}

@media (max-width: 991.98px) {
    .premis-reveal,
    .premis-reveal-left,
    .premis-reveal-right {
        transform: none;
        transition: opacity .86s cubic-bezier(.22, 1, .36, 1);
    }

    .premis-home-solutions-panel {
        transition: opacity .01s linear, visibility 0s linear, transform .01s linear;
    }

    .premis-home-solutions-panel,
    .premis-home-solutions-panel.is-active {
        transform: none;
    }
}

@font-face {
    font-family: "QueensVariable";
    src: url("../fonts/QueensVar.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "VirtuoseMedium";
    src: url("../fonts/Virtuose-Medium.otf") format("opentype");
    font-display: swap;
}

@font-face {
    font-family: "PracticalGroteskVariable";
    src: url("../fonts/PracticalGrotesk-Variable.ttf") format("truetype");
    font-display: swap;
}

@font-face {
    font-family: "BebasNeuePremis";
    src: url("../fonts/BebasNeue-Regular.woff") format("woff");
    font-display: swap;
}

@font-face {
    font-family: "NoiGroteskImpact";
    src: url("../fonts/NoiGroteskFix-Bold.ttf") format("truetype");
    font-display: swap;
}

/* =========================================================
   HERO IMPACT - propuesta alternativa
========================================================= */
.premis-impact-hero {
    position: relative;
    height: calc(100vh - var(--premis-nav-h) - var(--premis-topbar-h));
    height: calc(100svh - var(--premis-nav-h) - var(--premis-topbar-h));
    min-height: calc(100vh - var(--premis-nav-h) - var(--premis-topbar-h));
    min-height: calc(100svh - var(--premis-nav-h) - var(--premis-topbar-h));
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: #120d09;
}

    .premis-impact-hero::before {
        content: "";
        position: absolute;
        top: 8%;
        right: -120px;
        width: 320px;
        height: 320px;
        border-radius: 999px;
        background: rgb(235, 143, 77, 0.08);
        filter: blur(10px);
        pointer-events: none;
        z-index: 0;
    }

    .premis-impact-hero .carousel-inner,
    .premis-impact-hero .carousel-item {
        height: 100%;
        min-height: 100%;
    }

.premis-impact-hero-media,
.premis-impact-hero-overlay,
.premis-impact-hero-container {
    position: absolute;
    inset: 0;
}

.premis-impact-hero-media {
    background-image: var(--premis-impact-bg);
    background-position: var(--premis-impact-bg-position, center center);
    background-size: cover;
    background-repeat: no-repeat;
    transform: scale(1.04);
}

.premis-impact-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--premis-impact-bg-position, center center);
    z-index: 0;
}

    .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-media {
        animation: premisImpactHeroImageIn 1.25s cubic-bezier(.22, 1, .36, 1) both;
    }

    .premis-impact-hero-media::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: var(--premis-impact-bg);
        background-size: cover;
        background-position: var(--premis-impact-bg-position, center center);
        background-repeat: no-repeat;
        filter: blur(5px);
        -webkit-mask-image: linear-gradient(112deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.98) 30%, rgba(0,0,0,.36) 50%, rgba(0,0,0,0) 68%);
        mask-image: linear-gradient(112deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.98) 30%, rgba(0,0,0,.36) 50%, rgba(0,0,0,0) 68%);
    }

.premis-impact-hero-overlay {
    background:
        linear-gradient(180deg, rgba(53, 39, 29, .44) 0%, rgba(53, 39, 29, .26) 14%, rgba(53, 39, 29, .10) 28%, rgba(53, 39, 29, 0) 46%),
        linear-gradient(270deg, rgba(53, 39, 29, .34) 0%, rgba(53, 39, 29, .18) 10%, rgba(53, 39, 29, .08) 18%, rgba(53, 39, 29, 0) 30%),
        linear-gradient(90deg, rgba(53, 39, 29, .34) 0%, rgba(53, 39, 29, .18) 10%, rgba(53, 39, 29, .08) 18%, rgba(53, 39, 29, 0) 30%),
        linear-gradient(90deg, rgba(20, 14, 10, .18) 0%, rgba(20, 14, 10, .06) 11%, rgba(20, 14, 10, 0) 22%, rgba(20, 14, 10, 0) 74%, rgba(20, 14, 10, .08) 86%, rgba(20, 14, 10, .18) 100%),
        var(--premis-brand-rgba-200);
}

    .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-overlay {
        animation: premisImpactHeroOverlayIn 1s ease .14s both;
    }

.premis-impact-hero-container {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding-top: clamp(28px, 4vw, 42px);
    padding-bottom: clamp(38px, 7vw, 72px);
}

.premis-impact-hero-copy {
    max-width: min(42rem, 46vw);
    color: #fff7f0;
    padding: clamp(24px, 3vw, 38px);
    border-radius: 34px;
    background: rgba(34, 22, 14, .58);
    box-shadow: 0 26px 60px rgba(0, 0, 0, .32);
    backdrop-filter: blur(12px);
}

    .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-copy {
        animation: premisImpactHeroPanelIn .92s cubic-bezier(.22, 1, .36, 1) .18s both;
    }

    .premis-impact-hero-copy > * {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
    }

    .premis-impact-hero.is-intro-complete .premis-impact-hero-copy > * {
        opacity: 1;
        transform: none;
    }

    .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-copy > * {
        animation: premisImpactHeroTextIn .82s cubic-bezier(.22, 1, .36, 1) forwards;
    }

        .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-copy > *:nth-child(1) {
            animation-delay: .34s;
        }

        .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-copy > *:nth-child(2) {
            animation-delay: .48s;
        }

        .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-copy > *:nth-child(3) {
            animation-delay: .60s;
        }

        .premis-impact-hero:not(.is-intro-complete) .carousel-item.active .premis-impact-hero-copy > *:nth-child(4) {
            animation-delay: .72s;
        }

.premis-impact-hero-copy h2 {
    max-width: 12ch;
    margin: 0;
    color: #fffdf8;
    font-family: var(--premis-font);
    font-size: clamp(2.2rem, 3vw, 3.5rem);
    font-weight: 500;
    line-height: .94;
    letter-spacing: -.04em;
    text-transform: none;
}

    .premis-impact-hero-copy h2 span,
    .premis-impact-hero-copy h2 em {
        display: inline;
    }

    .premis-impact-hero-copy h2 em {
        color: var(--premis-about-accent);
        font-style: normal;
    }

.premis-impact-hero-copy p {
    max-width: 32rem;
    margin: 1.5rem 0 0;
    color: rgba(255, 244, 234, .88);
    font-size: clamp(.95rem, 1.15vw, 1.12rem);
    line-height: 1.7;
}

.premis-impact-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 1.8rem;
}

.premis-impact-hero-label-mobile {
    display: none;
}

.premis-impact-hero-label-desktop {
    display: inline;
}

.premis-impact-hero-btn-outline {
    border-color: rgba(255,255,255,.68);
    background: rgba(9,7,6,.16);
    color: #fff8f1;
    backdrop-filter: blur(8px);
}

    .premis-impact-hero-btn-outline:hover,
    .premis-impact-hero-btn-outline:focus-visible {
        border-color: rgba(244,139,15,.84);
        background: rgba(16,12,9,.34);
        color: #fff8f1;
    }

.premis-impact-hero-side-nav {
    position: absolute;
    top: 50%;
    right: clamp(16px, 2vw, 28px);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transform: translateY(-50%);
}

.premis-impact-hero-indicators {
    position: static;
    inset: auto;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

    .premis-impact-hero-indicators [data-bs-target] {
        position: relative;
        width: 18px;
        height: 60px;
        padding: 0 7px;
        margin: 0;
        border: 0;
        border-radius: 0;
        opacity: 1;
        background: transparent;
        transition: none;
    }

        .premis-impact-hero-indicators [data-bs-target]::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 4px;
            height: 60px;
            border-radius: 0;
            background: rgba(255,255,255,.28);
            transform: translate(-50%, -50%);
            transition: none;
        }

        .premis-impact-hero-indicators [data-bs-target].active::before {
            background: #fff;
            box-shadow: 0 0 18px rgba(255,255,255,.14);
        }

        .premis-impact-hero-indicators [data-bs-target]:hover::before,
        .premis-impact-hero-indicators [data-bs-target]:focus-visible::before {
            background: #fff;
            transform: translate(-50%, -50%);
        }

.premis-impact-hero-control {
    position: static;
    width: 24px;
    height: 24px;
    opacity: 1;
    color: #fff;
}

.premis-impact-hero-control-box {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: transform .22s ease, opacity .22s ease;
}

    .premis-impact-hero-control-box i {
        color: #fff;
        font-size: 1.65rem;
        line-height: 1;
        text-shadow: 0 2px 12px rgba(0,0,0,.24);
    }

.premis-impact-hero-control:hover .premis-impact-hero-control-box,
.premis-impact-hero-control:focus-visible .premis-impact-hero-control-box {
    transform: scale(1.08);
    opacity: .86;
}

.premis-impact-hero-mobile-nav {
    display: none;
}

.premis-impact-hero-mobile-control {
    position: static;
    width: 42px;
    height: 42px;
    opacity: 1;
}

.premis-impact-hero-mobile-control-box {
    position: relative;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(34, 22, 14, .46);
    color: rgba(255,247,239,.96);
    backdrop-filter: blur(10px);
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    transition: transform .16s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

    .premis-impact-hero-mobile-control-box::after {
        content: "";
        position: absolute;
        inset: -8px;
        border-radius: inherit;
        background: radial-gradient(circle, rgba(244,139,15,.34) 0%, rgba(244,139,15,.18) 48%, rgba(244,139,15,0) 72%);
        opacity: 0;
        transform: scale(.78);
        pointer-events: none;
    }

    .premis-impact-hero-mobile-control-box i {
        font-size: 1rem;
        line-height: 1;
        color: inherit;
        position: relative;
        z-index: 1;
        transition: transform .16s ease;
    }

.premis-impact-hero-mobile-control:hover .premis-impact-hero-mobile-control-box,
.premis-impact-hero-mobile-control:focus-visible .premis-impact-hero-mobile-control-box {
    border-color: rgba(245,139,9,.75);
}

.premis-impact-hero-mobile-control:active .premis-impact-hero-mobile-control-box {
    transform: scale(.92);
    border-color: rgba(245,139,9,.9);
    background: rgba(244,139,15,.82);
    box-shadow: 0 10px 24px rgba(244,139,15,.24), 0 8px 18px rgba(0,0,0,.18);
}

    .premis-impact-hero-mobile-control:active .premis-impact-hero-mobile-control-box::after {
        animation: premisImpactMobileControlPulse .42s ease-out;
    }

    .premis-impact-hero-mobile-control:active .premis-impact-hero-mobile-control-box i {
        transform: scale(.9);
    }

@keyframes premisImpactMobileControlPulse {
    0% {
        opacity: .72;
        transform: scale(.72);
    }

    70% {
        opacity: .22;
        transform: scale(1.28);
    }

    100% {
        opacity: 0;
        transform: scale(1.48);
    }
}

@keyframes premisImpactHeroImageIn {
    0% {
        opacity: 0;
        transform: scale(1.09);
        filter: blur(2px);
    }

    100% {
        opacity: 1;
        transform: scale(1.04);
        filter: blur(0);
    }
}

@keyframes premisImpactHeroOverlayIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes premisImpactHeroPanelIn {
    0% {
        opacity: 0;
        transform: translate3d(0, 22px, 0) scale(.985);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes premisImpactHeroTextIn {
    0% {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 991.98px) {
    .premis-impact-hero {
        height: calc(100vh - var(--premis-nav-h));
        height: calc(100svh - var(--premis-nav-h));
        min-height: calc(100vh - var(--premis-nav-h));
        min-height: calc(100svh - var(--premis-nav-h));
    }

    .premis-impact-hero-container {
        align-items: flex-end;
        padding-top: clamp(22px, 5vw, 34px);
        padding-bottom: 34px;
    }

    .premis-impact-hero-copy {
        max-width: min(42rem, 100%);
    }

    .premis-impact-hero-copy h2 {
        max-width: 11ch;
        font-size: clamp(2.9rem, 8vw, 4.1rem);
    }

    .premis-impact-hero-copy p {
        max-width: 30rem;
    }

    .premis-impact-hero-side-nav {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .premis-impact-hero {
        height: calc(100vh - var(--premis-nav-h));
        height: calc(100svh - var(--premis-nav-h));
        min-height: calc(100vh - var(--premis-nav-h));
        min-height: calc(100svh - var(--premis-nav-h));
    }

    .premis-impact-hero-media,
    .premis-impact-hero-media::before {
        background-position: var(--premis-impact-bg-position-mobile, left bottom);
    }

    .premis-impact-hero-img {
        object-position: var(--premis-impact-bg-position-mobile, left bottom);
    }

    .premis-impact-hero-media::before {
        content: none;
    }

    .premis-impact-hero-overlay {
        background:
            linear-gradient(0deg, rgba(53, 39, 29, 1) 0%, rgba(53, 39, 29, .92) 18%, rgba(53, 39, 29, .56) 36%, rgba(53, 39, 29, .24) 48%, rgba(53, 39, 29, 0) 58%),
            linear-gradient(270deg, rgba(53, 39, 29, .68) 0%, rgba(53, 39, 29, .36) 10%, rgba(53, 39, 29, .16) 18%, rgba(53, 39, 29, 0) 30%),
            linear-gradient(90deg, rgba(53, 39, 29, .68) 0%, rgba(53, 39, 29, .36) 10%, rgba(53, 39, 29, .16) 18%, rgba(53, 39, 29, 0) 30%),
            linear-gradient(90deg, rgba(20, 14, 10, .36) 0%, rgba(20, 14, 10, .12) 11%, rgba(20, 14, 10, 0) 22%, rgba(20, 14, 10, 0) 74%, rgba(20, 14, 10, .16) 86%, rgba(20, 14, 10, .36) 100%),
            var(--premis-brand-rgba-200);
    }

    .premis-impact-hero-container {
        align-items: flex-end;
        justify-content: center;
        padding-top: 20px;
        padding-bottom: 28px;
    }

    .premis-impact-hero-mobile-nav {
        position: absolute;
        top: 14px;
        right: 14px;
        z-index: 4;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .premis-impact-hero-copy.premis-about-hero-panel {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        padding: 0;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }

    .premis-impact-hero-copy h2 {
        max-width: 12ch;
        font-size: clamp(2rem, 10vw, 3rem);
        line-height: .95;
        text-shadow: 0 2px 12px rgba(0, 0, 0, .24);
    }

    .premis-impact-hero-copy p {
        display: none;
    }

    .premis-impact-hero-copy .premis-about-kicker,
    .premis-impact-hero-actions .btn {
        text-shadow: 0 2px 10px rgba(0, 0, 0, .18);
    }

    .premis-impact-hero-actions {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
    }

    .premis-impact-hero-label-mobile {
        display: inline;
    }

    .premis-impact-hero-label-desktop {
        display: none;
    }

        .premis-impact-hero-actions .btn {
            flex: 0 1 auto;
            min-height: 38px;
            padding: .42rem .78rem;
            font-size: .86rem;
            justify-content: center;
            white-space: nowrap;
        }
}

@keyframes premisAboutRise {
    from {
        opacity: 0;
        transform: translate3d(0, 34px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.premis-about-page {
    position: relative;
    overflow: clip;
    /*    background:
        radial-gradient(circle at 0% 0%, rgba(175, 117, 64, .16), transparent 32%),
        radial-gradient(circle at 100% 18%, rgba(119, 91, 60, .12), transparent 28%),
        linear-gradient(180deg, #f6f0e7 0%, #f5efe6 35%, #fcfaf6 100%);*/
    background: linear-gradient(135deg, rgba(245,139,9,.20), rgba(255,255,255,0) 55%);
    color: var(--premis-about-ink);
    font-family: "PracticalGroteskVariable", "Montserrat", sans-serif;
}

    .premis-about-page img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .premis-about-page h1,
    .premis-about-page h2,
    .premis-about-page h3 {
        color: var(--premis-about-deep);
        font-family: "QueensVariable", "Cormorant Garamond", serif;
        font-weight: 500;
        letter-spacing: -.03em;
        line-height: .96;
        margin: 0;
    }

    .premis-about-page p {
        margin-bottom: 0;
        color: var(--premis-about-muted);
        font-size: .95rem;
        line-height: 1.75;
    }

    .premis-about-page section {
        position: relative;
    }

.premis-about-cover {
    position: relative;
    min-height: calc(100vh - var(--premis-nav-h) - var(--premis-topbar-h));
    min-height: calc(100svh - var(--premis-nav-h) - var(--premis-topbar-h));
    overflow: clip;
    background: #2a1a11;
}

.premis-about-cover-media,
.premis-about-cover-overlay,
.premis-about-cover-content {
    position: absolute;
    inset: 0;
}

    .premis-about-cover-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
        filter: blur(1px) sepia(.28) saturate(.72) brightness(.62);
        transform: scale(1.035);
        animation: premisAboutCoverImageIn 1.35s cubic-bezier(.22, 1, .36, 1) both;
    }

.premis-about-cover-overlay {
    /*background: rgba(34, 22, 14, .78);*/
    background: linear-gradient(180deg, rgba(34, 22, 14, .22), rgba(34, 22, 14, .68)), radial-gradient(circle at center, rgba(255,255,255,.04), transparent 44%);
    opacity: 0;
    animation: premisAboutCoverOverlayIn 1.05s ease .18s both;
}

.premis-about-cover-content {
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.premis-about-cover-copy {
    max-width: 1040px;
    margin-inline: auto;
    padding-inline: 24px;
    color: #fff7ef;
}

    .premis-about-cover-copy > * {
        opacity: 0;
        transform: translate3d(0, 34px, 0);
        animation: premisAboutCoverTextIn .9s cubic-bezier(.22, 1, .36, 1) forwards;
    }

        .premis-about-cover-copy > *:nth-child(1) {
            animation-delay: .28s;
        }

        .premis-about-cover-copy > *:nth-child(2) {
            animation-delay: .42s;
        }

        .premis-about-cover-copy > *:nth-child(3) {
            animation-delay: .56s;
        }

.premis-about-cover-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: rgba(255, 231, 208, .86);
    font-family: "VirtuoseMedium", "Montserrat", sans-serif;
    font-size: 1.45rem;
    letter-spacing: .18em;
    text-transform: uppercase;
}

    .premis-about-cover-kicker::before,
    .premis-about-cover-kicker::after {
        content: "";
        width: 46px;
        height: 1px;
        background: currentColor;
        opacity: .55;
    }

.premis-about-cover-copy h1 {
    margin-top: 22px;
    color: #fff8f0;
    font-family: "VirtuoseMedium", "QueensVariable", "Cormorant Garamond", serif;
    font-size: clamp(2.9rem, 3.4vw, 5.8rem);
    font-weight: 500;
    line-height: .94;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.premis-about-cover-copy p {
    max-width: 760px;
    margin: 18px auto 0;
    color: rgba(255, 255, 255, .96);
    font-size: clamp(.85rem, 0.8vw, 1.3rem);
    line-height: 1.7;
}

@keyframes premisAboutCoverImageIn {
    from {
        opacity: 0;
        transform: scale(1.09);
        filter: blur(4px) sepia(.2) saturate(.68) brightness(.48);
    }

    to {
        opacity: 1;
        transform: scale(1.035);
        filter: blur(1px) sepia(.28) saturate(.72) brightness(.62);
    }
}

@keyframes premisAboutCoverOverlayIn {
    to {
        opacity: 1;
    }
}

@keyframes premisAboutCoverTextIn {
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.premis-about-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: "VirtuoseMedium", "Montserrat", sans-serif;
    font-size: 1.56rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--premis-about-accent);
}

    .premis-about-kicker::before {
        content: "";
        width: 44px;
        height: 1px;
        background: currentColor;
        opacity: .55;
    }

.premis-about-section-head {
    max-width: 840px;
    margin-bottom: clamp(32px, 5vw, 52px);
}

    .premis-about-section-head h2 {
        font-size: clamp(2.4rem, 5vw, 4.4rem);
        margin-top: 14px;
    }

.premis-about-hero {
    position: relative;
    isolation: isolate;
    overflow: clip;
    padding: clamp(40px, 3vw, 120px) 0 clamp(38px, 7vw, 92px);
}

.premis-about-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

    .premis-about-hero-bg,
    .premis-about-hero-bg .carousel-inner,
    .premis-about-hero-bg .carousel-item {
        height: 100%;
    }

.premis-about-hero-slide {
    position: relative;
    width: 100%;
    height: 100%;
    background-image: var(--premis-about-hero-bg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: scale(1.08);
}

    .premis-about-hero-slide::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background-image: var(--premis-about-hero-bg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        filter: blur(5px);
        /*transform: scale(1.08);*/
        -webkit-mask-image: linear-gradient(112deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.98) 30%, rgba(0,0,0,.36) 50%, rgba(0,0,0,0) 68%);
        mask-image: linear-gradient(112deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.98) 30%, rgba(0,0,0,.36) 50%, rgba(0,0,0,0) 68%);
    }

    .premis-about-hero-slide::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background: var(--premis-brand-rgba-200);
    }

.premis-about-hero-control {
    position: absolute;
    top: 50%;
    bottom: auto;
    width: 54px;
    height: 54px;
    transform: translateY(-50%);
    opacity: 1;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

    .premis-about-hero-control:hover,
    .premis-about-hero-control:focus,
    .premis-about-hero-control:focus-visible,
    .premis-about-hero-control:active {
        opacity: 1;
    }

.premis-about-hero-control-prev {
    display: none;
}

.premis-about-hero-control-next {
    right: clamp(12px, 1.8vw, 24px);
    left: auto;
}

.premis-about-hero-control-box {
    position: relative;
    right: -39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    /*border: 1px solid rgba(255,255,255,.22);*/
    border-radius: 999px;
    background: rgb(79, 60, 47);
    /*color: rgba(255, 247, 239, .94);*/
    /*backdrop-filter: blur(10px);*/
    box-shadow: 0 16px 40px rgba(0,0,0,.38);
    transition: transform .22s ease, background-color .22s ease, border-color .22s ease;
}

    .premis-about-hero-control-box i {
        font-size: 1rem;
    }

.premis-about-hero-control:hover .premis-about-hero-control-box,
.premis-about-hero-control:focus .premis-about-hero-control-box,
.premis-about-hero-control:focus-visible .premis-about-hero-control-box,
.premis-about-hero-control:active .premis-about-hero-control-box {
    transform: scale(1.04);
    background: rgb(79, 60, 47);
    border-color: rgba(255,255,255,.34);
}

/* Shared carousel controls */
.premis-carousel-nav .owl-nav button {
    width: 54px;
    height: 54px;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(34, 22, 14, .46) !important;
    color: rgba(255, 247, 239, .94) !important;
    backdrop-filter: blur(10px);
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
    opacity: 1 !important;
    transition: transform .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

    .premis-carousel-nav .owl-nav button:hover,
    .premis-carousel-nav .owl-nav button:focus-visible {
        /*background: rgba(34, 22, 14, .62) !important;*/
        border-color: rgba(245,139,9,.75) !important;
        box-shadow: 0 18px 44px rgba(0,0,0,.24);
    }

    .premis-carousel-nav .owl-nav button span,
    .premis-carousel-nav .owl-nav button i {
        font-size: 1rem !important;
        line-height: 1;
        color: rgba(255, 247, 239, .94) !important;
        opacity: 1;
    }

.premis-about-hero > .container {
    position: relative;
    z-index: 1;
}

.premis-about-hero::before,
.premis-about-hero::after {
    content: "";
    position: absolute;
    inset: auto;
    border-radius: 999px;
    pointer-events: none;
    filter: blur(10px);
    z-index: 0;
}

.premis-about-hero::before {
    top: 8%;
    right: -120px;
    width: 320px;
    height: 320px;
    background: rgb(235, 143, 77, 0.08);
}

.premis-about-hero::after {
    left: -80px;
    bottom: 8%;
    width: 260px;
    height: 260px;
    background: rgb(176, 125, 72, 0.08);
}

.premis-about-hero-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    gap: clamp(30px, 6vw, 72px);
    align-items: center;
}

.premis-about-hero-copy {
    position: relative;
    z-index: 1;
}

.premis-about-hero-panel {
    position: relative;
    max-width: 680px;
    padding: clamp(24px, 3vw, 38px);
    /*border: 1px solid rgba(255, 223, 197, .12);*/
    border-radius: 34px;
    background: rgba(34, 22, 14, .58);
    box-shadow: 0 26px 60px rgba(0, 0, 0, .32);
    backdrop-filter: blur(12px);
}

.premis-home-page {
    --premis-home-hero-panel-min-height: 430px;
    --premis-home-hero-copy-min-height: 560px;
    --premis-home-hero-title-min-height: 3.2em;
    --premis-home-hero-lead-min-height: 5.4em;
}

    .premis-home-page .premis-about-hero {
        min-height: calc(100svh - var(--premis-nav-h) - var(--premis-topbar-h));
        display: flex;
        align-items: center;
    }

    .premis-home-page .premis-about-hero > .container {
        width: 100%;
    }

    .premis-home-page .premis-about-hero-copy {
        min-height: var(--premis-home-hero-copy-min-height);
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .premis-home-page .premis-about-hero-panel {
        min-height: var(--premis-home-hero-panel-min-height);
    }

    .premis-about-hero-panel .premis-about-kicker {
        color: rgba(255, 187, 110, .98);
    }

        .premis-about-hero-panel .premis-about-kicker::before {
            background: rgba(255, 187, 110, .82);
        }

    .premis-about-hero-panel .premis-about-lead {
        color: rgba(255, 244, 234, .88);
    }

    .premis-about-hero-panel h2 {
        margin-bottom: 0;
    }

.premis-home-hero-copy-slot {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    transition: opacity .28s ease, transform .28s ease;
}

.premis-home-hero-copy-slot.is-changing {
    opacity: .18;
    transform: translateY(8px);
}

.premis-home-hero-copy-slot [data-hero-copy="title-prefix"],
.premis-home-hero-copy-slot [data-hero-copy="title-suffix"] {
    display: inline;
}

.premis-home-hero-copy-slot [data-hero-copy="title-suffix"]:empty {
    display: none;
}

.premis-home-page .premis-about-hero-copy h2 {
    min-height: var(--premis-home-hero-title-min-height);
}

.premis-home-page .premis-about-hero-panel .premis-about-lead {
    min-height: var(--premis-home-hero-lead-min-height);
}

.premis-about-hero-copy > * {
    opacity: 0;
    animation: premisAboutRise .85s cubic-bezier(.22, 1, .36, 1) forwards;
}

    .premis-about-hero-copy > *:nth-child(1) {
        animation-delay: .05s;
    }

    .premis-about-hero-copy > *:nth-child(2) {
        animation-delay: .16s;
    }

    .premis-about-hero-copy > *:nth-child(3) {
        animation-delay: .28s;
    }

    .premis-about-hero-copy > *:nth-child(4) {
        animation-delay: .38s;
    }

    .premis-about-hero-copy > *:nth-child(5) {
        animation-delay: .48s;
    }

.premis-about-hero-copy h1 {
    max-width: 12ch;
    /*margin-top: 18px;*/
    font-size: clamp(3rem, 4vw, 4.5rem);
}

.premis-about-hero-copy h2 {
    max-width: 12ch;
    margin-top: 18px;
    font-size: clamp(2.2rem, 3vw, 3.5rem);
}



.premis-about-hero-copy h1, h2 em {
    font-style: normal;
    color: var(--premis-about-accent);
}



.premis-about-lead {
    max-width: 620px;
    margin-top: 26px;
    font-size: clamp(1.05rem, 1.6vw, 1.22rem);
}

.premis-about-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.premis-about-stat-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}

.premis-about-stat {
    min-height: 118px;
    padding: 22px 24px;
    border: 1px solid rgba(244,139,15,.24);
    border-radius: 28px;
    background: rgba(255, 255, 255, .85);
    /*background: rgba(255, 252, 246, .58);*/
    /*background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(247, 238, 227, .94));*/
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 34px rgba(16,24,40,.05);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}

    .premis-about-stat:hover {
        transform: translateY(-4px);
        border-color: rgba(244,139,15,.42);
        background: rgba(255,255,255,.94);
        box-shadow: 0 20px 42px rgba(244,139,15,.12);
    }

    .premis-about-stat strong {
        display: block;
        color: var(--premis-about-deep);
        font-family: "QueensVariable", "Cormorant Garamond", serif;
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 1;
    }

    .premis-about-stat span {
        display: block;
        margin-top: 12px;
        color: var(--premis-about-muted);
        line-height: 1.5;
    }

.premis-about-hero-media {
    position: relative;
    min-height: 680px;
    transform: translateY(var(--premis-about-media-shift, 0px));
    transition: transform .18s linear;
}

.premis-about-photo {
    position: absolute;
    overflow: hidden;
    box-shadow: var(--premis-about-shadow);
}

.premis-about-photo-main {
    inset: 0 0 80px 92px;
    border-radius: 42px 42px 140px 42px;
}

    .premis-about-photo-main::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(26, 20, 16, .06), rgba(26, 20, 16, .26));
    }

.premis-about-photo-secondary {
    left: 0;
    bottom: 0;
    width: 44%;
    height: 245px;
    border: 14px solid rgba(251, 246, 238, .94);
    border-radius: 30px;
    background: #fff;
}

.premis-about-floating-card {
    position: absolute;
    top: 44px;
    right: 0;
    max-width: 250px;
    padding: 24px 24px 22px;
    border-radius: 28px;
    background: rgba(34, 22, 14, .9);
    box-shadow: 0 26px 60px rgba(29, 17, 11, .22);
    color: rgba(255, 249, 242, .78);
}

    .premis-about-floating-card span {
        display: block;
        margin-bottom: 12px;
        font-size: .82rem;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: rgba(255, 223, 197, .72);
    }

    .premis-about-floating-card strong {
        display: block;
        color: #fff8f0;
        font-family: "QueensVariable", "Cormorant Garamond", serif;
        font-weight: 500;
        font-size: 1.45rem;
        line-height: 1.15;
    }

.premis-about-story,
.premis-about-values,
.premis-about-process {
    padding: clamp(48px, 7vw, 92px) 0;
}

.premis-about-values {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(820px 420px at 8% 92%, rgba(244,139,15,.12), transparent 62%),
        linear-gradient(135deg, rgba(244,139,15,.12) 0%, rgba(255,177,74,.10) 46%, rgba(255,250,243,.96) 100%);
}

    .premis-about-values::before {
        content: "";
        position: absolute;
        top: clamp(28px, 4vw, 58px);
        right: clamp(24px, 4vw, 72px);
        z-index: 0;
        width: min(48vw, 620px);
        height: min(61.2%, 578px);
        min-height: 357px;
        border-radius: 42px 42px 170px 42px;
        background: url("../img/section/contact-vendor02.png") center center / cover no-repeat;
        opacity: .66;
        filter: saturate(.9) contrast(.96);
        pointer-events: none;
        -webkit-mask-image: linear-gradient(255deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.92) 46%, rgba(0,0,0,.26) 76%, rgba(0,0,0,0) 100%);
        mask-image: linear-gradient(255deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.92) 46%, rgba(0,0,0,.26) 76%, rgba(0,0,0,0) 100%);
    }

    .premis-about-values .container {
        position: relative;
        z-index: 1;
    }

.premis-home-values-cta {
    display: flex;
    justify-content: center;
    margin-top: clamp(1.6rem, 3vw, 2.5rem);
}

.premis-about-values-grid > [class*="col-"] {
    display: flex;
}

.premis-about-values-grid .premis-about-values-card {
    width: 100%;
    height: 100%;
}

.premis-objective-section {
    position: relative;
    padding: clamp(76px, 8.5vw, 132px) 0;
    background:
        radial-gradient(760px 360px at 10% 92%, rgba(244,139,15,.13), transparent 64%),
        linear-gradient(135deg, rgba(244,139,15,.10) 0%, rgba(255,177,74,.08) 44%, rgba(255,250,243,.96) 100%);
    overflow: hidden;
    isolation: isolate;
}

.premis-objective-section::before {
    content: "";
    position: absolute;
    top: clamp(30px, 4vw, 62px);
    right: clamp(20px, 4vw, 70px);
    width: min(50vw, 650px);
    height: min(72%, 680px);
    min-height: 390px;
    border-radius: 42px 42px 170px 42px;
    background: url("../img/section/nosotros/hero-objetivos01.avif") right center / cover no-repeat;
    opacity: .72;
    filter: saturate(.96) contrast(1);
    pointer-events: none;
    z-index: 0;
    -webkit-mask-image: linear-gradient(255deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 44%, rgba(0,0,0,.26) 76%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(255deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.9) 44%, rgba(0,0,0,.26) 76%, rgba(0,0,0,0) 100%);
}

.premis-objective-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,250,243,.94) 0%, rgba(255,250,243,.66) 50%, rgba(255,250,243,.18) 100%);
    pointer-events: none;
    z-index: 1;
}

.premis-objective-section .container {
    position: relative;
    z-index: 2;
}

.premis-objective-head {
    margin-bottom: clamp(42px, 5.5vw, 76px);
}

.premis-objective-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 28px);
}

.premis-objective-card {
    position: relative;
    display: grid;
    place-items: center;
    min-height: clamp(192px, 15.5vw, 230px);
    height: 100%;
    padding: clamp(24px, 2.8vw, 34px);
    border: 1px solid rgba(17, 20, 23, .08);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(17, 20, 23, .12);
    overflow: hidden;
    transition: background-color .34s ease, border-color .34s ease, box-shadow .34s ease, transform .34s ease;
}

.premis-objective-card-front {
    display: grid;
    place-items: center;
    gap: 28px;
    text-align: center;
    transition: opacity .26s ease, transform .26s ease;
}

.premis-objective-card-front i {
    color: var(--premis-brand);
    font-size: clamp(2.05rem, 2.8vw, 2.95rem);
    line-height: 1;
    transition: color .28s ease;
}

.premis-objective-card-front h3 {
    margin: 0;
    color: var(--premis-text);
    font-family: "QueensVariable", "Cormorant Garamond", serif;
    font-size: clamp(1.35rem, 1.6vw, 1.78rem);
    font-weight: 300;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
    transition: color .28s ease;
}

.premis-objective-card p {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    margin: 0;
    padding: clamp(26px, 3vw, 42px);
    color: #fff;
    font-size: clamp(.96rem, 1.05vw, 1.08rem);
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .28s ease, transform .28s ease;
}

.premis-objective-card:hover,
.premis-objective-card:focus-visible {
    background: var(--premis-brand);
    border-color: var(--premis-brand);
    box-shadow: 0 30px 74px rgba(244, 139, 15, .46);
    transform: translateY(-5px);
}

.premis-objective-card:hover .premis-objective-card-front,
.premis-objective-card:focus-visible .premis-objective-card-front {
    opacity: 0;
    transform: translateY(-10px);
}

.premis-objective-card:hover p,
.premis-objective-card:focus-visible p {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 991.98px) {
    .premis-objective-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .premis-objective-section {
        padding: 58px 0;
    }

    .premis-objective-section::before {
        display: none;
    }

    .premis-objective-section::after {
        background: linear-gradient(180deg, var(--premis-about-bg-soft), #fff);
    }

    .premis-objective-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .premis-objective-card {
        min-height: 232px;
        display: block;
        padding: 26px 24px;
    }

    .premis-objective-card-front {
        gap: 12px;
    }

    .premis-objective-card p {
        position: static;
        display: block;
        margin-top: 16px;
        padding: 0;
        color: var(--premis-muted);
        font-size: .95rem;
        font-weight: 500;
        opacity: 1;
        transform: none;
    }

    .premis-objective-card:hover,
    .premis-objective-card:focus-visible {
        background: #fff;
        border-color: rgba(17, 20, 23, .08);
        box-shadow: 0 8px 18px rgba(17, 20, 23, .12);
        transform: none;
    }

    .premis-objective-card:hover .premis-objective-card-front,
    .premis-objective-card:focus-visible .premis-objective-card-front {
        opacity: 1;
        transform: none;
    }
}

    /*.premis-about-values .premis-about-kicker,
    .premis-about-values .premis-about-section-head h2 {
        color: var(--premis-about-deep);
    }

        .premis-about-values .premis-about-kicker::before {
            background: currentColor;
        }*/

.premis-about-story-copy h2,
.premis-about-experience-copy h2,
.premis-about-gallery-copy h2,
.premis-about-cta-card h2 {
    margin-top: 16px;
    margin-bottom: 22px;
    font-size: clamp(2.2rem, 4.4vw, 4.25rem);
}

.premis-about-story-copy h3,
.premis-about-experience-copy h3,
.premis-about-gallery-copy h3,
.premis-about-cta-card h3 {
    margin-top: 16px;
    margin-bottom: 16px;
    font-size: clamp(2rem, 3vw, 4rem);
}


.premis-about-story-copy p + p {
    margin-top: 18px;
}

.premis-about-story-copy-centered {
    max-width: 920px;
    margin-inline: auto;
    text-align: center;
}

    .premis-about-story-copy-centered .premis-about-kicker::before {
        left: 50%;
        transform: translateX(-50%);
    }

    .premis-about-story-copy-centered p {
        max-width: 860px;
        margin-inline: auto;
    }

.premis-about-story-quote {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid rgba(76, 55, 37, .1);
    border-radius: 34px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(247, 238, 227, .94));
    box-shadow: 0 24px 60px rgba(66, 43, 28, .08);
}

    .premis-about-story-quote p {
        margin-top: 18px;
        color: var(--premis-about-deep);
        font-family: "QueensVariable", "Cormorant Garamond", serif;
        font-size: clamp(1.65rem, 3vw, 2.5rem);
        line-height: 1.12;
    }

.premis-about-manager-card {
    
    position: relative;
    aspect-ratio: 4 / 5;
    margin: 0;
    overflow: hidden;
    border-radius: 34px;
    border: 1px solid rgba(76, 55, 37, .1);
    background: #fff;
    box-shadow: 0 24px 60px rgba(66, 43, 28, .12);
    isolation: isolate;
}

    .premis-about-manager-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: var(--premis-manager-overlay);
        mix-blend-mode: multiply;
        opacity: .72;
        pointer-events: none;
        transition: opacity .28s ease, background-color .28s ease;
    }

    .premis-about-manager-card::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        height: 44%;
        z-index: 2;
        background: linear-gradient(180deg, rgba(17, 17, 17, 0), rgba(17, 17, 17, .44));
        pointer-events: none;
    }

    .premis-about-manager-card img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center top;
        transform: scale(1.01);
        transition: transform 1.7s cubic-bezier(.22, 1, .36, 1), filter 1.7s cubic-bezier(.22, 1, .36, 1);
    }

    .premis-about-manager-card:hover::before {
        opacity: .46;
    }

    .premis-about-manager-card:hover img {
        transform: scale(1.08);
    }

.premis-about-manager-caption {
    position: absolute;
    right: clamp(1.25rem, 3vw, 2rem);
    bottom: clamp(1.25rem, 3vw, 2rem);
    z-index: 3;
    max-width: min(78%, 280px);
    color: rgba(255, 255, 255, .88);
    text-align: right;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .38);
    pointer-events: none;
}

    .premis-about-manager-caption strong,
    .premis-about-manager-caption span {
        display: block;
    }

    .premis-about-manager-caption strong {
        color: rgba(255, 255, 255, .96);
        font-size: clamp(1rem, 1.7vw, 1.28rem);
        font-weight: 700;
        line-height: 1.15;
    }

    .premis-about-manager-caption span {
        margin-top: .24rem;
        color: rgba(255, 255, 255, .72);
        font-size: clamp(.82rem, 1.2vw, .95rem);
        font-weight: 500;
        line-height: 1.2;
    }

.premis-about-timeline {
    position: relative;
    padding: clamp(44px, 6vw, 88px) 0;
    isolation: isolate;
    overflow: hidden;
}

    .premis-about-timeline::before,
    .premis-about-timeline::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
    }

    .premis-about-timeline::before {
        z-index: -2;
        background: url("../img/hero/work-team-office01.avif") center center / cover no-repeat;
        filter: blur(3px);
        transform: scale(1.04);
    }

    .premis-about-timeline::after {
        z-index: -1;
        background: var(--premis-timeline-overlay);
    }

    .premis-about-timeline .container {
        position: relative;
        z-index: 1;
    }

    .premis-about-timeline .premis-about-kicker,
    .premis-about-timeline .premis-about-section-head h2 {
        color: #fff8ef;
    }

        .premis-about-timeline .premis-about-kicker::before {
            background: currentColor;
        }

.premis-about-timeline-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

    .premis-about-timeline-grid::before {
        content: "";
        position: absolute;
        left: 2%;
        right: 2%;
        top: 28px;
        height: 4px;
        background: var(--premis-brand-soft);
        background: linear-gradient(90deg, rgba(163, 99, 53, .12), rgba(163, 99, 53, .4), rgba(163, 99, 53, .12));
    }

.premis-about-timeline-item {
    position: relative;
    padding: 78px 28px 28px;
    border-radius: 32px;
    /*border: 1px solid var(--premis-brand-soft);*/
    /*background: rgba(255, 255, 255, 1);*/
    /*background: var(--premis-brand-dark-700);*/
    background: var(--premis-brand-dark-500);
    backdrop-filter: blur(10px);
    box-shadow: var(--premis-shadow);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.premis-about-timeline-item.premis-timeline-step {
    opacity: 0;
    transform: translate3d(0, 72px, 0) scale(.96);
    transition: opacity 1.02s cubic-bezier(.22, 1, .36, 1), transform 1.02s cubic-bezier(.22, 1, .36, 1), box-shadow .35s ease, border-color .35s ease;
    transition-delay: var(--premis-timeline-delay, 0ms);
    will-change: opacity, transform;
}

.premis-about-timeline-item.premis-timeline-step.is-timeline-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

    .premis-about-timeline-item::before {
        content: "";
        position: absolute;
        top: 25px;
        left: 28px;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--premis-brand-soft), var(--premis-brand));
        box-shadow: 0 0 0 8px rgba(34, 22, 14, .35);
    }

    .premis-about-timeline-item:hover {
        transform: translateY(-5px);
        box-shadow: var(--premis-brand-shadow);
        /*border-color: rgba(163, 99, 53, .22);*/
    }

    .premis-about-timeline-item.premis-timeline-step.is-timeline-visible:hover {
        transform: translateY(-5px) scale(1);
    }

    .premis-about-timeline-item.premis-timeline-step:not(.is-timeline-visible).is-active {
        transform: translate3d(0, 72px, 0) scale(.96);
    }

.premis-about-timeline-year {
    display: inline-block;
    font-size: .82rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--premis-about-accent);
}

.premis-about-timeline-item h3 {
    color: #fff;
    margin-top: 16px;
    font-size: 2rem;
}

.premis-about-timeline-item p {
    margin-top: 16px;
    color: #f1f1f1;
}

.premis-about-experience {
    padding: clamp(52px, 7vw, 100px) 0;
}

.premis-about-experience-shell {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    gap: clamp(26px, 4vw, 50px);
    align-items: center;
    padding: clamp(20px, 2.6vw, 30px);
    border-radius: 40px;
    background: linear-gradient(180deg, rgba(250, 246, 239, .92), rgba(243, 232, 219, .88));
    border: 1px solid rgba(87, 60, 40, .1);
}

.premis-about-experience-media {
    overflow: hidden;
    min-height: 540px;
    border-radius: 34px;
    box-shadow: var(--premis-about-shadow);
}

.premis-about-experience-copy {
    padding: clamp(4px, 1vw, 14px);
}

.premis-about-metrics {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

    .premis-about-metrics article {
        padding: 22px 24px;
        border-left: 2px solid rgba(163, 99, 53, .28);
        background: rgba(255, 252, 247, .56);
        border-radius: 0 22px 22px 0;
    }

    .premis-about-metrics strong {
        display: block;
        margin-bottom: 10px;
        color: var(--premis-about-deep);
        font-family: "VirtuoseMedium", "Montserrat", sans-serif;
        font-size: 1rem;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

.premis-about-values-card,
.premis-about-process-item {
    height: 100%;
    padding: 28px;
    border-radius: 30px;
    border: 1px solid rgba(79, 56, 37, .1);
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 14px 34px rgba(72, 46, 29, .07);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .32s ease, color .32s ease;
}

    .premis-about-values-card:hover {
        transform: translateY(-5px);
        background: var(--premis-brand);
        border-color: rgba(244,139,15,.72);
        box-shadow: 0 22px 48px rgba(244, 139, 15, .28);
    }

    .premis-about-values-card span,
    .premis-about-process-item span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: rgba(244, 139, 15, .12);
        color: var(--premis-brand);
        /*box-shadow: 0 14px 28px rgba(244, 139, 15, .14);*/
        transition: background-color .28s ease, color .28s ease, box-shadow .28s ease;
    }

    .premis-about-values-card span i,
    .premis-about-process-item span i {
        color: var(--premis-brand);
        font-size: 1.08rem;
        line-height: 1;
        transition: color .28s ease;
    }

    .premis-about-values-card:hover span,
    .premis-about-process-item:hover span {
        background: rgba(255, 255, 255, .16);
        color: #fff;
        /*box-shadow: 0 18px 34px rgba(244, 139, 15, .24);*/
    }

    .premis-about-values-card:hover span i,
    .premis-about-process-item:hover span i {
        color: #fff;
    }

    .premis-about-values-card:hover h3,
    .premis-about-values-card:hover p {
        color: #fff;
    }

    .premis-about-values-card h3,
    .premis-about-values-card p {
        transition: color .28s ease;
    }

    .premis-about-values-card h3,
    .premis-about-process-item h3 {
        margin-top: 20px;
        font-size: 2rem;
    }

    .premis-about-values-card p,
    .premis-about-process-item p {
        margin-top: 14px;
    }

.premis-home-values-section .premis-about-values {
    background: #fff;
}

    .premis-home-values-section .premis-about-values-card {
        border: 0;
        box-shadow: none;
    }

@media (max-width: 767.98px) {
    .premis-home-values-section .premis-about-values {
        background: radial-gradient(860px 420px at 10% 10%, rgba(255,255,255,.60), transparent 58%), linear-gradient(180deg, #fff7ed 0%, #fffaf4 100%);
    }

        .premis-home-values-section .premis-about-section-head.premis-reveal {
            opacity: 1;
            transform: none;
            transition: none;
            will-change: auto;
        }

        .premis-home-values-section .premis-about-values-card {
            box-shadow: 0 14px 34px rgba(72, 46, 29, .07);
        }

            .premis-home-values-section .premis-about-values-card.is-in-view {
                transform: translateY(-5px);
                background: var(--premis-brand);
                box-shadow: 0 22px 48px rgba(244, 139, 15, .28);
            }

            .premis-home-values-section .premis-about-values-card.is-in-view span {
                background: rgba(255, 255, 255, .16);
                color: #fff;
            }

            .premis-home-values-section .premis-about-values-card.is-in-view span i,
            .premis-home-values-section .premis-about-values-card.is-in-view h3,
            .premis-home-values-section .premis-about-values-card.is-in-view p {
                color: #fff;
            }
}

.premis-about-gallery {
    padding: clamp(54px, 7vw, 110px) 0;
}

.premis-about-gallery-shell {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(24px, 4.4vw, 54px);
    align-items: start;
}

.premis-about-gallery-copy {
    position: sticky;
    top: 116px;
}

    .premis-about-gallery-copy p {
        margin-top: 22px;
        max-width: 420px;
    }

.premis-about-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    grid-auto-rows: 220px;
}

.premis-about-gallery-card {
    
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    box-shadow: 0 24px 64px rgba(62, 42, 28, .12);
    isolation: isolate;
}

    .premis-about-gallery-card > :is(a, button) {
        display: block;
        width: 100%;
        height: 100%;
        color: inherit;
        cursor: zoom-in;
    }

    .premis-about-gallery-card > button {
        padding: 0;
        border: 0;
        background: transparent;
        appearance: none;
    }

    .premis-about-gallery-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 1;
        background: var(--premis-gallery-overlay);
        mix-blend-mode: multiply;
        opacity: .74;
        pointer-events: none;
        transition: opacity .28s ease, background-color .28s ease;
    }

    .premis-about-gallery-card img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform 1.8s cubic-bezier(.22, 1, .36, 1);
    }

    .premis-about-gallery-card:hover::before {
        opacity: .46;
    }

    .premis-about-gallery-card:hover img {
        transform: scale(1.06);
    }

.premis-about-gallery-card-lg {
    grid-row: span 2;
}

.premis-about-gallery-card-wide {
    grid-column: span 2;
}

.premis-about-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.premis-about-cta {
    padding: 0 0 clamp(70px, 9vw, 120px);
}

.premis-about-cta-card {
    padding: clamp(28px, 4vw, 48px);
    border-radius: 42px;
    background: linear-gradient(135deg, rgba(35, 23, 15, .96), rgba(83, 52, 31, .92)), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
    box-shadow: 0 36px 90px rgba(33, 22, 15, .22);
}

    .premis-about-cta-card h2,
    .premis-about-cta-card p {
        max-width: 840px;
    }

    .premis-about-cta-card h2 {
        color: #fff6ee;
    }

    .premis-about-cta-card h3 {
        color: #fff6ee;
    }

    .premis-about-cta-card p {
        margin-top: 18px;
        color: rgba(255, 238, 223, .76);
    }

    .premis-about-cta-card .premis-about-kicker {
        color: #f4bc91;
    }

        .premis-about-cta-card .premis-about-kicker::before {
            opacity: .42;
        }

@media (max-width: 1199.98px) {
    .premis-home-page {
        --premis-home-hero-panel-min-height: 380px;
        --premis-home-hero-copy-min-height: 470px;
        --premis-home-hero-title-min-height: 2.7em;
        --premis-home-hero-lead-min-height: 4.8em;
    }

    .premis-about-hero-shell,
    .premis-about-experience-shell,
    .premis-about-gallery-shell {
        grid-template-columns: 1fr;
    }

    .premis-about-hero-copy h1 {
        max-width: 14ch;
    }

    .premis-about-hero-media {
        min-height: 620px;
        max-width: 760px;
        margin-inline: auto;
    }

    .premis-about-gallery-copy {
        position: static;
    }
}

@media (max-width: 991.98px) {
    .premis-about-cover {
        min-height: clamp(420px, 68svh, 620px);
    }

    .premis-home-page .premis-about-hero {
        min-height: calc(100svh - var(--premis-nav-h) - var(--premis-topbar-h));
    }

    .premis-about-hero {
        padding-top: 54px;
    }

    .premis-about-stat-row,
    .premis-about-process-grid {
        grid-template-columns: 1fr;
    }

    .premis-about-experience-media {
        min-height: 380px;
    }

    .premis-about-gallery-grid {
        grid-auto-rows: 200px;
    }
}

@media (max-width: 767.98px) {
    .premis-about-hero-copy h1 {
        font-size: clamp(3rem, 14vw, 4.4rem);
    }

    .premis-about-hero-media {
        min-height: 500px;
    }

    .premis-about-photo-main {
        inset: 0 0 72px 38px;
    }

    .premis-about-photo-secondary {
        width: 52%;
        height: 180px;
        border-width: 10px;
    }

    .premis-about-floating-card {
        top: 18px;
        max-width: 220px;
        padding: 18px;
    }

    .premis-about-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(8px, 2.6vw, 14px);
        grid-auto-rows: clamp(76px, 20vw, 140px);
    }

    .premis-about-gallery-card {
        border-radius: clamp(12px, 3.8vw, 20px);
    }

    .premis-about-gallery-card-lg {
        grid-row: span 2;
    }

    .premis-about-gallery-card-wide {
        grid-column: span 2;
    }

    .premis-about-values {
        background: linear-gradient(180deg, var(--premis-about-bg-soft), #fff);
    }

        .premis-about-values::before {
            display: none;
        }

    .premis-about-values-owl.owl-carousel {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
        margin-inline: 0;
        position: relative;
    }

        .premis-about-values-owl.owl-carousel .owl-stage {
            display: flex;
        }

        .premis-about-values-owl.owl-carousel .owl-item {
            display: flex;
        }

            .premis-about-values-owl.owl-carousel .owl-item > [class*="col-"] {
                width: 100%;
                padding: 0;
                display: flex;
            }

        .premis-about-values-owl.owl-carousel .owl-stage-outer {
            overflow: hidden;
            padding: 6px 2px 18px;
        }

        .premis-about-values-owl.owl-carousel .owl-dots {
            display: none;
        }

        .premis-about-values-owl.owl-carousel .owl-nav {
            position: absolute;
            inset: 0;
            z-index: 4;
            margin: 0 !important;
            pointer-events: none;
        }

            .premis-about-values-owl.owl-carousel .owl-nav button {
                pointer-events: auto;
                position: absolute;
                top: 50%;
                width: 44px;
                height: 44px;
                border-radius: 999px !important;
                border: 1px solid rgba(255, 255, 255, .76) !important;
                background: var(--premis-brand) !important;
                backdrop-filter: blur(10px);
                box-shadow: 0 16px 38px rgba(244, 139, 15, .38);
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                transform: translateY(-50%);
                transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
            }

                .premis-about-values-owl.owl-carousel .owl-nav button:hover,
                .premis-about-values-owl.owl-carousel .owl-nav button:focus-visible {
                    background: var(--premis-brand-600) !important;
                    box-shadow: 0 18px 44px rgba(244, 139, 15, .46);
                    transform: translateY(-50%) scale(1.03);
                }

                .premis-about-values-owl.owl-carousel .owl-nav button i {
                    color: #fff;
                    font-size: 1rem;
                }

            .premis-about-values-owl.owl-carousel .owl-prev {
                display: none !important;
                visibility: hidden !important;
                pointer-events: none !important;
            }

            .premis-about-values-owl.owl-carousel .owl-next {
                right: -2px;
            }
}

@media (min-width: 576px) {
    .premis-about-timeline-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }

    .premis-about-timeline-grid::before {
        display: block;
    }
}

@media (max-width: 575.98px) {
    .premis-about-timeline-grid {
        grid-template-columns: 1fr;
    }

    .premis-about-timeline-grid::before {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .premis-home-page {
        --premis-home-hero-panel-min-height: 268px;
        --premis-home-hero-copy-min-height: 0;
        --premis-home-hero-title-min-height: 3.2em;
        --premis-home-hero-lead-min-height: 0;
    }

    .premis-about-values::before {
        top: 22px;
        right: 18px;
        width: 92vw;
        height: 440px;
        min-height: 0;
        opacity: .22;
        border-radius: 30px 30px 110px 30px;
        -webkit-mask-image: linear-gradient(245deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.62) 48%, rgba(0,0,0,0) 88%);
        mask-image: linear-gradient(245deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.62) 48%, rgba(0,0,0,0) 88%);
    }

    .premis-home-page .premis-about-hero {
        height: calc(100svh - var(--premis-nav-h));
        min-height: calc(100svh - var(--premis-nav-h));
        max-height: calc(100svh - var(--premis-nav-h));
        box-sizing: border-box;
        display: flex;
        align-items: center;
        overflow: hidden;
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .premis-home-page .premis-about-hero > .container {
        display: flex;
        align-items: stretch;
        height: 100%;
        width: 100%;
    }

    .premis-home-page .premis-about-hero-shell {
        display: flex;
        width: 100%;
        height: 100%;
        min-height: 100%;
        align-items: stretch;
    }

    .premis-home-page .premis-about-hero-copy {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        width: 100%;
        min-height: 100%;
        height: 100%;
        padding-bottom: 10px;
    }

    .premis-about-hero-panel {
        padding: 24px 24px 28px;
        border-radius: 28px;
    }

    .premis-about-hero-panel .premis-about-kicker {
        font-size: 1.25rem;
        letter-spacing: .26em;
    }

    .premis-about-hero-panel .premis-about-kicker::before {
        width: 46px;
    }

    .premis-about-hero-copy h2 {
        max-width: 11ch;
        margin-top: 14px;
        font-size: clamp(2.5rem, 9.2vw, 2.45rem);
        line-height: .94;
    }

    .premis-about-hero-panel .premis-about-lead {
        margin-top: 24px;
        font-size: .78rem;
        line-height: 1.6;
    }

    .premis-home-page .premis-about-hero-panel .premis-about-lead {
        display: none;
    }

    .premis-home-page .premis-about-hero-copy h2 {
        margin-bottom: 0;
    }

    .premis-home-page .premis-about-hero-actions {
        margin-top: 22px;
    }

    .premis-about-hero-control-next {
        top: 50%;
        right: 10px;
    }

    .premis-about-cover-copy {
        padding-inline: 14px;
    }

        .premis-about-cover-copy h1 {
            font-size: clamp(2.3rem, 12vw, 3.7rem);
            line-height: .98;
        }

    .premis-about-cover-kicker {
        font-size: 1.35rem;
        letter-spacing: .14em;
    }

        .premis-about-cover-kicker::before,
        .premis-about-cover-kicker::after {
            width: 28px;
        }

    .premis-about-page p {
        font-size: .85rem;
    }

    .premis-about-hero-copy h1,
    .premis-about-section-head h2,
    .premis-about-story-copy h2,
    .premis-about-experience-copy h2,
    .premis-about-gallery-copy h2,
    .premis-about-cta-card h2 {
        letter-spacing: -.04em;
    }

    .premis-about-hero-actions .btn {
        /*flex: 1 1 calc(50% - 7px);*/
        justify-content: center;
        min-width: 0;
        padding-inline: .85rem;
        font-size: .85rem;
    }

    .premis-about-hero-actions .btn i {
        flex: 0 0 auto;
    }

    .premis-about-hero-actions .btn span {
        white-space: nowrap;
    }

    .premis-about-hero-actions {
        justify-content: center;
        margin-top: 28px;
    }

    .premis-about-stat {
        min-height: auto;
    }

    .premis-about-hero-media {
        min-height: 410px;
    }

    .premis-about-photo-main {
        inset: 0 0 62px 0;
        border-radius: 28px 28px 96px 28px;
    }

    .premis-about-photo-secondary {
        left: 12px;
        bottom: 6px;
        width: 54%;
        height: 144px;
    }

    .premis-about-floating-card {
        right: 12px;
        top: auto;
        bottom: 126px;
        max-width: 180px;
    }

    .premis-about-story-quote p {
        font-size: 1.9rem;
    }

    .premis-about-values-card,
    .premis-about-process-item,
    .premis-about-timeline-item {
        padding-inline: 22px;
    }

    .premis-about-values {
        background: linear-gradient(180deg, var(--premis-about-bg-soft), #fff);
    }

        .premis-about-values::before {
            display: none;
        }

    .premis-about-values-owl.owl-carousel {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
        margin-inline: 0;
        position: relative;
    }

        .premis-about-values-owl.owl-carousel .owl-stage {
            display: flex;
        }

        .premis-about-values-owl.owl-carousel .owl-item {
            display: flex;
        }

            .premis-about-values-owl.owl-carousel .owl-item > [class*="col-"] {
                width: 100%;
                padding: 0;
                display: flex;
            }

        .premis-about-values-owl.owl-carousel .owl-stage-outer {
            overflow: hidden;
            padding: 6px 2px 18px;
        }

        .premis-about-values-owl.owl-carousel .owl-dots {
            display: none;
        }

        .premis-about-values-owl.owl-carousel .owl-nav {
            position: absolute;
            inset: 0;
            z-index: 4;
            margin: 0 !important;
            pointer-events: none;
        }

            .premis-about-values-owl.owl-carousel .owl-nav button {
                pointer-events: auto;
                position: absolute;
                top: 50%;
                width: 44px;
                height: 44px;
                border-radius: 999px !important;
                border: 1px solid rgba(255, 255, 255, .76) !important;
                background: var(--premis-brand) !important;
                backdrop-filter: blur(10px);
                box-shadow: 0 16px 38px rgba(244, 139, 15, .38);
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                transform: translateY(-50%);
                transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
            }

                .premis-about-values-owl.owl-carousel .owl-nav button:hover,
                .premis-about-values-owl.owl-carousel .owl-nav button:focus-visible {
                    background: var(--premis-brand-600) !important;
                    box-shadow: 0 18px 44px rgba(244, 139, 15, .46);
                    transform: translateY(-50%) scale(1.03);
                }

                .premis-about-values-owl.owl-carousel .owl-nav button i {
                    color: #fff;
                    font-size: 1rem;
                }

            .premis-about-values-owl.owl-carousel .owl-prev {
                display: none !important;
                visibility: hidden !important;
                pointer-events: none !important;
            }

            .premis-about-values-owl.owl-carousel .owl-next {
                right: -2px;
            }

    .premis-about-hero-control-box {
        position: relative;
        right: -19px;
       
    }
}

@media (prefers-reduced-motion: reduce) {
    .premis-about-hero-copy > *,
    .premis-about-hero-media,
    .premis-about-gallery-card img,
    .premis-about-timeline-item {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* =========================================================
   SOLUCIONES - vistas expandidas por rubro
========================================================= */
.premis-solution-page {
    background: linear-gradient(180deg, #fffaf3 0%, #ffffff 42%, #fff8ef 100%);
}

@media (min-width: 992px) {
    .premis-solution-cover {
        height: 50vh;
        height: 50svh;
        min-height: 50vh;
        min-height: 50svh;
    }
}

@media (max-width: 991.98px) {
    .premis-solution-index-page .premis-solution-cover {
        height: auto;
        min-height: clamp(440px, 64svh, 600px);
    }
}

.premis-solution-cover .premis-about-cover-media img {
    object-position: center bottom;
    filter: sepia(.18) saturate(.82) brightness(.72);
    transform: scale(1.02);
}

.premis-solution-cover .premis-about-cover-overlay {
    background:
        radial-gradient(820px 360px at 72% 24%, rgba(244,139,15,.28), transparent 62%),
        linear-gradient(180deg, rgba(34,22,14,.24), rgba(34,22,14,.72));
}

.premis-solution-intro {
    max-width: 820px;
    margin-inline: auto;
}

.premis-solution-intro h2 {
    margin-top: 16px;
    font-size: clamp(2.5rem, 3vw, 4.4rem);
    line-height: .98;
}

.premis-solution-intro p {
    margin-top: 18px;
    font-size: 1rem;
    line-height: 1.75;
}

.premis-solution-intro-wide {
    max-width: 960px;
}

.premis-solution-intro-left {
    margin-inline: 0 auto;
    text-align: left;
}

    .premis-solution-intro-left .premis-about-kicker::before {
        left: 0;
        transform: none;
    }

.premis-solution-intro-list {
    display: grid;
    gap: .9rem 1.4rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}

    .premis-solution-intro-list li {
        position: relative;
        padding-left: 1.55rem;
        color: var(--premis-text-2);
        line-height: 1.6;
    }

        .premis-solution-intro-list li::before {
            content: "";
            position: absolute;
            top: .62rem;
            left: 0;
            width: 8px;
            height: 8px;
            border-radius: 999px;
            background: var(--premis-brand);
            box-shadow: 0 0 0 4px rgba(244,139,15,.14);
        }

@media (min-width: 768px) {
    .premis-solution-intro-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.premis-solution-index,
.premis-solution-detail {
    position: relative;
    overflow: hidden;
}

.premis-solution-index::before,
.premis-solution-detail::before {
    content: "";
    position: absolute;
    top: 80px;
    right: -180px;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(244,139,15,.14), transparent 66%);
    pointer-events: none;
}

.premis-solution-family-card,
.premis-solution-detail-card {
    overflow: hidden;
    border: 1px solid rgba(244,139,15,.14);
    background: rgba(255,255,255,.82);
    box-shadow: 0 18px 44px rgba(28,18,10,.08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.premis-solution-family-card:hover,
.premis-solution-detail-card:hover {
    transform: translateY(-5px);
    border-color: rgba(244,139,15,.34);
    box-shadow: 0 26px 64px rgba(28,18,10,.14);
}

.premis-solution-family-media,
.premis-solution-card-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #f4ede4;
}

.premis-solution-family-media::after,
.premis-solution-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(244,139,15,.28), rgba(34,22,14,.20));
    opacity: .82;
    pointer-events: none;
    transition: opacity .22s ease;
}

.premis-solution-family-card:hover .premis-solution-family-media::after,
.premis-solution-detail-card:hover .premis-solution-card-media::after {
    opacity: .42;
}

.premis-solution-family-media img,
.premis-solution-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .36s ease;
}

.premis-solution-family-card:hover img,
.premis-solution-detail-card:hover img {
    transform: scale(1.045);
}

.premis-solution-lightbox,
.premis-solution-lightbox-trigger {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: zoom-in;
}

.premis-solution-lightbox-trigger {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: inherit;
    appearance: none;
}

.premis-solution-family-body,
.premis-solution-card-body {
    padding: clamp(22px, 3vw, 30px);
}

.premis-solution-family-body > span {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 14px;
    color: var(--premis-brand);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .78rem;
}

.premis-solution-family-body h3,
.premis-solution-card-body h3 {
    margin-bottom: 12px;
    font-size: clamp(1.8rem, 2.4vw, 2.5rem);
    line-height: 1;
}

.premis-solution-family-body p,
.premis-solution-card-body p {
    margin-bottom: 20px;
    line-height: 1.7;
}

.premis-solution-card-body p {
    margin-bottom: 0;
}

.premis-solution-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: clamp(34px, 5vw, 58px);
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(244,139,15,.20);
    border-radius: 30px;
    background:
        radial-gradient(520px 220px at 0% 0%, rgba(244,139,15,.18), transparent 62%),
        rgba(255,255,255,.78);
    box-shadow: 0 18px 44px rgba(28,18,10,.08);
}

.premis-solution-cta span {
    color: var(--premis-about-deep);
    font-family: "QueensVariable", "Cormorant Garamond", serif;
    font-size: clamp(1.65rem, 2.4vw, 2.4rem);
    line-height: 1.05;
}

.premis-support-request {
    position: relative;
    overflow: hidden;
}

.premis-feedback-page .premis-support-request {
    padding-bottom: clamp(6rem, 9.5vw, 8.2rem);
}

.premis-support-page .premis-about-cover-media img {
    object-position: center center;
}

.premis-feedback-page .premis-about-cover-media img {
    object-position: right center;
}

.premis-support-page .premis-solution-detail-card {
    border-radius: 30px;
}

.premis-support-page .premis-solution-card-media {
    border-radius: 30px 30px 0 0;
}

.premis-machinery-page .premis-about-cover-media img {
    object-position: center center;
}

.premis-machinery-page.premis-about-page,
.premis-machinery-page.premis-solution-page,
.premis-machinery-page .premis-solution-detail {
    background: #fff;
}

.premis-machinery-page .premis-solution-detail::before {
    display: none;
}

.premis-machinery-page .premis-solution-intro {
    max-width: 900px;
}

.premis-solution-catalog-page .premis-solution-detail-card {
    border-radius: 30px;
}

.premis-machinery-page .premis-machinery-solution-card {
    border-radius: 30px;
}

.premis-machinery-page .premis-machinery-solution-card .premis-solution-card-media {
    border-radius: 30px 30px 0 0;
}

.premis-machinery-page .premis-machinery-solution-card .premis-solution-card-body {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.premis-machinery-bands {
    display: grid;
    gap: clamp(1.65rem, 2.6vw, 2.2rem);
    margin-top: 2.1rem;
    margin-bottom: 2.65rem;
}

.premis-machinery-band {
    display: grid;
    --premis-machinery-band-gap: clamp(1.6rem, 3.2vw, 2.8rem);
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    align-items: center;
    column-gap: var(--premis-machinery-band-gap);
    padding-block: clamp(.45rem, 1vw, .8rem);
    background: transparent;
    box-shadow: none;
    border: 0;
    border-radius: 0;
}

.premis-machinery-band.is-reverse .premis-machinery-band-media {
    order: 2;
}

.premis-machinery-band.is-reverse .premis-machinery-band-copy {
    order: 1;
}

.premis-machinery-band.is-reverse {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.premis-machinery-band-media {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    isolation: isolate;
    background: #f5f2ee;
    aspect-ratio: 4 / 3;
    border-radius: 30px;
}

.premis-machinery-band-media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(244,139,15,.14), rgba(34,22,14,.10));
    opacity: .82;
    pointer-events: none;
    transition: opacity .28s ease;
}

.premis-machinery-carousel .carousel-inner,
.premis-machinery-carousel .carousel-item {
    height: 100%;
}

.premis-machinery-carousel::after,
.premis-machinery-carousel:hover::after,
.premis-machinery-carousel:focus-within::after {
    background: none;
    opacity: 0;
}

.premis-machinery-carousel.carousel-fade .carousel-item {
    transition: opacity 1s ease-in-out;
}

.premis-machinery-band-slide {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
}

    .premis-machinery-band-slide::after {
        content: none;
    }

    .premis-machinery-band-slide img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform .5s ease;
    }

    .premis-machinery-band-slide:hover img,
    .premis-machinery-band-slide:focus-visible img {
        transform: scale(1.045);
    }

.premis-machinery-band-slide-title {
    position: absolute;
    left: clamp(1rem, 2vw, 1.6rem);
    bottom: clamp(1rem, 2vw, 1.45rem);
    z-index: 2;
    max-width: min(74%, 18ch);
    color: rgba(255,255,255,.98);
    font-size: clamp(1.02rem, 1.8vw, 1.55rem);
    font-weight: 500;
    line-height: 1.08;
    text-shadow: 0 4px 18px rgba(0,0,0,.38);
}

.premis-machinery-carousel-control {
    position: absolute;
    top: 50%;
    bottom: auto;
    width: 54px;
    height: 54px;
    transform: translateY(-50%);
    opacity: 1;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .premis-machinery-carousel-control:hover,
    .premis-machinery-carousel-control:focus-visible {
        opacity: 1;
    }

.premis-machinery-carousel-control-prev {
    left: clamp(12px, 2vw, 18px);
}

.premis-machinery-carousel-control-next {
    right: clamp(12px, 2vw, 18px);
}

.premis-machinery-carousel-control-box {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(34, 22, 14, .46);
    color: rgba(255,247,239,.96);
    backdrop-filter: blur(10px);
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    transition: transform .16s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

    .premis-machinery-carousel-control-box::after {
        content: "";
        position: absolute;
        inset: -8px;
        border-radius: inherit;
        background: radial-gradient(circle, rgba(244,139,15,.34) 0%, rgba(244,139,15,.18) 48%, rgba(244,139,15,0) 72%);
        opacity: 0;
        transform: scale(.78);
        pointer-events: none;
    }

    .premis-machinery-carousel-control-box i {
        font-size: 1rem;
        line-height: 1;
        color: inherit;
        position: relative;
        z-index: 1;
        transition: transform .16s ease;
    }

.premis-machinery-carousel-control:hover .premis-machinery-carousel-control-box,
.premis-machinery-carousel-control:focus-visible .premis-machinery-carousel-control-box {
    border-color: rgba(245,139,9,.75);
}

.premis-machinery-carousel-control:active .premis-machinery-carousel-control-box {
    transform: scale(.92);
    border-color: rgba(245,139,9,.9);
    background: rgba(244,139,15,.82);
    box-shadow: 0 10px 24px rgba(244,139,15,.24), 0 8px 18px rgba(0,0,0,.18);
}

    .premis-machinery-carousel-control:active .premis-machinery-carousel-control-box::after {
        animation: premisMachineryControlPulse .42s ease-out;
    }

    .premis-machinery-carousel-control:active .premis-machinery-carousel-control-box i {
        transform: scale(.9);
    }

@keyframes premisMachineryControlPulse {
    0% {
        opacity: .55;
        transform: scale(.78);
    }

    100% {
        opacity: 0;
        transform: scale(1.18);
    }
}

.premis-machinery-band-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(1.6rem, 3vw, 2.3rem) clamp(2.2rem, 4.2vw, 3.45rem);
    background: #fff;
}

.premis-machinery-band-copy h2 {
    margin: .65rem 0 0;
    font-size: clamp(1.7rem, 2.2vw, 2.3rem);
    line-height: 1.05;
    max-width: 18ch;
    color: var(--premis-about-deep);
}

.premis-machinery-band-copy p {
    margin: 1rem 0 0;
    color: var(--premis-muted);
    line-height: 1.65;
    max-width: 55ch;
}

.premis-machinery-band-list {
    display: grid;
    gap: .72rem;
    margin: 1.1rem 0 0;
    padding: 0;
    list-style: none;
    max-width: 52ch;
}

.premis-machinery-band-list li {
    position: relative;
    padding-left: 1.1rem;
    color: var(--premis-text-2);
    line-height: 1.45;
}

.premis-machinery-band-list li::before {
    content: "";
    position: absolute;
    top: .58rem;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--premis-brand);
    box-shadow: 0 0 0 4px rgba(244,139,15,.12);
}

.premis-machinery-band-copy .btn {
    align-self: flex-start;
    margin-top: 1.25rem;
}

.premis-machinery-solution-label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--premis-brand);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .78rem;
}

.premis-machinery-solution-label::before {
    content: "";
    width: 26px;
    height: 1px;
    background: currentColor;
    opacity: .55;
}

.premis-machinery-page .premis-machinery-solution-card h3 {
    margin: 0;
    font-size: clamp(1.25rem, 1.65vw, 1.65rem);
    line-height: 1.15;
}

.premis-machinery-solution-list {
    display: grid;
    gap: .72rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.premis-machinery-solution-list li {
    position: relative;
    padding-left: 1.1rem;
    font-size: .95rem;
    color: var(--premis-text-2);
    line-height: 1.45;
}

.premis-machinery-solution-list li::before {
    content: "";
    position: absolute;
    top: .58rem;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--premis-brand);
    box-shadow: 0 0 0 4px rgba(244,139,15,.12);
}

.premis-solution-catalog-page .premis-carnico-feature {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    margin-top: 1.9rem;
    border-radius: 34px;
    background: #fff3e1;
}

.premis-solution-catalog-page .premis-carnico-feature-media {
    display: block;
    aspect-ratio: 1 / 1;
    cursor: zoom-in;
    overflow: hidden;
    border-radius: 34px 0 0 34px;
}

    .premis-solution-catalog-page .premis-carnico-feature-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .36s ease;
    }

.premis-solution-catalog-page .premis-carnico-feature-media:hover img,
.premis-solution-catalog-page .premis-carnico-feature-media:focus-visible img {
    transform: scale(1.045);
}

.premis-solution-catalog-page .premis-carnico-feature-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 3rem);
}

.premis-solution-catalog-page .premis-carnico-feature-kicker {
    color: #111;
}

    .premis-solution-catalog-page .premis-carnico-feature-kicker::before {
        opacity: .58;
    }

.premis-solution-catalog-page .premis-carnico-feature-copy h2 {
    margin: .55rem 0 0;
    color: var(--premis-brand);
    font-size: clamp(1.6rem, 2.1vw, 2.1rem);
    line-height: 1.08;
}

.premis-solution-catalog-page .premis-carnico-feature-list {
    margin: 1.55rem 0 0;
    padding: 0;
    color: #5b5b5b;
    columns: 1;
    list-style: none;
}

    .premis-solution-catalog-page .premis-carnico-feature-list li {
        position: relative;
        margin-bottom: .62rem;
        padding-left: 1rem;
        font-size: .96rem;
        line-height: 1.45;
    }

        .premis-solution-catalog-page .premis-carnico-feature-list li::before {
            content: "\f054";
            position: absolute;
            top: 50%;
            left: 0;
            color: var(--premis-brand);
            font-family: "Font Awesome 6 Free";
            font-size: .7rem;
            font-weight: 900;
            line-height: 1;
            transform: translateY(-50%);
        }

.premis-solution-catalog-page .premis-solution-group {
    padding: 0;
    border-radius: 0;
}

.premis-solution-catalog-page .premis-solution-group > .container {
    padding-block: clamp(2.35rem, 4.6vw, 3.4rem);
}

.premis-solution-catalog-page .premis-solution-group.is-supplies {
    background:
        radial-gradient(620px 260px at 0% 0%, rgba(244,139,15,.12), transparent 62%),
        linear-gradient(180deg, #fff5e9 0%, #fff8f1 100%);
}

.premis-solution-catalog-page .premis-solution-group.is-packaging {
    background: #fff;
    box-shadow: none;
}

.premis-solution-catalog-page .premis-solution-group + .premis-solution-group {
    margin-top: 0;
}

.premis-solution-catalog-page .premis-solution-group-head {
    margin-bottom: 1.15rem;
}

.premis-solution-catalog-page .premis-solution-group-label {
    color: var(--premis-about-deep);
}

    .premis-solution-catalog-page .premis-solution-group-label::before {
        opacity: .62;
    }

.premis-solution-catalog-page .premis-solution-group-title {
    margin: .3rem 0 0;
    color: var(--premis-brand);
    font-size: clamp(1.6rem, 2.1vw, 2.1rem);
    font-weight: 500;
    line-height: 1.08;
}

.premis-solution-catalog-page .premis-solution-card-media {
    border-radius: 30px 30px 0 0;
}

.premis-solution-catalog-page .premis-solution-card-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 108px;
    padding: 1.35rem 1.2rem;
    text-align: center;
}

.premis-solution-catalog-page .premis-solution-card-body h3 {
    margin-bottom: 0;
    font-size: clamp(1.28rem, 1.7vw, 1.62rem);
    line-height: 1.28;
}

@media (max-width: 767.98px) {
    .premis-carnico-page .premis-solution-group .row.g-4 > [class*="col-"],
    .premis-lacteos-page .premis-solution-group .row.g-4 > [class*="col-"],
    .premis-panificacion-page .premis-solution-group .row.g-4 > [class*="col-"],
    .premis-horeca-page .premis-solution-group .row.g-4 > [class*="col-"] {
        width: 50%;
    }

    .premis-machinery-bands {
        gap: 1rem;
        margin-top: 1.35rem;
        margin-bottom: 1.9rem;
    }

    .premis-machinery-band {
        --premis-machinery-band-gap: 0px;
        grid-template-columns: 1fr;
        column-gap: 0;
        padding-block: .2rem;
    }

    .premis-machinery-band.is-reverse .premis-machinery-band-media,
    .premis-machinery-band.is-reverse .premis-machinery-band-copy {
        order: initial;
    }

    .premis-machinery-band-media {
        aspect-ratio: 1.2 / 1;
        border-radius: 24px;
    }

    .premis-machinery-band-slide-title {
        left: .95rem;
        right: 4.5rem;
        bottom: .95rem;
        max-width: none;
        font-size: 1rem;
    }

    .premis-machinery-carousel-control,
    .premis-machinery-carousel-control-box {
        width: 44px;
        height: 44px;
    }

    .premis-machinery-carousel-control-prev {
        left: 10px;
    }

    .premis-machinery-carousel-control-next {
        right: 10px;
    }

    .premis-machinery-band-copy {
        padding: 1.15rem 0 1.2rem;
    }

    .premis-machinery-band-copy h2 {
        font-size: 1.45rem;
    }

    .premis-machinery-band-copy p {
        margin-top: .85rem;
        font-size: .94rem;
        line-height: 1.55;
    }

    .premis-machinery-band-list {
        gap: .62rem;
        margin-top: .95rem;
    }

    .premis-machinery-band-list li {
        font-size: .92rem;
        line-height: 1.42;
    }

    .premis-machinery-band-copy .btn {
        min-height: 38px;
        padding: .42rem .82rem;
        font-size: .86rem;
        margin-top: 1rem;
    }

    .premis-solution-catalog-page .premis-carnico-feature {
        grid-template-columns: 1fr;
        margin-top: 1.4rem;
        border-radius: 26px;
    }

    .premis-solution-catalog-page .premis-carnico-feature-media {
        aspect-ratio: 1.08 / 1;
        border-radius: 26px 26px 0 0;
    }

    .premis-solution-catalog-page .premis-carnico-feature-copy {
        padding: 1.3rem 1.1rem 1.4rem;
    }

    .premis-solution-catalog-page .premis-carnico-feature-kicker {
        font-size: 1.06rem;
        gap: 10px;
    }

        .premis-solution-catalog-page .premis-carnico-feature-kicker::before {
            width: 34px;
        }

    .premis-solution-catalog-page .premis-carnico-feature-copy h2 {
        font-size: 1.45rem;
    }

    .premis-solution-catalog-page .premis-carnico-feature-list {
        margin-top: 1.1rem;
        padding: 0;
    }

    .premis-solution-catalog-page .premis-carnico-feature-list li {
        padding-left: .95rem;
        font-size: .85rem;
        line-height: 1.42;
    }

        .premis-solution-catalog-page .premis-carnico-feature-list li::before {
            font-size: .64rem;
        }

    .premis-solution-catalog-page .premis-solution-group {
        padding: 0;
        border-radius: 0;
    }

    .premis-solution-catalog-page .premis-solution-group > .container {
        padding-block: 1.7rem 1.85rem;
    }

    .premis-solution-catalog-page .premis-solution-group + .premis-solution-group {
        margin-top: 0;
    }

    .premis-solution-catalog-page .premis-solution-group-head {
        margin-bottom: 1rem;
    }

    .premis-solution-catalog-page .premis-solution-group-label {
        font-size: 1.1rem;
        gap: 10px;
    }

        .premis-solution-catalog-page .premis-solution-group-label::before {
            width: 34px;
        }

    .premis-solution-catalog-page .premis-solution-group-title {
        font-size: 1.45rem;
    }

    .premis-solution-catalog-page .premis-solution-card-body {
        min-height: 94px;
        padding: 1.1rem 1rem;
    }

    .premis-solution-catalog-page .premis-solution-card-body h3 {
        font-size: 1.2rem;
        line-height: 1.24;
    }

    .premis-carnico-page .premis-solution-card-body {
        min-height: 84px;
        padding: .95rem .8rem;
    }

    .premis-carnico-page .premis-solution-card-body h3 {
        font-size: 1.04rem;
        line-height: 1.18;
    }
}

.premis-certifications-page .premis-about-cover-media img {
    object-position: center top;
}

.premis-quality-page .premis-about-cover-media img {
    object-position: center top;
}

.premis-quality-page .premis-quality-intro {
    max-width: 980px;
}

.premis-quality-page .premis-quality-intro .premis-about-kicker {
    color: var(--premis-brand);
}

    .premis-quality-page .premis-quality-intro .premis-about-kicker::before {
        opacity: .55;
    }

.premis-quality-page .premis-quality-intro h2 {
    margin: .3rem 0 0;
    color: var(--premis-about-deep);
    font-size: clamp(2rem, 3.2vw, 3rem);
    font-weight: 500;
    line-height: 1.05;
    max-width: 23ch;
}

.premis-quality-page .premis-quality-feature {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    overflow: hidden;
    margin-top: 2rem;
    border-radius: 0;
    background: transparent;
}

.premis-quality-page .premis-quality-feature-media {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: zoom-in;
    border-radius: 34px;
}

    .premis-quality-page .premis-quality-feature-media img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        transition: transform .36s ease;
    }

    .premis-quality-page .premis-quality-feature-media:hover img,
    .premis-quality-page .premis-quality-feature-media:focus-visible img {
        transform: scale(1.045);
    }

.premis-quality-page .premis-quality-feature-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 3rem) clamp(2.5rem, 5vw, 4rem);
}

.premis-quality-page .premis-quality-feature-kicker {
    color: #111;
}

    .premis-quality-page .premis-quality-feature-kicker::before {
        opacity: .58;
    }

.premis-quality-page .premis-quality-feature-copy h2 {
    margin: .55rem 0 0;
    color: var(--premis-brand);
    font-size: clamp(1.75rem, 2.4vw, 2.35rem);
    line-height: 1.05;
}

.premis-quality-page .premis-quality-feature-list {
    margin: 1.55rem 0 0;
    padding: 0;
    color: #5b5b5b;
    list-style: none;
}

    .premis-quality-page .premis-quality-feature-list li {
        position: relative;
        margin-bottom: .66rem;
        padding-left: 1rem;
        font-size: .98rem;
        line-height: 1.45;
    }

        .premis-quality-page .premis-quality-feature-list li::before {
            content: "\f054";
            position: absolute;
            top: 50%;
            left: 0;
            color: var(--premis-brand);
            font-family: "Font Awesome 6 Free";
            font-size: .7rem;
            font-weight: 900;
            line-height: 1;
            transform: translateY(-50%);
        }

.premis-quality-page .premis-quality-group {
    padding: 0;
    border-radius: 0;
}

.premis-quality-page .premis-quality-group > .container {
    padding-block: clamp(2.2rem, 4.2vw, 3.2rem);
}

.premis-quality-page .premis-quality-group.is-frameworks {
    background:
        radial-gradient(620px 260px at 0% 0%, rgba(244,139,15,.12), transparent 62%),
        linear-gradient(180deg, #fff5e9 0%, #fff8f1 100%);
}

.premis-quality-page .premis-quality-group.is-frameworks > .container,
.premis-quality-page .premis-quality-group.is-docs > .container {
    padding-block: clamp(3.9rem, 6.8vw, 5.4rem) clamp(7rem, 11.5vw, 9.6rem);
}

.premis-quality-page .premis-quality-group.is-docs {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(760px 320px at 88% 94%, rgba(244,139,15,.08), transparent 62%),
        radial-gradient(540px 220px at 12% 24%, rgba(255,255,255,.78), transparent 70%),
        #fff;
}

.premis-quality-page .premis-quality-group.is-docs::before {
    content: "";
    position: absolute;
    top: clamp(20px, 3vw, 42px);
    right: clamp(26px, 4vw, 72px);
    z-index: 0;
    width: min(43vw, 590px);
    height: min(60%, 530px);
    min-height: 340px;
    border-radius: 42px 42px 170px 42px;
    background: url("../img/section/calidad/hero-docs.avif") center center / cover no-repeat;
    opacity: .68;
    filter: saturate(.92) contrast(.98) brightness(1.02);
    -webkit-mask-image: linear-gradient(255deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.92) 46%, rgba(0,0,0,.24) 76%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(255deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.92) 46%, rgba(0,0,0,.24) 76%, rgba(0,0,0,0) 100%);
    pointer-events: none;
}

.premis-quality-page .premis-quality-group.is-docs::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 42%, rgba(255,255,255,.58) 70%, rgba(255,255,255,.10) 100%),
        radial-gradient(520px 200px at 86% 16%, rgba(255,255,255,.24), transparent 72%);
    pointer-events: none;
    z-index: 0;
}

.premis-quality-page .premis-quality-group.is-docs > .container {
    position: relative;
    z-index: 1;
}

.premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-head,
.premis-quality-page .premis-quality-group.is-docs .premis-solution-group-head {
    margin-bottom: clamp(1.45rem, 2.8vw, 2rem);
}

.premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-label {
    color: var(--premis-brand);
}

.premis-quality-page .premis-quality-group.is-docs .premis-solution-group-label {
    color: var(--premis-brand);
}

.premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-label::before {
    opacity: .55;
}

.premis-quality-page .premis-quality-group.is-docs .premis-solution-group-label::before {
    opacity: .55;
}

.premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-title,
.premis-quality-page .premis-quality-group.is-docs .premis-solution-group-title {
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1.05;
    max-width: 19ch;
}

.premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-title {
    color: var(--premis-about-deep);
}

.premis-quality-page .premis-quality-group.is-docs .premis-solution-group-title {
    color: var(--premis-about-deep);
}

.premis-quality-page .premis-solution-group-head {
    margin-bottom: 1.15rem;
}

.premis-quality-page .premis-solution-group-label {
    color: var(--premis-about-deep);
}

    .premis-quality-page .premis-solution-group-label::before {
        opacity: .62;
    }

.premis-quality-page .premis-solution-group-title {
    margin: .3rem 0 0;
    color: var(--premis-brand);
    font-size: clamp(1.6rem, 2.1vw, 2.1rem);
    font-weight: 500;
    line-height: 1.08;
}

.premis-quality-page .premis-solution-card-media {
    border-radius: 30px 30px 0 0;
}

.premis-quality-page .premis-quality-card {
    border-radius: 30px;
}

.premis-quality-page .premis-quality-card .premis-solution-card-body {
    padding: 1.3rem 1.15rem 1.2rem;
}

.premis-quality-page .premis-quality-card .premis-solution-card-body h3 {
    margin-bottom: .8rem;
    font-size: clamp(1.18rem, 1.5vw, 1.5rem);
    line-height: 1.16;
}

.premis-quality-page .premis-quality-group.is-docs .premis-quality-card .premis-solution-card-body h3 {
    font-size: clamp(1.24rem, 1.62vw, 1.62rem);
    line-height: 1.14;
}

.premis-quality-page .premis-quality-card .premis-solution-card-body p {
    margin-bottom: 0;
    color: var(--premis-muted);
    line-height: 1.58;
}

.premis-quality-page .premis-quality-doc-card {
    background: #fff;
}

.premis-quality-page .premis-quality-doc-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 148px;
    padding: 1.35rem 1rem;
    border-radius: 30px 30px 0 0;
    background: #fff;
}

.premis-quality-page .premis-quality-doc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    border-radius: 999px;
    background: rgba(244,139,15,.12);
    color: var(--premis-brand);
    box-shadow: inset 0 0 0 1px rgba(244,139,15,.14);
    transition: color .22s ease, background-color .22s ease, box-shadow .22s ease;
}

.premis-quality-page .premis-quality-doc-icon i {
    font-size: 1.8rem;
}

.premis-quality-page .premis-quality-doc-card:hover {
    background: #fff;
    border-color: rgba(244,139,15,.34);
    box-shadow: 0 28px 64px rgba(244,139,15,.22);
}

.premis-quality-page .premis-quality-doc-card:hover .premis-quality-doc-icon {
    color: var(--premis-brand);
    box-shadow: inset 0 0 0 1px rgba(244,139,15,.18);
}

.premis-quality-page .premis-quality-cta {
    margin-top: clamp(2rem, 4vw, 3rem);
    align-items: flex-start;
}

.premis-quality-page .premis-quality-cta-list {
    flex: 1 1 420px;
    margin-top: 0;
}

.premis-quality-page > .premis-section.premis-solution-detail:last-of-type {
    padding-bottom: 0;
}

@media (min-width: 768px) {
    .premis-quality-page > .premis-section.premis-solution-detail:first-of-type {
        padding-bottom: clamp(3.2rem, 6vw, 5rem);
    }
}

@media (max-width: 767.98px) {
    .premis-quality-page .premis-quality-feature {
        grid-template-columns: 1fr;
        margin-top: 1.45rem;
        border-radius: 26px;
    }

    .premis-quality-page .premis-quality-feature-media {
        aspect-ratio: 1.08 / 1;
    }

    .premis-quality-page .premis-quality-feature-copy {
        padding: 1.3rem 1.1rem 1.4rem;
    }

    .premis-quality-page .premis-quality-feature-kicker {
        font-size: 1.06rem;
        gap: 10px;
    }

        .premis-quality-page .premis-quality-feature-kicker::before {
            width: 34px;
        }

    .premis-quality-page .premis-quality-feature-copy h2 {
        font-size: 1.5rem;
    }

    .premis-quality-page .premis-quality-feature-list {
        margin-top: 1.1rem;
    }

    .premis-quality-page .premis-quality-feature-list li {
        padding-left: .95rem;
        font-size: .88rem;
        line-height: 1.42;
    }

        .premis-quality-page .premis-quality-feature-list li::before {
            font-size: .64rem;
        }

    .premis-quality-page .premis-quality-group > .container {
        padding-block: 1.7rem 1.85rem;
    }

    .premis-quality-page .premis-solution-group-head {
        margin-bottom: 1rem;
    }

    .premis-quality-page .premis-solution-group-label {
        font-size: 1.1rem;
        gap: 10px;
    }

        .premis-quality-page .premis-solution-group-label::before {
            width: 34px;
        }

    .premis-quality-page .premis-solution-group-title {
        font-size: 1.45rem;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-label,
    .premis-quality-page .premis-quality-group.is-docs .premis-solution-group-label {
        font-size: 1.56rem;
        gap: 12px;
    }

        .premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-label::before,
        .premis-quality-page .premis-quality-group.is-docs .premis-solution-group-label::before {
            width: 44px;
        }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-solution-group-title,
    .premis-quality-page .premis-quality-group.is-docs .premis-solution-group-title {
        font-size: clamp(2rem, 9.6vw, 3rem);
        line-height: 1.05;
    }

    .premis-quality-page .premis-quality-group.is-frameworks > .container,
    .premis-quality-page .premis-quality-group.is-docs > .container {
        padding-block: 2.3rem 3.15rem;
    }

    .premis-quality-page .premis-quality-group.is-docs > .container {
        padding-block: 2.5rem 5rem;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .row {
        --bs-gutter-x: .95rem;
        --bs-gutter-y: .95rem;
    }

    .premis-quality-page .premis-quality-group.is-docs .row {
        --bs-gutter-x: .95rem;
        --bs-gutter-y: .95rem;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .row > [class*="col-"] {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }

    .premis-quality-page .premis-quality-group.is-docs .row > [class*="col-"] {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }

    .premis-quality-page .premis-quality-group.is-docs::before {
        display: none;
    }

    .premis-quality-page .premis-quality-card .premis-solution-card-body {
        padding: 1.1rem 1rem;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-quality-card .premis-solution-card-body {
        padding: .95rem .88rem 1rem;
    }

    .premis-quality-page .premis-quality-group.is-docs .premis-quality-card .premis-solution-card-body {
        padding: .95rem .88rem 1rem;
    }

    .premis-quality-page .premis-quality-card .premis-solution-card-body h3 {
        font-size: 1.08rem;
        line-height: 1.18;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-quality-card .premis-solution-card-body h3 {
        font-size: 1.08rem;
        line-height: 1.14;
        margin-bottom: .6rem;
    }

    .premis-quality-page .premis-quality-group.is-docs .premis-quality-card .premis-solution-card-body h3 {
        font-size: 1.08rem;
        line-height: 1.14;
        margin-bottom: .6rem;
    }

    .premis-quality-page .premis-quality-card .premis-solution-card-body p {
        font-size: .9rem;
        line-height: 1.5;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-quality-card .premis-solution-card-body p {
        font-size: .82rem;
        line-height: 1.42;
    }

    .premis-quality-page .premis-quality-group.is-docs .premis-quality-card .premis-solution-card-body p {
        font-size: .82rem;
        line-height: 1.42;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-solution-card-media {
        border-radius: 24px 24px 0 0;
    }

    .premis-quality-page .premis-quality-group.is-frameworks .premis-solution-card-media img {
        aspect-ratio: .98 / 1;
    }

    .premis-quality-page .premis-quality-doc-media {
        min-height: 126px;
        padding: 1.15rem .9rem;
    }

    .premis-quality-page .premis-quality-doc-icon {
        width: 64px;
        height: 64px;
        border-radius: 20px;
    }

    .premis-quality-page .premis-quality-doc-icon i {
        font-size: 1.55rem;
    }

    .premis-quality-page .premis-quality-cta {
        flex-direction: column;
        gap: 1rem;
    }

    .premis-quality-page .premis-quality-cta-list {
        width: 100%;
    }
}

.premis-maintenance-page .premis-about-cover-media img {
    object-position: center center;
}

.premis-support-form-card,
.premis-support-aside-card {
    padding: clamp(20px, 3vw, 28px);
    border: 1px solid rgba(244,139,15,.14);
    background:
        radial-gradient(520px 220px at 0% 0%, rgba(244,139,15,.10), transparent 62%),
        rgba(255,255,255,.86);
    box-shadow: 0 20px 52px rgba(28,18,10,.08);
}

.premis-support-aside-card {
    border-color: rgba(244,139,15,.18);
    background: linear-gradient(135deg, rgba(35, 23, 15, .96), rgba(83, 52, 31, .92)), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
    box-shadow: 0 36px 90px rgba(33, 22, 15, .22);
}

.premis-support-aside-card .premis-kicker,
.premis-support-aside-card h3,
.premis-support-aside-card .fw-bold,
.premis-support-aside-card strong {
    color: #fff6ee;
}

.premis-support-aside-card > p,
.premis-support-aside-card .premis-muted,
.premis-support-aside-card .premis-support-note p {
    color: rgba(255, 238, 223, .76) !important;
}

.premis-support-aside-card .premis-kicker {
    background: transparent;
    border-color: transparent;
    color: #f4bc91;
    padding-inline: 0;
    box-shadow: none;
}

.premis-support-aside-card .premis-kicker i {
    color: #f4bc91;
}

.premis-support-aside-card .premis-mini {
    border: 1px solid rgba(244,139,15,.24);
    background: linear-gradient(135deg, rgba(255,255,255,.05), rgba(244,139,15,.05));
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.premis-support-aside-card .premis-mini i {
    color: var(--premis-brand);
}

.premis-support-aside-card .premis-mini:hover {
    transform: translateY(-3px);
    border-color: rgba(244,139,15,.44);
    background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(244,139,15,.10));
    box-shadow: 0 18px 38px rgba(244,139,15,.12);
}

.premis-support-aside-card .premis-mini:hover i {
    color: var(--premis-brand);
}

.premis-support-alert {
    margin-bottom: 18px;
    border-radius: 18px;
}

.premis-support-form .text-danger {
    color: #b54708 !important;
}

.premis-support-actions {
    padding-top: 6px;
}

.premis-support-mini-list {
    display: grid;
    gap: 14px;
}

.premis-support-note {
    margin-top: 20px;
    padding: 18px 18px 16px;
    border: 1px solid rgba(244,139,15,.22);
    border-radius: 22px;
    background: rgba(255,255,255,.06);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.premis-support-note strong {
    display: block;
    margin-bottom: 8px;
    color: #fff6ee;
}

.premis-support-note:hover {
    transform: translateY(-3px);
    border-color: rgba(244,139,15,.40);
    background: rgba(255,255,255,.08);
    box-shadow: 0 18px 38px rgba(244,139,15,.10);
}

.premis-support-note p {
    color: rgba(29,23,18,.74);
    line-height: 1.7;
}

.btn.is-loading {
    pointer-events: none;
}

.premis-btn-spinner {
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    display: inline-block;
    flex: 0 0 auto;
    animation: premisSpin .72s linear infinite;
}

@keyframes premisSpin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 767.98px) {
    .premis-solution-intro {
        text-align: center;
    }

    .premis-solution-intro-left {
        text-align: left;
    }

        .premis-solution-intro-left .premis-about-kicker::before {
            left: 0;
            transform: none;
        }

    .premis-solution-cta {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .premis-solution-cta .btn {
        justify-content: center;
    }

    .premis-support-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .premis-footer-request-form .d-grid,
    .premis-contact-request-form .d-grid {
        width: 100%;
    }

    .premis-footer-request-form .d-grid .btn,
    .premis-contact-request-form .d-grid .btn,
    .premis-contact-request-form > .btn,
    .premis-contact-request-form .btn[type="submit"] {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
        align-self: stretch;
        justify-content: center;
    }
}

.premis-legal-page,
.premis-book-page {
    padding: clamp(32px, 1vw, 90px) 0 clamp(70px, 9vw, 120px);
    background: radial-gradient(circle at top left, rgba(244,139,15,.10), transparent 26%), linear-gradient(180deg, #fffaf4 0%, #ffffff 44%, #fff8ef 100%);
}

.premis-legal-hero,
.premis-book-hero {
    max-width: 980px;
    margin-bottom: clamp(26px, 4vw, 38px);
}

.premis-legal-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: clamp(20px, 4vw, 40px);
    max-width: none;
}

.premis-legal-hero-copy {
    max-width: 760px;
}

    .premis-legal-hero h1,
    .premis-book-hero h1 {
        margin-top: 18px;
        color: #2d1c11;
        font-family: var(--premis-font);
        font-size: clamp(2.9rem, 6vw, 5.4rem);
        font-weight: 500;
        line-height: .96;
        letter-spacing: -.04em;
    }

    .premis-legal-hero h3,
    .premis-book-hero h3 {
        margin-top: 18px;
        color: #2d1c11;
        font-family: var(--premis-font);
        font-size: clamp(2.9rem, 3vw, 5.4rem);
        font-weight: 500;
        line-height: .96;
        letter-spacing: -.04em;
    }

    .premis-legal-hero p,
    .premis-book-hero p {
        max-width: 760px;
        margin-top: 18px;
        color: rgba(29, 23, 18, .72);
        font-size: 1.06rem;
        line-height: 1.8;
    }

.premis-legal-shell {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.premis-legal-sidebar {
    position: sticky;
    top: calc(var(--premis-nav-h) + 28px);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.premis-legal-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 132px;
    padding: 22px;
    border: 1px solid rgba(39, 25, 16, .08);
    border-radius: 28px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 24px 60px rgba(34, 23, 15, .08);
}

.premis-legal-hero-brand {
    display: inline-flex;
    position: static;
    align-items: center;
    justify-content: center;
    justify-self: end;
    align-self: start;
    width: clamp(220px, 20vw, 290px);
    min-height: 164px;
    padding: 24px 28px;
    border: 1px solid rgba(39, 25, 16, .08);
    border-radius: 32px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 24px 60px rgba(34, 23, 15, .08);
    backdrop-filter: blur(8px);
}

    .premis-legal-hero-brand img {
        max-width: 180px;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .premis-legal-brand img {
        max-width: 180px;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

.premis-legal-nav,
.premis-legal-offcanvas .premis-legal-nav {
    display: grid;
    gap: 10px;
}

    .premis-legal-nav a {
        padding: 15px 18px;
        border: 1px solid rgba(39, 25, 16, .08);
        border-radius: 18px;
        background: rgba(255,255,255,.8);
        color: #3e2a1d;
        font-family: var(--premis-accent-font);
        font-size: 1.24rem;
        letter-spacing: .08em;
        text-transform: uppercase;
        transition: transform .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
    }

        .premis-legal-nav a:hover,
        .premis-legal-nav a.is-active {
            transform: translateY(-2px);
            border-color: rgba(244,139,15,.42);
            background: linear-gradient(135deg, rgba(244,139,15,.14), rgba(255,255,255,.95));
            /*box-shadow: 0 8px 16px rgba(244,139,15,.12);*/
            color: #2d1c11;
        }

.premis-legal-sidecard,
.premis-book-info-card,
.premis-book-formwrap,
.premis-book-block {
    border: 1px solid rgba(39, 25, 16, .08);
    border-radius: 28px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 24px 60px rgba(34, 23, 15, .08);
}

.premis-legal-sidecard {
    padding: 24px;
}

    .premis-legal-sidecard strong,
    .premis-book-hero-card strong {
        display: block;
        color: #2d1c11;
        font-family: var(--premis-font);
        font-size: 1.9rem;
        font-weight: 500;
        line-height: 1.02;
    }

    .premis-legal-sidecard p {
        margin: 14px 0 18px;
        color: rgba(29, 23, 18, .72);
        line-height: 1.7;
    }

.premis-legal-main {
    display: grid;
    gap: 22px;
}

.premis-legal-section {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid rgba(39, 25, 16, .08);
    border-radius: 34px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 24px 60px rgba(34, 23, 15, .08);
    scroll-margin-top: calc(var(--premis-nav-h) + 36px);
}

    .premis-legal-section h2,
    .premis-book-info-card h2,
    .premis-book-block-head h2 {
        margin-top: 16px;
        color: #2d1c11;
        font-family: var(--premis-font);
        font-size: clamp(2rem, 3vw, 3rem);
        font-weight: 500;
        line-height: 1;
        letter-spacing: -.035em;
    }

    .premis-legal-section h3,
    .premis-book-info-card h3,
    .premis-book-block-head h3 {
        margin-top: 16px;
        color: #2d1c11;
        font-family: var(--premis-font);
        font-size: clamp(2rem, 2vw, 3rem);
        font-weight: 500;
        line-height: 1;
        letter-spacing: -.035em;
    }

    .premis-legal-section h5,
    .premis-book-info-card h5,
    .premis-book-block-head h5 {
        /*margin-top: 16px;*/
        color: #2d1c11;
        font-family: var(--premis-font);
        font-size: clamp(2rem, 1vw, 3rem);
        font-weight: 400;
        line-height: 1;
        letter-spacing: -.035em;
    }


    .premis-legal-section article + article {
        margin-top: 24px;
        padding-top: 24px;
        border-top: 1px solid rgba(39, 25, 16, .08);
    }

    .premis-legal-section h3 {
        color: #3a2416;
        font-family: var(--premis-font);
        font-size: 1.65rem;
        font-weight: 500;
        line-height: 1.06;
        margin-bottom: 10px;
    }

    .premis-legal-section p,
    .premis-book-info-card p,
    .premis-book-block-head p,
    .premis-book-info-card li {
        font-size: 0.89rem;
        color: rgba(29, 23, 18, .74);
        line-height: 1.78;
    }

    .premis-legal-section ul {
        margin: .8rem 0 0;
        padding-left: 1.2rem;
    }

    .premis-legal-section li {
        margin-bottom: .45rem;
        font-size: 0.89rem;
        color: rgba(29, 23, 18, .74);
        line-height: 1.72;
    }

.premis-legal-pillbox {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 22px 0 20px;
}

    .premis-legal-pillbox span {
        padding: 10px 14px;
        border-radius: 999px;
        background: rgba(244,139,15,.10);
        color: #734728;
        font-family: var(--premis-accent-font);
        font-size: 1.02rem;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

.premis-legal-offcanvas {
    max-width: 320px;
}

    .premis-legal-offcanvas .offcanvas-header,
    .premis-legal-offcanvas .offcanvas-body {
        background: linear-gradient(180deg, #fff9f1 0%, #ffffff 100%);
    }

.premis-book-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: 24px;
    align-items: stretch;
    max-width: none;
}

.premis-book-hero-card {
    padding: 26px;
    border: 1px solid rgba(39, 25, 16, .08);
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,246,234,.92));
    box-shadow: 0 24px 60px rgba(34, 23, 15, .08);
}

    .premis-book-hero-card p {
        margin-top: 14px;
    }

    .premis-book-hero-card span {
        color: #2d1c11;
        font-family: var(--premis-accent-font);
        font-size: .92rem;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

.premis-book-alert {
    margin-bottom: 22px;
    border-radius: 18px;
}

.premis-book-grid {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.premis-book-info {
    display: grid;
    gap: 18px;
    position: sticky;
    top: calc(var(--premis-nav-h) + 28px);
}

.premis-book-info-card {
    padding: 24px;
}

    .premis-book-info-card ul {
        margin: 16px 0 0;
        padding-left: 18px;
    }

    .premis-book-info-card li + li {
        margin-top: 10px;
    }

.premis-book-formwrap {
    padding: clamp(18px, 2vw, 24px);
}

.premis-book-form {
    display: grid;
    gap: 18px;
}

.premis-book-block {
    padding: clamp(20px, 2.5vw, 26px);
}

.premis-book-block-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 20px;
}

    .premis-book-block-head > span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 54px;
        height: 54px;
        border-radius: 50%;
        background: var(--premis-brand-100);
        color: var(--premis-brand);
        font-family: var(--premis-accent-font);
        font-size: 1.24rem;
        letter-spacing: .08em;
    }

.premis-book-form textarea.form-control {
    min-height: 140px;
}

.premis-book-checks {
    display: grid;
    gap: 12px;
}

.premis-book-check {
    display: grid;
    grid-template-columns: 1.2rem minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(244,139,15,.12);
    background: rgba(255,248,238,.82);
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

    .premis-book-check .form-check-input {
        margin-top: .18rem;
        margin-left: 0;
        float: none;
        width: 1.1rem;
        height: 1.1rem;
        border-color: rgba(244,139,15,.38);
        accent-color: var(--premis-brand);
    }

        .premis-book-check .form-check-input:checked {
            background-color: var(--premis-brand);
            border-color: var(--premis-brand);
        }

        .premis-book-check .form-check-input:focus {
            border-color: rgba(244,139,15,.62);
            box-shadow: 0 0 0 .2rem rgba(244,139,15,.14);
        }

    .premis-book-check:has(.form-check-input:checked) {
        border-color: rgba(244,139,15,.28);
        background: rgba(255, 246, 234, .96);
        box-shadow: 0 12px 28px rgba(244,139,15,.08);
    }

    .premis-book-check span {
        color: rgba(29, 23, 18, .76);
        line-height: 1.7;
    }

.premis-book-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 6px;
}

.premis-empty-layout .premis-legal-sidebar,
.premis-empty-layout .premis-book-info {
    top: 24px;
}

.premis-empty-layout .premis-legal-section {
    scroll-margin-top: 24px;
}

@media (max-width: 1199.98px) {
    .premis-legal-shell,
    .premis-book-grid {
        grid-template-columns: 280px minmax(0, 1fr);
    }
}

@media (max-width: 991.98px) {
    .premis-legal-shell,
    .premis-book-grid,
    .premis-book-hero {
        grid-template-columns: 1fr;
    }

    .premis-legal-hero {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .premis-legal-hero-brand {
        display: none;
    }

    .premis-book-info,
    .premis-legal-sidebar {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .premis-legal-section,
    .premis-book-info-card,
    .premis-book-formwrap,
    .premis-book-block {
        border-radius: 24px;
    }

    .premis-book-block-head {
        gap: 5px;
        grid-template-columns: 1fr;
    }

    .premis-book-actions .btn {
        width: 100%;
        justify-content: center;
    }
}
.premis-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.premis-toast.swal2-toast {
    background: #fff !important;
    color: #241c16 !important;
    border: 1px solid rgba(245, 139, 9, 0.18) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(36, 28, 22, 0.12), 0 4px 16px rgba(245, 139, 9, 0.12) !important;
    padding: 0.9rem 1rem !important;
}

.premis-toast .swal2-title,
.premis-toast .swal2-html-container,
.premis-toast .swal2-content,
.premis-toast .swal2-timer-progress-bar-container {
    color: inherit !important;
}

.premis-toast .swal2-timer-progress-bar {
    background: var(--premis-brand) !important;
}

.premis-toast .swal2-icon {
    margin-right: 0.4rem !important;
}

.premis-toast .swal2-title {
    font-size: 0.98rem !important;
    font-weight: 700 !important;
}

.premis-toast .swal2-html-container,
.premis-toast .swal2-content,
.premis-toast .swal2-text {
    font-size: 0.89rem !important;
    line-height: 1.45 !important;
    margin-top: 0.1rem !important;
}



