:root{--ink:#132b22;--green:#0f4d31;--soft:#f4f8f5;--gold:#f2c66d}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:16px "DM Sans",sans-serif}
.catalog-shell{width:min(1180px,calc(100% - 48px));margin:auto}
/* =========================================
   HERO - CATÁLOGO
   ========================================= */

.catalog-hero {
    position: relative;
    overflow: hidden;
    padding: 106px 0 88px;

    /* IMAGEN DE FONDO */
    background-image:
        linear-gradient(
            122deg,
            rgba(6, 43, 29, 0.92),
            rgba(15, 101, 64, 0.78)
        ),
        url("../img/catalogo.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #fff;
}


/* =========================================
   CÍRCULOS DECORATIVOS
   ========================================= */

.catalog-hero:after {
    position: absolute;
    right: -100px;
    bottom: -190px;

    width: 520px;
    height: 520px;

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;

    box-shadow:
        0 0 0 48px rgba(255, 255, 255, 0.05),
        0 0 0 96px rgba(255, 255, 255, 0.03);

    content: "";
}


/* =========================================
   CONTENIDO
   ========================================= */

.catalog-hero__content {
    position: relative;
    z-index: 1;
    max-width: 900px;
}


/* =========================================
   KICKER
   ========================================= */

.catalog-kicker {
    display: flex;
    align-items: center;
    gap: 9px;

    margin: 0;

    color: #f4d28b;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.catalog-kicker span {
    width: 8px;
    height: 8px;

    border-radius: 50%;
    background: currentColor;
}


/* =========================================
   TIPOGRAFÍA
   ========================================= */

.catalog-hero h1,
.category-heading h2 {
    font-family: "Playfair Display", Georgia, serif;
}

.catalog-hero h1 {
    max-width: 790px;

    margin: 16px 0 20px;

    font-size: clamp(2.9rem, 6vw, 5.4rem);
    letter-spacing: -0.05em;
    line-height: 0.98;
}

.catalog-hero h1 em,
.category-heading em {
    color: var(--gold);
    font-style: normal;
}

.catalog-hero__content > p:last-child {
    max-width: 660px;

    margin: 0;

    color: #d7e9df;
    font-size: 1.08rem;
    line-height: 1.7;
}


/* =========================================
   CATÁLOGO
   ========================================= */

.catalog-section {
    padding: 76px 0;
}


/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 760px) {

    .catalog-hero {
        padding: 75px 0 65px;

        background-position: center;
    }

    .catalog-hero h1 {
        max-width: 100%;
        font-size: clamp(2.5rem, 11vw, 4rem);
    }

    .catalog-hero__content > p:last-child {
        font-size: 1rem;
    }
}

.catalog-section--soft {
    background: var(--soft);
}

/* Encabezado centrado */
.category-heading {
    position: relative;
    max-width: 650px;
    margin: 0 auto 42px;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 0;
    text-align: center;
}

/* Línea decorativa */
.category-heading::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -18px;
    transform: translateX(-50%);
    width: 70px;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--verde-principal),
        var(--dorado)
    );
    border-radius: 3px;
}
.category-heading p{margin:0 0 8px;color:#16754b;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.category-heading h2{margin:0 0 10px;font-size:clamp(2.1rem,4vw,3.2rem);letter-spacing:-.045em;line-height:1.08}
.category-heading span{color:#63736b;line-height:1.65}.risk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.risk-card{position:relative;isolation:isolate;min-height:335px;overflow:hidden;border:1px solid rgba(20,70,48,.13);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(10,53,34,.07);outline:none;transition:transform .3s ease,box-shadow .3s ease}
.risk-card:hover,.risk-card:focus{z-index:2;box-shadow:0 24px 42px rgba(10,53,34,.18);transform:translateY(-8px)}.risk-card__front,.risk-card__detail{position:absolute;inset:0;padding:26px}.risk-card__front{display:flex;flex-direction:column;background:linear-gradient(155deg,var(--card-tint),#fff 68%);transition:transform .42s cubic-bezier(.2,.8,.2,1)}.risk-card__front:after{position:absolute;right:-38px;bottom:-45px;width:150px;height:150px;border:22px solid var(--card-line);border-radius:50%;content:""}.risk-card__icon{display:grid;width:56px;height:56px;place-items:center;border-radius:17px;background:var(--card-color);color:#fff;font-size:1.7rem;box-shadow:0 9px 19px var(--card-shadow)}.risk-card__front p{margin:23px 0 8px;color:var(--card-color);font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.risk-card h3{margin:0;color:#17372a;font-size:1.35rem;line-height:1.15}.risk-card__front>span{margin-top:12px;color:#65736d;font-size:.91rem;line-height:1.55}.risk-card__front small{position:relative;z-index:1;margin-top:auto;color:var(--card-color);font-size:.8rem;font-weight:700}.risk-card__front small i{margin-left:4px;font-size:1rem}.risk-card__detail{display:flex;flex-direction:column;background:var(--card-color);color:#fff;transform:translateY(101%);transition:transform .42s cubic-bezier(.2,.8,.2,1)}.risk-card:hover .risk-card__front,.risk-card:focus .risk-card__front{transform:translateY(-28%)}.risk-card:hover .risk-card__detail,.risk-card:focus .risk-card__detail{transform:translateY(0)}.risk-card__label{margin:0 0 9px;color:var(--card-light);font-size:.69rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.risk-card__detail h3{color:#fff;font-size:1.2rem}.risk-card__detail ul{display:grid;gap:9px;margin:17px 0;padding:0;list-style:none;font-size:.83rem;line-height:1.25}.risk-card__detail li{display:flex;gap:8px;align-items:flex-start}.risk-card__detail li i{color:var(--card-light);font-size:1rem}.risk-card__detail a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.27);color:#fff;font-size:.83rem;font-weight:700;text-decoration:none}.risk-card__detail a:hover{text-decoration:underline}.risk-card--laboral{--card-color:#177a55;--card-tint:#e6f5ed;--card-light:#bbebce;--card-line:#d4efdf;--card-shadow:rgba(23,122,85,.25)}.risk-card--patrimonial{--card-color:#965f24;--card-tint:#fbf0df;--card-light:#ffdc9f;--card-line:#f6e4c7;--card-shadow:rgba(150,95,36,.24)}.risk-card--transporte{--card-color:#176d90;--card-tint:#e2f3f8;--card-light:#b9e9f7;--card-line:#d0eaf3;--card-shadow:rgba(23,109,144,.22)}.risk-card--vehicular{--card-color:#344d9e;--card-tint:#e9edfb;--card-light:#cbd7ff;--card-line:#dce4fb;--card-shadow:rgba(52,77,158,.22)}.risk-card--rc{--card-color:#83518f;--card-tint:#f4e8f6;--card-light:#eabcf2;--card-line:#ecd8ef;--card-shadow:rgba(131,81,143,.22)}.risk-card--deshonestidad{--card-color:#b04e42;--card-tint:#fbeae6;--card-light:#ffc8bb;--card-line:#f8dad3;--card-shadow:rgba(176,78,66,.22)}.risk-card--ingenieria{--card-color:#ad7414;--card-tint:#fcf3da;--card-light:#ffe4a2;--card-line:#faecc9;--card-shadow:rgba(173,116,20,.22)}.risk-card--ciber{--card-color:#266e78;--card-tint:#e1f3f2;--card-light:#b4e8e5;--card-line:#d2eeee;--card-shadow:rgba(38,110,120,.22)}.risk-card--vida{--card-color:#c34a6c;--card-tint:#fbe8ee;--card-light:#ffc4d4;--card-line:#f7d9e2;--card-shadow:rgba(195,74,108,.22)}.risk-card--salud{--card-color:#168c79;--card-tint:#e2f7f1;--card-light:#b7eddf;--card-line:#d4f1e9;--card-shadow:rgba(22,140,121,.22)}.risk-card--hogar{--card-color:#ba6335;--card-tint:#faecdf;--card-light:#ffd1ad;--card-line:#f8dfca;--card-shadow:rgba(186,99,53,.22)}.risk-card--viajes{--card-color:#3d699b;--card-tint:#e7eff8;--card-light:#c7ddff;--card-line:#d8e6f6;--card-shadow:rgba(61,105,155,.22)}.risk-card:focus-visible{outline:3px solid #efbd54;outline-offset:4px}@media(max-width:1050px){.risk-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.catalog-hero{padding:78px 0 66px}.catalog-section{padding:58px 0}.risk-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:510px){.catalog-shell{width:min(100% - 36px,1180px)}.catalog-hero h1{font-size:clamp(2.6rem,13vw,4rem)}.risk-grid{grid-template-columns:1fr}.risk-card{min-height:315px}.risk-card__front{transform:translateY(-25%)}.risk-card__detail{transform:translateY(57%)}.risk-card__detail h3,.risk-card__detail ul,.risk-card__label{opacity:0;transition:opacity .2s}.risk-card:focus .risk-card__detail,.risk-card:active .risk-card__detail{transform:translateY(0)}.risk-card:focus .risk-card__detail h3,.risk-card:focus .risk-card__detail ul,.risk-card:focus .risk-card__label,.risk-card:active .risk-card__detail h3,.risk-card:active .risk-card__detail ul,.risk-card:active .risk-card__label{opacity:1}}
/* =========================================================
   RESPONSIVE
   ========================================================= */

/* =========================
   TABLET GRANDE
   1050px hacia abajo
   ========================= */
@media (max-width: 1050px) {

    .catalog-shell {
        width: min(100% - 40px, 1180px);
    }

    .catalog-hero {
        padding: 90px 0 75px;
    }

    .catalog-hero__content {
        max-width: 820px;
    }

    .catalog-hero h1 {
        font-size: clamp(2.8rem, 7vw, 4.5rem);
    }

    .catalog-section {
        padding: 68px 0;
    }

    .risk-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }

    .risk-card {
        min-height: 330px;
    }
}


/* =========================
   TABLET
   760px hacia abajo
   ========================= */
@media (max-width: 760px) {

    .catalog-shell {
        width: calc(100% - 36px);
    }

    /* HERO */
    .catalog-hero {
        padding: 75px 0 62px;
    }

    .catalog-hero__content {
        max-width: 100%;
    }

    .catalog-kicker {
        font-size: .72rem;
        letter-spacing: .11em;
    }

    .catalog-hero h1 {
        max-width: 700px;
        margin: 14px 0 18px;
        font-size: clamp(2.6rem, 8vw, 4rem);
        line-height: 1;
    }

    .catalog-hero__content > p:last-child {
        max-width: 620px;
        font-size: 1rem;
        line-height: 1.65;
    }

    /* SECCIONES */
    .catalog-section {
        padding: 60px 0;
    }

    /* TITULO DE SECCIÓN */
    .category-heading {
        max-width: 600px;
        margin: 0 auto 38px;
    }

    .category-heading::before {
        top: -16px;
        width: 60px;
    }

    .category-heading p {
        font-size: .72rem;
    }

    .category-heading h2 {
        font-size: clamp(2rem, 6vw, 2.8rem);
    }

    .category-heading span {
        font-size: .95rem;
        line-height: 1.6;
    }

    /* TARJETAS */
    .risk-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .risk-card {
        min-height: 320px;
        border-radius: 19px;
    }

    .risk-card__front,
    .risk-card__detail {
        padding: 22px;
    }

    .risk-card__icon {
        width: 52px;
        height: 52px;
        border-radius: 15px;
        font-size: 1.5rem;
    }

    .risk-card__front p {
        margin-top: 20px;
    }

    .risk-card h3 {
        font-size: 1.2rem;
    }

    .risk-card__front > span {
        font-size: .86rem;
    }
}


/* =========================
   CELULAR
   510px hacia abajo
   ========================= */
@media (max-width: 510px) {

    .catalog-shell {
        width: calc(100% - 28px);
    }

    /* HERO */
    .catalog-hero {
        padding: 62px 0 52px;
    }

    .catalog-hero:after {
        right: -180px;
        bottom: -210px;
        width: 420px;
        height: 420px;
    }

    .catalog-kicker {
        gap: 7px;
        font-size: .68rem;
        letter-spacing: .1em;
    }

    .catalog-kicker span {
        width: 7px;
        height: 7px;
    }

    .catalog-hero h1 {
        margin: 14px 0 18px;
        font-size: clamp(2.35rem, 12vw, 3.5rem);
        letter-spacing: -.045em;
        line-height: 1;
    }

    .catalog-hero__content > p:last-child {
        font-size: .95rem;
        line-height: 1.6;
    }


    /* SECCIONES */
    .catalog-section {
        padding: 52px 0;
    }


    /* ENCABEZADO */
    .category-heading {
        max-width: 100%;
        margin-bottom: 34px;
    }

    .category-heading::before {
        top: -14px;
        width: 52px;
        height: 3px;
    }

    .category-heading p {
        margin-bottom: 7px;
        font-size: .67rem;
        letter-spacing: .1em;
    }

    .category-heading h2 {
        margin-bottom: 10px;
        font-size: clamp(1.9rem, 9vw, 2.5rem);
        letter-spacing: -.04em;
        line-height: 1.08;
    }

    .category-heading span {
        font-size: .9rem;
        line-height: 1.55;
    }


    /* UNA COLUMNA */
    .risk-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }


    /* TARJETA */
    .risk-card {
        min-height: 310px;
        border-radius: 18px;
    }

    .risk-card__front,
    .risk-card__detail {
        padding: 22px;
    }

    .risk-card__icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
        font-size: 1.4rem;
    }

    .risk-card__front p {
        margin: 19px 0 7px;
        font-size: .67rem;
    }

    .risk-card h3 {
        font-size: 1.18rem;
    }

    .risk-card__front > span {
        margin-top: 10px;
        font-size: .84rem;
        line-height: 1.5;
    }

    .risk-card__front small {
        font-size: .76rem;
    }

    .risk-card__detail h3 {
        font-size: 1.12rem;
    }

    .risk-card__detail ul {
        gap: 8px;
        margin: 15px 0;
        font-size: .8rem;
    }
}


/* =========================
   CELULARES MUY PEQUEÑOS
   380px hacia abajo
   ========================= */
@media (max-width: 380px) {

    .catalog-shell {
        width: calc(100% - 24px);
    }

    .catalog-hero {
        padding: 55px 0 46px;
    }

    .catalog-hero h1 {
        font-size: 2.25rem;
    }

    .catalog-section {
        padding: 46px 0;
    }

    .category-heading h2 {
        font-size: 1.85rem;
    }

    .category-heading span {
        font-size: .86rem;
    }

    .risk-card {
        min-height: 300px;
    }

    .risk-card__front,
    .risk-card__detail {
        padding: 20px;
    }
}
.catalog-help{padding:0 0 54px;text-align:center}.catalog-help p{margin:0;padding:20px 26px;border-radius:16px;background:#eaf5ee;color:#17372a;font-size:1.05rem;font-weight:600}.catalog-help a{color:#126b48;font-weight:700;text-decoration:underline;text-underline-offset:3px}
