/* ==========================================================
   CIUDAD HOME - NOSOTROS
   Shortcode independiente [nosotros]
   ========================================================== */

.chnos,
.chnos * {
    box-sizing: border-box !important;
}

.chnos {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 24px 20px 76px !important;
    color: #292929 !important;
    font-family: inherit !important;
}

.chnos h1,
.chnos h2,
.chnos h3,
.chnos p {
    max-width: none !important;
    text-align: center !important;
}

.chnos a {
    text-decoration: none !important;
}

.chnos svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

.chnos-eyebrow {
    display: block !important;
    margin: 0 0 12px !important;
    color: #ff3e0c !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
    text-transform: uppercase !important;
}

/* Portada */

.chnos-hero {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f7f6f4 !important;
    border: 1px solid #e8e5e1 !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 38px rgba(22, 22, 22, 0.055) !important;
}

.chnos-photo {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
    background: #e9e7e4 !important;
}

.chnos-photo::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 24% !important;
    pointer-events: none !important;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.11)) !important;
}

.chnos-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 918 / 300 !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.chnos-hero-content {
    width: 100% !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 46px 48px 49px !important;
    text-align: center !important;
}

.chnos-hero-content h1 {
    max-width: 820px !important;
    margin: 0 auto 24px !important;
    color: #171717 !important;
    font-size: clamp(2.15rem, 4.2vw, 3.55rem) !important;
    font-weight: 850 !important;
    line-height: 1.07 !important;
    letter-spacing: -0.05em !important;
    text-wrap: balance !important;
}

.chnos-hero-content p {
    max-width: 760px !important;
    margin: 0 auto 15px !important;
    color: #575757 !important;
    font-size: 1rem !important;
    line-height: 1.8 !important;
}

.chnos-hero-content .chnos-lead {
    color: #313131 !important;
    font-size: 1.08rem !important;
    line-height: 1.7 !important;
}

.chnos-hero-content strong {
    color: #171717 !important;
    font-weight: 800 !important;
}

.chnos-signature {
    position: relative !important;
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 28px auto 0 !important;
    padding: 20px 30px 0 !important;
    border-top: 1px solid #d9d6d2 !important;
    text-align: center !important;
}

.chnos-signature::before {
    content: "" !important;
    position: absolute !important;
    top: -2px !important;
    left: 50% !important;
    width: 44px !important;
    height: 3px !important;
    background: #ff3e0c !important;
    transform: translateX(-50%) !important;
}

.chnos-signature strong,
.chnos-signature span {
    display: block !important;
    text-align: center !important;
}

.chnos-signature strong {
    margin-bottom: 4px !important;
    color: #181818 !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
}

.chnos-signature span {
    color: #858585 !important;
    font-size: 0.71rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
}

/* Cifras */

.chnos-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 26px rgba(22, 22, 22, 0.035) !important;
}

.chnos-stat {
    position: relative !important;
    display: flex !important;
    min-width: 0 !important;
    min-height: 120px !important;
    padding: 24px 14px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    text-align: center !important;
}

.chnos-stat:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    top: 24px !important;
    right: 0 !important;
    bottom: 24px !important;
    width: 1px !important;
    background: #e9e9e9 !important;
}

.chnos-stat strong,
.chnos-stat span {
    display: block !important;
    text-align: center !important;
}

.chnos-stat strong {
    margin-bottom: 7px !important;
    color: #ff3e0c !important;
    font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
}

.chnos-stat span {
    color: #777 !important;
    font-size: 0.73rem !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.065em !important;
    text-transform: uppercase !important;
}

/* Secciones */

.chnos-section {
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 64px 48px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 18px !important;
}

.chnos-section-soft {
    background: #f8f7f5 !important;
    border-color: #e8e5e1 !important;
}

.chnos-heading {
    width: 100% !important;
    max-width: 820px !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.chnos-heading h2,
.chnos-publish h2,
.chnos-cta h2 {
    margin: 0 !important;
    color: #191919 !important;
    font-size: clamp(1.85rem, 3vw, 2.55rem) !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
    letter-spacing: -0.035em !important;
    text-wrap: balance !important;
}

.chnos-heading > p,
.chnos-publish > p,
.chnos-cta > p {
    max-width: 760px !important;
    margin: 14px auto 0 !important;
    color: #626262 !important;
    font-size: 0.98rem !important;
    line-height: 1.75 !important;
}

.chnos-copy {
    width: 100% !important;
    max-width: 850px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.chnos-copy > p {
    margin: 0 auto 17px !important;
    color: #565656 !important;
    font-size: 1rem !important;
    line-height: 1.82 !important;
}

.chnos-purpose {
    display: flex !important;
    width: 100% !important;
    max-width: 780px !important;
    margin: 29px auto 0 !important;
    padding: 20px 24px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    background: #fff3ef !important;
    border: 1px solid #ffcbbd !important;
    border-radius: 12px !important;
}

.chnos-purpose-icon {
    display: flex !important;
    width: 36px !important;
    height: 36px !important;
    padding: 8px !important;
    flex: 0 0 36px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #ff3e0c !important;
    border-radius: 50% !important;
}

.chnos-purpose-icon svg {
    stroke-width: 2.2 !important;
}

.chnos-purpose p {
    max-width: 650px !important;
    margin: 0 !important;
    color: #78331f !important;
    font-size: 0.93rem !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    text-align: center !important;
}

/* Pilares */

.chnos-pillars {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
}

.chnos-pillar {
    position: relative !important;
    display: flex !important;
    min-width: 0 !important;
    min-height: 272px !important;
    padding: 29px 24px !important;
    align-items: center !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 26px rgba(22, 22, 22, 0.035) !important;
    text-align: center !important;
}

.chnos-pillar::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: 3px !important;
    background: #ff3e0c !important;
}

.chnos-pillar-icon {
    display: flex !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 auto 20px !important;
    padding: 12px !important;
    flex: 0 0 50px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ff3e0c !important;
    background: #fff0ec !important;
    border: 1px solid #ffe0d8 !important;
    border-radius: 12px !important;
}

.chnos-pillar h3 {
    margin: 0 0 10px !important;
    color: #1a1a1a !important;
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.chnos-pillar p {
    margin: 0 !important;
    color: #626262 !important;
    font-size: 0.91rem !important;
    line-height: 1.7 !important;
}

/* Publicación */

.chnos-publish {
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 50px 48px 52px !important;
    background: #f4f3f1 !important;
    border: 1px solid #e4e2df !important;
    border-radius: 17px !important;
    text-align: center !important;
}

.chnos-publish-icon {
    display: flex !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 auto 20px !important;
    padding: 13px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ff3e0c !important;
    background: #fff !important;
    border: 1px solid #e4dfdb !important;
    border-radius: 14px !important;
    box-shadow: 0 7px 20px rgba(22, 22, 22, 0.045) !important;
}

.chnos-publish .chnos-btn {
    margin-top: 25px !important;
}

/* CTA */

.chnos-cta {
    position: relative !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 54px 48px !important;
    overflow: hidden !important;
    background: #1d1d1d !important;
    border-radius: 17px !important;
    text-align: center !important;
}

.chnos-cta::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: 5px !important;
    background: #ff3e0c !important;
}

.chnos-cta .chnos-eyebrow {
    color: #ff7957 !important;
}

.chnos-cta h2 {
    color: #fff !important;
}

.chnos-cta > p {
    color: #c8c8c8 !important;
}

.chnos-actions {
    display: flex !important;
    width: 100% !important;
    margin: 26px auto 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.chnos-btn {
    display: inline-flex !important;
    min-height: 48px !important;
    padding: 12px 24px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #ff3e0c !important;
    border: 1px solid #ff3e0c !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.chnos-btn:hover {
    color: #fff !important;
    background: #dc3509 !important;
    border-color: #dc3509 !important;
    transform: translateY(-1px) !important;
}

.chnos-btn:focus-visible {
    outline: 3px solid rgba(255, 62, 12, 0.28) !important;
    outline-offset: 3px !important;
}

.chnos-btn-outline {
    color: #fff !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.42) !important;
}

.chnos-btn-outline:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.09) !important;
    border-color: rgba(255, 255, 255, 0.72) !important;
}

/* Tablet */

@media (max-width: 920px) {
    .chnos-section {
        padding-right: 32px !important;
        padding-left: 32px !important;
    }

    .chnos-pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .chnos-pillar:last-child {
        grid-column: 1 / -1 !important;
    }
}

/* Celulares */

@media (max-width: 680px) {
    .chnos {
        max-width: 100% !important;
        padding: 12px 12px 56px !important;
    }

    .chnos-hero {
        border-radius: 15px !important;
    }

    .chnos-photo img {
        min-height: 178px !important;
        aspect-ratio: 16 / 7.5 !important;
        object-position: center center !important;
    }

    .chnos-hero-content {
        padding: 29px 21px 33px !important;
    }

    .chnos-eyebrow {
        margin-bottom: 9px !important;
        font-size: 0.69rem !important;
    }

    .chnos-hero-content h1 {
        font-size: 1.76rem !important;
        line-height: 1.16 !important;
        letter-spacing: -0.035em !important;
    }

    .chnos-hero-content p {
        font-size: 0.94rem !important;
        line-height: 1.72 !important;
    }

    .chnos-hero-content .chnos-lead {
        font-size: 1rem !important;
    }

    .chnos-signature {
        margin-top: 23px !important;
        padding-top: 19px !important;
    }

    .chnos-stats {
        margin-top: 14px !important;
        border-radius: 12px !important;
    }

    .chnos-stat {
        min-height: 100px !important;
        padding: 19px 7px !important;
    }

    .chnos-stat:not(:last-child)::after {
        top: 18px !important;
        bottom: 18px !important;
    }

    .chnos-stat strong {
        font-size: 1.35rem !important;
    }

    .chnos-stat span {
        max-width: 95px !important;
        font-size: 0.61rem !important;
        line-height: 1.35 !important;
        letter-spacing: 0.03em !important;
    }

    .chnos-section {
        margin-top: 20px !important;
        padding: 43px 21px !important;
        border-radius: 14px !important;
    }

    .chnos-heading {
        margin-bottom: 24px !important;
    }

    .chnos-heading h2,
    .chnos-publish h2,
    .chnos-cta h2 {
        font-size: 1.64rem !important;
        line-height: 1.18 !important;
    }

    .chnos-heading > p,
    .chnos-publish > p,
    .chnos-cta > p {
        font-size: 0.92rem !important;
        line-height: 1.67 !important;
    }

    .chnos-copy > p {
        font-size: 0.94rem !important;
        line-height: 1.75 !important;
    }

    .chnos-purpose {
        align-items: center !important;
        flex-direction: column !important;
        margin-top: 24px !important;
        padding: 18px 17px !important;
    }

    .chnos-purpose p {
        font-size: 0.87rem !important;
        line-height: 1.62 !important;
    }

    .chnos-pillars {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .chnos-pillar,
    .chnos-pillar:last-child {
        grid-column: auto !important;
        min-height: 0 !important;
        padding: 25px 21px 26px !important;
        border-radius: 13px !important;
    }

    .chnos-pillar-icon {
        width: 47px !important;
        height: 47px !important;
        margin-bottom: 17px !important;
        flex-basis: 47px !important;
    }

    .chnos-pillar p {
        font-size: 0.9rem !important;
        line-height: 1.67 !important;
    }

    .chnos-publish {
        margin-top: 20px !important;
        padding: 39px 21px 41px !important;
        border-radius: 14px !important;
    }

    .chnos-publish .chnos-btn {
        width: 100% !important;
    }

    .chnos-cta {
        margin-top: 16px !important;
        padding: 43px 21px !important;
        border-radius: 14px !important;
    }

    .chnos-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .chnos-actions .chnos-btn {
        width: 100% !important;
        white-space: normal !important;
    }
}

@media (max-width: 380px) {
    .chnos {
        padding-right: 9px !important;
        padding-left: 9px !important;
    }

    .chnos-photo img {
        min-height: 154px !important;
    }

    .chnos-hero-content {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .chnos-stat {
        padding-right: 4px !important;
        padding-left: 4px !important;
    }

    .chnos-stat strong {
        font-size: 1.17rem !important;
    }

    .chnos-stat span {
        font-size: 0.56rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .chnos-btn {
        transition: none !important;
    }

    .chnos-btn:hover {
        transform: none !important;
    }
}
